• No results found

Future Work

El primer paso en el diseño de un sistema de control digital es generar un modelo de datos muestreados de la planta. Por lo tanto, es necesario elegir

81

una frecuencia con la que se muestrea la planta de tiempo continuo. Al elegir un período de muestreo, se desea que la frecuencia de muestreo sea rápida en comparación con la dinámica del sistema para que la salida muestreada del sistema capture el comportamiento completo del sistema, es decir, de modo que no se produzca un comportamiento significativo entre muestras.

Vamos a crear un modelo de tiempo continuo de la planta. Cree un nuevo archivo m y agregue el siguiente código MATLAB. Ejecutar el archivo m dentro de la ventana de comandos de MATLAB generará el resultado que se muestra a continuación.

El uso del comando zpk anterior transforma la función de transferencia en una forma donde los ceros, los polos y la ganancia se pueden ver explícitamente. Al examinar los polos de la planta (o su respuesta de frecuencia), está claro que el polo en -1.45e06 contribuye muy poco a la respuesta de la planta. La frecuencia de cruce de ganancia de la planta es de aproximadamente 5 Hz. Por lo tanto, elegir un período de muestreo de 0.001 segundos (frecuencia de 1000 Hz) es significativamente más rápido que la dinámica de la planta. Este período de muestreo también es rápido en comparación con la velocidad que se

82

logrará con el sistema de bucle cerrado resultante. Un tiempo de muestreo de 0.001 segundos es específicamente 1/100 de la constante de tiempo requerida y 1/40 del tiempo de establecimiento requerido.

En este caso, convertiremos la función de transferencia dada del dominio Laplace continuo al dominio z discreto. MATLAB se puede usar para lograr esta conversión mediante el uso del comando c2d. El comando c2d requiere tres argumentos: un modelo de sistema, el tiempo de muestreo (Ts) y el tipo de circuito de retención. En este ejemplo, asumiremos un circuito de espera de orden cero (zoh). Agregar los siguientes comandos a su archivo m y ejecútelos en la ventana de comandos de MATLAB genera el modelo de datos muestreados que se muestra a continuación:

De lo anterior, observe que hay un polo y cero muy cerca de z = 0 que se cancela efectivamente. Esta cancelación en la función de transferencia se puede lograr aplicando el comando minreal con una tolerancia de 0.001. La cancelación de este polo y cero reducirá el orden de nuestra función de transferencia y ayudará a evitar dificultades numéricas en MATLAB. Aplicando el comando minreal, por lo tanto, produce la siguiente función de transferencia de orden reducida. Tenga en cuenta la ausencia del polo y cero cerca de z = 0.

83

Ahora nos gustaría analizar la respuesta de bucle cerrado del sistema sin ninguna compensación adicional. Primero, tenemos que cerrar el ciclo de la función de transferencia usando el comando de feedback. Después de cerrar el ciclo, inspeccionemos la respuesta de paso de bucle cerrado con la retención de orden cero. Esto se puede lograr usando los comandos de step y stairs. Como el comando de paso se alimenta con un modelo discreto, generará un vector de muestras discretas en el tiempo de muestreo Ts asociado con el modelo. La sintaxis a continuación especifica simular la respuesta al paso durante 0.5 segundos. El comando stairs dibuja estos puntos de datos discretos como un paso de escalera, al igual que lo que sería producido por un circuito de espera de orden cero. Agregue el siguiente código al final de su archivo m anterior y vuelva a ejecutarlo. Debe generar un diagrama como el que se muestra a continuación.

84 3.7.2. Diseño de locus de raíz

Ahora emplearemos una metodología de diseño de locus raíz para generar un controlador digital para nuestro sistema. La idea principal de un enfoque de locus de raíz para el diseño es modificar la respuesta de ciclo cerrado colocando los polos de circuito cerrado del sistema en las ubicaciones deseadas. Agregar polos y ceros a la función de transferencia de bucle abierto original a través del controlador nos permite remodelar el lugar de la raíz para colocar los polos de lazo cerrado en las ubicaciones deseadas. Este enfoque también se puede usar para modelos de tiempo discreto. Utilizaremos la interfaz gráfica de usuario (GUI) de Control System Designer para diseñar nuestro controlador. Agregando el comando controlSystemDesigner ('rlocus', dP_motor) a su archivo m y ejecutándose en la línea de comando o yendo a las aplicaciones la pestaña y haciendo clic en el icono de la aplicación en Control System Design and Analysis abrirá el Diseñador de sistemas de control. P os iti on ( ra di an s)

85

Se abrirá una ventana inicialmente llamada Control System Designer con el formulario que se muestra en la figura a continuación. Esta ventana muestra el locus raíz, así como la respuesta al paso de la función de transferencia d_Pmotor pasada a través de la función control SystemDesigner. El locus raíz aparece inicialmente debido a la adición de la cadena 'rlocus' a la llamada a la función. Si se omite la cadena 'rlocus', la ventana inicial predeterminada incluye el diagrama de Bode de bucle abierto además del gráfico del locus raíz y la respuesta al paso.

Recuerde de nuestros diseños anteriores de controlador que hemos agregado un integrador a nuestro compensador para rechazar el efecto de una perturbación constante en estado estacionario. Podemos agregar control integral

a través de la interfaz de Control System Designer en

86

derecho en el gráfico del lugar raíz y luego seleccionando Edit Compensator. Específicamente, se agrega un integrador a nuestro controlador haciendo clic con el botón derecho en la sección de Dinámica de la ventana y seleccionando Añadir Polo / Zero> Integrador en el menú resultante. La figura siguiente ilustra cómo debería ser la ventana del editor de Compensator.

El control integral en el dominio de tiempo continuo es 1/s. El Diseñador de sistemas de control utiliza una aproximación de diferencia directa para el mapeo desde el plano s al plano z, como se describe por s = ( z -1)/Ts, donde Ts es el tiempo de muestreo que se emplea. Por lo tanto, la adición del integrador agregará un polo adicional en 1 en el gráfico del locus raíz. Vea a continuación el trazado del locus de raíz resultante donde el rojo x denota la ubicación del polo compensador en z = 1.

87

El formato predeterminado para los compensadores en el Diseñador del sistema de control es la forma de Constante de tiempo. Para el resto de este problema, diseñaremos el compensador en forma Cero / polo / ganancia. Este cambio se puede realizar seleccionando Preferencias de la pestaña SISTEMA DE CONTROL de la ventana del Diseñador de Sistema de Control. La parametrización del compensador puede modificarse en la pestaña Opciones.

Por defecto, el diagrama del locus raíz incluye el círculo unitario que se muestra en la figura anterior por la línea punteada. Recuerde que, para un sistema de tiempo discreto, los polos de lazo cerrado ubicados dentro del círculo unitario indican un sistema estable de circuito cerrado. De lo anterior, podemos ver que después de agregar el polo extra en 1, el locus raíz tenía tres polos cerca de 1. Esto ocasionó que el locus raíz se moviera hacia la derecha (fuera del círculo unitario) lo que indica que la respuesta de ciclo cerrado ser más inestable.

88

Por lo tanto, agregaremos un cero cerca de 1, dentro del círculo unitario, para cancelar uno de los polos y colocar el locus raíz. Específicamente agregaremos un cero en z = 0.95. En general, debemos agregar al menos tantos polos como ceros para que el controlador sea causal. Este cero se puede agregar a nuestro compensador de la misma manera que el integrador se agregó anteriormente. La única diferencia es que elegirá Real Zero en el menú contextual y luego deberá especificar en la celda de Ubicación que el cero se colocará en 0.95. El gráfico del locus raíz debería aparecer ahora como se muestra a continuación.

La adición del integrador ha ayudado con el requerimiento de rechazos de perturbaciones, sin embargo, el locus raíz anterior indica que el sistema de bucle cerrado no puede ser robusto estable mediante un ajuste adicional de la ganancia del bucle. Tampoco hemos abordado nuestros otros requisitos de

89

diseño. Para ayudarnos a este respecto, identifiquemos la región del plano complejo donde deben ubicarse los polos de lazo cerrado.

Estas regiones se pueden agregar a nuestro lugar raíz seleccionando Requisitos de diseño en el menú contextual. A continuación, elija nuevo y establezca que el sobreimpulso sea inferior al 16%. Este proceso puede repetirse para agregar el requisito de tiempo de establecimiento de menos de 0.04 segundos. La figura resultante se muestra a continuación donde la región no sombreada identifica dónde deben ubicarse los polos de bucle cerrado para cumplir con nuestros requisitos transitorios dados. Estas regiones suponen un sistema de segundo orden canónico, que no tenemos actualmente, pero las regiones aún pueden ayudar a guiar nuestro diseño.

90

De la figura anterior, podemos ver que las dos ramas dominantes de nuestro locus de raíz no pasan a través de la región requerida. Por lo tanto, necesitamos agregar polos y/o ceros a nuestro compensador para doblar el lugar de la raíz en la región deseada. Primero intentemos cancelar el cero a aproximadamente -0.98 agregando un polo cercano. Esto se puede hacer de la misma manera descrita anteriormente para el integrador y el cero real. Es deseable cancelar este cero ya que agregará sobreimpulso a la respuesta de paso. La adición de este poste dará como resultado que dos de las ramas del lugar de la raíz se desvíen a la derecha y fuera del círculo unitario.

Intentaremos tirar de estas ramas colocando dos ceros adicionales cerca de las ubicaciones de polo de bucle cerrado deseadas. Estos ceros se pueden agregar a través de la ventana Compensator Editor como se hizo arriba. En este caso, sin embargo, colocaremos los ceros usando un enfoque de ajuste gráfico. Específicamente, seleccione un único o de la pestaña ROOT LOCUS EDITOR en la parte superior de la ventana de Control System Designer. Luego haga clic en el "puntero" resultante en el eje real para colocar el cero. Repita este proceso para agregar un segundo cero. El efecto de mover estos dos ceros a continuación se puede ver moviendo el puntero sobre el correspondiente o en el lugar de la raíz y haciendo clic en él. Mientras mantiene presionado el botón del mouse, puede mover el cero a lo largo del eje real para visualizar el efecto de diferentes ubicaciones. A través de prueba y error, llegamos a una ubicación de 0.8 para los dos ceros. Para hacer que el controlador sea causal, necesitamos agregar un polo adicional. Usando nuevamente un enfoque gráfico, podemos agregar un polo real eligiendo una x de la pestaña ROOT LOCUS EDITOR en la parte superior de la ventana de Control System Designer. A través de prueba y error llegamos a una ubicación polar de 0.6. El locus raíz resultante se muestra a continuación.

91

A continuación, debemos elegir una ganancia de bucle para mover las ubicaciones de los polos de bucle cerrado a lo largo del lugar de la raíz hasta la ubicación deseada. Dado que nuestro sistema de circuito cerrado no es de segundo orden canónico, tendremos que emplear algunos intentos de prueba y error para identificar las ubicaciones exactas de los polos. Con el fin de ayudarnos en este sentido, podemos abrir un gráfico para la respuesta de paso de bucle cerrado para que podamos observar el efecto de los cambios de ganancia en la respuesta de paso real, sin tener que depender de una idealización de segundo orden.

Podemos verificar la respuesta de paso de bucle cerrado para el sistema con esta nueva ganancia moviéndonos a IOTransfer_r2y: pestaña de paso. Si accidentalmente se ha cerrado a continuación, puede todavía it. From abierto el diseñador de sistemas de control de la ventana, haga clic en la nueva parcela menú y bajo Crear nuevo Terreno, elija nuevo paso, una nueva

92

ventana titulada nuevo paso para trazar aparecerá. Luego, desde el menú Seleccionar respuestas al gráfico, elige IOTransfer_r2y. Luego haz clic en Trazar. La respuesta al paso de ciclo cerrado aparecerá en la figura.

El gráfico de respuesta de paso resultante con ganancia de bucle de 1 parece cumplir el requisito de tiempo de establecimiento, pero no el requisito de sobreimpulso. Para estar seguros, podemos definir la forma de respuesta de paso permitida eligiendo Requisitos de diseño en el menú de clic derecho del gráfico de respuesta al paso y eligiendo el sobreimpulso como 16% y el tiempo de establecimiento como 0.040 segundos. Tenga en cuenta que deberá elegir un tiempo de subida inferior a 0,040 segundos, aunque no tengamos ese requisito.

93

Ahora modificaremos la ganancia de bucle para cumplir con el requisito de sobreimpulso. Utilizando un enfoque de sintonización gráfica, tome una de las casillas rosas en el gráfico del lugar de la raíz haciendo clic en ella, luego arrastre la casilla a lo largo del lugar geométrico. Cada cuadro representa la ubicación de un poste de bucle cerrado y al arrastrar la caja a lo largo del lugar cambia la ganancia del bucle al valor que coloca ese polo de bucle cerrado en esa ubicación especificada. A través de prueba y error, una ganancia de bucle de 800 reduce el sobreimpulso de la respuesta de paso asociada a aproximadamente el 10% mientras alcanza un tiempo de establecimiento de aproximadamente 0,02 segundos. Además, el error de estado estable se pone a cero cuando no hay perturbación presente. El gráfico de respuesta al paso resultante se muestra a continuación.

Lo único que queda por verificar son las propiedades de rechazo de perturbaciones del sistema. Se puede generar un gráfico de la respuesta del sistema a una perturbación escalonada desde la ventana del Diseñador del sistema de control. En cambio, generaremos el diagrama de respuesta a perturbaciones desde la línea de comando de MATLAB. Sin embargo, antes de

94

hacerlo, primero debemos exportar el compensador que hemos diseñado en el Diseñador de sistemas de control al espacio de trabajo. Esto se logra haciendo clic en el botón Exportar de la pestaña CONTROL SYSTEM de la ventana del Diseñador de Control System. A continuación, seleccione el Compensador C y haga clic en el botón Exportar. Una vez que haya hecho esto, ingrese las siguientes instrucciones en la ventana de comandos para generar el diagrama de respuesta que se muestra a continuación.

El examen de lo anterior muestra que, para una perturbación escalonada, el error de estado estacionario seguirá siendo cero. Empleando la propiedad de superposición, también es evidente que la respuesta total se habrá

95

excedido en más del 16% y alcanzará el estado estacionario dentro del requisito de 40 milisegundos.

3.8. Modelado en Simulink

Related documents