0% encontró este documento útil (0 votos)
75 vistas8 páginas

Ieee Balancin Fin

Cargado por

Carlos Adrian
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas8 páginas

Ieee Balancin Fin

Cargado por

Carlos Adrian
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd

Diseño y construcción de un robot balancin y

seguidor de linea
Dario Paladines Carrion
Carlos Jarro Pineda Diego Velasquez Morocho
Universidad Politecnica Salesiana
Universidad Polotecnica Salesiana Universidad Polotecnica Salesiana
Cuenca, Ecuador
Cuenca, Ecuador Cuenca , Ecuador
[email protected]
[email protected] [email protected]
David Sinche Solis
Dario Oviedo Duran Diego Zhinin Auquilla
Universidad Polotecnica Salesiana
Universidad Polotecnica Salesiana Universidad Polotecnica Salesiana)
Cuenca, Ecuador
Cuenca, Ecuador Cuenca, Ecuador
[email protected]
[email protected] [email protected]

23/01/19 ©2019 IEEE


Abstract: The present report shows the development of a rocker El algoritmo del control PID consiste de tres parámetros
truck and follower of lines, this was achieved using concepts on distintos: el proporcional, el integral, y el derivativo. El
control systems brought to a practical area, in the developed valor Proporcional depende del error actual. El Integral
project software was used that helped the operation of the same,
is the case of the Arduino platform used for the programming of depende de los errores pasados y el Derivativo es una
the car, in which the basic concept applied were the PID predicción de los errores futuros. La suma de estas tres
controllers, and a principle of the inverted pendulum, used to acciones es usada para ajustar al proceso por medio de un
give stability to the car both initially, or after being subjected to elemento de control como la posición de una válvula de
different disturbances, in addition to This was achieved by the control o la potencia suministrada a un calentador. [2]
fact that it could be a follower of lines, using infrared sensors
that detect the line to follow an established path, thus obtaining
the initial objective. Next in this document will be detailed each
of the processes and concepts used to subsequently find the
expected results.

Keywords— Control PID, Péndulo invertido,


microprocesador,

I. INTRODUCCIÓN

Los sistemas de control han desempeñado un papel


importante en el avance de la ciencia y la ingeniería en Figura 1. Principio de funcionamiento de un controlador PID.[1]
general, al tener una intervención cada vez mayor en la vida
diaria. Lo que ahora se conoce como teoría de control ha A continuación se muestra las respuestas del controlador
sido el resultado del conjunto de algunos conceptos que son PID en graficas estableciendo las mismas condiciones de
familiares como retroalimentación, optimización, entrada respecto al tiempo, para cada grafica se asume que
estabilización, que nos permiten resolver problemas que el controlador tiene una acción directa, las gráficas
requieren una estrategia de control en algún tipo de sistema, mostradas a continuación se centran solo en la forma de las
desde los controles simples que operan una plancha o mismas ya que para una gráfica exacta se necesita saber
tostadora, sistemas de control más complejos necesarios en todos sus valores de configuración. [3]
la industria espacial, sistema de pilotaje de aeronaves, etc.
[1]. El estudio de los sistemas de control puede ser de gran
ayuda para establecer vínculos entre los diferentes campos
de estudio, permitiendo que cada uno de los diferentes
conceptos venga juntos en un problema común de control,
que se resuelve utilizando los conocimientos necesarios, en
nuestro caso la realización de este proyecto implicó el
trabajo con una serie de elementos propios de control como
el ser un trabajo de un estado no lineal, el desarrollo para
experimentos de la planta, y la fusión de diferentes lecturas
de señales como el de la estabilidad controlado por la
microprocesador MPU y el sensor infrarrojo para el
seguidor de líneas. [1]

Figura 2. Respuesta de un controlador PID ante un escalón


II. MARCO TEORICO

Péndulo invertido
El proyecto está conformado principalmente por dos
Un péndulo invertido es un péndulo, cuyo centro de masa
conceptos básicos hablando teóricamente, y estos son los
está situado por encima de su punto de pivotaje. A menudo
controladores PID y el principio del péndulo invertido.
se implementa sobre un carro y se limita el péndulo a un
grado de libertad, consiguiendo un banco de pruebas muy
Controlador PID
completo e interesante para la ingeniería de control no
lineal. La idea principal es mantener el sistema en equilibrio
sin que se vea afectado por acciones externas. Todos los
robots equilibristas resuelven el problema del péndulo
invertido, por lo que prácticamente todos tienen una forma
similar y los mismos elementos que lo componen. Los
cuales se muestran a continuación como los mas
importantes.
 Unidad de medida inercial: Sensor capaz de  MPU 6050
obtener la medida de la inclinación del robot. Muy  Arduino mega
comúnmente se emplea la combinación de un  Ld 298 puente h
acelerómetro y un giroscopio  Baterías 3.7v
 Control: Se encarga de proporcionar una acción  Sensores sny 70
correctora del error producido entre una variable a  Leds
medir y la referencia que debería seguir, se puede  Interruptor
emplear cualquier tipo de control, ya sea  resistencias
analógico, digital o borroso. Habitualmente se
 Baquelita perforada
emplea el control PID (acrónimo de Proporcional,
Integrador y Derivativo) que actúa de tres maneras
diferentes sobre el error y la acción que genera Diseño mecánico
resulta igual a: [4] [5] Para la estructura del carro estabilizador utilizamos madera,
la cual la cortamos a laser de la medida exacta que nos
propusimos, para ensamblar el carro nos basamos de una
(1)
madera plana rectangular como base y otra similar que actúa
como tapa, para los lados otros dos cuadrados pequeños
donde van a ser fijados los motores, para unir los materiales
utilizamos tornillos y pegamento.
Diseño eléctrico
Bloque de alimentación
Esta etapa se encarga de la alimentación eléctrica de todo el
robot, incluyendo la etapa de control, la etapa de sensores,
además de la alimentación de los motores. Para este
proyecto se necesita tener dos alimentaciones diferentes,
y , para los diferentes dispositivos. La alimentación de
este módulo se puede realizar de dos formas: mediante el
uso de una pila o batería, en nuestro caso hemos escogido la
alimentación por pila. Para saber que está correctamente
Figura 3. Principio de funcionamiento de un péndulo invertido. alimentado, este dispositivo incorpora un indicador led que
avisara si se está usando de forma correcta. Otra
característica importante de este módulo, es la posibilidad
Para la elaboración del proyecto se necesita el diseño del de elegir la tensión de salida que proporciona, pudiendo
sistema de control, el mismo que primero se planteara seleccionar una alimentación de y otra de a la vez.
teóricamente para posteriormente su aplicación práctica. En la Figura puede verse el esquema eléctrico del módulo.
Para el diseño del sistema de control, se controla tanto la
posición del carro como la desviación angular del péndulo,
el cual al establecer las condiciones de desempeño se debe
comprobar que el sistema sea de estado completamente
controlable, en donde a continuación se muestra el esquema
de retroalimentación de estados que se podría utilizar. [6]
[7]
Figura 5. Circuito de alimentación.

PWM (Pulse-Width Modulation)


La modulación PWM, también conocida como modulación
por ancho de pulsos, es una técnica basada en la
modificación del ciclo de trabajo de una señal periódica
(habitualmente una señal cuadrada), ya sea para transmitir
información, o como es nuestro caso, para controlar la
cantidad de energía que se envía a los motores. Por tanto,
Figura 4. Diagrama de bloques, mostrando una realimentación de
esta técnica permitirá regular tanto la velocidad como el par
estados. de los motores de corriente continua. En la etapa de control
se genera una señal PWM que se envía al driver, así de esta
manera este regula la tensión que llega a los bornes del
III. PROCEDIMIENTO motor y controlamos la velocidad de estos
Materiales utilizados para la construcción de un robot
balancín:
 Motor reductor en L 300rpm 7.4v
datos en el software de arduino para en función de esto ir
tomando las decisiones de que acción debe realizar el robot.

Como se puede apreciar, el protocolo de comunicación I2C


solo precisa de dos líneas para la transmisión de la
información. Con este sistema se consigue velocidades de
transmisión de hasta los de las
versiones más recientes, todas ellas bidireccionales.

Figura 6. Regulación PWM

Bloque de señal
En esta etapa se le proporciona al robot la capacidad de
interpretar el entorno que lo rodea mediante el empleo de los Figura 8. Comunicación de I2C.
diferentes sensores que lleva incorporado. Estos le permiten
conocer las variables que se pretenden controlar, y son parte Parámetros experimentales
de los elementos fundamentales que necesita un sistema de Considerando las características con la cual operan los
control en lazo cerrado. Las variables que presenta el motores: la resistencia de armadura obtenida con un
proyecto son el ángulo de inclinación y la velocidad: el multímetro midiendo los dos terminales del moto,
robot debe conocer cuál es su inclinación y su velocidad en obteniendo como resultado , la contante de
todo momento para poder aplicar una acción de control que
fuerza contra electromotriz y la constante par (Km)
lo corrija, en función de las condiciones deseadas por el
usuario.
Es muy importante este apartado ya que recopila todas las
señales obtenidas mediante los sensores, las mismas señales
son procesadas y posteriormente enviadas para realizar una
acción específica.

MPU
Como ya se ha visto en el Apartado 3.5, el dispositivo que
permite conocer la inclinación del robot va a ser una IMU
de 6 grados de libertad. El modelo elegido va a ser el MPU-
6050 de la empresa InvenSense, ya que este dispositivo
integra un acelerómetro y un giroscopio y la información
resultante es fácilmente accesible mediante la interfaz de
comunicación I2C. Como se muestra en la gráfica el IMU
nos da un ángulo real ideal en azul, y las medidas reales Tabla 1. Parámetros experimentales para Ra.[8]
obtenidas a partir de las pruebas en rojo.

Constante de la fuerza contra electromotriz


Para definir la constante de fuerza e efectúa la medición de
la velocidad angular ( ) del motor sin carga con diferentes
valores de voltaje.
Para obtener el valor de medición angular se utiliza una
fuente de voltaje regulable y de forma adicional un
osciloscopio. El motor rotativo convierte una oscilación en
una secuencia de pulso digitales, lo cual indica que hay una
relación entre la frecuencia medida en sus terminales de
velocidad angular de eje:
(2)

Figura 7. Datos ideales (azul) vs datos reales (rojo) Donde es la velocidad angular del eje representada en
y representa la frecuencia en Hertz.
En este caso se obtienen estos valores que se van
almacenando y compilando en conjunto con el resto de
Analizando, se procedió a obtener de manera experimental,
valorando con la siguiente expresión.

(3)

Para adquirir un valor más preciso de se procedió a


medir con diferentes valores de voltaje dando como
resultado un promedio como se indica en la tabla:

1.5 4.54285 0.13 402 39.47 0.01959


2 4.54285 0.14 622 61.06 0.0223
3 4.54285 0.16 913 89.63 0.03
4 4.54285 0.18 1138 111.72 0.03
5 4.54285 0.19 1431 140.49 0.03
6 4.54285 0.21 1723 169.16 0.03
7 4.54285 0.22 2039 200.18 0.03
Figura 9. Diagrama de bloques de la subrutina
PROMEDIO 0.03 leerInformacionAcelerometro[8]
Tabla 2. Resultados experimentales para .[8]
Obtención de la velocidad
Flujo del programa Para realizar la medida de la velocidad se emplean las
Para poder tener una visión global del programa, se verá en ecuaciones que se vieron en el Apartado 5.3.2, siendo
primer lugar un diagrama de flujo gracias al cual será necesario calcular primero las revoluciones por minuto y
posible seguir el orden lógico del mismo. Además, el uso de luego pasar a velocidad lineal. Para ello se emplearán las
un diagrama de flujo simplificará posteriormente la interrupciones de Arduino, de forma que el cálculo de la
programación al tener un esquema claro del mismo. velocidad se realizará cada vez que se detecte un flanco
ascendente en una de las fases del encoder.
Obtención del ángulo Una vez inicializada la interrupción será necesario definir la
Como ya se ha comentado en el Apartado 5.3.1, para función de callback de la misma, llamada
obtener la medida del ángulo de inclinación del robot se leerInformacionEncoderM1. Esta función será llamada cada
empleará un sensor IMU, más concretamente el MPU-6050. vez que se produzca una interrupción y su diagrama de flujo
Empleando la información recibida a través del se puede ver en la Figura 10.
acelerómetro y giroscopio que incorpora será posible
calcular la inclinación del robot. La comunicación I2C es
una comunicación bidireccional basada en la topología de
maestro-esclavo, en la que Arduino funcionara como
maestro y el sensor de medida inercial hará la función de
esclavo. La comunicación entre ambos será de escritura y
lectura de los diferentes registros del sensor, en los cuales se
guardan los datos.
Una vez que se ha definido el funcionamiento del sensor, se
pasara a realizar la programación necesaria para calcular el
ángulo de inclinación con las ecuaciones que ya se vieron
anteriormente. Para ello se definirá una función
leerInformacionsAcelerometro encargada de la lectura y
procesado de los datos. El diagrama de flujo de esta función
puede verse en la Figura 9.

Figura 10. Diagrama de interrupción Leerinformacion. Actuación


sobre los motores.[8]

Gracias al doble lazo de control visto anteriormente, a la


salida se generará una acción de control PWM que
controlará la velocidad de giro del motor. Esta señal se
enviará al driver y su ciclo de trabajo tendrá un valor
comprendido entre 0 y 255, ya que las salidas PWM que
implementa Arduino son de 8bits.
Figura 13. Circuito de control.

Para conseguir que el robot se mantenga estable será


necesario convertir la información del ángulo de inclinación
proporcionada por el sensor MPU-6050 en una velocidad de
giro de las ruedas tal, que corrija dicha inclinación. El
sistema gracias al cual se consigue la relación entre una
entrada, y una salida deseada, es un control basado en la
realimentación de la salida del sistema. En nuestro caso, el
esquema del sistema realimentado será el siguiente:

Figura 11. Diagrama de bloques del contorlMotores.[8]

Control PID
Figura 14. Sistema de Control.[8]
Partiendo del modelo matemático establecido, se procedió a
efectuar un control de estados para alcanzar el equilibrio del Doble lazo de control
péndulo. El controlador que se propuso es un controlador Además de controlar que el robot se mantenga en equilibrio,
PID convencional, partiendo de la función de trasferencia en nuestro caso se desea poder controlar también la
obtenida en espacio de estado. velocidad de movimiento del robot. Para ello será necesario
incorporar un segundo lazo de cuya idea básica es la de
proporcionar un ángulo de inclinación de referencia al
control del equilibrio, de manera que el robot se incline para
uno u otro lado y se regule de esta forma su velocidad. Así,
si el ángulo de referencia que se busca está inclinado, el
robot se moverá en un sentido para evitar que se caiga. Por
tanto, la nueva estructura del lazo de control, es el siguiente:
(4)

El controlador PID presenta un distintivo rechazo a la


perturbación con el propósito de mantener el ángulo en (0°).

Figura 15. Sistema con doble lazo de control.[8]

Programación en arduino
En este punto para poder realizar la programación del
funcionamiento de nuestro balancín nos ayudamos del
Figura 12. Diagrama para la simulación del controlador PID.[9] programa de Arduino y de algunas librerías que fueron de
mucha ayuda como podemos ver a continuación.
Para la construcción del controlador PID se considera Como es las librerías del MPU, los controladores de los
requisitos de diseño tales como, el tiempo de asentamiento y motores y por ultimo para el control del infrarrojo para el
un porcentaje de sobrepaso de 5% usando el método del seguidor de línea.
lugar geométrico de las raíces se ajusta el controlador para
hallar el respectivo valor de k. Hemos realizado la programación del PID en cual
obtuvimos los valores que son muy importantes para el
funcionamiento como son Kp, Ki y Kd.
embargo, considerar más importante intentar
mejorar la respuesta a los empujones. Cuando se
somete al robot a una fuerza externa, normalmente,
suele mantener la estabilidad. Dependiendo de la
fuerza (No necesariamente una fuerza muy grande)
a veces pierde el equilibrio y acaba cayéndose.
Esto es algo importante a tener en cuenta ya que
forma parte de las funcionalidades básicas que
tiene que tener el robot.
 Después de haber recopilado datos en la planta real
se puede realizar una gráfica del control PID para
determinar las respuestas de ángulos y señales de
los controladores. En la siguiente figura podemos
Figura 16. Obtención del PID. apreciar el comportamiento del controlador PID y
su respectivo ángulo de inclinación, con una
Obtuvimos el error de estado de nuestra planta en el cual perturbación aplicada cada 10 seg.
obtuvimos lo siguiente en el programa de arduino.

Para obtener la parte del seguidor de línea realizamos la


programación con el I2C el cual controlamos el giroscopio
con los motores para que realice los giros ya sea derecha o
izquierda.

Figura 18. Respuesta del ángulo del controlador PID con


perturbación cada 10 seg.[9]

 El controlador PID presenta una ventaja la cual es


muy rápida y logra una estabilización exacta, tiene
una rápida respuesta a las perturbaciones y el
tiempo de asentamiento.

V. CONCLUCIONES
Figura 17. Programación del seguidor de línea.  El uso de las funciones de transferencia en
los sistemas de control es muy importante
Esto es la parte de la programación realizada en arduino cuando se consideran soluciones para
para el buen funcionamiento del péndulo invertido con controlar los problemas en general, ya que
seguidor de línea. es una forma más sencilla de interpretar
las variables asociadas y el
comportamiento del sistema.
 Concluimos la importancia total de los
IV. ANALISIS DE RESULTADOS diagramas de bloques en todos los tipos de
sistemas, ya que estos van de la mano con
 Los resultados obtenidos tras el desarrollo del las funciones de transferencia y nos
proyecto han sido satisfactorios. Si se analizan los ayudan a ver si se trata de un sistema de
objetivos que estaban definidos: equilibrio del circuito abierto o cerrado, además de
robot balancín y seguidor de línea, han sido poder visualizar el comportamiento del
satisfechos, así como los objetivos secundarios y Sistema de una manera más gráfica, la
las competencias transversales que estos conllevan. retroalimentación que tiene y cómo está
 Respecto al equilibrio del robot, aún se podría trabajando, por lo que nunca debe faltar
ajustar algo más. Aunque consiga mantenerse en un diagrama de bloques en un sistema de
equilibrio durante más de 10 minutos, tiene control
tendencia de ir avanzando muy poco a poco hacia  Otra de las ventajas del PID ante
adelante. Esto podría mejorarse o bien ajustando el controlador difuso es la respuesta a
mejor a la placa la Unidad de Medición Inercial perturbaciones y el tiempo de
(IMU) o bien buscando una combinación para el asentamiento al estabilizarse.
controlador PID distinta de la que ya hay. Sin
 El controlador PID presenta una ventajas
y respuesta mucho más rápida que el
controlador difuso para logra una
estabilización.
 Al trabajar con sensores ópticos para
aplicaciones de seguimiento de línea es
recomendable considerar la distancia
que se tiene desde la superficie al
sensor.

VI. REFERENCIAS

[1] S. J. Pincin, «Diseño, Construccion y control de un


robot balancin,» Argentina, 2016.
[2] A. P. H. Mario A. Perez, «Introduccion a los sistemas
de control moderno y modelado para sistemas lineales
invariantes en el tiempo,» Argentina, 2008.
[3] O. P. E. H. Tinoco Romero. R. F, «Modelado,
Simulacion y control de un pendulo invertido usando
componentes analogos simples,» Guayaquil, 2007.
[4] D. M. M. Garcia, «Sistema de control para un robot,»
Bogotá, 2013.
[5] A. S. JJ Di Stefano, Feedback and control systems,
McGraw Hill , 2004.
[6] K. Ogata, Ingenieria de control moderno, 1997.
[7] Z. Bubnicki, Modern Control Theory, 2005.

[8] Diagramas hechos por los autores, 2019, Visio 2013.

[9] Programación en Matlab_2015, Realizado por autores.

También podría gustarte