সুচিপত্র:

পিসি ভক্তদের জন্য DIY PWM নিয়ন্ত্রণ: 12 টি ধাপ
পিসি ভক্তদের জন্য DIY PWM নিয়ন্ত্রণ: 12 টি ধাপ

ভিডিও: পিসি ভক্তদের জন্য DIY PWM নিয়ন্ত্রণ: 12 টি ধাপ

ভিডিও: পিসি ভক্তদের জন্য DIY PWM নিয়ন্ত্রণ: 12 টি ধাপ
ভিডিও: ইনক্যুবারেটর, পিসি, অটো, ইত্যাদি নিয়ন্ত্রক ফ্যান গতি। 2024, জুলাই
Anonim
পিসি ভক্তদের জন্য DIY PWM নিয়ন্ত্রণ
পিসি ভক্তদের জন্য DIY PWM নিয়ন্ত্রণ

এই নির্দেশযোগ্য একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত 12 V পিসি ফ্যান PWM নিয়ামক নির্মাণের বর্ণনা দেয়। নকশাটি 16 টি-পিন কম্পিউটার ফ্যান পর্যন্ত নিয়ন্ত্রণ করতে পারে। নকশাটি প্রতিটি ফ্যানের ডিউটি চক্র নিয়ন্ত্রণ করতে ডায়ালগ গ্রিনপ্যাক ™ কনফিগারযোগ্য মিশ্র-সংকেত আইসি ব্যবহার করে। এটি ফ্যানের গতি পরিবর্তন করার দুটি উপায় অন্তর্ভুক্ত করে:

ক। একটি চতুর্ভুজ/ঘূর্ণমান এনকোডার সহ

খ। C# এ নির্মিত একটি উইন্ডোজ অ্যাপ্লিকেশনের সাথে যা I2C এর মাধ্যমে GreenPAK এর সাথে যোগাযোগ করে।

নীচে আমরা পিসি ভক্তদের জন্য PWM নিয়ন্ত্রণ তৈরির জন্য কিভাবে GreenPAK চিপ প্রোগ্রাম করা হয়েছে তা বোঝার প্রয়োজনীয় পদক্ষেপগুলি বর্ণনা করেছি। যাইহোক, যদি আপনি শুধু প্রোগ্রামিং এর ফলাফল পেতে চান, ইতিমধ্যে সম্পন্ন GreenPAK ডিজাইন ফাইল দেখতে GreenPAK সফটওয়্যারটি ডাউনলোড করুন। আপনার কম্পিউটারে গ্রিনপ্যাক ডেভেলপমেন্ট কিট লাগান এবং পিসি ভক্তদের জন্য পিডব্লিউএম নিয়ন্ত্রণের জন্য কাস্টম আইসি তৈরির জন্য প্রোগ্রাম হিট করুন।

ধাপ 1: সিস্টেম ব্লক ডায়াগ্রাম

সিস্টেম ব্লক ডায়াগ্রাম
সিস্টেম ব্লক ডায়াগ্রাম

ধাপ 2: SLG46108 রোটারি ডিকোডার ডিজাইন

SLG46108 রোটারি ডিকোডার ডিজাইন
SLG46108 রোটারি ডিকোডার ডিজাইন
SLG46108 রোটারি ডিকোডার ডিজাইন
SLG46108 রোটারি ডিকোডার ডিজাইন
SLG46108 রোটারি ডিকোডার ডিজাইন
SLG46108 রোটারি ডিকোডার ডিজাইন

ম্যানুয়ালি ভক্তদের ডিউটি সাইকেল বাড়াতে বা কমানোর জন্য একটি রোটারি এনকোডার ব্যবহার করা হয়। এই ডিভাইসটি তার চ্যানেল এ এবং চ্যানেল বি এর আউটপুটগুলিকে 90 ° থেকে পৃথক করে। AN-1101 দেখুন: একটি ঘূর্ণমান এনকোডার কীভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য আনক্লকড চতুর্ভুজ ডিকোডার।

চ্যানেল এ এবং চ্যানেল বি সংকেতগুলি প্রক্রিয়া করার জন্য ডায়ালগ গ্রিনপ্যাক এসএলজি 46108 ব্যবহার করে একটি ঘড়ির ঘূর্ণমান ডিকোডার তৈরি করা যেতে পারে এবং সেগুলিকে ঘড়ির কাঁটার (CCW) এবং ঘড়ির কাঁটার (CW) ডাল হিসাবে আউটপুট করা যায়।

যখন চ্যানেল A চ্যানেল B এর দিকে পরিচালিত করে, তখন নকশাটি CW- তে একটি ছোট পালস বের করে। যখন চ্যানেল বি চ্যানেল এ নেতৃত্ব দেয়, এটি CCW- এ একটি ছোট পালস আউটপুট করে

তিনটি ডিএফএফ চ্যানেল এ ইনপুটকে ঘড়ির সাথে সিঙ্ক্রোনাইজ করে। একইভাবে, OUT0 এর সাথে পাইপ বিলম্ব দুটি DFFs এবং OUT1 তিনটি DFF- তে সেট করে চ্যানেল B- এর জন্য একই কার্যকারিতা তৈরি করে।

CW এবং CCW আউটপুট তৈরি করতে কয়েকটি LUT ব্যবহার করুন, এই স্ট্যান্ডার্ড রোটারি ডিকোডার ডিজাইন সম্পর্কে আরও তথ্যের জন্য, এই ওয়েবসাইটে যান।

GreenPAK রোটারি ডিকোডার ইনপুট ডাল A এবং B গ্রহণ করবে এবং CW এবং CCW ডাল আউটপুট করবে যেমন চিত্র 4 এ দেখানো হয়েছে।

XOR গেটের পরে সার্কিটরি নিশ্চিত করে যে একই সময়ে CW পালস এবং CCW পালস থাকবে না, যা ঘূর্ণমান এনকোডারের সাথে কোন ত্রুটির অনুমতি দেয়। CW এবং CCW সংকেতগুলিতে 8 ms পতনের প্রান্ত বিলম্ব তাদের 8 ms প্লাস এক ঘড়ি চক্রের জন্য উচ্চ থাকতে বাধ্য করে, যা ডাউনস্ট্রিম SLG46826 GreenPAKs এর জন্য প্রয়োজনীয়।

ধাপ 3: SLG46826 ফ্যান কন্ট্রোলার ডিজাইন

SLG46826 ফ্যান কন্ট্রোলার ডিজাইন
SLG46826 ফ্যান কন্ট্রোলার ডিজাইন

ধাপ 4: অফসেট কাউন্টারের সাথে PWM জেনারেশন

অফসেট কাউন্টারের সাথে PWM জেনারেশন
অফসেট কাউন্টারের সাথে PWM জেনারেশন
অফসেট কাউন্টারের সাথে PWM জেনারেশন
অফসেট কাউন্টারের সাথে PWM জেনারেশন

একই যুগের অফসেট কাউন্টারগুলির একটি জোড়া PWM সংকেত উৎপন্ন করতে ব্যবহৃত হয়। প্রথম কাউন্টার একটি ডিএফএফ সেট করে, এবং দ্বিতীয়টি এটি পুনরায় সেট করে, চিত্র 6 এবং চিত্র 7 এ দেখানো একটি সামঞ্জস্যপূর্ণ দায়িত্ব চক্র PWM সংকেত তৈরি করে।

CNT6 DFF10 সেট করে এবং CNT1 এর ইনভার্ট আউটপুট DFF10 রিসেট করে। পিন 18 এবং 19 বাইরের সার্কিটারে PWM সংকেত আউটপুট করতে ব্যবহৃত হয়

ধাপ 5: ক্লক ইনজেকশন এবং ক্লক স্কিপিং সহ ডিউটি সাইকেল কন্ট্রোল

ঘড়ি ইনজেকশন এবং ঘড়ি skipping সঙ্গে ডিউটি চক্র নিয়ন্ত্রণ
ঘড়ি ইনজেকশন এবং ঘড়ি skipping সঙ্গে ডিউটি চক্র নিয়ন্ত্রণ
ঘড়ি ইনজেকশন এবং ঘড়ি skipping সঙ্গে ডিউটি চক্র নিয়ন্ত্রণ
ঘড়ি ইনজেকশন এবং ঘড়ি skipping সঙ্গে ডিউটি চক্র নিয়ন্ত্রণ

ফ্যান কন্ট্রোলার রোটারি ডিকোডার থেকে ইনপুট হিসেবে CW এবং CCW সিগন্যাল গ্রহণ করে এবং ফ্যানের গতি নিয়ন্ত্রণকারী PWM সিগন্যাল বাড়াতে বা কমানোর জন্য ব্যবহার করে। এটি বেশ কয়েকটি ডিজিটাল লজিক উপাদান দিয়ে অর্জন করা হয়।

একটি CW পালস প্রাপ্ত হলে ডিউটি চক্র বৃদ্ধি করা প্রয়োজন। এটি CNT6 ব্লকে একটি অতিরিক্ত ঘড়ির পালস ইনজেকশনের মাধ্যমে সম্পন্ন করা হয়, যার ফলে এটি অন্য একটি ঘড়ির চক্র আগে বের করে দেয়। এই প্রক্রিয়াটি চিত্র 8 এ দেখানো হয়েছে।

CNT1 এখনও একটি ধ্রুবক হারে ক্লক করা হচ্ছে, কিন্তু CNT6- এ কিছু অতিরিক্ত ঘড়ি ইনজেকশনের আছে। প্রতিবার কাউন্টারে একটি অতিরিক্ত ঘড়ি থাকলে, এটি তার আউটপুটটি এক ঘড়ির সময় বাম দিকে স্থানান্তরিত করে।

বিপরীতভাবে, ডিউটি চক্র কমানোর জন্য, CNT6 এর জন্য একটি ঘড়ির পালস এড়িয়ে যান চিত্র 9 -এ দেখানো হয়েছে। প্রতি. এইভাবে CNT6 এর আউটপুট ডানদিকে এক ঘড়ির সময় ধরে ধাক্কা দেয়, আউটপুট PWM ডিউটি চক্রকে ছোট করে।

গ্রিনপ্যাকের মধ্যে কিছু ডিজিটাল লজিক উপাদান ব্যবহার করে ক্লক ইনজেকশন এবং ক্লক স্কিপিং কার্যকারিতা সম্পাদিত হয়। একজোড়া মাল্টি -ফাংশন ব্লক ব্যবহার করা হয় একজোড়া ল্যাচ/এজ ডিটেক্টর কম্বো তৈরি করতে। 4-বিট LUT0 সাধারণ ক্লক সিগন্যাল (CLK/8) এবং ক্লক ইনজেকশন বা ক্লক স্কিপিং সিগন্যালের মধ্যে মাক্স করতে ব্যবহৃত হয়। এই কার্যকারিতা ধাপ 7 এ আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে।

ধাপ 6: বাটন ইনপুট

বাটন ইনপুট
বাটন ইনপুট

BUTTON ইনপুটটি 20 ms এর জন্য ডিবাউন্স করা হয়, তারপর একটি ল্যাচ টগল করতে ব্যবহৃত হয় যা এই নির্দিষ্ট চিপ নির্বাচন করা হয়েছে কিনা তা নির্ধারণ করে। যদি এটি নির্বাচিত হয়, তাহলে 4-বিট LUT ঘড়ি স্কিপিং বা ইনজেকশন সংকেত পাস করে। যদি চিপটি নির্বাচিত না হয়, তাহলে 4-বিট LUT কেবল CLK/8 সংকেত পাস করে।

ধাপ 7: ডিউটি সাইকেল রোলওভার প্রতিরোধ

ডিউটি সাইকেল রোলওভার প্রতিরোধ
ডিউটি সাইকেল রোলওভার প্রতিরোধ
ডিউটি সাইকেল রোলওভার প্রতিরোধ
ডিউটি সাইকেল রোলওভার প্রতিরোধ
ডিউটি সাইকেল রোলওভার প্রতিরোধ
ডিউটি সাইকেল রোলওভার প্রতিরোধ

RS latches 3-bit LUT5 এবং 3-bit LUT3 নিশ্চিত করার জন্য ব্যবহার করা হয় যে আপনি এতগুলি ঘড়ি ইনজেকশন বা এড়িয়ে যেতে পারবেন না যাতে অফসেট কাউন্টারগুলি রোল হয়ে যায়। এটি 100 % শুল্ক চক্র পৌঁছানো সিস্টেমকে এড়ানোর জন্য এবং তারপর 1 % শুল্ক চক্রের দিকে ঘুরতে থাকে যদি এটি অন্য ইনজেকশনযুক্ত ঘড়ি পায়।

আরএস ল্যাচগুলি মাল্টি -ফাংশন ব্লকে ইনপুটগুলিকে ল্যাচ করার মাধ্যমে এটি হতে বাধা দেয় যখন সিস্টেমটি ঘূর্ণায়মান থেকে এক ঘড়ি চক্র দূরে থাকে। DFFs এর একটি জোড়া PWM_SET এবং PWM_nRST সিগন্যালগুলিকে এক ঘড়ির সময় বিলম্ব করে দেয় যেমন চিত্র 11 এ দেখানো হয়েছে।

প্রয়োজনীয় যুক্তি তৈরি করতে এক জোড়া LUT ব্যবহার করা হয়। যদি ডিউটি চক্র এত কম হয় যে PWM_SER সিগন্যালের বিলম্ব PWM_nRST সিগন্যালের সাথে একই সময়ে ঘটে, তাহলে ডিউটি চক্রের আরও হ্রাস একটি রোলওভারের কারণ হবে।

একইভাবে, যদি সর্বাধিক শুল্ক চক্রের কাছে আসে, যেমন PWM_nRST সংকেত PWM_SET সংকেতের মতো একই সময়ে ঘটে, তাহলে শুল্ক চক্রের আরও বৃদ্ধি এড়ানো প্রয়োজন। এই ক্ষেত্রে, এনআরএসটি সিগন্যালটি দুই ঘড়ি চক্র দ্বারা বিলম্ব করুন যাতে নিশ্চিত হয় যে সিস্টেমটি 99 % থেকে 1 % পর্যন্ত রোল না হয়।

ধাপ 8: I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল

I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল
I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল
I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল
I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল
I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল
I2C এর সাথে ডিউটি সাইকেল কন্ট্রোল

এই নকশাটি ঘড়ি স্কিপিং/ক্লক ইনজেকশন ছাড়া অন্য দায়িত্ব চক্র নিয়ন্ত্রণ করার আরেকটি উপায় অন্তর্ভুক্ত করে। একটি বহিরাগত মাইক্রোকন্ট্রোলারকে ডিউটি চক্র নির্ধারণের জন্য GreenPAK- এ I2C কমান্ড লিখতে ব্যবহার করা যেতে পারে।

I2C এর উপর ডিউটি চক্র নিয়ন্ত্রণ করার জন্য নিয়ন্ত্রকের একটি নির্দিষ্ট কমান্ড ক্রম সম্পাদন করা প্রয়োজন। এই কমান্ডগুলি সারণি 1 এ ক্রম অনুসারে দেখানো হয়েছে।

PDLY ব্লক CLK/8 সংকেতের পতনশীল প্রান্তে একটি ছোট সক্রিয় উচ্চ পালস তৈরি করে, যাকে বলা হয়! CLK/8। এই সংকেতটি একটি স্থির ফ্রিকোয়েন্সিতে DFF14 ঘড়িতে ব্যবহৃত হয়। যখন I2C_SET উচ্চতর অসিঙ্ক্রোনাস হয়ে যায়, CLK/8 এর পরবর্তী ক্রমবর্ধমান প্রান্তটি DFF14 কে উচ্চ আউটপুট দেয়, যা CNT5 OneShot ট্রিগার করে। ওয়ানশট টেবিল 1 -এ "CNT5 এ লিখুন" I2C কমান্ডে নির্দিষ্ট হিসাবে ব্যবহারকারী লিখেছেন এমন ঘড়ি চক্রের জন্য রান করে। এই ক্ষেত্রে, এটি 10 ঘড়ি চক্র। ওয়ানশট 25 মেগাহার্টজ অসিলেটরকে ঠিক তার সময়কালের জন্য চালানোর অনুমতি দেয় এবং আর না, যাতে 3-বিট LUT0 ঘড়ি চক্রের সংখ্যা পায় যা CNT5 এ লেখা হয়েছিল।

চিত্র 15 এই সংকেতগুলি দেখায়, যেখানে লাল ঘড়িগুলি 3-বিট LUT0 তে প্রেরণ করা হয়, যা তাদের CNT6 (PWM_SET কাউন্টারে) প্রেরণ করে, এইভাবে ডিউটি সাইকেল প্রজন্মের জন্য অফসেট তৈরি করে।

ধাপ 9: টাকোমিটার পড়া

টাকোমিটার পড়া
টাকোমিটার পড়া
টাকোমিটার পড়া
টাকোমিটার পড়া

যদি ইচ্ছা হয়, ব্যবহারকারী আইএনসি -তে ট্যাকোমিটারের মান পড়তে পারেন এবং সিএনটি 2 মান পড়ে ফ্যানটি কত দ্রুত ঘুরছে তা ট্র্যাক করতে পারেন। প্রতিবার ACMP0H- এর ক্রমবর্ধমান প্রান্ত থাকলে CNT2 বৃদ্ধি করা হয় এবং I2C কমান্ডের মাধ্যমে অসিঙ্ক্রোনাসিভাবে পুনরায় সেট করা যায়। মনে রাখবেন যে এটি একটি alচ্ছিক বৈশিষ্ট্য, এবং ACMP0H এর থ্রেশহোল্ড ব্যবহার করা হচ্ছে বিশেষ ফ্যানের স্পেসিফিকেশন অনুযায়ী পরিবর্তন করতে হবে।

ধাপ 10: বাহ্যিক সার্কিট ডিজাইন

বাহ্যিক সার্কিট ডিজাইন
বাহ্যিক সার্কিট ডিজাইন

বাহ্যিক সার্কিট মোটামুটি সহজ। এই বিশেষ ডিভাইসটি রোটারি কন্ট্রোলের জন্য নির্বাচিত কিনা তা টগল করার জন্য GreenPAK- এর Pin6- এর সাথে একটি পুশ -বাটন সংযুক্ত আছে এবং ডিভাইসটি নির্বাচন করা হলে তা নির্দেশ করার জন্য Pin12 এবং Pin13- এর সাথে একটি LED সংযুক্ত আছে।

যেহেতু ফ্যানটি 12 V বন্ধ হয়ে যায়, তার সুইচিং নিয়ন্ত্রণের জন্য FET- এর একটি জোড়া প্রয়োজন। GreenPAK এর Pin18 এবং Pin19 একটি nFET চালায়। যখন nFET চালু হয়, তখন এটি pFET LOW এর গেটটি টেনে নেয়, যা ফ্যানকে +12 V- এর সাথে সংযুক্ত করে। +12 ভি থেকে

ধাপ 11: পিসিবি ডিজাইন

পিসিবি ডিজাইন
পিসিবি ডিজাইন

নকশার প্রোটোটাইপ করার জন্য কয়েকটি পিসিবি একত্রিত করা হয়েছিল। বাম দিকের পিসিবি হল "ফ্যান কন্ট্রোলার", যেখানে রোটারি এনকোডার, 12 V জ্যাক, SLG46108 GreenPAK এবং FT232H USB থেকে I2C ব্রেকআউট বোর্ডের জন্য সংযোগকারী রয়েছে। ডানদিকের দুটি PCB গুলি হল "ফ্যান বোর্ড", যার মধ্যে SLG46826 GreenPAKs, pushbuttons, সুইচ, LEDs এবং ফ্যান হেডার রয়েছে।

প্রতিটি ফ্যান বোর্ডের বাম পাশে একটি পুরুষ শিরোনাম এবং ডান দিকে একটি মহিলা শিরোনাম রয়েছে যাতে তারা একসাথে ডেইজি-শৃঙ্খলিত হতে পারে। দুটি ফ্যানকে স্বাধীনভাবে নিয়ন্ত্রণ করার জন্য প্রতিটি ফ্যান বোর্ডকে সম্পদ দিয়ে তৈরি করা যেতে পারে।

ধাপ 12: সি# অ্যাপ্লিকেশন

সি# অ্যাপ্লিকেশন
সি# অ্যাপ্লিকেশন

FT232H USB-I2C সেতুর মাধ্যমে ফ্যান বোর্ডগুলির সাথে ইন্টারফেস করার জন্য একটি C# অ্যাপ্লিকেশন লেখা হয়েছিল। এই অ্যাপ্লিকেশনটি অ্যাপ্লিকেশন দ্বারা উৎপন্ন I2C কমান্ডগুলির সাথে প্রতিটি ফ্যানের ফ্রিকোয়েন্সি সামঞ্জস্য করতে ব্যবহার করা যেতে পারে।

অ্যাপ্লিকেশনটি প্রতি 16 সেকেন্ডে 16 টি I2C ঠিকানা পিং করে এবং GUI কে ক্রীতদাসের ঠিকানাগুলির সাথে উপস্থিত করে। এই উদাহরণে ফ্যান 1 (স্লেভ অ্যাড্রেস 0001) এবং ফ্যান 3 (স্লেভ অ্যাড্রেস 0011) বোর্ডের সাথে সংযুক্ত। প্রতিটি ফ্যানের ডিউটি চক্রের সমন্বয় স্বতন্ত্রভাবে স্লাইডার বার সরিয়ে অথবা স্লাইডার বারের নিচে টেক্সটবক্সে 0-256 থেকে একটি মান টাইপ করে করা যেতে পারে।

উপসংহার

এই নকশাটি ব্যবহার করে 16 টি ভক্তকে স্বাধীনভাবে নিয়ন্ত্রণ করা সম্ভব (যেহেতু 16 টি সম্ভাব্য I2C স্লেভ ঠিকানা আছে) হয় একটি রোটারি এনকোডার বা C# অ্যাপ্লিকেশন দিয়ে। এটি দেখানো হয়েছে কিভাবে এক জোড়া অফসেট কাউন্টারের সাহায্যে একটি PWM সিগন্যাল তৈরি করা যায়, এবং কিভাবে রোলওভার ছাড়াই সেই সিগন্যালের ডিউটি চক্র বৃদ্ধি এবং হ্রাস করা যায়।

প্রস্তাবিত: