Solo estoy agregando mi valor de 2 centavos a las buenas respuestas.
El uso práctico de PID para el control de la temperatura a menudo tiene comportamientos no lineales si la detección del error de temperatura es limitada (la salida de la saturación de la ganancia del amplificador operacional) y la potencia disponible para controlar la temperatura es fija.
Considere un controlador on-off. El sistema tendrá una latencia desde el momento en que se aplica calor y se detecta un cambio en la temperatura. En este bucle no PID, esta latencia crea un bucle inestable que oscila y, si existe alguna histéresis, la potencia se activa con ruido (encendido-apagado-encendido) Sin embargo, una ganancia muy alta (como un comparador) produce un pequeño error de temperatura residual. La latencia afecta el tiempo de ciclo y el rebasamiento.
Si hubo una perturbación externa, como una lámpara del tanque, que puede agregar un calor significativo, el regulador del calentador debe responder tan pronto como se detecte un aumento de temperatura por el calor de la lámpara. Si su lámpara no es parte del bucle PID, entonces no puede "anticipar" el efecto (ganancia de retroalimentación derivada) Obviamente, si las lámparas generan demasiado calor, entonces la temperatura no puede ser regulada y excederá el punto de ajuste.
Es posible que su control de calor con control PID tenga que tener una entrada para el estado del interruptor de la lámpara y el control de salida para regular la potencia de la luz como una fuente secundaria de calor, nuevamente si es demasiado.
La definición de sus requisitos de error de control absoluto,% de sobrecarga y tiempo de respuesta son algunas entradas de diseño necesarias para optimizar su bucle PID. Igualmente importante es definir las perturbaciones de su sistema e incluirlas en su sistema de control para entrada y salida. p.ej. Potencia térmica de la lámpara y elección de sensor (es) y ubicación.
Experiencia aparte.
Mi primera experiencia con un calentador de agua fue durante la era de la cama de agua de los años 70 cuando era estudiante. Diseñé mi propio controlador de temperatura utilizando un termistor, un circuito de control y un interruptor triac de cruce de cero hacia el calentador. Comencé con el control comparativo y encontré una respuesta inusual al saltar en la cama. Así que agregué control proporcional usando ruido sin filtrar en el sensor para darme "ciclos faltantes" proporcionales cuando el triac ZCS estaba ENCENDIDO cerca del umbral. Pude regular la temperatura dentro de 0.1'C La respuesta fue más suave pero el resultado fue el mismo.
Encontré que el error más grande estaba en la ubicación y pequeños cambios en la presión del agua en el sensor. (Yo era pequeño, solo 185 lb, pero en un lecho de agua de 2000 lb; un 10% de cambio en la presión del agua era muy pequeño)
La resistencia térmica entre el sensor y la cama de agua creó un pequeño error de compensación dependiendo de la presión del agua contra el sensor. En el escenario de su tanque de agua, el error del sensor podría ser afectado por el tamaño del tanque y la distancia entre el sensor y el calentador o sensor y la superficie más alejada del agua o la tasa de flujo de agua o burbujas entre el sensor y el calentador.
En mi caso, cada vez que saltaba a la cama, la resistencia térmica disminuía ligeramente debido a la presión agregada y la luz de encendido brillaba con intensidad durante un minuto o dos hasta que la temperatura bajara una décima de grado o para igualar el aumento de temperatura aparente del peso adicional y presión de la cama de agua contra el termostato.
(Lección aprendida. No descuide las fuentes de distracciones y sus efectos en el error del sistema de control)