جدول المحتويات:

مروحة منظمة PWM بناءً على درجة حرارة وحدة المعالجة المركزية لـ Raspberry Pi: 4 خطوات (بالصور)
مروحة منظمة PWM بناءً على درجة حرارة وحدة المعالجة المركزية لـ Raspberry Pi: 4 خطوات (بالصور)

فيديو: مروحة منظمة PWM بناءً على درجة حرارة وحدة المعالجة المركزية لـ Raspberry Pi: 4 خطوات (بالصور)

فيديو: مروحة منظمة PWM بناءً على درجة حرارة وحدة المعالجة المركزية لـ Raspberry Pi: 4 خطوات (بالصور)
فيديو: تجميعه • بالأنابيب الصلبة • لأرخص قطع تبريد مائي 2024, شهر نوفمبر
Anonim
مروحة منظمة PWM بناءً على درجة حرارة وحدة المعالجة المركزية لـ Raspberry Pi
مروحة منظمة PWM بناءً على درجة حرارة وحدة المعالجة المركزية لـ Raspberry Pi

تأتي العديد من علب Raspberry Pi مع مروحة صغيرة بجهد 5 فولت للمساعدة في تبريد وحدة المعالجة المركزية. ومع ذلك ، عادةً ما تكون هذه المراوح صاخبة جدًا ويقوم الكثير من الأشخاص بتوصيلها بالمسمار 3V3 لتقليل الضوضاء. عادةً ما يتم تصنيف هذه المراوح على 200 مللي أمبير وهي عالية جدًا لمنظم 3V3 على RPi. سيعلمك هذا المشروع كيفية تنظيم سرعة المروحة بناءً على درجة حرارة وحدة المعالجة المركزية. على عكس معظم البرامج التعليمية التي تغطي هذا الموضوع ، لن نقوم فقط بتشغيل المروحة أو إيقاف تشغيلها ، ولكننا سنتحكم في سرعتها كما هو الحال على أجهزة الكمبيوتر العادية ، باستخدام Python.

الخطوة 1: الأجزاء المطلوبة

بالنسبة لهذا المشروع ، سنستخدم فقط عددًا قليلاً من المكونات التي يتم تضمينها عادةً في مجموعات الإلكترونيات للهواة التي يمكنك العثور عليها على Amazon ، مثل هذا.

  • يقوم Raspberry Pi بتشغيل Raspbian (ولكن يجب أن يعمل مع التوزيعات الأخرى).
  • مروحة بجهد 5 فولت (ولكن يمكن استخدام مروحة بجهد 12 فولت مع ترانزستور مُكيف ومصدر طاقة بجهد 12 فولت).
  • ترانزستور NPN يدعم 300 مللي أمبير على الأقل ، مثل 2N2222A.
  • 1 كيلو المقاوم.
  • 1 ديود.

اختياري ، لوضع المكونات داخل العلبة (ولكن لم يتم الانتهاء منها بعد):

  • قطعة صغيرة من لوح الحماية ، لحام المكونات.
  • يتقلص الحرارة الكبيرة ، لحماية اللوح.

الخطوة الثانية: التوصيلات الكهربائية

توصيلات كهربائية
توصيلات كهربائية
توصيلات كهربائية
توصيلات كهربائية
توصيلات كهربائية
توصيلات كهربائية

يمكن توصيل المقاوم بأي من الاتجاهين ، ولكن كن حذرًا بشأن اتجاه الترانزستور والصمام الثنائي. يجب توصيل كاثود الصمام الثنائي بسلك + 5 فولت (أحمر) ، ويجب توصيل الأنود بسلك GND (الأسود). تحقق من مستند الترانزستور الخاص بك بحثًا عن دبابيس Emitter و Base و Collector. يجب توصيل أرض المروحة بالمجمع ، ويجب توصيل أرض Rpi بالباعث

من أجل التحكم في المروحة ، نحتاج إلى استخدام الترانزستور الذي سيتم استخدامه في تكوين المجمع المفتوح. من خلال القيام بذلك ، لدينا مفتاح يقوم بتوصيل أو فصل السلك الأرضي من المروحة إلى أرض raspberry pi.

يعمل ترانزستور NPN BJT اعتمادًا على التيار الذي يتدفق في بوابته. التيار الذي سيسمح له بالتدفق من المجمع (C) إلى الباعث (E) هو:

Ic = B * Ib

Ic هو التيار الذي يتدفق عبر المجمع الباعث ، Ib هو التيار الذي يتدفق عبر القاعدة إلى الباعث ، و B (بيتا) قيمة تعتمد على كل ترانزستور. نحن نقترب من B = 100.

نظرًا لأن المروحة لدينا مصنفة على أنها 200 مللي أمبير ، فإننا نحتاج إلى 2 مللي أمبير على الأقل من خلال قاعدة الترانزستور. يعتبر التوتر بين القاعدة والباعث (Vbe) ثابتًا و Vbe = 0، 7V. هذا يعني أنه عند تشغيل GPIO ، لدينا 3.3 - 0.7 = 2.6 فولت عند المقاوم. للحصول على 2 مللي أمبير من خلال هذا المقاوم ، نحتاج إلى مقاومة بحد أقصى 2.6 / 0.002 = 1300 أوم. نستخدم المقاوم 1000 أوم لتبسيط والحفاظ على هامش الخطأ. سيكون لدينا 2.6 مللي أمبير من خلال دبوس GPIO وهو آمن تمامًا.

نظرًا لأن المروحة عبارة عن محرك كهربائي في الأساس ، فهي عبارة عن شحنة استقرائية. هذا يعني أنه عندما يتوقف الترانزستور عن التوصيل ، فإن التيار في المروحة سيستمر في التدفق بينما تحاول الشحنة الحثية الحفاظ على ثابت التيار. قد ينتج عن ذلك جهد عالٍ على الدبوس الأرضي للمروحة ويمكن أن يتلف الترانزستور. لهذا السبب نحتاج إلى الصمام الثنائي بالتوازي مع المروحة والذي سيجعل التيار يتدفق باستمرار عبر المحرك. يسمى هذا النوع من إعداد الصمام الثنائي صمام دولاب الموازنة

الخطوة الثالثة: برنامج للتحكم في سرعة المروحة

للتحكم في سرعة المروحة ، نستخدم إشارة برنامج PWM من مكتبة RPi. GPIO. تتكيف إشارة PWM جيدًا لتشغيل المحركات الكهربائية ، حيث أن وقت رد الفعل مرتفع جدًا مقارنة بتردد PWM.

استخدم برنامج calib_fan.py للعثور على قيمة FAN_MIN بالتشغيل في الجهاز:

بيثون calib_fan.py

تحقق من العديد من القيم بين 0 و 100٪ (يجب أن تكون حوالي 20٪) واعرف الحد الأدنى لقيمة المروحة لتشغيلها.

يمكنك تغيير التوافق بين درجة الحرارة وسرعة المروحة في بداية الكود. يجب أن يكون هناك عدد من tempSteps مثل قيم speedSteps. هذه هي الطريقة المستخدمة بشكل عام في اللوحات الأم للكمبيوتر الشخصي ، حيث تتحرك النقاط على رسم بياني ثنائي المحور درجة الحرارة / السرعة.

الخطوة 4: قم بتشغيل البرنامج عند بدء التشغيل

لتشغيل البرنامج تلقائيًا عند بدء التشغيل ، قمت بإنشاء برنامج نصي bash حيث أضع جميع البرامج التي أريد تشغيلها ، ثم أقوم بتشغيل هذا البرنامج النصي bash عند بدء التشغيل باستخدام 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 النصي:

#! / bin / sh # launcher.sh # انتقل إلى الدليل الرئيسي ، ثم إلى هذا الدليل ، ثم نفذ نص بايثون ، ثم أعد homelocalecd / cd / home / pi / Scripts / sudo python3./fan_ctrl.py & cd /

إذا كنت تريد استخدامه مع OSMC على سبيل المثال ، فأنت بحاجة إلى بدء تشغيله كخدمة مع systemd.

  1. قم بتنزيل ملف fanctrl.service.
  2. تحقق من المسار إلى ملف بيثون الخاص بك.
  3. ضع خدمة fanctrl. في / lib / systemd / system.
  4. أخيرًا ، قم بتمكين الخدمة باستخدام sudo systemctl لتمكين fanctrl.service.

هذه الطريقة أكثر أمانًا ، حيث سيتم إعادة تشغيل البرنامج تلقائيًا في حالة قتل المستخدم أو النظام.

موصى به: