30
Modelado y Identificación Modelado y Identificación de Parámetros de un Motor DC con Matlab M.Sc. Ricardo Rodríguez Bustinza. 2009 1

Aplica Toolbox de Identificación con Matlab

Embed Size (px)

DESCRIPTION

Modelado y identificacion de parametros de motor DC mediante toolbox ident de Matlab

Citation preview

Page 1: Aplica Toolbox de Identificación con Matlab

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

Page 2: Aplica Toolbox de Identificación con Matlab

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

Page 3: Aplica Toolbox de Identificación con Matlab

Motor DC

M.Sc. Ricardo Rodriguez B. 3

Page 4: Aplica Toolbox de Identificación con Matlab

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

Page 5: Aplica Toolbox de Identificación con Matlab

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

Page 6: Aplica Toolbox de Identificación con Matlab

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

Page 7: Aplica Toolbox de Identificación con Matlab

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

Page 8: Aplica Toolbox de Identificación con Matlab

SIMULINK para el Modelo pMotor DC para el Control d P i ióde Posición

M.Sc. Ricardo Rodriguez B. 8

Page 9: Aplica Toolbox de Identificación con Matlab

Modelo M DCMotor DC (Posición)

Modelo Motor DC (Velocidad)

M.Sc. Ricardo Rodriguez B. 9

Page 10: Aplica Toolbox de Identificación con Matlab

Controlador Digitalg

zzzD )85.0)(85.0(450)( −−

sTzz

zD

001.0)7.0)(98.0(

))(()(

=−+

=

M.Sc. Ricardo Rodriguez B. 10

Page 11: Aplica Toolbox de Identificación con Matlab

Modelo Motor DC con SIMULINK

Respuesta en lazo abierto

M.Sc. Ricardo Rodriguez B. 11

Page 12: Aplica Toolbox de Identificación con Matlab

Modelo Motor DC con Toolkits de LabVIEW

M.Sc. Ricardo Rodriguez B. 12

Page 13: Aplica Toolbox de Identificación con Matlab

M.Sc. Ricardo Rodriguez B. 13

Page 14: Aplica Toolbox de Identificación con Matlab

Discretizando el Modelo Motor DC con T lkit d L bVIEWToolkits de LabVIEW

M.Sc. Ricardo Rodriguez B. 14

Page 15: Aplica Toolbox de Identificación con Matlab

M.Sc. Ricardo Rodriguez B. 15

Page 16: Aplica Toolbox de Identificación con Matlab

Identificando Parámetros de un Motor DC

M.Sc. Ricardo Rodriguez B. 16

Page 17: Aplica Toolbox de Identificación con Matlab

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

Page 18: Aplica Toolbox de Identificación con Matlab

Datos=[N t u x v]

M.Sc. Ricardo Rodriguez B. 18

Page 19: Aplica Toolbox de Identificación con Matlab

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

Page 20: Aplica Toolbox de Identificación con Matlab

figuremuestra ident=iddata(datos ident);muestra_ident iddata(datos_ident);plot(muestra_ident,'r','LineWidth',2)

M.Sc. Ricardo Rodriguez B. 20

Page 21: Aplica Toolbox de Identificación con Matlab

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

Page 22: Aplica Toolbox de Identificación con Matlab

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

Page 23: Aplica Toolbox de Identificación con Matlab

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

Page 24: Aplica Toolbox de Identificación con Matlab

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

Page 25: Aplica Toolbox de Identificación con Matlab

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

Page 26: Aplica Toolbox de Identificación con Matlab

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

Page 27: Aplica Toolbox de Identificación con Matlab

2Kω22 2

)(nn

n

ssKsH

ωζωω

++==

nn

M.Sc. Ricardo Rodriguez B. 27

Page 28: Aplica Toolbox de Identificación con Matlab

Validando el ModeloValidando el Modelo

fifigurecompare(datos_ident,th);

M.Sc. Ricardo Rodriguez B. 28

Page 29: Aplica Toolbox de Identificación con Matlab

Análisis de los ResiduosAnálisis de los Residuos

figureresid(datos_valid,th);

M.Sc. Ricardo Rodriguez B. 29

Page 30: Aplica Toolbox de Identificación con Matlab

¿Preguntas?¿Preguntas?

[email protected]@uni.edu.pe

g @g

M.Sc. Ricardo Rodriguez B. 30