Control de Velocidad de Un Motor Dc

download Control de Velocidad de Un Motor Dc

of 4

description

Motor

Transcript of Control de Velocidad de Un Motor Dc

CONTROL DE VELOCIDAD DE UN MOTOR DC

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

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

dens =

1.0000 -1.0877 0.2369

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 y 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')

salida

Sensor de

velocidad