Kazalo:

PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi: 4 koraki (s slikami)
PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi: 4 koraki (s slikami)

Video: PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi: 4 koraki (s slikami)

Video: PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi: 4 koraki (s slikami)
Video: Объяснение прошивки Marlin 2.0.x 2024, Julij
Anonim
PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi
PWM reguliran ventilator glede na temperaturo procesorja za Raspberry Pi

Številni kovčki za Raspberry Pi so opremljeni z majhnim 5V ventilatorjem, ki pomaga ohladiti procesor. Vendar so ti ventilatorji običajno precej hrupni in mnogi jih priklopijo na pin 3V3, da zmanjšajo hrup. Ti ventilatorji so običajno ocenjeni na 200mA, kar je precej visoko za regulator 3V3 na RPi. Ta projekt vas bo naučil, kako regulirati hitrost ventilatorja glede na temperaturo procesorja. Za razliko od večine vadnic, ki pokrivajo to temo, ventilatorja ne bomo samo vklopili ali izklopili, ampak bomo s Pythonom nadzorovali njegovo hitrost, kot to počnemo na običajnem računalniku.

Korak: Potrebni deli

Za ta projekt bomo uporabili le nekaj komponent, ki so običajno vključene v elektronske komplete za ljubitelje, ki jih lahko najdete na Amazonu, kot je ta.

  • Raspberry Pi, ki izvaja Raspbian (vendar bi moral delovati z drugimi distribucijami).
  • 5V ventilator (vendar lahko 12V ventilator uporabite s prilagojenim tranzistorjem in 12V napajanjem).
  • NPN tranzistor, ki podpira vsaj 300 mA, na primer 2N2222A.
  • 1K upor.
  • 1 dioda.

Neobvezno, da sestavne dele postavite v ohišje (vendar še ni storjeno):

  • Majhen kos protobora za spajkanje komponent.
  • Veliko toplotno skrčenje, za zaščito plošče.

2. korak: Električne povezave

Električni priključki
Električni priključki
Električni priključki
Električni priključki
Električni priključki
Električni priključki

Upor lahko priključite tako ali drugače, vendar bodite previdni glede smeri tranzistorja in diode. Diodna katoda mora biti priključena na +5V (rdečo) žico, anoda pa na GND (črno) žico. Preverite v tranzistorskem dokumentu oddajnike, bazo in kolektorske nožice. Ozemljitev ventilatorja mora biti priključena na kolektor, ozemljitev Rpi pa na oddajnik

Za nadzor ventilatorja moramo uporabiti tranzistor, ki se bo uporabljal v konfiguraciji odprtega kolektorja. S tem imamo stikalo, ki bo priključilo ali odklopilo ozemljitveno žico od ventilatorja do tal maline pi.

Tranzistor NPN BJT vodi glede na tok, ki teče v njegovih vratih. Tok, ki bo lahko tekel iz zbiralnika (C) v oddajnik (E), je:

Ic = B * Ib

Ic je tok, ki teče skozi zbiralnik oddajnik, Ib je tok, ki teče skozi osnovo do oddajnika, B (beta) pa je vrednost, odvisna od vsakega tranzistorja. Približno B = 100.

Ker je naš ventilator ocenjen na 200 mA, potrebujemo vsaj 2 mA skozi osnovo tranzistorja. Napetost med bazo in oddajnikom (Vbe) velja za konstantno in Vbe = 0, 7V. To pomeni, da ko je GPIO vklopljen, imamo 3,3 - 0,7 = 2,6 V na uporu. Za prenos 2mA skozi ta upor potrebujemo upor največ 2,6 / 0,002 = 1300 ohmov. Za poenostavitev in ohranitev napake uporabljamo upor 1000 ohmov. 2,6 mA bomo imeli prek vtiča GPIO, ki je popolnoma varen.

Ker je ventilator v bistvu električni motor, je to induktivni naboj. To pomeni, da ko tranzistor preneha prevoditi, bo tok v ventilatorju še naprej tekel, ko induktivni naboj poskuša ohraniti tok konstanten. To bi povzročilo visoko napetost na ozemljitvenem zatiču ventilatorja in bi lahko poškodovalo tranzistor. Zato potrebujemo diodo vzporedno z ventilatorjem, ki bo tok neprekinjeno tekel skozi motor. Ta vrsta nastavitve diod se imenuje dioda vztrajnika

3. korak: Program za nadzor hitrosti ventilatorja

Za nadzor hitrosti ventilatorja uporabljamo programski signal PWM iz knjižnice RPi. GPIO. Signal PWM je dobro prilagojen za pogon elektromotorjev, saj je njihov reakcijski čas v primerjavi s frekvenco PWM zelo visok.

S programom calib_fan.py poiščite vrednost FAN_MIN tako, da zaženete v terminalu:

python calib_fan.py

Preverite več vrednosti med 0 in 100% (mora biti približno 20%) in poglejte, kakšna je najmanjša vrednost za vklop ventilatorja.

Ustreznost med temperaturo in hitrostjo ventilatorja lahko spremenite na začetku kode. TempSteps mora biti toliko kot vrednosti speedSteps. To je metoda, ki se običajno uporablja na matičnih ploščah osebnih računalnikov in premika točke na 2-osnem grafu Temp / Speed.

4. korak: Zaženite program ob zagonu

Za samodejni zagon programa ob zagonu sem naredil bash skript, kamor sem dal vse programe, ki jih želim zagnati, nato pa ta zagonski skript zaženem ob zagonu z rc.locale

  1. Ustvarite imenik/home/pi/Scripts/in v ta imenik postavite datoteko fan_ctrl.py.
  2. V istem imeniku ustvarite datoteko z imenom launcher.sh in kopirajte spodnji skript.
  3. Uredite datoteko /etc/rc.locale in pred "izhodom 0" dodajte novo vrstico: sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh skript:

#!/bin/sh #launcher.sh #pojdite v domači imenik, nato v ta imenik, nato izvedite skript python, nato nazaj homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

Če ga želite na primer uporabljati z OSMC, ga morate zagnati kot storitev z systemd.

  1. Prenesite datoteko fanctrl.service.
  2. Preverite pot do datoteke python.
  3. Postavite fanctrl.service v/lib/systemd/system.
  4. Nazadnje omogočite storitev s sudo systemctl enable fanctrl.service.

Ta metoda je varnejša, saj se bo program samodejno znova zagnal, če ga ubije uporabnik ali sistem.

Priporočena: