Upload
ricardo-rodriguez-bustinza
View
2.906
Download
2
Embed Size (px)
DESCRIPTION
Modelado y identificacion de parametros de motor DC mediante toolbox ident de Matlab
Citation preview
Modelado y Identificación Modelado y Identificación de Parámetros de un Motor DC con Matlab
M.Sc. Ricardo Rodríguez Bustinza.
2009
M.Sc. Ricardo Rodriguez B. 1
Motivación
Usar un Código de Programa
Obtener la DATA usando la NIDAQ
Aplicar la Teoría de Control Digital
Construir los Circuitos
M.Sc. Ricardo Rodriguez B. 2
Motor DC
M.Sc. Ricardo Rodriguez B. 3
Modelo
MOTOR LOAD)(tv )(MOTOR LOAD
)(tω
)(tv
)(tT
)(tTL
R L
)(VB
)(+
+
)( J
)(tT )(tω
)(tV )(ti )(tTL−−
)(tVb
M.Sc. Ricardo Rodriguez B. 4
Ecuaciones que gobiernan la dinámica delEcuaciones que gobiernan la dinámica del sistema electromecánico.
Tomando la transformada de LaplaceTomando la transformada de Laplace.
M.Sc. Ricardo Rodriguez B. 5
Las transformadas anteriores proporcionanLas transformadas anteriores proporcionan las bases para construir el siguiente diagrama de bloques.
)(sTL
)(I )(T )(Ω
BJs +1
RLs +1
tK)(sI)(sV
)(V
)(sT )(sΩ
+−
+
bK)(sVb
La forma estándar de un sistema de segundo orden es dado por:
M.Sc. Ricardo Rodriguez B. 6
Resolviendo la ganancia en estadoResolviendo la ganancia en estado estacionario Km, la frecuencia natural ωn y el factor de amortiguamiento ζ en términos de los parámetros del motor resulta en:de los parámetros del motor resulta en:
M.Sc. Ricardo Rodriguez B. 7
SIMULINK para el Modelo pMotor DC para el Control d P i ióde Posición
M.Sc. Ricardo Rodriguez B. 8
Modelo M DCMotor DC (Posición)
Modelo Motor DC (Velocidad)
M.Sc. Ricardo Rodriguez B. 9
Controlador Digitalg
zzzD )85.0)(85.0(450)( −−
sTzz
zD
001.0)7.0)(98.0(
))(()(
=−+
=
M.Sc. Ricardo Rodriguez B. 10
Modelo Motor DC con SIMULINK
Respuesta en lazo abierto
M.Sc. Ricardo Rodriguez B. 11
Modelo Motor DC con Toolkits de LabVIEW
M.Sc. Ricardo Rodriguez B. 12
M.Sc. Ricardo Rodriguez B. 13
Discretizando el Modelo Motor DC con T lkit d L bVIEWToolkits de LabVIEW
M.Sc. Ricardo Rodriguez B. 14
M.Sc. Ricardo Rodriguez B. 15
Identificando Parámetros de un Motor DC
M.Sc. Ricardo Rodriguez B. 16
load datamdchowho
tt=muestra_datos(:,1); % tiempoxx=muestra_datos(:,2); % posicionuu=muestra datos(: 3); % entradauu=muestra_datos(:,3); % entradavv=muestra_datos(:,4); % velocidad
M.Sc. Ricardo Rodriguez B. 17
Datos=[N t u x v]
M.Sc. Ricardo Rodriguez B. 18
tam=length(u);datos_ident=[v(1:tam/2) u(1:tam/2)];datos_vald=[v(tam/2+1:tam) u(tam/2+1:tam)];figure
l t( d t id t ‘k')plot( datos_ident, ‘k')xlabel(' # muestras')
M.Sc. Ricardo Rodriguez B. 19
figuremuestra ident=iddata(datos ident);muestra_ident iddata(datos_ident);plot(muestra_ident,'r','LineWidth',2)
M.Sc. Ricardo Rodriguez B. 20
Ecuación en diferencias de Motor DC
)2()1()2()1()( 2121 −+−=−+−+ kubkubkyakyaky
load datamdcload datamdctam=length(u);datos_ident=[v(1:tam/2) u(1:tam/2)];datos_vald=[v(tam/2+1:tam) u(tam/2+1:tam)];% Identificación Paramétrica Modelos ARXth=arx(datos_ident,[2 2 1]);( _ ,[ ]);present(th)% Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)% A(q) = 1 - 1 63 (+-0 005044) q^-1 + 0 6681 (+-0 004624) q^-2% A(q) 1 1.63 (+ 0.005044) q 1 + 0.6681 (+ 0.004624) q 2% B(q) = 0.3746 (+-0.004756) q^-1 + 0.3746 (+-0.004756) q^-2% Estimated using ARX from data set datos_ident% Loss function 0 000113658 and FPE 0 000118297% Loss function 0.000113658 and FPE 0.000118297% Sampling interval: 1% B(q) = 0.3746q^-1 + 0.3746q^-2% A( ) 1 1 63 ^ 1 0 6681 ^ 2
M.Sc. Ricardo Rodriguez B. 21% A(q) = 1 - 1.63q^-1 + 0.6681q^-2
Modelo ARXModelo ARXT=1;G=tf([0.3746 0.3746],[1 -1.63 0.6681],T);[nd,dd]=tfdata(G,'v');tk=0:T:200;tk 0:T:200;yd=dstep(nd,dd,201);stairs(tk,yd)xlabel('# Muestras')xlabel( # Muestras )ylabel('yd')
)2(3746.0)1(3746.0)2(6681.0)1(63.1)( −+−=−+−− kukukykyky
M.Sc. Ricardo Rodriguez B. 22
Elección de laElección de la Estructura Optima
hold( ( 1))plot(datos_ident(:,1))
legend('Ident','Data',4)
M.Sc. Ricardo Rodriguez B. 23
nn=struc([1:4],[1:4],[1:4]);v=arxstruc(datos_ident,datos_valid,nn);nn=selstruc(v)% nn =% 1 2 1
M.Sc. Ricardo Rodriguez B. 24
th=sett(th,0.01);present(th)% Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)% Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)% A(q) = 1 - 1.63 (+-0.005044) q^-1 + 0.6681 (+-0.004624) q^-2% B(q) = 0.3746 (+-0.004756) q^-1 + 0.3746 (+-0.004756) q^-2% Estimated sing ARX from data set datos ident% Estimated using ARX from data set datos_ident% Loss function 0.000113658 and FPE 0.000118297% Sampling interval: 0.01% B(q) = 0.3746q^-1 + 0.3746q^-2% A(q) = 1 - 1.63q^-1 + 0.6681q^-2
211 3746037460)( −−− + zzzB211 6881.063.11
3746.03746.0)()()( −−− +−
+==
zzzz
zAzBzG
M.Sc. Ricardo Rodriguez B. 25
D=tf([0.3746 0.3746 0],[1 -1.63 0.6681],0.01);C=d2c(D);% Transfer function:% 0.3746 s^2 + 87.74 s + 9139% ---------------------------% s^2 + 40 33 s + 464 8% s 2 + 40.33 s + 464.8
thc=thd2thc(th);[numc denc]=th2tf(thc)[numc,denc]=th2tf(thc)printsys(numc,denc,'s')% num/den =% -3.0809 s + 9140.7463% -------------------------% s^2 + 40.335 s + 466.8238
M.Sc. Ricardo Rodriguez B. 26
2Kω22 2
)(nn
n
ssKsH
ωζωω
++==
nn
M.Sc. Ricardo Rodriguez B. 27
Validando el ModeloValidando el Modelo
fifigurecompare(datos_ident,th);
M.Sc. Ricardo Rodriguez B. 28
Análisis de los ResiduosAnálisis de los Residuos
figureresid(datos_valid,th);
M.Sc. Ricardo Rodriguez B. 29