Diagrama de Nyquist

Ver Todos os Exercícios

Teoria

Introdução

E aí, controleiros de plantão? Tudo sob controle? Em uma graduação de engenharia as coisas ficam meio instáveis de vez em quando, né?

Se você estiver cursando alguma disciplina de Controle, vou tentar deixar as coisas um pouquinho mais estáveis para você. Hoje vamos aprender outra forma de usar o MATLAB para avaliar a estabilidade de um sistema dinâmico. Aprenderemos a plotar um gráfico de Nyquist e vamos relembrar o critério de Nyquist.

Primeiramente, vamos dar uma rápida revisada no que é o gráfico de Nyquist. Se quiser saber mais sobre o assunto ou precisar de uma revisão mais profunda, aqui no Responde Aí temos uma seção só sobre o critério de Nyquist, no capítulo Resposta em Frequência, no assunto Projeto de Controlador Clássico.

A análise do diagrama de Nyquist nos permite verificar a estabilidade de um modelo em malha fechada a partir da resposta do modelo em malha aberta. Normalmente, ele tem uma cara parecida com esta:

O diagrama de Nyquist é um gráfico no plano complexo, com a componente real no eixo horizontal e a componente imaginária no eixo vertical. Repare que as curvas do gráfico têm umas flechinhas, indicando um sentido de rotação (horário ou anti-horário). Essas flechinhas são importantes para o critério de Nyquist, que veremos mais adiante.

Plotando diagramas de Nyquist com o MATLAB

Agora que relembramos o que é um diagrama de Nyquist, vamos aprender a plotá-lo usando o MATLAB. O comando para gerar um diagrama de Nyquist a partir de uma função de transferência em malha aberta é bem diretão:

n y q u i s t ( f u n ç ã o   d e   t r a n s f e r ê n c i a )

Ele tem como entrada uma função de transferência, criada usando o comando t f do MATLAB, e ele gera um gráfico com o diagrama de Nyquist para a f u n ç ã o   d e   t r a n s f e r ê n c i a .

Vamos fazer um exemplo no MATLAB, onde vamos gerar o diagrama de Nyquist da função de transferência:

G s = s - 6 s + 1

Em um script novo, entre com G ( s ) no MATLAB usando a função t f , digitando as seguintes linhas de código:

Na primeira linha, criamos um vetor n u m em que cada elemento é um coeficiente do polinômio do numerador de G ( s ) , indo do componente com maior expoente ( s 1 = s ) ao de menor expoente ( s 0 = 1 ).

Na segunda linha, criamos um vetor d e n em que cada elemento é um coeficiente do polinômio do denominador de G ( s ) .

Na terceira linha, usamos a função t f para criar G ( s ) .

Para plotar o diagrama de Nyquist de G ( s ) , incluímos no script o comando:

Ao executar o programa, teremos o diagrama de Nyquist de G ( s ) :

Foi pá-pum, né?

Reparou que o gráfico tem um cruzinha vermelha, bem no ponto com coordenadas ( - 1,0 ) ? É bem legal que o MATLAB nos dê essa cruzinha, pois ela vai ser essencial para avaliarmos a estabilidade do sistema pelo critério de Nyquist.

Estabilidade e critério de Nyquist

No critério de Nyquist, estabelecemos quantos polos positivos da função de transferência em malha fechada existem. O critério de Nyquist é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) , exatamento o ponto marcado pela cruzinha vermelha no MATLAB;
  • P é o número de polos positivos da função de transferência em malha aberta.

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta e N é obtido pelo diagrama de Nyquist. Há uma regrinha que diz que N é positivo se a volta for no sentido horário. Se for no sentido anti-horário, N é negativo.

Tendo P e N , calculamos Z . Lembra que um sistema estável não possui polos em malha fechada com parte real positiva? Logo, pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

Vamos ver como o critério funciona com o nosso exemplo. Nossa função de transferência em malha aberta é:

G s = s - 6 s + 1

O denominador de G ( s ) é s + 1 , que tem como raiz - 1 . Logo, o único polo de G ( s ) é - 1 e ele é negativo. Portanto, G ( s ) não tem polos positivos e P = 0 .

Vamos rever o diagrama de Nyquist de G ( s ) que geramos no MATLAB:

Note que o diagrama dá uma volta em sentido horário em torno da cruzinha vermelha, que marca o ponto ( - 1,0 ) . Portanto, N = 1 .

Usando o critério de Nyquist, temos que Z = N + P = 1 + 0 = 1 . Como Z é diferente de 0 , o sistema é instável.

Depois de aprender como plotar um diagrama de Nyquist no MATLAB e a avaliar estabilidade de um sistema usando o diagrama, tá na hora de praticar! Bora fazer os exercícios para fixar bem a aula de hoje ;D

Plotando diagramas de Nyquist com o MATLAB

Estabilidade e critério de Nyquist

Exercícios Resolvidos

Exercício Resolvido #1

Usando o MATLAB, plote o diagrama de Nyquist da função de transferência:

G s = 1 1 2 s 2 + 3 2 s + 1

Passo 1

O exercício pede para plotarmos o diagrama de Nyquist de G ( s ) usando o MATLAB. Para isto, devemos primeiro entrar com G ( s ) no MATLAB usando a função t f . Em seguida, usaremos a função n y q u i s t para plotar o diagrama de Nyquist de G ( s ) .

Passo 2

O primeiro passo para resolver o exercício é entrar com G ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte 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 .

Para G ( s ) , o polinômio do numerador é 1 . Já o polinômio do denominador é 1 2 s 2 + 3 2 s + 1 .

Em um novo script, vamos criar 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 2 + 3 2 s + 1 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já digitamos o comando G = t f ( n u m ,   d e n )   para criar G ( s ) , que será armazenado na variável G .

Se quiser conferir se você entrou G ( s ) certinho, rode o programa que você tem até agora e peça para o MATLAB imprimir G no Command Window. Se estiver tudo certo, você terá:

Passo 3

Tendo entrado com G ( s ) no MATLAB, podemos plotar seu diagrama de Nyquist, usando a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Ao executar o programa, você terá o diagrama de Nyquist pedido pelo enunciado.

Resposta

Exercício Resolvido #2

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

G s = 1 s + 1

Passo 1

O exercício pede para vermos se um sistema é estável ou não usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e determinaremos a estabilidade do sistema usando o critério de Nyquist no gráfico gerado pelo MATLAB.

Passo 2

O primeiro passo para resolver o exercício é entrar com G ( s ) no MATLAB. Para isto, usaremos a função t f , que cria funções de transferência e tem a seguinte 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 .

Para G ( s ) , o polinômio do numerador é 1 . Já o polinômio do denominador é s + 1 .

Em um novo script, vamos criar 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 s + 1 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já incluimos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado na variável G .

Se quiser conferir se você entrou G ( s ) certinho, rode o programa que você tem até agora e peça para o MATLAB imprimir G no Command Window. Se estiver tudo certo, você terá:

Passo 3

Tendo entrado com G ( s ) no MATLAB, podemos plotar o diagrama de Nyquist, usando a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa e você terá o diagrama de Nyquist de G :

Passo 4

Com o diagrama de Nyquist em mãos, podemos avaliar a estabilidade do sistema usando o critério de Nyquist, que é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) ;
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) . Neste exercício, o denominador de G ( s ) é s + 1 , que tem como raiz - 1 . Logo, o único polo de G ( s ) é - 1 e ele é negativo. Portanto, G ( s ) não tem polos positivos e P = 0 .

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo anterior:

Tem uma cruzinha vermelha na extremidade esquerda do gráfico, reparou? Essa cruzinha marca o ponto de coordenadadas ( - 1,0 ) . Como a cruzinha está fora do diagrama de Nyquist (que é o círculo azul com flechinhas), o diagrama não dá volta alguma em torno de ( - 1,0 ) , logo, N = 0 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 0 + 0 = 0 . Como Z = 0 , o sistema é estável.

Resposta

Sistema estável

Exercício Resolvido #3

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

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

Passo 1

O exercício pede para vermos se um sistema é estável ou não usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e determinaremos a estabilidade do sistema usando o critério de Nyquist no gráfico gerado pelo MATLAB.

Antes de usar n y q u i s t , vamos entrar com G ( s ) no MATLAB usando a função t f . Lembra dela? Ela tem como entrada dois vetores com os coeficientes dos polinômios do numerador e do denominador da função de transferência. 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 2

Para obter o polinômio do denominador de G ( s ) , vamos multipicar seus termos usando o MATLAB. Em um novo script, 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 3

Agora que temos o polinômio do denominador de G ( s ) , podemos criar os vetores que servirão de entrada para t f . Lembrando que t f que tem como 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 .

Para G ( s ) , o polinômio do numerador é 30 . Já o polinômio do denominador é s 2 + 12 s   +   20 .

Em um novo script ou no script onde você obteve d e n _ p o l , vamos criar 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 30 ∙ s 0 = 30 ∙ 1 = 30 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 30 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 2 + 12 s   +   20 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já incluimos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado na variável G .

É bom dar uma conferida em G antes de continuar. Para isto, rode o programa que você tem até agora e imprima G no Command Window:

Aparentemente, está tudo certinho. Podemos continuar :)

Passo 4

Tendo entrado com G ( s ) no MATLAB, podemos plotar o diagrama de Nyquist, usando a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa e você terá o diagrama de Nyquist de G :

Passo 5

Com o diagrama de Nyquist em mãos, podemos avaliar a estabilidade do sistema usando o critério de Nyquist, que é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) ;
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) . Para isto, é mais fácil a gente pegar o G ( s ) dado diretamente no enunciado, onde os termos do denominador não foram multiplicados:

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

Neste exercício, o denominador de G ( s ) é s + 2 ( s + 10 ) , que tem como raizes - 2 e - 10 . Logo, G ( s ) não tem polos positivos e P = 0 .

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo anterior:

Tem uma cruzinha vermelha na extremidade esquerda do gráfico, reparou? Essa cruzinha marca o ponto de coordenadadas ( - 1,0 ) . Como a cruzinha está fora do diagrama de Nyquist (que é a curva azul com flechinhas), o diagrama não dá volta alguma em torno de ( - 1,0 ) , logo, N = 0 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 0 + 0 = 0 . Como Z = 0 , o sistema é estável.

Resposta

Sistema estável

Exercício Resolvido #4

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

G s = 70 s + 1 ( s + 2 ) ( s + 3 )

Passo 1

O exercício pede para vermos se um sistema é estável ou não usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e determinaremos a estabilidade do sistema usando o critério de Nyquist no gráfico gerado pelo MATLAB.

Antes de usar n y q u i s t , vamos entrar com G ( s ) no MATLAB usando a função t f . Lembra dela? Ela tem como entrada dois vetores com os coeficientes dos polinômios do numerador e do denominador da função de transferência. 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 2

Para obter o polinômio do denominador de G ( s ) , vamos multipicar seus termos usando o MATLAB. Em um novo script, 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 3

Agora que temos o polinômio do denominador de G ( s ) , podemos criar os vetores que servirão de entrada para t f . Lembrando que t f que tem como 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 .

Para G ( s ) , o polinômio do numerador é 7 0 . Já o polinômio do denominador é s 3 + 6 s 2 + 11 s + 6 .

Em um novo script ou no script onde você obteve d e n _ p o l , vamos criar 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 7 0 ∙ s 0 = 7 0 ∙ 1 = 7 0 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 7 0 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 3 + 6 s 2 + 11 s + 6 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já incluimos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado na variável G .

É bom dar uma conferida em G antes de continuar. Para isto, rode o programa que você tem até agora e imprima G no Command Window:

Tudo certinho, bora plotar o diagrama de Nyquist ;)

Passo 4

Para plotar o diagrama de Nyquist, use a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa e você terá o diagrama de Nyquist de G :

Passo 5

Com o diagrama de Nyquist em mãos, podemos avaliar a estabilidade do sistema usando o critério de Nyquist, que é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) . N é positivo se a volta for no sentido horário. Se for no sentido anti-horário, N é negativo.
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) . Para isto, é mais fácil a gente pegar o G ( s ) dado diretamente no enunciado, onde os termos do denominador não foram multiplicados:

G s = 70 s + 1 ( s + 2 ) ( s + 3 )

Neste exercício, o denominador de G ( s ) é s + 1 ( s + 2 ) ( s + 3 ) , que tem como raizes - 1 , - 2 e - 3 . Logo, G ( s ) não tem polos positivos e P = 0 .

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo anterior:

Tem uma cruzinha vermelha no gráfico, reparou? Essa cruzinha marca o ponto de coordenadadas ( - 1,0 ) . Vamos dar um zoom na região da cruzinha, para ver quantas voltas o diagrama de Nyquist dá em torno dela:

O diagrama de Nyquist (representado pela curva azul) dá duas voltas em torno da cruzinha, ambas em sentido horário, logo, N   =   2 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 2 + 0 = 2 . Como Z é diferente de 0 , o sistema é instável.

Resposta

Sistema instável

Exercício Resolvido #5

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

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

Passo 1

O exercício pede para vermos se um sistema é estável ou não usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e determinaremos a estabilidade do sistema usando o critério de Nyquist no gráfico gerado pelo MATLAB.

Antes de usar n y q u i s t , vamos entrar com G ( s ) no MATLAB usando a função t f . Lembra dela? Ela tem como entrada dois vetores com os coeficientes dos polinômios do numerador e do denominador da função de transferência. Repare que o denominador de G ( s ) está fatorizado em parte. 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 2

Para obter o polinômio do denominador de G ( s ) , vamos multipicar seus termos usando o MATLAB. Em um novo script, 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 3

Agora que temos o polinômio do denominador de G ( s ) , podemos criar os vetores que servirão de entrada para t f . Lembrando que t f que tem como 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 .

Para G ( s ) , o polinômio do numerador é 20 0 . Já o polinômio do denominador é s 3 + 15 s 2 + 100 s   +   250 .

Em um novo script ou no script onde você obteve d e n _ p o l , vamos criar 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 20 0 ∙ s 0 = 20 0 ∙ 1 = 20 0 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 20 0 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 3 + 15 s 2 + 100 s   +   250 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo, já incluimos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado na variável G .

É bom dar uma conferida em G antes de continuar. Para isto, rode o programa que você tem até agora e imprima G no Command Window:

Estando tudo nos conformes, podemos partir para o próximo passo, que é plotar o diagrama de Nyquist.

Passo 4

Para plotar o diagrama de Nyquist, use a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa e você terá o diagrama de Nyquist de G :

Passo 5

Com o diagrama de Nyquist em mãos, podemos avaliar a estabilidade do sistema usando o critério de Nyquist, que é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) . N é positivo se a volta for no sentido horário. Se for no sentido anti-horário, N é negativo.
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) . Para isto, é mais fácil a gente pegar o G ( s ) dado diretamente no enunciado, onde os termos do denominador não foram multiplicados:

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

Neste exercício, o denominador de G ( s ) é ( s + 5 ) ( s 2 + 10 s + 50 ) e tem três raízes. A primeira raiz é fácil de achar: é - 5 . Para encontrar as duas raízes restantes, do polinômio de 2 º grau s 2 + 10 s + 50 , vamos usar a função r o o t s do MATLAB, que tem como sintaxe:

r = r o o t s ( p )

Ela tem como entrada o vetor p , que contém os coeficientes do polinômio cuja raízes queremos encontrar, indo do elemento com maior expoente ao de menor expoente. O comando r o o t s retorna as raízes do polinômio e as armazena em r .

No nosso exercício, queremos encontrar as raízes de s 2 + 10 s + 50 . Logo, o vetor p é:

p = 1 10 50

Vamos adicionar no nosso script do MATLAB o comando r o o t s para acharmos as raízes:

Executando o programa, temos que as raízes de s 2 + 10 s + 50 são dois números complexos:

Logo, as três raízes do denominador ( s + 5 ) ( s 2 + 10 s + 50 ) são - 5 , - 5 + 5 i e - 5 - 5 i . Quando temos zeros que são números complexos, avaliamos a parte real do número. Como a parte real das raízes - 5 + 5 i e - 5 - 5 i é negativa, , G ( s ) não tem polos positivos e P = 0 .

Passo 6

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo 4 :

Tem uma cruzinha vermelha na extremidade esquerda do gráfico, reparou? Essa cruzinha marca o ponto de coordenadadas ( - 1,0 ) . Como a cruzinha está fora do diagrama de Nyquist (que é a curva azul com flechinhas), o diagrama não dá volta alguma em torno de ( - 1,0 ) , logo, N = 0 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 0 + 0 = 0 . Como Z = 0 , o sistema é estável.

Resposta

Sistema estável

Exercício Resolvido #6

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

G s = 10 ( s + 1 ) ( s + 2 ) ( s + 3 )

Passo 1

Vamos avaliar se um sistema é estável ou não usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e, a partir do gráfico, veremos a estabilidade do sistema usando o critério de Nyquist.

Antes de usar n y q u i s t , usaremos a função t f para entrar com G ( s ) no MATLAB. Como o denominador de G ( s ) está fatorizado, precisamos expandi-lo para sabermos como será a entrada de t f . Por isso, antes de usarmos t f , vamos multiplicar os termos do denominador de G ( s ) .

Passo 2

Vamos multipicar os termos do denominador de G ( s ) usando o MATLAB. Em um novo script, digite as linhas de código:

Na primeira linha, definimos 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á um polinômio, que é armazenado em d e n _ p o l .

Rodando o programa, temos:

Passo 3

Após expandir o denominador de G ( s ) , vamos criar os vetores que servirão de entrada para 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 .

Para G ( s ) , o polinômio do numerador é 1 0 . Já o polinômio do denominador é s 3 + 6 s 2 + 11 s + 6 .

Em um novo script ou no mesmo script onde d e n _ p o l foi calculado, vamos criar duas variáveis com os coeficientes dos polinômios, que serão a entrada de t f . Como o polinômio do numerador tem somente um elemento correspondendo a 1 0 ∙ s 0 = 1 0 ∙ 1 = 1 0 , 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 0 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 3 + 6 s 2 + 11 s + 6 , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo das linhas onde as variáveis n u m e d e n foram criadas, já colocamos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado em G .

Uma dica: confira G antes de continuar, pra ver se não digitou nada de errado. Para isto, rode o programa que você tem até agora e imprima G no Command Window:

Estando tudo certinho, podemos plotar o diagrama de Nyquist de G ( s ) .

Passo 4

Para plotar o diagrama de Nyquist, use a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa e você terá o diagrama de Nyquist de G :

Passo 5

Com o diagrama de Nyquist plotado, podemos utilizá-lo para avaliar a estabilidade do sistema por meio do critério de Nyquist, que é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) . N é positivo se a volta for no sentido horário. Se for no sentido anti-horário, N é negativo.
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) . Para isto, é mais fácil a gente pegar o G ( s ) dado diretamente no enunciado, onde os termos do denominador não foram multiplicados:

G s = 1 0 s + 1 ( s + 2 ) ( s + 3 )

Neste exercício, o denominador de G ( s ) é s + 1 ( s + 2 ) ( s + 3 ) , que tem como raízes - 1 , - 2 e - 3 . Logo, G ( s ) não tem polos positivos e P = 0 .

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo anterior:

Note a cruzinha vermelha na lateral esquerda do gráfico. Essa cruzinha marca o ponto de coordenadadas ( - 1,0 ) . Como a cruzinha vermelha está fora do diagrama de Nyquist (representado pela curva azul), o diagrama não dá volta alguma em torno dela, por isso, N   =   0 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 0 + 0 = 0 . Como Z é igual a 0 , o sistema é estável.

Resposta

Sistema estável

Exercício Resolvido #7

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

G s = 1 s ( s + 2 )

Passo 1

Vamos avaliar a estabilidade de um sistema usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e, a partir do gráfico, veremos a estabilidade do sistema usando o critério de Nyquist. Mas antes de usar n y q u i s t , precisamos entrar com G ( s ) , por meio da função t f .

Passo 2

A função t f serve para criar funções de transferência e tem como 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 )

Ela 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 .

Para G ( s ) , o polinômio do numerador é 1 . Já o polinômio do denominador é s s + 2 = s 2 + 2 s .

Em um novo script, vamos as entradas de t f . Como o polinômio do numerador tem somente um elemento correspondendo a 1 ∙ s 0 = 1 ∙ 1 = 1 , a variável contendo 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 s 2 + 2 s , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo das linhas onde n u m e d e n foram criados, já digitamos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado em G .

Antes de continuar, verifique G pra ver se não digitou nada de errado. Para isto, rode o programa que você tem até agora e imprima G no Command Window:

Estando tudo OK, podemos plotar o diagrama de Nyquist.

Passo 3

Use a função n y q u i s t para gerar o diagrama de Nyquist, que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa para ver o diagrama de Nyquist de G :

Meio esquisito, né? Talvez você se assuste com esse formato diferente do que vimos nos exercícios anteriores, mas você vai ver no próximo passo que a análise do diagrama pelo critério de Nyquist não tem nada de diferente do que vimos até aqui.

Passo 4

Vamos utilizar o diagrama de Nyquist plotado para avaliar a estabilidade do sistema por meio do critério de Nyquist, que é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) . N é positivo se a volta for no sentido horário. Se for no sentido anti-horário, N é negativo.
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) :

G s = 1 s ( s + 2 )

O denominador de G ( s ) é s ( s + 2 ) , que tem como raízes 0 e - 2 . Logo, G ( s ) não tem polos positivos e P = 0 .

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo anterior:

Note a cruzinha vermelha na lateral esquerda do gráfico. Essa cruzinha marca o ponto de coordenadadas ( - 1,0 ) . Como a cruzinha vermelha está fora do diagrama de Nyquist (representado pela curva azul), o diagrama não dá volta alguma em torno dela, por isso, N   =   0 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 0 + 0 = 0 . Como Z é igual a 0 , o sistema é estável.

Resposta

Sistema estável

Exercício Resolvido #8

Use o critério de Nyquist para determinar a estabilidade de um sistema com realimentação unitária e função de transferência mostrada abaixo:

G s = 100 s ( s + 3 ) ( s + 6 )

Passo 1

Neste exercício, vamos avaliar a estabilidade de um sistema usando o critério de Nyquist. Para isto, usaremos a função n y q u i s t do MATLAB para plotar o diagrama de Nyquist de G ( s ) e aplicaremos o critério de Nyquist no diagrama para ver se o sistema é estável ou não.

Antes de usar n y q u i s t , usaremos a função t f para entrar com G ( s ) no MATLAB. Como o denominador de G ( s ) está fatorizado, precisamos expandi-lo para sabermos como será a entrada de t f . Por isso, antes de usarmos t f , vamos multiplicar os termos do denominador de G ( s ) .

Passo 2

Vamos multipicar os termos do denominador de G ( s ) usando o MATLAB. Em um novo script, digite as linhas de código:

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

Na segunda linha, entramos com o denominador de G ( s ) , que é armazenado em d e n _ o r i g i n a l .

Na terceira linha, usamos o comando e x p a n d em d e n _ o r i g i n a l para multiplicar os termos de d e n _ o r i g i n a l e gerar um polinômio, armazenado em d e n _ p o l .

Rodando o programa, temos:

Passo 3

Após expandir o denominador de G ( s ) , vamos criar as entradas de 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 .

Para G ( s ) , o polinômio do numerador é 10 0 . Já o polinômio do denominador é s 3 + 9 s 2 + 18 s .

Em um novo script ou no mesmo script onde d e n _ p o l foi calculado, vamos criar as entradas de t f . Como o polinômio do numerador tem somente um elemento correspondendo a 10 0 ∙ s 0 = 10 0 ∙ 1 = 10 0 , a variável representando seus coeficientes pode ser um número real. Chamaremos essa variável de n u m e ela é igual a 10 0 .

A outra variável é um vetor chamado d e n , contendo os coeficientes de s 3 + 9 s 2 + 18 s , indo do elemento com maior expoente ao de menor expoente:

Logo abaixo das linhas onde as variáveis n u m e d e n foram criadas, já colocamos o comando G = t f ( n u m ,   d e n ) para criar G ( s ) , que será armazenado em G .

Antes de continuar, vamos conferir G , pra ver se não digitamos alguma coisa errada. Vamos executar o programa que temos até agora e imprimir G no Command Window:

Até aqui, tudo certo, podemos continuar ;D

Passo 4

O próximo passo é plotar o diagrama de Nyquist de G ( s ) . Para isto, use a função n y q u i s t , que tem como sintaxe:

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

Ela tem como entrada uma função de transferência, criada usando o comando t f do MATLAB (representada por f u n c a o _ t r a n s f e r e n c i a acima), e ela gera um gráfico com o diagrama de Nyquist para f u n c a o _ t r a n s f e r e n c i a .

Adicione em seu código o comando:

Execute o programa e você terá o diagrama de Nyquist de G :

Esse diagrama tá meio esquisitinho, né? Mas não se preocupe, a aplicação do critério de Nyquist nele será exatamente igual como fizemos nos outro diagramas com formatos mais “tradicionais”.

Passo 5

Vamos avaliar a estabilidade do sistema aplicando o critério de Nyquist no diagrama que plotamos no passo anterior. O critério de Nyquist é dado pela equação:

Z = N + P

Onde:

  • Z é o número de polos positivos da função de transferência em malha fechada;
  • N é o número de voltas que o diagrama de Nyquist dá em torno de ( - 1,0 ) . N é positivo se a volta for no sentido horário. Se for no sentido anti-horário, N é negativo.
  • P é o número de polos positivos da função de transferência em malha aberta.

Pelo critério de Nyquist, para que um sistema seja estável, Z deve ser igual a 0 .

O P é obtido calculando as raízes do denominador da função de transferência em malha aberta, no caso, G ( s ) . Para isto, é mais fácil a gente pegar o G ( s ) dado diretamente no enunciado, onde os termos do denominador não foram multiplicados:

G s = 100 s ( s + 3 ) ( s + 6 )

Neste exercício, o denominador de G ( s ) é s ( s + 3 ) ( s + 6 ) , que tem como raízes 0 , - 3 e - 6 . Logo, G ( s ) não tem polos positivos e P = 0 .

N é obtido pelo diagrama de Nyquist. Vamos rever o diagrama de Nyquist gerado no passo anterior:

Note que tem uma cruzinha vermelha no meio gráfico, marcando o ponto de coordenadadas ( - 1,0 ) . Vamos dar um zoom na região ontem tem a cruzinha, para ver se o diagrama de Nyquist (que é a curva azul com setinhas) não dá alguma volta em torno dela:

Veja que a parte do diagrama de Nyquist (que é a curva azul com setinhas) que parecia uma reta horizontal na verdade é uma voltinha! E essa voltinha não contorna a cruzinha a vermelha, por isso, o diagrama não dá volta alguma em torno de ( - 1,0 ) e N   =   0 .

Tendo P e N , calculamos Z . Temos que Z = N + P = 0 + 0 = 0 . Como Z é igual a 0 , o sistema é estável.

Resposta

Sistema estável.