Escolar Documentos
Profissional Documentos
Cultura Documentos
Este relatrio satisfaz, parcialmente, os requisitos que constam da Ficha de Disciplina de Sistemas de Controlo Avanado, do 2 ano, do Mestrado em Engenharia Electrotcnica e de Computadores
ndice
NDICE ............................................................................................................................................................V NDICE DE FIGURAS ............................................................................................................................... VII NDICE DE TABELAS ................................................................................................................................ IX ACRNIMOS................................................................................................................................................ XI 1. INTRODUO ...................................................................................................................................... 1 1.1. 1.2. 2. CONTEXTUALIZAO ....................................................................................................................... 1 OBJECTIVOS ...................................................................................................................................... 1
CONTROLO PID DA VELOCIDADE DE UM SISTEMA SERVO ................................................. 3 2.1. 2.2. INTRODUO .................................................................................................................................... 3 EXPLICAO DO TRABALHO ............................................................................................................. 5
3.
CONTROLO DE VELOCIDADE DE UM SISTEMA SERVO USANDO LGICA FUZZY ...... 11 3.1. 3.2. INTRODUO .................................................................................................................................. 11 EXPLICAO DO TRABALHO ........................................................................................................... 13
4.
CONCLUSES ..................................................................................................................................... 17
REFERNCIAS DOCUMENTAIS ............................................................................................................. 18 ANEXO A. CDIGO ZIEGLER-NICHOLS MALHA ABERTA ............................................................ 19 ANEXO B. CDIGO ZIEGLER-NICHOLS MALHA FECHADA ......................................................... 21 ANEXO C. CDIGO ZHUANG E ATHERTON ...................................................................................... 24 ANEXO D. CDIGO FUZZY ...................................................................................................................... 25
ndice de Figuras
Figura 1 Figura 2 Figura 3 Figura 4 Figura 5 Figura 6 Figura 7 Figura 8 Figura 9 Sistema Simulink do servo ............................................................................................. 5 Sistema com controlo Ziegler-Nichols em malha aberta ............................................... 6 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha aberta................... 7 Sistema com controlo Ziegler-Nichols em malha fechada ............................................. 8 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha fechada ................ 9 Possvel representao fuzzy da temperatura ................................................................ 13 Sistema com controlo fuzzy .......................................................................................... 13 Toolbox de fuzzy no Matlab .......................................................................................... 14 Grfico da velocidade referente a experiencia com o sistema real............................... 15
vii
ndice de Tabelas
Tabela 1 Tabela 2 Tabela 3 Tabela 4 Tabela 5 Valores obtidos experimentalmente com Ziegler-Nichols em malha aberta .................. 6 Tabela de frmulas para Ziegler-Nichols em malha aberta............................................ 6 Valores obtidos experimentalmente com Ziegler-Nichols em malha fechada ............... 8 Tabela de frmulas para Ziegler-Nichols em malha fechada ......................................... 9 Tabela utilizada para definio das regras do controlador fuzzy .................................. 14
ix
Acrnimos
PID Proportional Integrative Derivative Controller ZN Ziegler-Nichols
xi
1. INTRODUO
Este trabalho foi realizado no mbito da disciplina de Sistemas de Controlo Avanado e tem o intuito e introduzir aos alunos a temtica do projecto de controladores Proportional Integrative Derivative (PID) utilizando algumas das diversas tcnicas existentes.
1.1.
CONTEXTUALIZAO
Sendo este trabalho realizado no mbito de uma disciplina do Mestrado em Engenharia Electrotcnica e de Computadores especializao de Automao e Sistemas de referir que o projecto de controladores um dos pontos essenciais deste mestrado. No seguimento deste desenvolvimento os alunos foram capazes de aprender e obter uma melhor compreenso da problemtica inerente a este tipo de projectos.
1.2.
OBJECTIVOS
O objectivo deste trabalho consistia no desenvolvimento de dois controladores utilizando duas das tcnicas existentes para o projecto de controladores PID e o desenvolvimento de um controlador fuzzy. Os dois mtodos a serem utilizados no projecto do controlador PID so Ziegler-Nichols (ZN) malha aberta e ZN malha fechada, sendo que, se efectuou mais um desenvolvimento de um controlador PID para se identificar quais as falhas existentes
nos mtodos ZN e para verificar a capacidade de obteno de um controlador quase ideal utilizando PID.
2.1.
INTRODUO
Os sistemas de controlo podem ser classificados de duas formas diferentes, sendo estas linear e no linear. No caso dos sistemas lineares existem diferentes tcnicas de controlo passiveis de serem utilizadas, sendo relativamente fcil a obteno de um bom controlador com as tcnicas tradicionais. No caso dos sistemas no lineares face a impossibilidade de utilizao dos mtodos de projecto clssico necessrio optar por outras formas de projecto para os controladores. Para resolver este problema relativamente aos sistemas no lineares pode-se utilizar controladores PID, sendo que, existem diversos tipos de controlo PID no mercado e a sua utilizao tem vindo a tornar cada vez mais usual.
A problemtica de um controlador PID baseia-se na correcta sintonizao dos seus parmetros em malha, pois so estes os responsveis pelo bom funcionamento do sistema a ser controlado. Um controlo PID tal como se pode depreender do seu nome baseia-se em trs aspectos, sendo estes: Proporcionalidade responsvel pela reduo do erro e do aumento da velocidade de reposta, mas esta relao provoca uma reduo na estabilidade do sistema; Integrabilidade a parte do controlador onde se pode eliminar o erro para um degrau de entrada, mas no entanto a variao deste parmetro provoca uma deteriorao na dinmica do sistema; Derivabilidade Pode controlar-se a estabilidade/amortecimento da resposta de um sistema com a alterao deste parmetro. Para se efectuar o controlo de cada um destes parmetros, aquando da utilizao de controladores PID pode utilizar-se varias formas de representao desses parmetros, por exemplo, uma das representaes passveis de ser utilizada a seguinte:
No entanto pode-se definir um controlador PID recorrendo a sua representao por blocos obtendo-se a seguinte frmula:
Existe ainda uma outra forma de representao, tendo sido esta a utilizada ao longo da realizao deste projecto, que pode ser efectuada da seguinte forma:
Chegados a este ponto pode passar ento a modulao do sistema recorrendo a sua funo de transferncia, ou seja, tenta-se descrever o funcionamento do sistema real numa funo de transferncia para posterior anlise e testes. Neste caso especifico a funo de transferncia facultada pelo fabricante do sistema servo, sendo assim mais fcil o seu estudo e implementao em Simulink. Sendo a funo de transferncia fornecida e representada por:
Pde ento passar ao desenvolvimento do projecto em si, ou seja, a obteno dos valores necessrios, como por exemplo, Ts e Ks e o respectivo desenvolvimento de controlador PID indicado e adequado ao sistema em causa.
2.2.
EXPLICAO DO TRABALHO
Aps o estudo dos sistemas PID e do sistema servo a ser utilizado na realizao deste trabalho, passou-se ento ao estudo e implementao do controlador. Numa primeira fase o sistema foi testado em ambiente Simulink e posteriormente efectuaram-se testes com o sistema real. Na definio do sistema para utilizao do Simulink foi necessrio a utilizao da funo de transferncia referida anteriormente. Para isso criou-se um bloco com essa funo de transferncia como ilustrado na Figura 1. Aps a sua implementao passou-se ento primeira fase de implementao com o estudo de ZN em malha aberta.
2.2.1.
Para a implementao de ZN em malha aberta foi utilizado o sistema representado na Figura 2. Tal como se pode visualizar pela figura, a representao do circuito aberto apenas necessita que a entrada seja alterada para uma funo degrau, retirando-lhe assim a realimentao existente no sistema real.
Foi realizada a simulao recorrendo ao modelo Simulink representado na Figura 2, sendo que, com esta simulao foi possvel a obteno dos seguintes dados experimentais:
Tabela 1 Valores obtidos experimentalmente com Ziegler-Nichols em malha aberta
Controlador P PI PID
ki 0 0,0196 0,0436
kd 0 0 0,0015
Estes dados foram obtidos recorrendo ao uso das frmulas predefinidas da utilizao de ZN em malha aberta, ou seja, para o clculo de kp, ki e kd utilizaram-se as seguintes frmulas:
Tabela 2 Tabela de frmulas para Ziegler-Nichols em malha aberta
Todos estes valores tal como referido anteriormente so essenciais para os controladores PID, pois so estes os valores que regulam os factores relevantes deste tipo de controlo, como por exemplo, regulam o tempo de resposta, o overshoot entre outros. Aps a obteno de todos os valores efectuaram-se os testes no sistema real onde se obtiveram os grficos representados na Figura 3.
Figura 3 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha aberta
Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Erro! A origem da referncia no foi encontrada.. 2.2.2. ZIEGLER-NICHOLS EM MALHA FECHADA
De notar que neste sistema foram retirados todos os blocos considerados no necessrios para a realizao dos testes, como tal o sistema ficou reduzido e tornou-se mais fcil de compreender e analisar. Foi seguidamente realizada a simulao recorrendo ao sistema real, na qual se obtiveram os valores representados na Tabela 3.
Tabela 3 Valores obtidos experimentalmente com Ziegler-Nichols em malha fechada
Controlador P Controlador normal Controlador multiplicado por 2 Controlador dividido por 2 PI PID P PI PID P PI PID
Estes dados foram obtidos recorrendo ao uso das frmulas predefinidas da utilizao de ZN malha fechada, ou seja, para o clculo de kp, ki e kd utilizaram-se as seguintes frmulas:
Como se pode ver na Figura 5 os grficos obtidos atravs do teste realizado com o sistema real retornaram valores satisfatrios para cada um dos controladores. Mas deve ter-se em conta que nos testes apenas se utilizaram alguns dos valores para optimizar a execuo dos testes.
Figura 5 Grficos obtidos com o teste real utilizando Ziegler-Nichols malha fechada
Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Anexo B.
Aps os estudos de controladores PID recorrendo ao mtodo de Ziegler-Nichols foi tambm efectuado um breve estudo utilizando um dos mtodos ptimos de sintonia, sendo que neste caso especfico, utilizou-se o mtodo de Zhuang e Atherton. Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Anexo C.
10
3.1.
INTRODUO
A lgica fuzzy, trabalha com o conceito de graus de pertena. Enquanto na lgica clssica supe-se verdadeira uma afirmao do tipo "se algo quente, no frio", na lgica fuzzy poder-se-ia dizer: "algo 30% quente, 25% morno e 45% frio", ou seja, "algo pode no ser quente nem frio. Esta lgica tem grande aplicao em diversas reas sendo cada vez mais utilizada nos mais comuns equipamentos. A lgica difusa permite clarificar que no que respeita realidade, as leis da matemtica no so exactas. Quando o so, no se referem realidade, como afirma Albert Einstein [1].
11
De facto, as transies entre conceitos reais no so abruptas. Os conceitos so, muitas vezes, subjectivos e existem zonas de transio entre conceitos diferentes bem definidos e bem conhecidos. Como exemplo, considere-se a pergunta: A temperatura de 28C ser agradvel? No se trata de saber qual a probabilidade de 28C ser agradvel mas sim do facto de, para algumas pessoas ser agradvel e para outras no. A resposta das pessoas no aleatria, apenas existem opinies diferentes. Muito provavelmente, 100% dos inquiridos estariam de acordo que -12C no uma temperatura agradvel. Mas poderiam estar em desacordo parcial se seria uma temperatura fria ou se seria muito fria. O autor do artigo que originou a lgica difusa, Lotfi Zedeh refere que medida que a complexidade de um certo sistema aumenta, a capacidade para fazer afirmaes significativas do seu comportamento diminui at se atingir um ponto de transio, a partir do qual preciso e significado (relevncia) se tornam mutuamente exclusivas [2]. A lgica difusa permite representar conhecimentos imprecisos, at contraditrios, e suporta raciocnios e concluses baseados nesse tipo de conhecimentos incompletos ou vagos. Cox refere ainda que a utilizao de modelos imprecisos para o sistema permite ainda: Tempo mdio entre avarias e Tempo mdio de reparao melhorados; Capacidade para modelizar simplificando sistemas complexos; Permitem uma melhorada representao cognitiva dos conhecimentos dos peritos; Permitem a modelizao de sistemas envolvendo vrios peritos que podem ter opinies diferentes; Permite o tratamento de incertezas e possibilidades. De facto, a utilizao de lgica difusa permite representar de forma agradvel o conhecimento do dia-a-dia atravs da utilizao de variveis lingusticas: a varivel difusa temperatura pode ser descrita pelas regies difusas da Figura 6 [2].
12
3.2.
EXPLICAO DO TRABALHO
Tal como se pode ver na Figura 7, a implementao do controlador fuzzy no Simulink para mais uma vez ser possvel efectuar teste sem utilizar o sistema real e como forma de testar se os valores das funes de pertena respeitantes a cada uma das entradas, sendo que neste caso as entradas so o erro e a sua variao.
A Figura 8 ilustra a implementao de um controlador fuzzy recorrendo a toolbox do Matlab extremamente simples.
13
Para a implementao das regras necessrias ao funcionamento do sistema foi utilizada a Tabela 5.
Tabela 5 Tabela utilizada para definio das regras do controlador fuzzy
Regras na nb e z pb pa
de na na na na na z nb na na nb z pb z na nb z pb pa pb na z pb pb pa pa z z pa pa pa
14
Tal como se pode ver pela Figura 9, no grfico obtido aquando da experincia com o sistema real, a resposta satisfatria apesar de existir alguma oscilao durante algum tempo.
De notar que analisando correctamente os dados do grfico anterior obter-se- uma resposta que no cumpre os requisitos quanto ao tempo de estabelecimento, pois como a funo existente no Matlab que efectua esse clculo automaticamente tem alguns problemas devido a oscilao do sistema. Todo o cdigo referente aos clculos necessrios para a obteno destes valores pode ser consultado no Anexo D.
15
4. CONCLUSES
Ao longo deste texto foram sendo apresentadas concluses que permitiram sustentar as opes de desenvolvimento efectuadas ao longo do projecto. Assim, nesta ltima seco realizada uma sntese das principais concluses, consequncias e relevncia do trabalho realizado e perspectivados futuros desenvolvimentos. Durante a realizao deste trabalho foi notria a utilidade da utilizao das funcionalidades fornecidas pela Matlab para o desenvolvimento de projectos nesta rea. A utilizao dos modelos em Simulink para simulaes, a possibilidade de testar todos os valores obtidos antes de realizar um teste real demonstrou a enorme viabilidade dessas funcionalidades. Posto isto pode concluir-se que os objectivos foram compridos e apesar das dificuldades encontradas no desenvolvimento do controlador fuzzy, devido a falta de conhecimentos prvios, todo o desenvolvimento foi conseguido com sucesso.
17
Referncias Documentais
[1] [2] Kosko, Bart; Neural networks and fuzzy systems: a dynamical systems approach to machine intelligence, Prentice-Hall International, 1992 Cox, Earl; The Fuzzy Systems Handbook : a Practitioner's Guide to Building, Using and Maintaining Fuzzy Systems, Professional, 1994
18
19
xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P'); load dados_zn_pi t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,1,2) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI'); load dados_zn_pid t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,1,3) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID');
20
21
ki2=ki*2 kd2=kd*2 %Para os controladores x(1/2) kp05=kp/2 ki05=ki/2 kd05=kd/2 figure; load ZN_mf_P t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,1) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P'); load ZN_mf_PI t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,2) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI'); load ZN_mf_PID t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,3) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID');
load ZN_mf2_P t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,4) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P*2'); load ZN_mf2_PI t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,5) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI*2'); load ZN_mf2_PID t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,6) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID*2'); load ZN_mf05_P
22
t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,7) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo P*(1/2)'); load ZN_mf05_PI t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,8) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PI*(1/2)'); load ZN_mf05_PID t=VelCtrl.time; vel=VelCtrl.signals(1).values(:,1); subplot(3,3,9) plot(t,vel) xlabel('Tempo(s)'), ylabel('Velocidade'),title('Controlo PID*(1/2)');
23
24
: : : :
1 1 1 1
25
1 2 2 2 2 2 3 3 3 3 3 5 5 5 5 5 4 4 4 4 4
5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
3 1 1 2 3 3 1 2 3 4 5 2 3 4 4 5 3 4 5 5 5
(1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1)
: : : : : : : : : : : : : : : : : : : : :
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
26