Diseño, implementación y validación de una biblioteca de algoritmos de control para sistemas embebidos

Título

Diseño, implementación y validación de una biblioteca de algoritmos de control para sistemas embebidos

Colaborador

Lutemberg, Ariel

Editor

Universidad de Buenos Aires. Facultad de Ingeniería

Fecha

2013

Extensión

xviii, 129 p.

Resumen

El objetivo principal de este trabajo es diseñar, implementar y validar una biblioteca de algoritmos de control para ser utilizada en un Real Time Control System - Sistema de Control de Tiempo Real (RTCS).
Los sistemas dinámicos modernos están compuestos por diversos procesos que necesitan ser controlador para cumplir con los requerimientos de la aplicación. Para cumplir con dichos requerimientos, es habitual que se utilicen sistemas embebidos que deben ejecutar diferentes algoritmos de control de manera concurrente y a la vez deben ejecutar otras tareas como atender protocolos de comunicación, administrar interfaces gráficas de usuario, etc. La biblioteca desarrollada en esta tesis atiende en forma autónoma las tareas asociadas a los
algoritmos de control, de modo que el programador pueda concentrar sus esfuerzos en las otras tareas de diseño del sistema embebido.
La misma administra de manera eficiente los diferentes controladores
instanciados. Los resultados presentados, demuestran que la biblioteca puede ser efectivamente portada a un microcontrolador económico como el LPC1769 Cortex-M3 y desarrollar en el mismo un excelente desempeño general.
Además del objetivo principal, se plantean los siguientes objetivos secundarios:

1. Conseguir que esta biblioteca de algoritmos de control para sistemas embebidos, sea independiente del microcontrolador y del Real Time Operating System - Sistema Operativo de Tiempo Real (RTOS) que se utilicen en aplicaciones de la misma. Se pretende implementar una solución libre, gratuita y con una estructura tal que le permita ser flexible y escalable.

2. Lograr que la biblioteca pueda instanciar un número genérico de algoritmos de control (limitado en función de los recursos del hardware utilizado) y que los
mismos se ejecuten de manera concurrente cumpliendo con restricciones temporales duras.
Esta característica es particularmente útil en los sistemas dinámicos modernos que están compuestos de muchos procesos a controlar.

3. Incluir en el sistema RTCS, por lo menos un esquema de scheduling con su respectivo test de schedulability. Esto último tiene como finalidad poder garantizar que los algoritmos de control instanciados cumplan con las restricciones temporales impuestas.

4. Incluir en el sistema RTCS los algoritmos de control Proportional Integrative Derivative - Proporcional Integrativo Derivativo (PID) y Dynamic Matrix Control - Control por Matriz Dinámica (DMC).
La implementación de la biblioteca y de los algoritmos de control se realiza en el lenguaje de programación estándar C y la validación de los mismos se realiza mediante la técnica Hardware In the Loop (HIL) a partir de comprar los resultados que se obtienen al ejecutar los algoritmos en la libRTCS y en el Matlab.
Se pretende disponer de un esquema con varios controladores PID (cada uno ejecutándose a una frecuencia diferente) y varios controladores DMC que puedan manejar las referencias de los primeros con el objetivo de optimizar el desempeño de un sistema dinámico en algún sentido.

5. Adaptar los algoritmos de control para que puedan ser ejecutados en microcontroladores de bajos recursos, que no poseen Float Unit Point - Unidad de Punto Flotante (FPU).

Por último, cabe destacar, que la innovación en este trabajo está dada por:

- Aportar una biblioteca de algoritmos de control para sistemas embebidos que es independiente del microcontrolador y del RTOS utilizados en cada aplicación, que puede ejecutar diferentes algoritmos de control en tiempo real de manera concurrente, que es flexible, fácilmente expansible con nuevas estrategias de control y soporta diferentes test de schedulability.

- Realizar la portación de la biblioteca de algoritmos de control implementada a un procesador con tecnología Cortex-M3. Dentro del gran abanico de procesadores de 32 bits modernos que existen en la actualidad, el Cortex-M3 puede ser considerado un procesador de recursos medios a bajos. Hacer la portación de una biblioteca de código que permite implementar sistemas de
control de tiempo real a un procesador como el Cortex-M3 es un trabajo innovador y de gran utilidad práctica, tanto en el ámbito académico como en el ámbito industrial.

En el Capítulo 1 se presenta una introducción a la temática de esta tesis. En el Capítulo 2 se presenta el marco teórico necesario para este trabajo. En el Capítulo 3 y en el Capítulo 4 se aborda el objetivo principal y los objetivos secundarios 1, 2, 3, 4 y 5. La validación de los algoritmos de control implementados y los resultados obtenidos son presentados en el Capítulo 5