Solo agrego mis 2 centavos de valor a las buenas respuestas ya.
El uso práctico de PID para el control de temperatura a menudo tiene comportamientos no lineales si la detección del error de temperatura es limitada (la ganancia del amplificador operacional satura la salida) y la potencia disponible para controlar la temperatura es fija.
Considere un controlador de encendido y apagado. El sistema tendrá latencia desde el momento en que se aplica calor y se detecta un cambio de temperatura. Sin lazo PID, esta latencia crea un bucle inestable que oscila y, si hay histéresis, la potencia se enciende 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 del ciclo y el exceso.
Si hubo una perturbación externa como una lámpara del tanque que puede agregar calor significativo, entonces 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 Swith no es parte del circuito 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.
Su control de calor con control PID puede tener 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 fuente secundaria de calor, nuevamente si es demasiado.
La definición de sus requisitos de error de control absoluto,% de sobreimpulso 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 de calor de la lámpara y elección de sensor (es) y ubicación.
Aparte de la experiencia.
Mi primera experiencia con un calentador de agua fue durante la era del lecho de agua de los años 70, cuando era estudiante, diseñé mi propio controlador de temperatura usando un termistor, un circuito de control y un interruptor triac de cruce cero al calentador. Comencé con el control de comparación 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. (Era pequeño entonces, solo 185 libras pero en un lecho de agua de 2000 lb <10% el cambio en la presión del agua era 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 verse afectado por el tamaño del tanque y la distancia entre el sensor y el calentador o el sensor y la superficie más alejada del agua o la velocidad del flujo de agua o las 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 adicional y la luz de encendido brillaba más tenue durante un minuto o dos hasta que la temperatura caía una décima de grado o para igualar el aumento aparente de temperatura del peso y la presión adicionales de la cama de agua contra el termostato.
(Lección aprendida. No descuidar las fuentes de perturbaciones y sus efectos sobre el error del sistema de control)