Você está na página 1de 4

Universidade Federal do ABC

Centro de Engenharia, Modelagem e Cincias Sociais Aplicadas

ESTB014-13  Anlise e Controle de Sistemas Mecnicos


3
o quadrimestre de 2016

Roteiro 01:
Simulao de Sistemas Lineares

1 Objetivo
Esta aula prtica tem por objetivo apresentar algumas das ferramentas bsicas de simulao de
modelos matemticos do Matlab. Desta forma ser possvel encontrar a resposta de um sistema de
equaes diferenciais ordinrias lineares (com coecientes que no variam no tempo), de acordo com
as condies iniciais fornecidas.

2 Introduo
Simular sistemas dinmicos (sejam eles mecnicos, eltricos, siolgicos, etc.) signica desenvolver
um modelo matemtico representativo deste sistema na forma de uma EDO e encontrar uma soluo
desta equao para uma condio inicial particular. Desta forma, possvel observar o comportamento
deste sistema frente a alteraes nos parmetros deste modelo, bem como a diferentes condies iniciais.
Fazer esta simulao computacionalmente signica poder estudar a resposta desse sistema frente a
diferentes condies sem precisar fazer testes experimentais, que em geral so caros e demorados.

Principais comandos do Matlab para simulao de sistemas

Comando linspace

Em alguns casos interessante impr o vetor de tempos utilizado na simulao. O comando


vetor_tempos = linspace(ti,tf,N); ajuda nesses casos, criando um vetor entre ti e tf com N
elementos linearmente espaados.

Comando ss

O comando sistema = ss(A,B,C,D); cria um modelo no espao de estados a partir das matrizes
A, B, C e D. Esse modelo pode ser utilizado para simulao do sistema, ou para se encontrar a funo
de transferncia, por exemplo.

Comando ft

Utilizado para calcular a funo de transferncia, pode ser usado tendo como entrada o modelo no
espao de estados (funcao = ft(sistema);), ou os coecientes do numerador e do denominador da
funo de transferncia na forma de vetores (funcao = ft(num,den);).

Comando lsim

Simula a resposta de um sistema linear invariante no tempo dada uma entrada arbitrria
([Y,T,X] = lsim(sistema,U,vetor_tempos);). Caso no sejam passados argumentos de sada
(lsim(sistema,U,vetor_tempos);), os grcos das sadas so motrados na tela.
Comando step

Simula a resposta de um sistema linear invariante no tempo dada uma entrada tipo degrau
unitrio ([Y,T,X] = step(sistema,vetor_tempos);). Caso no sejam passados argumentos de
sada (step(sistema,vetor_tempos);), os grcos das sadas so motrados na tela.

Comando impulse

Simula a resposta de um sistema linear invariante no tempo dada uma entrada tipo impulso
([Y,T,X] = impulse(sistema,vetor_tempos);). Caso no sejam passados argumentos de sada
(impulse(sistema,vetor_tempos);), os grcos das sadas so motrados na tela.

Comando residue

O comando [r,p,k] = residue(num,den); fornece a expanso em fraes parciais da funo de


transferncia cujos coecientes do numerador e do denominador so dados por num e den. A sada
da forma:

num(s) r1 r2 r3
G(s) = = + + + + k
den(s) s p1 s p2 s p3

Exemplo: Sistema massa-mola-amortecedor

Nesta prtica iremos simular o comportamento de um sistema massa-mola-amortecedor,


representado pela Figura 1, que estimulado por uma martelada, representada por uma fora de
amplitude 100N e durao de 0, 01s. Isto , a fora de excitao u(t) alta nos instantes iniciais e
depois se torna zero.

Figura 1: Sistema massa-mola-amortecedor

A equao de movimento deste sistema dada por:

mz + cz + kz = u(t) (1)

As Equaes no Espao de Estados, tendo como sadas a posio e a velocidade da massa, so


dadas por:

      
x1 0 1 x1 0
= k c + 1 u (2)
x2 m m x2 m

  
1 0 x1
y(t) = + [0]u (3)
0 1 x2

onde u(t) = f (t), x1 (t) = z(t) e x2 (t) = z(t).

2
O cdigo base para esta simulao dividido em 3 partes. Na primeira parte dene-se os parmetros
de entrada do modelo. Na segunda parte dene-se o modelo propriamente dito. Para isto, necessrio
descrever o modelo em espao de estados. A terceira parte corresponde a visualizao dos grcos com
a resposta da posio z(t) e da velocidade z(t) da massa em funo do tempo.

1 %% ========= 1a parte: Definicao de parametros =========


2 % Definicoes matlab
3 clc; % limpa a tela
4 clear all; % limpa a memoria
5 close all; % fecha as janelas de graficos
6
7 % Parametros do modelo
8 m = 1.0; % (kg)
9 c = 2.0; % ((N*s)/m)
10 k = 26; % (N/m)
11
12 % Instantes inicial e final
13 t_0 = 0; % tempo inicial
14 t_f = 6; % tempo final
15 N = 6001; % Discretizacao no tempo
16
17 % Vetor de tempo:
18 tempo = linspace(t_0,t_f,N);
19
20 % Condicoes iniciais:
21 posIni = 0.0; %(em m)
22 velIni = 0.0; %(em m)
23 condIni = [posIni velIni];
24
25 %% ========= 2a parte: Integracao =========
26
27 % Matrizes de estado:
28 A(1,1) = 0;
29 A(1,2) = 1;
30 A(2,1) = k/m;
31 A(2,2) = c/m;
32 B(1,1) = 0;
33 B(2,1) = 1/m;
34
35 % Matrizes de saida
36 C = [1 0 ; 0 1];
37 D = 0;
38
39 % Vetor excitacao
40 u = zeros(N,1);
41 u(1:10) = 100; % (N)
42
43 % Cria modelo em espaco de estados
44 sistema = ss(A,B,C,D);
45
46 % Opcional: mostra a(s) funcao(oes) de transferencia do sistema
47 tf(sistema)
48
49 % Integracao da equacao de movimento:
50 [Y1,T1,X1] = lsim(sistema,u,tempo,condIni);
51
52 %% ========= 3a parte: Visualizacao =========
53 figure(1)
54 subplot(3,1,1)
55 plot(T1,X1(:,1))
56 xlabel('tempo (s)')
57 ylabel('Posicao (m)')
58 legend('Pos.')
59 grid

3
60
61 subplot(3,1,2)
62 plot(T1,X1(:,2),'r')
63 xlabel('tempo (s)')
64 ylabel('Velocidade (m/s)')
65 legend('Vel. ')
66 grid
67
68 subplot(3,1,3)
69 plot(tempo,u(:),'.')
70 xlabel('tempo (s)')
71 ylabel('u (N)')
72 legend('atuador')
73 title('atuador (N)')
74 grid

3 Atividade para a aula


Sistema massa-mola-amortecedor

1. Compare a sada do programa MKC.m com a sada dos comandos impulse e step. Comente o
resultado.

2. Encontre o polinmio caracterstico deste sistema usando o comando ft.

3. Encontre a expanso em fraes parciais desse sistema usando o comando residue.

4. Altere os valores dos parmetros de massa m, coeciente de amortecimento c e rigidez da mola


k conforme a tabela abaixo e encotre as razes do polinmio caracterstico:

Caso m [kg] c [N.s/m] k [N/m] raiz 1 raiz 2


1 1.0 2.0 26.0
2 1.0 12.0 20.0
3 1.0 0.0 4.0
4 1.0 -5.5 2.5
5 1.0 -1.0 1.25
6 1.0 4.5 -2.5
7 1.0 0.0 0.0

5. Altere os parmetros no programa e observe a resposta de cada um deles.

6. Analise criticamente as respostas obtidas. O que elas signicam? Dos 7 casos simulados, quais
deles voc conseguiria reproduzir experimentalmente?

7. Qual o papel da posio das raizes do polinmio caracterstico na resposta do sistema?

8. Simule a sada desse sistema para uma entrada na forma u = sin(pi/0.1*tempo);.

Você também pode gostar