collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Controlador PI para termostato  (Lida 3228 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline zepedro

  • Mini Robot
  • *
  • Mensagens: 17
Controlador PI para termostato
« em: 23 de Abril de 2013, 23:49 »
Estou a construir um termostato com um sensor de temperatura e uma lâmpada que é "dimmada" através de triacs. Tudo isto é controlado por um ATMega168.

Apesar de já ter estudado o conceito dum controlador PI (ou PID), estou com uma dificuldade em implementa-lo no que toca à escolha dos ganhos kP e kI...

O nível de dimming na lampada vai de 0 a 95, no entanto não faço a mínima ideia que ganho hei-de colocar na parte do P para começar a testar o sistema. Ainda por cima a resposta do sistema é tão lenta que é difícil eu perceber se vai haver oscilação ou overshoot.

Um setting time de 1 ou 2 minutos é suficiente porque o sistema não vai controlar nada crítico.

Podem-me dar algum concelho de por onde devo começar?

Offline tucandroid

  • Mini Robot
  • *
  • Mensagens: 31
Re: Controlador PI para termostato
« Responder #1 em: 24 de Abril de 2013, 00:18 »
viva novamente,

o que falas da-me a entender que vais usar uma "incubadora" certo?
(acho que nao é este o nome, mas pronto)

usando a lampada para aquecer o interior é isso?

em relaçao ao resto nao te posso ajudar muito, mas caso seja isto, embora tambem goste de ver as coisas feitas por mim, penso que nesse caso, ha maneira mais simples de fazer isso.

afirmo novamente, PENSO, nao tenho a certeza. :)

no que te puder ajudar visto eu ser de gaia, podes apitar. :)


Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Controlador PI para termostato
« Responder #2 em: 28 de Abril de 2013, 15:08 »
Também fiz uma coisa desse género.
Dá uma vista de olhos na biblioteca PID autotune para Arduino:
http://brettbeauregard.com/blog/2012/01/arduino-pid-autotune-library/
Os valores obtidos podem não ser óptimos mas já dá uma ideia.

Para fazer isso manualmente, podes ler umas coisas na Wikipedia:
http://en.wikipedia.org/wiki/PID_controller#Loop_tuning

Offline zepedro

  • Mini Robot
  • *
  • Mensagens: 17
Re: Controlador PI para termostato
« Responder #3 em: 29 de Abril de 2013, 16:08 »
Eu já estive a ler e continuo com dificuldades. Eu estou a actuar numa lampada que recebe um valor de dimming de 0 a 100. As temperaturas são lidas por um sensor e o erro é calculado na escala dos 0.1 graus (ou seja 0.1 de diferença de temperatura é igual a um erro de 1).

Quando meto um kp entre 1 e 4 a lampada nunca atinge as temperatura que quero porque nunca tem potencia para isso. Mas se meto maior está sempre a ir ao limite e aquecer demais.

Ao adicionar a componente ki devia resolver isto, mas não sei quanto dar ao valor e de quanto em quanto tempo é que devo somar mais erro, porque se tiver um erro muito grande ele vai fazer com que a componente I seja gigante e fica tudo desregulado... :\

Offline Pedrock

  • Mini Robot
  • *
  • Mensagens: 279
Re: Controlador PI para termostato
« Responder #4 em: 29 de Abril de 2013, 16:24 »
Com um valor de P correcto, nunca atinges a temperatura ideal. Tens que adicionar I. Vai aumentando deste 0. Baixo demais e demora muito a atingir a temperatura correcta. Alto demais e há oscilação.
Estás a usar arduino? Vê esta front-end para Processing:
http://brettbeauregard.com/blog/2009/05/graphical-front-end-for-the-arduino-pid-library/
Podes alterar os valores do PID, que são enviados para o Arduino, e podes ver o gráfico da temperatura.
Vê este projecto para um sous vide, têm alguma informação simples de como fazer o tuning:
http://www.flashingleds.net/sousvader/sousvader.html

Ao adicionar a componente ki devia resolver isto, mas não sei quanto dar ao valor e de quanto em quanto tempo é que devo somar mais erro, porque se tiver um erro muito grande ele vai fazer com que a componente I seja gigante e fica tudo desregulado... :\
Penso que o melhor é só fazer os cálculos PID quando lês o sensor de temperatura, por exemplo, de 0.1s em 0.1s. O I depende deste intervalo de tempo.
« Última modificação: 29 de Abril de 2013, 16:29 por Pedrock »