Mündəricat:

Raspberry Pi üçün CPU İstiliyinə əsaslanan PWM Tənzimlənən Fan: 4 Addım (Şəkillərlə)
Raspberry Pi üçün CPU İstiliyinə əsaslanan PWM Tənzimlənən Fan: 4 Addım (Şəkillərlə)

Video: Raspberry Pi üçün CPU İstiliyinə əsaslanan PWM Tənzimlənən Fan: 4 Addım (Şəkillərlə)

Video: Raspberry Pi üçün CPU İstiliyinə əsaslanan PWM Tənzimlənən Fan: 4 Addım (Şəkillərlə)
Video: Ethernet və wi-fi ilə Dingtian DT-R008 çoxkanallı ağıllı rele - ümumi baxış və Home Assistant 2024, Noyabr
Anonim
Raspberry Pi üçün CPU İstiliyinə əsaslanan PWM Tənzimlənən Fan
Raspberry Pi üçün CPU İstiliyinə əsaslanan PWM Tənzimlənən Fan

Raspberry Pi üçün bir çox hal, CPU -nun soyudulmasına kömək etmək üçün kiçik bir 5V fan ilə gəlir. Ancaq bu fanatlar ümumiyyətlə olduqca səs -küylüdür və bir çox insanlar səs -küyü azaltmaq üçün 3V3 pininə bağlayırlar. Bu fanatlar ümumiyyətlə RPi üzərindəki 3V3 tənzimləyicisi üçün olduqca yüksək olan 200mA üçün qiymətləndirilir. Bu layihə, CPU istiliyinə əsasən fan sürətini necə tənzimləməyi öyrədəcək. Bu mövzunu əhatə edən bir çox dərsliklərdən fərqli olaraq, yalnız fanatı açıb -söndürməyəcəyik, həm də Python istifadə edərək əsas kompüterdə olduğu kimi sürətini idarə edəcəyik.

Addım 1: Lazım olan hissələr

Bu layihə üçün, həvəskarlar üçün adətən elektronika dəstlərinə daxil olan, Amazonda tapa biləcəyiniz yalnız bir neçə komponentdən istifadə edəcəyik.

  • Raspberry çalışan Raspberry Pi (lakin digər paylayıcılarla işləməlidir).
  • 5V Fan (lakin 12V bir fan uyğunlaşdırılmış bir tranzistor və 12V enerji təchizatı ilə istifadə edilə bilər).
  • 2N2222A kimi ən az 300mA dəstəkləyən NPN tranzistoru.
  • 1K rezistor.
  • 1 diod.

İsteğe bağlı olaraq, komponentləri qutunun içərisinə qoymaq üçün (lakin hələ də edilməyib):

  • Komponentləri lehimləmək üçün kiçik bir protoboard parçası.
  • Lövhəni qorumaq üçün böyük istilik daralması.

Addım 2: Elektrik Bağlantıları

Elektrik Bağlantıları
Elektrik Bağlantıları
Elektrik Bağlantıları
Elektrik Bağlantıları
Elektrik Bağlantıları
Elektrik Bağlantıları

Rezistor hər iki şəkildə bağlana bilər, ancaq tranzistor və diodun istiqamətinə diqqət yetirin. Diodun katotu +5V (qırmızı) telə, anod isə GND (qara) telə bağlanmalıdır. Emitter, Base və Collector pinləri üçün transistor sənədinizi yoxlayın. Fanın torpağı Kollektorla, Rpi -nin zəmini isə Emitentə qoşulmalıdır

Fanı idarə etmək üçün açıq kollektor konfiqurasiyasında istifadə ediləcək bir tranzistordan istifadə etməliyik. Bunu etməklə, torpaq telini fandan moruq pi torpağına bağlayacaq və ya ayıracaq bir açarımız var.

NPN BJT tranzistoru, qapısından axan cərəyana görə keçir. Kollektordan (C) emitentə (E) axmağa icazə verilən cərəyan:

Ic = B * Ib

Ic, kollektordan emitentdən axan cərəyandır, Ib bazadan emitentə axan cərəyandır və B (beta) hər bir tranzistordan asılı olan bir dəyərdir. Təxminən B = 100.

Fanımız 200mA olaraq qiymətləndirildiyindən, tranzistorun bazasından ən azı 2mA lazımdır. Baza ilə yayıcı (Vbe) arasındakı gərginlik sabit sayılır və Vbe = 0, 7V. Bu o deməkdir ki, GPIO aktiv olduqda müqavimətdə 3.3 - 0.7 = 2.6V olur. Bu müqavimət vasitəsi ilə 2mA əldə etmək üçün maksimum 2.6 / 0.002 = 1300 ohm olan bir rezistora ehtiyacımız var. Səhv marjasını asanlaşdırmaq və saxlamaq üçün 1000 ohm rezistordan istifadə edirik. Tamamilə təhlükəsiz olan GPIO pin vasitəsilə 2.6mA -ya sahib olacağıq.

Bir fan əsasən elektrik mühərriki olduğundan induktiv bir yükdür. Bu o deməkdir ki, tranzistor keçiriciliyi dayandırdıqda, induktiv yük cərəyanı sabit saxlamağa çalışarkən fandakı cərəyan axmağa davam edəcək. Bu, fanın torpaq pinində yüksək gərginliklə nəticələnəcək və tranzistora zərər verə bilər. Bu səbəbdən, cərəyanı daim motordan keçirən fanla paralel olaraq bir dioda ehtiyacımız var. Bu tip diod quruluşuna Flywheel diod deyilir

Addım 3: Fan sürətini idarə etmək üçün proqram

Fan sürətini idarə etmək üçün RPi. GPIO kitabxanasından bir proqram PWM siqnalından istifadə edirik. PWM Siqnalı elektrik mühərriklərini idarə etmək üçün yaxşı uyğunlaşdırılmışdır, çünki onların reaksiya müddəti PWM tezliyi ilə müqayisədə çox yüksəkdir.

Terminalda işləyərək FAN_MIN dəyərini tapmaq üçün calib_fan.py proqramından istifadə edin:

python calib_fan.py

0 ilə 100% arasında bir neçə dəyəri yoxlayın (təxminən 20% olmalıdır) və fanınızın açılması üçün minimum dəyərin nə olduğunu görün.

Kodun əvvəlində temperatur və fan sürəti arasındakı yazışmanı dəyişə bilərsiniz. SpeedSteps dəyərləri qədər tempSteps olmalıdır. Ümumiyyətlə PC anakartlarında, Temp / Speed 2 oxlu bir qrafik üzərində hərəkət edən nöqtələrdir.

Addım 4: Başlanğıcda proqramı işə salın

Proqramı başlanğıcda avtomatik olaraq işə salmaq üçün başlatmaq istədiyim bütün proqramları qoyduğum bir bash skripti hazırladım və sonra bu bash skriptini rc.locale ilə işə salıram.

  1. Bir kataloq/home/pi/Scripts/yaradın və fan_ctrl.py faylını həmin qovluğun içərisinə yerləşdirin.
  2. Eyni qovluqda launcher.sh adlı bir fayl yaradın və aşağıdakı skriptdən kopyalayın.
  3. /Etc/rc.locale faylını redaktə edin və "0 çıxışından" əvvəl yeni bir sətir əlavə edin: sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh skript:

#!/bin/sh #launcher.sh #ana qovluğa gedin, sonra bu qovluğa gedin, sonra python skriptini işlədin, sonra homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

Məsələn OSMC ilə istifadə etmək istəyirsinizsə, bunu systemd ilə bir xidmət olaraq başlamalısınız.

  1. Fanctrl.service faylını yükləyin.
  2. Python faylınızın yolunu yoxlayın.
  3. Fanctrl.service/lib/systemd/system -ə yerləşdirin.
  4. Nəhayət, xidməti sudo systemctl ilə aktivləşdirin fanctrl.service.

Bu üsul daha təhlükəsizdir, çünki istifadəçi və ya sistem tərəfindən öldürülsə proqram avtomatik olaraq yenidən başlayacaq.

Tövsiyə: