Paso 5: Ajuste el lazo de regeneración
Fin del bucle de retroalimentación es mantener la temperatura estable en algún punto. Muchos termostatos utilizan una rutina proporcional-Integral-derivado (PID) para ello. La idea detrás de esto se explica en este video de Youtube.
Aunque un termostato ajustado no puede ser inestable (oscilaciones de la temperatura), si no estás en sintonía la cosa, mi configuración por defecto (Kp, Ki y Kd en el sketch) podría trabajar para usted, y todo lo que tienes que hacer es elegir el parámetro "WindowSize", que es la cantidad de tiempo entre el arduino "decisiones" para cambiar la energía de la calefacción. El WindowSize debe reflejar el tiempo típico que toma de la temperatura a la cambio debido a un cambio en la energía de la calefacción. Elija un WindowSize grande si los sensores de temperatura están muy lejos de la estufa, o un valor pequeño de lo contrario.
Tengo el calentador y los sensores colocados en la misma tabla ~ 30 cm aparte, así que opté por un segundo 4 WindowSize.
Si usted siente la necesidad de ajustar los parámetros de PID para una estabilidad más alta / más rápido tiempo de arranque, puede resultarle útil este enlace .
La figura derecha muestra un ejemplo de una secuencia de calentamiento de 9° C, donde la energía de la calefacción (línea naranja) es 100% para unos 9 minutos, a continuación, error de la temperatura, que es el desplazamiento desde el punto de ajuste bien estabiliza (línea azul) en la gama del ° C ±0. 3 alrededor del punto. La principal causa de inestabilidad es el cactus A2D, que puede leer los sensores de temperatura con un (3.3 V / 10 mV / ° C) / 1024 = 0,3 ° C de resolución, que está bien para el uso casero.
La trama de la izquierda muestra las diferencias entre el LM35 y los sensores TMP36. Encontré el sensor TMP36 algo más estable, y te recomiendo tener más de un sensor que se suma cierta robustez al dispositivo.