Escolar Documentos
Profissional Documentos
Cultura Documentos
Controlador Proporcional
OBS: Considera Ki = Kd = 0
Controlador PI
Ki
C(s) = Kp + → já estudado no Capı́tulo 6 (parte 2)
s
OBS: Considera Kd = 0
Controlador PD
OBS: Considera Ki = 0
Ki
C(s) = Kp + + Kd s → será estudado no Capı́tulo 6 (parte 4)
s
Estrutura:
C(s) = Kp + Kd s
Como o termo derivativo Kd s deriva o erro e(t) ao longo do tempo, o controlador PD é geralmente usado
quando deseja-se diminuir oscilações ou os tempos de resposta do sistema a ser controlado.
C(s)H(s)
G(s) =
1 + C(s)H(s)
Outra observação importante: Note que Gdesejado (s) possui ganho unitário, ou seja, erro em regime
permanente nulo para resposta ao degrau (ep = 0).
Controle Proporcional+Derivativo (PD) Controle em Malha Fechada 5/43
Conhecendo o controlador PD
Observação
O controlador PD é geralmente usado quando não é necessário usar uma ação integrativa para zerar o erro em
regime permanente e(∞). Por exemplo, quando o sistema já naturalmente apresenta erro nulo em regime
permanente mesmo quando da utilização de um simples controlador proporcional Kp .
Veremos um exemplo disso agora.
era
Θ(s) 1
H(s) = =
Tc (s) 600000s2 + 20000s
No capı́tulo 6 (parte 1) dessa disciplina, para obtermos Mp = 10 % nós projetamos um controlador proporcional
Kp = 477.17
Perguntas
Utilizando um simples controle proporcional Kp para essa planta, foi de fato possı́vel obter erro nulo em
regime permanente para entrada em degrau? Por que isso foi possı́vel?
Com o controlador Kp = 477.17 projetado, foi de fato obtido Mp = 10 % em malha fechada?
Utilizando um simples controle proporcional Kp para essa planta, foi possı́vel especificar tp ? Qual foi o
tp obtido? Seria possı́vel usar uma outra estrutura de controlador de modo que seja possı́vel também
especificar tp ?
Respostas
Sim, utilizando apenas esse controle proporcional P (sem ter a ação integrativa), já foi possı́vel obter erro
de posição nulo em regime permanente (isso acontece pois a planta possui um polo na origem s = 0)
Com o controlador Kp = 477.17 projetado, foi de fato obtido Mp = 10 % em malha fechada
Utilizando um simples controle proporcional Kp para essa planta, NÃO foi possı́vel especificar tp . Foi
obtido tp = 137.8 seg. Seria sim possı́vel usar, por exemplo, um controlador PD de modo que seja
possı́vel também especificar tp .
Você é o Engenheiro responsável pelo projeto do sistema de controle de posição angular abaixo.
Deseja-se:
ep = 0 rad.
Mp = 10 % em y(t) quando r(t) é uma mudança de setpoint de ângulo da antena (degrau).
tp = 100 seg em y(t) quando r(t) é uma mudança de setpoint de ângulo da antena (degrau).
A) Redesenhe o diagrama de blocos do sistema de controle destacando qual estrutura de controlador será
utilizada, assim como os sinais r(t), e(t), u(t) e y(t).
B) Com base em exercı́cios anteriores, qual seria um modelo matemático para essa planta? Qual é a sua
ordem? Ele possui polo na origem? O que isso significa?
C) Obtenha
2
ωn
Gdesejado (s) =
s2 2
+ s2ξωn + ωn
(tarefa para casa: simule a resposta ao degrau de Gdesejado (s) e verifique se os critérios de
desempenho são conforme especificado)
D) Obtenha
C(s)H(s)
G(s) =
1 + C(s)H(s)
E) Projete C(s) tal que os polos de G(s) e Gdesejado (s) sejam iguais.
F) Foi possı́vel obter G(s) perfeitamente igual à Gdesejado (s)? Quais serão as consequências? Apesar
disso, G(s) terá ep = 0? Justifique suas respostas.
(tarefa para casa: simule o sistema de controle no simulink)
0.0389452
Gostarı́amos de ter Gdesejado (s) = , que possui
s2 + 2 · 0.591 · 0.038945 · s + 0.0389452
erro nulo em regime permanente para resposta ao degrau.
Mp = 10 %
tp = 100 seg
Pergunta-se:
G(s) é causal?
O que significa um sistema ser causal ou não causal?
H(s) é causal?
C(s) é causal?
Sistemas causais são aqueles cuja saı́da depende somente da entrada em instantes de tempo anteriores (ou iguais)
ao atual, ou seja, y(tk ) depende somente de u(t), para t ≤ tk .
Um sistema não causal é, em princı́pio, capaz de prever o futuro e nenhum sistema fı́sico tem esta
capacidade.
Causalidade é uma condição necessária para que um sistema possa ser implementado na prática
Caso a ordem do polinômio do denominador seja maior ou igual à ordem do polinômio do numerador, o sistema é
causal. Caso contrário, ele é não causal.
Controladores com ação derivativa (PD e PID) são, originalmente, não causais.
Controlador PD:
C(s) = Kp + Kd s
Controlador PID:
Ki Kp s + Ki + Kd s2
C(s) = Kp + + Kd s =
s s
Qual é a ordem do polinômio do numerador? e do denominador?
Pergunta:
Como softwares como o Simulink, por exemplo, simulam a equação de um controlador desse tipo?
Resposta:
Eles aproximam a ação derivativa por meio de um filtro com estrutura causal, por exemplo:
Ns
Kd s ≈ Kd
s+N
OBS: A medida com que N → ∞, note que essa aproximação tende a ser uma igualdade
Ns s
lim Kd = lim Kd = Kd s
N →∞ s+N N →∞ s/N + 1
Ki
U (s) = Kp + E(s)
s
pode ser calculado para um instante especı́fico de tempo t = tk por meio da equação
′ ′
u(tk ) = Kp e(tk ) + Ki i (tk ),
onde
′ ′ ′
e(tk ) = r(tk ) − y(tk ), Ki = Ki Ts , i (tk ) = i (tk−1 ) + e(tk )
Pergunta:
Como ficaria essa equação para cálculo do u(tk ) no caso de um PID completo
Ki
U (s) = Kp + + Kd s E(s) ?
s
Resposta:
d e(t) e em seguida adicionar esse termo à equação do u(t ).
Temos que discretizar a ação derivativa Kd dt k
d
d(t) = e(t)
dt
e(tk ) − e(tk−1 )
d(tk ) =
Ts
onde
e(tk ) − e(tk−1 )
i(tk ) = i(tk−1 ) + e(tk )Ts , d(tk ) =
Ts
Para eliminar a necessidade de multiplicar (ou dividir) por Ts toda vez que i(tk ) (ou d(tk )) é calculado, é
possı́vel ainda utilizar a versão equivalente
′ ′ ′ ′
u(tk ) = Kp e(tk ) + Ki i (tk ) + Kd d (tk )
onde
′ ′
Ki = Ki Ts , Kd = Kd /Ts ,
′ ′ ′
i (tk ) = i (tk−1 ) + e(tk ), d (tk ) = e(tk ) − e(tk−1 )
OBS: Trata-se de um pseudo-código escrito em MATLAB. Importante apenas para entender conceitos. Requer
modificações para que possa ser de fato utilizado na prática.
Você é o Engenheiro responsável pelo projeto do sistema de controle de posição angular abaixo.
OBS: Lembre-se que você já projetou um controlador PD para essa planta.
Pede-se
OBS: Você precisará definir um perı́odo de amostragem para essa planta. Você lembra como faz isso? Vimos isso
no Capı́tulo 3 da disciplina, conforme mostrado no slide a seguir.
Estratégia prática:
Reduza sistematicamente Ts até que a medição da resposta ao degrau do sistema não apresente mais
descontinuidades.
Para sistemas de 1a ordem, também tı́nhamos visto a seguinte observação: Se você já conhece a constante de
tempo τ do sistema, pode ser uma boa estratégia estabelecer algo como Ts = τ /20, por exemplo.
Para o sistema de 2a ordem que temos agora, podemos pensar em algo do tipo tp ≈ 2τ , resultando numa
expressão Ts = tp /40. Assim, se usarmos o tp = 100 seg, por exemplo, chegamos em Ts = 2.5 seg.
Pergunta-se também:
A) Usando esse algoritmo, quais serão os valores de x(t) para t = 0, t = 0.5, t = 1, ..., t = 12?
B) Sabendo que o Método de Euler aplica uma aproximação (discretização) do tipo
d
x(t + Ts ) ≈ x(t) + Ts x(t)
dt
prove que a equação diferencial que está sendo resolvida numericamente nesse exemplo é dada por
d −x(t)
x(t) = +1
dt 4
Pergunta-se também:
d −x(t)
x(t) = +1
dt 4
é dada por
−t/4
x(t) = (x(0) − 4) e +4
D) Compare os valores obtidos com a expressão x(t) = (x(0) − 4) e−t/4 + 4 para t = 0, t = 0.5,
t = 1, ..., t = 12 com aqueles que haviam sido obtidos na letra A).
Entretanto, para alguns casos, pode ser que a ação derivativa atuando sobre o erro exija um esforço de
controle u(t) muito grande quando há uma variação abrupta no sinal de referência r(t) (por exemplo, um
degrau em r(t))
Quando r(t) varia abruptamente, e(t) = r(t) − y(t) também tende a variar abruptamente, fazendo
d e(t) seja elevada
com que dt
Uma solução para esse problema é derivar não o erro e(t), mas sim a medida y(t), que não variará
abruptamente, já que estamos considerando que a planta possui um comportamento dinâmico (com
memória).
podemos usar
e obtemos
Prova:
0.0389452
Vamos supor que ainda queremos obter Gdesejado (s) = , que
s2 + 2 · 0.591 · 0.038945 · s + 0.0389452
possui
erro nulo em regime permanente para resposta ao degrau.
Mp = 10 %
tp = 100 seg
Kp 1
CP I (s)H(s) 600000s2 +20000s
G(s) = = 1
1 + (CP I (s) − CD (s)) H(s) 1+ Kp − Kd s
600000s2 +20000s
Kp /600000
G(s) =
s2 + s(20000 − Kd )/600000 + Kp /600000
Finalmente, comparando
Kp /600000
G(s) =
s2 + s(20000 − Kd )/600000 + Kp /600000
com
0.0389452
Gdesejado (s) =
s2 + 2 · 0.591 · 0.038945 · s + 0.0389452
obtemos Kp = 910.02 e Kd = −7600. São os mesmo ganhos que já havı́amos obtido anteriormente. Em
termos de ganhos Kp e Kd , a única coisa que mudou é que Kd ficou com o sinal trocado!
Note que essa versão altera apenas o termo derivativo d′ (tk ) do PID
′ ′ ′ ′
u(tk ) = Kp e(tk ) + Ki i (tk ) + Kd d (tk ),
onde d′ (tk ) deixa de ser d′ (tk ) = e(tk ) − e(tk−1 ) e passa a ser d′ (tk ) = y(tk ) − y(tk−1 ).
Simulação no Simulink:
Simulação no Simulink:
Simulação no Simulink:
Conclusões
Para termos um sistema que requer menos esforço de controle u(t), podemos projetar uma ação derivativa
que atua sobre y(t) e não sobre e(t)
O Kd projetado para essa versão alternativa tende a ser próximo daquele apresentado pela versão clássica,
mas aparece com o sinal trocado.