Taula de continguts:

Control de temperatura precís al Raspberry Pi 4: 3 passos
Control de temperatura precís al Raspberry Pi 4: 3 passos

Vídeo: Control de temperatura precís al Raspberry Pi 4: 3 passos

Vídeo: Control de temperatura precís al Raspberry Pi 4: 3 passos
Vídeo: 🛠️ TUTORIAL: BAJA LA TEMPERATURA DE TU RASPBERRY PI 4 gracias a una actualización de firmware 2024, Desembre
Anonim
Control de temperatura precís al Raspberry Pi 4
Control de temperatura precís al Raspberry Pi 4

El Pimoroni Fan Shim és una gran solució per reduir la temperatura del Pi quan s’escalfa. Fins i tot els fabricants proporcionen programari que activa el ventilador quan la temperatura de la CPU augmenta per sobre d’un determinat llindar (per exemple, 65 graus). La temperatura es redueix ràpidament per sota d’un llindar inferior i apaga el ventilador. Això és fantàstic, però fa que la temperatura pugi i baixi sota càrregues moderades i crea soroll audible del ventilador. Aquesta instrucció reduirà el soroll del ventilador mentre fixa la temperatura de la CPU a un valor específic mitjançant una cosa anomenada controlador PID. Els llindars més alts (per exemple, 65 graus) donaran lloc a un ventilador molt més tranquil, mentre que els llindars més baixos (per exemple, 50 graus) donaran lloc a un ventilador més fort, però amb un millor control de la temperatura.

L'exemple anterior mostra els meus resultats en executar el controlador PID i canviar la temperatura de destinació cada 500 segons. La precisió és de +/- 1 grau, amb una certa superació en canvis sobtats de temperatura.

És important destacar que aquesta prova es va dur a terme amb la mateixa càrrega durant el temps total de prova (veient BBC iPlayer).

Subministraments

  • Raspberry Pi 4
  • Pimoroni Fan Shim

Pas 1: configureu el ventilador

Configureu el vostre ventilador
Configureu el vostre ventilador

El primer pas és configurar el ventilador. El tutorial de Pimorini és fantàstic.

A continuació, obriu el terminal del vostre Pi (ctrl alt t)

I instal·leu el codi proporcionat per Pimoroni

git clone https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh

Pas 2: creeu un controlador PI (D)

Creeu un controlador PI (D)
Creeu un controlador PI (D)

Un controlador de derivades integrals proporcionals (PID) és un sistema que s’utilitza per controlar el valor d’un determinat procés (temperatura de la CPU) mitjançant la manipulació d’un dispositiu físic (velocitat del ventilador). Podem manipular la "velocitat" i el soroll del ventilador encenent-lo i apagant-lo periòdicament (modulació d'ona de pols). El temps durant el qual està activat en un període determinat (per exemple, 1 segon) determina la velocitat i la intensitat del ventilador (900 ms = fort i ràpid, 100 ms = silenciós i lent). Utilitzarem el PID per manipular la velocitat del ventilador i així controlar la temperatura.

Podem dividir l’ús d’un PID en diversos passos.

  1. Decidiu el valor de la variable de procés que voleu aconseguir (per exemple, temperatura de la CPU = 55). Això s’anomena el vostre punt de consigna.
  2. Calculeu l’error PID. Si el vostre valor de consigna és de 55 graus i la temperatura real és de 60 graus, el vostre error és de 5 graus (temperatura - valor de consigna)
  3. Canvieu el temps d'entrada del ventilador en proporció a l'error (els grans errors produeixen grans canvis en la velocitat del ventilador, els petits errors causen petits canvis en la velocitat del ventilador).
  4. Ajusteu el ventilador en propietat als valors passats (integral / suma de tots els errors anteriors)
  5. Opcionalment, ajusteu la velocitat del ventilador en funció de la velocitat de canvi de l'error (derivat), però aquí no ho farem

Ara que teniu la teoria, executeu el codi següent a l'ID Thonny (o algun altre IDE python). Canvieu el valor de "objectiu" al codi següent per canviar a quina temperatura voleu mantenir el vostre Pi. He definit els termes "P" i "I" en valors una mica arbitraris. No dubteu a ajustar-los si no us funcionen. fer més gran "P" significa que el controlador respondrà ràpidament a nous errors (però pot ser que no sigui estable). El canvi de "jo" farà que el controlador ponderi la seva resposta més als valors passats. No intentaria fer aquests termes massa grans, ja que canviar ràpidament la velocitat del ventilador no canviarà ràpidament la temperatura. A més, si feu un treball increïblement pesat al vostre Pi, és possible que no assoliu la temperatura desitjada (els límits del ventilador encara s’apliquen).

de fanshim importen FanShim

a partir de la importació de temps d'importació, importació de temps d'importació matemàtica # Retorna la temperatura de la CPU com una cadena de caràcters def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," ")) fanshim = FanShim () objectiu = 55 # temperatura desitjada (jugar amb això i veure què passa) període = 1 # període PWM activat =.1 # inicialitzar a 0 % cicle de treball desactivat = període de posició # inicialitzat a 0% cicle de treball P = 0,01 # proporcional Termini de guany (jugueu amb això i vegeu què passa) intErr = 0 # error integral I =.0001 # termini de guany intergral (jugueu amb aquest i veure què passa) mentre és True: # get temperaute temp = int (float (getCPUtemperature ())) # calculate error and smooth err = temp-target # compute lerror integra and constrain it intErr = intErr + err if intErr> 10: intErr = 10 if intErr = period: on = period off = 0 else: on = on off = period-on # estableix un cicle de treball mínim si està activat <.09: activat =.09 else: activat = activat # PWM al pin de fanshim si activat == període: fanshim.set_fan (True) dormir (activat) else: fanshim.set_fan (True) s leep (on) fanshim.set_fan (False) sleep (off)

Pas 3: executeu Control Script a l'inici

Executeu Control Script a l'inici
Executeu Control Script a l'inici

Podeu executar aquest script cada vegada que inicieu el pi o el podríeu activar automàticament en reiniciar. Això és molt senzill de fer amb crontab.

  1. obriu el terminal
  2. escriviu crontab-e al terminal
  3. afegiu la següent línia de codi al fitxer "@reboot python /home/pi/bootScripts/fanControl.py &"
  4. sortiu i reinicieu

He posat l'script (fanControl.py) en un floder anomenat bootScripts, però podeu posar-lo en qualsevol lloc, només heu d'assegurar-vos que especifiqueu el camí correcte al crontab.

Tot fet! Ara el ventilador controlarà la temperatura de la CPU fins a un valor específic, alhora que minimitzarà el soroll audible que produeix.

Recomanat: