Sadržaj:

PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi: 4 koraka (sa slikama)
PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi: 4 koraka (sa slikama)

Video: PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi: 4 koraka (sa slikama)

Video: PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi: 4 koraka (sa slikama)
Video: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, Srpanj
Anonim
PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi
PWM regulirani ventilator na temelju temperature procesora za Raspberry Pi

Mnogo kućišta za Raspberry Pi dolazi s malim 5V ventilatorom kako bi se pomoglo hlađenju CPU -a. Međutim, ti su ventilatori obično prilično bučni i mnogi ih ljudi priključuju na utičnicu 3V3 kako bi smanjili buku. Ovi ventilatori obično su ocijenjeni za 200mA što je prilično visoko za 3V3 regulator na RPi. Ovaj će vas projekt naučiti kako regulirati brzinu ventilatora na temelju 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 je to učinjeno na glavnom računalu, koristeći Python.

Korak 1: Potrebni dijelovi

Za ovaj projekt koristit ćemo samo nekoliko komponenti koje su obično uključene u elektroničke komplete za hobiste koje možete pronaći na Amazonu, poput ove.

  • Raspberry Pi pokreće Raspbian (ali bi trebao raditi s drugim distribucijama).
  • Ventilator od 5 V (ali ventilator od 12 V mogao bi se koristiti s prilagođenim tranzistorima i napajanjem od 12 V).
  • NPN tranzistor koji podržava najmanje 300 mA, poput 2N2222A.
  • 1K otpornik.
  • 1 dioda.

Izborno, za stavljanje komponenti u kućište (ali još nije učinjeno):

  • Mali komad protobora, za lemljenje komponenti.
  • Veliko termoskupljanje, za zaštitu ploče.

Korak 2: Električni priključci

Električni priključci
Električni priključci
Električni priključci
Električni priključci
Električni priključci
Električni priključci

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 na GND (crnu) žicu. Provjerite na tranzistorskom dokumentu ima li igle 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. Time imamo prekidač koji će spojiti ili odspojiti žicu za uzemljenje od ventilatora na masu pi maline.

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 teče kroz kolektor prema odašiljaču, Ib je struja koja teče kroz bazu do odašiljača, 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 odašiljača (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 za pojednostavljenje i održavanje greške. Imat ćemo 2,6 mA kroz GPIO pin koji je potpuno siguran.

Kako je ventilator u osnovi električni motor, to je induktivni naboj. To znači da kada tranzistor prestane provoditi, struja u ventilatoru nastavit će teći jer induktivni naboj 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 stalno 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 usporedbi s frekvencijom 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. TempSteps mora postojati koliko i speedSteps vrijednosti. Ovo je metoda koja se općenito koristi na matičnim pločama računala, pomičući točke na grafu s 2 osi Temp / Brzina.

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

  1. Napravite direktorij/home/pi/Scripts/i postavite datoteku fan_ctrl.py u taj direktorij.
  2. U istom direktoriju stvorite datoteku pod nazivom launcher.sh i kopirajte skriptu ispod.
  3. Uredite datoteku /etc/rc.locale i dodajte novi redak prije "izlaza 0": sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh skripta:

#!/bin/sh #launcher.sh #idite u početni direktorij, zatim u ovaj direktorij, zatim izvedite python skriptu, pa natrag 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.

  1. Preuzmite datoteku fanctrl.service.
  2. Provjerite put do vaše python datoteke.
  3. Postavite fanctrl.service u/lib/systemd/system.
  4. Na kraju, omogućite uslugu pomoću sudo systemctl enable fanctrl.service.

Ova je metoda sigurnija jer će se program automatski ponovo pokrenuti ako je korisnik ili sustav ubio.

Preporučeni: