Seja um sistema discreto de malha fechada com realimentação negativa unitária, função de transferência G(z)=\frac{2,1617}{z(z-0,1353)} e período de amostragem T=5 s.
a) Projete um controlador PI discreto, sendo que os requisitos de desempenho são: erro permanente nulo para uma entrada degrau unitário, U P \cong 16,3 \% e t_{p} \cong 25 s.
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 C(z) G(z).

Passo 1

O enunciado e os dados que temos (listando o que é pedido e o que foi fornecido):
  • Função de planta em z: G(z)=\dfrac{2,1617}{z(z-0,1353)}.
  • Período de amostragem: T=5\\ \text{s}.
  • Sistema em malha fechada com realimentação unitária (feedback unitário).
  • Requisitos de desempenho pedidos para o laço fechado:
    1. Erro permanente nulo para entrada degrau unitário.
    2. Pico de sobressinal percentual U_P \cong 16{,}3\%.
    3. Tempo até o primeiro pico (peak time) t_p \cong 25\\ \text{s}.
  • 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 C(z)G(z).

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 z-domínio), ou seja, o loop aberto L(z)=C(z)G(z) deve ter um polo em z=1. Um controlador PI discreto fornece esse polo em z=1 (integração discreta) — portanto um PI garante, em princípio, erro zero para entrada degrau.
  • Especificações U_P e t_p: é comum converter essas especificações em polos dominantes desejados. A relação clássica (em tempo contínuo) entre U_P e coeficiente de amortecimento \zeta é U_P = e^{-\pi \zeta/\sqrt{1-\zeta^2}}.E o tempo até o pico (primeiro pico) para um sistema subamortecido é t_p = \dfrac{\pi}{\omega_n\sqrt{1-\zeta^2}},onde \omega_n é a frequência natural. Como estamos em sistema amostrado, a técnica padrão é:
    1. obter \zeta a partir de U_P;
    2. obter \omega_n a partir de t_p com essa \zeta;
    3. obter os polos contínuos desejados s_{d}=-\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2};
    4. mapear esses polos para o plano z por z=e^{s_d T};
    5. projetar o PI de modo que os polos do sistema em malha fechada fiquem próximos desses z desejados.
  • Forma do controlador PI em discretizado que vamos usar (fácil de manipular algebricamente): C(z)=K_p + \dfrac{K_i T}{z-1} = \dfrac{K_p z + (5K_i - K_p)}{z-1},onde o \dfrac{K_i T}{z-1} é a parte integral discreta e T=5 aparece explicitamente. Aqui K_p e K_i são as constantes a projetar.

Passo 3

Calcular \zeta a partir de U_P=16{,}3\%=0{,}163:
  • Use a relação e^{-\pi \zeta/\sqrt{1-\zeta^2}} = 0{,}163.Tomando logaritmo: -\dfrac{\pi \zeta}{\sqrt{1-\zeta^2}} = \ln(0{,}163) \approx -1{,}813.Resolvendo para \zeta: primeiro quadrando (passo-além): \zeta^2 = \dfrac{(\ln 0{,}163)^2}{\pi^2 + (\ln 0{,}163)^2}.Calculando numericamente: \zeta \approx 0{,}5\quad(\text{aproximadamente }0{,}4999).

Passo 4

Calcular \omega_n a partir de t_p=25\\ \text{s} e \zeta:
  • Fórmula: t_p = \dfrac{\pi}{\omega_n\sqrt{1-\zeta^2}}.Portanto \omega_n = \dfrac{\pi}{t_p\sqrt{1-\zeta^2}}.Substituindo \zeta\approx0{,}5 e t_p=25: \sqrt{1-\zeta^2}=\sqrt{1-0{,}25}=\sqrt{0{,}75}\approx0{,}8660254,
\omega_n \approx \dfrac{\pi}{25\cdot 0{,}8660254}\approx 0{,}14514\\ \text{rad/s}.

Passo 5

Calcular os polos contínuos desejados s_d e mapeá-los para o plano z:
  • Polos contínuos: s_d = -\zeta\omega_n \pm j\omega_n\sqrt{1-\zeta^2} = -0{,}5\cdot 0{,}14514 \pm j\,0{,}14514\cdot 0{,}8660254
s_d \approx -0{,}07257 \pm j\,0{,}1256\\ \text{(rad/s)}.
  • Mapear para z por z=e^{s_d T} com T=5: z_d = e^{s_d T} = e^{(-0{,}07257 \pm j\,0{,}1256)\cdot 5} = e^{-0{,}36285}\,(\cos 0{,}628 \pm j\sin 0{,}628).Calculando numericamente: e^{-0{,}36285}\approx 0{,}6956,\quad \cos 0{,}628\approx0{,}8059,\quad \sin 0{,}628\approx0{,}5921,
z_d \approx 0{,}5607 \pm j\,0{,}4119.
Módulo |z_d|\approx 0{,}6958 (igual a e^{-0{,}36285}).

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 z=1; o fechad-loop terá três polos).
  • Observação importante (muito prática): ao escrever o polinômio característico obtido por (z-1)z(z-0{,}1353) + 2{,}1617\big(K_p z + (5K_i - K_p)\big) = 0,o coeficiente do termo z^2 vem somente de (z-1)z(z-0{,}1353) 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 r_1+r_2+r_3 deve ser igual ao valor fixo determinado pela planta: r_1+r_2+r_3 = 1{,}1353.
  • Já temos r_1+r_2 = 2\cdot\Re(z_d) = 2\cdot 0{,}5607 = 1{,}1214. Logo o terceiro polo deve ser r_3 = 1{,}1353 - 1{,}1214 = 0{,}0139.É 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 z_d, \bar{z}_d e r_3. Primeiro o quadrático dos complexos: z^2 - 2\Re(z_d) z + |z_d|^2 = z^2 - 1{,}1214 z + 0{,}4841.Multiplicando por (z-0{,}0139) obtemos (cálculo numérico): \Phi_{\text{desejada}}(z)=z^3 - 1{,}1353 z^2 + 0{,}49969 z - 0{,}006724.

Passo 7

Escrever o polinômio característico real do sistema com o PI e igualar coeficientes para resolver K_p e K_i:
  • Começando do laço unitário: 1 + C(z)G(z)=0 \quad\Longrightarrow\quad (z-1)z(z-0{,}1353) + 2{,}1617\big(K_p z + (5K_i - K_p)\big)=0.
  • Expandindo a parte da planta: (z-1)z(z-0{,}1353)=z^3 - 1{,}1353 z^2 + 0{,}1353 z.
  • Somando a contribuição do controlador (só nos termos z e z^0): \text{polinômio final} = z^3 - 1{,}1353 z^2 + \big(0{,}1353 + 2{,}1617 K_p\big) z + 2{,}1617(5K_i - K_p).ô
  • Igualando coeficientes com \Phi_{\text{desejada}}(z)=z^3 - 1{,}1353 z^2 + 0{,}49969 z - 0{,}006724, obtemos duas equações lineares:
    1. Coeficiente de z: 0{,}1353 + 2{,}1617 K_p = 0{,}49969 \quad\Rightarrow\quad 2{,}1617 K_p = 0{,}36439.Assim K_p = \dfrac{0{,}36439}{2{,}1617}\approx 0{,}16856.
    2. Coeficiente constante: 2{,}1617(5K_i - K_p) = -0{,}006724 \quad\Rightarrow\quad 5K_i - K_p = -\dfrac{0{,}006724}{2{,}1617} \approx -0{,}003111.Substituindo K_p: 5K_i = K_p - 0{,}003111 \approx 0{,}16856 - 0{,}003111 = 0{,}16545,
K_i \approx \dfrac{0{,}16545}{5} \approx 0{,}03309.

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): C(z)=\dfrac{K_p z + (5K_i - K_p)}{z-1}.Substituindo os valores encontrados: K_p \approx 0{,}16856,\quad K_i \approx 0{,}03309,
5K_i - K_p \approx 0{,}16545 - 0{,}16856 = -0{,}00311.
Logo
C(z) \approx \dfrac{0{,}16856\,z - 0{,}00311}{z-1}.
  • Checagem do tipo do sistema: C(z) tem um polo em z=1 (pela forma /(z-1)), 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 0{,}5607\pm j0{,}4119 e 0{,}0139; portanto os polos em z estão nas posições desejadas, que foram obtidas a partir das especificações U_P e t_p.
  • 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 T=5\\ \text{s}. 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 [K_p,\;5K_i-K_p] e denominador [1,-1], compor Lz, obter step response com sample times, calcular overshoot e tempo de pico.
  • Resultados esperados (análise teórica já feita):
    • Erro permanente ao degrau: zero (ou praticamente zero numericamente).
    • Percentual de overshoot próximo de 16{,}3\% (o projeto buscou isso).
    • Tempo até o primeiro pico próximo de 25\\ \text{s}.
  • Observação prática para verificação: como T=5\\ \text{s} é relativamente grande, a resposta discreta será em passos de 5\\ \text{s}; espere que o pico ocorra próximo a t_p 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 C(z)G(z) — quais pontos marcar e características importantes:
  • Polos de C(z)G(z) (marcar com \times ):
    • z=0 (polo da planta).
    • z=0{,}1353 (polo da planta).
    • z=1 (polo do integrador do PI).
  • Zeros de C(z)G(z) (marcar com \circ ):
    • O único zero proveniente do numerador de C(z): resolver 0{,}16856\,z - 0{,}00311 = 0 z_0 \approx \dfrac{0{,}00311}{0{,}16856} \approx 0{,}018.
  • Número de polos n=3 e zeros m=1 → há n-m=2 assíntotas do LGR que tendem ao infinito quando o ganho de malha varia.
  • Cálculo do centróide das assíntotas: \sigma_a = \dfrac{\sum \text{polos} - \sum \text{zeros}}{n-m} = \dfrac{0 + 0{,}1353 + 1 - 0{,}018}{2} \approx 0{,}55865.Assim as assíntotas têm equação \operatorname{Re}(z)=0{,}55865 e ângulos \pm 90^\circ.
  • 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 0{,}5607\pm j0{,}4119 estão muito próximos do centróide das assíntotas 0{,}55865 e aparecem em ramo que sai do polo em z=1 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 0,0, 0,1353 e 1,0, marcar zero (o) em 0,018, traçar o LGR saindo dos polos, com duas assíntotas verticais em \operatorname{Re}(z)\approx0{,}5587, 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 U_P e t_p em \zeta e \omega_n (fórmulas dadas), forme s_d e mapeie por z=e^{s_d T}.
  • Escreva o polinômio característico do laço unitário multiplicando pelos denominadores para obter um polinômio em z e iguale coeficientes para resolver K_p,K_i.
  • Atenção: termos de ordem z^2 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 z=1 para garantir erro de regime nulo para degrau.

Resposta

(a) C(z)=\dfrac{0{,}16856\,z - 0{,}00311}{z-1}, isto é, K_p\approx 0{,}16856 e K_i\approx 0{,}03309.\n
(b) Instruções de simulação fornecidas (MATLAB/Octave/Python); resultados esperados: erro permanente \approx 0, U_P próximo de 16{,}3\% e t_p próximo de 25\\ \text{s} (verificar numericamente com o passo indicado).\n
(c) No LGR de C(z)G(z): polos em z=0,\;z=0{,}1353,\;z=1 (marcar ×), zero em z\approx0{,}018 (marcar o), duas assíntotas verticais em \operatorname{Re}(z)\approx0{,}55865 com ângulos \pm90^\circ; polos dominantes projetados em z\approx0{,}5607\pm j\,0{,}4119.

Exercícios relacionados