Control Software

La elección de implementar por software el control de una planta sencilla es una opción facilmente modificable, es flexible, y de rápido desarrollo y modificación. A su vez se permite la variación del tipo de control a realizar, se pueden implementar diferentes controles dependiendo del objetivo.

Control modelo desarrollado

Para el control del modelo desarrollado, se van a emplear en pricnipio 4 tareas, 3 de ellas de tiempo real, y una tarea adicional empleada para procesar los datos que se generan por las tareas de tiempo real, de forma que no se produzcan penalizaciones temporales debidas al manejo o almacenamiento de datos adquiridos por la tarea que muestrea las variables que obtenemos del modelo.
El mecanismo de comunicación seleccionado es el empleo de fifos de tiempo real proporcionadas por RTAI, de forma que obtenemos primitivas de acceso y sincronización de procesos que las usan. En nuestro caso se han realizado medidas de tiempo de escrituras en fifos y por ejemplo 5 escrituras llevan un tiempo de unos 6 microsegundos.
Las tareas de tiempo real se descomponen en :
Las primeras emplean PWM, de forma que con 2 señales digitales y el uso de transistores podemos controlar ambos elementos. La tarea de control, es la encargada de implemetar el regulador, y además se encarga de la adquisición de los datos de temperatura proporcionados por los sensores.
La frecuencia de lectura de los datos viene determinada en el límite por la velocidad de los conversores que posee nuestra tarjeta de adquisición (PCL812pg), en este caso es de 30khz, por lo que cada lectura nos llevará unos 20 microsegundos, simpre algo más. Es posible hacer lectura por DMA de un canal, esto viene limitado por el driver y la tarjeta. El Funcionamiento de esta tarea es el siguiente:
Se genera una consigna empleando los datos de entrada, ya que estos incluyen funciones de entrada por tramos hasta orden 2, es decir permiten en principio escalones, rampas y curas cuadráticas en tramos temporales.
Se realizan las adquisiciones de los datos proporcionados por los sensores.
Se calcula la acción en base a los datos obtenidos y en base al controlador seleccionado por el usuario. Se han previsto PID, PI,PD, fuzzy.
Se escribe la acción de forma que se escribe un valor en la salida analógica que llega a la etapa de potencia.Este valor varia entre 0 y 10 V
El período de muestreo es introducido por el usuario al igual que los tramos de la señal de consigna, y los valores de tiempo derivativo, tiempo integral y ganancia para obtener el controlador.
Se ha de tener en cuenta los valores de acción para los cuales se satura la etapa de potencia y limitar la acción a un rango válido.
El tiempo del bucle de control puede variar dependiendo de la planta , en nuestro caso debido a la dinámica de la célula podros llegar a un periodo de 1 segundo . Aunque esto debe ser modificable dentro de unos márgenes.
Pseudocódigo de tarea de control:
mientras(no_fin){
Generar consigna
Adquirir realimentación
Cálculo de acción
Escritura acción
Escritura en fifos de datos adquiridos.
Esperar próximo período
}
Pseudocódigo de tareas PWM:
Mientras (no_fin){
Escribir (1)
Dormir(P1)
Escribir (0)
Esperar próximo período P2
}
Esquema:

Esquema HRT-HOOD control tareas.... En construcción..


Discretización de Reguladores contínuos:
A la hora de diseñar F(z) se han de considerar a parte de los parámetros por ejemplo para un PID, K,Ti,Td, es necesario también el parámetro T. Se emplean técnicas para el cálculo de una F(z)(discreto) con las mismas especificaciones que F(s)(contínuo). F(Z) se puede calcular bien mediante técnicas discretas o bien diseñando primero F(s) (continuo) y discretizarla a posteriori.
Aproximación de respuesta:
Sustitución de operadores:
Sustitución de operadores derivada e integral por operadores discretos obtenidos por métodos numéricos.
Operador Derivada s -> (1-z¯¹;)/T;
Realizando una transformación compleja del plano s al plano z . z=1/(1-sT) z=1/(1+deltaT)-jwT
Operador Integral:
Aproximación por sumas sucesivas. 1/s= T/1-z¯¹ ó 1/s=Tz¯¹/1-z¯¹ según tomemos los rectángulos definidos para las sumas.
En ambos casos tenemos varios problemas, en el primero es necesario conocimiento del futuro, y en el segundo se puede llegar a un regulador inestable. Aproximación trapezoidal .Tustin.
Suma del área de trapecios, rectángulos + triángulos:
1/s=(T*(1+z¯¹))/2*(1-z¯¹)