Você está na página 1de 8

MATLAB / CONTROLO

MATLAB / CONTROLO

Funo de Transferncia -- Resposta Temporal -- Root-Locus

1 - Introduo

Este trabalho tem como principal objectivo a familiarizao dos alunos


com algumas das capacidades do MATLAB e da sua Control System
Toolbox.

2 - Apresentao do Matlab

O Matlab tendo uma interface simples e intuitiva, atravs de linha de


comandos, apresenta as seguintes caractersticas:

1. As Variveis so tratadas como escalares, vectores ou matrizes de uma


forma transparente. Pode-se pensar no MATrix LABoratory como
uma linguagem que foi criada para a manipulao de matrizes.
2. Tem funes predefinidas, que podem ser utilizadas para resolver
vrios tipos de problemas.
3. Considera de forma diferente os caracteres maisculos e minsculos
4. Dispe de um HELP a que se deve recorrer sempre que necessrio.
5. As funes de transferncia so definidas a partir dos polinmios do
numerador e denominador, os quais so representados por vectores
com os seus coeficientes.

3 - Trabalho a Efectuar

NOTA: Para que o aluno compreenda devidamente cada um dos


comandos do Matlab, necessrio que, antes de os utilizar, observe os
seus contedos recorrendo ao help.

Exemplo: se desejar saber o contedo de uma instruo, faa:


help nome da funo

1
MATLAB / CONTROLO

4 - Complexos e Matrizes

4.1 - Nmeros Complexos


O MATLAB trabalha com nmeros complexos. Por defeito as variveis i
e j esto definidas como 1 . Em engenharia electrotcnica utiliza-se
normalmente o smbolo j para a parte imaginria.

j
ans =
0 + 1.0000i
i
ans =
0 + 1.0000i

De notar que o MATLAB privilegia o smbolo i.

4.1.1 Representao dos nmeros complexos


O MATLAB pode representar graficamente os nmeros complexos.

a=2+3*j
b=3+4j
c=a+b
d=a*b
compass([a,b,c,d])

Nota: para apresentar a janela de grfico escrever `shg'. Para limpar a


janela de grfico escrever clg.

4.1.2 Ainda sobre nmeros complexos


Alguma teoria!
Se z um nmero complexo z = x + jy , ento a forma polar de z z = re j
onde r = x 2 + y 2 o comprimento do vector complexo z e o ngulo
de z, = tan 1 ( y / x ) (radianos).
O MATLAB lida com a forma exponencial (ou polar) de um nmero
complexo como com a forma cartesiana.

z = 1 + 2*j;
r = abs(z)
theta = angle(z)

2
MATLAB / CONTROLO

Agora, quer e j e r (cos + j sin ) dever ser igual a z.

w1 = r * e xp ( j * t h e t a )
w2 = r * ( c o s ( t h e t a ) + j * s i n ( t h e t a ) )

O MATLAB usa radianos para todas as funes trigonomtricas (no


existe modo de definio da grandeza angular como existe nas mquinas
calculadoras cientificas). Para converter um ngulo em radianos para
graus, ou vice-versa lembrar a frmula simples:

tg = theta*180/pi % radianos para graus


tr = tg*pi/180 % graus para radianos

4.2 - Matrizes

A = [0, 1<Enter>
-2, -3] <Enter>

Para matrizes pequenas, pode-se usar a sintaxe alternativa:

A=[0, 1; -2, -3]

4.2.1 Definio de Vectores


Os vectores definem-se de forma idntica s matrizes, assim pode-se
definir o vector linha b como

b=[1, 2]

e podemos definir o vector coluna c como

c=[3; 4]

4.2.2 Funes para Matrizes


O MATLAB bastante poderoso no clculo de operaes com matrizes,
o que o torna muito til em aplicaes onde se tm de resolver sistemas
de equaes.
Por exemplo, a matriz inversa, o seu determinante e os valores prprios
podem determinar-se facilmente

i n v( A ) % A m a t r i z i n ve r s a d e A
det(A) % Determinante de A
eig(A) % Valores prprios de A

3
MATLAB / CONTROLO

5 - Funo de transferncia

Considere a seguinte Funo de Transferncia :


( s + 1) ( s + 1)
G ( s) = = 2
( s + 2)( s + 3) ( s + 5s + 6)
escreva no MATLAB:

num=[1 1]
den=[1 5 6]
em que num e den so vectores que contm os coeficientes dos
polinmios do numerador e do denominador da funo de transferncia.

Para obter a funo de transferncia de um sistema a partir da equao do


numerador e denominador, escreva:
s ys = t f ( n u m , d e n )

A varivel sys um objecto tipo funo de transferncia.

Para ver as propriedades dos sistemas lineares e invariantes no tempo


(LTI) escreva:
help ltiprops

b=roots(den)
Permite encontrar as razes do polinmio caracterstico.

c = p o l y( b )
Retorna o vector den.

[z,p,k]=tf2zp(num,den)
Permite obter os zeros, plos e o ganho da funo de transferncia.

[num,den]=zp2tf(z,p,k)
Transforma os zeros, plos e o ganho na funo de transferncia
correspondente.

[r,p,k]=residue(num,den)
Obtm os resduos, os plos e os termos constantes da expanso em
fraces parciais da funo de transferncia G(s).

Para obter a funo de transferncia em malha fechada quando a


realimentao negativa e unitria, escreva:
s ys 1 = f e e d b a c k ( s ys , 1 )

4
MATLAB / CONTROLO

Considere que G(s) a funo de transferncia da malha para a frente e


1
que H ( s) = a funo de transferncia da malha de realimentao
s
negativa.

num1=[1]
den1=[1 0]
s ys 1 = t f ( n u m 1 , d e n 1 )

Para obter a Funo de Transferncia em malha fechada do sistema faa:

s ys m f = f e e d b a c k ( s ys , s ys 1 )

Confirme analiticamente o resultado obtido.

O MATLAB por defeito assume realimentao negativa. Se se pretende


saber a funo de transferncia do sistema com realimentao positiva
faz--se:

s ys m f r p = f e e d b a c k ( s ys , s ys 1 , + 1 )

Para conhecer outras funes relacionadas com a simplificao de


diagramas de blocos escreva:

help series
help parallel

6 - Resposta Temporal
Considere um sistema com a seguinte funo de transferncia :
2
G ( s) =
s + 2s + 2
2

s ys = t f ( [ 2 ] , [ 1 2 2 ] )
[ wn , z ] = d a m p ( s ys )

Permite determinar a frequncia natural no amortecida (wn) e o


coeficiente de amortecimento(z) do polinmio den.

5
MATLAB / CONTROLO

Desenhe o grfico da resposta temporal a uma entrada degrau unitrio,


escrevendo:

s t e p ( s ys )

Para obter a resposta temporal a uma entrada degrau com amplitude 5


durante 20 segundos, escreva:

s t e p ( 5 * s ys , 2 0 )

Desenhe o grfico da resposta temporal a uma entrada impulso,


escrevendo:

i m p u l s e ( s ys )

u=0:0.1:10;
u um vector com valores entre 0 e 10 com incrementos de 0.1. Observe
que o facto de ter concludo a instruo com ";" , tem como
consequncia a no visualizao do resultado da instruo.

l s i m ( s ys , u , u )
Esta instruo permite desenhar o grfico da resposta de um sistema a
entradas arbitrrias. Nesta situao, a entrada uma rampa unitria.

Altere a legenda no eixo das abcissas escrevendo:


xl a b e l ( T e m p o ( s e g ) )

Altere a legenda no eixo das ordenadas recorrendo a :


yl a b e l ( a m p l i t u d e )

Coloque um ttulo no grfico utilizando o seguinte comando:


title(Resposta Temporal)

Modifique o limite superior e inferior dos eixos usando:


a xi s ( [ 0 1 2 0 1 5 ] )

7 - Lugar Geomtrico das Razes

Considere a seguinte funo de transferncia em malha aberta,

6
MATLAB / CONTROLO

s +1
G ( s) H ( s ) =
s( s + 10)
que representada no MATLAB, como:

s ys = t f ( [ 1 1 ] , [ 1 1 0 0 ] )

Note que mesmo no aparecendo no denominador o 3 coeficiente, este


deve ser colocado, no seu vector representativo, como zero.

Obtenha o Root-Locus

r l o c u s ( s ys )

Determine as razes da equao caracterstica para k=10.

k=10
r = r l o c u s ( s ys , k )

Para determinar a localizao das razes de forma interactiva no Root-


locus, faa:

r l o c f i n d ( s ys )

Para determinar a localizao, no Root-locus, dos pontos com coeficiente


de amortecimento igual a 0.5 e frequncia natural no amortecida igual a
5 rad/s, faa:

s ys = t f ( [ 1 ] , [ 1 1 0 5 ] )
r l o c u s ( s ys )
sgrid(0.5,5)

7
MATLAB / CONTROLO

l t i vi e w

Interface do utilizador para estudar os sistemas LTI existentes no espao


de trabalho nas suas componentes de espao de estados, funo de
transferncia e ganho-zero-plo.

Você também pode gostar