Seja a função de transferência em malha aberta de um sistema com realimentação unitária:
a. Use esboços do diagrama de Bode para projetar um compensador de avanço tal que o sistema em malha fechada satisfaça que o erro em regime permanente para uma rampa como entrada de referência seja menor que 0,01, e o coeficiente de amortecimento seja maior ou igual que 0,4 para os polos dominantes de malha fechada.
b. Verifique seu projeto usando o Matlab (ou outro software)
b. Verifique seu projeto usando o Matlab (ou outro software)
Passo 1
Vou listar claramente o que o enunciado dá e o que pede.
- Dado: a função de transferência em malha aberta (com realimentação unitária) é
- O sistema tem realimentação unitária: malha fechada
com . Neste enunciado o ganho faz parte de . - Pedidos:
(a) projetar um compensador de avanço (lead) tal que, no laço fechado,- o erro em regime permanente para entrada rampa seja menor que
; - o coeficiente de amortecimento dos polos dominantes
seja .
(b) verificar o projeto no Matlab (ou similar).
- o erro em regime permanente para entrada rampa seja menor que
Informações relevantes extraídas do enunciado:
- Polos do plant nominal (quando
é apenas ganho): em (integrador), e . - O erro em regime permanente para rampa (entrada
, normalmente ) em sistema unit-feedback é dado por , onde . - Um compensador de avanço típico tem forma
que fornece um ganho de pico (em magnitude) de
e um avanço máximo de fase
(fórmulas serão dadas e usadas adiante).
Passo 2
Requisito de erro em regime permanente para rampa: relacionando
a
.
- Definição: para sistema em malha aberta
e controlador , . - Aqui adotaremos um compensador de avanço com ganho estático unitário em
(ou seja ) para não alterar a condição de regime estático além do ganho . Então
pois
e
.
- O erro em regime permanente para rampa é
. - Requisito
implica
- Conclusão prática: o ganho total
deve ser maior que . Vou escolher um valor razoável e simples para que deixa certa margem: . Isso já garante
(Manterei
para não alterar
.)
Passo 3
Esboço mental do diagrama de Bode do plant e cálculo do crossover e margem de fase sem compensador (com
) — passo importante para saber quanto avanço precisamos.
- A expressão de magnitude (com
explícito) é
- Assimmptoticamente:
- Para
: (slope pela integrador). - Entre
e : slope cai para (por influência do polo em ). - Acima de
: slope .
- Para
- Vamos achar aproximadamente a frequência de cruzamento de ganho
(onde , i.e. ) com . Reescrevendo a condição:
Faço uma solução numérica aproximada por tentativas rápidas:
-
dá produto (<120); -
dá produto (quase 120); -
torna o produto . - Logo
para . - Agora a fase do plant (sem compensador) é
- Avaliando em
: -
; -
. - Logo
.
-
- A margem de fase é
. Muito pequena — vamos precisar de um compensador de avanço com ganho de fase grande.
Passo 4
Escolhendo a margem de fase desejada para garantir
. Relação prática entre margem de fase e amortecimento.
- Para projetistas é comum usar a aproximação prática (que funciona bem para sistemas dominados por pares complexos) :
Esta fórmula vem da aproximação dos polos dominantes como um segundo-ordem e relaciona a metade da margem de fase com o ângulo polar dos polos. É uma aproximação usada para projeto por margem de fase.
- Queremos
. Logo precisamos de tal que
- Para margem de segurança é conveniente pedir um pouco mais (algumas unidades de grau). Vou projetar para obter uma
realística em torno de . Assim o requisito será atendido com folga. - Aumentaremos a fase do laço em torno de
a (considerando a margem inicial muito baixa). Mais precisamente, a fase extra necessária é
mais uma pequena folga de projeto (5°–8°) para garantir que o pico do avanço e outros efeitos não façam faltar fase. Então precisaremos de um compensador lead com
próximos a
.
Passo 5
Escolha do lead compensador: determinar
(mesura do avanço) e a frequência de máximo avanço
, depois
.
- Fórmula útil para o avanço máximo de fase fornecido por
é (padrão de projeto)
Também a magnitude máxima (no pico) é
, e a frequência onde ocorre
é
- Vou fixar
em torno de para ter folga. Assim resolvo para usando
Calculando:
Portanto escolho
(valor prático).
- Com
o ganho de pico do compensador é (≈ ). - Agora preciso escolher
(frequência onde o compensador entrega esse avanço) de modo que, depois de aplicado o ganho de pico, a nova frequência de cruzamento de ganho esteja próxima de . A condição a impor numericamente é
No pico (aproximando o pico por
) dá
onde
(isto é o plant sem o ganho
).
- Reescrevendo,
Com
e
,
- Resolver numericamente para
tal que
é equivalente a achar
tal que
- Tentativas numéricas rápidas:
-
dá produto (um pouco baixo); -
dá produto (um pouco alto). - Assim tomo
.
-
- Agora calcule
pela relação :
Passo 6
Expressão final do compensador e verificação aproximada por cálculo de fase no ponto de cruzamento.
- Compensador projetado (valores numéricos):
logo
(Obs.: o pólo está em
e o zero em
.)
- Verificação aproximada da margem de fase no novo
. Usando a condição de magnitude já imposta, estimei . Calculo a fase total em : - Planta:
. - Para
: , . - Assim
.
- Para
- Compensador:
. -
. -
. - Logo
.
-
- Fase total:
. - Margem de fase estimada:
.
- Planta:
- Usando a aproximação
:
o que atende
.
- Checagem do erro em regime permanente para rampa:
portanto
- Resumo numérico aproximado do projeto:
-
. -
(lead, , ). - Margem de fase estimada
. - Amortecimento estimado
. - Erro rampa
.
-
Passo 7
Como verificar no Matlab (ou Octave) — código sugerido e o que observar.
Cole e execute no Matlab/Octave (troque ponto decimal conforme necessidade). Comentários: a verificação confirmará
,
, polos em malha fechada e
.
Exemplo de script:
\n
s = tf(‘s’);\n
K = 120;\n
tau = 0.0736; alpha = 0.10;\n
C = (taus+1)/(alphataus+1);\n
G = K/( s(s/5+1)(s/200+1) );\n
L = CG;\n
% Bode / margem\n
[GM,PM,Wcg,Wcp] = margin(L);\n
fprintf(‘Phase margin = %g deg at wgc = %g rad/s\n’,PM,Wcg);\n
% Malha fechada\n
T = feedback(L,1);\n
d = damp(T); % mostra polos e amortecimento\n
disp(d);\n
% Calcular Kv e ess para rampa\n
Kv = dcgain(sL/(1+L)); % ou simplesmente Kv = KC(0)\n
ess = 1/Kv;\n
fprintf(‘Kv = %g, ess (rampa) = %g\n’,Kv,ess);\n
\n
s = tf(‘s’);\n
K = 120;\n
tau = 0.0736; alpha = 0.10;\n
C = (taus+1)/(alphataus+1);\n
G = K/( s(s/5+1)(s/200+1) );\n
L = CG;\n
% Bode / margem\n
[GM,PM,Wcg,Wcp] = margin(L);\n
fprintf(‘Phase margin = %g deg at wgc = %g rad/s\n’,PM,Wcg);\n
% Malha fechada\n
T = feedback(L,1);\n
d = damp(T); % mostra polos e amortecimento\n
disp(d);\n
% Calcular Kv e ess para rampa\n
Kv = dcgain(sL/(1+L)); % ou simplesmente Kv = KC(0)\n
ess = 1/Kv;\n
fprintf(‘Kv = %g, ess (rampa) = %g\n’,Kv,ess);\n
O que conferir nos resultados retornados:
- A função margin(L) deve dar
aproximadamente e em torno de . - O comando damp(T) mostrará os polos do laço fechado com seus amortecimentos; os polos dominantes devem ter
(≥0,4). - A verificação de
deve mostrar .
Passo 8
Observações finais e dicas práticas para a prova (rápidas e motivadoras):
- Em prova: primeiro calcule a exigência de regime estacionário (aqui
), depois fixe um com folga (e.g. ). Em seguida faça o esboço do Bode do plant: localize frequências de canto, calcule e a fase atual; a diferença até a margem de fase desejada é quanto precisarás de avanço. - Use a fórmula do lead para achar
a partir de desejado e então determine posicionando onde queres o novo ganho de cruzamento. Sempre deixe 5°–8° de folga para o pico do avanço não “ficar curto”. - Calma: no exame basta justificar os passos como aqui, não é preciso alta precisão numérica — mas dá muita confiança fazer uma verificação rápida no Matlab como eu indiquei.
Resposta
(a) Projeto: escolha do ganho
e compensador de avanço
(b) Verificação (resultados aproximados):
Kv
Margem de fase estimada em
, o que dá amortecimento estimado
.
Kv
Margem de fase estimada