Control de velocidad de un motor

Solo disponible en BuenasTareas
  • Páginas : 6 (1284 palabras )
  • Descarga(s) : 7
  • Publicado : 16 de mayo de 2010
Leer documento completo
Vista previa del texto
Ejemplo: Control Digital de Velocidad
del Motor de CC con Control PID
En esta página, consideremos la versión digital del problema de control de velocidad de un motor de CC . Puede obtenerse un modelo digital del motor de CC a partir de la conversión del modelo analógico , como describiremos. El controlador para este ejemplo se diseñará por un método PID.
De la página Modelación: un Motor deCC, la función de transferencia a lazo abierto para la velocidad del motor se derivó como:

Donde:
*resistencia eléctrica (R) = 1 ohm
*inductancia eléctrica (L) = 0.5 H
*constante de fuerza electromotriz (Ke=Kt) = 0.01 Nm/Amp
*momento de inercia del rotor (J) = 0.01 kg*m^2/s^2
*coeficiente de amortiguamiento del sistema mecánico (b) = 0.1 Nms
*entrada (V): Fuente de Tensión
*salida(theta punto): Velocidad de rotación
*Se asume que el rotor y el eje son rígidos
Los requerimientos de diseño para entrada escalón de 1 rad/seg. son
* Tiempo de establecimiento: Menor que 2 segundos
* Sobrepico: Menor que el 5%
* Error de estado estacionario: Menor que el 1%
Conversión de Continuo a Discreto
El primer paso en el diseño de un sistema de control discreto esconvertir la función de transferencia continua a una función de transferencia discreta. El comando Matlab c2dm lo hará para ud.. c2dm requiere los siguiente cuatro argumentos: el polinomio numerador (num), el polinomio denominador (den), el tiempo de muestreo (Ts) y el tipo de mantenedor. En este ejemplo, usaremos el mantenedor de orden cero ('zoh').
Del requerimiento de diseño, hagamos el tiempo demuestreo, Ts igual a 0.12 segundos, lo cual es 1/10 de la constante de tiempo de un sistema con un tiempo de establecimiento de 2 segundos. Creemos un nuevo archivo-m e ingrese los siguientes comandos:
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')
Luego de ejecutado este archivo-m debe devolver lo siguiente:

numz =

0 0.0092 0.0057


denz =1.0000 -1.0877 0.2369
De estas matrices, la función de transferencia discreta puede escribirse como:

Primero, nos gustaría vea cómo se ve la respuesta del sistema a lazo cerrado sin ningún control. Si aprecia la matriz numz arriba, ésta tiene un cero adicional al principio, tenemos que librarnos de él antes de cerrar el lazo con el comando Matlab cloop. Agregue el siguiente código al final desu archivo-m:
numz = [numz(2) numz(3)];
[numz_cl,denz_cl] = cloop(numz,denz);
Luego de hacerlo, observemos cómo se ve la respuesta a lazo cerrado al escalón . El comando dstep generará el vector de señales de salida discreto y el comando stairs las conectará . Pinche aquí para más información. Agregue el siguiente código de Matlab al final del archivo-manterior y ejecútelo nuevamente.
[x1] = dstep(numz_cl,denz_cl,101);
t=0:0.12:12;
stairs(t,x1)
xlabel('Tiempo (segundos)')
ylabel('Velocidad (rad/s)')
title('Respuesta tipo escalera :Original')
Debería verse la figura siguiente:

Controlador PID
Recordemos que la función de transferencia de tiempocontinuo para un controlador PID es:

Existen varias maneras para el mapeo del plano s al plano z . La más precisa es . No podemos obtener la función de transferencia del filtro PID de este modo porque la función de transferencia de tiempo discreto tendría más ceros que polos, lo cual no es realizable. En su lugar usaremos la transformación bilineal , definida como sigue:

Por lo que...
tracking img