Professional Documents
Culture Documents
T
(t) = [-y(t-1) -y(t-2) ... -y(t-na) u(t-d) ... u(t-d-nb)]
e o vetor de parmetros, (t), com dimenso [(na + nb + 1)x1]
T
(t) = [a1 a2 ... ana b0 b1 ... bnb]
Podemos escrever a equao 9 como:
y(t) =
T
(t).
T
(t) + e(t)
Admitindo que so realizadas N medidas, suficiente para determinar os
parmetros ai e bj, ento tem-se que
A representao matricial da equao 13 :
Y = . + E
onde a matriz de observao :
Eq. 8
Eq. 9
Eq. 10
Eq. 11
Eq. 12
Eq. 14
Eq. 13
Processo de Comunicao do Matlab com microcontroladores via USB
[ 55 ]
O vetor de sada dado por:
Segundo [5] o estimador dos mnimos quadrados dado por:
APLICAO DO MQNR PARA ESTIMAO DA PLANTA DO MOTOR CC
Para estimao dos parmetros do motor CC foi utilizado o programa do Matlab abaixo
para estimao dos parmetros segundo a equao abaixo:
2 1
2
1
2
0
2
2
1
1
1
1 0
.
.
. 1
.
) (
a z a z
z b z b
z a z a
z b b
z G
+ +
+
=
+ +
+
=
! !
!
Utilizando o sistema eletrnico j apresentado foi feito o diagrama de blocos no simulink
(figura 3.7) baseado nas funes da pasta Bibliotecas Matlab disponvel em para obter os
dados de entrada e sada da planta atravs de um gerador de pulsos:
Eq. 16
Eq. 15
Eq. 17
Eq. 18
Processo de Comunicao do Matlab com microcontroladores via USB
[ 56 ]
To Workspace1
u
To Workspace
y
Step
Sine Wave
Real -time
Clock1
Random
Number
Ramp Pulse
Generator
PWM_pm
MATLAB recebe _pm
MATLAB
Function
Figura 3.7: Diagrama de blocos para aquisio dos valores de entrada e sada.
Foi utilizado o programa do Matlab a seguir:
% ESTIMACAO DE UM PROCESSO DE SEGUNDA ORDEM
% DADOS CONTIDOS NO ARQUIVO MEDIDAS.DAT
%-----------------------------------------------
%load medidas.dat
npts=1001;
%u=medidas(1:npts,1);
%y=medidas(1:npts,2);
Y=[];
fi=[];
for j=1:npts
if j<=2
y1=0; y2=0; u1=0; u2=0;
else y1=y(j-1); y2=y(j-2); u1=u(j-1); u2=u(j-2);
end;
Y=[Y; y(j)];
fi=[fi; -y1 -y2 u1 u2];
end;
teta=inv(fi'*fi)*fi'*Y
for t=1:2,
yest(t)=0;
end;
a1=teta(1) ; a2=teta(2) ; b1=teta(3) ; b2=teta(4);
for t=3:npts,
yest(t)=-a1*yest(t-1)-a2*yest(t-2)+b1*u(t-1)+b2*u(t-2);
end;
plot(y,'g');
hold on;
plot(yest,'r');
O programa gerou o grfico da figura 3.8 mostrando a aproximao entre a planta real e a
planta estimada:
Processo de Comunicao do Matlab com microcontroladores via USB
[ 57 ]
0 200 400 600 800 1000 1200
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Figura 3.8: Comparao entre valores estimados e valores reais
teta =
-0.4648
0.0545
9.4108
0.0531
Com o perodo de amostragem aproximado de 0,1 , foi calculado a funo de transferncia
em tempo contnuo:
z=tf([9.4108 0.0531 0],[1 -0.4648 0.0546],0.1);
c=d2c(z)
Transfer function:
9.411 s^2 + 341.6 s + 3409
--------------------------
s^2 + 29.08 s + 212.5
A resposta ao degrau mostrada na figura 3.9:
Processo de Comunicao do Matlab com microcontroladores via USB
[ 58 ]
0 0.1 0.2 0.3 0.4 0.5 0.6
9
10
11
12
13
14
15
16
17
Step Response
Time (sec)
A
m
p
lit
u
d
e
Figura 3.9: Resposta ao degrau da planta estimada por MQNR
Observa-se que apesar da funo acima possuir uma quantidade de zeros maior
que o modelo estimado por MQR, o valor final e o tempo para atingir este valor so
aproximadamente iguais.
PROJETO DO SISTEMA DE CONTROLE
Foi utilizada a ferramenta sisotool do matlab para projetar o controlador para controle de
velocidade do motor CC da planta estimada anteriormente. O modelo utilizado foi o modelo
obtido por MQNR.
15 . 212 08 . 29
3409 6 . 341 411 . 9
) (
2
2
+ +
+ +
=
s
s s
s G
Utilizando o mtodo Ziegler-Nichols em malha aberta o aplicativo sisotool estimou a
seguinte funo de transferncia para o controlador, obtido pelo seguinte comando:
s
s
s G
2
) 47 , 39 .( 0010685 . 0
) (
+
=
Eq. 19
Eq. 20
Processo de Comunicao do Matlab com microcontroladores via USB
[ 59 ]
Figura 3.10: Utilizao da ferramenta sisotool para projetar o controlador
Os parmetros PID foram obtidos pelo seguinte commando:
1.6648*conv([0.025 1],[0.025 1])
ans =
0.0010 0.0832 1.6648
Parmetros:
P = 0,0832 I = 1,6648 D=0,0010
RESULTADOS
Foram atualizados o valores dos PID e construdo um novo diagrama de blocos para
controle do sistema. A figura 3.11 mostra o diagrama no simulink para controle do motor
CC.
Processo de Comunicao do Matlab com microcontroladores via USB
[ 60 ]
Scope 1
Real -time
Clock1
PWM_pm1
MATLAB recebe _pm
MATLAB
Function
Discrete
PID Controller
PID
Constant 2
2
Figura 3.11: Parmetros PID e Malha fechada de controle do motor CC de m
permanente
Clculo da funo de transferncia no Matlab com resposta ao degrau unitrio da planta
com controlador PID mostrada na figura 3.12.
sisotool
C
Zero/pole/gain from input "Input" to output "Output":
0.0010685 (s+39.47)^2
---------------------
Processo de Comunicao do Matlab com microcontroladores via USB
[ 61 ]
s
c
Zero/pole/gain from input "Input" to output "Output":
9.4108 (s^2 + 36.29s + 362.2)
-----------------------------
(s^2 + 29.08s + 212.5)
feedback(c*C,1)
Zero/pole/gain from input "Input" to output "Output":
(s+39.47)^2 (s^2 + 36.29s + 362.2)
----------------------------------------
(s+174) (s+17.42) (s^2 + 23.31s + 186.2)
Gfb=feedback(c*C,1)
Zero/pole/gain from input "Input" to output "Output":
(s+39.47)^2 (s^2 + 36.29s + 362.2)
----------------------------------------
(s+174) (s+17.42) (s^2 + 23.31s + 186.2)
step(Gfb)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
From: Input To: Output
Step Response
Time (sec)
A
m
p
litu
d
e
Figura 3.12: Resposta ao degrau unitrio da planta com controlador PID
Foram alterados os valores de referncia sem carga, de acordo com o grfico da figura
3.13:
Processo de Comunicao do Matlab com microcontroladores via USB
[ 62 ]
Figura 3.13: Simulao de valores de referncia sem carga
Dados: Linha magenta = referncia
Linha Azul Varivel controlada (tenso tacogerador)
Linha Amarela Varivel manipulada (Duty cycle do PWM)
Foi mantido a referncia e inserida uma pertubao no eixo do motor para simular uma
carga e os resultados podem ser vistos na figura 3.14:
Figura 3.14: Resposta a pertubaes do sistema de controle projetado
Processo de Comunicao do Matlab com microcontroladores via USB
[ 63 ]
CONSIDERAES FINAIS
O sistema microcontrolado para aquisio e controle da planta foi considerado eficaz pela
baixa quantidade falhas e pela facilidade de conexo via interface USB. O mesmo Hardware
pode ser utilizado em diversos sistemas de controle a partir do Matlab.
O mtodo de sintonia PID Ziegler Nichols em malha aberta mostrou-se eficiente, tornando
a resposta do motor mais rpida e estvel como foi observado nos grficos.
O perodo de amostragem mostrou-se uma varivel importante ao se realizar controles a
partir de um computador utilizando o Matlab. Tempos de amostragem muito pequenos
tornam os clculos realizados pelo computador maiores e o sistema pode se tornar instvel
devido o atraso em ler os sinais. Os valores obtidos pelo MQR apresentaram uma planta
estimada mais simples e com menos zeros, porm a resposta pelo MQNR mostrou-se
semelhante quando ambas foram submetidas a uma entrada em degrau.
O gerador de pulsos mostrou-se mais eficaz quando comparado com outros tipos de sinais
como rampa ou senoidal para estimao da planta do sistema.
Aps a concluso da confeco e montagem, o sistema de controle passou por uma fase de
testes, onde apresentou o resultado esperado no projeto, mostrando ser eficiente,
confivel e de simples de operao.
REFERNCIAS BILBIOGRFICAS
[1] GRUPO SANUSB. Ferramenta SanUSB. Disponvel em: <
http://br.groups.yahoo.com/group/GrupoSanUSB > Acessado em: 19 jan 2013.
[2] PLACA MNICA. Disponvel em <www.das.ufsc.br/~aarc/ensino/graduacao> Acessado
em: 19 jan 2013.
[3] COSTA FILHO, F. L. M. Desenvolvimento de controle e aquisio microcontrolado.
Monografia DEE-UFC. 2010. Monografia (Graduao) - Universidade Federal do Cear,
Fortaleza, 2010.
Processo de Comunicao do Matlab com microcontroladores via USB
[ 64 ]
[4] ALMEIDA FILHO, C. R. N. Sistema de Aquisio de dados para aplicao em
transformadores de Potncia com comunicao serial EIA-485. 2011. Monografia
(Graduao) - Universidade Federal do Cear, Fortaleza, 2011.
[5] COELHO, A. A. R., COELHO, L. S., Identificao de Sistemas Dinmicos Lineares. Ed. Do
Autor. Florianpolis: Editora UFSC, 2004.