Satura rādītājs:
- Piegādes
- 1. darbība: iestatiet ventilatoru
- 2. darbība: izveidojiet PI (D) kontrolieri
- 3. darbība: palaidiet vadības skriptu startēšanas laikā
Video: Precīza Raspberry Pi temperatūras kontrole 4: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Pimoroni ventilatoru starplikas ir lielisks risinājums, lai samazinātu jūsu Pi temperatūru, kad tas darbojas karsti. Ražotāji pat nodrošina programmatūru, kas iedarbina ventilatoru, kad CPU temperatūra paaugstinās virs noteiktā sliekšņa (piemēram, 65 grādi). Temperatūra ātri pazeminās zem zemāka sliekšņa un izslēdz ventilatoru. Tas ir lieliski, bet izraisa temperatūras paaugstināšanos un pazemināšanos zem mērenas slodzes un rada dzirdamu ventilatora troksni. Šī pamācība samazinās ventilatora troksni, vienlaikus nosakot CPU temperatūru līdz noteiktai vērtībai, izmantojot PID kontrolieri. Augstāki sliekšņi (piemēram, 65 grādi) radīs daudz klusāku ventilatoru, bet zemāki sliekšņi (piemēram, 50 grādi) radīs skaļāku ventilatoru, bet labāku temperatūras kontroli.
Iepriekš redzamajā piemērā ir parādīti mani PID regulatora darbības rezultāti un mērķa temperatūras maiņa ik pēc 500 sekundēm. Precizitāte ir +/- 1 grāds ar nelielu pārsniegšanu pēkšņās temperatūras izmaiņās.
Svarīgi, ka šis tests tika veikts ar tādu pašu slodzi visu testa laiku (skatoties BBC iPlayer).
Piegādes
- Raspberry Pi 4
- Pimoroni līdzjutējs
1. darbība: iestatiet ventilatoru
Pirmais solis ir ventilatora uzstādīšana. Pimorini apmācība ir lieliska!
Pēc tam atveriet termināli savā Pi (ctrl alt t)
Un instalējiet Pimoroni sniegto kodu
git klons https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
2. darbība: izveidojiet PI (D) kontrolieri
Proporcionālā integrālā atvasinājuma (PID) kontrolieris ir sistēma, ko izmanto, lai kontrolētu noteikta procesa vērtību (CPU temperatūru), manipulējot ar kādu fizisku ierīci (ventilatora ātrums). Mēs varam manipulēt ar ventilatora “ātrumu” un troksni, periodiski to ieslēdzot un izslēdzot (impulsa viļņu modulācija). Laiks, kādā tas ir ieslēgts noteiktā laika posmā (piemēram, 1 sekunde), nosaka ventilatora ātrumu un skaļumu (900 ms = skaļš un ātrs, 100 ms = kluss un lēns). Mēs izmantosim PID, lai manipulētu ar ventilatora ātrumu un tādējādi kontrolētu temperatūru.
Mēs varam sadalīt PID izmantošanu vairākos soļos.
- Izlemiet procesa mainīgā vērtību, kuru vēlaties sasniegt (piemēram, CPU temperatūra = 55). To sauc par jūsu iestatīto vērtību.
- Aprēķiniet PID kļūdu. Ja jūsu iestatītā vērtība ir 55 grādi un faktiskā temperatūra ir 60 grādi, jūsu kļūda ir 5 grādi (temperatūra - iestatītā vērtība)
- Mainiet ventilatora ieslēgšanās laiku proporcionāli kļūdai (lielas kļūdas izraisa lielas ventilatora ātruma izmaiņas, nelielas kļūdas izraisa nelielas izmaiņas ventilatora ātrumā).
- Pielāgojiet ventilatoru iepriekšējām vērtībām (integrāls/visu iepriekšējo kļūdu summa)
- Pēc izvēles jūs pielāgojat ventilatora ātrumu, pamatojoties uz kļūdas izmaiņu ātrumu (atvasinājums), bet mēs to šeit nedarīsim
Tagad, kad jums ir teorija, palaidiet zemāk esošo kodu Thonny IDE (vai kādā citā python IDE). Mainiet “mērķa” vērtību zemāk esošajā kodā, lai mainītu temperatūru, kurā vēlaties uzturēt savu Pi. Nosaukumus “P” un “I” esmu iestatījis nedaudz patvaļīgās vērtībās. Jūtieties brīvi pielāgot tos, ja tie jums nedarbojas. palielinot “P”, kontrolieris ātri reaģēs uz jaunām kļūdām (bet var nebūt stabils). Mainot “I”, kontrolieris vairāk sāks reaģēt uz iepriekšējām vērtībām. Es nemēģinātu padarīt šos noteikumus pārāk lielus, jo strauji mainot ventilatora ātrumu, strauji nemainīsies temperatūra. Turklāt, ja veicat neticami smagu darbu ar savu Pi, iespējams, nesasniegsiet vēlamo termisko temperatūru (ventilatora ierobežojumi joprojām ir spēkā).
no fanshim importa FanShim
no laika importēšanas miega, laika importēšanas os importēšanas matemātikas # Atgriezt CPU temperatūru kā rakstzīmju virkni def getCPUtemperature (): res = os.popen ('vcgencmd meet_temp'). readline () return (res.replace ("temp =", " "). aizstāt (" 'C / n "," ")) fanshim = FanShim () mērķis = 55 # vēlamā temperatūra (spēlējiet ar šo un redziet, kas notiek) periods = 1 # PWM periods =.1 # inicializēt uz 0 % darba cikls izslēgts = periods-on # inicializēšana līdz 0% darba ciklam P =.01 # proporcionāls pastiprinājuma termiņš (spēlējiet ar šo un redziet, kas notiek) intErr = 0 # neatņemama kļūda I =.0001 # starpnozaru pieauguma termiņš un redzēt, kas notiek), kamēr True: # get temperaute temp = int (float (getCPUtemperature ())) # aprēķināt kļūdu un izlīdzināt kļūdu = temp-target # aprēķināt integrācijas kļūdu un ierobežot to intErr = intErr+kļūda, ja intErr> 10: intErr = 10, ja intErr = periods: ieslēgts = periods izslēgts = 0 cits: ieslēgts = ieslēgts = periods-ieslēgts # iestatījis minimālo darba ciklu, ja ieslēgts <.09: ieslēgts =.09 cits: ieslēgts = ieslēgts # PWM uz ventilatoru tapu, ja ieslēgts == periods: fanshim.set_fan (True) miega (ieslēgts) cits: fanshim.set_fan (True) s leep (ieslēgts) fanshim.set_fan (False) miegs (izslēgts)
3. darbība: palaidiet vadības skriptu startēšanas laikā
Jūs varētu palaist šo skriptu katru reizi, kad sākat savu pi, vai arī jūs to automātiski aktivizēsit, restartējot. Tas ir ļoti vienkārši izdarāms ar crontab.
- atveriet termināli
- ievadiet terminālī crontab-e
- pievienojiet failam “@reboot python /home/pi/bootScripts/fanControl.py &” šādu koda rindiņu.
- izejiet un pārstartējiet
Es ievietoju skriptu (fanControl.py) floderā, ko sauc par bootScripts, bet jūs varat to ievietot jebkur, vienkārši pārliecinieties, ka crontab norādāt pareizo ceļu.
Viss pabeigts! Tagad jūsu ventilators kontrolēs jūsu CPU temperatūru līdz noteiktai vērtībai, vienlaikus samazinot tā radīto skaņas troksni.
Ieteicams:
Raspberry Pi - MPL3115A2 precīza altimetra sensora Python apmācība: 4 soļi
Raspberry Pi - MPL3115A2 Precīzijas altimetra sensora Python apmācība: MPL3115A2 izmanto MEMS spiediena sensoru ar I2C saskarni, lai nodrošinātu precīzus spiediena/augstuma un temperatūras datus. Sensora izejas tiek digitalizētas ar augstas izšķirtspējas 24 bitu ADC. Iekšējā apstrāde noņem kompensācijas uzdevumus no
Precīza Wiimote gaismas pistole aveņu PI: 9 soļi (ar attēliem)
Precīza Wiimote gaismas pistole Raspberry PI: parasti Wii tālvadības pults, ko izmanto kā vieglu pistoli, nav pietiekami precīza retro spēlēm, piemēram, NES Duck Hunt, jo Wii tālvadības pults faktiski neizvēlas punktu televizorā, uz kuru tas ir norādīts. Tā nevar! Wii tālvadības pults priekšpusē ir infrasarkanā kamera
Temperatūras un mitruma kontrole, izmantojot Raspberry Pi: 6 soļi (ar attēliem)
Temperatūras un mitruma kontrole, izmantojot Raspberry Pi: Tuvojas vasara, un tiem, kuriem nav gaisa kondicionētāja, jābūt gataviem manuāli kontrolēt atmosfēru telpās. Šajā rakstā es aprakstīju mūsdienu veidu, kā izmērīt cilvēka komfortam svarīgākos parametrus: temperatūru un mitrumu. T
Temperatūras un mitruma kontrole, izmantojot SHT25 un Raspberry Pi: 5 soļi
Temperatūras un mitruma kontrole, izmantojot SHT25 un Raspberry Pi: Mēs nesen esam strādājuši pie dažādiem projektiem, kuriem bija nepieciešama temperatūras un mitruma kontrole, un tad mēs sapratām, ka šiem diviem parametriem faktiski ir izšķiroša nozīme, novērtējot sistēmas darba efektivitāti. Gan Indijā
Raspberry Pi kontrolēta istabas temperatūras kontrole ar Gnuplot attēla izvadi un e -pasta brīdinājuma iespēju: 7 soļi
Raspberry Pi kontrolēta istabas temperatūras kontrole ar Gnuplot attēla izvadi un e -pasta brīdinājuma iespējām: kur es strādāju, ir ļoti svarīga telpa, kurā ir daudz datoru. Šīs telpas apkārtējās vides temperatūrai jābūt ļoti vēsai, lai optimizētu šo sistēmu darbību. Man tika lūgts izveidot uzraudzības sistēmu, kas spēj