Obsah:
- Zásoby
- Krok 1: Nastavte si ventilátor
- Krok 2: Vytvorte ovládač PI (D)
- Krok 3: Spustite ovládací skript pri spustení
Video: Presné ovládanie teploty na krokoch Raspberry Pi 4: 3
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Pimoroni Fan Shim je skvelým riešením na zníženie teploty vášho Pi, keď je horúci. Výrobcovia dokonca poskytujú softvér, ktorý spúšťa ventilátor, keď teplota procesora stúpne nad určitú prahovú hodnotu (napr. 65 stupňov). Teplota sa rýchlo zníži pod dolnú prahovú hodnotu a vypne ventilátor. Je to skvelé, ale teplota pri miernom zaťažení stúpa a klesá a vytvára počuteľný hluk ventilátora. Tento pokyn zníži hluk ventilátora pri fixácii teploty CPU na konkrétnu hodnotu pomocou niečoho, čo sa nazýva PID regulátor. Vyššie prahy (napr. 65 stupňov) budú mať za následok oveľa tichší ventilátor, zatiaľ čo nižšie prahové hodnoty (napr. 50 stupňov) budú mať za následok hlasnejší ventilátor, ale lepšiu kontrolu teploty.
Vyššie uvedený príklad ukazuje moje výsledky zo spustenia PID regulátora a zmeny cieľovej teploty každých 500 sekúnd. Presnosť je +/- 1 stupeň s určitým prekročením pri náhlych zmenách teploty.
Čo je dôležité, tento test bol vykonaný pri rovnakom zaťažení po celý čas testu (sledovanie BBC iPlayer).
Zásoby
- Raspberry Pi 4
- Pimoroni Fan Shim
Krok 1: Nastavte si ventilátor
Prvým krokom je nastavenie ventilátora. Výučba Pimorini je skvelá!
Potom otvorte terminál na svojom Pi (ctrl alt t)
A nainštalujte kód poskytovaný spoločnosťou Pimoroni
git klon https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
Krok 2: Vytvorte ovládač PI (D)
Proporcionálny integrálny derivát (PID) je systém, ktorý sa používa na riadenie hodnoty určitého procesu (teplota CPU) manipuláciou s nejakým fyzickým zariadením (rýchlosť ventilátora). „Rýchlosťou“a hlukom ventilátora môžeme manipulovať pravidelným zapínaním a vypínaním (modulácia pulznou vlnou). Doba, počas ktorej je zapnutý v danom období (napr. 1 sekunda), určuje, ako rýchly a hlasný je ventilátor (900 ms = hlasný a rýchly, 100 ms = tichý a pomalý). PID budeme používať na manipuláciu s otáčkami ventilátora a tým na ovládanie teploty.
Použitie PID môžeme rozdeliť na niekoľko krokov.
- Rozhodnite sa pre hodnotu procesnej premennej, ktorú chcete dosiahnuť (napr. Teplota CPU = 55). Toto sa nazýva vaša požadovaná hodnota.
- Vypočítajte chybu PID. Ak je vaša požadovaná hodnota 55 stupňov a skutočná teplota 60 stupňov, vaša chyba je 5 stupňov (teplota - požadovaná hodnota)
- Zmeňte dobu zapnutia ventilátora v pomere k chybe (Veľké chyby majú za následok veľké zmeny rýchlosti ventilátora, malé chyby spôsobujú malé zmeny rýchlosti ventilátora).
- Upravte ventilátor v pomere k predchádzajúcim hodnotám (integrál/súčet všetkých predchádzajúcich chýb)
- Voliteľne môžete nastaviť rýchlosť ventilátora na základe rýchlosti zmeny chyby (odvodenej), ale tu to neurobíme
Teraz, keď máte teóriu, spustite nižšie uvedený kód v Thonny IDE (alebo v inom python IDE). Zmeňte hodnotu „cieľa“v nižšie uvedenom kóde a zmeňte teplotu, na ktorej chcete udržiavať svoje Pi. Nastavil som termíny 'P' a 'I' na trochu ľubovoľné hodnoty. Ak vám nefungujú, pokojne ich upravte. zväčšenie „P“znamená, že regulátor bude rýchlo reagovať na nové chyby (ale nemusí byť stabilný). Zmena „I“spôsobí, že regulátor váži svoju reakciu na predchádzajúce hodnoty. Nesnažil by som sa, aby boli tieto výrazy príliš veľké, pretože rýchla zmena rýchlosti ventilátora rýchlo nezmení teplotu. Tiež, ak robíte na svojom Pi neskutočne ťažkú prácu, možno nedosiahnete požadovanú teplotu (limity ventilátora stále platia).
od fanshim importovať FanShim
z času importu spánku, importu času os importu matematiky # Vrátiť teplotu CPU ako reťazec znakov def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," "))) fanshim = FanShim () cieľ = 55 # požadovaná teplota (pohrajte sa s tým a uvidíte, čo sa stane) obdobie = 1 # perióda PWM zapnutá =.1 # inicializácia na 0 % pracovného cyklu vypnuté = perióda zapnutia # inicializácia na 0% pracovný cyklus P = 0,01 # proporcionálne Zisk (s týmto sa pohrajte a uvidíte, čo sa stane) intErr = 0 # integrálna chyba I =, 0001 # medziregulačný zisk (s týmto a uvidíme, čo sa stane), zatiaľ čo True: # get temperaute temp = int (float (getCPUtemperature ())) # vypočítať chybu a vyhladiť err = temp-target # vypočítať integračnú chybu a obmedziť ju intErr = intErr+err, ak intErr> 10: intErr = 10 if intErr = perioda: on = period off = 0 else: on = on off = period-on # set minimum minimum cycle if on <0,09: on =.09 else: on = on # PWM on the fanshim pin if if zapnuté == bodka: fanshim.set_fan (True) spánok (zapnutý) else: fanshim.set_fan (True) s leep (zapnutý) fanshim.set_fan (falošný) spánok (vypnutý)
Krok 3: Spustite ovládací skript pri spustení
Tento skript môžete spustiť vždy, keď spustíte svoje pi, alebo ho môžete nechať automaticky spustiť pri reštarte. S crontabom je to veľmi jednoduché.
- otvor terminál
- zadajte do terminálu crontab-e
- pridajte nasledujúci riadok kódu do súboru „@reboot python /home/pi/bootScripts/fanControl.py &“
- ukončiť a reštartovať
Vložil som skript (fanControl.py) do priečinka s názvom bootScripts, ale môžete ho vložiť kdekoľvek, len sa uistite, že v crontab zadáte správnu cestu.
Všetko hotové! Teraz bude váš ventilátor ovládať teplotu vášho procesora na konkrétnu hodnotu a zároveň minimalizovať počuteľný hluk, ktorý vytvára.
Odporúča:
GPSDO YT, disciplinovaný oscilátor, referenčná frekvencia 10 MHz. Nízke náklady. Presné .: 3 kroky
GPSDO YT, disciplinovaný oscilátor, referenčná frekvencia 10 MHz. Nízke náklady. Presné .: ************************************* ******************************* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP Toto je zastaraný projekt. Namiesto toho skontrolujte moju nová verzia displeja 2x16 lcd je k dispozícii tu: https: //www.instructables.com/id
Presné počítadlo predplatiteľov YouTube: 4 kroky
Presné počítadlo predplatiteľov YouTube: Na tento projekt som sa začal pripravovať zhruba pred mesiacom, ale potom ma vykoľajil YouTube, keď oznámili, že už nebudú poskytovať skutočný počet predplatiteľov, ale najbližšie zaokrúhlené číslo. V súčasnej dobe to nie je problém pre
Ovládanie jasu Ovládanie LED na báze PWM pomocou tlačidiel, Raspberry Pi a Scratch: 8 krokov (s obrázkami)
Ovládanie jasu Ovládanie LED na základe PWM pomocou tlačidiel, Raspberry Pi a Scratch: Snažil som sa nájsť spôsob, ako vysvetliť, ako PWM funguje u mojich študentov, a tak som si dal za úlohu pokúsiť sa ovládať jas LED pomocou dvoch tlačidiel. - jedno tlačidlo zvyšuje jas LED diódy a druhé ju stmieva. Programovať
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Diaľkové ovládanie v krokoch 944: 4
Diaľkové ovládanie v modeli 944: Tu uvádzam, ako nainštalovať diaľkové ovládanie pre iPod s konektorom v doku v modeli Porsche 944 (2. gen., Tie s oválnym prístrojovým panelom. IPod je pripojený k vysielaču FM a skrytý (keď je auto) v stredovej lakťovej opierke. Moja žena nemá rada všetku hudbu, ktorá sa mi páči, tj