Você está na página 1de 10

Universidade Federal do ABC

Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas


ESTB029-17 - Análise e Controle de Sistemas Mecânicos
1º quadrimestre de 2022

LABORATÓRIO 03
TÉCNICA DO LUGAR GEOMÉTRICO DAS RAÍZES

1. Objetivo
Este laboratório tem por objetivo utilizar o Matlab para:
1.1. Estudar a saída de sistemas de ordem 2 e sistemas de ordem maior que 2;
1.2. Ajudar a obter um esboço detalhado do Lugar das Raízes, e compará-la com o Lugar das Raízes real.

2. Introdução

2.1. Sistemas de 2ª ordem


Em um sistema de 2a ordem, é possível estabelecer parâmetros de desempenho a partir do gráfico dos polos
(Figura 2). Definindo a frequência exponencial amortecida σd como a magnitude da parte real do polo, e a
frequência amortecida de oscilação ωd como a parte imaginária do polo, vemos que:

𝜋 𝜋 (1)
𝑇𝑝 = =
𝜔𝑛 √1 − 𝜁2 𝜔𝑑
4 4 (2)
𝑇𝑠 = =
𝜁𝜔𝑛 𝜎𝑑
𝑐𝑜𝑠𝜃 = 𝜁 (3)

−(
𝜁𝜋
) (4)
%𝑈𝑃 = 𝑒 √1−𝜁 2 𝑥100
Figura 1 – Representação dos polos de um sistema de 2ª ordem subamortecido.

Figura 2 – Linha de valores constantes de K, Ts e %UP.

Dado um sistema de 2ª ordem em retroação com ganho simples, podemos usar o gráfico do Lugar das Raízes
para obter especificações desse sistema. Conhecida certa especificação de K, Ts ou %UP, basta saber em que
ponto s o ramo do lugar das raízes cruza reta relacionada à especificação, e calcular K a partir da equação 5.

1 (5)
𝐾=
|𝐺(𝑠)||𝐻(𝑠)|

2.2. Esboço detalhado do Lugar das Raízes


Vimos em aula que é possível esboçar o lugar das raízes a partir de regras simples:
1. O número de ramos do lugar das raízes é igual ao número de polos à malha fechada.
2. O lugar das raízes é simétrico em relação ao eixo real.
3. No eixo real, para K > 0, o lugar das raízes existe à esquerda de um número ímpar de polos e/ou zeros finitos
a malha aberta sobre o eixo real.
4. O lugar das raízes se inicia nos polos finitos e infinitos de G(s)H(s) e termina nos zeros finitos e infinitos de
G(s)H(s).
5. O lugar das raízes tende a retas assintóticas quando o lugar tende a infinito. Os ângulos entre essas retas e o
eixo real (θa) e os pontos onde essas retas cruzam o eixo real (σa) são dados pelas equações 6 e 7.

∑ 𝑝𝑜𝑙𝑜𝑠 𝑓𝑖𝑛𝑖𝑡𝑜𝑠 − ∑ 𝑧𝑒𝑟𝑜𝑠 𝑓𝑖𝑛𝑖𝑡𝑜𝑠 (6)


𝜎𝑎 =
#𝑝𝑜𝑙𝑜𝑠 𝑓𝑖𝑛𝑖𝑡𝑜𝑠 − #𝑧𝑒𝑟𝑜𝑠 𝑓𝑖𝑛𝑖𝑡𝑜𝑠
(2𝑘 + 1)𝜋 (7)
𝜃𝑎 =
#𝑝𝑜𝑙𝑜𝑠 𝑓𝑖𝑛𝑖𝑡𝑜𝑠 − #𝑧𝑒𝑟𝑜𝑠 𝑓𝑖𝑛𝑖𝑡𝑜𝑠

Para entender o comportamento do sistema, devemos saber exatamente em que ponto o tipo de resposta se
altera. Para isso, temos dois pontos de interesse:
1. o ponto sobre o eixo real onde o lugar das raízes entra ou sai do plano complexo, que indica a alteração entre
sistemas subamortecidos ↔ criticamente amortecidos ↔ superamortecidos.
2. os pontos sobre o eixo jω, que indicam a passagem entre um sistema estável ↔ marginalmente estável ↔
instável.

Os pontos de entrada e saída do eixo real podem ser encontrados através do método de transição, satisfazendo
a relação:

𝑚 𝑛 (8)
1 1
∑ =∑
𝜎 + 𝑧𝑖 𝜎 + 𝑝𝑖
1 1

onde zi e pi são os negativos dos zeros e polos de G(s)H(s).

O programa exemplo a seguir calcula os valores de θa e σa, dada a função de transferência a malha aberta do
sistema, e encontra os pontos sobre o eixo real onde o lugar das raízes entra ou sai do plano complexo.

function esboco(GH)

[polos , zeros] = pzmap(GH);

sigma_a = (sum(polos)-sum(zeros))/(length(polos)-length(zeros));
disp(['Sigma_a: ' num2str(sigma_a)]);

theta_a = [];

for k = 0:(length(polos)-length(zeros))-1
theta_a(k+1) = mod( ((2*k+1)*pi)/(length(polos)-length(zeros)), 2*pi);
end

disp(['Theta_a: ' num2str(theta_a) ' [rad]']);


disp(['Theta_a: ' num2str(theta_a*180.0/pi) ' [graus]']);

polinomio = 0;
s = tf('s');
for z = 1:length(zeros)
polinomio = polinomio - 1/(s-zeros(z));
end
for p = 1:length(polos)
polinomio = polinomio + 1/(s-polos(p));
end

pontos = roots(cell2mat(polinomio.num));

pontos_final = [];
for p = 1:length(pontos)
if isreal(pontos(p))
pontos_final = [pontos_final pontos(p)];
end
end
disp(['Pontos onde as raizes deixam eixo real: ' num2str(pontos_final)]);

end

Para encontrar o ponto de interseção no eixo jω, podemos usar o critério de Routh-Hurwitz, forçando uma
linha de zeros. Também é possível determinar o ponto de interseção do eixo jω usando o fato de que, no ponto
de interseção, a soma dos ângulos a partir dos polos e zeros a malha aberta finitos deve totalizar (2k + 1)180◦.
Dessa forma, podemos procurar o eixo jω até acharmos o ponto que atende esta condição de ângulo. O
programa exemplo a seguir realiza essa busca, para o sistema apresentado na Figura 3.
Figura 3 – Sistema com realimentação unitária.

s = tf('s');

G = (s+3)/(s*(s+1)*(s+2)*(s+4))
H = 1;

[polos , zeros] = pzmap(G*H)

for y = 1:0.01:2
angulo=0;
for p = 1:length(polos)
angulo=angulo-angle(y*i-polos(p));
end
for p = 1:length(zeros)
angulo=angulo+angle(y*i-zeros(p));
end

disp(['+-' num2str(y) 'i -> angulo = ' num2str(angulo*180/pi)]);


end

2.3. Obtendo o Lugar das Raízes


Uma vez que dispomos do auxílio de um computador, podemos usar o software Matlab para obter o Lugar das
Raízes real do sistema usando o comando rlocus(GH), onde GH é a função de transferência a malha aberta do
sistema. Caso o comando seja chamado sem especificar sua saída (rlocus(GH);), o programa plota na tela o
lugar das raízes. Caso seja necessário manipular os dados fornecidos por esse comando, podemos especificar
uma saída para os dados ([rldata,k] = rlocus(GH);). O programa exemplo a seguir mostra como usar os dados
fornecidos por esse comando.

function lraizes(GH)

[rldata,k] = rlocus(GH);
[polos , zeros] = pzmap(GH);

figure()
plot(rldata','linewidth',2); grid on;
hold on;
plot(real(polos),imag(polos),'kx','markersize',20,'linewidth',2);
plot(real(zeros),imag(zeros),'ro','markersize',20,'linewidth',2);
title('Lugar das raizes');

disp(['Ganhos onde as raizes deixam eixo real: ' num2str(k')]);

end

A saída dessa função para o sistema da Figura 3 pode ser vista na Figura 4.

Figura 4 – Saída da função lraizes.

3. Atividades para entregar

3.1. Considere o sistema abaixo com as seguintes funções de transferência:

Figura 5 – Sistema com realimentação unitária.


𝐾
a. 𝐺(𝑠) = 𝑠(𝑠+1)
𝐾
b. 𝐺(𝑠) = 𝑠(𝑠+1)(𝑠+2)
𝐾
c. 𝐺(𝑠) = 𝑠(𝑠+1)(𝑠+10)
𝐾
d. 𝐺(𝑠) = 𝑠(𝑠+1)(𝑠+100)
𝐾(𝑠+4)
e. 𝐺(𝑠) = 𝑠(𝑠+1)

Esboce manualmente e computacionalmente o lugar geométrico das raízes, com todos os parâmetros de entrada
e saída do eixo real e cruzamento com o eixo imaginário (se houver).

3.2. Esboce o lugar geométrico das raízes para o sistema mostrado na Figura 6A e determine:
a. O ponto exato e o ganho onde o lugar geométrico cruza a reta de fator de amortecimento 0,45.
b. O ponto exato e o ganho onde o lugar geométrico cruza o eixo jω.
c. O ponto de saída do eixo real.
Figura 6 – Sistema para o exemplo 3.2 (A). Esboço do lugar geométrico das raízes (B).

% Apaga o gráfico na tela.


clf

% Define o numerador de G(s)H(s).


numgh = [1 -4 20];

% Define o denominador de G(s)H(s).


dengh = poly([-2 -4]);
% Cria G(s)H(s) e exibe.
GH = tf(numgh,dengh)

% Traça o lugar geométrico das raízes.


rlocus(GH)

% Define valores de fator de amortecimento: 0,2 a 0,5 em incrementos de 0,05.


z = 0.2:0.05:0.5;

% Define valores de frequência natural: de 0 a 10 em incrementos de 1.


wn = 0:1:10;

% Gera grade de retas de fator de amortecimento e de frequência natural


% para o lugar geométrico das raízes.
sgrid(z,wn)

% Define título para o lugar geométrico das raízes.


title('Lugar geométrico das raízes')

pause

% Traça o lugar geométrico das raízes.


rlocus(GH)

% Define faixas para os eixos do lugar geométrico das raízes


% para visualização ampliada.
axis([-3 1 -4 4])

% Define título para o lugar geométrico das raízes ampliado.


title('Vista ampliada')

% Define a reta de fator de amortecimento para sobrepor ao lugar


% geométrico das raízes ampliado.
z = 0.45;

% Suprime curvas sobrepostas de frequência natural.


wn = 0;
% Sobrepõe curva de fator de amortecimento ao lugar geométrico das raízes
% ampliado.
sgrid(z,wn)

% Permite que um ponto seja selecionado.


% Gera o ganho, K, e os polos em malha fechada, p, para o ponto selecionado
% interativamente sobre o lugar geométrico das raízes.
[K,p] = rlocfind(GH)

3.3. Considere o sistema mostrado na Figura 7. Projete o valor do ganho K para resultar em 1,52% de
ultrapassagem. Além disso, plote a resposta do sistema a um degrau unitário.

Figura 7 – Sistema para o exemplo 3.3.

Você também pode gostar