Implementación de control de velocidad de un motor dc con ...
Control de Velocidad de Un Motor Dc
-
Upload
hipolito-carbajal -
Category
Documents
-
view
10 -
download
0
description
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