Modelo y simulacion de un motor DC.

 fig. 1

La ecuacion de este sistema , ver Sistemas realimentados de control de John J. D’Azzo es,

 

 

 

 

Lm.J/KT=k1  ;  (Lm.B+Rm.J)/KT=k2 ;  (Rm.B/KT+Kb)=k3

 

 

k1.D^2.wm + k2.Dwm+k3.wm=ea

 

 

k1.D^2.wm = - k2.Dwm-k3.wm+ea

 

 

D^2.wm = -( k2/ k1).Dwm-(k3/ k1).wm+(1/ k1).ea

 

a= k2/ k1 ; b= k3/ k1 ; c=1/k1

 

 

La siguiente ec. se utilizara para la simulacion con Scicos ,

 

 

J=0.1;             [ Kg .(m^2) ]

B=0.01;          [Newton . m / (rad/seg)]

Lm=1;

Rm=1;

KT=1;

Kb=KT;

k1=Lm*J/KT;

k2=(Lm*B+Rm*J)/KT;

k3=(Rm*B/KT)+Kb;

a=k2/k1

b=k3/k1

c=1/k1

 

que se ejecuta de Scilab como File---exec

a  =

 

    1.1

 b  =

 

    10.1

 c  =

 

    10.

     Luego al realizar la simulacion con Scicos resulta,

La velocidad del eje es de acuerdo a la simulación con Scicos,

 

 

 fig. 3

 

Al realizar la simulación con Modelica , en este modelo no se incluyo el coeficiente de amortiguamiento B=0.01 Newton.metro/(rad/seg)

 

 fig. 4

 

    y se obtuvo,

 

 fig. 5

 

 

que es igual a lo obtenido con Scicos, la diferencia consiste en que con Modelica se arma el sistema como el indicado en la figura 4 y se simula, mientras con Scicos se debe plantear la ecuación 1.

 

Simulación de un motor comercial.

 

A partir de las siguientes caracteristicas,

 

 

y utilizando Modelica, se quiere determinar las siguientes caracteristicas, velocidad sin carga a la tension nominal [V], la constante de velocidad [rpm/V] y la constante de tiempo mecanica [s].

Dibujando primero el modelo como se indica a continuacion,

 

a partir del dibujo se escribio el programa , incluyendo el Load Modelica Library,

 

loadModel(Modelica)

 

model edu8

Modelica.Electrical.Analog.Basic.EMF EMF1(k=0.0552);

Modelica.Electrical.Analog.Basic.Inductor inductor1(L=0.00502);

Modelica.Electrical.Analog.Basic.Conductor conductor1(G=0.0240964);

Modelica.Electrical.Analog.Sources.ConstantVoltage constantVoltage1(V=24.0);

Modelica.Electrical.Analog.Basic.Ground ground1;

Modelica.Mechanics.Rotational.Inertia inertia1(J=2.3e-06);

equation

connect(EMF1.flange_b,inertia1.flange_a);

connect(ground1.p,constantVoltage1.n);

connect(EMF1.n,ground1.p);

connect(inductor1.n,EMF1.p);

connect(conductor1.n,inductor1.p);

connect(constantVoltage1.p,conductor1.p);

end edu8;

 

La simulacion es,

 

>> simulate( edu8)

record

resultFile = "edu8_res.plt"

end record

 

>> plot ( inertia1.w )

true

 

w[rad/seg]

 

 

 

y simulando hasta un tiempo t=0.2 seg ,

 

>> simulate ( edu8, startTime=0.0 , stopTime= 0.2)

record

resultFile = "edu8_res.plt"

end record

>> plot ( inertia1.w )

true

 

 

fm=wm.60/2.pi= 4151.0792 [rpm], esta ultima es la velocidad máxima sin carga.

 

La constante de velocidad es 4151.0792 /24=172.96163 rpm/V

 

Para determinar la constante de tiempo en forma aproximada supongamos la respuesta de la forma w=wm.(1-e^(-t/T)) , si t=T es w= 434.7(1-(1/e))=274.78 [rad/seg]

 

 

 

 

 

T=31.3 ms

 

Si se compara los resultados obtenidos con la simulación con los datos del fabricante,

 

                            Fabricante           simulacion

Velocidad máxima sin carga                                      3990 [rpm]          4151.0 [rpm]

Constante de velocidad    173 [rpm/V]              172.96 [rpm/V]

Constante de tiempo    31.7 [ms]                31.3 [ms]

 

Se ve que los resultados son casi iguales.

 

 

 

 

 

 

Enlaces.

 

Ejemplo simple de un programa de Modelica usando OpenModelica.

 

Galileo.

 

Eduardo Ghershman , 27.9.2008