Exercícios Resolvidos de Lugar das Raízes

Ver Teoria

Enunciado

Considere o sistema de controle com realimentação unitária apresentado abaixo, no qual se assume κ > 0 . Para a função de transferência definida a seguir:

G s = 150 ( s + 4 ) ( s + 9 ) ( s 2 + 6 s + 13 ) ( s 2 + 16 s + 100 ) ( s + 7 )

  1. Esboce o lugar das raízes em função do ganho κ   >   0 .
  2. Determine κ   >   0 de maneira que os polos dominantes do sistema em malha fechada apresentem fator de amortecimento igual a 0,5 .
  3. Para κ determinado no item anterior, encontre a saída para uma entrada degrau unitário.

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 o ganho k de modo que os polos dominantes tenham fator de amortecimento igual a 0,5 (lembrando que os polos dominantes são aqueles que estão mais próximos do eixo imaginário do lugar das raízes, ou seja, do eixo vertical) 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 obtido na letra a, resolveremos a letra b, achando o valor 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 por meio da função s t e p .

Passo 2

O primeiro passo é entrar com G ( s ) por meio da 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 ) no MATLAB, vamos quebrá-la em três partes, G 1 , G 2 e G 3 , de forma que G s = G 1 G 2 G 3 :

G 1 = 150 s 2 + 6 s + 13

G 2 = s + 4 s 2 + 1 6 s + 1 00

G 3 = s + 9 s + 7

Vamos começar definindo G 1 em um script novo do MATLAB, cujo numerador é 1 50 . Já o denominador é o polinômio s 2 + 6 s + 13 . 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 e G 3 :

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

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

Execute o programa para ver como G ficou:

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 ) :

Pronto! Esta é a resposta da letra a =D

Passo 4

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 de maneira que os polos dominantes do sistema em malha fechada apresentem fator de amortecimento igual a 0,5 .

No gráfico do lugar das raízes do MATLAB, as bolinhas representam os zeros e os chizinhos, os polos. Para vermos os parâmetros de G ( s ) nos polos dominantes, devemos clicar sobre os ramos partindo dos chizinhos mais próximos do eixo vertical, como no print abaixo:

Veja que abriu uma janelinha apresentando algumas propriedades da função de transferência no ponto onde clicamos. É nessa janelinha que vamos ver o valor de k , dado pelo parâmetro “Gain”, e o fator de amortecimento, que é dado pelo parâmetro “Damping”. No caso do print acima, para um ganho k = 0 , temos um fator de amortecimento de 0,832 .

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

Temos que um ganho k = 1,66 nos dá um fator de amortecimento igual a 0,5 nos polos dominantes. Letra b resolvida ;D

Passo 5

A letra c pede para encontrarmos a resposta de G ( s ) para um degrau unitário, considerando o ganho k = 1,66 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, entramos com 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. k = 1,66