Seja um sistema discreto de malha fechada com realimentação negativa unitária, função de transferência
e período de amostragem
.
a) Projete um controlador PI discreto, sendo que os requisitos de desempenho são: erro permanente nulo para uma entrada degrau unitário,
e
.
b) Utilizando uma ferramenta computacional, simule o sistema em malha fechada e verifique se os requisitos de desempenho foram atendidos com o compensador projetado.
c) Apresente um esboço manual do LGR do processo com o compensador
.
a) Projete um controlador PI discreto, sendo que os requisitos de desempenho são: erro permanente nulo para uma entrada degrau unitário,
b) Utilizando uma ferramenta computacional, simule o sistema em malha fechada e verifique se os requisitos de desempenho foram atendidos com o compensador projetado.
c) Apresente um esboço manual do LGR do processo com o compensador
Passo 1
O enunciado e os dados que temos (listando o que é pedido e o que foi fornecido):
- Função de planta em z:
. - Período de amostragem:
. - Sistema em malha fechada com realimentação unitária (feedback unitário).
- Requisitos de desempenho pedidos para o laço fechado:
- Erro permanente nulo para entrada degrau unitário.
- Pico de sobressinal percentual
. - Tempo até o primeiro pico (peak time)
.
- Pedidos:
(a) projetar um controlador PI discreto que atenda os requisitos;
(b) simular (com ferramenta computacional) e verificar se os requisitos foram atendidos;
(c) apresentar um esboço manual do LGR do processo com o compensador.
Passo 2
Entendendo o que garante cada requisito e a estratégia de projeto (sem resolver ainda):
- Erro permanente nulo para degrau: exige que o sistema em malha seja do tipo 1 (contador de integrador em
-domínio), ou seja, o loop aberto deve ter um polo em . Um controlador PI discreto fornece esse polo em (integração discreta) — portanto um PI garante, em princípio, erro zero para entrada degrau. - Especificações
e : é comum converter essas especificações em polos dominantes desejados. A relação clássica (em tempo contínuo) entre e coeficiente de amortecimento é E o tempo até o pico (primeiro pico) para um sistema subamortecido é onde é a frequência natural. Como estamos em sistema amostrado, a técnica padrão é: - obter
a partir de ; - obter
a partir de com essa ; - obter os polos contínuos desejados
; - mapear esses polos para o plano
por ; - projetar o PI de modo que os polos do sistema em malha fechada fiquem próximos desses
desejados.
- obter
- Forma do controlador PI em discretizado que vamos usar (fácil de manipular algebricamente):
onde o é a parte integral discreta e aparece explicitamente. Aqui e são as constantes a projetar.
Passo 3
Calcular
a partir de
:
- Use a relação
Tomando logaritmo: Resolvendo para : primeiro quadrando (passo-além): Calculando numericamente:
Passo 4
Calcular
a partir de
e
:
- Fórmula:
Portanto Substituindo e :
Passo 5
Calcular os polos contínuos desejados
e mapeá-los para o plano
:
- Polos contínuos:
- Mapear para
por com : Calculando numericamente:
Módulo
(igual a
).
Passo 6
Escolha do terceiro polo discreto (não dominante) e formação do polinômio característico desejado:
- A característica do sistema em malha fechada será um polinômio cúbico (a planta tem dois polos e o PI adiciona um polo em
; o fechad-loop terá três polos). - Observação importante (muito prática): ao escrever o polinômio característico obtido por
o coeficiente do termo vem somente de e não pode ser alterado pelo numerador do controlador (porque o termo do controlador aparece só em ordens menores). Portanto o somatório das raízes desejadas deve ser igual ao valor fixo determinado pela planta: - Já temos
. Logo o terceiro polo deve ser É um polo real bem próximo de zero (muito interno), o que é aceitável: ele é rápido e não prejudicará a dinâmica dominante complexa escolhida. - Agora formamos o polinômio desejado com as raízes
, e . Primeiro o quadrático dos complexos: Multiplicando por obtemos (cálculo numérico):
Passo 7
Escrever o polinômio característico real do sistema com o PI e igualar coeficientes para resolver
e
:
- Começando do laço unitário:
- Expandindo a parte da planta:
- Somando a contribuição do controlador (só nos termos
e ): - Igualando coeficientes com
, obtemos duas equações lineares: - Coeficiente de
: Assim - Coeficiente constante:
Substituindo :
- Coeficiente de
Passo 8
Expressar o controlador PI final em forma prática e verificar propriedade de erro estacionário:
- Forma fracionária (útil para implementação digital):
Substituindo os valores encontrados:
Logo
- Checagem do tipo do sistema:
tem um polo em (pela forma ), logo o sistema em malha fechada é do tipo 1 e, portanto, terá erro permanente nulo para entrada degrau unitário — requisito (1) atendido teoricamente.
Passo 9
Verificação analítica dos polos fechados e relação com as especificações (confirmação do projeto):
- Pelo processo de igualação de polinômios controlamos explicitamente o polinômio característico para ter raízes
e ; portanto os polos em estão nas posições desejadas, que foram obtidas a partir das especificações e . - Como mapeamos de contínuo para discreto, as especificações no domínio do tempo (tempo até pico e sobrepico) devem ser aproximadamente satisfeitas quando se realiza a simulação amostrada com
. Observação prática: o mapeamento exato depende de como a dinâmica não-dominante e a aproximação discretizada afetam a resposta, mas projetamos para que os polos dominantes coincidam com os alvos discretos.
Passo 10
Como simular (passo-a-passo usando uma ferramenta como MATLAB/Octave ou Python) e o que verificar — instruções e resultados esperados:
- Código MATLAB/Octave (rastro direto, basta colar em uma sessão com Control System Toolbox / ou em Octave usando tf com Ts):
Ts = 5; numG = 2.1617; denG = conv([1 0],[1 -0.1353]); % z*(z-0.1353) Gz = tf(numG, denG, Ts); Kp = 0.16856; Ki = 0.03309; Cz = tf([Kp, (5*Ki - Kp)], [1 -1], Ts); % (Kp z + (5Ki-Kp))/(z-1) Lz = Cz * Gz; sys_cl = feedback(Lz, 1); step(sys_cl); % plota resposta ao degrau [y,t] = step(sys_cl, 0:Ts:200); % amostras até 200s % calcular overshoot percentual e tempo do pico: Ymax = max(y); UP = (Ymax - 1)*100; % em porcentagem % encontrar primeiro índice onde y==Ymax e tempo: idx = find(y==Ymax,1); tp_sim = t(idx); - Em Python (control library):
- Procedimento análogo: criar tf com Ts=5, formar Cz com numerador
e denominador , compor Lz, obter step response com sample times, calcular overshoot e tempo de pico.
- Procedimento análogo: criar tf com Ts=5, formar Cz com numerador
- Resultados esperados (análise teórica já feita):
- Erro permanente ao degrau: zero (ou praticamente zero numericamente).
- Percentual de overshoot próximo de
(o projeto buscou isso). - Tempo até o primeiro pico próximo de
.
- Observação prática para verificação: como
é relativamente grande, a resposta discreta será em passos de ; espere que o pico ocorra próximo a e que o overshoot seja próximo do especificado. Pequenas diferenças são normais por aproximações numéricas e efeitos das dinâmicas não-dominantes.
Passo 11
Esboço manual do LGR (root locus) do processo com o compensador
— quais pontos marcar e características importantes:
- Polos de
(marcar com ): -
(polo da planta). -
(polo da planta). -
(polo do integrador do PI).
-
- Zeros de
(marcar com ): - O único zero proveniente do numerador de
: resolver dá
- O único zero proveniente do numerador de
- Número de polos
e zeros → há assíntotas do LGR que tendem ao infinito quando o ganho de malha varia. - Cálculo do centróide das assíntotas:
Assim as assíntotas têm equação e ângulos . - Comportamento na reta real:
- Entre polos e zeros reais, traçar segmentos do lugar das raízes onde existe número ímpar de polos/zeros à direita; isso indica por onde o LGR passa na reta real (regra clássica do LGR no eixo real).
- Localização dos polos desejados: os polos dominantes projetados
estão muito próximos do centróide das assíntotas e aparecem em ramo que sai do polo em e que se curva para o plano complexo — portanto o esboço mostrará um par simétrico em torno do eixo real com parte real ~0{,}56 e parte imaginária ~0{,}412. - Instrução para esboço manual: desenhar o círculo unidade para referência, marcar polos (×) em
, e , marcar zero (o) em , traçar o LGR saindo dos polos, com duas assíntotas verticais em , e indicar onde os polos dominantes complexos ficam (como calculado). Esse esboço demonstra visualmente que o projeto dos polos é coerente.
Passo 12
Resumo final das fórmulas e dicas práticas para a prova (coisa que realmente ajuda na hora):
- Para projetar PI discreto por colocação de polos: transforme requisitos
e em e (fórmulas dadas), forme e mapeie por . - Escreva o polinômio característico do laço unitário multiplicando pelos denominadores para obter um polinômio em
e iguale coeficientes para resolver . - Atenção: termos de ordem
podem estar “travados” pela planta; ajuste o terceiro polo para satisfazer somatório de raízes igual ao coeficiente disponível. - Sempre verifique se o controlador introduz um polo em
para garantir erro de regime nulo para degrau.
Resposta
(a)
, isto é,
e
.\n
(b) Instruções de simulação fornecidas (MATLAB/Octave/Python); resultados esperados: erro permanente ,
próximo de
e
próximo de
(verificar numericamente com o passo indicado).\n
(c) No LGR de : polos em
(marcar ×), zero em
(marcar o), duas assíntotas verticais em
com ângulos
; polos dominantes projetados em
.
(b) Instruções de simulação fornecidas (MATLAB/Octave/Python); resultados esperados: erro permanente
(c) No LGR de