DISEÑO Y CONSTRUCCIÓN DE UN SEGUIDOR DE LÍNEA MEDIANTE IMPLEMENTACIÓN DE CONTROL PID Luis Carlos Cienfuegos, Víctor Enrique Dimas, Julio César Iglesias Departamento de Electrónica e Informática, Universidad Centroamericana José Simeón Cañas Antiguo Cuscatlán, El Salvador
[email protected] [email protected] [email protected]
II. I.
INTRODUCCIÓN
En el marco del desarrollo de este artículo, se presenta el procedimiento seguido para la construcción de un carrito seguidor de línea, el cual será controlado principalmente por una aplicación que será programada en ARDUINO, utilizando el método de control PID. Dentro de la construcción se toma en cuenta la creación del chasis adaptando los motores a un sistema de engranajes los cuales están ensamblados a las ruedas que serán movidas por dichos motores. Además se acopla el balero que servirá de soporte para darle equilibrio al prototipo. También la adaptación de la placa ARDUINO UNO, así como también de los circuitos impresos sobre las cuales se montara la etapa de potencia de los motores DC, las líneas hacia los sensores ópticos y la alimentación de los circuitos y los elementos de alimentación de los circuitos. Además se planteará el desarrollo matemático y la obtención de la función de transferencia del sistema así como el diseño del controlador PID.
DESARROLLO
A. ¿Qué es un seguidor de línea? Antes de comenzar a especificar los detalles de construcción, es necesario explicar en qué consiste el dispositivo a construir. Un seguidor de línea se puede definir como un dispositivo móvil que sigue una trayectoria determinada a través de un sensor óptico, y cuyo movimiento depende de la cantidad de luz reflejada por dichos sensores. B. Construcción de la Planta a controlar. Para la construcción del dispositivo se hizo un estudio sobre cuáles eran los elementos más importantes con los que debía contar la planta. La selección de dichos elementos fue la siguiente: • Placa ARDUINO UNO, utilizada como controlador de los procesos. • 2 Motores DC de 3V cada uno • Sistema de engranajes adaptable a los motores. • Portabalero • Balero • 2 sensores óptico-reflectivos CNY70, usados para reconocer la trayectoria.
•
• • •
Puente H, L293D. Usado como etapa de potencia y de control para los motores DC. Tuercas Tornillos Placas de acrílico transparente, sobre las cuales se montaron los motores , engranajes y baleros.
C. Metodología para la construcción de la planta y detalle de su funcionamiento. Como ya se mencionó en el punto A de este apartado, El carrito seguidor de línea se mueve en base a la luz que rebota sobre la superficie sobre la cual se desplaza, dicha luz es captada por los sensores ópticos y es transformada en señal de voltaje, la cual es interpretada por la placa ARDUINO UNO. En base a la luz captada el ARDUINO UNO genera señales de voltaje para accionar los motores DC y darle la movilidad deseada al carrito. El proceso de construcción de la planta fue el siguiente: Se compró un sistema de engranajes a los cuales se le adaptan unos motores de 3 volts DC, los cuales a su vez están interconectadas con las ruedas del prototipo; además junto con dicho sistema se obtuvo el portabaleros y el balero que servirán de soporte al prototipo, el cual le permitirá girar más fácilmente al carrito en cualquier ángulo. Todo esto se montó en la base de acrílico transparente, esta base nos sirve para colocar la placa ARDUINO UNO y los circuitos controladores de los motores, así como la batería cuadrada de 9 volts que alimentará al ARDUINO UNO, y además se colocará un arreglo de baterías produciendo una fuente 4.5 volts por medio de 3 baterias de 1.5 volts cada una, con lo cual se alimentarán los motores. A continuación se muestran las imágenes capturadas durante el proceso de montaje de la planta hasta obtener el modelo final.
Figs. 1,2,3. “Montaje del carrito”
Fig. 4 “Diseño y construcción de circuitos impresos”
en un video de alta precisión y fue analizado a una velocidad ralentizada para determinar el tiempo en que se alcanzaban ciertos valores de ángulos, los cuales se tomaron como las muestras para ser colocadas en una gráfica de ángulo vs tiempo elaborada en MATLAB. Measured and simulated model output 400 350 300 250
Fig. 5 “Planta Finalizada”
200 150
D. Construcción y Análisis del modelo matemático de la planta. Para obtener el modelo matemático o función de transferencia del sistema se procedió a tomar muestras de ángulos con respecto al tiempo en que estos eran alcanzados por la planta a un voltaje de alimentación fijo. En el programa de ARDUINO UNO se modificaron los sentidos de las corrientes en el puente H para que una llanta girara en un sentido y la otra llanta girara en el sentido opuesto, logrando con esto que la planta gire sobre un eje fijo. Para determinar el valor del ángulo alcanzado con la planta girando de este modo, se colocó dicha planta en una superficie con 360° definidos, con divisiones de 10° cada una, la cual se muestra en la figura siguiente:
Fig. 6 “Pruebas experimentales para crear función de transferencia”
Posteriormente, dicho procedimiento de hacer girar la planta en esta superficie fue grabado
100 50 0
0
5
10
15 Time
20
25
30
Gráfico 1. Linearización de valores obtenidos en la prueba experimental.
En la gráfica anterior, la líne de color negro representa los valores reales obtenidos, y la de color azul, los datos ya linealizados. Con esto se determinó el grado de la función de transferencia de la planta, que en este caso por el comportamiento mostrado, se puede concluir que la función de transferencia es lineal ya que el ángulo crecía de manera lineal respecto al tiempo. Para poder hacer esto, se valió de la herramienta Sistem Identification Toolkit de MATLAB, dentro del cual previamente se definieron 2 vectores, uno de tiempo y uno de ángulo y se obtuvo una grafica e tiempo real. Para crear el modelo, siempre a partir de estos vectores, se hicieron pruebas añadiendo polos y ceros y la de mejor ajuste fue la que se obtuvo al añadirle únicamente un polo; a partir de esto, MATLAB brindÓ las constantes para formar la función de transferencia, la cual se presenta en la figura 7. Una vez obtenida la función de transferencia se procedió a diseñar el compensador valiéndose de la herramienta SISOTOOL de MATLAB. Esta aplicación permitió diseñar
un modelo idealizado de un compensador a través del PID tunning para hacer q el sistema respondiera de manera más estable y rápida. Al finalizar se determino que el tipo de sistema que satisfacía las características anteriormente mencionadas era un control del tipo PI, ya que dentro del análisis de optimización de respuesta de la planta se determinó que unicamente se necesitaban los datos actuales de la respuesta así como los datos pasados de dicha respuesta, tomando únicamente en cuenta las costantes proporcionales e integrales del control. De esta manera fue obtenida la ecuación que que representa al compensador.
Fig. 7 “Modelado de la función de transferencia”
Fig. 9 “ Diagrama de bloques funcional de todo el sistema”
Cabe aclarar, que en la figura anterior los bloques C y G representan a las funciones del compesador y de la planta respectivamente.
Fig. 10 “Modelo matemático del compensador”
En las siguientes figuras, se presenta el lugar de las raíces, el diagrama en magnitud y la respuesta del sistema en el tiempo una vez integrado el compensador y la función de transferencia de dicho compensador.
Gráfica 3 “Respuesta al impulso del sistema”
Gráfica 2 “Lugar de las raíces, diagramas de Bode en magnitud y fase de la planta sin compensar”
En la gráfica 3, la gráfica de la parte de arriba es la respuesta de la planta ya con compensador diseñado, mientras que la de abajo es la respuesta de la planta sin compensar. Puede observarse que los tiempos de estabilización son distintos, siendo menor y con justa razón la de la respuesta ya compensada.
A partir de la ecuación de compensador que se me muestra en la figura 10, se procedió a obtener las constantes a utilizar en el PID las cuales se obtuvieron haciendo llegar este compensador a la forma teórica presentada en el libro de Ingeniería de Control Moderna Ogata. Dicha forma viene dada por lal siguiente ecuación: 𝐶(𝑠) = 𝐾𝑃 (1 +
motores como circuitos tienen bastante consumo de energía. Dicho consumo puede afectar al desempeño de los motores, ya que pueden estar trabajando a un voltaje menor para el cual fueron diseñados para trabajar.
Los cálculos relaizados del modelo de la planta y del compensador, únicamente dan una idea de como se va a compartar todo el sistema, no son los valores exactos con los que el sistema va a trabajar.
Una identificación adecuada del umbral de luz que reflejan los sensores ayuda a que la planta tenga una rápida y eficaz respuesta para hacer el control de giro de los motores.
1 + 𝑇𝑑 𝑠) 𝑇𝑖 𝑠
La deducción y los valores obtenidos fueron los siguientes: Kp=1.3374 Ti =2.6 Estos constantes tuvieron que ser ajustados, a unos nuevos valores en el programa de ARDUINO, ya que el procedimiento que utilizamos fue a base de prueba y error. Los datos que mejor se ajustaron en el código de ARDUINO fueron los siguientes. Kp=2.283 Ti=1x10-11 Para finalizar, fue diseñado un código en lenguaje C dentro de la aplicación de programación en computadora de la placa ARDUINO, para programar las acciones que el carrito debía realizar junto con la implementación de control PID. III.
CONCLUSIONES
Luego de haber tenido la experiencia de aplicar los conocimientos en control automático para este proyecto, se puede concluir a cerca de nuestro modelo lo siguiente:
Debe procurar optimizarse la alimentación de la planta, ya que tanto
RECONOCIMENTOS Se agradece la asesoría brindada al Ing. Víctor Figueroa, docente de la materia Automatización Industrial III en la Universidad Centroamericana; Ing. David Torres, encargado de los laboratorios del Departamento de Electrónica e Informática de la Universidad Centroamericana, Ing. Edgardo Luna, catedrático de la Univesidad Matías Delgado de El Salvador, Jorge Padilla, y Mauricio Moreira. REFERENCIAS [1] K. Ogata, Ingeniería de control moderna, 5ta ed., PEARSON Educación, Madrid, España, 2010. [2] O. O. Flores, Aprende ARDUINO, Ignac, San Salvador, El Salvador, 2013.