You are on page 1of 4

CONTROL DE VELOCIDAD DE UN MOTOR DC

MODELAMIENTO MATEMTICO
Un actuador comn en el control de sistemas es un motor DC, este produce movimientos rotatorios que
pueden manejar cargas directamente. A continuacin se tiene el circuito elctrico equivalente de un
motor DC

Fig. 01 Circuito elctrico equivalente de un motor DC


Donde:
* J= momento de inercia del rotor = 0.01 kg.m^2/s^2
* b = coeficiente de friccin viscosa equivalente en el motor y carga = 0.1 Nms
* K=Qu=Kt = Constante de fuerza electromotriz = 0.01 Nm/Amp
* R = resistencia del devanado en el inducido = 1 ohm
* L = inductancia del devanado en el inducido = 0.5 H
* V= Voltaje aplicado a la armadura
* ngulo de rotacin
* T =Par desarrollado por el motor
* e = fuerza contraelectromotriz
* i = Corriente del devanado en el inducido
edemas:

de la figura anterior obtenemos las ecuaciones usando las leyes de newton y


Kirchhoff's :

1. Funcion de Transferencia

Usando la transformada de La place obtenemos la funcin de transferencia en lazo


abierto:
Luego:

Control Digital de velocidad del Motor DC usando control PID

salida

Sensor de
velocidad

Fig. 02 Diagrama de bloques del sistema controlado.

Digitalizando la funcin de transferencia


La funcin de transferencia en lazo cerrado es:

donde:
* J= momento del rotor de del de inercia = 0.01 kg.m^2/s^2
* b = coeficiente de friccin viscosa equivalente en el motor y carga = 0.1 Nms
* K=Ke=Kt = Constante de fuerza electromotriz = 0.01 Nm/Amp
* R = resistencia del devanado en el inducido = 1 ohm
* L = inductancia del devanado en el inducido = 0.5 H
* V= Voltaje aplicado a la armadura
* = Angulo de rotacin
* T =Par desarrollado por el motor
* e = Fuerza contraelectromotriz
* i = Corriente del devanado en el inducido

Tomando en cuenta los valores anteriores podemos escribir un programa en matlab


que nos permitir digitalizar la funcin de transferencia.
R=1;
L=0.5;
Kt=0.01;
J=0.01;
b=0.1;
num = Kt;
den = [(J*L) (J*R)+(L*b) (R*b)+(Kt^2)];
Ts = 0.12;
[numz,denz] = c2dm(num,den,Ts,'zoh')

Ejecutando el programa se tiene:


namz =
0

0.0092

0.0057

1.0000

-1.0877

0.2369

dens =

Entonces la funcin de transferencia discreta se escribe como:

Enseguida convertiremos el sistema en lazo abierto a lazo cerrado usando cloop


%numz = [numz(2) numz(3)];
[numz_cl,denz_cl] = cloop(numz, denz);

luego obtendremos la respuesta frente a un escaln


[x1] = dstep(numz_cl, denz_cl, 101);
t=0:0.12:12;
stairs(t,x1)
xlabel('Tiempo (segs)')
ylabel('Velocidad (rad/s)')
title('respuesta digital a un escaln unitario')

Controlador PID
La funcin de transferencia de un controlador PID es:

Para poder realizar el controlador PID digital, teniendo en cuenta que


realizando la transformacin bilineal haciendo:

Usando el comando c2dm de Matlab podemos convertir un controlador PID en


tiempo continua a un PID en tiempo discreto realizando una aproximacin bilineal
usando "tustin". tustin es un mtodo que permite realizar conversiones a tiempo
discreto usando aproximacin bilineal. Consideremos las siguientes constantes:
Kp = 100
Ki = 200
Kd = 10
A continuacin se tiene el programa en Matlab
% controlador PID en tiempo discreto con aproximacin bilineal.
Kp = 100;
Ki = 200;
Kd = 10;
[dencz,numcz]=c2dm([1 0],[Kd Kp Ki],Ts,'tustin');

Ahora realizamos la convolucion entre la funcin de transferencia del motor DC y el


controlador PID, en seguida se obtiene la respuesta frente a un escaln unitario del
sistema de control en lazo cerrado.
.
numaz = conv(numz,numcz);
denaz = conv(denz,dencz);
[numaz_cl, denaz_cl] = cloop(numaz,denaz);
[x2] = dstep(numaz_cl,denaz_cl,101);
t=0:0.12:12;
stairs(t,x2)
xlabel('Tiempo (sigs.)')
ylabel('Velocidad (rad/s)')
title('respuesta a un escaln unitario del sistema de control PID')

You might also like