Subido por angelmorancajero

Proyecto PID

Anuncio
Construcción y programación de un robot Balancín
péndulo Invertido
Angel Moran 148384
Ricardo Torres 152968
1. Introducción
Al proyecto que nos enfocamos como equipo nos llamó mucho la atención el robot
balancín que básicamente es un péndulo invertido sobre dos ruedas con la
implementación de un esquema de control que hace el cambio de posición por medio de
un sensor giroscopio como retroalimentación principal de controlador, pero se utilizaran
algunos otros componentes necesarios para que funcione correctamente. A como hemos
vistos otros que básicamente también en ruedas que son estables, este robot balancín es
un sistema inestable por naturaleza.
2. Desarrollo
En este reporte de un robot balancín. Buscamos solucionar el problema del péndulo
invertido, problema usado comúnmente en el campo de control, ya que se consigue que
un sistema inestable pase a convertirse en uno estable gracias a la acción generada de
diversos componentes. La acción de control del robot para que este se mantenga en
posición vertical se consigue mediante un control PID digital programado en Arduino el
cual funciona como controlador del sistema. El modelo es el de un péndulo invertido en
dos ruedas es este reporte se busaca comprender como funciona este sistema de control.
Como conclusión, se puede decir que por condiciones que no se tienen en cuenta en el
modelo de nuestro péndulo invertido, se presentan factores que afectan directamente el
buen funcionamiento, como: las corrientes de aire, los cambios de la rugosidad en la
superficie, la inclinación del terreno, el desplazamiento de la carga sobre el robot o
hasta su propio peso que nos damos cuenta de que es un factor importante.
3. Selección de componentes

Arduino UNO

Motores DC con engranajes (color amarillo)

Controlador de motor L298N

MóduloMPU6050

un par de ruedas

Batería Lipo 11.1 v

Batería de iones de litio de 9V

Cables de conexión

Chasis
3.1 Chasis
Es importante el chasis ya que es donde se montará todos los compontes, hay que tomar
en cuenta el espacio suficiente es importante ya que son varios componentes que vamos
a usar en este caso se uso material MDF y Tornillos galvanizados dado según su forma
permitirá realizar desplazamientos con mayor o menor exactitud.
Figura 1. Chasis del péndulo invertido
3.2 Arduino uno
El microcontrolador que se usó aquí es Arduino Uno, porque es fácil de usar ya que no
necesita ninguna placa de prueba para la configuración de la conexión, por lo que puede
caber fácilmente en un chasis pequeño.
. También puede usar un Arduino Nano o Arduino Mini.
Figura 2. Arduino uno
3.3 Puente H L298N (Driver)
Para el control y alimentación de los dos motores, usamos el driver o controlador
L298N. Este módulo doble puente H basado en el chip L298N te permite controlar dos
motores de corriente continua o un motor paso a paso bipolar de hasta 2 amperios.
Figura 3. Puente H L298N
El controlador permite controlar el sentido de giro y velocidad median el controlador el
Arduino UNO El módulo cuenta con todos los componentes necesarios para funcionar sin
necesidad de elementos adicionales, entre ellos diodos de protección y un regulador
LM7805 que suministra 5V a la parte lógica del integrado L298N. Cuenta con jumpers de
selección para habilitar cada una de las salidas del módulo (A y B) para cada uno de los dos
motores. La salida A está conformada por OUT1 y OUT2 y la salida B por OUT3 y OUT4.
Los pines de habilitación son ENA y ENB respectivamente. Este módulo se puede
alimentar de 2 maneras gracias al regulador integrado LM7805. Cuando el jumper de
selección de 5V se encuentra activo, el módulo permite una alimentación de entre 6V a 12V
DC. Como el regulador se encuentra activo, el pin marcado como +5V tendrá un voltaje de
5V DC. Este voltaje se puede usar para alimentar la parte de control del módulo ya sea un
microcontrolador o un Arduino, siempre y cuando que el consumo no sea mayor a 500 mA.
Cuando el jumper de selección de 5V se encuentra inactivo, el módulo permite una
alimentación de entre 12V a 35V DC. Como el regulador no está funcionando, tendremos
que conectar el pin de +5V a una tensión de 5V para 18 alimentar la parte lógica del
L298N. Usualmente esta tensión es la misma de la parte de control, ya sea un
microcontrolador o Arduino.
3.4 Giroscopio MPU 6050
Para conocer la posición actual del Robot usamos el MPU6050 , que es un sensor de
acelerómetro y giroscopio de 6 ejes combinados. Para obtener un valor confiable de la
posición del sensor, necesitamos usar el valor del acelerómetro y el giroscopio, EL
módulo Acelerómetro MPU tiene un giroscopio de tres ejes con el que podemos medir
velocidad angular y un acelerómetro también de 3 ejes con el que medimos los componentes X,
Y y Z de la aceleración. La dirección de los ejes se indica en el módulo el cual hay que tener en
cuenta para no equivocarnos en el signo de las aceleraciones.
Figura 4. Giroscopio MPU 6050
Giróscopo: Puede ser ajustado a valores de ±250, ±500, ± 1000, y ±2000 °/s. o Integra 3
conversores analógico digital de 16 bits, uno por cada eje. o Dispone de un filtro paso
bajo programable o Consume 3.6mA.
Acelerómetro: o Sistema de acelerómetro en 3 ejes fabricado con tecnología MEMS. o
Ajustable a valores de sensibilidad de ±2g, ±4g, ±8g y±16g. o Integra 3 conversores
analógico digital de 16 bits, uno por cada eje.
3.5 Motorreductor DC
Se eligió este motor porque da buenas rpm y torque a bajos voltajes de operación, lo
cual es una de las mayores ventajas de estos motores. Es una alternativa a nuestros
motores de CC con engranajes metálicos. Tiene un voltaje de operación de 3-6V que es
perfecto para construir robots de tamaño mediano a pequeño. Los orificios de montaje
en el cuerpo del motor y su ligereza lo hacen adecuado para su colocación en el circuito
del robot.
Figura 5. Motorreductor amarillo
Voltaje de operación: 3 - 6 V
Corriente sin carga (3 V): 150 mA
Corriente sin carga (6 V): 200 mA
Velocidad sin carga (3 V): 90 RPM + / - 10 %
Velocidad sin carga (6 V): 200 RPM + / - 10 %
Material: Plástico
Color: Amarillo
Engranaje de plástico
Doble Eje
Dimensiones: 7 cm X 3.7 cm X 2.2 cm
Modelo: DC3V-6V. [7]
3.6 Batería lipo 3s 11.1 v
Para lograr un robot autónomo se utilizaron dos fuentes de alimentación independientes,
en este caso se hizo uso de una batería lipo de 11.1V con un paquete de 3 celdas, a una
carga de 850mAh. La cual cuenta con una descarga continua de 25C y una velocidad de
descarga de pico de 70c.Lo cual es suficiente para alimentar la placa y los motores el
voltaje no va directamente a la placa, sino que antes pasa por un regulador de voltaje.
Esta batería se colocó en el centro de la placa en la parte inferior para no desfavorecer
el equilibrio y el punto de apoyo de la placa.
Figura 6. batería lipo 11.1 v
3.7 Un par de llantas
Elegimos este tipo de ruedas por que vimos que tienen buen agarre sobre el piso claro
siempre en superficie planas
4. Diagrama de construcción del robot balancín
Solo tenemos que conectar el acelerómetro MPU6050 con Arduino y conectar los
motores a través del Motor Driver Module. Todo el montaje se alimenta con una batería
de 9V.
Arduino y el módulo de controlador de motor L298N se alimentan directamente a
través del pin Vin y el terminal de 12 V, respectivamente. El regulador integrado en la
placa Arduino convertirá la entrada de 9 V a 5 V , el MPU6050 serán alimentados por
él. Los motores de CC pueden funcionar con un voltaje de 5 V a 12 V. Pero
conectaremos el cable positivo de 9 V de la batería al terminal de entrada de 12 V del
módulo del controlador del motor. Esto hará que los motores funcionen con 9V.
5. Medición del ángulo de inclinación mediante giroscopio
El giroscopio de 3 ejes de MPU6050 mide la tasa angular (velocidad de rotación) a lo largo
de los tres ejes. Para nuestro robot balancín, la velocidad angular a lo largo del eje x es
suficiente para medir la tasa de caída del robot.
Descargar