Você está na página 1de 36

INSTITUTO FEDERAL DA BAHIA

CAMPUS JEQUIÉ
CURSO DE BACHARELADO EM ENGENHARIA MECÂNICA

AUTOMAÇÃO E CONTROLE I : PROJETO VIA


LUGAR GEOMÉTRICO DAS RAÍZES

Eduardo Pereira
Ezequiel Santos
Felipe Mendes
Heloisa Fontes
Pedro Paulo
Thiago Andrade

Jequié-BA
2022
INSTITUTO FEDERAL DA BAHIA
CAMPUS JEQUIÉ
CURSO DE BACHARELADO EM ENGENHARIA MECÂNICA

AUTOMAÇÃO E CONTROLE I : PROJETO VIA LUGAR


GEOMÉTRICO DAS RAÍZES

Eduardo Pereira
Ezequiel Santos
Felipe Mendes
Heloisa Fontes
Pedro Paulo
Thiago Andrade

Atividade avaliativa elaborada na disciplina de


Automação e Controle I, ministrado pela profes-
sora Layse Inocêncio.

Jequié-BA
2022
Sumário

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 REFERENCIAL TEÓRICO . . . . . . . . . . . . . . . . . . . . . . . . 5

3 PROCEDIMENTOS E METODOLOGIA . . . . . . . . . . . . . . . . . 7

4 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5 CÓDIGO UTILIZADO . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3

1 Introdução

O seguinte trabalho propõe um projeto de controladores via lugar geométrico das raízes.
Dessa forma será utilizado os compensadores de avanço de fase, PI, atraso de fase, PD avanço e
atraso de fase e PID, com o intuito de comparar as melhorias nas respostas do sistema proposto.
A motivação do projeto é realizar simulações da aplicação de controladores em uma função de
transferência de uma aeronave como forma de determinar os resultados de cada compensador e
seus efeitos na melhoria da resposta transitória e sobre o erro no regime estacionário.

Figura 1 – função de transferência de uma aeronave AFTI/F-16

Para alcançar as propostas e resultados, como gráficos e respostas do sistema foi utilizado o
software matemático MATLAB. Para realizar o projeto, foram utilizados os códigos (5) para
chegar as respostas necessárias e determinar as questões abordadas. As seguintes etapas foram
propostas no projeto.

• Implementar o sistema no MATLAB sem o compensador .

• Projetar um compensador PI que reduza o erro em regime permanente para zero

• Retornar para o sistema sem compensação e projetando dois compensadores de atraso de


fase.

• Retornar para o sistema sem compensação, projetar um compensador PD de modo que


o sistema compensado apresente um tempo de assentamento 0,05 s e ultrapassagem
percentual de 20

• Retornar para o sistema sem compensação, projetar um compensador PID de modo que
o sistema compensado. apresente um tempo de assentamento de 0,05 s e ultrapassagem
percentual de 20 e erro de regime estacionário nulo para uma entrada degrau.
Capítulo 1. Introdução 4

• Retornar para o sistema sem compensação, projetar um compensador de avanço e atraso


de fase .
5

2 Referencial Teórico

Para Silva (1999) “A arte de controlar é tão antiga quanto as necessidades humanas de
desenvolver seus sentidos”. Assim, as primeiras aplicações de controle com retroalimentação
se deram por mecanismo de controle de nível de líquidos pelos gregos, por volta de 300 a.C.
O grego Ktesibios inventou o relógio de água, cujo foi o primeiro dispositivo de controle com
realimentação. Algum tempo depois, tivemos Philon que idealizou uma lâmpada de óleo cujo
nível era constante com uso de uma boia.
O primeiro sistema inventado na Europa moderna foi o regulador de temperatura de uma
incubadora de ovos, puramente mecânico, feito em 1624 por Cornelis Drebbel, um mecânico
e químico alemão. Após esses acontecimentos, muitos protótipos e sistemas foram criados e
aperfeiçoados.
Muito tempo depois, em 1935, Ralph Clarridge da Taylor Instrument Companies criou o
controlador de três termos, ao utilizar um controlador que antecipava a variação no sinal de
erro para solucionar um problema de oscilação de uma malha de controle de temperatura em
uma indústria de celulose. Até que no ano de 1939, uma versão totalmente reprojetada do
controlador PID Full Scope foi oferecida como padrão nos sistemas de controle comerciais da
empresa.(FACCIN, 2004)
O lugar geométrico das raízes foi elaborado em 1950 por Walter R.Evans, que permite
determinar os pólos da função de transferência em malha fechada, e nas funções de malha aberta.
É uma ferramenta que auxilia para encontrar os pólos e zeros da função de transferência, o lugar
geométrico das raízes é de grande importância para dar suporte na criação de projetos de sistemas
de controle. Com o LGR tem-se a possibilidade de saber como os pólos e zeros em malha aberta
podem ser modificados , para que a resposta atenda a certas especificações de desempenho
(MATAS et al., 2012). O lugar das raízes é uma representação gráfica das localizações dos pólos
da função de transferência de malha fechada de um sistema de controle, em função de algum
parâmetro da função de transferência de malha de aberta, a localização dos pólos de malha
fechada está atrelada às especificações do sistema , como por exemplo , porcentagem sobressinal,
tempo de pico e tempo de acomodação.
Até que finalmente em 1961, foi instalado no chão de fábrica de uma empresa, o primeiro
robô industrial denominado Unimate, da Unimation Inc. A partir da década de 60, devido à
crescente capacidade computacional dos computadores, houve um rápido desenvolvimento de
novas tecnologias de controle, como preditor de Smith, controle preditivo, controle adaptativo,
lógica Fuzzy, auto ajuste, redes neurais, controle robusto, controle ótimo, entre outros.
Os compensadores não são utilizados somente para melhorar a resposta transiente de um
sistema, são utilizados também de forma independente para melhorar as características de
erro de regime estacionário, o compensador PID clássico sãos os mais utilizados na indústria,
maior parte desses controladores são implementados essencialmente pela programação de um
Capítulo 2. Referencial Teórico 6

CLP (Controlador Lógico Programável), mas atualmente o algoritmo de controle do PID é


desenvolvido em um software que é executado por um computador. O Controlador PID trabalha
muito bem se o processo a ser controlado for de modo razoável, linear, se a planta a ser controlada
apresentar características não-lineares seu desempenho é insatisfatório e necessita de um controle
periódico de ajuste supervisório realizado por operadores humanos especializados.
Quando é abordado sobre erros e desempenhos de um sistema o lugar geométrico das raízes é
uma ferramenta eficaz por realizar a representação gráfica dos pólos em malha fechada em função
da variação de um parâmetro do sistema , o LGR é caracterizado por uma técnica gráfica que
oferece a descrição qualitativa poderosa,capaz de descrever o desempenho de um sistema quando
diversos parâmetros são alterados, como por exemplo as faixas de valores de estabilidade,faixas
de valores de instabilidades e condições que causam instabilidade ao sistema.
7

3 Procedimentos e Metodologia

Seguindo o roteiro de simulação, tem-se os seguintes procedimentos:

Etapa - I
O lugar geométrico das raízes é cortado pela reta de amortecimento em diversos pontos como
mostrado na imagem 3. Para aproximação de segunda ordem, foi escolhido o ponto demonstrado
na figura 2, onde os valores dos polos tem grande influência sobre a resposta e os outros polos
estão relativamente próximos dos zeros.

Figura 2 – Gráfico do lugar geométrico das raízes com o ponto para aproximação de segunda
ordem.
Capítulo 3. Procedimentos e Metodologia 8

Figura 3 – Gráfico da resposta ao degrau.

Fonte: Autoria Própria

Tabela I

Fonte: Autoria Própria

Etapa - II
Ao analisar graficamente o sistema sem e com compensação, é possível perceber que o
erro foi praticamente extinguido da resposta, e alguns parâmetros tiveram seu tempo reduzido
como o tempo de pico. O sistema não apresenta grandes diferenças entre a resposta sem e com
compensação, apenas visualizando o erro ao degrau na tabela é possível perceber que a resposta
compensada teve seu erro zerado. A dificuldade de se visualizar diferenças nas duas respostas se
deve à ordem do sistema, que por ser muito grande requer um tempo de assentamento prolongado
para estabilizar no set point.
Capítulo 3. Procedimentos e Metodologia 9

Figura 4 – Gráfico da resposta ao degrau com PI II.

Fonte: Autoria Própria

Tabela II

Fonte: Autoria Própria

Etapa - III
Não foi possível encontrar visualmente, diferenças causadas pela alteração do polo compen-
sador. Entretanto, analisando os parâmetros, é possível perceber uma alteração de 1X10−4 no
tempo de assentamento, mas nada que influencia a resposta ao ponto de ser preferivel a utilização
de um valor ao outro.
Capítulo 3. Procedimentos e Metodologia 10

Figura 5 – Gráfico da resposta ao degrau com atraso de fase (Pc = 0,01) III-a.

Fonte: Autoria Própria

Figura 6 – Gráfico da resposta ao degrau com atraso de fase (Pc = 0,001 III-b.

Fonte: Autoria Própria


Capítulo 3. Procedimentos e Metodologia 11

Tabela III

Fonte: Autoria Própria

Etapa - IV
O polo de projeto foi −5.7143e + 02 + 5.5771e + 02i, o qual, foi escolhido com base no
tempo de assentamento e encontrado através das relações de T s com a frequência natural e o fator
de amortecimento. A contribuição do ângulo do zero compensador é de 43.1788◦ , encontrado a
partir da diferença dos ângulos em malha aberta da função no polo projetado. Entretanto, mesmo
com todas as especificações sendo satisfeitas, não foi possível melhorar o valor da resposta com
o compensador PD, no melhor dos casos, a resposta compensada ficava pouco pior. Portanto, o
sistema sem compensação tem uma resposta melhor em relação ao compensado.

Figura 7 – Gráfico da resposta ao degrau do com PD IV

Fonte: Autoria Própria


Capítulo 3. Procedimentos e Metodologia 12

Tabela IV

Fonte: Autoria Própria

Etapa - V
O sistema compensado é uma boa aproximação de segunda ordem, atendendo aos critérios. O
polo e o zero do compensador foram escolhidos de forma arbitrária em 20 e 10 respectivamente.
A resposta compensada é praticamente a mesma da sem compensação, mesmo alterando os
valores dos polos e dos zeros.

Figura 8 – Gráfico da resposta ao degrau com avanço de fase V

Fonte: Autoria Própria


Capítulo 3. Procedimentos e Metodologia 13

Tabela V

Fonte: Autoria Própria

Etapa - VI
A resposta compensada com PID se assemelha bastante a reposta sem compensação, alterando
apenas alguns parâmetros minimamente, porem o erro ao degrau é zerado como no PI. Em
comparação as outras aplicações, aparenta ter melhor desempenho, porem ainda que levemente,
é inferior à resposta sem compensação.

Figura 9 – Gráfico da resposta ao degrau com PID VI

Fonte: Autoria Própria


Capítulo 3. Procedimentos e Metodologia 14

Tabela VI

Fonte: Autoria Própria

Etapa - VII
Analisando a resposta com atraso e avanço de fase, percebe rapidamente que a resposta ficou
mais lenta, aumentando todos os parâmetros como tempo de subida, tempo de pico, etc. Porem,
o erro no gráfico 10 foi completamente zerado, mesmo ainda com valor do erro ao degrau como
uma constante, mesmo que muito pequena. Em comparação a cada um dos métodos isolados, se
demonstrou muito inferior, apesar de zerar o erro graficamente, deteriorou muito a velocidade da
resposta.

Figura 10 – Gráfico da reposta ao degrau com avanço e atraso de fase VII

Fonte: Autoria Própria


Capítulo 3. Procedimentos e Metodologia 15

Tabela VII

Fonte: Autoria Própria


16

4 Conclusões

Foi percebido durante o desenvolvimento do referido trabalho aspectos práticos e aplicados


dos métodos de controle e das técnicas de compensação para sistemas, desse modo, ao utilizar
todo o estudo dos compensadores, foi possível implementar o algorítimo para realizar as todas
as simulações propostas no projeto.
Ademais, o projeto utilizou os conceitos dos controladores via lugar geométrico das raízes,
sendo realizado a simulação para o PI,atraso de fase, PD, avanço de fase, PID e avanço/atraso de
fase. Desse modo, os resultados podem ser comparados.

Figura 11 – Comparação entre os métodos


Fonte: Autoria Própria

A partir dos resultados coletados foi possível aferir que a utilização do PI e do PID zeram o
erro da resposta, ao passo que o atraso de fase aumenta significativamente este erro. No mais,
todos os resultados se mantiveram dentro do mesmo padrão, dessa forma é possível verificar que
a melhoria teórica proposto pelos compensadores dependem de muitos fatores, nesse caso não
foi notado tal vantagem para esta aplicação.
17

5 Código utilizado

Para a Etapa I:
1 ’(ch8p2) Exemplo 8.8’ % Exibe o t t u l o .
2 clear % Apaga as v a r i v e i s do workspace.
3 clf % Apaga o g r f i c o na tela.
4 numg=[0.072 1.6596 0.0856 0.06624]; % Define o numerador de G(s).
5 deng=[1 +1.08 -1.07 -0.0552 -0.0476]; % Define o denominador de G(s).
6 ’G(s)’ % Exibe o t t u l o .
7 G=tf (numg,deng) % Cria e exibe G(s).
8 rlocus(G) % T r a a o lugar geom trico das r a z e s
9 % (H(s)=1).
10 title (’Lugar Geom trico das R a z e s Original’)
11 % Adiciona um t t u l o
12 %axis([-1 1 -25 25])
13 pup=input(’Digite %UP: \n’); % Entra ultrapassagem percentual
14 % desejada a partir do teclado.
15 z=-log(pup/100)/sqrt(pi^2+[log(pup/100)]^2)
16 % Calcula o fator de amortecimento.
17 sgrid (z, 0) % S o b r e p e a reta de fator de
18 % amortecimento desejado ao lugar
19 % geom trico das r a z e s .
20
21 title ([’LGR com reta de ultrapassagem de ’,num2str(pup,3),’%’])
22 % Define o t t u l o para o lugar
23 % geom trico das r a z e s mostrando a
24 % ultrapassagem percentual utilizada.
25 [K,p]=rlocfind(G) % Gera o ganho, K, e os polos em malha
26 % fechada, p, para o ponto selecionado
27 % interativamente sobre o lugar
28 % geom trico das r a z e s .
29
30 f=input(’Entre o n m e r o do polo que o ponto de o p e r a o : \n ’);
31 tp=pi/abs(imag(p(f)))
32
33 pause
34
35 ’T(s)’ % Exibe o t t u l o .
36 T=feedback(K*G,1) % O b t m e exibe a f u n o de
37 % transfer ncia em malha fechada com o
38 % K selecionado.
39 step (T) % Gera a resposta ao degrau em malha
40 % fechada para o ponto selecionado
Capítulo 5. Código utilizado 18

41 % sobre o lugar geom trico das r a z e s .


42 title ([’Resposta ao Degrau para K = ’,num2str(K,3)])
43 % D um t t u l o resposta ao degrau
44 % que inclui o valor de K.
45 pause
46 ’Erro Entrada em Degrau’ %Exibe o titulo.
47 Kp=dcgain(K*G) % Calcula Kp para G(s) com s=0
48 erro_degrau=1/(1+Kp) % cacula o erro da entrada em degrau
49 pause

Para a Etapa II:


1 clear % Apaga as v a r i v e i s do workspace.
2 clf % Apaga o g r f i c o na tela.
3 numg=[0.072 1.6596 0.0856 0.06624]; % Define o numerador de G(s).
4 deng=[1 +1.08 -1.07 -0.0552 -0.0476]; % Define o denominador de G(s).
5 ’G(s)’ % Exibe o t t u l o .
6 G=tf (numg,deng) % Cria e exibe G(s).
7 % Passo 1
8
9 ’ A n l i s e de sistema n o compensado’
10 rlocus(G) % T r a a o lugar geom trico das r a z e s
11 % (H(s)=1).
12 title (’Lugar Geom trico das R a z e s Original’)
13
14 pup=input(’Digite %UP: \n’); % Entra ultrapassagem percentual
15 % desejada a partir do teclado.
16 z=-log(pup/100)/sqrt(pi^2+[log(pup/100)]^2)
17 sgrid (z,0) % S o b r e p e a reta de fator de
18 % amortecimento desejado ao lugar
19 % geom trico das r a z e s .
20 title ([’LGR com reta de ultrapassagem de’,num2str(pup,3),’%’])
21 % Define o t t u l o para o lugar
22 % geom trico das r a z e s mostrando a
23 % ultrapassagem percentual utilizada.
24 [K,p]=rlocfind(G) % Gera o ganho, K, e os polos em malha
25 % fechada, p, para o ponto selecionado
26 % interativamente sobre o lugar
27 % geom trico das r a z e s .
28 pause
29 ’T(s)’ % Exibe o t t u l o .
30 T=feedback(K*G,1) % O b t m e exibe a f u n o de
31 % transfer ncia em malha fechada com o
32 % K selecionado.
33 step (T) % Gera a resposta ao degrau em malha
34 % fechada para o ponto selecionado
35 % sobre o lugar geom trico das r a z e s .
Capítulo 5. Código utilizado 19

36 title ([’Resposta ao Degrau para K = ’,num2str(K,3)])


37 % D um t t u l o resposta ao degrau
38 % que inclui o valor de K.
39 pause
40 ’Erro Entrada em Degrau’ %Exibe o titulo.
41 Kp=dcgain(K*G) % Calcula Kp para G(s) com s=0
42 erro_degrau1=1/(1+Kp) % cacula o erroa da entrada em degrau
43 pause
44
45 %Passo 2
46
47 ’Adicionando o compensador integral ideal’
48 numc=[1 0.01]; % Define o numerador de C(s).
49 denc=[1 0]; % Define o denominador de C(s).
50 ’C(s)’ % Exibe o t t u l o .
51 C=tf (numc,denc) % Cria e exibe C(s)
52 pause
53 Gc=C*G % Aplica o compensador sobre a f u n o G(s)
54
55 rlocus(Gc)% Cria Lugar geom trico das raizes compensado
56 title (’Lugar Geom trico das R a z e s Compensado e Suavizado’)%exibe titulo
57 sgrid (z,0)
58 pause
59 [K2,p]=rlocfind(Gc) % Gera o ganho, K, e os polos em malha
60 % fechada, p, para o ponto selecionado
61 pause
62 ’T(s)’ % Exibe o t t u l o . % O b t m e exibe a f u n o de
63 % transfer ncia em malha fechada com o
64 % K selecionado.
65 Tc=feedback(K2*Gc,1) % O b t m e exibe a f u n o de
66 % transfer ncia em malha fechada compensada com o
67 % K selecionado.
68
69 step (T) % Gera a resposta ao degrau em malha
70 % fechada para o ponto selecionado
71
72 hold on
73
74 step (Tc) % Gera a resposta ao degrau em malha
75 % fechada para o ponto selecionado
76 % sobre o lugar geom trico das r a z e s .
77
78 hold on
79 axis([0 0.3 0 1.3])
80
81 title ([’Resposta ao Degrau’])
82 % D um t t u l o resposta ao degrau
Capítulo 5. Código utilizado 20

83 % que inclui o valor de K.


84 pause
85 ’Erro Entrada em Degrau Compensada’ %Exibe o titulo.
86 Kp=dcgain(K2*Gc) % Calcula Kp para G(s) com s=0
87 erro_degrau2=1/(1+Kp) % cacula o erro da entrada em degrau
88 pause
89 clc

Para a Etapa III:


1 clear % Apaga as v a r i v e i s do workspace.
2 clf % Apaga o g r f i c o na tela.
3 numg=[0.072 1.6596 0.08568 0.06623]; % Define o numerador de G(s).
4 deng=[1 +1.08 -1.07 -0.0552 -0.0476]; % Define o denominador de G(s).
5 ’G(s)’ % Exibe o t t u l o .
6 G=tf (numg,deng) % Cria e exibe G(s).
7 % Passo 1
8 ’ A n l i s e de sistema n o compensado’
9 rlocus(G) % T r a a o lugar geom trico das r a z e s
10 % (H(s)=1).
11 %title (’Lugar Geom trico das R a z e s Original’)
12 % Adiciona um t t u l o .
13
14 rlocus(G) % T r a a o lugar geom trico das r a z e s
15 % suavizado (H (s)=1)
16 %title (’Lugar Geom trico das R a z e s Suavizado’)
17 % Adiciona um t t u l o .
18 pup=input(’Digite %UP: \n’); % Entra ultrapassagem percentual
19 % desejada a partir do teclado.
20 z=-log(pup/100)/sqrt(pi^2+[log(pup/100)]^2)
21 % Calcula a ultrapassagem percentual.
22 sgrid (z,0) % S o b r e p e a reta de fator de
23 % amortecimento desejado ao lugar
24 % geom trico das r a z e s .
25 title ([’LGR com reta de ultrapassagem de ’,num2str(pup,3),’%’])
26 % Define o t t u l o para o lugar
27 % geom trico das r a z e s mostrando a
28 % ultrapassagem percentual utilizada.
29 [K,p]=rlocfind(G) % Gera o ganho, K, e os polos em malha
30 % fechada, p, para o ponto selecionado
31 % interativamente sobre o lugar
32 % geom trico das r a z e s .
33 pause
34 %Passo 2
35 ’Adicionando o compensador por atraso de fase’
36 ’Erro Entrada em Degrau’ %Exibe o titulo.
37
Capítulo 5. Código utilizado 21

38 Kp=dcgain(K*G) % Calcula Kp para G(s) com s=0


39 erro_degrau=1/(1+Kp) % cacula o erroa da entrada em degrau
40 pause
41
42 fe= input(’Digite o fator de melhoria do erro em regime permanente desejado
: \n’); %Entra com o fator de melhoria
43 %do erro pelo compensador
44
45 Erro_desejado= erro_degrau/fe;
46 Kp2=(1-Erro_desejado)/(Erro_desejado);
47 Relacao_de_compensacao=Kp2/Kp
48
49 pc=0.0001;
50 zc=pc*Relacao_de_compensacao
51 numc=[1 zc]; % Define o numerador de C(s).
52 denc=poly([-pc]); % Define o denominador de C(s).
53 ’C1(s)’ % Exibe o t t u l o .
54 C1=tf (numc,denc) % Cria e exibe C(s)
55 pause
56
57 pc=0.01;
58 zc2=pc*Relacao_de_compensacao
59 numc=[1 zc2]; % Define o numerador de C(s).
60 denc=poly([-pc]); % Define o denominador de C(s).
61 ’C2(s)’ % Exibe o t t u l o .
62 C2=tf (numc,denc) % Cria e exibe C(s)
63
64 pause
65 Gc1=C1*G% Aplica o compensador sobre a f u n o G(s)
66 Gc2=C2*G
67
68 rlocus(Gc1)% Cria Lugar geom trico das raizes compensado
69 title (’Lugar Geom trico das R a z e s Compensado e Suavizado’)%exibe titulo
70 sgrid (z,0)
71 [K2,p]=rlocfind(Gc1) % Gera o ganho, K, e os polos em malha
72 % fechada, p, para o ponto selecionado
73 pause
74
75 rlocus(Gc2)% Cria Lugar geom trico das raizes compensado
76 title (’Lugar Geom trico das R a z e s Compensado e Suavizado’)%exibe titulo
77 sgrid (z,0)
78 [K3,p]=rlocfind(Gc2) % Gera o ganho, K, e os polos em malha
79 % fechada, p, para o ponto selecionado
80
81 pause
82
83 ’T(s)’ % Exibe o t t u l o .
Capítulo 5. Código utilizado 22

84
85 Tc1=feedback(K2*Gc1,1) % O b t m e exibe a f u n o de
86 % transfer ncia em malha fechada compensada com o
87 % K selecionado.
88 Tc2=feedback(K3*Gc2,1) % O b t m e exibe a f u n o de
89 % transfer ncia em malha fechada compensada com o
90 % K selecionado.
91
92 step (Tc1) % Gera a resposta ao degrau em malha
93 % fechada para o ponto selecionado
94 % sobre o lugar geom trico das r a z e s .
95
96 hold on
97
98 step (Tc2) % Gera a resposta ao degrau em malha
99 % fechada para o ponto selecionado
100 % sobre o lugar geom trico das r a z e s .
101
102
103
104 title ([’Resposta ao Degrau’])
105 % D um t t u l o resposta ao degrau
106 % que inclui o valor de K.
107 pause
108 ’Erro Entrada em Degrau Compensada’ %Exibe o titulo.
109 Kpc1=dcgain(K2*Gc1) % Calcula Kp para G(s) com s=0
110 erro_degrau_compensado1=1/(1+Kpc1) % cacula o erro da entrada em degrau
111 pause
112 ’Erro Entrada em Degrau Compensada’ %Exibe o titulo.
113 Kpc2=dcgain(K3*Gc2) % Calcula Kp para G(s) com s=0
114 erro_degrau_compensado2=1/(1+Kpc2) % cacula o erro da entrada em degrau
115 pause
116 clc

Para a Etapa IV:


1 clf % Apaga o g r f i c o na tela.
2 ’Sistema sem c o m p e n s a o ’ % Exibe o t t u l o .
3 numg=[0.072 1.6596 0.0856 0.06624]; % Gera o numerador de G(s).
4 deng=[1 +1.08 -1.07 -0.0552 -0.0476]; % Gera o denominador de G(s).
5 ’G(s)’ % Exibe o t t u l o .
6 G=tf (numg,deng) % Cria e exibe G(s).
7 pup=input (’Entre a ultrapassagem percentual desejada: \n’);
8 % Entra ultrapassagem percentual
9 % desejada.
10 z=-log (pup/100)/sqrt(pi^2+[log(pup/100)]^2);
11 % Calcula o fator de amortecimento.
Capítulo 5. Código utilizado 23

12 rlocus (G) % T r a a o lugar geom trico das r a z e s


13 % do sistema sem c o m p e n s a o .
14 sgrid (z,0) % S o b r e p e a reta de ultrapassagem
15 % percentual desejada.
16 title ([’LGR do Sistema sem c o m p e n s a o com’, num2str(pup),...
17 ’% de Ultrapassagem’]) % Intitula o lugar geom trico das
18 % r a z e s sem c o m p e n s a o .
19 [K,p]=rlocfind(G); % Gera o ganho, K, e os polos em malha
20 % fechada, p, para o ponto selecionado
21 % interativamente sobre o lugar
22 % geom trico das r a z e s .
23 ’Polos em malha fechada =’ % Exibe o t t u l o .
24 p % Exibe os polos em malha fechada.
25 f=input(’Entre o n m e r o do polo que o ponto de o p e r a o : \n’);
26 % Escolhe o polo dominante do sistema
27 % sem c o m p e n s a o .
28 ’Resumo das e s p e c i f i c a e s estimadas para o ponto selecionado no’
29 ’lugar geom trico das r a z e s sem c o m p e n s a o ’
30 % Exibe o t t u l o .
31 ponto_de_operacao=p(f) % Exibe o polo dominante sem
32 % compensa o.
33 ganho=K % Exibe o ganho sem c o m p e n s a o .
34 tempo_de_acomodacao_estimado=4/abs(real(p(f)))
35 % Exibe o tempo de a c o m o d a o sem
36 % compensa o.
37 instante_de_pico_estimado=pi/abs(imag(p(f)))
38 % Exibe o instante de pico sem
39 % compensa o.
40 ultrapassagem_percentual_estimada=pup
41 % Exibe a ultrapassagem percentual
42 % sem c o m p e n s a o .
43 fator_de_amortecimento_estimado=z
44 % Exibe o fator de amortecimento
45 % sem c o m p e n s a o .
46 frequencia_natural_estimada=sqrt(real(p(f))^2+imag(p(f))^2)
47 % Exibe a frequ ncia natural sem
48 % compensa o.
49 ’T(s)’ % Exibe o t t u l o .
50 T=feedback (K*G,1) % Determina T(s) sem c o m p e n s a o .
51 step(T) % Apresenta a resposta ao degrau do
52 % sistema sem c o m p e n s a o .
53 title ([’Resposta ao Degrau do Sistema sem C o m p e n s a o com’,...
54 num2str(pup),’ % de Ultrapassagem’])
55 % Adiciona um t t u l o resposta ao
56 % sem c o m p e n s a o .
57
58 ’Pressione qualquer tecla para passar para a c o m p e n s a o PD’
Capítulo 5. Código utilizado 24

59 % Exibe o t t u l o .
60 pause
61
62 ’Sistema compensado’ % Exibe o t t u l o .
63 Ts=input (’Entre o tempo de a c o m o d a o desejado’);
64 % Entra o tempo de a c o m o d a o desejado
65 % a t r a v s do teclado.
66 wn=4/(Ts*z); % Calcula a frequ ncia natural.
67 polo_desejado=(-z*wn)+(wn*sqrt(1-z^2)*i);
68 % Calcula a p o s i o do polo
69 % dominante desejado.
70 angulo_no_polo_desejado =(180/pi)*angle(polyval(numg,polo_desejado)/polyval
(deng,polo_desejado))
71 % Calcula a c o n t r i b u i o angular no
72 % polo desejado sem o compensador PD.
73 angulo_do_PD=angulo_no_polo_desejado+180
74 % Calcula a c o n t r i b u i o angular
75 % requerida para o compensador PD.
76 zc=((imag(polo_desejado)/tan(angulo_do_PD*(pi/180)))-real(polo_desejado)) %
Calcula a p o s i o do zero do
77 % compensador PD.
78 ’Compensador PD’ % Exibe o t t u l o .
79 numc=[1 zc]; % Calcula o numerador de Gc(s).
80 denc=[1]; % Calcula o denominador de Gc(s)
81 ’Gc(s)’ % Exibe o t t u l o .
82 Gc=tf (numc,denc) % Cria e exibe Gc(s).
83 ’G(s)Gc(s)’ % Exibe o t t u l o .
84 Ge=G*Gc % Conecta G(s) e Gc(s) em cascata.
85 rlocus (Ge) % T r a a o lugar geom trico das r a z e s
86 % do sistema compensado com PD.
87 sgrid(z,0) % S o b r e p e a reta de ultrapassagem
88 % percentual desejada.
89 title ([’ L G R a z e s Compensado com PD com reta de’, num2str(pup),...
90 ’% de Ultrapassagem’]) % Adiciona um t t u l o ao lugar
91 % geom trico das r a z e s compensado
92 % com PD.
93 [K2,p]=rlocfind(Ge); % Gera o ganho, K, e os polos em malha
94 % fechada, p, para o ponto selecionado
95 % interativamente no lugar geom trico
96 % das r a z e s .
97 ’Polos em malha fechada=’ % Exibe o t t u l o .
98 p % Exibe os polos em malha fechada do
99 % sistema compensado com PD.
100 f=input (’Entre o n m e r o do polo que o ponto de o p e r a o ’);
101 % Escolhe o polo dominante do sistema
102 % compensado com PD.
103 ’Resumo das e s p e c i f i c a e s estimadas para o ponto selecionado no’
Capítulo 5. Código utilizado 25

104 ’lugar geom trico das r a z e s compensado com PD’


105 % Exibe o t t u l o .
106 ponto_de_operacao=p(f) % Exibe o polo dominante compensado
107 % com PD.
108 ganho=K2 % Exibe o ganho compensado com PD.
109 tempo_de_acomodacao_estimado=4/abs(real(p(f)))
110 % Exibe o tempo de a c o m o d a o
111 % compensado com PD.
112 instante_de_pico_estimado=pi/abs(imag(p(f)))
113 % Exibe o instante de pico compensado
114 % compensado com PD.
115 ultrapassagem_percentual_estimada=pup
116 % Exibe a ultrapassagem percentual
117 % compensada com PD.
118 fator_de_amortecimento_estimado=z
119 % Exibe o fator de
120 % amortecimento compensado com PD.
121 frequencia_natural_estimada=sqrt(real(p(f))^2+imag(p(f))^2)
122 % Exibe a frequ ncia natural
123 % compensada com PD.
124 ’T(s)’ % Exibe o t t u l o .
125 Tc=feedback (K2*Ge,1) % Cria e exibe T(s) compensada com PD
126 ’Pressione qualquer tecla para continuar e obter a resposta ao’
127 ’degrau do sistema compensado com PD’
128 % Exibe o t t u l o .
129 pause
130
131 step (T) % Apresenta a resposta ao degrau do
132 % sistema compensado com PD.
133 hold on
134 step (Tc)
135
136 ’Erro Entrada em Degrau Compensada’ %Exibe o titulo.
137 Kpc=dcgain(K2*Ge) % Calcula Kp para G(s) com s=0
138 erro_degrau_compensado1=1/(1+Kpc) % cacula o erro da entrada em degrau
139 pause
140
141 title ([’Resposta ao Degrau do Sistema Compensado com PD com’,num2str(pup),
’% de Ultrapassagem’])
142 % Adiciona um t t u l o
143 % resposta ao degrau do
144 % sistema compensado com PD.
145 pause

Para a Etapa V:
1 clf
Capítulo 5. Código utilizado 26

2 ’Sistema sem c o m p e n s a o ’ % Exibe o t t u l o .


3 numg=[0.072 1.6596 0.0856 0.06624]; % Gera o numerador de G(s).
4 deng=[1 +1.08 -1.07 -0.0552 -0.0476]; % Gera o denominador de G(s).
5 ’G(s)’ % Exibe o t t u l o .
6 G=tf (numg,deng) % Cria e exibe G(s).
7 pup=input (’Entre com a ultrapassagem percentual desejada’);
8 % Entra ultrapassagem percentual desejada.
9 z=-log (pup/100)/sqrt(pi^2+[log(pup/100)]^2);
10 % Calcula o fator de amortecimento.
11 rlocus (G)% do sistema sem c o m p e n s a o .
12 sgrid (z,0) % S o b r e p e a reta de ultrapassagem
13 % percentual desejada.
14 title ([’LGR sem c o m p e n s a o com reta de ’,num2str(pup),...
15 ’% de Ultrapassagem’]) % Adiciona um t t u l o ao lugar
16 % geom trico das r a z e s do sistema
17 % sem c o m p e n s a o
18 [K,p]=rlocfind(G); % Gera o ganho, K, e os polos em malha
19 % fechada, p, para o ponto selecionado
20 % interativamente sobre o lugar
21 % geom trico das r a z e s .
22 ’Polos em malha fechada=’ % Exibe o t t u l o .
23 p % Exibe os polos em malha fechada.
24 f=input (’Entre o n m e r o do polo que o ponto de o p e r a o ’);
25 % Escolhe o polo dominante do sistema
26 % sem c o m p e n s a o .
27 ’Resumo das e s p e c i f i c a e s estimadas para o ponto selecionado no’
28 ’lugar geom trico das r a z e s sem c o m p e n s a o ’
29 % Exibe o t t u l o .
30 ponto_de_operacao=p(f) % Exibe o polo dominante sem
31 % sem c o m p e n s a o .
32 ganho=K % Exibe o ganho sem c o m p e n s a o .
33 tempo_de_acomodacao_estimado=4/abs(real(p(f)))
34 % Exibe o tempo de a c o m o d a o sem
35 % compensa o.
36 instante_de_pico_estimado=pi/abs(imag(p(f)))
37 % Exibe o instante de pico sem
38 % compensa o.
39 ultrapassagem_percentual_estimada=pup
40 % Exibe a ultrapassagem percentual
41 % sem c o m p e n s a o .
42 fator_de_amortecimento_estimado=z
43 % Exibe o fator de
44 % amortecimento sem c o m p e n s a o .
45 frequencia_natural_estimada=sqrt(real(p(f))^2+imag(p(f))^2)
46 % Exibe a frequ ncia natural sem
47 % sem c o m p e n s a o .
48 numkv=conv ([1 0],numg); % Configura o numerador para
Capítulo 5. Código utilizado 27

49 % calcular Kv.
50 denkv=deng; % Configura o denominador para
51 % calcular Kv.
52 sG=tf (numkv,denkv); % Cria sG(s).
53 sG=minreal(sG); % Cancela polos e zeros comuns.
54 Kv=dcgain (K*sG) % Exibe Kv sem c o m p e n s a o .
55 erp=1/Kv % Exibe o erro em regime permanente
56 % sem c o m p e n s a o para uma entrada
57 % em rampa u n i t r i a .
58 ’T(s)’ % Exibe o t t u l o .
59 T=feedback (K*G,1) % Cria e Exibe T(s).
60 step(T) % Apresenta a resposta ao degrau do
61 % sistema sem c o m p e n s a o .
62 title ([’Resposta ao Degrau do Sistema sem C o m p e n s a o com’,num2str(pup),
’% de Ultrapassagem’])
63 % Adiciona um t t u l o
64 % resposta ao degrau sem c o m p e n s a o .
65 ’Pressione qualquer tecla para passar para a’
66 ’ c o m p e n s a o de a v a n o de fase’
67 % Exibe o t t u l o .
68 pause
69 Ts=input (’Entre o Tempo de A c o m o d a o Desejado’);
70 % Entra o tempo de a c o m o d a o desejado
71 msg = [’Entre o Zero do Compensador de A v a n o de Fase,’...
72 ’(s+b).b=’]; % Armazena cadeia longa em v a r i v e l .
73 b=input(msg); % Entra o zero do compensador de
74 % a v a n o de fase.
75 done=1; % Inicializa o contador do l a o .
76 while done==1 % C o m e a o l a o para obter o polo do
77 % compensador de a v a n o de fase.
78 msg = [’Entre um Polo de Teste para o Compensador de A v a n o de Fase, (s+a)
.a=’]; % Armazena cadeia longa em v a r i v e l .
79 a=input (msg); % Entra um polo de teste do para o
80 % compensador.
81 numge=conv (numg,[1 b]); % Gera o numerador de Gc(s)G(s).
82 denge=conv ([1 a],deng); % Gera o denominador de Gc(s)G(s).
83 Ge=tf(numge,denge); % Cria Ge(s)= Gc(s)G(s).
84 wn=4/(Ts*z); % Calcula a frequ ncia natural
85 % desejada.
86 clf % Apaga o g r f i c o na tela.
87 rlocus(Ge) % T r a a o lugar geom trico das r a z e s
88 % compensado com o polo de teste do
89 % compensador de a v a n o de fase.
90 axis ([-10,10,-10,10]) % Altera os eixos do lugar
91 % geom trico das r a z e s compensado
92 % com a v a n o de fase.
93 sgrid (z,wn) % S o b r e p e uma grade ao lugar
Capítulo 5. Código utilizado 28

94 % geom trico das r a z e s compensado


95 % com a v a n o de fase.
96 title ([’LGR Compensado com A v a n o de Fase com reta de’,num2str(pup,3),’%
de Ultrapassagem, Polo de A v a n o de Fase em’,num2str(-a),’e Wn
Requerido’])
97 % Adiciona t t u l o ao
98 % lugar geom trico das r a z e s
99 % compensado com a v a n o de fase.
100 done=input (’ V o c terminou? (s=0,n=1)’);
101 % Configura o contador do l a o
102 end % Fim do l a o para obter o polo
103 % do compensador.
104 [K,p]=rlocfind(Ge); % Gera o ganho, K, e os polos em malha
105 % fechada, p, para o ponto selecionado
106 % interativamente sobre o lugar
107 % geom trico das r a z e s .
108 ’Gc(s)’ % Exibe o t t u l o .
109 Gc=tf ([1 b],[1 a]) % Exibe o compensador de a v a n o de fase.
110 ’Gc(s)G(s)’ % Exibe o t t u l o .
111 Ge % Exibe Gc(s)G(s).
112 ’Polos em malha fechada=’ % Exibe o t t u l o .
113 p % Exibe os polos em malha fechada do
114 % sistema compensado com a v a n o de fase
115 f=input (’Entre o n m e r o do polo que o ponto de o p e r a o ’);
116 % Escolhe o polo dominante do sistema
117 % compensado com a v a n o de fase.
118 ’Resumo das e s p e c i f i c a e s estimadas para o ponto selecionado no’
119 ’lugar geom trico das r a z e s compensado com a v a n o de fase’
120 % Exibe o t t u l o .
121 ponto_de_operacao=p(f) % Exibe o polo dominante
122 % compensado com a v a n o de fase.
123 ganho=K % Exibe o ganho compensado com
124 % a v a n o de fase.
125 tempo_de_acomodacao_estimado=4/abs(real(p(f)))
126 % Exibe o tempo de a c o m o d a o
127 % compensado com a v a n o de fase.
128 instante_de_pico_estimado=pi/abs(imag(p(f)))
129 % Exibe o instante de pico compensado
130 % com a v a n o de fase.
131 ultrapassagem_percentual_estimada=pup
132 % Exibe a ultrapassagem percentual
133 % compensada com a v a n o de fase.
134 fator_de_amortecimento_estimado=z
135 % Exibe o fator de amortecimento
136 % compensado com a v a n o de fase.
137 frequencia_natural_estimada=sqrt(real(p(f))^2+imag(p(f))^2)
138 % Exibe a frequ ncia natural
Capítulo 5. Código utilizado 29

139 % compensada com a v a n o de fase.


140
141 ’T(s)’ % Exibe o t t u l o .
142 T=feedback (K*Ge,1) % Cria e exibe T(s) compensada com
143 % a v a n o de fase.
144 ’Pressione qualquer tecla para continuar e obter a resposta ao’
145 ’degrau compensada com a v a n o de fase’
146 % Exibe o t t u l o .
147
148 pause
149 step (T) % Apresenta a resposta ao degrau do
150 % sistema compensado com a v a n o de fase.
151
152 ’Erro Entrada em Degrau Compensada’ %Exibe o titulo.
153 Kpc=dcgain(K*Ge) % Calcula Kp para G(s) com s=0
154 erro_degrau_compensado1=1/(1+Kpc) % cacula o erro da entrada em degrau
155 pause
156
157 title ([’Resposta ao Degrau Compensada com A v a n o de Fase com’,num2str(pup
),’% de Ultrapassagem’]) % Adiciona um t t u l o
158 % resposta ao degrau do sistema
159 % compensado com a v a n o de fase.
160 pause

Para a Etapa VI:


1 clf % Apaga o g r f i c o na tela.
2 ’Sistema sem c o m p e n s a o ’ % Exibe o t t u l o .
3 numg=[1 8]; % Gera o numerador de G(s).
4 deng=poly ([-3 -6 -10]); % Gera o denominador de G(s).
5 ’G(s)’ % Exibe o t t u l o .
6 G=tf (numg,deng) % Cria e exibe G(s).
7 pup=input (’Entre a ultrapassagem percentual desejada’);
8 % Entra ultrapassagem percentual
9 % desejada.
10 z=-log (pup/100)/sqrt(pi^2+[log(pup/100)]^2);
11 % Calcula o fator de amortecimento.
12 rlocus (G) % T r a a o lugar geom trico das r a z e s
13 % do sistema sem c o m p e n s a o .
14 sgrid (z,0) % S o b r e p e a reta de ultrapassagem
15 % percentual desejada.
16 title ([’LGR do Sistema sem c o m p e n s a o com’, num2str(pup),...
17 ’% de Ultrapassagem’]) % Intitula o lugar geom trico das
18 % r a z e s sem c o m p e n s a o .
19 [K,p]=rlocfind(G); % Gera o ganho, K, e os polos em malha
20 % fechada, p, para o ponto selecionado
21 % interativamente sobre o lugar
Capítulo 5. Código utilizado 30

22 % geom trico das r a z e s .


23 ’Polos em malha fechada =’ % Exibe o t t u l o .
24 p % Exibe os polos em malha fechada.
25 f=input(’Entre o n m e r o do polo que o ponto de o p e r a o ’);
26 % Escolhe o polo dominante do sistema
27 % sem c o m p e n s a o .
28 instante_de_pico_estimado=pi/abs(imag(p(f)))
29 % Exibe o instante de pico sem
30 % compensa o.
31 ’Pressione qualquer tecla para passar para a c o m p e n s a o PD’
32 % Exibe o t t u l o .
33 pause
34 ’Sistema compensado’ % Exibe o t t u l o .
35 Tp=input (’Entre o tempo de pico desejado’);
36 % Entra o tempo de a c o m o d a o desejado
37 % a t r a v s do teclado.
38 wn=4/(Tp*sqrt(1-z^2)); % Calcula a frequ ncia natural.
39 polo_desejado=(-z*wn)+(wn*sqrt(1-z^2)*i);
40 % Calcula a p o s i o do polo
41 % dominante desejado.
42 angulo_no_polo_desejado=(180/pi)*angle(polyval(numg,polo_desejado)/polyval(
deng,polo_desejado));
43 % Calcula a c o n t r i b u i o angular no
44 % polo desejado sem o compensador PD.
45 angulo_do_PD=180-angulo_no_polo_desejado;
46 % Calcula a c o n t r i b u i o angular
47 % requerida para o compensador PD.
48 zc=((imag(polo_desejado)/tan(angulo_do_PD*pi/180))-real (polo_desejado)); %
Calcula a p o s i o do zero do
49 % compensador PD.
50 ’Compensador PD’ % Exibe o t t u l o .
51 numc=[1 zc]; % Calcula o numerador de Gc(s).
52 denc=[0 1]; % Calcula o denominador de Gc(s)
53 ’Gc(s)’ % Exibe o t t u l o .
54 Gc=tf (numc,denc) % Cria e exibe Gc(s).
55 ’G(s)Gc(s)’ % Exibe o t t u l o .
56 Ge=G*Gc % Conecta G(s) e Gc(s) em cascata.
57 rlocus (Ge,0:0.005:100) % T r a a o lugar geom trico das r a z e s
58 % do sistema compensado com PD.
59 sgrid(z,0) % S o b r e p e a reta de ultrapassagem
60 % percentual desejada.
61 title ([’ L G R a z e s Compensado com PD com reta de’, num2str(pup),...
62 ’% de Ultrapassagem’]) % Adiciona um t t u l o ao lugar
63 % geom trico das r a z e s compensado
64 % com PD.
65 [K2,p]=rlocfind(Ge); % Gera o ganho, K, e os polos em malha
66 % fechada, p, para o ponto selecionado
Capítulo 5. Código utilizado 31

67 % interativamente no lugar geom trico


68 % das r a z e s .
69 ’Polos em malha fechada=’ % Exibe o t t u l o .
70 p % Exibe os polos em malha fechada do
71 % sistema compensado com PD.
72 pause
73 ’Adicionando o compensador integral ideal’
74 numc2=[1 0.1]; % Define o numerador de C(s).
75 denc2=poly([0]); % Define o denominador de C(s).
76 ’Gc2(s)’ % Exibe o t t u l o .
77 Gc2=tf (numc2,denc2) % Cria e exibe C(s)
78 pause
79 Ge2=(Gc2+Gc)*G% Aplica o compensador sobre a f u n o G(s)
80 rlocus(Ge2)% Cria Lugar geom trico das raizes compensado
81 rlocus(Ge2,0:0.005:100)
82 title (’Lugar Geom trico das R a z e s Compensado e Suavizado’)%exibe titulo
83 sgrid (z,0)
84 [K3,p]=rlocfind(Ge2) % Gera o ganho, K, e os polos em malha
85 % fechada, p, para o ponto selecionado
86 pause
87 ’T(s)’ % Exibe o t t u l o .
88 T=feedback(K*G,1) % O b t m e exibe a f u n o de
89 % transfer ncia em malha fechada com o
90 % K selecionado.
91 Tc=feedback(K2*Ge,1) % O b t m e exibe a f u n o de
92 % transfer ncia em malha fechada compensada com o
93 % K selecionado.
94 Tc2=feedback(K3*Ge2,1) % O b t m e exibe a f u n o de
95 % transfer ncia em malha fechada compensada com o
96 % K selecionado.
97 step (T) % Gera a resposta ao degrau em malha
98 % fechada para o ponto selecionado
99 hold on
100 step (Tc) % Gera a resposta ao degrau em malha
101 % fechada para o ponto selecionado
102 % sobre o lugar geom trico das r a z e s .
103 step (Tc2) % Gera a resposta ao degrau em malha
104 % fechada para o ponto selecionado
105 % sobre o lugar geom trico das r a z e s .
106 title ([’Resposta ao Degrau’])
107 % D um t t u l o resposta ao degrau
108 % que inclui o valor de K.
109 pause

Para a Etapa VII:


1 clear % Apaga as v a r i v e i s do workspace.
Capítulo 5. Código utilizado 32

2 clf % Apaga o g r f i c o na tela.


3 numg=[0.072 1.6596 0.08568 0.06623]; % Define o numerador de G(s).
4 deng=[1 +1.08 -1.07 -0.0552 -0.0476]; % Define o denominador de G(s).
5 ’G(s)’ % Exibe o t t u l o .
6 G=tf (numg,deng) % Cria e exibe G(s).
7 % Passo 1
8 ’ A n l i s e de sistema n o compensado’
9 rlocus(G) % T r a a o lugar geom trico das r a z e s
10 % (H(s)=1).
11 %title (’Lugar Geom trico das R a z e s Original’)
12 % Adiciona um t t u l o .
13
14 rlocus(G) % T r a a o lugar geom trico das r a z e s
15 % suavizado (H (s)=1)
16 %title (’Lugar Geom trico das R a z e s Suavizado’)
17 % Adiciona um t t u l o .
18 pup=input(’Digite %UP: \n’); % Entra ultrapassagem percentual
19 % desejada a partir do teclado.
20 z=-log(pup/100)/sqrt(pi^2+[log(pup/100)]^2)
21 % Calcula a ultrapassagem percentual.
22 sgrid (z,0) % S o b r e p e a reta de fator de
23 % amortecimento desejado ao lugar
24 % geom trico das r a z e s .
25
26 %Passo 2
27 % A v a n o de fase
28 Ts=input (’Entre o Tempo de A c o m o d a o Desejado’);
29 % Entra o tempo de a c o m o d a o desejado
30 msg = [’Entre o Zero do Compensador de A v a n o de Fase,’...
31 ’(s+b).b=’]; % Armazena cadeia longa em v a r i v e l .
32 b=input(msg); % Entra o zero do compensador de
33 % a v a n o de fase.
34 done=1; % Inicializa o contador do l a o .
35 while done==1 % C o m e a o l a o para obter o polo do
36 % compensador de a v a n o de fase.
37 msg = [’Entre um Polo de Teste para o Compensador de A v a n o de Fase, (s+a)
.a=’]; % Armazena cadeia longa em v a r i v e l .
38 a=input (msg); % Entra um polo de teste do para o
39 % compensador.
40 numge=conv (numg,[1 b]); % Gera o numerador de Gc(s)G(s).
41 denge=conv ([1 a],deng); % Gera o denominador de Gc(s)G(s).
42 Ge=tf(numge,denge); % Cria Ge(s)= Gc(s)G(s).
43 wn=4/(Ts*z); % Calcula a frequ ncia natural
44 % desejada.
45 clf % Apaga o g r f i c o na tela.
46 rlocus(Ge) % T r a a o lugar geom trico das r a z e s
47 % compensado com o polo de teste do
Capítulo 5. Código utilizado 33

48 % compensador de a v a n o de fase.
49 axis ([-10,10,-10,10]) % Altera os eixos do lugar
50 % geom trico das r a z e s compensado
51 % com a v a n o de fase.
52 sgrid (z,wn) % S o b r e p e uma grade ao lugar
53 % geom trico das r a z e s compensado
54 % com a v a n o de fase.
55 title ([’LGR Compensado com A v a n o de Fase com reta de’,num2str(pup,3),’%
de Ultrapassagem, Polo de A v a n o de Fase em’,num2str(-a),’e Wn
Requerido’])
56 % Adiciona t t u l o ao
57 % lugar geom trico das r a z e s
58 % compensado com a v a n o de fase.
59 done=input (’ V o c terminou? (s=0,n=1)’);
60 % Configura o contador do l a o
61 end % Fim do l a o para obter o polo
62
63 [K,p]=rlocfind(Ge) % Gera o ganho, K, e os polos em malha
64 % fechada, p, para o ponto selecionado
65 % interativamente sobre o lugar
66 % geom trico das r a z e s .
67 pause
68
69 ’Adicionando o compensador por atraso de fase’
70 ’Erro Entrada em Degrau’ %Exibe o titulo.
71
72 Kp=dcgain(K*Ge) % Calcula Kp para G(s) com s=0
73 erro_degrau=1/(1+Kp) % cacula o erroa da entrada em degrau
74 pause
75
76 fe= input(’Digite o fator de melhoria do erro em regime permanente desejado
: \n’); %Entra com o fator de melhoria
77 %do erro pelo compensador
78
79 Erro_desejado= erro_degrau/fe;
80 Kp2=(1-Erro_desejado)/(Erro_desejado);
81 Relacao_de_compensacao=Kp2/Kp
82
83
84 pc=0.01;
85 zc2=pc*Relacao_de_compensacao
86 numc=[1 zc2]; % Define o numerador de C(s).
87 denc=poly([-pc]); % Define o denominador de C(s).
88 ’C2(s)’ % Exibe o t t u l o .
89 C2=tf (numc,denc) % Cria e exibe C(s)
90
91 pause
Capítulo 5. Código utilizado 34

92
93 Gc2=C2*Ge
94 rlocus(Gc2)% Cria Lugar geom trico das raizes compensado
95 title (’Lugar Geom trico das R a z e s Compensado e Suavizado’)%exibe titulo
96 sgrid (z,0)
97 [K2,p]=rlocfind(Gc2) % Gera o ganho, K, e os polos em malha
98 % fechada, p, para o ponto selecionado
99 pause
100
101 ’T(s)’ % Exibe o t t u l o .
102
103
104 Tc2=feedback(K2*Gc2,1) % O b t m e exibe a f u n o de
105 % transfer ncia em malha fechada compensada com o
106 % K selecionado.
107
108 step (Tc2) % Gera a resposta ao degrau em malha
109 % fechada para o ponto selecionado
110 % sobre o lugar geom trico das r a z e s .
111
112 title ([’Resposta ao Degrau’])
113 % D um t t u l o resposta ao degrau
114 % que inclui o valor de K.
115 pause
116
117 ’Erro Entrada em Degrau Compensada’ %Exibe o titulo.
118 Kpc2=dcgain(K2*Gc2) % Calcula Kp para G(s) com s=0
119 erro_degrau_compensado2=1/(1+Kpc2) % cacula o erro da entrada em degrau
120 pause
121 clc
35

Referências

FACCIN, F. Abordagem inovadora no projeto de controladores pid. 2004.

MATAS, A. L. et al. Sintonia de controladores PID com controle adaptativo por modelo
de referência (MRAC) aplicado a um motor de corrente contínua. Tese (Doutorado) —
UNIVERSIDADE DE SÃO PAULO, 2012.

SILVA, S. Automação e Controle discreto. São Paulo: [s.n.], 1999.

Você também pode gostar