You are on page 1of 4

UNIVERSIDADE DO ESTADO DE SANTA CATARINA

CENTRO DE CIÊNCIAS TECNOLÓGICAS
DEPARTAMENTO DE ENGENHARIA ELÉTRICA


LABORATÓRIO DE SISTEMAS DE CONTROLE II


2 REPRESENTAÇÃO DE SISTEMAS NO ESPAÇO DE ESTADOS

2.1 Criando Funções de Transferência
Considere o sistema descrito por:
) 4 . 0 )( 25 )( 15 (
) 20 ( 18
) (
) (
) (
+ ++ + + ++ + + ++ +
+ ++ +
= == = = == =
s s s
s
s G
s U
s Y

No Matlab, esse sistema pode ser criado como mostrado abaixo:
% Exemplo 1
% Cria e apresenta a função de transferência G(s) = 18(s + 20) / (s + 15)(s + 25)(s + 0.4)
>> num = 18 * [1 20];
>> den = conv(conv([1 15], [1 25]), [1 0.4]);
>> gs = tf(num, den)

Note que agora a variável criada gs é do tipo função de transferência.
2.2 Criando Modelos no Espaço de Estados
Uma representação mais geral para sistemas lineares invariantes no tempo é descrita
no espaço de estados, na forma:
( (( ( ) )) ) ) ( ) ( t Bu t Ax t x + ++ + = == =
&

) ( ) ( ) ( t Du t Cx t y + ++ + = == =
onde ) (t x
&
representa o vetor de, ) (t u o vetor de entradas e ) (t y o vetor de saídas do sistema.
Seja, por exemplo, um sistema com duas entradas e duas saídas, descrito por
( )
(
¸
(

¸

(
¸
(

¸

+
(
¸
(

¸

=
(
¸
(

¸

(
¸
(

¸

(
¸
(

¸

+
(
¸
(

¸


− −
=
) (
) (
1 0
0 1
) (
1 3
2 1
) (
) (
) (
) (
5 0
0 2
) (
1 3
1 5
2
1
2
1
2
1
t u
t u
t x
t y
t y
t u
t u
t x t x
&

No Matlab, a representação desse sistema é demonstrada no Exemplo 2 abaixo:
% Exemplo 2
% Cria e apresenta um sistema representado no espaço de estados
>> A = [-5 -1; 3 -1];
>> B = [2 0; 0 5];
>> C = [1 2; 3 1];
>> D = [1 0; 0 1];
>> printsys(A, B, C, D)


LABORATÓRIO DE SISTEMAS DE CONTROLE II 2

2.3 Espaço de Estados Função de Transferência
O comando ss2tf transforma a representação no espaço de estados na representação de
função (matriz) de transferência. Realiza a operação
D B A sI C s G + ++ + − −− − = == =
− −− −1
) ( ) (
Note que, para esse exemplo, G(s) será uma matriz 2x2, uma vez que o sistema tem duas
entradas e duas saídas, ou seja, G(s) será da forma
| || |
| || |
¹ ¹¹ ¹
| || |


\ \\ \
| || |
= == =
) ( ) (
) ( ) (
) (
22 21
12 11
s G s G
s G s G
s G
Uma melhor visualização do fluxo dos sinais é conseguida, observando a figura 2.1 abaixo:

Figura 2.1 - Representação de um sistema com duas entradas e duas saídas
Para o sistema do Exemplo 2, calcule manualmente G(s) e depois confira os resultados
usando o Matlab.
>> % Exemplo 3
>> % Obtenção das funções de transferência relacionadas com a entrada 1, ou seja, G
11
(s) e G
21
(s)
>> [num1, den1] = ss2tf (A, B, C, D, 1);
>> printsys(num1, den1, 's')
>> % Calcula as funções de transferência relacionadas com a entrada 2, ou seja, G
12
(s) e G
22
(s)
>> [num2, den2] = ss2tf (A, B, C, D, 2);
>> printsys(num2, den2, 's')

2.4 Função de Transferência Espaço de Estados
O comando utilizado é tf2ss, que obtém a representação no espaço de estados na forma
canônica controlável para sistemas monovariáveis (SISO ou “uma entrada, uma saída”).
>> % Exemplo 4 (mesmo sistema do Exemplo 1)
>> % Converte a função de transferência para forma canônica controlável
>> [A, B, C, D] = tf2ss(num,den);
>> printsys(A, B, C, D)
>> % Retornando para Função de Transferência
>> [n, d] = ss2tf (A, B, C, D)
>> printsys(n, d, 's')


LABORATÓRIO DE SISTEMAS DE CONTROLE II 3

2.5 Solução da Equação de Estados
A solução da equação de estados é dada por
∫ ∫∫ ∫
− −− −
+ ++ + = == =
t
t A At
d Bu e x e t x
0
) (
) ( ) 0 ( ) ( τ τ
τ

ou
) ( ) ( ) 0 ( ) (
0
) (
t Du d Bu e C x Ce t y
t
t A At
+ ++ + + ++ + = == =
∫ ∫∫ ∫
− −− −
τ τ
τ

O Matlab realiza essa solução através dos comandos impulse (resposta ao impulso), step
(resposta ao degrau) e lsim (resposta a uma entrada qualquer). Considere o sistema
representado pela seguinte equação de estados:
( ) u t x t x
(
¸
(

¸

+
(
¸
(

¸

− −
=
1
0
) (
3 2
1 0
&
, 0 ) 0 ( = == = x
Obtenha analiticamente as variáveis de estado desse sistema para entrada degrau unitário. A
seguir, use o Matlab para comprovar o resultado, exibindo os gráficos dessas variáveis.

>> % Exemplo 5 - Gráficos da resposta ao degrau
>> A = [0 1; -2 -3];
>> B = [0; 1];
>> C = eye(2); % C = matriz identidade de dimensão 2 e
>> D = zeros(2,1); % D = matriz nula 2 x 1 porque a saída y = x
>> step(A, B, C, D)

2.6 Transformação para Formas Canônicas
O comando canon transforma a representação de estados para formas canônicas. O
exemplo abaixo realiza a transformação de um sistema para uma forma companheira.
>> %Exemplo 6
>> A = [0 1; -2 -3];
>> B = [2; 1];
>> C = [1 0];
>> D = 0;
>> [Ac Bc Cc Dc T] = canon(A, B, C, D, ’companion’)
>> % T é a matriz que realiza a transformação T
-1
AcT = A
>> T \ Ac * T

2.7 Simulação de um Motor de Corrente Contínua
Um motor de corrente contínua pode ser modelado pelas seguintes equações:
a) Equação de Kirchhoff na armadura
ω k
dt
di
L Ri v + ++ + + ++ + = == =
b) Equação de Newton no eixo
ω
ω
f
dt
d
J ki T + ++ + = == = = == =
c) Velocidade angular
dt

ω = == =
LABORATÓRIO DE SISTEMAS DE CONTROLE II 4

onde:
θ : é a posição angular do eixo
ω : é a velocidade angular do eixo
i : é a corrente de armadura
T : é o torque do motor
R : é a resistência de armadura (3,4 Ω)
L : é a indutância de armadura (15 mH)
J : é o momento angular do eixo (0,7x10
-3
- MKS)
f : é o coeficiente de atrito viscoso do eixo (50x10
-6
Ws
2
/rd
2
)
k : é a constante do motor (0,15 - MKS)

1. Apresente um modelo desse sistema no espaço de estados considerando o vetor de estados
[ [[ [ ] ]] ] i x ω θ = == =
T
e o Torque T como saída do sistema.
2. Usando o Matlab, crie uma function que apresente a resposta desse sistema para uma
entrada qualquer na tensão na armadura.
3. Aplique a function do ítem anterior para uma entrada degrau de 30 V.
4. Aplique novamente a function do ítem anterior para f = 5,0x10
-6
Ws
2
/rd
2
.
5. Repita os procedimentos acima, considerando ω como saída do sistema.