Você está na página 1de 40

Sistemas de Controle

Sistemas de Controle - MATLAB

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


O MATLAB tem um comando para obter a expanso em fraes parciais de B(s)/A(s); Tem tambm um comando para obter os plos e zeros de B(s)/A(s); A seguir, ser apresentado como o MATLAB obtm a expanso em fraes parciais de B(s)/A(s); Em seguida, ser discutido o mtodo do MATLAB para obter os zeros e plos de B(s)/A(s). Expanso em Fraes Parciais com o MATLAB: Considere a seguinte funo de transferncia:

Nessa funo, alguns dos ai e bj podem ser nulos; No MATLAB, os vetores linha num e den so formados pelos coeficientes do numerador e denominador da funo de transferncia, ou seja: num = [b0 b1 ... bn] den = [1 a1 ... an]
Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


O comando [r, p, k] = residue (num, dem) Determina os resduos (r), os plos (p) e o termo direto (k) da expanso em fraes parciais da relao entre dois polinmios B(s) e A(s); A expanso em fraes parciais de B(s)/A(s) dada por:

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


Exemplos: 1. Considere a seguinte funo de transferncia:

Soluo: Para essa funo,

O comando [r, p, k] = residue (num, dem), apresenta o seguinte resultado:

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


Note que os reduos retornam na coluna vetor r, o lugar dos plos, na coluna vetor p, e o termo direto, na linha vetor k; Essa a representao em MATLAB da seguinte expanso em fraes parciais de B(s)/A(s):

O comando residue tambm pode ser utilizado para formar os polinmios (numerado e denominador) a partir de suas expanses parciais em fraes, ou seja, o comando: [num, den] = residue (r, p, k) Onde r, p e k foram fornecidos previamente pelo MATLAB, convertendo de volta a expanso em fraes parciais para a relao polinomial, como se segue:

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB

O comando printsys (num, den, s), apresenta o num/den em termos da relao polinomial em s

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


2. Obtenha a transformada inversa de Laplace da seguinte F(s). Utilize o MATLAB para encontrar a expanso em fraes parciais.

Soluo: O programa em MATLAB produz a expanso de F(s) em fraes parciais:

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


Note que k = [1 2 3], o que significa que F(s) envolve s2 + 2s + 3, como indicado a seguir:

Ento a transformada inversa de Laplace de F(s) dada por:

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


3. Dados os zero(s), plo(s) e o ganho K de B(s)/A(s), obtenha a funo B(s)/A(s) utilizando o MATLAB. Considere os trs casos a seguir:
1. 2. 3. No existem zeros. Os plos esto em 1 + 2j e 1 2j. K = 10; Um zero est em 0. os plos esto em 1 + 2j e 1 2j. K = 10; Um zero est em 1. os plos esto em 2, 4 e 8. K = 12

Soluo: Os programas em MATLAB para obter B(s)/A(s) = num/den para os trs casos considerados so:

Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


Exerccios: 1. Expanda a seguinte funo de transferncia B(s)/A(s) em fraes parciais com o MATLAB:

2. Obtenha a expanso em fraes parciais da seguinte funo, utilizando o MATLAB:

3. Considere a seguinte funo:

Utilizando o MATLAB, obtenha a expanso em fraes parciais de F(s). Em seguida, determine a transformada inversa de Laplace de F(s).
Prof. Danilo Minhoni

Expanso em Fraes Parciais com o MATLAB


1. A funo B(s)/A(s) tem os seguintes zeros, plos e ganho K:
Zeros em s = - 1, s = - 2 Plo em s = 0, s = - 4, s = - 6 Ganho K = 5 Obtenha o expresso de B(s)/A(s) = num/den com o MATLAB.

Prof. Danilo Minhoni

Obtendo Funes de Transferncia com o MATLAB


Na anlise de sistemas de controle, frequentemente necessita-se calcular as funes de transferncia em cascata, paralelo e com realimentao (malha fechada); O MATLAB possui comandos convenientes para obter as funes de transferncia em cascata, paralelo e com realimentao; Supondo que existam dois componentes G1(s) e G2(s) conectados diferentemente, como mostrado a seguir:

Prof. Danilo Minhoni

Obtendo Funes de Transferncia com o MATLAB


Onde:

Para obter a funo de transferncia no sistema em cascata, no sistema em paralelo ou no sistema com realimentao, os seguintes comandos podem ser usados: [num, den] = series (num1, den1, num2, den2) [num, den] = parallel (num1, den1, num2, den2) [num, den] = feedback (num1, den1, num2, den2)

Prof. Danilo Minhoni

Obtendo Funes de Transferncia com o MATLAB


Exemplo:
Considere o caso em que: Soluo: O programa em MATLAB a seguir fornece C(s)/R(s) = num/den para cada arranjo de G1(s) e G2(s); O comando printsys (num, den) mostra o num/den isto , a funo de transferncia do sistema a ser considerado.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O processo prtico para a representao grfica das curvas de resposta em funo do tempo dos sistemas de ordem superior segunda feito por meio de simulao; A seguir, ser apresentada uma abordagem computacional para a anlise da resposta transitria com o MATLAB; Em particular, ser analisada a resposta ao degrau, ao impulso e rampa. A representao de sistemas lineares com o MATLAB feita atravs de dois arranjos de nmeros em forma de vetores-linha. Considere o sistema

Esse sistema pode ser representado por dois vetores-linha, cada um com os coeficientes dos polinmios com potncias de s decrescentes, como se segue:

Uma alternativa de representao :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Nessa expresso foi acrescentado um zero; Se forem, convenientemente, completadas com zeros, as dimenses dos vetores num e den tornam-se as mesmas; Uma vantagem de acrescentar zeros que os vetores num e den podem ser somados diretamente, por exemplo:

Se o numerador (num) e o denominador (den) da F.T.M.F. forem conhecidos, comandos como step (num, den) step (num, den, t) Vo gerar as curvas das respostas ao degrau unitrio (o parmetro t no comando step o tempo especificado pelo usurio); O vetor tempo (t) determinado de maneira automtica quando t no for explicitamente includo no comando step.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Descrio do sistema padro de segunda ordem com o MATLAB: O sistema padro de segunda ordem dado por:

Dados n e , o comando printsys (num, den) ou printsys (num, den, s) imprime num/den como uma relao de polinmios em s; Por exemplo, considerando o caso em que n = 5 rad/s e = 0,4, o programa em MATLAB gera o sistema padro de segunda ordem.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Obteno da resposta ao degrau unitrio a partir da funo de transferncia do sistema:
Considerando a funo de transferncia dada, ser considerada a resposta ao degrau unitrio:

O programa em MATLAB que vai fornecer o grfico da curva de resposta ao degrau unitrio desse sistema :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O grfico da curva de resposta ao degrau unitrio mostrado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Obteno do grfico tridimensional das curvas de resposta ao degrau unitrio com o MATLAB:
O MATLAB permite traar facilmente grficos tridimensionais; O comando para a obteno de um grfico tridimensional mesh; Considere o sistema de malha fechada definido como:

A frequencia natural no amortecida n foi normalizada para 1; Traar as curvas de resposta ao degrau unitrio c(t) quando assumir os valores:
= 0, 0,2, 0,4, 0,6, 0,8 e 1,0

Traar tambm o grfico tridimensional.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O programa em MATLAB que vai fornecer os grficos da curva de resposta ao degrau unitrio desse sistema :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O grfico bidimensional da curva de resposta ao degrau unitrio mostrado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O grfico tridimensional da curva de resposta ao degrau unitrio mostrado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Obteno do tempo de subida, tempo de pico, o mximo sobre-sinal e o tempo de acomodao com o MATLAB:
Considere o sistema definido como:

O programa em MATLAB para obteno desses dados : Os dados obtido so:


Tempo de subida = 0.5550; Tempo de pico = 0.7850; Maximo sobre-sinal = 0.0948; Tempo de acomodao = 1.1850

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O grfico bidimensional da curva de resposta ao degrau unitrio mostrado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Resposta ao Impulso:
A resposta ao impulso unitrio de um sistema de controle pode ser obtida pelo uso de um dos seguintes comandos do MATLAB: Impulse (num,den) [y,x,t] = impulse (num,den) Exemplo: Obtenha a resposta ao impulso do seguinte sistema:

O programa em MATLAB para a resposta ao impulso unitrio :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O grfico bidimensional da curva de resposta ao impulso unitrio mostrado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Mtodo alternativo para obter a resposta ao Impulso:
Quando as condies iniciais so nulas, a resposta ao impulso unitrio de G(s) a mesma que a resposta ao degrau unitrio de sG(s); Considere a resposta ao impulso unitrio do exemplo anterior; Como R(s) = 1 para a entrada em impulso unitrio, tem-se:

Assim, pode-se converter a resposta ao impulso unitrio de G(s) na resposta ao degrau unitrio de sG(s) digitando os seguintes valores de num e den no MATLAB: num = [0 1 0] den = [1 0.2 1]

Utilizando o comando de resposta ao degrau, como indicado no programa a seguir, obtm-se a curva de resposta ao impulso unitrio do sistema.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O programa em MATLAB para a resposta ao impulso unitrio :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O grfico bidimensional da curva de resposta ao impulso unitrio mostrado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Resposta Rampa:
No existe um comando especfico para a rampa no MATLAB; necessrio utilizar o comando degrau ou o comando lsim para obter a resposta rampa; Especificamente, para obter a resposta rampa do sistema de funo de transferncia G(s), divide-se G(s) por s e utiliza-se o comando para a resposta ao degrau; Considere a F.T.M.F:

Para uma entrada em rampa unitria, R(s) = 1/s2. Ento,

Para obter a resposta do sistema rampa unitria, digite os seguintes valores de numerador e denominador no programa em MATLAB: num = [0 0 0 1] den = [1 1 1 0]

Utilize o comando de resposta ao degrau no programa.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O programa em MATLAB fica:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


A curva de resposta rampa mostrada a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Obteno da resposta a uma entrada arbitrria:
Para obter a resposta a uma entrada arbitrria, pode-se utilizar o comando lsim; lsim(num,den,r,t) s=(num,den,r,t) Esses comandos vo gerar a resposta a uma entrada em funo do tempo ou de r.

Exemplos: 1. Utilizando o comando lsim, obtenha a resposta rampa unitria do seguinte sistema:

O programa em MATLAB para a resposta rampa :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


O programa em MATLAB para a resposta rampa unitria :

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


A curva de resposta rampa mostrada a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


2. Obtenha a resposta do sistema de malha fechada definido como:

Quando a entrada r(t) for dada por:

Soluo: A entrada r(t) uma entrada degrau de valor 2 mais a entrada em rampa unitria. Um possvel programa o apresentado a seguir:

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


A curva de resposta resultante, junto ao traado da funo de entrada mostrada a seguir::

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Exerccios: 1. Obtenha a resposta ao degrau unitrio do seguinte sistema de ordem superior:

2.

Obtenha a resposta ao degrau unitrio de um sistema com realimentao unitria, cuja funo de transferncia em malha aberta :

3.

Quando um sistema de malha fechada envolve uma dinmica no numerador, a curva de resposta ao degrau unitrio pode apresentar um grande sobre-sinal. Obtenha a resposta ao degrau unitrio do seguinte sistema, utilizando o MATLAB:

Obtenha tambm a resposta rampa unitria.

Prof. Danilo Minhoni

Anlise de Resposta Transitria com o MATLAB


Exerccios: 1. Obtenha a resposta ao degrau unitrio do seguinte sistema de ordem superior:

2.

Obtenha a resposta ao degrau unitrio de um sistema com realimentao unitria, cuja funo de transferncia em malha aberta :

3.

Quando um sistema de malha fechada envolve uma dinmica no numerador, a curva de resposta ao degrau unitrio pode apresentar um grande sobre-sinal. Obtenha a resposta ao degrau unitrio do seguinte sistema, utilizando o MATLAB:

Obtenha tambm a resposta rampa unitria.

Prof. Danilo Minhoni

Você também pode gostar