Inicio Software Diseño y prototipado rápido de controladores proporcionales integrales derivativos (PID)

Diseño y prototipado rápido de controladores proporcionales integrales derivativos (PID)

Los controladores proporcionales integrales derivativos (PID) son omnipresentes. Diseñarlos y ajustarlos puede parecer sencillo en teoría, pero en la práctica puede ser complicado y lento. Un método habitual de ajustar los controladores PID consiste en afinar las ganancias del controlador mientras éste dirige la planta. Este lento método precisa de acceso al hardware de la planta y puede provocar daños en ella si los valores de ganancia escogidos resultan en un comportamiento inestable de la planta. En este artículo mostramos cómo se puede mejorar un proceso de desarrollo utilizando el diseño basado en modelos para diseñar, probar e implementar sistemáticamente los controladores PID en controladores lógicos programables (PLC), controladores de automatización programables (PAC) y microprocesadores. 

En el diseño basado en modelos, utilizamos un entorno de diagrama de bloques para crear modelos de sistemas de bucle cerrado de la planta y el controlador. Estos modelos pueden simularse, lo que nos permite iterar y refinar el diseño del controlador rápidamente antes de implementarlo y distribuirlo. La necesidad de acceder al hardware de la planta se ve reducida, ya que podemos hacer gran cantidad de pruebas mediante simulaciones sin recurrir a la planta. La verificación temprana mediante la simulación asegura que el controlador funciona como se espera al instalarlo en la planta real.

Introducción

 

El diseño basado en modelos de controladores PID implica los cuatro pasos siguientes:

• Creación del modelo de la planta

• Diseño del controlador PID

• Comprobación del controlador en tiempo real 

• Implementación del diseño

Sirviéndonos de un sistema de control de movimiento digital a modo de ejemplo, describimos cómo aplicar el diseño basado en modelos para diseñar y prototipar rápidamente un controlador PID.

 

Sistema de control de movimiento digital

 

En la figura 1 aparece la planta, o sistema físico, que intentamos controlar. Tal planta consiste en un amplificador de potencia que alimenta un motor CC y dos codificadores ópticos giratorios para medir la posición del eje del motor y la carga. El motor está conectado a la carga mediante un pequeño eje flexible con objeto de asemejar la deformación que se encuentra entre el actuador y la carga en muchos sistemas de control de movimiento. El sistema de control garantiza que la carga siga la trayectoria especificada midiendo el error entre el ángulo ordenado para la carga y el ángulo medido. Después utiliza un controlador PID para calcular y enviar una petición de voltaje al motor. Nuestro diseño pretende mejorar el rendimiento de la máquina para pasar de los actuales máximos de velocidad de 150 rad/s y aceleración de 2000 rad/s2 a nuevos objetivos de velocidad y aceleración de 250 rad/s y 5000 rad/s2, respectivamente. Queremos alcanzar estas ganancias de rendimiento sin perder precisión en la posición. En concreto, queremos que el error entre el ángulo de la carga ordenado y el medido sea inferior a un grado. El diseño del controlador actual no cumple las nuevas especificaciones de rendimiento, tal y como muestra la figura 2. En lugar de ajustar manualmente las ganancias del PID en el hardware de la planta real, podemos utilizar el diseño basado en modelos para desarrollar, probar e implementar el controlador.

 

Creación del modelo de la planta

 

Existen dos enfoques básicos para crear un modelo de planta: el modelado basado en datos y el modelado basado en primeros principios. 

Con el modelado basado en datos creamos un modelo de planta que encaja con los datos de entrada/salida de las pruebas. Queremos hacer funcionar el controlador durante la recopilación de datos para garantizar que la planta opera con mínimas perturbaciones. Para recopilar los datos de entrada/salida, agregamos como señal de entrada una señal de ruido blanco aleatoria al voltaje con que se alimenta el motor CC. Nuestra señal de salida es el voltaje total que el controlador envía al motor CC. Tras recopilar estos datos de entrada/salida, podemos calcular la respuesta de frecuencia del sistema de bucle cerrado. Y, puesto que conocemos las ganancias exactas del diseño de nuestro controlador actual (el que queremos mejorar), podemos obtener la respuesta de frecuencia de la planta. 

Por último, para ser capaces de simular nuestro controlador en el dominio del tiempo, utilizamos la respuesta en frecuencia de la planta para hacer una estimación de la función de transferencia de la planta por medio de técnicas de identificación de sistemas. Con el modelado basado en primeros principios creamos las ecuaciones dinámicas subyacentes de la planta por medio de modelado de diagramas de bloques estándar conectando entre sí los bloques de ganancias, sumas e integradores. 

Al modelar sistemas mecánicos y eléctricos, a menudo es más práctico crear un modelo de la planta tomando los componentes «físicos», tales como inercia, rigidez, amortiguamiento, resistencia e inductancia, y conectándolos entre sí, del mismo modo que dibujaríamos un diagrama mecánico o un circuito eléctrico del sistema. Esta variación de la técnica de modelado basado en primeros principios, denominada modelado físico, nos permite crear modelos de la planta sin derivar las ecuaciones subyacentes de la dinámica de la planta.

Con frecuencia resulta ventajoso combinar estos dos enfoques de modelado diferentes (el basado en datos y el basado en primeros principios). Para ello, utilizamos los datos de mediciones de entrada/salida procedentes del sistema real para ajustar los parámetros del modelo físico (figura 3).

 Los parámetros (inercias del motor y la carga, rigidez y amortiguamiento) se ajustan por medio de técnicas de optimización numérica. Reproducimos la entrada medida a través del modelo y comparamos la salida del modelo con la salida medida en el sistema real. Ajustamos los parámetros del modelo iterativamente hasta que logramos que la salida del modelo calibrado y la salida medida sean lo más parecidas posible. 

Este ajuste iterativo se automatiza completamente mediante técnicas de optimización.

 

Diseño del controlador PID

 

El diseño y el ajuste del PID resulta fácil una vez disponible el modelo de la planta. Agregamos el bloque del controlador PID al modelo de diagramas de bloques de nuestra planta para crear un modelo de sistema de bucle cerrado. El bloque del controlador PID se parametriza con ganancias proporcionales, integrales y derivativas que deben actualizarse con objeto de alcanzar el rendimiento deseado para el sistema. En lugar de ajustar estas ganancias de manera manual, utilizamos un método de ajuste automático del PID, ilustrado en la figura 4, que calcula automáticamente las ganancias del PID correspondientes al modelo de nuestra planta. Para acelerar nuestro controlador, utilizamos una barra de deslizamiento interactiva para obtener un tiempo de respuesta más rápido.

Cuando intentamos incrementar la velocidad del controlador, nos percatamos de que el sistema se vuelve inestable. Un análisis más profundo del sistema en el dominio de la frecuencia revela un pico de resonancia, responsable de la inestabilidad del comportamiento.

Tal inestabilidad es un problema bien conocido en los sistemas de control de movimiento y puede solventarse fácilmente empleando un filtro notch para anular la resonancia. Podemos agregar el filtro notch utilizando la herramienta de diseño de control interactiva, que nos permite colocar interactivamente un filtro notch encima del pico de resonancia. Esto nos permite estabilizar el sistema y aumentar la velocidad del controlador, tal y como muestra la figura 5. Ahora probamos nuestro diseño (controlador PID devuelto y un filtro notch) ejecutando la simulación no lineal de nuestro sistema de bucle cerrado en nuestro ordenador. Este modelo no lineal incluye efectos de saturación en el motor. Al ejecutar la simulación con la velocidad de referencia correspondiente al nuevo rendimiento del sistema deseado se confirma que el nuevo diseño cumple las especificaciones, tal y como muestra la figura 6. 

Gracias a la simulación podemos ver el problema del sistema de control: en este caso, aumentar las ganancias del PID no fue suficiente para cumplir las especificaciones de rendimiento. 

Necesitamos un filtro notch para anular el pico de resonancia. El ajuste automático del PID nos permite encontrar rápidamente las ganancias que estabilizan el controlador y afinar el diseño para cumplir con los objetivos de rendimiento deseados. Si hubiésemos intentado ajustar nuestro controlador PID en la máquina real,  habríamos provocado un régimen de funcionamiento inestable que podría haber dañado la máquina.

 

Comprobación del controlador en tiempo real

 

Una vez que se ha validado el diseño del controlador mediante la simulación por ordenador, el siguiente paso consiste en probar el controlador en tiempo real. 

En primer lugar, tenemos que establecer una plataforma de comprobación en tiempo real, lo que incluye un ordenador de ejecución en tiempo real con placas de E/S, tal y como muestra la figura 7. Estas placas de E/S normalmente se conectan a los sensores y actuadores reales de la máquina (o del prototipo de la máquina). Ahora reutilizamos nuestro modelo de controlador y generamos código C automáticamente para el controlador PID y el filtro notch; a continuación, descargamos este código C en el ordenador de ejecución en tiempo real. Ya tenemos el código de nuestro controlador ejecutándose en tiempo real en el ordenador y controlando directamente el funcionamiento de la planta mediante las entradas y salidas procedentes de los sensores y actuadores. La comprobación en tiempo real nos permite confirmar que todo el sistema funciona correctamente bajo condiciones reales con entradas y salidas reales antes de ejecutar la implementación del controlador en elementos de hardware de producción tales como controladores PLC o PAC. 

A veces esto se conoce como «prototipado rápido de control». También somos capaces de comprobar que el rendimiento del controlador en tiempo real coincide con lo que hemos observado en la simulación por ordenador. Si descubrimos alguna discrepancia,  nos encontramos en una etapa del proceso de desarrollo lo bastante temprana como para diagnosticar y corregir rápida y fácilmente el problema en el modelo de simulación y después comprobar que el controlador funcione correctamente en tiempo real.

 

Implementación del diseño

 

El último paso consiste en desplegar nuestro controlador en un controlador PLC o PAC o un procesador de destino. Esto lo hacemos generando automáticamente texto estructurado IEC 61131 desde el modelo de nuestro controlador. Este texto estructurado se genera en PLCopen XML y otros formatos de archivo admitidos por entornos de desarrollo integrados (IDE) muy utilizados. Como resultado,  podemos compilar y desplegar nuestro controlador en numerosos dispositivos PLC y PAC. Si el destino final es un microcontrolador, en lugar de ello podemos generar código C automáticamente.

 

Conclusiones

 

Este artículo muestra cómo desarrollar un controlador para un sistema de control de movimiento digital. El modelado de la planta, la simulación del bucle cerrado y el ajuste automático del PID nos permite afinar y probar nuestro controlador PID en una simulación por ordenador. Nuestro modelo de simulación nos hace capaces de identificar una resonancia en el sistema y desarrollar y probar un filtro notch para solucionar este problema. 

La comprobación en tiempo real confirma que el diseño de nuestro control coincide con los resultados de la simulación por ordenador y cumple las especificaciones de diseño. La implementación mediante la generación automática de código significa que podemos implementar rápidamente nuestro diseño en un controlador  PLC o un microprocesador. 

Por último, el uso del diseño basado en modelos nos permite desarrollar, probar y prototipar rápidamente nuestro diseño sin dañar el hardware de la planta ni perturbar su funcionamiento.


Etiquetas
controladores pid