Exercícios Resolvidos de Lugar das Raízes

Ver Teoria

Enunciado

Considere um sistema de controle a tempo contínuo com realimentação unitária de acordo com a figura abaixo, na qual a planta é representada pela função de transferência

G s = ( s + 5 ) ( s + 10 ) s 2 ( s + 2 )

  1. Considerando um controlador C ( s )   =   κ   >   0 , esboce o lugar das raízes e determine os valores de κ para os quais o sistema em malha fechada seja estável.
  2. Para o controlador do item anterior, determine o parâmetro k de modo que o sistema em malha fechada possua dois polos complexos conjugados com fator de amortecimento igual a 0,707 .
  3. Utilizando uma rotina computacional, obtenha a resposta ao degrau para o sistema em malha fechada, empregando o parâmetro k encontrado no item anterior.

Passo 1

O enunciado nos dá uma função de transferência G ( s ) e nos pede para esboçar o lugar das raízes, determinar a faxa de valores do ganho k em que o sistema é estável, encontrar o valor de k que dê um fator de amortecimento igual a 0 , 707 e, usando o k encontrado, determinar a saída do sistema para o degrau unitário.

Para plotar o lugar das raízes de G ( s ) no MATLAB e resolver a letra a do exercício, usaremos a função r l o c u s . A partir do lugar das raízes plotado, resolveremos as letras a e b, achando os valores de k no próprio gráfico. Com a resposta da letra b, faremos a letra c, gerando o sistema em malha fechada por meio do comando f e e d b a c k e plotando a resposta ao degrau unitário usando a função s t e p .

Passo 2

O primeiro passo é definir G ( s ) no MATLAB, usando a função t f , que tem a sintaxe:

s i s t e m a = t f ( n u m e r a d o r , d e n o m i n a d o r )

A função t f tem como entrada dois vetores, o primeiro contendo os coeficientes do polinômio do numerador da função de transferência (representado por n u m e r a d o r ) e outro contendo os coeficientes do polinômio do denominador (representado por d e n o m i n a d o r ). t f retorna um objeto representando a função de transferência, que será armazenada em s i s t e m a .

Contudo, repare que o numerador e o denominador de G ( s ) estão fatorizados. Para definirmos G ( s ) , vamos dividi-la em duas partes, G 1   e G 2 , de forma que G s = G 1 G 2 :

G 1 = s + 5 s 2

G 2 = s + 10 s + 2

Vamos começar definindo G 1 em um script novo do MATLAB, cujo numerador é s + 2 e o denominador é s 2 . Vamos criar duas variáveis contendo os coeficientes dos polinômios de G 1 . A primeira variável representará os coeficientes do polinômio do numerador e será chamada de n u m _ G 1 . A segunda variável será um vetor chamado d e n _ G 1 e terá os coeficientes do polinômio do denominador. Após criar as duas variáveis de entrada de t f , digite o comando G 1 = t f ( n u m _ G 1 ,   d e n _ G 1 ) :

Desta forma, a função de transferência G 1 é criada e armazenada na variável G 1 .

Vamos fazer a mesma coisa para G 2 :

Os vetores n u m _ G 2 e d e n _ G 2 contêm os coeficientes dos polinômios do numerador e do denominador de G 2 , respectivamente. Com a função t f , cria-se a funções de transferência G 2 .

Finalmente, para definir G ( s ) , inclua em seu código o produto abaixo:

Execute o programa para ver a cara de G :

Passo 3

Após definir G ( s ) , podemos resolver a letra a do exercício usando a função r l o c u s para plotar o lugar das raízes. r l o c u s tem a sintaxe:

r l o c u s ( f u n c a o _ t r a n s f e r e n c i a )

A função r l o c u s tem como entrada uma função de transferência criada a partir do comando t f (no nosso caso, é a variável G ). Ao executarmos o programa, r l o c u s gera um gráfico com o lugar das raízes da função de transferência.

Adicione no seu script o comando:

Ao executar o programa, você terá o gráfico do lugar das raízes de G ( s ) :

Passo 4

Podemos encontrar a faixa de valores que k pode assumir no gráfico gerado no passo 3 . Para isto, devemos relembrar o critério de estabilidade: uma malha de controle é estável se as raízes forem números reais negativos ou se forem números complexos com a parte real negativa. No lugar das raízes, isso significa que as raízes devem estar à esquerda do eixo vertical.

Isso quer dizer que, para encontrarmos os valores do ganho k que garantem a estabilidade, devemos analisar os ramos que cruzam o eixo vertical. Logo, no nosso gráfico, a área de interesse é essa aqui:

Por isso, recomendo você ampliar o gráfico, dando um zoom nessa região, pra ver bem certinho os polos e os ramos. Você pode dar o zoom clicando no botão destacado em vermelho abaixo:

Para ver os valores de ganho, selecione o botão “Data Cursor” (destacado em azul acima) e clique sobre um dos ramos. Aparecerá um quadradinho preto com uma janelinha contendo informações sobre G ( s ) na naquele ponto:

O dado “Gain” é o que nos interessa para responder à letra a. Ele representa o ganho k nesse ponto. Se você arrastar o quadradinho até um xizinho, que representa um polo, você verá que k = 0 quando o cursor estiver sobre o polo. Logo, quanto mais perto do polo, menor o k .

O polo bem na fronteira da estabilidade são polos iguais a 0 . Nesses polos, k = 0 e quando nos afastamos deles, k aumenta. O valor de k em um ponto bem em cima do eixo vertical é o valor mínimo que k tem que ter para que o sistema seja estável. O ganho k pode assumir qualquer valor acima desse mínimo, pois o restante do lugar das raízes encontra-se à esquerda do eixo vertical.

No seu gráfico do lugar das raízes, clique sobre um ponto bem em cima do eixo vertical, para encontrar o valor mínimo de k :

Para que o sistema em malha fechada seja estável, κ ≥ 1,41 . Letra a respondida ;)

Passo 5

A partir do gráfico do lugar das raízes, vamos resolver a letra b do exercício, que pede para encontrarmos o ganho k para termos um fator de amortecimento igual a 0 , 707 .

No gráfico do lugar das raízes do MATLAB, clique sobre os ramos para ver as propriedades da função de transferência no ponto onde você clicou. Aqui, além do parâmetro “Gain”, que nos dá o valor de k , vamor ver o parâmetro “Damping”, que dá o fator de amortecimento.

Arraste o quadradinho preto que apareceu onde você clicou até encontrar um ponto onde o parâmetro “Damping” seja igual a 0 , 707 :

Temos que um ganho k = 26,6 nos dá um fator de amortecimento igual a 0 , 707 . Letra b resolvida ;D

Passo 6

A letra c pede para encontrarmos a resposta do sistema em malha fechada para um degrau unitário, considerando o ganho k = 26 , 6 encontrado na letra b. Para isto, usaremos o comando s t e p , que tem a sintaxe:

s t e p ( f u n c a o _ t r a n s f e r e n c i a )

A função s t e p plota o gráfico da resposta ao degrau unitário de f u n c a o _ t r a n s f e r e n c i a , que é uma função de transferência criada usando o comando t f .

Contudo, precisamos aplicar s t e p no sistema em malha fechada, como o diagrama do enunciado:

Para criar um sistema em malha fechada no MATLAB, usamos o comando f e e d b a c k , que tem a sintaxe:

m a l h a _ f e c h a d a = f e e d b a c k ( G s , H ( s ) )

O comando f e e d b a c k tem como entrada duas funções de transferência e retorna a função de transferência m a l h a _ f e c h a d a equivalente ao diagrama de blocos abaixo:

A primeira entrada de f e e d b a c k é a função de transferência da parte de cima do diagrama e a segunda entrada, é a função de transferência da parte de baixo.

No caso do exercício, quando usarmos a função f e e d b a c k , teremos que a primeira entrada é k * G e a segunda entrada é H ( s ) = 1 , pois se trata de um sistema com realimentação unitária.

Insira no seu código as duas linhas abaixo:

Na primeira linha, definimos o ganho k encontrado na letra b.

Na segunda linha, usamos o comando s t e p para plotar a resposta ao degrau do sistema com realimentação unitário, modelado por meio do comando f e e d b a c k .

Execute o programa e você terá a resposta da letra c.

Resposta

  1. κ ≥ 1,41

  2. k = 26,6