Diseño e implementación de un controlador PID digital en una microcontrolador utilizando técnicas de prototipado rápido
View/ Open
Date
2013-11-05Author
Noriega Quintero, Jairo
xmlui.dri2xhtml.METS-1.0.item-advisor
Pinzón Ardila, Omar
xmlui.dri2xhtml.METS-1.0.item-type
bacherlorThesis
Citación
Metadata
Show full item recordDocuments PDF
Abstract
Se diseñó e implementó un controlador PID para controlar la posición y velocidad de un motor de corriente directa utilizando técnicas de prototipado rápido en un microcontrolador. La identificación del modelo matemático del motor fue realizada con la ayuda de la herramienta System Identification Tool de MATLAB. El diseño del controlador fue realizado en la herramienta sisotool de MATLAB. El diseño del controlador se implementó en el sistema de desarrollo modular Tower System de Freescale, con los módulos serial (TWR-SER) y MCF51CN (TWR-MCF51CN), este último módulo cuenta con un microcontrolador Coldfire V1. La programación del microcontrolador se realizó en lenguaje C y se implementó también el sistema operativo en tiempo real MQX 3.5. El prototipado rápido se realizo gracias a la herramienta Real-Time Workshop Embedded Coder de Simulink que ajusta la simulación de Simulink y genera código en lenguaje C de manera embebida para diferentes tipos de hardware entre los cuales se encuentra la referencia Coldfire de la empresa Freescale. Las señales obtenidas tanto como por el taco generador del cual se obtenía la velocidad, como la señal obtenida del potenciómetro lineal del cual se obtiene la posición fueron acondicionadas mediante un arreglo de amplificadores operacionales para que estuvieran entre el rango permitido por el conversor analógico digital del microcontrolador. Se realizó una interfaz gráfica de usuario en MATLAB en la cual se pueden modificar tanto el valor de referencia del sistema como las diferentes constantes del controlador y visualizar la respuesta del sistema de control, para esto se implementó una comunicación serial con protocolo RS232. A PID controller was designed and implemented on a microcontroller for controlling the position and speed of a direct current engine using fast prototyping techniques. The identification of the mathematic model was realized with the System Identification Tool of MATLAB. The design of the controller was made in the sisotool tool of MATLAB. The controller was implemented on the modular development system Tower System of Freescale, with the Serial, and the MCF51CN modules, the MCF51CN module has a Coldfire V1 microcontroller. The programming of the microcontroller was in C language and the MQX Real Time Operating System 3.5 was also implemented. The fast prototyping was possible thanks to the Real-Time Workshop Embedded Coder Tool of Simulink, that adjust the simulation and generates de code in C language for some embedded hardware that includes the Coldfire device among many others. The speed signal generated by the tacho generator and the position signal generated by a lineal potentiometer where fit up by an array of operational amplifiers so they fitted the voltage range of the analog to digital converter of the microcontroller. A graphical user interface was made in MATLAB to allow the user change the set point, the constants of the PID controller and visualize the response of the control system; to be able of doing this a serial communication was implemented with the rs232 protocol.
Keyword/s
PID
Reguladores eléctricos
MATLAB
Sistemas operacionales (computadores)
RS232
Modelos matemáticos
Collections
- Trabajos de grado [6383]