Kazalo:
- Zaloge
- 1. korak: Nastavite ventilator
- 2. korak: Ustvarite krmilnik PI (D)
- 3. korak: Zaženite kontrolni skript ob zagonu
Video: Natančen nadzor temperature na Raspberry Pi 4: 3 korakih
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Pimoroni Fan Shim je odlična rešitev za znižanje temperature vašega Pi, ko se segreje. Proizvajalci ponujajo celo programsko opremo, ki sproži ventilator, ko se temperatura CPE dvigne nad določen prag (npr. 65 stopinj). Temperatura se hitro zniža pod spodnji prag in izklopi ventilator. To je super, vendar povzroča zvišanje in znižanje temperature pri zmernih obremenitvah ter ustvarja zvok hrupa ventilatorja. Ta navodila bodo zmanjšala hrup ventilatorja, medtem ko bo temperatura procesorja določena na določeno vrednost z uporabo nečesa, kar se imenuje PID krmilnik. Višji pragi (na primer 65 stopinj) bodo povzročili veliko tišji ventilator, medtem ko bodo nižji pragi (npr. 50 stopinj) povzročili glasnejši ventilator, vendar boljši nadzor temperature.
Zgornji primer prikazuje moje rezultate pri izvajanju krmilnika PID in spreminjanju ciljne temperature vsakih 500 sekund. Natančnost je +/- 1 stopinja z nekaj preseganjem pri nenadnih spremembah temperature.
Pomembno je, da je bil ta test opravljen pod enako obremenitvijo celotnega časa testiranja (gledanje BBC iPlayerja).
Zaloge
- Malina Pi 4
- Pimoroni Fan Shim
1. korak: Nastavite ventilator
Prvi korak je nastavitev ventilatorja. Pimorinijeva vadnica je odlična!
Nato odprite terminal na svojem Pi (ctrl alt t)
In namestite kodo Pimoronija
git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
2. korak: Ustvarite krmilnik PI (D)
Krmilnik proporcionalnega integralnega izvlečka (PID) je sistem, ki se uporablja za nadzor vrednosti določenega procesa (temperatura CPE -ja) z manipulacijo neke fizične naprave (hitrost ventilatorja). S hitrostjo in hrupom ventilatorja lahko upravljamo tako, da ga občasno vklapljamo in izklapljamo (Pulse Wave Modulation). Čas, v katerem je vklopljen v določenem obdobju (npr. 1 sekunda), določa, kako hiter in kako glasen je ventilator (900 ms = glasno in hitro, 100 ms = tiho in počasi). PID bomo uporabili za manipulacijo hitrosti ventilatorja in s tem za nadzor temperature.
Uporabo PID lahko razdelimo na več korakov.
- Odločite se za vrednost procesne spremenljivke, ki jo želite doseči (npr. Temperatura procesorja = 55). To se imenuje vaša nastavljena vrednost.
- Izračunajte napako PID. Če je vaša nastavljena vrednost 55 stopinj, dejanska temperatura pa 60 stopinj, je vaša napaka 5 stopinj (temperatura - nastavljena vrednost)
- Spremenite čas delovanja ventilatorja sorazmerno z napako (velike napake povzročijo velike spremembe v hitrosti ventilatorja, majhne napake povzročijo majhne spremembe hitrosti ventilatorja).
- Prilagodite ventilator v preprituciji na pretekle vrednosti (integral/vsota vseh prejšnjih napak)
- Po želji lahko hitrost ventilatorja prilagodite glede na stopnjo spremembe napake (izpeljanka), vendar tega tukaj ne bomo storili
Zdaj, ko imate teorijo, zaženite spodnjo kodo v Thonny IDE (ali kateri koli drugi Python IDE). V spodnji kodi spremenite vrednost 'target', da spremenite temperaturo, pri kateri želite ohraniti svoj Pi. Izraze "P" in "I" sem nastavil na nekoliko poljubne vrednosti. Prilagodite jih, če vam ne delujejo. povečanje 'P' pomeni, da se bo krmilnik hitro odzval na nove napake (vendar morda ne bo stabilen). Če spremenite 'I', bo krmilnik povečal težo, zato bo njegov odziv bolj na pretekle vrednosti. Teh izrazov ne bi poskušal povečati, saj hitro spreminjanje hitrosti ventilatorja ne bo hitro spremenilo temperature. Tudi če na svojem Pi opravljate neverjetno težka dela, morda ne boste dosegli želene temperature (omejitve ventilatorja še vedno veljajo).
od fanshim uvoz FanShim
from time import sleep, time import os import math # Vrni temperaturo procesorja kot niz znakov def getCPUtemperature (): res = os.popen ('vcgencmd mere_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," "))) fanshim = FanShim () cilj = 55 # želena temperatura (igrajte se s tem in poglejte, kaj se zgodi) obdobje = 1 # obdobje PWM na =.1 # inicializirajte na 0 % obratovalni cikel izklopljen = obdobje vklopa # inicializirano na 0% obratovalnega cikla P =.01 # sorazmerni dobiček (igrajte se s tem in poglejte, kaj se zgodi) intErr = 0 # integralna napaka I =.0001 # medgralen dobiček (igrajte se s tem in poglejte, kaj se zgodi) medtem ko je True: # get temperaute temp = int (float (getCPUtemperature ())) # izračuna napako in gladko err = temp-target # izračunaj integra lerror in jo omeji intErr = intErr+err če je intErr> 10: intErr = 10, če je intErr = obdobje: vklopljeno = izklopljeno obdobje = 0 drugo: vklopljeno = vklopljeno = vklopljeno obdobje # nastavite najmanjši obratovalni cikel, če je vklopljeno <.09: vklopljeno =.09 drugače: vklopljeno = vklopljeno # PWM na zatiču ventilatorja, če na == obdobje: fanshim.set_fan (True) spanje (on) else: fanshim.set_fan (True) s leep (vklopljeno) fanshim.set_fan (False) spanje (izklopljeno)
3. korak: Zaženite kontrolni skript ob zagonu
Ta skript lahko zaženete vsakič, ko zaženete pi, ali pa ga samodejno sprožite pri ponovnem zagonu. To je zelo preprosto narediti s crontabom.
- odprite terminal
- v terminal vnesite crontab-e
- dodajte naslednjo vrstico kode v datoteko '@reboot python /home/pi/bootScripts/fanControl.py &'
- izhod in ponovni zagon
Skript (fanControl.py) sem dal v floder, imenovan bootScripts, vendar ga lahko postavite kamor koli, samo pazite, da v crontab navedete pravilno pot.
Končano! Zdaj bo vaš ventilator nadzoroval temperaturo vašega CPU -ja na določeno vrednost, hkrati pa zmanjšal zvočni hrup, ki ga proizvaja.
Priporočena:
Arduino natančen in natančen voltmeter (0-90V DC): 3 koraki
Arduino natančen in natančen merilnik voltov (0-90V DC): V tem navodilu sem z relativno natančnostjo in natančnostjo z uporabo Arduino Nano zgradil voltmeter za merjenje visokih napetosti DC (0-90v). Preskusne meritve, ki sem jih opravil, so bile dovolj natančne, večinoma znotraj 0,3v dejanske napetosti, izmerjene z
Zaznavanje obrazov na Raspberry Pi 4B v 3 korakih: 3 korakih
Zaznavanje obrazov na Raspberry Pi 4B v treh korakih: V tem navodilu bomo z uporabo Shunyaface knjižnice izvedli zaznavanje obrazov na Raspberry Pi 4 s Shunya O/S. Shunyaface je knjižnica za prepoznavanje in zaznavanje obrazov. Cilj projekta je doseči najhitrejšo hitrost odkrivanja in prepoznavanja z
Nadzor svetlosti PWM LED nadzor s potisnimi gumbi, Raspberry Pi in Scratch: 8 korakov (s slikami)
Nadzor svetlosti Upravljanje LED na osnovi PWM s potisnimi gumbi, Raspberry Pi in Scratch: poskušal sem najti način, kako svojim učencem razložiti, kako deluje PWM, zato sem si zadal nalogo, da poskušam nadzorovati svetlost LED z dvema gumboma - en gumb poveča svetlost LED, drugi pa ga zatemni. Za program
Visoko natančen regulator temperature: 6 korakov (s slikami)
Visoko natančen regulator temperature: V znanosti in inženiringu je spremljanje temperature (gibanje atomov v termodinamiki) eden od temeljnih fizikalnih parametrov, ki jih je treba upoštevati skoraj povsod, od biologije celic do rakete na trdo gorivo in
Izjemno natančen lok s peresom z visoko močjo, dolgi doseg in izjemno natančen lok !!!: 6 korakov
Izjemno natančen lok za peresnike z visoko močjo, dolgega dosega in izrednega natančnosti !!!: To je še eden izmed tistih znanih lokov za peresa !!! =) Uživajte! P.S. te stvari so nekako močne, ne ciljajte na nekoga.DISCLAIMER: Ne morete me tožiti, če s tem kaj prekinete. Vključno z ljudmi in živalmi. To je moj prvi Instructable, zato prosim