Escolar Documentos
Profissional Documentos
Cultura Documentos
Controle Com Matlab
Controle Com Matlab
CONTROLO DE SISTEMAS
APONTAMENTOS DE MATLAB
CONTROL SYSTEM Toolbox
NDICE
1. - INTRODUO ............................................................................................................................................... 3
2. - REPRESENTAO DE SISTEMAS.............................................................................................................. 4
2.1. REPRESENTAO DA FUNO DE TRANSFERNCIA DO SISTEMA .......................................... 4
2.2. REPRESENTAO DE SISTEMAS EM ESPAO DE ESTADOS ........................................................ 4
2.3. CONVERSO DA REPRESENTAO DE SISTEMAS CONTNUOS ................................................ 5
2.3.1. Converso da representao de sistemas para funo de transferncia............................................... 5
2.3.2. Converso da representao de sistemas para espao de estados ....................................................... 6
2.3.3. Obteno dos Plos, Zeros e Ganho do sistema ................................................................................. 7
3. - MODELAO DE SISTEMAS...................................................................................................................... 8
3.1. BLOCOS EM CASCATA .......................................................................................................................... 8
3.2. SOMADOR DE BLOCOS ......................................................................................................................... 9
3.3. REALIMENTAO UNITRIA DE SISTEMAS ................................................................................... 9
3.4. REALIMENTAO NO UNITRIA DE SISTEMAS........................................................................ 10
3.5. CONSTRUO DE SISTEMAS DE 2 ORDEM A PARTIR DE n E DE ........................................ 11
4. - RESPOSTA NO DOMNIO DO TEMPO ..................................................................................................... 12
4.1. RESPOSTA A UMA ENTRADA EM DEGRAU UNITRIO................................................................ 12
4.2. RESPOSTA A UMA ENTRADA EM RAMPA UNITRIA .................................................................. 15
4.3. RESPOSTA A UMA ENTRADA EM IMPULSO ................................................................................... 16
4.4. RESPOSTA A ENTRADAS COM CONDIES INICIAIS NO NULAS. ......................................... 18
4.5. RESPOSTA A UMA ENTRADA ARBITRRIA ................................................................................... 19
5. - ANLISE DO LUGAR GEOMTRICO DAS RAZES............................................................................... 21
5.1. MAPEAMENTO DE PLOS E ZEROS DE SISTEMAS EM MALHA ABERTA................................ 21
5.2. LUGAR GEOMTRICO DAS RAZES (ROOT LOCUS) ..................................................................... 22
5.3. ANLISE DE VALOR DO GANHO DE REALIMENTAO DO SISTEMA .................................... 24
5.4. CURVAS DE n E DE CONSTANTE.................................................................................................. 24
6. - RESPOSTA NO DOMNIO DA FREQUNCIA.......................................................................................... 25
6.1. DIAGRAMAS DE BODE ........................................................................................................................ 25
6.1.1. Diagrama de Bode : Mdulo e ngulo de Fase (BODE).................................................................. 31
6.1.2. Margem de Ganho e Margem de Fase .............................................................................................. 33
6.2. DIAGRAMA DE NYQUIST.................................................................................................................... 35
6.3. DIAGRAMA DE NICHOLS (NICHOLS) ............................................................................................... 36
7. - REFERNCIAS BIBLIOGRFICAS ........................................................................................................... 38
1. - INTRODUO
Estes apontamentos pretendem descrever e introduzir os comandos bsicos da CONTROL
SYSTEM Toolbox do MATLAB para permitir o estudo de sistemas dinmicos lineares.
O documento tal como est estruturado, pressupe alguma familiaridade de utilizao do
MATLAB, nomeadamente em termos de representao e manipulao de matrizes e
polinmios e ainda de elaborao de grficos.
O comando help control fornece uma lista das diversas funes existentes na caixa de
ferramentas : CONTROL SYSTEM Toolbox. Para obter informao mais detalhada sobre cada
uma das funes pode-se usar o comando help nome_da_funo.
2. - REPRESENTAO DE SISTEMAS
No MATLAB os sistemas dinmicos podem representar-se por intermdio de uma funo
de transferncia ou por um modelo em espao de estados. Na representao por funo de
transferncia definem-se os coeficientes dos polinmios do numerador e denominador. Na
representao em espao de estados definem-se as quatro matrizes que caracterizam o
modelo.
2.1. REPRESENTAO DA FUNO DE TRANSFERNCIA DO SISTEMA
As chamadas funes de transferncia so funes usadas para caracterizar as relaes
entre entrada e sada de componentes ou sistemas que possam ser descritos por equaes
diferenciais lineares invariantes no tempo.
A representao de sistemas em funo de transferncia pressupe o emprego das
transformadas de Laplace s equaes diferenciais lineares que descrevem o modelo
matemtico do sistema dinmico.
Assim, a equao diferencial linear pode ser transformada numa equao algbrica
composta por um numerador e um denominador, em funo de uma varivel complexa s.
Por exemplo, o seguinte sistema que se encontra apresentado na forma de funo de
transferncia dever ser introduzido no MATLAB, pelos coeficientes das sucessivas potncias
dos polinmios que surgem ordenados por ordem significativa decrescente:
Y ( s)
3 s2 2
= 2
R(s)
s + 2s + 4
>> num = [ 3 2 ]
>> den = [ 1 2 4 ]
>> printsys ( num , den )
x& = A x + B u
y = C x + Du
Considerando o seguinte sistema representado no espao de estado, a sua introduo no
MATLAB efectua-se pelo mtodo comum de introduo de matrizes na Janela de Comando:
2 1
1
x& =
x + u
3 1
0
y = [ 2 0.5] x
>> A = [ 2 - 1 ; 3 - 1 ]
>> B = [ 1 0 ]
>>C = [ 2 - 0.5 ]
>> D = [ 0 ]
Funo de Transferncia
Espao de Estados
Zeros, Plos e Ganho
( transfer function tf );
( state space ss );
( zero pole gain zp ).
1 2
2
y = [ 1 0] x
>> A = [ -2 - 1 ; 1 - 2 ]
>> B = [ 1 2 ]
>>C = [ 1 0 ]
>> D = [ 0 ]
>> [ num,den ] = ss2tf ( A, B, C, D )
num =
0
den =
s
num
= 2
den
s + 4s +5
No caso do sistema estar descrito pelos seus Plos, Zeros e Ganho, a converso para a
representao em funo de transferncia ser dada por:
>> z = 0
>> p1 = -2 + i
>> p2 = -2 i
>>k = 1
>> [ num,den ] = zp2tf ( z , [ p1 p2 ] , k )
% Zero do sistema.
% Plo do sistema.
% Plo do sistema.
% Ganho.
tf2ss
zp2ss
-5
0
B=
1
0
6
C=
1
D=
0
Dado qualquer sistema representado no espao de estados ou descrito por uma funo de
transferncia, possvel extrair os seus os Plos, Zeros e o Ganho atravs do uso das
seguintes funes:
Obteno dos Plos, Zeros e Ganho do sistema a partir da funo de
transferncia.
Obteno dos Plos, Zeros e Ganho do sistema a partir da sua representao
em espao de estados.
tf2zp
ss2zp
3. - MODELAO DE SISTEMAS
A CONTROL SYSTEM Toolbox do MATLAB possui um conjunto de funes que
permitem obter representaes de sistemas constitudos por diversos subsistemas interligados.
O diagrama de blocos de um sistema uma representao ilustrativa das funes
desempenhadas por cada um dos componentes e fluxos de sinais. Tal diagrama indica as interrelaes que existem entre os vrios componentes.
R(s)
Y(s)
G(s)
Esta funo permite a associao de blocos em cascata, tendo em considerao que os dois
sistemas devero ser do mesmo tipo (contnuos ou discretos).
Aqui e doravante, considera-se que um sistema sys pode estar representado :
-
R(s)
Y(s)
sys 1
sys 2
sys 1 :
13
den =
Isto :
sys :
28
27
18
Y (s)
2s + 2
num
=
=
4
3
R(s)
den 4 s + 13 s + 28 s 2 + 27 s + 18
sys 1
R(s)
Y(s)
+
sys 2
Este comando equivalente soma directa de polinmios no caso dos sistemas estarem
representados na forma de equao de transferncia.
3.3. REALIMENTAO UNITRIA DE SISTEMAS
R(s)
Y(s)
+
G(s)
-
s6
num
= 2
den
s s +5
s6
Y ( s)
n
G ( s)
=
=
= 2
R( s)
d
1 + G(s)
s 1
>> num = [ 0 1 6 ]
>> den = [ 1 1 5 ]
>> [n,d] = cloop ( num , den )
n=
1
-6
d=
-1
R(s)
Y(s)
+
G(s)
-
H(s)
G ( s) =
num3
1
=
den3
s ( s + 2)
10
Y ( s)
num
G ( s)
s
=
=
= 2
R( s)
den
1 + G ( s) H ( s)
s + 2s + 1
>> num1 = [ 0 1 ]
>> den1 = [ 1 2 ]
>> num2 = [ 0 1 ]
>> den2 = [ 1 0 ]
>> [ num , den ] = feedback ( num1 , den1 , num2 , den2 )
num =
1
den =
1
1.0000
1.9200
5.7600
den =
11
O comportamento dinmico deste sistema de 2 Ordem pode ser descrito pela frequncia
natural: n e pelo coeficiente de amortecimento : .
0 < < 1 : Sistema sub-amortecido
=1:
Sistema criticamente amortecido
>1:
Sistema sobre-amortecido
Tempo de Atraso : td
Corresponde ao tempo necessrio para que a resposta alcance (pela primeira vez) metade
do valor final.
Tempo de Subida : tr
Por norma, corresponde ao tempo necessrio para que a resposta passe de 0% a 100% do
seu valor final.
Sabendo que a Frequncia Natural Amortecida dada por :
d = n
tan 1 d
d
n
1
Instante de pico : tp
Corresponde ao tempo necessrio para que a resposta alcance o primeiro pico do Sobresinal (Overshoot) :
tp =
Mp =e
1 2
t ac ( 2% ) =
t ac ( 5% ) =
13
A funo step permite a introduo de distintos argumentos que definam vrios sistemas,
de modo a que sejam apresentados os traados da resposta sobrepostos na mesma Janela
Grfica, podendo os tipos, cores e marcadores das linhas de cada sistema serem definidos
como nas funes bsicas de criao de grficos:
>> step ( sys1 , y: , sys2 , g- )
num
25
= 2
R( s)
den
s + 4 s + 25
Y ( s) =
num
25
1
= 2
den
s + 4 s + 25 s
25
25
den =
1.2
A m plitude
0.8
0.6
0.4
0.2
0
0
0.5
1.5
2.5
Tim e (sec.)
NOTA : O sistema tambm poder estar representado no espao de estados, sendo a resposta
a um degrau unitrio obtida com a funo expressa do seguinte modo : step(A,B,C,D)
4.2. RESPOSTA A UMA ENTRADA EM RAMPA UNITRIA
num
25
= 2
R( s)
den
s + 4 s + 25
Y (s) =
num
25
1
=
2
den
s s + 4 s + 25 s
Y ( s) =
num
25
1
= 2
2
den
s + 4 s + 25 s
15
25
25
den =
A m plitude
2.5
2
1.5
1
0.5
0
0.5
1.5
2
2.5
Tim e (sec.)
3.5
16
Y (s) =
num
25
= 2
R( s)
den
s + 4 s + 25
Y ( s) =
num
25
= 2
1
den
s + 4 s + 25
25
25
den =
Im pulse Response
3
2.5
A m plitude
2
1.5
1
0.5
0
-0.5
0.5
1.5
2.5
Tim e (sec.)
y = C x
x ( 0) = x 0
0.5572 0.7814
x& =
x
0
.
7814
0
y = [ 1.9691
6.4493] x
1
x(0) =
0
18
4
3.5
3
A m plitude
2.5
2
1.5
1
0.5
0
-0.5
-1
0
10
12
14
16
18
Tim e (sec.)
NOTA : A aplicao desta funo est sujeita aos mesmos procedimentos e restries que as
funes anteriores.
4.5. RESPOSTA A UMA ENTRADA ARBITRRIA
19
Pretende-se obter a resposta a uma entrada correspondente a uma onda quadrada com um
perodo de 4 [seg].
Inicialmente, gera-se a onda quadrada com a funo gensig ( generate signal )
considerando uma amostragem cada 0.1 [seg] durante 10 [seg] e posteriormente simula-se a
resposta do sistema:
>> [ u , t ] = gensig ( square , 4 , 10 , 0.1 )
>> num = [ 1 - 1 ]
>> den = [ 1 1 2 ]
>> lsim ( num , den , u , t )
num =
0
-1
den =
A m plitude
-0.5
-1
0
10
Tim e (sec.)
NOTA : A funo gensig gera um sinal peridico escalar u da classe type e perodo tau, para
simulaes no domnio do tempo atravs do uso da funo lsim.
A funo pzmap gera um grfico com o mapeamento dos Plos e dos Zeros de um sistema
contnuo ou discreto. Os Plos so representados por X e os Zeros representados por O.
Quando o comando utilizado sem argumentos, esta funo gera o mapeamento dos
Plos e dos Zeros do sistema na Janela Grfica. Em caso contrrio, apresenta duas colunas
correspondentes aos Plos : p e aos Zeros : z, sem gerar qualquer grfico :
>> pzmap ( sys )
>> [ p , z ] = pzmap ( sys )
num 2s 2 + 5s + 1
= 2
den
s + 2s + 3
>> num = [ 2 5 1 ]
>> den = [ 1 2 3 ]
>> pzmap ( num , den )
num =
2
den =
21
P ole z ero m ap
1.5
Im ag A x is
0.5
-0.5
-1
-1.5
-2.5
-2
-1.5
-1
-0.5
Real A xis
A funo rlocus calcula o Lugar Geomtrico das Razes ( Root Locus ) para um sistema
de malha aberta em funo da variao do ganho k desde zero at infinito. O Lugar
Geomtrico das Razes indica a trajectria dos Plos de malha fechada do sistema em funo
do ganho de realimentao k (assumindo realimentao negativa).
O Lugar Geomtrico das Razes usado no estudo dos efeitos da variao do ganho de
realimentao na localizao dos Plos de malha fechada.
As diferentes topologias de funes de transferncia de malha aberta de sistemas para
implementao da funo rlocus, so dadas por :
R(s) +
-
Y(s)
G(s)
R(s) +
G(s)
Y(s)
H(s)
H(s)
Y(s)
k
F.T.M.A. : sys = G(s) H(s)
22
num
n( s )
=
den
d ( s)
Quando o comando utilizado sem argumentos, esta funo gera o traado da trajectria
dos Plos em funo do ganho na Janela Grfica. Em caso contrrio, apresenta duas colunas
correspondentes localizao das razes complexas: r e respectivo Ganho : k, sem gerar
qualquer grfico :
>> rlocus ( sys )
>> rlocus ( sys , k )
>> [ r, k ] = rlocus ( sys )
>> r = rlocus ( sys , k )
num
=
den
K ( s + 10 )
( s 20 ) s 2 + 4s + 68
2
R o o t L o cu s
25
20
15
10
Im a g A xi s
5
0
-5
-1 0
-1 5
-2 0
-2 5
-8 0
-7 0
-6 0
-5 0
-4 0
-3 0
-2 0
-1 0
10
20
Re a l A xi s
23
A funo rlocfind utiliza a regra da magnitude do Lugar Geomtrico das Razes para
determinar o Ganho para uma localizao particular das razes. Trata-se por defeito de uma
funo interactiva, j que permite ao utilizador seleccionar a localizao das razes no traado
do Root Locus para as quais pretende determinar o ganho de realimentao. No entanto, pode
ser utilizada com argumentos de modo a calcular o ganho de realimentao para uma
localizao especifica das razes.
>> [ k, poles ] = rlocfind ( sys )
>> [ k, poles ] = rlocfind ( sys , p )
A funo sgrid tem como objectivo gerar uma grelha na plano s de curvas de frequncia
natural constante e de coeficiente de amortecimento constante.
A grelha gerada sobre o traado do Lugar Geomtrico das Razes ou sobre o
Mapeamento dos Plos e Zeros obtido anteriormente, com um espaamento de 0.1 desde 0 at
1 para as curvas de coeficiente de amortecimento constante, e com um espaamento de 1
[rad/seg] desde 0 at 10 [rad/seg] para as curvas de frequncia natural constante. Pode-se
especificar como argumento as linhas de coeficiente de amortecimento constante : (zeta) e
as linhas frequncia natural constante : n que se pretendem visualizar.
>> sgrid
>> sgrid ( zeta , wn )
Im ag A x is
0.5
-0.5
-1
-1.5
-3
-2.5
-2
-1.5
-1
Real A xis
-0.5
0.5
24
Ganho : kB.
Mdulo :
k B = 20 log ( k
[dB]
kB
= 0
B ode Diagram s
1
0.5
P has e (deg); M agnitude (dB )
0
-0.5
-1
1
0.5
0
-0.5
-1
10
-1
10
10
10
Frequency (rad/sec)
25
Mdulo :
G ( j ) = 20 log
1
j
= 20 log ( )
[dB]
ngulo de Fase :
= 90
B ode Diagram s
20
-20
-40
-89
-89.5
-90
-90.5
-91
10
-1
10
10
10
Frequency (rad/sec)
Mdulo :
G ( j ) = 20 log j = 20 log ( )
[dB]
ngulo de Fase :
= 90
B ode Diagram s
40
20
-20
91
90.5
90
89.5
89
10
-1
10
10
10
Frequency (rad/sec)
Mdulo :
G ( j ) = 20 log
1
1 + j T
<<
1
G ( j ) = 20 log
T
>>
1
G ( j ) = 20 log
T
= 20 log
1 + 2T 2
[dB]
1 + 2T 2
1 + 2T 2
= 20 log ( T )
[dB ]
ngulo de Fase :
= tan 1 ( T
<<
1
T
1
G ( j ) = tan 1
= tan ( 0 ) = 0
T
1
>>
1
T
1
G ( j ) = tan 1
= tan ( ) = 90
T
1
B ode Diagram s
-5
-10
-15
-20
-20
-40
-60
-80
10
-1
10
10
Frequency (rad/sec)
Mdulo :
G ( j ) = 20 log 1 + j T = 20 log
1 + 2T 2
)=
1 + 2T 2
<<
1
G ( j ) = 20 log
T
>>
1
G ( j ) = 20 log
T
1 + 2T 2
[dB]
G ( j )
ngulo de Fase :
= tan 1 ( T
<<
1
T
1
G ( j ) = tan 1
= tan ( 0 ) = 0
T
1
>>
1
T
1
G ( j ) = tan 1
= tan ( ) = 90
T
1
B ode Diagram s
20
15
10
5
0
80
60
40
20
10
-1
10
10
Frequency (rad/sec)
Mdulo :
G ( j ) = 20 log
= 20 log
1
+ j
1 + 2 j
n n
2
1 + 2
2
n
n
[dB ]
>> n G ( j ) = 20 log
[dB ]
G ( j )
ngulo de Fase :
= 0 G ( j ) =
n
= tan 1
2
1
n
= n G ( j ) =
90
= G ( j ) =
180
B ode Diagram s
-10
-20
-30
-40
-50
-100
-150
10
-1
10
10
Frequenc y (rad/sec)
Mdulo :
+ j
G ( j ) = 20 log 1 + 2 j
n n
= 20 log
1 + 2
2
n
n
[dB ]
= 40 log
2
n
n
>> n G ( j ) = 20 log
[dB ]
29
G ( j )
ngulo de Fase :
= 0 G ( j ) =
= n G ( j ) =
n
= tan 1
2
1
n
0
90
= G ( j ) = 180
B ode Diagram s
40
30
20
10
0
150
100
50
10
-1
10
10
Frequency (rad/sec)
r = n
1 2
0 0.707
1
2
M r =1
0 0.707
0.707
Quando o comando utilizado sem argumentos, esta funo gera o traado do Mdulo e
do ngulo de Fase da resposta em frequncia. Os diagramas de Bode so utilizados para
analisar propriedades do sistema, como sejam as Margem de Ganho, Margem de Fase,
Largura de Banda, Estabilidade, etc.
A gama de frequncias [rad/seg] determinada automaticamente baseada nos Plos e
Zeros do sistema. As diversas sintaxes para a utilizao desta funo so dadas por :
>> bode ( sys )
>> bode ( sys , w )
>> bode ( sys1 , sys2 ,..., sysN )
Quando o comando usado com os argumentos, Mdulo : mod, ngulo de Fase : fase []
e Frequncia : w, so apresentados os valores correspondentes sem que seja exibido o traado
do diagrama de Bode :
>> [ mod , fase , w ] = bode ( sys )
>> [ mod , fase ] = bode ( sys , w )
0.1
7.5
0.12
den =
31
B ode Diagram s
40
20
0
-20
-40
-50
-100
-1 50
10
-1
10
10
Frequency (rad/sec)
Para obter o traado da resposta do sistema no domnio da frequncia para uma gama mais
alargada de frequncia, por exemplo desde 0.1 at 100 [rad/seg], basta introduzir o comando :
>> w = logspace ( 0.1 , 100 )
>> bode ( num , den , w )
B ode Diagram s
40
20
0
-20
-40
-60
-80
-60
-80
-100
-120
-140
-160
-180
10
-1
10
10
10
32
Uma Margem de Ganho positiva significa que o sistema estvel, e o simtrico que o
sistema instvel. Para um sistema de fase mnima estvel, a Margem de Ganho indica
quanto o ganho pode ser aumentado antes que o sistema se torne instvel. Para um sistema
instvel, a Margem de Ganho indicativa de quanto o ganho deve ser diminudo para tornar o
sistema estvel.
A Margem de Ganho e a Margem de Fase e respectivas frequncias de cruzamento de um
sistema, so calculadas a partir da funo de transferncia em malha aberta pela funo
margin. Indicam a estabilidade relativa do sistema em malha fechada.
Quando o comando usado sem argumentos, exibe os diagramas de Bode de Mdulo e
ngulo de Fase com as referidas margens. As sintaxes possveis para a utilizao da funo
so dadas por :
>> margin ( mod , fase , w )
>> [ Gm , Pm , Wcg , Wcp ] = margin ( mod , fase , w )
K
num
=
den
s ( s + 1 )( s + 5 )
>> % Para K = 10
>> num = [ 10 ]
>> den = [ 1 6 5 0 ]
>> [ mod , fase , w ] = bode ( num , den )
>> margin ( mod , fase , w )
>> % Para K = 100
>> num = [ 100 ]
>> [ mod , fase , w ] = bode ( num , den )
>> margin ( mod , fase , w )
33
B ode Diagram s
Gm = 9.5424 dB (at 2.2361 rad/s ec ), P m = 25.39 deg. (at 1.2271 rad/s ec )
50
-50
-100
-100
-150
-200
-250
10
-1
10
10
Frequency (rad/sec)
B ode Diagram s
Gm = 0 dB , P m = 0 (uns table clos ed loop)
50
-50
-100
-150
-200
-250
10
-1
10
10
Frequency (rad/sec)
34
Z = 0 ou N = - P.
P = 0: necessrio impor :
Z = N.
35
G ( s) H ( s) =
2s 2 + 5 s + 1
num
= 2
den
s + 2s + 3
>> num = [ 2 5 1 ]
>> den = [ 1 2 3 ]
>> nyquist ( num , den )
num =
2
den =
Nyquist Diagram s
1.5
Im agi nary A x is
0.5
-0.5
-1
-1.5
-1
-0.5
0.5
1.5
2.5
Real A xis
36
Quando o comando usado com os argumentos, Mdulo : mod, ngulo de Fase : fase []
e Frequncia : w, so apresentados os valores correspondentes sem que seja exibido o traado
de Nichols :
>> [ mod , fase, w ] = nichols ( sys )
>> [ mod , fase ] = nichols ( sys , w )
48
- 18
250
600
30
282
525
60
den =
Nichols Charts
40
0 dB
30
0.25 dB
0.5 dB
Open-L oo p Ga in (dB )
20
1 dB
-1 dB
3 dB
10
-3 dB
6 dB
-6 dB
0
-10
-12 dB
-20
-20 dB
-30
-40
-500
-450
-400
-350
-300
-250
-200
-150
-100
-50
-40 dB
37
REFERNCIAS BIBLIOGRFICAS
[1] The Student Edition of MATLAB, The Math Works Inc., Prentice Hall, 1992.
[2] Ogata, Katsuhiko - Solving Control Engineering Problems with MATLAB, Prentice Hall,
1994.
[3] Ogata, Katsuhiko - Engenharia de Controle Moderno 2 Edio, Prentice Hall.
38