Apenas adicionando meus 2 centavos às boas respostas já.
O uso prático do PID para controle de temperatura geralmente possui comportamentos não lineares se a detecção de erro de temperatura é limitada (o ganho do amplificador operacional satura a saída) e a energia disponível para controlar a temperatura é fixa.
Considere um controlador on-off. O sistema terá latência a partir do momento em que o calor é aplicado e uma mudança na temperatura é detectada. Sem loop PID, essa latência cria um loop instável oscilando e, se houver histerelas, a energia alterna com ruído (On-Off-On). Entretanto, um ganho muito alto (como um comparador) resulta em um pequeno erro de temperatura residual. A latência afeta o tempo do ciclo e o excesso.
Se houver uma perturbação externa, como uma lâmpada do tanque, que possa adicionar calor significativo, o regulador do aquecedor deverá responder assim que um aumento de temperatura for detectado pelo calor da lâmpada. Se o swith da lâmpada não fizer parte do loop PID, ele não poderá "antecipar" o efeito (ganho derivado de feedback). Obviamente, se as lâmpadas gerarem muito calor, a temperatura não poderá ser regulada e excederá o ponto de ajuste.
Seu controle de calor com controle PID pode precisar de uma entrada para o estado do interruptor da lâmpada e controle de saída para regular a energia da luz como fonte secundária de calor, novamente se for demais.
Definindo seus requisitos para erro de controle absoluto,% de ultrapassagem e tempo de resposta são algumas entradas de design necessárias para otimizar seu loop PID. Igualmente importante é definir os distúrbios do sistema e incluí-los no sistema de controle de entrada e saída. por exemplo. Potência de aquecimento da lâmpada e escolha do (s) sensor (es) e localização.
Além da experiência.
Minha primeira experiência com aquecedor de água foi durante a era do leito aquático dos anos 70, quando eu era estudante, projetei meu próprio controlador de temperatura usando um termistor, circuito de controle e um interruptor triac de cruzamento zero para o aquecedor. Comecei com o controle do comparador e encontrei uma resposta incomum ao pular na cama. Por isso, adicionei controle proporcional usando ruído não filtrado no sensor para fornecer "ciclos perdidos" proporcionais quando o triac do ZCS estava ligado próximo ao limite. Eu poderia regular a temperatura dentro de 0,1 ° C. A resposta foi mais suave, mas o resultado foi o mesmo.
Descobri que o maior erro ocorreu no local e pequenas alterações na pressão da água no sensor. (Eu era pequeno na época, apenas 185 libras, mas em uma cama de água de 2000 libras <mudança de 10% na pressão da água era pequena)
A resistência térmica entre o sensor e o leito da água criou um pequeno erro de deslocamento, dependendo da pressão da água contra o sensor. No cenário do tanque de água, o erro do sensor pode ser afetado pelo tamanho do tanque e pela distância entre o sensor e o aquecedor ou o sensor e a superfície mais distante da água ou a taxa de fluxo ou bolhas de água entre o sensor e o aquecedor.
No meu caso, sempre que eu pulava na cama, a resistência térmica diminuía levemente devido à pressão adicionada e a luz de potência brilhava mais fraca por um minuto ou dois até que a temperatura caísse um décimo de grau ou para coincidir com o aumento aparente da temperatura devido a peso e pressão adicionais. o colchão de água contra o termostato.
(Lição aprendida. Não negligencie as fontes de distúrbios e seus efeitos no erro do sistema de controle)