সুচিপত্র:

রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান: 4 টি ধাপ (ছবি সহ)
রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান: 4 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান: 4 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান: 4 টি ধাপ (ছবি সহ)
ভিডিও: Raspberry pi - Raspberry pi price - Raspberry pi shop - Mini PC 2024, জুলাই
Anonim
রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান
রাস্পবেরি পাই এর জন্য CPU তাপমাত্রার উপর ভিত্তি করে PWM নিয়ন্ত্রিত ফ্যান

রাস্পবেরি পাইয়ের অনেক ক্ষেত্রেই সিপিইউ ঠান্ডা করতে সাহায্য করার জন্য একটু 5V ফ্যান নিয়ে আসে। যাইহোক, এই ভক্তরা সাধারণত বেশ শোরগোল করে এবং অনেকে শব্দটি কমাতে 3V3 পিনে প্লাগ করে। এই ভক্তদের সাধারণত 200mA রেট দেওয়া হয় যা RPi তে 3V3 নিয়ন্ত্রকের জন্য বেশ উচ্চ। এই প্রকল্পটি আপনাকে শিখাবে কিভাবে সিপিইউ তাপমাত্রার উপর ভিত্তি করে ফ্যানের গতি নিয়ন্ত্রণ করতে হয়। এই বিষয়কে আচ্ছাদিত বেশিরভাগ টিউটোরিয়ালের বিপরীতে, আমরা কেবল ফ্যান চালু বা বন্ধ করব না, তবে পাইথন ব্যবহার করে মূলধারার পিসিতে এটির গতি নিয়ন্ত্রণ করব।

ধাপ 1: যন্ত্রাংশ প্রয়োজন

এই প্রকল্পের জন্য, আমরা কেবলমাত্র কয়েকটি উপাদান ব্যবহার করব যা সাধারণত শখের জন্য ইলেকট্রনিক্স কিটে অন্তর্ভুক্ত থাকে যা আপনি অ্যামাজনে খুঁজে পেতে পারেন, যেমন এটি।

  • রাস্পবেরি পাই রাস্পবিয়ান চালাচ্ছে (তবে অন্যান্য বিতরণের সাথে কাজ করা উচিত)।
  • 5V ফ্যান (কিন্তু একটি 12V ফ্যান একটি অভিযোজিত ট্রানজিস্টার এবং একটি 12V পাওয়ার সাপ্লাই দিয়ে ব্যবহার করা যেতে পারে)।
  • NPN ট্রানজিস্টর যা কমপক্ষে 300mA সমর্থন করে, যেমন 2N2222A।
  • 1K প্রতিরোধক
  • 1 ডায়োড।

Alচ্ছিক, কেস ভিতরে উপাদান রাখা (কিন্তু এখনো সম্পন্ন করা হয়নি):

  • উপাদানগুলি সোল্ডার করার জন্য প্রোটোবোর্ডের একটি ছোট টুকরা।
  • বড় তাপ সঙ্কুচিত, বোর্ড রক্ষা করার জন্য।

ধাপ 2: বৈদ্যুতিক সংযোগ

বৈদ্যুতিক সংযোগ
বৈদ্যুতিক সংযোগ
বৈদ্যুতিক সংযোগ
বৈদ্যুতিক সংযোগ
বৈদ্যুতিক সংযোগ
বৈদ্যুতিক সংযোগ

রোধকারী যে কোন উপায়ে প্লাগ হতে পারে, কিন্তু ট্রানজিস্টর এবং ডায়োডের দিক সম্পর্কে সতর্ক থাকুন। ডায়োডের ক্যাথোড অবশ্যই +5V (লাল) তারের সাথে সংযুক্ত থাকতে হবে, এবং অ্যানোডটি অবশ্যই GND (কালো) তারের সাথে সংযুক্ত থাকতে হবে। Emitter, Base এবং কালেক্টর পিনের জন্য আপনার ট্রানজিস্টার ডক চেক করুন। ফ্যানের গ্রাউন্ড অবশ্যই কালেক্টরের সাথে সংযুক্ত থাকতে হবে এবং Rpi এর গ্রাউন্ডটি অবশ্যই এমিটারের সাথে সংযুক্ত থাকতে হবে।

ফ্যান নিয়ন্ত্রণ করার জন্য, আমাদের একটি ট্রানজিস্টর ব্যবহার করতে হবে যা ইনপেন কালেক্টর কনফিগারেশনে ব্যবহার করা হবে। এটি করার মাধ্যমে, আমাদের একটি সুইচ আছে যা ফ্যান থেকে রাস্পবেরি পাই এর মাটিতে তারের সংযোগ বা সংযোগ বিচ্ছিন্ন করবে।

একটি এনপিএন বিজেটি ট্রানজিস্টার তার গেটে প্রবাহিত বিদ্যুতের উপর নির্ভর করে সঞ্চালন করে। কালেক্টর (সি) থেকে এমিটার (ই) তে যে স্রোত প্রবাহিত হবে তা হল:

আইসি = বি * আইবি

Ic হল স্রোত যা সংগ্রাহকের মাধ্যমে প্রবাহিত হয় emitter, Ib হল সেই স্রোত যা বেস থেকে emitter পর্যন্ত প্রবাহিত হয় এবং B (বিটা) প্রতিটি ট্রানজিস্টরের উপর নির্ভর করে একটি মান। আমরা আনুমানিক B = 100।

যেহেতু আমাদের ফ্যানটি 200mA হিসাবে রেট করা হয়েছে, ট্রানজিস্টরের বেসের মাধ্যমে আমাদের কমপক্ষে 2mA প্রয়োজন। বেস এবং emitter (Vbe) মধ্যে টান ধ্রুবক এবং Vbe = 0, 7V বিবেচনা করা হয়। এর মানে হল যে যখন জিপিআইও চালু থাকে, তখন আমাদের প্রতিষেধকটিতে 3.3 - 0.7 = 2.6V থাকে। সেই প্রতিরোধকের মাধ্যমে 2mA থাকার জন্য, আমাদের সর্বোচ্চ, 2.6 / 0.002 = 1300 ওহমের একটি প্রতিরোধক প্রয়োজন। আমরা সরলীকরণ এবং ত্রুটির মার্জিন রাখতে 1000 ওহমের একটি প্রতিরোধক ব্যবহার করি। আমাদের GPIO পিনের মাধ্যমে 2.6mA থাকবে যা সম্পূর্ণ নিরাপদ।

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

ধাপ 3: ফ্যানের গতি নিয়ন্ত্রণের জন্য প্রোগ্রাম

ফ্যানের গতি নিয়ন্ত্রণ করতে, আমরা RPi. GPIO লাইব্রেরি থেকে একটি সফটওয়্যার PWM সিগন্যাল ব্যবহার করি। একটি পিডব্লিউএম সিগন্যাল ইলেকট্রিক মোটর চালানোর জন্য ভালভাবে খাপ খাইয়ে নেয়, কারণ পিডব্লিউএম ফ্রিকোয়েন্সি এর তুলনায় তাদের প্রতিক্রিয়া সময় খুব বেশি।

টার্মিনালে দৌড়ে FAN_MIN মান খুঁজে পেতে calib_fan.py প্রোগ্রামটি ব্যবহার করুন:

পাইথন calib_fan.py

0 থেকে 100% এর মধ্যে বেশ কয়েকটি মান পরীক্ষা করুন (প্রায় 20% হওয়া উচিত) এবং আপনার ফ্যান চালু করার জন্য সর্বনিম্ন মান কত তা দেখুন।

আপনি কোডের শুরুতে তাপমাত্রা এবং ফ্যানের গতির মধ্যে চিঠিপত্র পরিবর্তন করতে পারেন। SpeedSteps- এর মান হিসাবে অনেক tempSteps থাকতে হবে। এটি এমন একটি পদ্ধতি যা সাধারণত পিসি মাদারবোর্ডগুলিতে ব্যবহৃত হয়, একটি টেম্প / স্পিড 2-অক্ষ গ্রাফে চলমান পয়েন্ট।

ধাপ 4: স্টার্টআপে প্রোগ্রামটি চালান

প্রারম্ভে স্বয়ংক্রিয়ভাবে প্রোগ্রামটি চালানোর জন্য, আমি একটি ব্যাশ স্ক্রিপ্ট তৈরি করেছি যেখানে আমি সমস্ত প্রোগ্রাম চালু করতে চাই, এবং তারপর আমি rc.locale দিয়ে প্রারম্ভে এই ব্যাশ স্ক্রিপ্টটি চালু করি

  1. একটি ডিরেক্টরি তৈরি করুন/home/pi/Scripts/এবং fan_ctrl.py ফাইলটি সেই ডিরেক্টরিতে রাখুন।
  2. একই ডিরেক্টরিতে, launcher.sh নামে একটি ফাইল তৈরি করুন এবং নীচের স্ক্রিপ্টটি অনুলিপি করুন।
  3. /Etc/rc.locale ফাইলটি সম্পাদনা করুন এবং "প্রস্থান 0" এর আগে একটি নতুন লাইন যোগ করুন: sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh স্ক্রিপ্ট:

#! / বিন / SH # launcher.sh # নেভিগেট হোম ডিরেক্টরীতে, তারপর এই ডিরেক্টরির, তারপর পাইথন স্ক্রিপ্ট চালানো, তারপর ফিরে homelocalecd / CD / হোম / Pi / স্ক্রিপ্ট / উবুন্টু python3./fan_ctrl.py & CD /

যদি আপনি এটি উদাহরণস্বরূপ OSMC এর সাথে ব্যবহার করতে চান, তাহলে আপনাকে এটি systemd দিয়ে একটি পরিষেবা হিসাবে শুরু করতে হবে।

  1. Fanctrl.service ফাইলটি ডাউনলোড করুন।
  2. আপনার পাইথন ফাইলের পথ পরীক্ষা করুন।
  3. /Lib/systemd/system এ fanctrl.service রাখুন।
  4. অবশেষে, sudo systemctl এর সাথে পরিষেবাটি সক্ষম করুন fanctrl.service সক্ষম করুন।

এই পদ্ধতিটি নিরাপদ, কারণ ব্যবহারকারী বা সিস্টেমের দ্বারা নিহত হলে প্রোগ্রামটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে।

প্রস্তাবিত: