PID no PIC em C (controle motor CC)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor fabim » 10 Set 2008 14:53

begin
decf(fabim);// só para explicar

incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
incf(djalma);// eim ?
end;
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!!!?

Mensagempor ricks_and » 10 Set 2008 18:40

PID é fácil de ser entendido utilizando o MATLAB, utilizem o SIMULINK e faça um forno (experimentalmente), na internet tem bastante coisa a respeito, assim que tiver tempo, coloco algo pra vc´s aqui... no SIMULINK dá pra visualizar a curva de resposta, SP, Erro, PV tdo mais.

Agora, voltando ao assunto PID em C, ninguem tem um exemplo aplicado em algum lugar? pelo menos pra mim ver as rotinas, como são tratados o P - I - D invidualmente..

No LABVIEW eu trato individualmente em "CASE", mas na linguagem C eu não estou conseguindo visualizar pra aplicar. No LABVIEW eu tenho uma interface mais amigável pra se tratar disso. Fiz um controle de vazão sussa, se quiserem o programa é só falaremmmm, mas preciso da ajuda dos "hackers" dos PIC´S aqui.... seria possível???

abraxxxx

Ricardo Andrade.
ricks_and
Bit
 
Mensagens: 15
Registrado em: 17 Mar 2007 01:55

Mensagempor Djalma Toledo Rodrigues » 10 Set 2008 20:41

Fabim agora sério, você colocou bem.
fabim escreveu:o que fode em PID digital, é a maldita histerésis ... e o tempo de resposta....

A Função Integral ideal é a Analógica, contínua e com resolução infinita.

O uC tem a grande vantagem de se poder antecipar a correção para uma situação que ainda ira ocorrer. Veja caso real :

Controle de temperatura de uma estufa, é uma caixa de ferro quadrada com 4 resistores de aquecimento em cada parede lateral, esta caixa esta isolada térmicamente do ambiente. O Transdutor de temperatura mede a temperatura do ar . A estufa é ligada, quando atinge a temperatura de 105°C desliga. Só que como ela custa a aquecer a temperatura na área próxima aos resistores esta muito acima do previsto, então a temperatura da estufa continua subindo.
Com um uC seria fácil implementar o desligamento antecipado nesta condição inicial, evitando a sobre temperatura.

Talvez o ideal fosse combinar o Analógico com o uC, seria como se diz o melhor de dois mundos.
vlw!
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Rota » 11 Set 2008 00:44

Rota
Byte
 
Mensagens: 116
Registrado em: 16 Nov 2006 21:29

Mensagempor albertorcneto » 11 Set 2008 04:31

ricks_and,

Esse link que o Rota passou eh interessante, e tem a implementacao de PID na funcao:

void control_velocity(ROBOTWHEEL *w)

O controle PID eh nada mais que uma equacao:

Controle = Erro * Ganho_P + Somatorio_do_Erro * Ganho_I + Diferenca do Erro * Ganho_D

Isso sem considerar WindUp e utilizando um controle feedback. WindUp eh a condicao de saturacao do atuador, que faz com que a equacao de controle nao seja linear. Usando o exemplo da estufa, isso acontece quando o controlador quer colocar 150W de potencia em um resistor que aguenta so 100W. Isso faz o ganho integral "baguncar" o controle, porque integra um erro que nao deveria existir.

A histerese nao eh tanto o problema, ja que em um controle PID perfeito nao existe essse tipo de coisa. O tempo de resposta pode ser antecipado com a escolha de bons coeficientes PID. Ja vi controle PID de sensor PT100, que a temperatura do PT100 era lida 5 vezes mais rapida que o normal (com uma constante de tempo).

Eu, particularmente, acho mais flexivel e robusto o controle por variaveis de estado. Mas eh um controle mais dificil de entender e de ser implementado tambem.

Eu tinha um link em portugues porreta pra esse controle que voce ta querendo implementar, inclusive com dicas de como configurar os ganhos P, I e D, mas acabei de testar e esta fora do ar. Devia ter feito o download de tudo na epoca.

Djalma,

Esse tipo de controle que voce mencionou se chama feedforward, e tambem da pra ser implementado de forma analogica. Apesar disso, prefiro o controle digital, por ser mais facil de dar manutencao e, com uma resolucao alta como temos hoje de ADC e DAC, o erro de quantizacao em muito pequeno.
albertorcneto
Byte
 
Mensagens: 269
Registrado em: 28 Mar 2007 14:08

Mensagempor Djalma Toledo Rodrigues » 11 Set 2008 09:31

albertorcneto escreveu:Djalma,
Esse tipo de controle que voce mencionou se chama feedforward, e tambem da pra ser implementado de forma analogica. Apesar disso, prefiro o controle digital, por ser mais facil de dar manutencao e, com uma resolucao alta como temos hoje de ADC e DAC, o erro de quantizacao em muito pequeno.

Todos os dias, vamos dizer assim, surjem novos CIs Amplificador Operacional, muitos destinam-se ao contrôle de Servomecanismo, isto demonstra que o sistema analógico é superior ao digital.
Fonte de Alimentação de Laboratório, fontes de alta qualidade, usam o PID analógico no contrôle da tensão de saída.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor ricks_and » 11 Set 2008 23:32

Nossa galera, valeu mesmo, vou trabalhar em cima disto e assim que terminado eu coloco aki a rotina pronta pra um conhecimento de todos amantes do PIC, agora, esse problema que vc disse da potência eu limito ele na área da integral (sem problemas) - com limite superior e limite inferior, portanto, assim que o sistema estiver em regime permanente eu "travo" ele de acordo com SP...

Abração a todos, muito obrigado pela ajuda!
ricks_and
Bit
 
Mensagens: 15
Registrado em: 17 Mar 2007 01:55

Mensagempor ivan » 14 Set 2008 22:29

PID Without a PhD

Tim Wescott


PID (proportional, integral, derivative) control is not as complicated as it sounds. Follow these simple implementation steps for quick results.

http://www.embedded.com/2000/0010/0010feat3.htm
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor rebelk » 16 Set 2008 18:06

veja isso aqui!

se ele abrir como arquivo desconhecido , salve ele em uma pasta e para abrir selecione um programa , no caso o adobe , é bem didaticao esse material!






http://www.saofrancisco.edu.br/cursos/g ... arquivo=91
rebelk
Byte
 
Mensagens: 301
Registrado em: 15 Nov 2006 20:16

Mensagempor Rota » 16 Set 2008 23:38

eu montei esse circuito com pll (4046):
http://rapidshare.com/files/145914682/E ... 6.pdf.html

Montei em uma protoboard, sem a parte de asceleração e desacerelação. No pino 9 do 4046 liguei um potenciometro. Com o osciloscopio ligado na saida, conforme ia "segurando" o eixo do motor, a largura dos pulsos ia aumentando (Ton), até ficar um sinal continuo, indicando que o circuito funciona, porem eu consegui parar o motor na mão, fiquei na duvida:
O circuito não funcionou? Seria eu muito forte ? ou o motor muito fraco? (motor que puxar o papel de uma impressora HP linha 600).
Rota
Byte
 
Mensagens: 116
Registrado em: 16 Nov 2006 21:29

Mensagempor fabim » 17 Set 2008 08:00

não, não e não.. TU É UM ZÉ MANÉ..

Observe..

Código: Selecionar todos
 
  PLL                          -------    PDI

 Phased locked loop ----------  Proporcional integral derivado

 São a mesmissima coisa, só que um ja gra o pwm no caso o pll...
 Graças a 6 projetos com portas digitais, porque os filho da **** na epoca não queriam gastar com dedicados, eu sei até fazer pll com 4066 e lm358.
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!!!?

PID

Mensagempor jose ivan » 17 Set 2008 08:18

Olá pessoal depois de muinto tempo resolvi voltar a ativa com a
eletrônica, e esse topico veio acalhar para mim, Porque resolvi fazer mais uma cnc, mas desta vez com servo motores, estou cansado da vibração dos motores de passo em baixa rotação, E essa informações sobre PID vai me ajudar. E isso ai
jose ivan
Bit
 
Mensagens: 25
Registrado em: 17 Out 2006 09:44

PID

Mensagempor jose ivan » 17 Set 2008 11:07

jose ivan
Bit
 
Mensagens: 25
Registrado em: 17 Out 2006 09:44

Mensagempor Djalma Toledo Rodrigues » 17 Set 2008 17:29

fabim escreveu:não, não e não.. TU É UM ZÉ MANÉ..


Pô Fabim ta cupiando meu stilooo, tá mi mitanduuu ?/ :D :D :D
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Rota » 18 Set 2008 00:19

já qui a moda é cupiar, la vai:


CARAMÉÉÉÉLO!!!!


si bem qui eu não sei qui significa issu.
Rota
Byte
 
Mensagens: 116
Registrado em: 16 Nov 2006 21:29

AnteriorPróximo

Voltar para PIC

Quem está online

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

x