Tabla de contenido:
- Suministros
- Paso 1: configura tu ventilador
- Paso 2: Cree un controlador PI (D)
- Paso 3: Ejecute el script de control al inicio
Video: Control de temperatura preciso en Raspberry Pi 4: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
El Pimoroni Fan Shim es una gran solución para reducir la temperatura de su Pi cuando se calienta. Los fabricantes incluso proporcionan software que activa el ventilador cuando la temperatura de la CPU sube por encima de un cierto umbral (por ejemplo, 65 grados). La temperatura se reduce rápidamente por debajo de un umbral más bajo y apaga el ventilador. Esto es genial, pero hace que la temperatura suba y baje bajo cargas moderadas y crea un ruido audible en el ventilador. Este instructable reducirá el ruido del ventilador mientras fija la temperatura de la CPU a un valor específico usando algo llamado controlador PID. Los umbrales más altos (por ejemplo, 65 grados) darán como resultado un ventilador mucho más silencioso, mientras que los umbrales más bajos (por ejemplo, 50 grados) darán como resultado un ventilador más ruidoso pero un mejor control de la temperatura.
El ejemplo anterior muestra mis resultados de ejecutar el controlador PID y cambiar la temperatura objetivo cada 500 segundos. La precisión es de +/- 1 grado con algo de sobreimpulso en cambios repentinos de temperatura.
Es importante destacar que esta prueba se realizó con la misma carga durante el tiempo total de la prueba (viendo BBC iPlayer).
Suministros
- Frambuesa pi 4
- Cuña de ventilador Pimoroni
Paso 1: configura tu ventilador
El primer paso es configurar su ventilador. ¡El tutorial de Pimorini es genial!
Luego abre la terminal en tu Pi (ctrl alt t)
E instala el código proporcionado por Pimoroni
clon de git https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
Paso 2: Cree un controlador PI (D)
Un controlador proporcional integral derivado (PID) es un sistema que se utiliza para controlar el valor de un determinado proceso (temperatura de la CPU) mediante la manipulación de algún dispositivo físico (velocidad del ventilador). Podemos manipular la 'velocidad' y el ruido del ventilador encendiéndolo y apagándolo periódicamente (Modulación de onda de pulso). El tiempo que está encendido en un período determinado (por ejemplo, 1 segundo) determina qué tan rápido y qué tan fuerte es el ventilador (900ms = alto y rápido, 100ms = silencioso y lento). Usaremos el PID para manipular la velocidad del ventilador y así controlar la temperatura.
Podemos dividir el uso de un PID en varios pasos.
- Decida el valor de la variable de proceso que desea alcanzar (por ejemplo, temperatura de la CPU = 55). A esto se le llama su punto de ajuste.
- Calcule el error PID. Si su punto de ajuste es de 55 grados y la temperatura real es de 60 grados, su error es de 5 grados (Temperatura - punto de ajuste)
- Cambie el tiempo de encendido del ventilador en proporción al error (los errores grandes dan como resultado grandes cambios en la velocidad del ventilador, los errores pequeños provocan pequeños cambios en la velocidad del ventilador).
- Ajuste el ventilador en función de los valores pasados (integral / suma de todos los errores anteriores)
- Opcionalmente, ajusta la velocidad del ventilador en función de la tasa de cambio del error (derivada), pero no lo haremos aquí.
Ahora que tiene la teoría, ejecute el siguiente código en el IDE de Thonny (o en algún otro IDE de Python). Cambie el valor de 'objetivo' en el código a continuación para cambiar la temperatura en la que desea mantener su Pi. Establecí los términos 'P' e 'I' en valores algo arbitrarios. Siéntase libre de ajustarlos si no le funcionan. hacer 'P' más grande significa que el controlador responderá rápidamente a nuevos errores (pero puede que no sea estable). Cambiar 'I' hará que el controlador sopese su respuesta más a los valores pasados. No trataría de hacer estos términos demasiado grandes, ya que cambiar rápidamente la velocidad del ventilador no cambiará rápidamente la temperatura. Además, si está haciendo un trabajo increíblemente pesado en su Pi, es posible que no logre la temperatura deseada (los límites del ventilador aún se aplican).
de fanshim importar FanShim
from time import sleep, time import os import math # Devuelve la temperatura de la CPU como una cadena de caracteres def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," ")) fanshim = FanShim () target = 55 # temperatura deseada (juega con esto y mira qué sucede) period = 1 # PWM period on =.1 # inicializa a 0 % ciclo de trabajo apagado = período encendido # inicialización a 0% ciclo de trabajo P =.01 # Término de ganancia proporcional (juegue con esto y vea qué sucede) intErr = 0 # error integral I =.0001 # término de ganancia integral (juegue con esto y ver qué sucede) while True: # get temperaute temp = int (float (getCPUtemperature ())) # calcular el error y suavizar err = temp-target # calcular el error de integración y restringirlo intErr = intErr + err if intErr> 10: intErr = 10 if intErr = period: on = period off = 0 else: on = on off = period-on # establecer ciclo de trabajo mínimo si está activado <.09: on =.09 else: on = on # PWM en el pin del ventilador si on == period: fanshim.set_fan (True) sleep (on) else: fanshim.set_fan (True) s leep (encendido) fanshim.set_fan (falso) dormir (apagado)
Paso 3: Ejecute el script de control al inicio
Puede ejecutar este script cada vez que inicie su pi o puede hacer que se active automáticamente al reiniciar. Esto es muy sencillo de hacer con crontab.
- abre la terminal
- escribe crontab-e en la terminal
- agregue la siguiente línea de código al archivo '@reboot python /home/pi/bootScripts/fanControl.py &'
- salir y reiniciar
Puse el script (fanControl.py) en un floder llamado bootScripts pero puedes ponerlo en cualquier lugar, solo asegúrate de especificar la ruta correcta en crontab.
¡Todo listo! Ahora su ventilador controlará la temperatura de su CPU a un valor específico, mientras minimiza el ruido audible que produce.
Recomendado:
Voltímetro preciso con pantalla de tinta electrónica Waveshare (0-90v CC) con Arduino Nano: 3 pasos
Voltímetro preciso de pantalla de tinta electrónica Waveshare (0-90v CC) con Arduino Nano: en este Instructable, uso una pantalla de papel electrónico Waveshare de 2.9 '' con un Arduino Nano, un divisor de voltaje y un ADS1115 para mostrar voltajes precisos de hasta 90 voltios DC en el E-Paper Display. Este instructable combina estos dos proyectos anteriores: - Ardui
Voltímetro preciso y exacto de Arduino (0-90 V CC): 3 pasos
Voltímetro preciso y exacto de Arduino (0-90V DC): en este instructable, he construido un voltímetro para medir altos voltajes DC (0-90v) con relativa precisión y exactitud usando un Arduino Nano. Las medidas de prueba que tomé fueron lo suficientemente precisas, en su mayoría dentro de 0.3v del voltaje real medido con un
GPSDO YT, Oscilador disciplinado 10Mhz Frecuencia de referencia. Bajo costo. Preciso .: 3 pasos
GPSDO YT, Oscilador disciplinado 10Mhz Frecuencia de referencia. Bajo costo. Preciso.: *********************************************** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STOP * nueva versión de pantalla lcd 2x16 disponible aquí: https: //www.instructables.com/id
Contador de suscriptores de YouTube preciso: 4 pasos
Contador de suscriptores de YouTube preciso: comencé a prepararme para este proyecto hace aproximadamente un mes, pero luego YouTube me descarriló cuando anunciaron que ya no proporcionarán el recuento real de suscriptores, sino el número redondeado más cercano. Por el momento, eso no es realmente un problema para
Un modelo preciso de una estrella variable cefeida: 5 pasos (con imágenes)
Un modelo preciso de una estrella variable cefeida: el espacio es grande. Muy grande. Astronómicamente, incluso se podría decir. Eso no tiene nada que ver con este proyecto, solo quería usar el juego de palabras. No es de extrañar que haya muchas estrellas en el cielo nocturno. Sin embargo, puede sorprender a algunos que son nuevos en la zona