Estou tentando escrever um programa de microcontrolador para controlar a temperatura em um sistema com as seguintes características:
- a saída só pode ser ligada ou desligada, com frequências de ciclo fixas (~ 2-10 por hora)
- A planta demora a responder (mudanças mensuráveis de temperatura demoram mais de 10 minutos).
- A planta perde a temperatura com base nas condições ambientais.
- o ponto de ajuste pode variar em grandes etapas com base na demanda do usuário.
Estou escrevendo um controlador que visa minimizar o erro, além de seguir a taxa de ciclo fornecida como entrada.
Isso pode ser feito facilmente com um controlador PI e sua saída é convertida no ciclo de trabalho. O problema é que o programa precisa ajustar automaticamente e escolher constantes Kp, Ki corretas e adaptar-se a condições ambientais variadas e mudanças na capacidade de aquecimento. Portanto, o ajuste antecipado do controlador PI não é muito útil.
Usar um PI ou PID real não é um requisito. Estou aberto a usar o Fuzzy-Logic, se ajudar, também possui um algoritmo de aprendizado de máquina no chip que modela a resposta do sistema e a perda de calor (aprox. Linear), o que sugere informações sobre a resposta da etapa medida . Só não sei o que fazer com essa informação.
Algumas postagens sugerem que eu poderia usar os dados de modelagem para ajustar o PI on-line, bem como o manual de visualização em laboratório que sugere que eu poderia usar o Fuzzy-Logic para ajustar o PI.
Minha pergunta é: qual é a melhor abordagem para esse tipo de cenário (por exemplo, PID, difuso-pid, convolução etc.) e como eu iria implementá-lo de fato no software / prática.
Eu não sou um EE, então qualquer entrada seria muito apreciada.