Universidade Nova de Lisboa Faculdade de Ciências e Tecnologia Teoria de Sistemas 1º Semestre 10/11

Relatório: Design de um Sistema de Controlo Baseado num modelo [2ª Parte]

António Cruz Nº 30903 MIEGI José Domingos Nº 30951 MIEGI Ricardo Lopes Nº 30946 MIEGI

3 Janeiro 2011

INTRODUÇÃO
Na primeira parte do projecto em questão descrevemos fisicamente e matematicamente o modelo do motor de corrente contínua. Determinámos a função de transferência que representa a posição do motor quando sujeito a uma tensão de entrada e vimos que através da introdução de retroacção no sistema conseguíamos que a resposta do sistema seguisse uma entrada escalão de referência. Analisamos ainda a estabilidade do sistema recorrendo ao teorema da estabilidade de sistemas e ao Root Locus. Na segunda parte do projecto para melhorar o seguimento de referência, a resposta transitória, a estabilidade relativa e obedecer às especificações exigidas, iremos projectar um controlador e um compensador a introduzir na cadeia de acção do sistema em estudo.
R(S) + ­ V(S) θ(S) Controlador ou Compensador

Motor

Figura 1 – Diagrama de blocos do projecto.

REQUISITOS DO SISTEMA
• O controlador PID deve ser capaz de satisfazer os seguintes critérios de projecto: 1- Tempo de estabelecimento inferior a 0,1 segundos. 2- Erro em regime permanente nulo. 3- Sobreelevação inferior a 15%. • O compensador deve ter uma margem de fase de aproximadamente 40°.

PROJECTO DO CONTROLADOR PID
1- Projecto do PID através das Regras de Ziegler-Nichols e pelo método da sensibilidade última. Este método baseia-se num ensaio experimental onde o sistema em estudo é colocado em anel fechado com um controlador proporcional com ganho Kp. O parâmetro Kp do controlador é aumentado até atingir um valor crítico (Kcr), que corresponde ao limite de estabilidade da cadeia fechada. Seguidamente determina-se o

• Determinação do Kcr: O diagrama de blocos seguinte representa o motor em estudo com o controlador proporcional em cadeia fechada. Ti e Td do PID. A função de transferência de um controlador PID é da seguinte forma: Tabela 1 – Parâmetros aconselhados para o PID pelo método da sensibilidade última.291e-005 s^2 + 0.878e-012 s^3 + 1.período crítico de oscilação (Tcr) e através destes dois parâmetros e da tabela seguinte determina-se os parâmetros Kp. Figura 2 – Diagrama de blocos do sistema com controlador proporcional de ganho Kp em cadeia fechada.0274 ---------------------------------------------------------------8.0007648 s A função de transferência da cadeia fechada que representa o diagrama de blocos θ (S ) KpG ( s ) = R ( S ) 1 + KpG ( s ) Aplicando o critério de Routh-Hurtwitz ao denominador da função de transferência do sistema em malha fechada com controlador proporcional obtemos a seguinte tabela de Routh: anterior é: . Onde G(S) é: >> caberta Transfer function: 0.

0274KP Pelo critério de estabilidade de Routh encontrámos o intervalo de valores possíveis para o ganho do controlador (KP) que tornam o sistema em estudo estável. S3 S2 S1 S0 8. O valor de KP=40551.6479E-4 -1. O mesmo pode ser visto olhando para o diagrama Root Locus do sistema com o controlador proporcional em cadeia aberta.8781E-12 1.0274KP 7.43. . >> rlocus(caberta) Figura 3 – Zoom ao ramo do Root Locus que cruza o eixo imaginário.43 corresponde ao valor referido anteriormente de Kcr ou seja o limite de estabilidade do sistema em anel fechado. Esse intervalo é então 0<KP<40551.6479E-4 0.2914E-5 7.886E-8KP 0.Tabela 2 – Tabela de Routh do sistema em cadeia fechada com controlador KP.

• Determinação da frequência crítica. ou seja o limite de estabilidade do sistema.71E4 como sendo o valor de Kcr. Ti=4.8285 0 • Determinação dos parâmetros do controlador PID: Uma vez determinados Kcr e Tcr segundo a tabela de Ziegler-Nichols os valores aconselhados para o controlador PID são: Kp=0. Cpid(s) apresenta dois zeros complexos conjugados.1424e-004.0e+003 * 7. Tcr: Através do valor de Kcr considerado. Esse valor é aproximadamente 2.0e-003 * 0. contr=tf([Kd Kp Ki].0274*2. um pólo na origem e tem a seguinte forma: Kp=16260.71E4])) %nota: Wcr será sempre imaginário puro. da tabela de Routh anterior e com o apoio do MATLAB: >>Wcr=abs(roots([1.O valor onde o ramo do Root Locus intersecta o eixo imaginário corresponde ao Kcr. Td=1. consideremos 2.5840 >>Tcr=(2*pi)/Wcr Tcr = 1.5840 7. Wcr = 1.71E4.0. O valor determinado por observação do Root Locus é da mesma ordem de grandeza que o encontrado analiticamente. então aplicamos Abs() para calcular directamente Tcr logo de seguida.6Kcrit=16260 Ti=Tcrit/2=4.0356e-004 A função de transferência do controlador PID. ωcr e do período crítico.[1 0]). 0. Kd=Td*Kp.0356e-004.1424e-004 Td=Tcrit/8=1. Ki=Kp/Ti.291E-5. .

4 S y s te m : s y s _ c l T im e ( s e c ) : 0 . .0 2 0 . 0 7 1 .0 7 0 .0 6 0 .0 9 0 .684 s^2 + 16260 s + 3.0 1 0 .>> contr Transfer function: 1. 0 0 5 A m p lit u d e : 1 .0 8 0 .001:0.1. 0 0 9 A m p l it u d e : 0 . >>step(sys_cl. t=0:0.0 3 0 .0 5 T im e ( s e c ) 0 .0 4 0 .1).2 1 S y s te m : s y s _ c l T im e ( s e c ) : 0 . A resposta do sistema ao escalão unitário com o controlador projectado é: sys_cl=feedback(contr*caberta.925e007 ------------------------------S Desta forma o motor de posição pode ser controlado da seguinte forma: Figura 4 – Diagrama de blocos do sistema com controlador PID em cadeia fechada.4 0 .1 Figura 5 – Resposta do sistema ao degrau unitário.8 A m p lit u d e 0 .t) S te p R e s p o n s e 1 .2 0 0 0 . 9 9 4 0 .6 0 .

708e-009 . A partir do Root Locus do sistema do motor de corrente contínua em cadeia aberta apresentado na primeira parte deste projecto. Para satisfazer as especificações impostas no projecto do controlador e a partir das expressões que relacionam os parâmetros característicos sobreelevação. Assim através do posicionamento dos zeros do PID em locais que permitem obedecer às especificações do projecto e analisando o Root Locus do sistema com o controlador PID em relação ao parâmetro K. projectamos um controlador PID. determinámos o coeficiente de amortecimento. verificámos que existia um pólo que por estar muito afastado dos outros podia ser desprezado. O coeficiente de amortecimento e a frequência das oscilações não amortecidas. A sobreelevação é determinada por: Verificamos que a sobreelevação é de cerca de 7% cumprindo as especificações exigidas. ωn são responsáveis pelo comportamento dinâmico do sistema.Verificamos que o tempo de estabelecimento é de aproximadamente 9 ms portanto é inferior a 0. 2.1 segundos cumprindo assim as especificações exigidas.Projecto de um PID apoiado no Root Locus. A função de transferência do motor passa assim a ser de 2ª ordem e é a seguinte: >> caberta Transfer function: 0. ts da resposta temporal de sistemas de 2ª ordem. A função de transferência de um controlador PID pode também ter o seguinte aspecto: uma vez que um controlador PID introduz na cadeia de acção do sistema a controlar um pólo na origem e dois zeros a parte do ganho K.0007648 s + 2. S(%) e o tempo de subida. o que não influenciaria o comportamento dinâmico do sistema para ganhos pequenos. D e a relação Dxωn.291e-005 s^2 + 0.0274 ----------------------------------------1.

não provocando grande alteração na dinâmica do sistema. Assim um controlador só com acção proporcional não é suficiente para atingir o objectivo. Assim colocámos o zero em -18. Temos que introduzir dinâmica ao Root Locus. Figura 6 – Root Locus do sistema aproximado com controlo proporcional. contr=tf([1 18]. O zero deve situar-se entre os dois pólos do sistema para provocar dinâmica e tentar mover os ramos do Root Locus não retirando estabilidade ao sistema. verificamos que os pólos do sistema em cadeia fechada nunca passam a linha vertical -40.2260 -0. uma vez que o uso de um controlador integral se traduz na introdução de um pólo na origem do sistema a controlar.>> roots(den2) ans = -59.0) >>sigrid(40) Analisado o Root Locus do sistema aproximado com controlador proporcional.que representa o cumprimento do tempo de estabelecimento pretendido. Uma solução possível é projectar um controlador com a acção conjunta (proporcional e integral). Introduzindo um controlador só com acção integral.[1 0]). Esta acção traduz-se na introdução de um pólo na origem e de um zero.0000 >>rlocus(caberta) >>sgrid(. .52. para além do ganho K do sistema a controlar. também não resolveria o problema das especificações.

Por fim projectámos um controlador com as 3 acções conjuntas PID. portanto colocámos o zero a -60. >> contr1 . Um zero deve estar próximo do pólo da cadeia fechada que está situado a -59. para além do ganho K ao sistema a controlar. uma vez que os pólos estão no spce porém não será rápido o suficiente para satisfazer os requisitos do projecto. Figura 7 – Root Locus do sistema aproximado com controlo PI.0) sigrid(40) Observando o Root Locus com acção proporcional e integral o sistema mantém se estável. O outro zero colocámos a -80 para atrair o pólo duplo situado em zero (um da cadeia fechada do sistema a controlar e outro da acção integral) e de modo a cruzar a linha vertical a -40 responsável pelo tempo de estabelecimento. Esta acção traduz-se na introdução de um pólo na origem e de dois zeros.3 para o atrair rapidamente.52.>> contr Transfer function: s + 18 ---------S rlocus(contr*caberta) sgrid(.

0) sigrid(40) Figura 8 – Root Locus do sistema aproximado com controlo PID.0000 -60.52.0000 rlocus(contr1*caberta) sgrid(.Transfer function: s^2 + 140 s + 4800 -----------------s >> num5=[1 140 4800] >> roots(num5) ans = -80. .

1.1).0587i -1.Figura 9 – Zoom ao Root Locus do sistema aproximado com controlo PIDl.5973 sys_cl=feedback(k*contr1*caberta.0587i -0.6077 + 0.6108e+002 +5.t) .0. K e os correspondentes pólos do sistema em cadeia fechada.poles] = rlocfind(contr1*caberta) selected_point = -1.0e+002 * -1. Como uma resposta rápida do sistema corresponde a pontos no Root Locus afastados do eixo imaginário.9006e+000i k= 0. step(sys_cl. t=0:0.1518 poles = 1.001:.6077 . [k. com o auxílio da ferramenta rlocfind do MATLAB determinamos o ganho do controlador. efeito da atracção entre o zero e o pólo.

.1 segundos cumprindo assim as especificações exigidas. Analisando a resposta do sistema com o controlador PID projectado ao degrau unitário verificamos que o tempo de estabelecimento é de aproximadamente 4 ms portanto é inferior a 0. Verificamos também que a sobreelevação é de cerca de 14% cumprindo as especificações exigidas.Figura 10 – Resposta ao degrau unitário do motor com o controlador PID projectado.

  a > 1 1 + Ts .13s. tendo em conta o tempo de estabelecimento pretendido (0. entre outras características. Para o nosso projecto decidimos usar um controlador de avanço de fase. Equação característica do controlador de avanço de fase: Gc ( s) = 1 + aTs   . observamos que o sistema já tem menos de 15% de sobreelevação. Pela resposta ao degrau.1s). Um controlador em avanço permite tempos de subida e estabelecimento mais reduzidos.PROJECTO DO COMPENSADOR step(cfechada) Figura 11 – Resposta ao degrau do sistema não compensado. e um tempo de estabelecimento de cerca de 0.

26º.Gráfico de relação entre margem de fase (MF) e sobrelevação (SE): D=0:0.MFdeg) ginput(1) Figura 12 – Margem de fase (º) vs sobreelevação (%).. MF=atan(2*D.1:1. bode(caberta) margin(caberta) . Logo. MFdeg= MF*180/pi. para satisfazer o requisito de sobreelevação do sistema final será necessária uma margem de fase superior a 53.^2)). plot(SE./sqrt(1-D./sqrt(sqrt(4*D.26º para uma sobreelevação de 15%.^4+1)-2*D.^2)). Donde retiramos o valor 53. SE=100*exp(-D*pi.

. que tem como fase máxima do controlador associada 9.5 dB (halfadb). o que já corresponde a um valor desejado e coincidente com a sobreelevação satisfatória previamente visível na resposta ao degrau unitário. a = 1. a=1:0. phimaxdeg = phimax*180/pi.6º (phimxadeg) à frequência ωm. Também a essa frequência temos um ganho associado de 1. por exemplo./(a+1)).2:5.4. disp(' a2 halfadb phimaxdeg') [a' halfadb' phimaxdeg'] Desta lista de valores de a. halfadb=0. phimax=asin((a-1). obedecendo a tempo de estabelecimento de 0. escolhemos.Escolha do parâmetro a: O objectivo aqui será obter um valor de a que provoque uma largura de banda ao sistema suficiente para uma resposta suficientemente rápida. A fase de margem do sistema não compensado é de 61.1 segundos. .9º.Figura 13 – Diagrama de Bode do sistema não compensado.5*20*log10(a).

Com esta frequência encontramos o respectivo parâmetro T do controlador.1).a=1.+ phase). T=1/(wc*sqrt(a)).55.w). denc=[T 1].20).'b-'. phi= squeeze(180. Esta será a nova frequência de cruzamento de ganho. step(cfechada. Procedemos à escolha da nova frequência de cruzamento.denc). que no sistema não compensado será a frequência para a qual o sistema tem ganho igual a -1.56. ω c. o novo sistema compensado e obter a nova resposta ao degrau unitário: numc=[a*T 1].3 rad/s. logo o sistema compensado terá margem de fase: 58. [mag phase]=bode(caberta.1). w=logspace(1. ccompf=feedback(ccomp. magdb = squeeze(20*log10(mag)).5º.ccompf. ccomp=cont*caberta.1. cont=tf(numc. wc=36. Podemos então definir a função transferência do controlador. cfechada=feedback(caberta.5 dB.3. Nesta frequência o sistema tem margem de fase igual a 58.5 + 9. disp(' magdb w phi') [magdb w' phi] Tal acontece em ω = 36.1º.4.'r--') .6 = 68.

. Figura 15 – Zoom da resposta ao degrau do sistema compensado.Figura 14 – Resposta ao degrau do sistema compensado e não compensado. O sistema compensado obedece então aos objectivos do projecto.

Figura 16 – Diagramas de bode do sistema compensado e não compensado. .

3 rad/s como previsto. nyquist(ccomp) .Verificação do design: bode(ccomp) Figura 17 – Diagrama de Bode do sistema compensado. Nova frequência de cruzamento ~ 36.

Figura 18 – Diagrama de Nyquist. Figura 19 – Zoom diagrama de Nyquist. . O diagrama de Nyquist corresponde aos valores do diagrama de Bode.

0682 Aproximadamente 68.3718-0.9234i) ans = 0. fase  -90º ω  + ∞ . >> [re im]=nyquist(ccomp.9234 >> abs(-0. tal que G ( jω c ) = 1 . ωc.36.ω0 . .1º. fase  -270º Confirmação da nova frequência de cruzamento.3718)*180/pi MF = 68.3) RE = -0.3718 IM = -0.9234/0.9954 Margem de fase : >> MF=atan(0.

por exemplo. Ao longo deste trabalho estudamos dois tipos de sistemas de controlo automáticos. Exemplos dos primeiros pode ser. ou seja. que podem ser eléctricos. Está também presente. Verificamos também na resposta do sistema controlado ou compensado ao degrau unitário. e é ai que entram os sistemas de controlo automáticos.1 seg < 15% Nulo PID (Regras de Ziegler-Nichols) 9 ms 7% Nulo PID (Root Locus) 4 ms 14% Nulo Compensador 0. . ou seja. por exemplo. um operador a controlar alguma porta com uma alavanca/chave. pois ao mesmo tempo verificam dados parâmetros do processo e. Parâmetros Tempo de estabelecimento Sobreelevação Erro em regime permanente Requisitos do Projecto < 0. do papel. que não necessitam de intervenção humana durante o seu funcionamento. PESQUISA NA INTERNET SOBRE O TEMA SISTEMAS DE CONTROLO AUTOMÁTICO Os sistemas de controlo são dispositivos cujo objectivo é comandar. etc.09 seg 1. empresas de saneamento. fazem actuar determinados dispositivos que corrigem desvios àquilo que é desejado. uma vez que nos processos químicos que decorrem ao longo do percurso produtivo num processo industrial. Os sistemas de controlo podem ser manuais ou automáticos. que há um compromisso entre o tempo de estabelecimento e a sobreelevação. quando um parâmetro aumenta o outro diminui e vice-versa. mecânicos. e energias renováveis/fósseis. é necessário controlar o comportamento das variáveis que interferem na qualidade dos produtos de acordo com padrões préestabelecidos. caso necessário. dirigir ou regular o comportamento de outros dispositivos ou sistemas. nas indústrias alimentar. na indústria química e petroquímica. têxtil.COMPARAÇÃO DO COMPORTAMENTO E PERFORMANCE DO PID VS COMPENSADOR EM TERMOS DOS REQUISITOS DO PROJECTO Tabela 3 – Comparação entre os controladores e compensador projectados. entre outras. Este tipo de sistemas de controlo está presente.5% Nulo Verificamos que ambos os controladores e o compensador projectados obedecem aos requisitos do projecto.

Exemplo de um sistema de controlo PID para uma fornalha.Exemplo de uma fornalha: Ao controlar a temperatura de uma fornalha industrial é geralmente melhor controlar a abertura do combustível utilizando uma válvula de acordo com as necessidades. sendo apenas necessária intervenção humana no software de controlo do PID para definir ou alterar parâmetros. Figura 20 . Controlo PID: O controlo PID tal como o conhecemos hoje em dia foi desenvolvido pelo engenheiro Nicolas Minorsky para a marinha dos EUA no início dos anos 20. Para garantir o bom funcionamento do sistema (fornalha) existe um controlador baseado na diferença entre o valor ajustado necessário e o valor medido da variável controlada (a temperatura). É com facilidade que uma empresa pode colocar um controlador deste tipo numa fornalha. de forma a distribuir o calor mais eficazmente. A intensidade da acção correctiva que é aplicada para um dado erro é ajustada pelo ganho ou pela sensibilidade do sistema de controlo. Minorsky queria projectar sistemas de navegação automática para a marinha. Acções correctivas são aplicadas na proporção directa ao erro medido actual. no sentido correcto para tender a reduzir o erro. e baseava a sua .

para diversos fins. É fácil de perceber porque é que este tipo de controlo é tão utilizado no mundo. Este tipo de controlo é relativamente fácil de construir e utilizar. cujo objectivo era trazer mais estabilidade ao sistema. pois pode ser construído com poucos circuitos integrados. . coisa que actualmente é bastante acessível financeiramente. Podemos verificar isso no exemplo seguinte de um projecto para um controlo PID num motor: Figura 21 – Controlo PID num motor. Hoje em dia o PID ainda é o algoritmo de controlo mais encontrado no mercado. que controlavam o navio não apenas baseados no erro actual mas também no erro passado e na taxa de variação do erro actual. e ainda mais para laboratórios e indústrias. e é bastante fácil encontrar para venda diversos controladores. Construir um sistema de controlo PID é bastante fácil hoje em dia. de tal forma que a grande maioria dos algoritmos de controlo utilizados actualmente são nele baseados. e Minorsky pegou nisso e criou um modelo matemático.análise na observação dos timoneiros dos navios.

Sign up to vote on this title
UsefulNot useful