PID

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

PID

Mensagempor veioloko » 14 Nov 2006 08:24

Alguem tem alguma rotina ou ideia de como fazer um controle PID?
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor JeanPaul » 14 Nov 2006 10:42

Olá,

Para construir um controle PID, é preciso modelar o sistema que você deseja controlar. Para que o controlador PID venha a ter um bom desempenho, é necessário que ele seja "sintonizado" com base no seu sistema.

Modelando o sistema, você vai poder dimensionar as constantes do controlador (proporcinal, integral e derivativa), e até verificar como ficou a estabilidade e a resposta do sistema antes e depois de adicionar o controlador. Derepente nem é necessário implementar um controle PID, talvez um PI já resolva. Mas você só vai saber isso com a modelagem.

Que tipo sistema você pretende controlar???

Uma boa referência nesse assunto é o livro : Modern Control Technology - Components and Systems. Em português tem o livro do Ogata que também é muito bom.

Abraço

Jean Paul.
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor veioloko » 14 Nov 2006 12:27

Olá!

Seria um controle de temperatura na faixa de uns 70 a 140 ºC.
Usaria um PT100 e um microcontrolador MSC1200 da texas.

O principal problema esta sendo como achar estas tais constantes e como fazer um software PID bom. Pois PID seria todo via software correto? Uma vez que so teria a leitura de temperatura como entrada e como saida um sinal on/off que ligaria e desligaria o sistema.

Achei diversos softwares na internet mas ta meio complicado. Partir do mais dificil é dificil.
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor JeanPaul » 14 Nov 2006 16:27

O controle pode ser todo feito por soft sim.

Nunca trabalhei com PID para sistemas de controle de temperatura.
Mas acredito que este tipo de sistema é fácil de ser modelado, pois geralmente são sistemas sub-amortecidos e de resposta lenta.
Depois que vc tiver a resposta do sistema, fica fácil encontrar as tais constantes.

Pegar os softs da net não sei se vai ajudar muito. Cada sistema vai ter um controlador com constantes diferentes.

Da uma olhada no AN964 da Microchip. Eles mostram como fizeram o controle de um pendulo invertido usando um PIC. Lá explicam como implementar o controlador de forma digital.
Não sei se explicam como encontrar as constantes, pois não li ele por inteiro.

Vou dar uma olhada no que encontro por aqui sobre PID's. Se encontrar alguma coisa te mando.

Qualquer dúvida posta aí.


Abraço

Jean PAul.
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor JeanPaul » 25 Nov 2006 13:59

Pra quem quiser se divertir com essas traqueiras. :lol:

http://en.wikipedia.org/wiki/PID_controller

http://www.embedded.com/2000/0010/0010feat3.htm

Tem até alguns softs para "sintonizar" o PID.
Mas é meio complicado pra mexer. O mais fácil é fazer na mão mesmo.

Abraço.

Jean Paul.
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor veioloko » 14 Dez 2006 09:07

Olá!
Fiz o controle PID via software e ficou bom até.
0.1 ºC
No entanto a constante eu achei "na mão"
Alguma ideia de como eu poderia fazer o autotuning?
Qual o melhor metodo para controlar estufas?
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor JeanPaul » 15 Dez 2006 07:49

Nunca trabalhei com o autotunning.

Nem tenho idéia de como ela é feito, mas acredito que o soft deve fazer algum tipo de teste, no sistema, pra ter uma idéia de sua resposta.

Dá uma revirada nos links que passei acima, se não me engano eu vi alguma coisa sobre autotuning por ali.

[]'s

Jean Paul
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor elbrenon » 15 Dez 2006 13:28

meu jovem mexer com autotunning torna-se é um pouco complicado dependendo do que você quer fazer.

existem basicamente duas formas de se fazer sintonia de forma automática em controladores:

- a primeira, talvez a mais interessante para você por ser mais fácil, você aplica um ensaio na planta em torno do ponto de operação de interesse. Do ensaio você obtem parâmetros do modelo e usando uma técnica tipo ziegler & nichols você encontra os parâmetros do controlador (obs a técnica de ziegler e nichols não é a melhor q esta tendo, mas caso você não tenha conhecimentos mais profundos de transformada de laplace e z, seria a mais interessante). Depois de encontrar os parâmetros do controlador você não muda mais.

- outra forma também conhecida por controle adaptativo, a estimação dos parâmetros é feita on-line utilizando minimos quadrados recursivos muitas das vezes. Não acredito que essa seja a melhor escolha para vc pois normalmente o pessoal estuda ela em mestrado e doutorado.

mais informações sobre sintonia de controladores vc pode encontrar no livro do seborg, cujo nome me falha a memória.

por ser uma planta de temperatura acredito que a melhor escolha seria um PID o que pode lhe permitir uma resposta mais rápida caso o controlador esteje bem sintonizado.

O PID pode ser implementado de varias forma mas uma forma seria discretizar a equação contínua dada por :

sinal_de_atuação/erro_de_mediação = Kp + Ki/s + Kd*s

onde Kp é um ganho proporcional, Ki o ganho integral e Kd o ganho derivativo
elbrenon
Bit
 
Mensagens: 7
Registrado em: 19 Out 2006 13:00
Localização: Belo Horizonte

Mensagempor veioloko » 21 Dez 2006 10:42

O meu maior problema esta sendo achar as constantes, e qual metodo usar, pois mesmo usando as tecnicas do ZN por exemplo a resposta tem um OVERSHOOT, o que não seria aceitavel no meu caso. por exemplo se quero 50ºC ele vai para 55º para depois voltar. Isso com as constantes achadas pelo metodo.
Fazendo na mão mesmo ele demora mais um pouco mais consigo chegar nos 50ºC tranquilo. Porem queria algum metodo "melhor" para fazer o autotune.

Creio que não tenha muita gente especializada em controles PID aqui no brasil.
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor JeanPaul » 23 Dez 2006 11:53

Olá,

Dependendo do sistema a ser controlado, sintonizar um PID não é uma tarefa tão trivial assim. Particularmente eu não uso o método de ZN para chegar as constantes. Como falei ... modelo o sistema.

Para amenizar o overshoot você pode diminur o ganho do integrador e aumentar o ganho derivativo. Mas sem poder simular fica um pouco complicado pra ver os resultados.

Manda o seu e-mail que tenho um paper aqui que talvez te ajude.

[]'s

Jean Paul
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor veioloko » 27 Dez 2006 19:28

Olá!

Então so que sabe qual o maior problema?
Que isso seria um controlador de temperatura....ou seja....com varias faixas....e que teria que servir para diversos tamanhos de estufas ou fornos por exemplo.
Então não tem como eu ficar modelando todas....teria que ser algo via software entende? (nao posso ir com o produto rs)

Obrigado!
Editado pela última vez por veioloko em 24 Jul 2010 01:44, em um total de 1 vez.
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor JeanPaul » 29 Dez 2006 16:20

Entendi,

Bom, acredito que a solução para o seu problema seja um pouco mais complexa do que eu imaginava. Como nunca trabalhei com controle adaptivo, vejo que minhas contribuições acabam por aqui. :(

Estou mandando o paper que mencionei, mas acho que não deve ajudar muito nesse caso.

Boa sorte com o projeto ... fico a disposição para ajudar no que for possível.

[]'s

Jean Paul
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor veioloko » 03 Jan 2007 12:15

Ola agradeço o material que enviou.
Mais documentação dentre os mais de 30 artigos que fui buscando.

O problema é que na teoria é tudo muito bonito e parece tranquilo, o problema é na pratica rs.

Fico no aguardo se alguem puder me dar um "luz"
veioloko
Byte
 
Mensagens: 348
Registrado em: 10 Nov 2006 06:01
Localização: São Bernardo do Campo

Mensagempor JeanPaul » 03 Jan 2007 12:42

É assim mesmo! :D

É apanhando na pática que a gente pega experiência.

Uma coisa que me veio na cabeça, ao invés de ter um controlador para todos os tipos de estufas, vc poderia desenvolver o controlador conforme o tamanho da estufa ... por exemplo. Não sei se seria válido para o seu caso, mas é uma idéia.

[]'s

Jean Paul
JeanPaul
Byte
 
Mensagens: 182
Registrado em: 12 Out 2006 21:27
Localização: Florianópolis -SC

Mensagempor elbrenon » 04 Jan 2007 14:59

o ziegler e nichols com certeza dá overshoot, pois ele foi projetado empiricamente dar uma resposta em malha fechada com decaimento de 1/4. Só disse que ele é mais simples, pois você coloca o sistema para oscilar e da resposta oscilatoria vc retira os dados que necessita para o projeto do controlador.

mas pelo seu problema acredito que uma solução mais simples mas não a mais adequada seria utilizar parâmetros semelhantes para fornos semelhantes.

a outra seria utilizar o método de mínimos quadrados recursivos para estimar os parâmetros da planta e utilizar um outro método como sintese direta por exemplo onde você possui mais graus de liberdade para projeto do controlador, uma referencia para este método pode ser encontrada na monografia de um colega nosso:

http://www.cpdee.ufmg.br/~brunoot/Monog ... ixeira.pdf

Este documento é bastante interessante pois trata da modelagem e projeto de controladores. Mas lembre-se que todos os parâmetros foram calculados para o tempo contínuo. Isto porque os PLC's utilizam a estrutura de um controlador contínuo, mas implementa internamente a transformação para o discreto.
elbrenon
Bit
 
Mensagens: 7
Registrado em: 19 Out 2006 13:00
Localização: Belo Horizonte

Próximo

Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x