CTM_ Ejemplo de Control Digital_ Barra y Bola

21/5/2014 CTM: Ejemplo de Control Digital: Barra y Bola Ejemplo de Control Digital: problema Barra y Bola con Control

Views 72 Downloads 3 File size 235KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

21/5/2014

CTM: Ejemplo de Control Digital: Barra y Bola

Ejemplo de Control Digital: problema Barra y Bola con Control PID Controlador PID Digital Función de transferencia Discreta Respuesta a lazo abierto Control Proporcional Control Proporcional-Derivativo En esta versión de control digital del experimento de barra y bola, usaremos el método de control PID para diseñar el controlador digital. Si recuerda en Barra y Bola : Modelación, la función de transferencia a lazo abierto se derivó como

m g d L R

masa de la bola aceleración gravitacional offset brazo de palanca largo de la barra radio de la bola

0.11 kg 9.8 m/s^2 0.03 m 1.0 m 0.015 m

J momento de inercia de la bola 9.99e-6 kgm^2 R(s) coordenadas de posición de la bola (m) theta(s) servo ángulo del engranaje 0.25 rad Los criterios de diseño para este problema son: Tiempo de establecimiento menor que 3 segundos Sobrepico menor que 5%

Controlador PID Digital http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/digBBPID.html

1/6

21/5/2014

CTM: Ejemplo de Control Digital: Barra y Bola

Si se refiere a a cualquier problema de control PID para sistemas continuos, la función de transferencia PID se expresó como

Como habrá notado la función de transferencia anterior se escribió en términos de s. Para el control PID digital,usamos la siguiente función de transferencia en términos de z.

Función de transferencia Discreta Lo primero a hacer es convertir la función de transferencia del sistema continuo de arriba a función de transferencia discreta. Para hacerlo, usaremos la función del Matlab denominada c2dm. Para usar c2dm, necesitamos especificar cuatro argumentos: matrices numerador y denominador, tiempo de muestreo (Ts), y el 'method'. Ya debería estar al tanto de cómo ingresar las matrices numerador y denominador. el tiempo de muestreo debería ser menor que 1/(30*BW) seg., donde BW es el ancho de banda a lazo cerrado . El método que usaremos es el mantenedor de orden cero ('zoh'). Asumiendo que el ancho de banda a lazo cerrado es alrededor de 1 rad/seg., sea el tiempo de muestreo de 1/50 seg/muestra. Ya estamos listos para usar c2dm. Ingrese los siguientes comandos a un archivo-m. m = 0.111; R = 0.015; g = -9.8; L = 1.0; d = 0.03; J = 9.99e-6; K = (m*g*d)/(L*(J/R^2+m));

%entrada simplifica

num = [-K]; den = [1 0 0]; Ts = 1/50; [numDz,denDz]= c2dm (num,den,Ts,'zoh')

Corriendo este archivo-m, la ventana de comandos del Matlab le da las siguientes matrices. numDz = 1.0e-0.4 * 0

0.4200

0.4200

denDz = 1

-2

1

http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/digBBPID.html

2/6

21/5/2014

CTM: Ejemplo de Control Digital: Barra y Bola

De estas matrices, la función de transferencia discreta puede escribirse como

Respuesta a lazo abierto Ahora veremos la respuesta de la bola a una entrada escalón de 0.25 m. Para hacerlo, ingrese los siguientes comandos a un archivo-m nuevo y ejecútelo en la ventana de comandos. Debería verse la siguiente respuesta. numDz = 0.0001*[0.42 0.42]; denDz = [1 -2 1]; [x] = dstep (0.25*numDz,denDz,251); t=0:0.02:5; stairs(t,x)

De esta figura, es claro que el sistema a lazo abierto es inestable causando que la bola ruede afuera de la barra.

Control Proporcional Ahora agregaremos el control proporcional (Kp) al sistema y obtendremos la respuesta del sistema a lazo cerrado. Por ahora haga Kp igual a 100 y vea qué sucede con la respuesta. Ingrese los siguientes comandos en un archivo-m nuevo y ejecútelo en la ventana de comandos. numDz = 0.0001*[0.42 0.42]; denDz = [1 -2 1]; Kp=100; [numDzC,denDzC]=cloop (Kp*numDz,denDz); http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/digBBPID.html

3/6

21/5/2014

CTM: Ejemplo de Control Digital: Barra y Bola

[x] = dstep (0.25*numDzC,denDzC,251); t=0:0.02:5; stairs(t,x)

Como puede ver, la adición del control proporcional no estabiliza el sistema. Podría tratar de incrementar la ganancia proporcional (Kp) y confirmar que el sistema permanece inestable.

Control Proporcional-Derivativo Ahora agregaremos un término derivativo al controlador. Mantenga la ganancia proporcional (Kp) igual a 100, y haga la ganancia derivativa (Kd) igual a 10. Copie el siguiente código a un nuevo archivo-m y ejecútelo para ver la respuesta del sistema. numDz = 0.0001*[0.42 0.42]; denDz = [1 -2 1]; Kp=100; Kd=10; numpd = [Kp+Kd -(Kp+2*Kd) Kd]; denpd = [1 1 0]; numDnew = conv(numDz,numpd); denDnew = conv(denDz,denpd); [numDnewC,denDnewC] = cloop(numDnew,denDnew); [x] = dstep (0.25*numDnewC,denDnewC,251); t=0:0.02:5; stairs(t,x)

http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/digBBPID.html

4/6

21/5/2014

CTM: Ejemplo de Control Digital: Barra y Bola

Ahora el sistema es estable, pero el tiempo de elevación es muy largo. Del Tutorial PID, vemos que el incremento de la ganancia proporcional (Kp) decrementará el tiempo de elevación. Incrementemos la ganancia proporcional (Kp) a 1000 y veamos qué sucede. Modifique Kpen el archivo-m de arriba de 100 a 1000 y ejecútelo nuevamente en la ventana de comandos. Debería verse la siguiente respuesta al escalón .

como puede ver, todos los requerimientos de diseño se satisfacen. Para este problema particular, no se necesitó ninguna implementación de control integral. Pero recuerde que hay más que una solución para un problema de control. Para practicar, puede probar diferentes combinaciones de P, I y D para obtener una respuesta satisfactoria.

User Feedback We would like to hear about suggestions you have for improvement,difficulties you had with the tutorials, errors that you found, or any other comments that you have. This feedback is anonymous. http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/digBBPID.html

5/6

21/5/2014

CTM: Ejemplo de Control Digital: Barra y Bola

Submit Feedback

Reset

Control Digital : Ejemplos Control de Marcha: RL | Velocidad del Motor:PID | Posición de un Motor:RL | Suspensión de un Colectivo: SS | Péndulo Invertido:SS | Control de Inclinación: SS | Barra y Bola:PID

Ejemplos: Barra y Bola Modelación | PID | Lugar de Raíces | Respuesta en Frecuencia | Espacio de Estado | Control Digital

Tutoriales Matlab Básico | Modelación | PID | Lugar de Raíces | Respuesta en Frecuencia | Espacio de Estado | Control Digital | Ejemplos

8/25/97 DK

http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/digBBPID.html

6/6