SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Objetivo: testar/projetar controladores clássicos sobre uma mesma
planta comparando resultados na forma de uma tabela e gráfico de
respostas temporais.
Os controladores à serem testados são:
1) Proporcional;
2) PI
3) PI + Zero
4) PI + Pólos Dominantes
5) Lag (Atraso)
6) Lead (Avanço)
7) PD
8) PID
9) Lead-Lag
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 1 DE 36
Controle
Automático
III
Prof. Dr. Eng.
Fernando Passold
Objetivo Geral:
Projetos de
Controladores
Clássicos, formato
digital, usando
como ferramenta:
Lugar das Raízes.
TRABALHO2
UPF
Eng. Elétrica
Resumo sobre Papel/Objetivo de cada
Controlador:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 2 DE 36
1) Proporcional;
2) PI
3) PI + Zero
4) PI + Pólos Dominantes
5) Lag (Atraso)
6) Lead (Avanço)
7) PD
8) PID
9) Lead-Lag
Root Locus
Real Axis
ImaginaryAxis
−8 −7 −6 −5 −4 −3 −2 −1 0 1 2
−4
−3
−2
−1
0
1
2
3
4
System: BoG
Gain: 3.41e+03
Pole: 0.0213
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 38.5
System: BoG
Gain: 249
Pole: 0.9 + 0.433i
Damping: 0.00362
Overshoot (%): 98.9
Frequency (rad/s): 4.49
Soluções Parciais
Planta adotada:
>> zpk(G)
1
------------------
(s+10) (s+2) (s+1)
BoG(z):
0.00012224 (z+2.747) (z+0.1903)
--------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
Sample time: 0.1 seconds
Requisitos de controle: %OS < 5%
ts < metade do tempo de assentamento do controlador proporcional.
Determinando fator de amortecimento, zeta, com base em %OS:
>> zeta=(-log(OS/100))/(sqrt(pi^2+(log(OS/100)^2)))
zeta = 0.6901
Notar ganho da planta
para entrada degrau
unitário:
>> dcgain(BoG)
0.0500
>>
Resposta em Malha-
aberta:
Step Response
Time (seconds)
Amplitude
0 1 2 3 4 5 6 7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
System: untitled1
Rise time (seconds): 2.6
System: untitled1
Settling time (seconds): 4.71
Note: não é unitário!
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 3 DE 36
1a-Parte: fechar malha de realimentação com controlador
Proporcional.
Obtendo RL para BoG(z) e
sobrepondo linha com zeta =
0,6901:
K1 = 16.7499
Ganho DC da FTMF ?
>> dcgain(ftmf1)
0.4572
Verificando resposta ao degrau
para saída y(∞) = 1,0.:
>> figure; step(1/
ans*ftmf1)
>> 1/ans
2.1874 ← Amplitude do degrau!
Determinar erro de regime permanente —> ?
ts1 = 3,26 segundos
Para próximos
controladores:
ts_desejado = 3,26 / 2 = 1,63
(máximo).
Continua.
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 4 DE 36
Root Locus
Real Axis
ImaginaryAxis
−0.4 −0.2 0 0.2 0.4 0.6 0.8 1
−0.4
−0.2
0
0.2
0.4
0.6
0.8
0.69
System: BoG
Gain: 249
Pole: 0.9 + 0.433i
Damping: 0.00362
Overshoot (%): 98.9
Frequency (rad/s): 4.49
K=16,7499
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: untitled1
Peak amplitude: 1.04
Overshoot (%): 4.26
At time (seconds): 2.5
System: untitled1
Rise time (seconds): 1.16
System: untitled1
Settling time (seconds): 3.26
System: untitled1
Final value: 1
0.00012224 (z+2.747) (z+0.1903)
BoG(z) = --------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
2) Controlador PI
“puro”:
C2(z):
1
-----
(z-1)
RL resultante:
K2 = 0,5699
Resposta do sistema:
ts = 12,5
%OS = 3,9%
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 5 DE 36
−1.5 −1 −0.5 0 0.5 1 1.5
−1
−0.5
0
0.5
1
1.5
0.69
Root Locus
Real Axis
ImaginaryAxis
K2
=0.5699
0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15
−0.1
0
0.1
0.2
0.3
0.4
0.5
Root Locus
Real Axis
ImaginaryAxis
K2
=0.5699
Step Response
Time (seconds)
Amplitude
0 5 10 15 20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: ftmf2
Settling time (seconds): 12.5
System: ftmf2
Peak amplitude: 1.04
Overshoot (%): 3.9
At time (seconds): 9.7
Step Response
Time (seconds)
Amplitude
0 5 10 15 20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: PI puro
Settling time (seconds): 12.5
System: P
Settling time (seconds): 3.26
P
PI puro
0.00012224 (z+2.747) (z+0.1903)
BoG(z) = --------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
3) Controlador PI + zero:
(z - 0.91)
----------
(z - 1)
K3 = 17,0769
Resposta MF resultante:
ts = 4,53
%OS = 3,3
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
−0.2
0
0.2
0.4
0.6
0.8
1
0.69
Root Locus
Real Axis
ImaginaryAxis
K3 = 17.0769
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 6 DE 36
Note: zero do
controlador, entre
o pólo integrador e
o pólo dominante
−7 −6 −5 −4 −3 −2 −1 0 1
−4
−3
−2
−1
0
1
2
3
4
0.69
Root Locus
Real Axis
ImaginaryAxis
Step Response
Time (seconds)
Amplitude
0 1 2 3 4 5 6 7
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: ftmf3
Peak amplitude: 1.03
Overshoot (%): 3.3
At time (seconds): 3.7
System: ftmf3
Settling time (seconds): 4.53
Step Response
Time (seconds)
Amplitude
0 5 10 15 20
0
0.2
0.4
0.6
0.8
1
System: Kp
Time (seconds): 2.49
Amplitude: 1.04
Kp
PI "puro"
PI + Zerots
1
=3,26
ts
3
=4,53 ts
2
=12,5
0.00012224 (z+2.747) (z+0.1903)
BoG(z) = --------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
4) Controlador PI com Zero cancelando pólo + dominante da
planta
Idéia:
K4 (z - 0,9048)
C4(z) = ———————————————
(z - 1)
Fica + rápido ?
Resultados…
K = 16,1225
ts = 11,3 segundos (piora)….
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 7 DE 36
0.00012224 (z+2.747) (z+0.1903)
BoG(z) = --------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
5) Controlador PI com cancelamento dos 2 pólos dominantes
K5 * (z-0.9048) (z-0.8187)
C5(z) = --------------------------
(z-1) (z-0.42)
Resultados:
K5 = 112.4943
ts = 1,84 segundos.
%OS = 2,54%
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 8 DE 36
−14 −12 −10 −8 −6 −4 −2 0 2
−6
−4
−2
0
2
4
6
Root Locus
Real Axis
ImaginaryAxis
−1 −0.5 0 0.5 1
−1
−0.5
0
0.5
1
0.69
Root Locus
Real Axis
ImaginaryAxis
K5
=112,4943
Questão ?
Onde deveria ficar o pólo
“extra" de C5(z) ?
Resposta: Calcular
contribuição dos ângulos
no RL.
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2 2.5 3 3.5
0
0.2
0.4
0.6
0.8
1
System: ftmf5
Peak amplitude: 1.03
Overshoot (%): 2.54
At time (seconds): 1.6
System: ftmf5
Settling time (seconds): 1.84
0.00012224 (z+2.747) (z+0.1903)
BoG(z) = --------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
Continua…
6) Controlador
por Atraso
(Lag)
Comentários:
localizando zero deste
controlador na mesma
localização do zero
usado no projeto do
PI — idéia final é
comparar o
desempenho deste
controlador com os
anteriores (PI + Zero,
PI + Pólos
Dominantes, PI + Lag).
C6(z):
(z-0.91)
--------
(z-0.95)
RL resultante:
Resposta resultante:
Detalhes:
>> dcgain(ftmf6)
0.5967
Amplitude do degrau:
>> K6degrau
1.6759
ts_6 = 3,7
%OS = 4,18% (2,8 seg)
Um pouco + rápido que
PI com Zeros (conforme
esperado, mas erro
nulo em regime
permanente?)
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 9 DE 36
−1 −0.5 0 0.5 1
−1
−0.5
0
0.5
1
0.69
Root Locus
Real Axis
ImaginaryAxis
Lag
K=16,4395
0.7 0.75 0.8 0.85 0.9 0.95 1 1.05
−0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
Root Locus
Real Axis
ImaginaryAxis
Lag
K=16,4395
Step Response
Time (seconds)
Amplitude
0 1 2 3 4 5 6 7
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: Lag
Time (seconds): 3.7
Amplitude: 1.02
System: PI + Zero
Settling time (seconds): 4.53
PI + Zero
Lag
0.00012224 (z+2.747) (z+0.1903)
BoG(z) = --------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
E se o zero do controlador anterior estivesse localizado mais próximo da origem do plano-z ?
“Encerrando" parte dos controladores com ação integral + controlador por atraso (Lag)
(integrador aproximado, pólo próximo de z=1), verificando aplicabilidade prática do
controlador PI com cancelamento de pólos dominantes:
Comentários:
- altamente provável que ação de controle do PI + pólos dominantes desenvolva amplitudes
excessivas, na prática, causando saturação do D/A ou driver de potência na saída do
controlador. Comprovando resultados com simulação no Simulink:
Resultados obtidos:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 10 DE 36
Sinal de controle com amplitudes excessivas
(provável saturação do Driver de Potência)
Resultado provável, estipulando saturação do driver de potência em +/- 30,0 (introdução do
bloco saturador):
Últimos comentários:
- Calcular e(∞) = ? (cte ou = 0) ?
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 11 DE 36
Atraso na resposta
Controlador Dead-Beat:
A planta convertida para o formato digital resulta em:
A idéia do controlador ded-beat é cancelar os pólos e zeros da planta. Mas somente pólos e
zeros estáveis, assim C(z) inicialmente fica como:
Notar que como o numerador de C(z) acabou sendo de 3a-ordem, seu denominador deve ser
de mesma ordem ou superior. Neste caso, falta definir a posição do pólo extra.
<< Seguem rascunhos de RLs >>
Por fim, uma localização adequada para este terceiro pólo seria em z = -0,5 e o controlador
assumiria a forma:
O que resulta na seguinte
equação
em MA:
e consequente RL
(mostrado na figura ao
lado).
Continua -->
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 12 DE 36
Note que falta definir um
ganho. Dois pontos
podem ser adotados:
1) pólos reais duplos no
ponto de partida do
RL (K ≃ 1560), ou;
2) pólos complexos
respeitando ζ =
0,6901 (%OS < 5%) e
neste caso, K ≃ 1820).
Avaliando as 2
opções, resulta no
gráfico mostrado na
figura ao lado.
Obs.: O problema não está em se obter um sistema que reage bastante rápido em MF, mas
no valor excessivo das amplitudes geradas pelo controlador — seguem simulações
realizadas no Simulink:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 13 DE 36
O sistema simulado usando Simulink resulta em:
Note as elevadas amplitudes desenvolvidas pelo
sinal de controle (nos instantes iniciais oscilaram
entre mais de +/- 1.500.
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 14 DE 36
Obs.: o gráfico do digrama de blocos (no Simulink) foi exportado do Simulink,
usando-se o seguinte comando na janela de comandos do MATLAB:
No caso acima, foi gerado um arquivo PDF (vetorizado). Mas outras opções
podem ser adotadas como por exemplo: ‘ ’ que neste caso, geraria uma
figura PNG (resolução melhor que JPG). E notar que ‘ ’ se refere ao
diagrama de blocos editado no Simulink com o nome ‘ '.
7) Controlador por Avanço (de Fase)
Controlador por atraso —> vantagem sobre PD: reduz impacto do ruído frente à
diferenciação (o controlador por atraso se aproxima de uma diferenciação).
Desejável tempo de assentamento abaixo de 1,63 segundos, o que significa:
ts =
ln (0, 02
p
1 ⇣2)
⇣!n
para o caso de: , a equação para ts pode ser aproximada para:
Neste caso, teremos então:
zeta = 0,6901, ts_d = 1,63 e wn resulta então em:
ou seja, queremos pólos de MF localizados, no plano-s, na posição:
lembrando que:
temos então:
Mas como não estamos projetando controlador no plano-s e sim no plano-z, faz-se
necessário sua translação do plano-s para o plano-z usando a definição da transformada-Z:
os pólos dominantes de MF deveriam passar por:
Temos agora que recordar o formato de um controlador de
avanço que é caracterizado pela equação:
onde no plano-s: pc ! 1 e seu zero fica próximo da
origem do plano-s (aprox. de efeito derivativo).
!d = !n ·
p
1 ⇣2
= !n · ⇣
z = e T s
C(z) =
s + zc
s + pc
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 15 DE 36
ts =
4
⇣!n
s = ± j!d
0 < ⇣ < 1
−5 −4 −3 −2 −1 0 1 2 3
−3
−2
−1
0
1
2
3
0.69
Root Locus
Real Axis
ImaginaryAxis
Mas no plano-z, ficaria com seu zero próximo do círculo unitário e
seu pólo bastante próximo da origem do plano-z.
Num primeiro momento, sem se importar com a melhor posição para
os pólos e zeros do controlador em relação à planta, podemos fazer:
O que resultaria numa FTMA(z):
e correspondente RL como:
Com
K7 = 237.6297
e pólos MF dominantes em:
0.6268 + 0.2626i
Notar que o desejado era:
polos_MFz = 0.7602 - 0.1969i
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 16 DE 36
−0.5 0 0.5 1 1.5
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
0.69
Root Locus
Real Axis
ImaginaryAxis
0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
−0.2
−0.1
0
0.1
0.2
0.3
0.4
0.69
Root Locus
Real Axis
ImaginaryAxis
K7
=237,63
0.6268 + 0.2626i
O Controlador anterior resulta na
resposta:
Notando que:
>> dcgain(ftmf7)
ans = 0.6523
ou seja, que para fazer y(∞) = 1,0;
deve ser aplicado um degrau de
amplitude igual à:
>> K7degrau=1/ans
K7degrau = 1.5330
resultando num ts = 0,951
o ts_d = 1,63.
E %OS = 2,31%
=> Verificar se ação de controle não desenvolve amplitudes elevadas demais ?
Com
K7 = 237.6297
e pólos MF dominantes em:
0.6268 + 0.2626i
Notar que o desejado era:
polos_MFz =
0.7602 - 0.1969i
Isto pode ser “melhorado"
calculando a contribuição dos
ângulos, arbitrando a localização
inicial para o zero do controlador
próximo da origem do plano-z.
Como a planta possui uma raiz bastante próxima da origem do plano-z, um pólo em z =
0,3679, podemos arbitrar uma posição do pólo do controlador em z = 0,15 (este pólo será
atraído pelo zero da planta em z = -0,19 e o pólo da planta em z = 0,3679 "caminhará" na
direção do outro pólo da planta em z = 0,8187). Esta nova composição resultaria no seguinte
RL:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 17 DE 36
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2 2.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: untitled1
Peak amplitude: 1.02
Overshoot (%): 2.31
At time (seconds): 0.9
System: untitled1
Settling time (seconds): 0.951
System: untitled1
Final value: 1
−0.5 0 0.5 1 1.5 2
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
0.69
Root Locus
Real Axis
ImaginaryAxis
K7
= 237.6297
0.6268 + 0.2626i
Desejado:
0.7602 − 0.1969i
Calculando as contribuições dos ângulos (script “angulos.m”), obtemos:
Testando:
O que resulta no seguinte RL mostrada na figura a seguir:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 18 DE 36
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2 2.5 3 3.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: untitled1
Peak amplitude: 1.09
Overshoot (%): 8.92
At time (seconds): 1.1System: untitled1
Settling time (seconds): 1.77
System: untitled1
Final value: 1
E na resposta temporal mostrada a seguir:
Obs.: Necessário aplicar degrau de amplitude igual à: 1,3949
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 19 DE 36
−1 −0.5 0 0.5 1 1.5
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
0.69
Root Locus
Real Axis
ImaginaryAxis
K7t
= 161.9354
−1 −0.5 0 0.5 1 1.5
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
1.2
0.69
Root Locus
Real Axis
ImaginaryAxis
K7b
= 175.64
Se o pólo do Controlador foi colocado em z = 0,05; teremos:
Resultado final:
Continua…
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 20 DE 36
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2 2.5 3 3.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: untitled1
Peak amplitude: 1.08
Overshoot (%): 8.24
At time (seconds): 1.1
System: untitled1
Settling time (seconds): 1.79
Projeto de Controlador de Avanço-Atraso usando transformação
bilinear.
Note que neste caso, o controlador é projetado inicialmente no plano-s, usando Diagramas de Bode e
depois é convertido para seu formato digital usando o método de Tustin.
Não é objetivo deste trabalho, avaliar novos métodos de projetos de controladores de avanço-atraso
no plano-s usando diagrama de Bode. Neste caso, será usado um script organizado previamente no
MATLAB que permite automatizar o projeto deste tipo de controlador.
A planta é dada por:
1
G(s) = ------------------
(s+10) (s+2) (s+1)
Note: é um sistema do tipo 0 (sem integradores), então exibe erro não nulo para entrada degrau. A fim
de restringir (limitar) a quantidade de incógnitas para determinação dos parâmetros do controlador
lead-lag, definimos um valor máximo tolerável de erro em regime permanente e então definimos a
constante de erro de posição, Kp. Neste caso:
Se erro_degrau(∞)=5%; como y(∞)=1,0; implica erro_degrau(∞)=0.05.
Kp original da planta: Kp = 1/(10*2*1) = 0.0500 (curiosidade).
Mas Kp para sistema FTMA(s) ficaria em:
ou:
Rodando então o script: “bode_lag_lead.m” obtêm-se os seguintes resultados:
estep(1) = lim
s!0
sE(s) = lim
s!0
s(1/s)
1 + G(s)
=
1
1 + lims!0 G(s)
=
1
1 + Kp
Kp =
1 e
e
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 21 DE 36
Que permite alcançar a seguinte resposta
para entrada degrau:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 22 DE 36
0 1 2 3 4 5 6 7 8 9
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Lag-Lead-Compensated Step Response
Time (seconds)
Amplitude
System: T
Peak amplitude: 1.2
Overshoot (%): 26.7
At time (seconds): 0.658
System: T
Settling time (seconds): 5.23
System: T
Final value: 0.95
Resultados gráficos:
%OS = 26,7%
tp = 0,658
ts = 5,23
Erro em regime permanente:
0.95
Por curiosidade, o diagrama
de Bode relacionado com o
projeto segue na figura ao
lado.
Mas estamos interessados na versão digital do controlador. Então necessitamos realizar uma
transformação bilinear do plano-s para o plano-z usando neste caso o método de Tustin:
Simulando, resulta em:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 23 DE 36
Magnitude(dB)
-100
-50
0
10
-2
10
0
10
2
Phase(deg)
-270
-225
-180
-135
-90
-45
0
45
G
G_Lead_Lag
Ge
Bode Diagram
Frequency (rad/s)
Projeto de Controlador PID
A planta é dada por:
e que seja usado período de amostragem, T = 0,1 segundos.
A equação (de diferenças) do PID no formato de velocidade é dado por:
Este conjunto introduzido no Matlab/Simulink fica como:
<Arquivo: planta_PID_velocity.slx >
Note que antes de tentar simular este sistema, é necessário se realizar sua sintonia. Para tanto,
devemos determinar Ku (ultimate gain) e Tu (período da oscilação). Isto pode ser obtido usando-se o
método de Yuri, ou de forma mais simples (mas mais imprecisa), traçando o gráfico do lugar das
raízes e simulando o sistema para capturar Tu.
Que resulta no gráfico mostrado na próxima página.
G(s) =
1
(s + 1)(s + 2)(s + 10)
u[k] = u[k 1] + Kc

(e[k] e[k 1]) +
T
⌧i
e[k] +
⌧d
T
(e[k] 2e[k 1] + e[k 2])
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 24 DE 36
RL de BoG(z):
Após algumas tentativas,
determina-se que Ku é
aproximadamente:
Ku = 246.4000
Fechando-se uma malha de
controle usando este valor para o
ganho proporcional verificamos o
sistema oscilando para uma
entrada degrau:
Mas uma simulado usando Matlab/Simulink resulta em:
Segue na próxima página diagrama em blocos no Simulink: <Arquivo: planta_P_Ku.slx >
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 25 DE 36
-1 -0.5 0 0.5 1
-1
-0.5
0
0.5
1
1.5
Root Locus
Real Axis
ImaginaryAxis
Ku 246.4
Arquivo: planta_P_Ku.slx:
Notar que o bloco “Scope" pode ser útil para
rapidamente visualizar o resultado de uma
simulação, mas não permite coletar dados para
determinar o período de oscilação, motivo pelo qual,
estão sendo usados os blocos “To Workspace”.
Mas O bloco “To Workspace” permite ser ajustado em 1
de 4 opções diferentes para o tipo de dado sendo
guardado:
<-- Detalhe para o formato
de dados selecionado para
o bloco “To Worksapce”:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 26 DE 36
Se for usado o formato (novo) “Timeseries”, um objeto específico contendo dados é gerado no
Matlab, neste caso:
More properties, Methods
>>
Gerar gráficos usando este formato de dados é simples, basta fazer:
Se por acaso for desejado inspecionar o conteúdo interno de dados no Matlab do tipo ‘timeseries’,
basta num caso como este fazer:
Deve abrir uma janela como a
mostrada ao lado.
Notar que o formato
“Array” está para ser
eliminado em versões
futuras do Maltab (notar
quadro de texto “Sace 2-D
signal as”) na figura ao
lado.
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 27 DE 36
De posse dos dados levantados anteriormente com respeito a simulação para determinar Ku e Tu
obtemos:
Usando a tabela de ZH para determinar Kc, Ti e Td obtemos:
PID —> Kc = 0,6 Ku;# Ti = Tu/2;# Td = Tu/8;
Então:
Mas.. os valores acima não podem ser aplicados diretamente num PID digital (apesar de poderem ser
usados num PID no plano-s) porque faltou considerar o período de amostragem T:
Lembrando da equação do PID (formato de velocidade):
A ponderação associado com a integração fica:
e a ponderação para o bloco associado com a derivada fica:
u[k] = u[k 1] + Kc

(e[k] e[k 1]) +
T
⌧i
e[k] +
⌧d
T
(e[k] 2e[k 1] + e[k 2])
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 28 DE 36
PID
Os valores anteriores levam ao
seguinte resultado:
Um overshoot de 68% no
instante de tempo, t = 1,7
segundos
e um tempo de ajuste (2%) de,
ts = 4,4 segundos.
Obviamente os valores inicialmente determinados para Kc, Ti e Td devem ser modificados para
alcançar um melhor resultado:
Mas repare nas amplitudes geradas para o sinal de controle (próxima página) -->
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 29 DE 36
0 2 4 6 8 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
X: 1.7
Y: 1.68
X: 5.77
Y: 0.9808
Amplitudes geradas para o sinal
de controle (figura ao lado):
Note o valor elevado de
amplitude gerado pelo PID.
Considerando o projeto de um
controlador realizado
anteriormente (por Atraso), a
amplitude máxima do sinal de
controle que o driver da plata
suporta é |30,0|.
Considerando este fato,
introduzimos um bloco de
saturação na saída do PID e
verificamos o que sucede:
Continua -->
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 30 DE 36
Time (seconds)
0 2 4 6 8 10
data
-50
0
50
100
150
200
250
300
Time Series Plot:
X: 1
Y: 272.5
Mas a amplitude exagerado o sinal de controle pode não ser o único problema.
Suponha que agregado ao sinal de saída do sistema está sobreposto um ruído (senóide de 60Hz com
amplitude 0,01 — ou seja 1% da amplitude em regime permanente da planta).
Continua -->
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 31 DE 36
Suponha agora a mesma
amplitude + mais um
senoide de 40 KHz (ruído na
rede provocado por fontes
chateadas sem filtro de RF):
A saída do sistema se modifica para:
Time (seconds)
2.5 3 3.5 4 4.5
data
0.92
0.94
0.96
0.98
1
1.02
1.04
1.06
1.08
1.1
1.12
Time Series Plot:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 32 DE 36
ANEXO1:
Script usado no MATLAB para calcular posição do zero com base em contribuição angular:
Projeto do Controlador por Avanço de Fase (Lead Compensator):
angulos.m:
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 33 DE 36
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 34 DE 36
ANEXO2:
Script no MATLAB para auxiliar no projeto do controlador por avanço-atraso:
bode_gain_adjust.m
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 35 DE 36
CONTROLE AUTO III TRABALHO 2
FERNANDO PASSOLD Versão de: 18/05/16 36 DE 36

Mais conteúdo relacionado

Mais procurados

Controle Digital de Velocidade de um Motor CC usando Matlab®
Controle Digital de Velocidade de um Motor CC usando Matlab®Controle Digital de Velocidade de um Motor CC usando Matlab®
Controle Digital de Velocidade de um Motor CC usando Matlab®Gerson Roberto da Silva
 
Cmp139 Julio Silvello Self Stabilization
Cmp139 Julio Silvello Self StabilizationCmp139 Julio Silvello Self Stabilization
Cmp139 Julio Silvello Self Stabilizationjsilvello
 
Introdução ao desenvolvimento de firmwares
Introdução ao desenvolvimento de firmwaresIntrodução ao desenvolvimento de firmwares
Introdução ao desenvolvimento de firmwareselliando dias
 
Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)
Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)
Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)Pedro Barata
 
Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timerMayara Mônica
 

Mais procurados (10)

Controle Digital de Velocidade de um Motor CC usando Matlab®
Controle Digital de Velocidade de um Motor CC usando Matlab®Controle Digital de Velocidade de um Motor CC usando Matlab®
Controle Digital de Velocidade de um Motor CC usando Matlab®
 
Cmp139 Julio Silvello Self Stabilization
Cmp139 Julio Silvello Self StabilizationCmp139 Julio Silvello Self Stabilization
Cmp139 Julio Silvello Self Stabilization
 
Introdução ao desenvolvimento de firmwares
Introdução ao desenvolvimento de firmwaresIntrodução ao desenvolvimento de firmwares
Introdução ao desenvolvimento de firmwares
 
sumando 1 2 3
sumando 1 2 3sumando 1 2 3
sumando 1 2 3
 
Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)
Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)
Reguladores Auto-ajustáveis (SELF-TUNING REGULATORS)
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Estudos de Controle - Aula 8: Análise de Resposta Transitória e de Regime Est...
Estudos de Controle - Aula 8: Análise de Resposta Transitória e de Regime Est...Estudos de Controle - Aula 8: Análise de Resposta Transitória e de Regime Est...
Estudos de Controle - Aula 8: Análise de Resposta Transitória e de Regime Est...
 
Analise de linha de automação
Analise de linha de automaçãoAnalise de linha de automação
Analise de linha de automação
 
Interrupts and the timer
Interrupts and the timerInterrupts and the timer
Interrupts and the timer
 
Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...
Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...
Estudos de Controle - Aula 11: Análise de Resposta Transitória e de Regime Es...
 

Destaque

Notas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de KarnaughNotas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de KarnaughFernando Passold
 
Tutorial softwares da área de Luminotécnica
Tutorial softwares da área de LuminotécnicaTutorial softwares da área de Luminotécnica
Tutorial softwares da área de LuminotécnicaFernando Passold
 
Mapas de Karnaugh - Circuitos Digitais
Mapas de Karnaugh - Circuitos DigitaisMapas de Karnaugh - Circuitos Digitais
Mapas de Karnaugh - Circuitos DigitaisMatheus Verçosa
 
Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4Fernando Passold
 
Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4Fernando Passold
 
Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4Fernando Passold
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Fernando Passold
 
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de KarnaughSimplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de KarnaughTony Alexander Hild
 
Introducción a la Robótica Móvil
Introducción a la Robótica MóvilIntroducción a la Robótica Móvil
Introducción a la Robótica MóvilFernando Passold
 

Destaque (10)

Notas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de KarnaughNotas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de Karnaugh
 
Tutorial softwares da área de Luminotécnica
Tutorial softwares da área de LuminotécnicaTutorial softwares da área de Luminotécnica
Tutorial softwares da área de Luminotécnica
 
Mapas de Karnaugh - Circuitos Digitais
Mapas de Karnaugh - Circuitos DigitaisMapas de Karnaugh - Circuitos Digitais
Mapas de Karnaugh - Circuitos Digitais
 
Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4
 
Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4
 
Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)
 
Robots moviles
Robots movilesRobots moviles
Robots moviles
 
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de KarnaughSimplificação de expressões Booleanas utilizando mapas de Karnaugh
Simplificação de expressões Booleanas utilizando mapas de Karnaugh
 
Introducción a la Robótica Móvil
Introducción a la Robótica MóvilIntroducción a la Robótica Móvil
Introducción a la Robótica Móvil
 

Semelhante a Comparação de controladores clássicos projetados em malha fechada para uma mesma planta

Root locus cap_9_parte_4_pt
Root locus cap_9_parte_4_ptRoot locus cap_9_parte_4_pt
Root locus cap_9_parte_4_ptFernando Passold
 
Pratica 5-clauder-eugenio-e-guilherme-martins
Pratica 5-clauder-eugenio-e-guilherme-martinsPratica 5-clauder-eugenio-e-guilherme-martins
Pratica 5-clauder-eugenio-e-guilherme-martinsBernardo Arbex Campolina
 
Controle con matlab - material adicional 1.pdf
Controle con matlab - material adicional 1.pdfControle con matlab - material adicional 1.pdf
Controle con matlab - material adicional 1.pdfCarlosAlexisAlvarado4
 
Cap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlabCap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlabSandro Sena
 
Aula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdfAula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdfPedroTVSouza
 
Aula 09-calculo-termico
Aula 09-calculo-termicoAula 09-calculo-termico
Aula 09-calculo-termicoAlex Ferreira
 
Funções (exercícios)
Funções (exercícios)Funções (exercícios)
Funções (exercícios)Kleber Miranda
 
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas EspaciaisAlgoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas EspaciaisItalo Pinto Rodrigues
 
Desenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesDesenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesMaique Mateus
 
Apostila de matemática aplicada vol i 2004
Apostila de matemática aplicada vol i 2004Apostila de matemática aplicada vol i 2004
Apostila de matemática aplicada vol i 2004Lúcio Costa
 

Semelhante a Comparação de controladores clássicos projetados em malha fechada para uma mesma planta (20)

Root locus cap_9_parte_4_pt
Root locus cap_9_parte_4_ptRoot locus cap_9_parte_4_pt
Root locus cap_9_parte_4_pt
 
Pratica 5-clauder-eugenio-e-guilherme-martins
Pratica 5-clauder-eugenio-e-guilherme-martinsPratica 5-clauder-eugenio-e-guilherme-martins
Pratica 5-clauder-eugenio-e-guilherme-martins
 
Controle con matlab - material adicional 1.pdf
Controle con matlab - material adicional 1.pdfControle con matlab - material adicional 1.pdf
Controle con matlab - material adicional 1.pdf
 
Lista2 amazonas
Lista2 amazonasLista2 amazonas
Lista2 amazonas
 
Slides 9 erm
Slides 9 ermSlides 9 erm
Slides 9 erm
 
Cap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlabCap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlab
 
Aula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdfAula 05 - Transformada de Laplace.pdf
Aula 05 - Transformada de Laplace.pdf
 
03 pid d
03 pid d03 pid d
03 pid d
 
Controle_Petróleo.ppt
Controle_Petróleo.pptControle_Petróleo.ppt
Controle_Petróleo.ppt
 
Aula 09-calculo-termico
Aula 09-calculo-termicoAula 09-calculo-termico
Aula 09-calculo-termico
 
Relatório 1
Relatório 1Relatório 1
Relatório 1
 
Lugar raizes
Lugar raizesLugar raizes
Lugar raizes
 
Funções (exercícios)
Funções (exercícios)Funções (exercícios)
Funções (exercícios)
 
Comunidades Virtuais
Comunidades VirtuaisComunidades Virtuais
Comunidades Virtuais
 
(2013-05-03) AudioLazy - Slides
(2013-05-03) AudioLazy - Slides(2013-05-03) AudioLazy - Slides
(2013-05-03) AudioLazy - Slides
 
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas EspaciaisAlgoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
Algoritmos Genéticos para Ajuste de Controlador PID em Sistemas Espaciais
 
Desenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesDesenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas lineares
 
Pro2 07p
Pro2 07pPro2 07p
Pro2 07p
 
Matematica aplicada-apostila
Matematica aplicada-apostilaMatematica aplicada-apostila
Matematica aplicada-apostila
 
Apostila de matemática aplicada vol i 2004
Apostila de matemática aplicada vol i 2004Apostila de matemática aplicada vol i 2004
Apostila de matemática aplicada vol i 2004
 

Mais de Fernando Passold

Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoFernando Passold
 
Desenvolvimento de robô social
Desenvolvimento de robô socialDesenvolvimento de robô social
Desenvolvimento de robô socialFernando Passold
 
Luminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) CálculosLuminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) CálculosFernando Passold
 
Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.Fernando Passold
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Fernando Passold
 
Introdução aos Kits Lego NXT
Introdução aos Kits Lego NXTIntrodução aos Kits Lego NXT
Introdução aos Kits Lego NXTFernando Passold
 
Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)Fernando Passold
 
Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)Fernando Passold
 
Root locus cap_9_parte_2_color
Root locus cap_9_parte_2_colorRoot locus cap_9_parte_2_color
Root locus cap_9_parte_2_colorFernando Passold
 
Introdução aos kits Lego RCX
Introdução aos kits Lego RCXIntrodução aos kits Lego RCX
Introdução aos kits Lego RCXFernando Passold
 
Robótica - Visión General
Robótica - Visión GeneralRobótica - Visión General
Robótica - Visión GeneralFernando Passold
 
Introdução à Robótica / Visão Geral / Tendências
Introdução à Robótica / Visão Geral / TendênciasIntrodução à Robótica / Visão Geral / Tendências
Introdução à Robótica / Visão Geral / TendênciasFernando Passold
 

Mais de Fernando Passold (14)

Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
 
Desenvolvimento de robô social
Desenvolvimento de robô socialDesenvolvimento de robô social
Desenvolvimento de robô social
 
Luminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) CálculosLuminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) Cálculos
 
Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 
Introdução aos Kits Lego NXT
Introdução aos Kits Lego NXTIntrodução aos Kits Lego NXT
Introdução aos Kits Lego NXT
 
Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)
 
Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)
 
Root locus cap_9_parte_2_color
Root locus cap_9_parte_2_colorRoot locus cap_9_parte_2_color
Root locus cap_9_parte_2_color
 
Introdução aos kits Lego RCX
Introdução aos kits Lego RCXIntrodução aos kits Lego RCX
Introdução aos kits Lego RCX
 
Basic step1
Basic step1Basic step1
Basic step1
 
Robótica - Visión General
Robótica - Visión GeneralRobótica - Visión General
Robótica - Visión General
 
Introdução à Robótica / Visão Geral / Tendências
Introdução à Robótica / Visão Geral / TendênciasIntrodução à Robótica / Visão Geral / Tendências
Introdução à Robótica / Visão Geral / Tendências
 
Fernando passold
Fernando passoldFernando passold
Fernando passold
 

Comparação de controladores clássicos projetados em malha fechada para uma mesma planta

  • 1. Objetivo: testar/projetar controladores clássicos sobre uma mesma planta comparando resultados na forma de uma tabela e gráfico de respostas temporais. Os controladores à serem testados são: 1) Proporcional; 2) PI 3) PI + Zero 4) PI + Pólos Dominantes 5) Lag (Atraso) 6) Lead (Avanço) 7) PD 8) PID 9) Lead-Lag CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 1 DE 36 Controle Automático III Prof. Dr. Eng. Fernando Passold Objetivo Geral: Projetos de Controladores Clássicos, formato digital, usando como ferramenta: Lugar das Raízes. TRABALHO2 UPF Eng. Elétrica
  • 2. Resumo sobre Papel/Objetivo de cada Controlador: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 2 DE 36 1) Proporcional; 2) PI 3) PI + Zero 4) PI + Pólos Dominantes 5) Lag (Atraso) 6) Lead (Avanço) 7) PD 8) PID 9) Lead-Lag
  • 3. Root Locus Real Axis ImaginaryAxis −8 −7 −6 −5 −4 −3 −2 −1 0 1 2 −4 −3 −2 −1 0 1 2 3 4 System: BoG Gain: 3.41e+03 Pole: 0.0213 Damping: 1 Overshoot (%): 0 Frequency (rad/s): 38.5 System: BoG Gain: 249 Pole: 0.9 + 0.433i Damping: 0.00362 Overshoot (%): 98.9 Frequency (rad/s): 4.49 Soluções Parciais Planta adotada: >> zpk(G) 1 ------------------ (s+10) (s+2) (s+1) BoG(z): 0.00012224 (z+2.747) (z+0.1903) -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679) Sample time: 0.1 seconds Requisitos de controle: %OS < 5% ts < metade do tempo de assentamento do controlador proporcional. Determinando fator de amortecimento, zeta, com base em %OS: >> zeta=(-log(OS/100))/(sqrt(pi^2+(log(OS/100)^2))) zeta = 0.6901 Notar ganho da planta para entrada degrau unitário: >> dcgain(BoG) 0.0500 >> Resposta em Malha- aberta: Step Response Time (seconds) Amplitude 0 1 2 3 4 5 6 7 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 System: untitled1 Rise time (seconds): 2.6 System: untitled1 Settling time (seconds): 4.71 Note: não é unitário! CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 3 DE 36
  • 4. 1a-Parte: fechar malha de realimentação com controlador Proporcional. Obtendo RL para BoG(z) e sobrepondo linha com zeta = 0,6901: K1 = 16.7499 Ganho DC da FTMF ? >> dcgain(ftmf1) 0.4572 Verificando resposta ao degrau para saída y(∞) = 1,0.: >> figure; step(1/ ans*ftmf1) >> 1/ans 2.1874 ← Amplitude do degrau! Determinar erro de regime permanente —> ? ts1 = 3,26 segundos Para próximos controladores: ts_desejado = 3,26 / 2 = 1,63 (máximo). Continua. CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 4 DE 36 Root Locus Real Axis ImaginaryAxis −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 −0.4 −0.2 0 0.2 0.4 0.6 0.8 0.69 System: BoG Gain: 249 Pole: 0.9 + 0.433i Damping: 0.00362 Overshoot (%): 98.9 Frequency (rad/s): 4.49 K=16,7499 Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: untitled1 Peak amplitude: 1.04 Overshoot (%): 4.26 At time (seconds): 2.5 System: untitled1 Rise time (seconds): 1.16 System: untitled1 Settling time (seconds): 3.26 System: untitled1 Final value: 1 0.00012224 (z+2.747) (z+0.1903) BoG(z) = -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679)
  • 5. 2) Controlador PI “puro”: C2(z): 1 ----- (z-1) RL resultante: K2 = 0,5699 Resposta do sistema: ts = 12,5 %OS = 3,9% CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 5 DE 36 −1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.5 0 0.5 1 1.5 0.69 Root Locus Real Axis ImaginaryAxis K2 =0.5699 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 −0.1 0 0.1 0.2 0.3 0.4 0.5 Root Locus Real Axis ImaginaryAxis K2 =0.5699 Step Response Time (seconds) Amplitude 0 5 10 15 20 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: ftmf2 Settling time (seconds): 12.5 System: ftmf2 Peak amplitude: 1.04 Overshoot (%): 3.9 At time (seconds): 9.7 Step Response Time (seconds) Amplitude 0 5 10 15 20 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: PI puro Settling time (seconds): 12.5 System: P Settling time (seconds): 3.26 P PI puro 0.00012224 (z+2.747) (z+0.1903) BoG(z) = -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679)
  • 6. 3) Controlador PI + zero: (z - 0.91) ---------- (z - 1) K3 = 17,0769 Resposta MF resultante: ts = 4,53 %OS = 3,3 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −0.2 0 0.2 0.4 0.6 0.8 1 0.69 Root Locus Real Axis ImaginaryAxis K3 = 17.0769 CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 6 DE 36 Note: zero do controlador, entre o pólo integrador e o pólo dominante −7 −6 −5 −4 −3 −2 −1 0 1 −4 −3 −2 −1 0 1 2 3 4 0.69 Root Locus Real Axis ImaginaryAxis Step Response Time (seconds) Amplitude 0 1 2 3 4 5 6 7 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: ftmf3 Peak amplitude: 1.03 Overshoot (%): 3.3 At time (seconds): 3.7 System: ftmf3 Settling time (seconds): 4.53 Step Response Time (seconds) Amplitude 0 5 10 15 20 0 0.2 0.4 0.6 0.8 1 System: Kp Time (seconds): 2.49 Amplitude: 1.04 Kp PI "puro" PI + Zerots 1 =3,26 ts 3 =4,53 ts 2 =12,5 0.00012224 (z+2.747) (z+0.1903) BoG(z) = -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679)
  • 7. 4) Controlador PI com Zero cancelando pólo + dominante da planta Idéia: K4 (z - 0,9048) C4(z) = ——————————————— (z - 1) Fica + rápido ? Resultados… K = 16,1225 ts = 11,3 segundos (piora)…. CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 7 DE 36 0.00012224 (z+2.747) (z+0.1903) BoG(z) = -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679)
  • 8. 5) Controlador PI com cancelamento dos 2 pólos dominantes K5 * (z-0.9048) (z-0.8187) C5(z) = -------------------------- (z-1) (z-0.42) Resultados: K5 = 112.4943 ts = 1,84 segundos. %OS = 2,54% CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 8 DE 36 −14 −12 −10 −8 −6 −4 −2 0 2 −6 −4 −2 0 2 4 6 Root Locus Real Axis ImaginaryAxis −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0.69 Root Locus Real Axis ImaginaryAxis K5 =112,4943 Questão ? Onde deveria ficar o pólo “extra" de C5(z) ? Resposta: Calcular contribuição dos ângulos no RL. Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 2.5 3 3.5 0 0.2 0.4 0.6 0.8 1 System: ftmf5 Peak amplitude: 1.03 Overshoot (%): 2.54 At time (seconds): 1.6 System: ftmf5 Settling time (seconds): 1.84 0.00012224 (z+2.747) (z+0.1903) BoG(z) = -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679)
  • 9. Continua… 6) Controlador por Atraso (Lag) Comentários: localizando zero deste controlador na mesma localização do zero usado no projeto do PI — idéia final é comparar o desempenho deste controlador com os anteriores (PI + Zero, PI + Pólos Dominantes, PI + Lag). C6(z): (z-0.91) -------- (z-0.95) RL resultante: Resposta resultante: Detalhes: >> dcgain(ftmf6) 0.5967 Amplitude do degrau: >> K6degrau 1.6759 ts_6 = 3,7 %OS = 4,18% (2,8 seg) Um pouco + rápido que PI com Zeros (conforme esperado, mas erro nulo em regime permanente?) CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 9 DE 36 −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 0.69 Root Locus Real Axis ImaginaryAxis Lag K=16,4395 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 −0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 Root Locus Real Axis ImaginaryAxis Lag K=16,4395 Step Response Time (seconds) Amplitude 0 1 2 3 4 5 6 7 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: Lag Time (seconds): 3.7 Amplitude: 1.02 System: PI + Zero Settling time (seconds): 4.53 PI + Zero Lag 0.00012224 (z+2.747) (z+0.1903) BoG(z) = -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679)
  • 10. E se o zero do controlador anterior estivesse localizado mais próximo da origem do plano-z ? “Encerrando" parte dos controladores com ação integral + controlador por atraso (Lag) (integrador aproximado, pólo próximo de z=1), verificando aplicabilidade prática do controlador PI com cancelamento de pólos dominantes: Comentários: - altamente provável que ação de controle do PI + pólos dominantes desenvolva amplitudes excessivas, na prática, causando saturação do D/A ou driver de potência na saída do controlador. Comprovando resultados com simulação no Simulink: Resultados obtidos: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 10 DE 36 Sinal de controle com amplitudes excessivas (provável saturação do Driver de Potência)
  • 11. Resultado provável, estipulando saturação do driver de potência em +/- 30,0 (introdução do bloco saturador): Últimos comentários: - Calcular e(∞) = ? (cte ou = 0) ? CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 11 DE 36 Atraso na resposta
  • 12. Controlador Dead-Beat: A planta convertida para o formato digital resulta em: A idéia do controlador ded-beat é cancelar os pólos e zeros da planta. Mas somente pólos e zeros estáveis, assim C(z) inicialmente fica como: Notar que como o numerador de C(z) acabou sendo de 3a-ordem, seu denominador deve ser de mesma ordem ou superior. Neste caso, falta definir a posição do pólo extra. << Seguem rascunhos de RLs >> Por fim, uma localização adequada para este terceiro pólo seria em z = -0,5 e o controlador assumiria a forma: O que resulta na seguinte equação em MA: e consequente RL (mostrado na figura ao lado). Continua --> CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 12 DE 36
  • 13. Note que falta definir um ganho. Dois pontos podem ser adotados: 1) pólos reais duplos no ponto de partida do RL (K ≃ 1560), ou; 2) pólos complexos respeitando ζ = 0,6901 (%OS < 5%) e neste caso, K ≃ 1820). Avaliando as 2 opções, resulta no gráfico mostrado na figura ao lado. Obs.: O problema não está em se obter um sistema que reage bastante rápido em MF, mas no valor excessivo das amplitudes geradas pelo controlador — seguem simulações realizadas no Simulink: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 13 DE 36
  • 14. O sistema simulado usando Simulink resulta em: Note as elevadas amplitudes desenvolvidas pelo sinal de controle (nos instantes iniciais oscilaram entre mais de +/- 1.500. CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 14 DE 36 Obs.: o gráfico do digrama de blocos (no Simulink) foi exportado do Simulink, usando-se o seguinte comando na janela de comandos do MATLAB: No caso acima, foi gerado um arquivo PDF (vetorizado). Mas outras opções podem ser adotadas como por exemplo: ‘ ’ que neste caso, geraria uma figura PNG (resolução melhor que JPG). E notar que ‘ ’ se refere ao diagrama de blocos editado no Simulink com o nome ‘ '.
  • 15. 7) Controlador por Avanço (de Fase) Controlador por atraso —> vantagem sobre PD: reduz impacto do ruído frente à diferenciação (o controlador por atraso se aproxima de uma diferenciação). Desejável tempo de assentamento abaixo de 1,63 segundos, o que significa: ts = ln (0, 02 p 1 ⇣2) ⇣!n para o caso de: , a equação para ts pode ser aproximada para: Neste caso, teremos então: zeta = 0,6901, ts_d = 1,63 e wn resulta então em: ou seja, queremos pólos de MF localizados, no plano-s, na posição: lembrando que: temos então: Mas como não estamos projetando controlador no plano-s e sim no plano-z, faz-se necessário sua translação do plano-s para o plano-z usando a definição da transformada-Z: os pólos dominantes de MF deveriam passar por: Temos agora que recordar o formato de um controlador de avanço que é caracterizado pela equação: onde no plano-s: pc ! 1 e seu zero fica próximo da origem do plano-s (aprox. de efeito derivativo). !d = !n · p 1 ⇣2 = !n · ⇣ z = e T s C(z) = s + zc s + pc CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 15 DE 36 ts = 4 ⇣!n s = ± j!d 0 < ⇣ < 1
  • 16. −5 −4 −3 −2 −1 0 1 2 3 −3 −2 −1 0 1 2 3 0.69 Root Locus Real Axis ImaginaryAxis Mas no plano-z, ficaria com seu zero próximo do círculo unitário e seu pólo bastante próximo da origem do plano-z. Num primeiro momento, sem se importar com a melhor posição para os pólos e zeros do controlador em relação à planta, podemos fazer: O que resultaria numa FTMA(z): e correspondente RL como: Com K7 = 237.6297 e pólos MF dominantes em: 0.6268 + 0.2626i Notar que o desejado era: polos_MFz = 0.7602 - 0.1969i CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 16 DE 36 −0.5 0 0.5 1 1.5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0.69 Root Locus Real Axis ImaginaryAxis 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.69 Root Locus Real Axis ImaginaryAxis K7 =237,63 0.6268 + 0.2626i
  • 17. O Controlador anterior resulta na resposta: Notando que: >> dcgain(ftmf7) ans = 0.6523 ou seja, que para fazer y(∞) = 1,0; deve ser aplicado um degrau de amplitude igual à: >> K7degrau=1/ans K7degrau = 1.5330 resultando num ts = 0,951 o ts_d = 1,63. E %OS = 2,31% => Verificar se ação de controle não desenvolve amplitudes elevadas demais ? Com K7 = 237.6297 e pólos MF dominantes em: 0.6268 + 0.2626i Notar que o desejado era: polos_MFz = 0.7602 - 0.1969i Isto pode ser “melhorado" calculando a contribuição dos ângulos, arbitrando a localização inicial para o zero do controlador próximo da origem do plano-z. Como a planta possui uma raiz bastante próxima da origem do plano-z, um pólo em z = 0,3679, podemos arbitrar uma posição do pólo do controlador em z = 0,15 (este pólo será atraído pelo zero da planta em z = -0,19 e o pólo da planta em z = 0,3679 "caminhará" na direção do outro pólo da planta em z = 0,8187). Esta nova composição resultaria no seguinte RL: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 17 DE 36 Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 2.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: untitled1 Peak amplitude: 1.02 Overshoot (%): 2.31 At time (seconds): 0.9 System: untitled1 Settling time (seconds): 0.951 System: untitled1 Final value: 1 −0.5 0 0.5 1 1.5 2 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0.69 Root Locus Real Axis ImaginaryAxis K7 = 237.6297 0.6268 + 0.2626i Desejado: 0.7602 − 0.1969i
  • 18. Calculando as contribuições dos ângulos (script “angulos.m”), obtemos: Testando: O que resulta no seguinte RL mostrada na figura a seguir: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 18 DE 36
  • 19. Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 2.5 3 3.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: untitled1 Peak amplitude: 1.09 Overshoot (%): 8.92 At time (seconds): 1.1System: untitled1 Settling time (seconds): 1.77 System: untitled1 Final value: 1 E na resposta temporal mostrada a seguir: Obs.: Necessário aplicar degrau de amplitude igual à: 1,3949 CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 19 DE 36 −1 −0.5 0 0.5 1 1.5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0.69 Root Locus Real Axis ImaginaryAxis K7t = 161.9354
  • 20. −1 −0.5 0 0.5 1 1.5 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 0.69 Root Locus Real Axis ImaginaryAxis K7b = 175.64 Se o pólo do Controlador foi colocado em z = 0,05; teremos: Resultado final: Continua… CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 20 DE 36 Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 2.5 3 3.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: untitled1 Peak amplitude: 1.08 Overshoot (%): 8.24 At time (seconds): 1.1 System: untitled1 Settling time (seconds): 1.79
  • 21. Projeto de Controlador de Avanço-Atraso usando transformação bilinear. Note que neste caso, o controlador é projetado inicialmente no plano-s, usando Diagramas de Bode e depois é convertido para seu formato digital usando o método de Tustin. Não é objetivo deste trabalho, avaliar novos métodos de projetos de controladores de avanço-atraso no plano-s usando diagrama de Bode. Neste caso, será usado um script organizado previamente no MATLAB que permite automatizar o projeto deste tipo de controlador. A planta é dada por: 1 G(s) = ------------------ (s+10) (s+2) (s+1) Note: é um sistema do tipo 0 (sem integradores), então exibe erro não nulo para entrada degrau. A fim de restringir (limitar) a quantidade de incógnitas para determinação dos parâmetros do controlador lead-lag, definimos um valor máximo tolerável de erro em regime permanente e então definimos a constante de erro de posição, Kp. Neste caso: Se erro_degrau(∞)=5%; como y(∞)=1,0; implica erro_degrau(∞)=0.05. Kp original da planta: Kp = 1/(10*2*1) = 0.0500 (curiosidade). Mas Kp para sistema FTMA(s) ficaria em: ou: Rodando então o script: “bode_lag_lead.m” obtêm-se os seguintes resultados: estep(1) = lim s!0 sE(s) = lim s!0 s(1/s) 1 + G(s) = 1 1 + lims!0 G(s) = 1 1 + Kp Kp = 1 e e CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 21 DE 36
  • 22. Que permite alcançar a seguinte resposta para entrada degrau: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 22 DE 36 0 1 2 3 4 5 6 7 8 9 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Lag-Lead-Compensated Step Response Time (seconds) Amplitude System: T Peak amplitude: 1.2 Overshoot (%): 26.7 At time (seconds): 0.658 System: T Settling time (seconds): 5.23 System: T Final value: 0.95
  • 23. Resultados gráficos: %OS = 26,7% tp = 0,658 ts = 5,23 Erro em regime permanente: 0.95 Por curiosidade, o diagrama de Bode relacionado com o projeto segue na figura ao lado. Mas estamos interessados na versão digital do controlador. Então necessitamos realizar uma transformação bilinear do plano-s para o plano-z usando neste caso o método de Tustin: Simulando, resulta em: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 23 DE 36 Magnitude(dB) -100 -50 0 10 -2 10 0 10 2 Phase(deg) -270 -225 -180 -135 -90 -45 0 45 G G_Lead_Lag Ge Bode Diagram Frequency (rad/s)
  • 24. Projeto de Controlador PID A planta é dada por: e que seja usado período de amostragem, T = 0,1 segundos. A equação (de diferenças) do PID no formato de velocidade é dado por: Este conjunto introduzido no Matlab/Simulink fica como: <Arquivo: planta_PID_velocity.slx > Note que antes de tentar simular este sistema, é necessário se realizar sua sintonia. Para tanto, devemos determinar Ku (ultimate gain) e Tu (período da oscilação). Isto pode ser obtido usando-se o método de Yuri, ou de forma mais simples (mas mais imprecisa), traçando o gráfico do lugar das raízes e simulando o sistema para capturar Tu. Que resulta no gráfico mostrado na próxima página. G(s) = 1 (s + 1)(s + 2)(s + 10) u[k] = u[k 1] + Kc  (e[k] e[k 1]) + T ⌧i e[k] + ⌧d T (e[k] 2e[k 1] + e[k 2]) CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 24 DE 36
  • 25. RL de BoG(z): Após algumas tentativas, determina-se que Ku é aproximadamente: Ku = 246.4000 Fechando-se uma malha de controle usando este valor para o ganho proporcional verificamos o sistema oscilando para uma entrada degrau: Mas uma simulado usando Matlab/Simulink resulta em: Segue na próxima página diagrama em blocos no Simulink: <Arquivo: planta_P_Ku.slx > CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 25 DE 36 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 1.5 Root Locus Real Axis ImaginaryAxis Ku 246.4
  • 26. Arquivo: planta_P_Ku.slx: Notar que o bloco “Scope" pode ser útil para rapidamente visualizar o resultado de uma simulação, mas não permite coletar dados para determinar o período de oscilação, motivo pelo qual, estão sendo usados os blocos “To Workspace”. Mas O bloco “To Workspace” permite ser ajustado em 1 de 4 opções diferentes para o tipo de dado sendo guardado: <-- Detalhe para o formato de dados selecionado para o bloco “To Worksapce”: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 26 DE 36
  • 27. Se for usado o formato (novo) “Timeseries”, um objeto específico contendo dados é gerado no Matlab, neste caso: More properties, Methods >> Gerar gráficos usando este formato de dados é simples, basta fazer: Se por acaso for desejado inspecionar o conteúdo interno de dados no Matlab do tipo ‘timeseries’, basta num caso como este fazer: Deve abrir uma janela como a mostrada ao lado. Notar que o formato “Array” está para ser eliminado em versões futuras do Maltab (notar quadro de texto “Sace 2-D signal as”) na figura ao lado. CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 27 DE 36
  • 28. De posse dos dados levantados anteriormente com respeito a simulação para determinar Ku e Tu obtemos: Usando a tabela de ZH para determinar Kc, Ti e Td obtemos: PID —> Kc = 0,6 Ku;# Ti = Tu/2;# Td = Tu/8; Então: Mas.. os valores acima não podem ser aplicados diretamente num PID digital (apesar de poderem ser usados num PID no plano-s) porque faltou considerar o período de amostragem T: Lembrando da equação do PID (formato de velocidade): A ponderação associado com a integração fica: e a ponderação para o bloco associado com a derivada fica: u[k] = u[k 1] + Kc  (e[k] e[k 1]) + T ⌧i e[k] + ⌧d T (e[k] 2e[k 1] + e[k 2]) CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 28 DE 36 PID
  • 29. Os valores anteriores levam ao seguinte resultado: Um overshoot de 68% no instante de tempo, t = 1,7 segundos e um tempo de ajuste (2%) de, ts = 4,4 segundos. Obviamente os valores inicialmente determinados para Kc, Ti e Td devem ser modificados para alcançar um melhor resultado: Mas repare nas amplitudes geradas para o sinal de controle (próxima página) --> CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 29 DE 36 0 2 4 6 8 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 X: 1.7 Y: 1.68 X: 5.77 Y: 0.9808
  • 30. Amplitudes geradas para o sinal de controle (figura ao lado): Note o valor elevado de amplitude gerado pelo PID. Considerando o projeto de um controlador realizado anteriormente (por Atraso), a amplitude máxima do sinal de controle que o driver da plata suporta é |30,0|. Considerando este fato, introduzimos um bloco de saturação na saída do PID e verificamos o que sucede: Continua --> CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 30 DE 36 Time (seconds) 0 2 4 6 8 10 data -50 0 50 100 150 200 250 300 Time Series Plot: X: 1 Y: 272.5
  • 31. Mas a amplitude exagerado o sinal de controle pode não ser o único problema. Suponha que agregado ao sinal de saída do sistema está sobreposto um ruído (senóide de 60Hz com amplitude 0,01 — ou seja 1% da amplitude em regime permanente da planta). Continua --> CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 31 DE 36
  • 32. Suponha agora a mesma amplitude + mais um senoide de 40 KHz (ruído na rede provocado por fontes chateadas sem filtro de RF): A saída do sistema se modifica para: Time (seconds) 2.5 3 3.5 4 4.5 data 0.92 0.94 0.96 0.98 1 1.02 1.04 1.06 1.08 1.1 1.12 Time Series Plot: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 32 DE 36
  • 33. ANEXO1: Script usado no MATLAB para calcular posição do zero com base em contribuição angular: Projeto do Controlador por Avanço de Fase (Lead Compensator): angulos.m: CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 33 DE 36
  • 34. CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 34 DE 36
  • 35. ANEXO2: Script no MATLAB para auxiliar no projeto do controlador por avanço-atraso: bode_gain_adjust.m CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 35 DE 36
  • 36. CONTROLE AUTO III TRABALHO 2 FERNANDO PASSOLD Versão de: 18/05/16 36 DE 36