Exercícios Resolvidos de Lugar das Raízes

Ver Teoria

Enunciado

Um processo pode ser definido pela seguinte função de transferência:

G s = 1 ( 5 s - 1 ) ( τ V s + 1 ) ( τ T s + 1 )

Onde τ V e τ T são as constantes de tempo da válvula de controle e do transmissor, respectivamente. Encontre a faixa de ganho da malha K para a qual a malha é estável se τ V = 0,1   m i n e τ T = 1   m i n .

Passo 1

O enunciado nos dá uma função de transferência G ( s ) e nos pede para determinar a faixa de valores que o ganho K de um controlador proporcional pode assumir, de forma que a malha seja estável.

Para determinarmos os valores de K , plotaremos o lugar das raízes de G ( s ) no MATLAB, usando a função r l o c u s , e acharemos os valores de K no próprio gráfico.

Antes disso, entraremos com G ( s ) no MATLAB, por meio da função t f .

Passo 2

Antes de tudo, vamos informar ao MATLAB as constantes de tempo das válvulas: τ V = 0,1   m i n e τ T = 1   m i n . Abra um script novo e digite:

A variável t _ V armazena τ V = 0,1   m i n e a variável t _ T , τ T = 1   m i n .

Agora, vamos entrar com a função de transferência G ( s ) , usando 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 denominador de G ( s ) está fatorizado. Logo, para podermos pegar os coeficientes dele, precisamos expandi-lo (isto é, multiplicar os termos) para gerarmos o polinômio. Por isso, antes de usarmos t f , faremos uma manipulação algébrica com o denominador de G ( s ) .

Passo 3

Faremos a manipulação algébrica do denominador ( 5 s - 1 ) ( τ V s + 1 ) ( τ T s + 1 ) no MATLAB mesmo. No script onde você definiu t _ V e t _ T , digite as linhas de código:

Na primeira linha, criamos uma variável simbólica s .

Na segunda linha, entramos com o denominador de G ( s ) , armazenando-o na variável d e n _ o r i g i n a l .

Na terceira linha, usamos o comando e x p a n d do MATLAB em d e n _ o r i g i n a l . Este comando multiplicará os termos de d e n _ o r i g i n a l e gerará o polinômio que precisamos, armazenando-o em d e n _ p o l .

Rodando o programa, temos:

Passo 4

Agora que temos o polinômio do denominador de G ( s ) , podemos criar os vetores que servirão de entrada para t f . Para G ( s ) , o polinômio do numerador é 1 . Já o polinômio do denominador é 1 2 s 3 + 27 5   s 2 + 39 10 s - 1 .

No mesmo script onde você obteve d e n _ p o l , crie duas variáveis representando os coeficientes dos polinômios, para servirem de entrada para t f . Como o polinômio do numerador tem somente um elemento correspondendo a 1 ∙ s 0 = 1 ∙ 1 = 1 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 1 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de 1 2 s 3 + 27 5   s 2 + 39 10 s - 1 , indo do elemento com maior expoente ao de menor expoente:

Em seguida, adicione o comando abaixo para criar G ( s ) :

A função de transferência é armazenada na variável G . Você pode ver como G   ficou ao rodar o programa e pedir ao MATLAB para imprimir G no Command Window:

Note que as frações do denominador foram convertidas em números decimais, por isso que o denominador está um pouquinho diferente de d e n _ p o l . Apesar da forma diferente, é exatamente a mesma coisa.

Passo 5

Após criar G ( s ) , usaremos 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 ç ã o   d e   t r a n s f e r ê 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 trasnferê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 6

Podemos encontrar a faixa de valores que K pode assumir no gráfico gerado no passo 5 . 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. 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 .

Repare que existe um polo à direita do eixo vertical, equivalente a 0,2 :

Como em K = 0 esse polo 0,2 é um número real positivo, que leva à instabilidade, a faixa de valores que o ganho deve assumir para que a malha seja estável não pode começar em 0 . Para definirmos qual o valor mínimo de K , devemos ver quanto ele vale exatamente sobre o eixo vertical, ou o mais próximo possível do eixo vertical que o MATLAB nos permita. Arraste o quadradinho preto sobre o ramo vermelho, sobre sua parte horizontal, e você terá:

No ponto marcado acima, o polo se torna um número real negativo com um ganho K = 1,05 .

Para identificar o valor máximo que K pode assumir, continue arrastando o quadradinho preto sobre o ramo vermelho até que o ramo cruze novamente o eixo vertical, no limite em que a parte real do polo continue negativa:

Temos que o valor máximo que K pode assumir é 36,5 .

Resposta

1,05 ≤ K ≤ 36,5