Sadržaj:
- Korak 1: Potrebni dijelovi
- Korak 2: Električne veze
- Korak 3: Program za kontrolu brzine ventilatora
- Korak 4: Pokrenite program pri pokretanju
Video: PWM regulirani ventilator na osnovu temperature procesora za Raspberry Pi: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Mnoge futrole za Raspberry Pi dolaze s malim 5V ventilatorom kako bi se pomoglo pri hlađenju CPU -a. Međutim, ovi ventilatori su obično prilično bučni i mnogi ih ljudi priključuju na 3V3 iglu kako bi smanjili buku. Ovi ventilatori su obično ocijenjeni za 200mA, što je prilično visoko za 3V3 regulator na RPi. Ovaj projekt će vas naučiti kako regulirati brzinu ventilatora na osnovu temperature procesora. Za razliku od većine vodiča koji pokrivaju ovu temu, nećemo samo uključiti ili isključiti ventilator, već ćemo kontrolirati njegovu brzinu kao što se radi na mainstream PC -u, koristeći Python.
Korak 1: Potrebni dijelovi
Za ovaj projekt koristit ćemo samo nekoliko komponenti koje su obično uključene u komplete elektronike za hobiste koje možete pronaći na Amazonu, poput ove.
- Raspberry Pi pokreće Raspbian (ali bi trebao raditi s drugim distribucijama).
- 5V ventilator (ali ventilator od 12V se može koristiti sa prilagođenim tranzistorima i napajanjem od 12V).
- NPN tranzistor koji podržava najmanje 300mA, poput 2N2222A.
- 1K otpornik.
- 1 dioda.
Opcionalno, za stavljanje komponenti u kućište (ali još nije gotovo):
- Mali komad protobora za lemljenje komponenti.
- Veliko termoskupljanje, za zaštitu ploče.
Korak 2: Električne veze
Otpornik se može priključiti na bilo koji način, ali pripazite na smjer tranzistora i diode. Dioda katoda mora biti spojena na +5V (crvenu) žicu, a anoda mora biti spojena na GND (crnu) žicu. Provjerite u tranzistorskom dokumentu ima li pinova emitera, baze i kolektora. Uzemljenje ventilatora mora biti spojeno na kolektor, a Rpi uzemljenje mora biti spojeno na odašiljač
Da bismo upravljali ventilatorom, moramo koristiti tranzistor koji će se koristiti u konfiguraciji otvorenog kolektora. Na taj način imamo prekidač koji će spojiti ili odspojiti žicu za uzemljenje od ventilatora do mase maline pi.
NPN BJT tranzistor provodi ovisno o struji koja teče kroz njegova vrata. Struja kojoj će biti dopušteno teći od kolektora (C) do emitera (E) je:
Ic = B * Ib
Ic je struja koja protiče kroz kolektor prema odašiljaču, Ib je struja koja teče kroz bazu do emitera, a B (beta) je vrijednost ovisno o svakom tranzistoru. Približno smo B = 100.
Budući da je naš ventilator ocijenjen kao 200mA, potrebno nam je najmanje 2mA kroz bazu tranzistora. Napetost između baze i emitera (Vbe) smatra se konstantnom i Vbe = 0,7V. To znači da kada je GPIO uključen, na otporniku imamo 3,3 - 0,7 = 2,6 V. Da bismo imali 2mA kroz taj otpornik, potreban nam je otpornik od maksimalno 2,6 / 0,002 = 1300 ohma. Koristimo otpornik od 1000 ohma da pojednostavimo i zadržimo marginu greške. Imat ćemo 2,6 mA kroz GPIO pin koji je potpuno siguran.
Kako je ventilator u osnovi električni motor, on je induktivni naboj. To znači da kada tranzistor prestane provoditi, struja u ventilatoru će nastaviti teći jer induktivno punjenje pokušava zadržati struju konstantnom. To bi rezultiralo visokim naponom na uzemljenju ventilatora i moglo bi oštetiti tranzistor. Zato nam je paralelno s ventilatorom potrebna dioda koja će konstantno strujati kroz motor. Ova vrsta postavljanja dioda naziva se dioda zamašnjaka
Korak 3: Program za kontrolu brzine ventilatora
Za kontrolu brzine ventilatora koristimo softverski PWM signal iz biblioteke RPi. GPIO. PWM signal je dobro prilagođen za pogon elektromotora, jer je njihovo vrijeme reakcije vrlo veliko u odnosu na frekvenciju PWM -a.
Pomoću programa calib_fan.py pronađite vrijednost FAN_MIN pokretanjem u terminalu:
python calib_fan.py
Provjerite nekoliko vrijednosti između 0 i 100% (treba biti oko 20%) i provjerite koja je minimalna vrijednost za uključivanje vašeg ventilatora.
Možete promijeniti korespondenciju između temperature i brzine ventilatora na početku koda. Mora postojati toliko tempSteps koliko i speedSteps vrijednosti. Ovo je metoda koja se općenito koristi na matičnim pločama PC-a, pomicanjem točaka na 2-osnom grafikonu Temp / Speed.
Korak 4: Pokrenite program pri pokretanju
Za automatsko pokretanje programa pri pokretanju, napravio sam bash skriptu u koju sam stavio sve programe koje želim pokrenuti, a zatim pokrećem ovu bash skriptu pri pokretanju s rc.locale
- Kreirajte direktorij/home/pi/Scripts/i postavite datoteku fan_ctrl.py u taj direktorij.
- U istom direktoriju kreirajte datoteku pod nazivom launcher.sh i kopirajte skriptu ispod.
- Uredite /etc/rc.locale datoteku i dodajte novu liniju prije "izlaza 0": sudo sh '/home/pi/Scripts/launcher.sh'
launcher.sh skripta:
#!/bin/sh #launcher.sh #idite do početnog direktorija, zatim do ovog direktorija, zatim izvršite python skriptu, pa nazad homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/
Na primjer, ako ga želite koristiti s OSMC -om, morate ga pokrenuti kao uslugu sa systemd.
- Preuzmite datoteku fanctrl.service.
- Provjerite putanju do vaše python datoteke.
- Postavite fanctrl.service u/lib/systemd/system.
- Na kraju, omogućite uslugu sa sudo systemctl enable fanctrl.service.
Ova metoda je sigurnija, jer će se program automatski ponovo pokrenuti ako je ubio korisnik ili sistem.
Preporučuje se:
Kako očistiti ventilator procesora: 8 koraka
Kako očistiti ventilator procesora: Ako ne očistite ventilator procesora, ventilator se može usporiti ili potpuno otkazati. Ako ventilator otkaže, tada će se temperature unutar sistemske jedinice značajno povećati, što stvara potencijal za pregrijavanje. Ovaj video vam pomaže
Raspberry Pi kutija ventilatora za hlađenje sa indikatorom temperature procesora: 10 koraka (sa slikama)
Raspberry Pi Box sa ventilatorom za hlađenje sa indikatorom temperature procesora: U prethodnom projektu sam predstavio krug indikatora temperature procesora od maline pi (u daljem tekstu RPI). Krug jednostavno prikazuje RPI 4 različit nivo temperature procesora na sljedeći način.- Zelena LED lampica se uključuje kada Temperatura procesora je unutar 30 ~
Indikator temperature Raspberry Pi procesora: 11 koraka (sa slikama)
Raspberry Pi indikator temperature procesora: Ranije sam predstavio jednostavan krug indikatora operativnog statusa maline pi (u daljem tekstu RPI). Ovog puta ću objasniti još neki korisni krug indikatora za RPI koji radi bez glave (bez monitora). Gornji krug prikazuje CPU tem
Zvučnik raspoloženja- snažan zvučnik za reprodukciju muzike raspoloženja na osnovu temperature okoline: 9 koraka
Mood Speaker- snažan zvučnik za reprodukciju muzike raspoloženja na osnovu temperature okoline: Zdravo! Za moj školski projekt u MCT Howest Kortrijk, napravio sam Mood Speaker, ovo je pametni Bluetooth zvučnik s različitim senzorima, LCD-om i WS2812b LED traka uključena. Zvučnik pušta muziku u pozadini na osnovu temperature, ali može
Trenutni regulirani LED tester: 4 koraka (sa slikama)
Trenutni regulirani LED tester: Mnogi ljudi pretpostavljaju da se sve LED diode mogu napajati konstantnim izvorom napajanja od 3 V. LED diode u stvari imaju nelinearni odnos struja-napon. Struja raste eksponencijalno s isporučenim naponom. Postoji i zabluda da sve LED diode