banner
Hogar / Blog / Abierto
Blog

Abierto

Jun 03, 2023Jun 03, 2023

[Nathan Petersen] construyó un termostato de código abierto pirateable para suavizar las fluctuaciones de temperatura causadas por la gran histéresis del termostato de tira bimetálica de su apartamento. Si bien puede ser tentador ajustar el “anticipador” para solucionar el problema o incluso reemplazar el termostato bimetálico con una versión electrónica, construir tu propio termostato desde cero es una buena manera de agregar a tu cartera de proyectos mientras avanzas en la universidad. . Además, pudo perfeccionar sus habilidades de diseño de hardware y software.

El hardware está diseñado alrededor del STM32, utilizando una variante mínima y económica, ya que el dispositivo solo necesita detectar la temperatura y controlar el horno en modo encendido-apagado. Se seleccionó el sensor de temperatura TMP117 de alta precisión y bajo consumo para medir la temperatura, ya que la precisión era una característica esencial del proyecto. La salida de contacto seco para el horno se realiza a través de un relé de estado sólido normalmente abierto (optoaislador). Para la interfaz de usuario, en lugar de seguir el camino fácil y usar una pantalla OLED o LCD I2C/SPI, [Nathan] usó tres pantallas LED de 7 segmentos, cada una impulsada por un controlador de corriente constante de 8 canales. La ventaja es que la pantalla se puede ver desde el otro lado de la habitación y su brillo se ajusta mediante PWM. El ajuste del punto de ajuste de temperatura se realiza mediante un simple potenciómetro deslizante, cuyo voltaje analógico es leído por el microcontrolador ADC. Para recordar el reemplazo de la batería, un segundo canal ADC en el microcontrolador monitorea el voltaje de la batería a través de un divisor de voltaje. Los componentes de PCB son en su mayoría de montaje superficial, pero los paquetes seleccionados son bastante fáciles de soldar manualmente.

[Nathan] El repositorio de Github proporciona los archivos fuente de hardware y firmware. La placa está diseñada en Altium, pero las personas que usan KiCad pueden usar el increíble conversor Altium2KiCad o el servicio en línea para la conversión. (Los resultados, con algunos errores menores que pueden corregirse fácilmente, son bastante utilizables). Por casualidad, el diseño de su PCB funcionó de maravilla la primera vez, sin necesidad de reelaboración ni cables complicados.

El firmware consta de unos cientos de líneas de código C básico personalizado, que consta de controladores para interactuar con los periféricos de hardware, una sección de interfaz de usuario para manejar la interfaz de usuario y la sección de control con el algoritmo para ejecutar el horno. [Nathan] nos guía a través de su código, profundizando en algunas teorías de control y conceptos básicos de filtrado. Después de realizar algunos ajustes en el código y hacer funcionar el termostato durante algún tiempo, [Nathan] concluye que es capaz de lograr una regulación de temperatura de +0,1°F / -0,5°F con ciclos de horno que duran entre 10 y 15 minutos (es decir, 4-6 ciclos por hora). Obviamente, su apartamento bien aislado y una calefacción decente también son factores importantes que contribuyen. Continuando, para la próxima versión, [Nathan] quiere agregar capacidades de recopilación de datos agregando algo de memoria y almacenamiento en tarjeta SD, y usar RTC para permitir ajustes estacionales o puntos de ajuste basados ​​en el tiempo.

Este es su primer intento en un proyecto útil "funcional", pero le encanta construir algún juguete ocasional, como este POV Top.