Maldição de PID.

Eletrônica de Potência, Eletrotécnica, Motores, Geradores, etc....

Moderadores: 51, guest2003

Maldição de PID.

Mensagempor fabim » 31 Jul 2015 15:07

Pessoal, eu depois de anos comecei a entender como funciona o calculo PID no mundo digital.
Entendi como utilizar uma técnica de sintonia e tudo mais.
Mas tem um pequeno problema que pode arrebentar com todo o calculo e lógica, e nenhuma apostila explica de forma correta ou simples.

No calculo pid o erro vai sendo integrada e multiplicada.

Se possuo uma planta onde a oscilação pode demorar minutos, e eu por exemplo fazer dezenas de leituras de grandeza e chamadas da rotina.

O valor integral cresce ou diminui exponencialmente pelo ganho.

Se vocês observarem as apostilas, links, TCC's. Vão observar que não existe uma regra para determinar o tempo de chamadas da rotina, logicamente estou preocupado com a integração.

Alguém sabe se existe uma regra ?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Maldição de PID.

Mensagempor tcpipchip » 31 Jul 2015 15:55

------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Maldição de PID.

Mensagempor edsont » 31 Jul 2015 16:15

Faz muito tempo que não mexo com PID, mas lembro que no bloco PID do PLC existia um parâmetro para ajustar a taxa de atualização (loop update rate).
Eu costumava deixar em no máximo 10 repetições por segundo. Claro que depende da resposta do processo e da tolerância ao erro.
Este ajuste era para o bloco ficar habilitado o tempo todo, sem interrupção ou temporizador externo.
Avatar do usuário
edsont
Word
 
Mensagens: 555
Registrado em: 22 Mai 2007 17:19
Localização: Araraquara-SP Brasil - Terra - Sistema Solar - Via Láctea

Re: Maldição de PID.

Mensagempor tcpipchip » 31 Jul 2015 16:25

------------------------------------------
http://www.youtube.com/tcpipchip
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Maldição de PID.

Mensagempor eletroinf » 31 Jul 2015 17:19

O correto é modelar a planta, esse é o primeiro passo, essencial.
Pode fazer no domínio "s" (contínuo), ache a função de transferência.
Aí calcula os dados do controlador, de acordo com o tipo de planta. Depois discretiza o controlador, usando um c2d do matlab ou na unha mesmo.
No mundo discreto (digital) o controlador de rodar em intervalos constantes, Ts. Esse intervalo deve corresponder a uma frequência pelo menos 10x mais rápido que a maior frequência da tua planta.
Supomos que a tua planta seja algo como



Tu tem a maior frequência da planta de 3 rad/s. Isso dá 3/2*pi em Hz. Isso quer dizer que tua frequência em domíno discreto (número de vezes que roda a equação do PID) deve ser no mínimo 10*(3/(2*pi)). Atentar que se essa frequência for muito alta, na discretização os zeros vão ficar muito próximo da borda do círculo unitário do domínio z, podendo gerar uma função de transferência instável.
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Re: Maldição de PID.

Mensagempor fabim » 31 Jul 2015 17:51

Gente, muito obrigado!
Miguel, bem maquiavélico o texto :(!

Eletroinf, ai que o bicho pega !

Fiz o modo RELAY.

Minha planta oscila aproximadamente 1.2°C acima do ofset, e 1.48°C abaixo do ofset.

Eu mantive a captura desta planta por aproximadamente 7 horas.

Quando a temperatura esta subindo e atinge o SP, o relay desliga, e a temperatura sobe até 1.2°C estabiliza, depois cai novamente ao SP.
Este ciclo demora aproximadamente 6 minutos.


Quando a temperatura esta descendo e atinge o SP, o relay liga, e a temperatura desce até SP-1.48°C estabiliza, depois sobe novamente ao SP.
Este ciclo demora entre aproximadamente 9 minutos.


6 minutos + 9 minutos = 15 minutos.

Utilizando a lógica que você informou, não consigo chegar a um valor lógico e real ! :-(.

OBS: a minha oscilação permissível é de SP +/- 0.3°C conforme norma.

Se eu inverter a lógica, 15 minutos / 10 = 1.5 minutos = 90 segundos.

A cada noventa segundos eu faço a leitura ok ?

Veja agora.

Se eu imaginar a subida dos SP+1.2°C linear em 1/2 do tempo dos 6 minutos = 1.2°C Por 3 minutos = ~0,007°C (arredondei para 7 pois não gostei do resultado satânico).

Estou extremamente confuso ! :-(
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Re: Maldição de PID.

Mensagempor eletroinf » 31 Jul 2015 18:11

Tem essas informações digitalizadas, tipo em gráfico, do comportamento da planta?
Uma boa forma de obter o comportamento é dar um step no mundo real, ou seja, acionar a planta e verificar o comportamento para uma entrada fixa.
Se tem um gráfico posta aí.
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Re: Maldição de PID.

Mensagempor edsont » 31 Jul 2015 18:28

Para a tolerância de +/- 0.3ºC acho que a saída do PID deve ir para um modulador PWM se for usar uma saída discreta.
Avatar do usuário
edsont
Word
 
Mensagens: 555
Registrado em: 22 Mai 2007 17:19
Localização: Araraquara-SP Brasil - Terra - Sistema Solar - Via Láctea

Re: Maldição de PID.

Mensagempor pbernardi » 31 Jul 2015 18:57

fabim,

level em conta algumas coisas:

a) seu sistema é uma resistência que só esquenta, certo? Ou é um sistema que esquenta e esfria? Se for só uma resistência, e ao desligar o rele se esfria, leve em conta que há uma inércia térmica, ou seja, mesmo um tempo após desligado, o sistema continua esquentando, até chegar em um ponto de equilíbrio, e depois voltar a esfriar. Quando está esfriando (resistência desligada), a inércia térmica se aplica novamente: a resistência não começa a aquecer imediatamenet, há uma "aceleração do aquecimento".

b) com isso, a sua conta dos 1.2ºC/3min vai por agua abaixo, pois a variação não é linear.

c) Seu sistema liga/desliga dá uma variação de 2.68ºC em 15 min. Mas o tempo ON (6 min) faz ele aquecer isso e o tempo OFF (9 min) faz ele esfriar isso, mesmo que "deslocados em fase". Logo, você precisa de um tempo menor do ciclo (duh). Onde quero chegar? O problema não é a integração, a integração entra quando você tem um SP estável, mas em um nível errado. Seu sistema não chegou na estabilidade ainda, logo o I do PID não atua fortemente.

Você tem que achar o tempo de ciclo, seja empiricamente ou calculado, de modo que se possa manter o esquenta-esfria dentro da sua faixa. Um PID não oscilante com ciclo adequando deveria sempre convergir. A diferença é que um PID com ciclo adequado e parâmetros adequados vai convergir mais rápido e sem oscilações (over/undershoot).

Observe que o fato de você não saber exatamente como se comporta o seu sistema é o que faz você precisar do PID. Se você tivesse uma variação linear, era mais fácil.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Re: Maldição de PID.

Mensagempor MOR_AL » 31 Jul 2015 20:07

Fabim.
Acho que você já fez um tópico sobre isso, mas vamos lá.

Com temperatura o bicho pega mesmo.
Acho que o que acontece é que a temperatura não está uniforme no ambiente que ocorre o controle. A este ambiente vou chamar de caixa.
1 - Tente distribuir mais a aplicação de calor na caixa. Se for pontual fica ruim mesmo.
2 - Tente aproximar mais o sensor da resistência. Se ficar muito próximo, o controle vai levar muito tempo para estabilizar, pois vai desligar antes da temperatura subir no ponto afastado tanto do sensor como do resistor. Se ficar longe, como deve estar acontecendo, a temperatura próxima do resistor vai ficar maior que a temperatura próximo ao sensor. Aí mesmo desligando o resistor, a temperatura vai subir.
Com relação ao PID, já dispus um pequeno tutorial, em que ensinava o básico e um pouco mais. Acho até que você o possui.
3 - Procure aplicar um step de temperatura sem o controle funcionando, como o eletroinf disse. Vá aplicando o itens 1 e 2 até que você descubra o ponto ótimo do sensor com a resistência distribuída na caixa. Ao final uma aplicação do tipo PWM nas resistências pode melhorar ainda mais.
Note que se sua fonte de energia elétrica for AC, pode usar um triac ou dois tiristores back-to-back. O acionamento poderia ser variando o ângulo de disparo, ou aumentando ou diminuindo semi-ciclos.

Pense que com uma das mãos você esteja no controle de uma chave, que liga e desliga um ferro de soldar potente dentro de uma caixa. Com um dedo da outra mão (claro né) você monitora a temperatura na caixa. A pergunta seria a seguinte: Qual a posição que o dedo ficaria dentro da caixa? Se muito perto (colado no ferro) você só vai controlar a temperatura do ferro. na medida que se afasta do ferro, a temperatura é menor. Se muito longe do ferro, você só vai monitorar a temperatura longe do ferro, pois junto ao ferro deve ficar bem quente e acontecer o que está acontecendo. Você desliga o ferro com a temperatura correta no dedo longe do ferro, mas a temperatura está mais alta na medida que seu dedo se aproxima do ferro.

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Maldição de PID.

Mensagempor andre_luis » 01 Ago 2015 15:59

fabim escreveu:Se vocês observarem as apostilas, links, TCC's. Vão observar que não existe uma regra para determinar o tempo de chamadas da rotina, logicamente estou preocupado com a integração.

Alguém sabe se existe uma regra ?


Em se tratando de cálculo numérico, ás vezes temos de desmembrar algumas fórmulas e "forçar" alguns termos da equação para zero, ao invez de carregarmos o resultado que deveria ser nulo. Isso é muito usado em calculos matriciais, não apenas pra reduzir o erro numerico mas também pra aumentar a velocidade de processamento como um todo, ja que ao invez de fazer um calculo vai apenas carregar um valor.

Um colega meu na faculdade passou por esse mesmo problema numa simulação no matlab que apresentava um erro acumulativo no tempo, e resolveu dessa forma.
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Maldição de PID.

Mensagempor eletroinf » 01 Ago 2015 20:54

"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Re: Maldição de PID.

Mensagempor Djalma Toledo Rodrigues » 02 Ago 2015 19:32

KP KI KD

O PID é inrentemente Analógico
e KI ou KD é justamente o tempo, ou mais correto a velocidade de Integração ou do Decaimento Derivativo
Derivativo parece mas não é bem a Derivada.

Vamos ao que interessa:
Frequentemente surgem novos Amplificador Operacional
este componente esta para a Eletrônica Analógica como o uC, ou o uP, esta para a El. Digital

Mas para o Controlador PID não.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Re: Maldição de PID.

Mensagempor Alexandro » 03 Ago 2015 09:07

Não sabia que o controle de temperatura é tão dificiu assim de fazer,
Um tempo atras eu fiz um banho-maria com resistencia e sensor de 1% pra controlar a temp. em 37.5C e ter no maximo um desvio de 0.2C. Li varias vezes esse PID pra poder entender como ele ia encaixar no sistema.
Quando eu terminei e comecei os testes, não funcionava, ele nao chegava na temperatura ou outras vezes ele passava do setpoint em muito.

A distancia do sensor tava otima, nunca mexi, então descobri que o problema era tentar controlar o disparo no angulo do Triac, mudei pra semiciclos e os valores simplesmente mudaram, ficando otimo na curva de temperatura. Praticamente onde mexi foi fora do PID, porque o que nao casava era o acionamento.

Imagem
Avatar do usuário
Alexandro
Byte
 
Mensagens: 436
Registrado em: 23 Out 2006 16:49
Localização: São José do Rio Preto - SP e Sao Paulo-SP

Re: Maldição de PID.

Mensagempor RobL » 03 Ago 2015 09:49

Não sabia que o controle de temperatura é tão dificiu assim de fazer,
Um tempo atras eu fiz um banho-maria com resistencia e sensor de 1% pra controlar a temp. em 37.5C e ter no maximo um desvio de 0.2C. Li varias vezes esse PID pra poder entender como ele ia encaixar no sistema.
Quando eu terminei e comecei os testes, não funcionava, ele nao chegava na temperatura ou outras vezes ele passava do setpoint em muito.

A distancia do sensor tava otima, nunca mexi, então descobri que o problema era tentar controlar o disparo no angulo do Triac, mudei pra semiciclos e os valores simplesmente mudaram, ficando otimo na curva de temperatura. Praticamente onde mexi foi fora do PID, porque o que nao casava era o acionamento.


O que você fez foi reduzir a potência fornecida na parte do proporcional. Talvez estivesse com muita potência para sua quantidade de água.
O objetivo do PID é atingir o ponto de equilíbrio no menor tempo, de forma estável. Certamente se aquecermos com uma rampa suave, qualquer controle simples dará bom resultado, mas em quanto tempo?
Ao reduzir a potência máxima a 50% (somente semiciclo), não deixou de mexer "dentro" do PID, limitou a potência na fase do proporcional. De repente virou de PID para um simples P (controle proporcional).

Se a massa e o líquido não forem os mesmos, não leiam o que está a seguir:
Se a massa e o líquido forem sempre os mesmos (sempre água na mesma quantidade) dá para fazer testes na mão para determinar o melhor valor para o proporcional e iniciar um ajuste prático fino, somente próximo do ponto, isto se o vaso for adiabático (isolado termicamente) e ainda assim tabelar para a temperatura inicial do líquido.
Se o tempo não for importante, basta escolher um proporcional alto no inicio que nunca ultrapasse a temperatura e depois reduzir bem o proporcional a fim que um simples controle on/off mantenha dentro do erro permitido. Se não for assim aí só entrando a parte integral e se necessário a derivativa.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Próximo

Voltar para Eletrotécnica

Quem está online

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

x