Aplica Toolbox de Identificación con Matlab

Preview:

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

¿Preguntas?¿Preguntas?

rrodriguez@giscia.comrobust@uni.edu.pe

g @g

M.Sc. Ricardo Rodriguez B. 30

Recommended