SEP
SNEST
INSTITUTO TECNOLÓGICO DE TOLUCA
SEGUIDOR DE LINEAS
Carrera: Ing. Mecatrónica. Materia: Robótica móvil Profesor: Ing. Gabriel Torres Sánchez Alumno: Salgado Carvajal Héctor Misael.
7 de Septiembre de 2011
Introducción La Robótica es una ciencia o rama de la tecnología, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso de inteligencia. Las ciencias y tecnologías de las que
deriva podrían ser: el álgebra, los autómatas programables, las máquinas de estados, la mecánica o la informática. De forma general, la Robótica se define como: El conjunto de conocimientos teóricos y prácticos que permiten concebir, realizar y automatizar sistemas basados en estructuras mecánicas poli articuladas, dotados de un determinado grado de "inteligencia" y destinados a la producción industrial o al sustitución del hombre en muy diversas tareas. Un sistema Robótico se puede describirse, como "Aquel que es capaz de recibir información, de comprender su entorno a través del empleo de modelos, de formular y de ejecutar planes, y de controlar o supervisar su operación". La Robótica es esencialmente pluridisciplinaria y se apoya en gran medida en los progresos de la microelectrónica y de la informática, así como en los de nuevas disciplinas tales como el reconocimiento de patrones y de inteligencia artificial. clasificación más común de los robots: 1ª Generación. Manipuladores. Son sistemas mecánicos multifuncionales con un sencillo sistema de control, bien manual, de secuencia fija o de secuencia variable. 2ª Generación. Robots de aprendizaje. Repiten una secuencia de movimientos que ha sido ejecutada previamente por un operador humano. El modo de hacerlo es a través de un dispositivo mecánico. El operador realiza los movimientos requeridos mientras el robot le sigue y los memoriza.
3ª Generación. Robots con control sensorizado. El controlador es una computadora que ejecuta las órdenes de un programa y las envía al manipulador para que realice los movimientos necesarios. 4ª Generación.
Robots inteligentes. Son similares a los anteriores, pero además poseen sensores que envían información a la computadora de control sobre el estado del proceso. Esto permite una toma inteligente de decisiones y el control del proceso en tiempo real. Objetivo Poner en práctica los conocimientos adquiridos sobre componentes mecánicos y electrónicos para realizar el control de un pequeño robot.
Objetivo especifico Diseñar, controlar e implementar un vehículo robot capaz de seguir una línea de color negro.
Marco teórico Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR (El AVR es una CPU de arquitectura Harvard) y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y
bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader ) que corre en la placa. Características de las versiones de Arduino
Batería de níquel e hidruro metálico ( NiMH)
Una batería de níquel-hidruro metálico (Ni-MH) es un tipo de batería recargable que utiliza un ánodo de oxidróxido de níquel (NiOOH), como la batería de níquel cadmio, pero su cátodo es de una aleación de hidruro metálico. Esto permite eliminar el costoso (y medioambientalmente peligroso) cadmio a la vez que se beneficia de una mayor capacidad de carga (entre dos y tres veces la de una pila de Ni Cd del mismo tamaño y peso) y un menor efecto memoria. Por contra, presentan una mayor tasa de auto descarga que las de Ni Cd (un 30% mensual frente a un 20%), lo que hace que
estas se perpetúen en nichos de largos periodos entre consumo (como los mandos a distancia, luces de emergencia, etc), mientras que son desplazadas por las NiMH en el de consumo continuo. Cada célula de Ni-MH puede proporcionar un voltaje de 1,2 voltios y una capacidad entre 0,8 y 2,9 amperio-hora. Su densidad de energía llega a los 80 Wh/kg. Este tipo de baterías se encuentran menos afectadas por el llamado efecto memoria, en el que en cada recarga se limita el voltaje o la capacidad (a causa de un tiempo largo, una alta temperatura, o una corriente elevada), imposibilitando el uso de toda su energía. Los ciclos de carga de estas baterías oscilan entre las 500 y 700 cargas, algunos de sus inconvenientes son las "altas" temperaturas que alcanzan en las cargas o en los usos. Un amperio hora es una unidad de carga eléctrica y se abrevia como Ah. Indica la cantidad de carga eléctrica que pasa por los terminales de una batería, si ésta proporciona una corriente eléctrica de 1 amperio durante 1 hora. Aplicaciones
Las aplicaciones de las baterías NiMH para vehículos incluyen todos los vehículos de propulsión totalmente eléctrica como el General Motors EV1, Honda EV Plus, Ford Ranger EV y el scooter Vectrix. Vehículos híbridos como el Toyota Prius, Honda Insight o las versiones híbridas de los Ford Escape, Chevrolet Malibu y Honda Civic Hybrid también las utilizan. El transporte público de la ciudad de Niza (Francia) cuenta con el tranvía de piso bajo Alstom Citadis. Varios modelos de robot la utilizan, entre ellos; el célebre prototipo humanoide ASIMO diseñado por Honda. La tecnología NiMH se utiliza ampliamente en baterías recargables para electrónica de consumo. Son muy útiles en esta porque sus electrodos se pueden soldar sin problemas. Necesitan cargadores específicos para NiMH ya que los de NiCd no sirven (aunque sí suelen servir a la inversa, de NiMH para NiCd). Actualmente, son habituales los modelos que cargan los dos tipos.
Sensor CNY70
El CNY70 es un sensor de infrarrojos de corto alcance basado en un emisor de luz y un receptor, ambos apuntando en la misma dirección, y cuyo funcionamiento se basa en la capacidad de reflexión del objeto, y la detección del rayo reflectado por el receptor.
Vista externa y circuitos internos del sensor CNY70
El CNY70 tiene cuatro pines de conexión. Dos de ellos se corresponden con el ánado y cátodo del emisor, y las otras dos se corresponde con el colector y el emisor del receptor. Los valores de las resistencias son típicamente 10K ohmios para el receptor y 220 ohmios para el emisor.
Diferentes posibilidades de montaje del CNY70
Es importante fijarse bien en el lateral donde aparece el nombre del sensor, para identificar correctamente cada uno de los pines.
Patillaje del CNY70
Manejo del sensor
El CNY70 devuelve por la pata de salida correspondiente, según el montaje, un voltaje relacionado con la cantidad de rayo reflectado por el objeto. Para el montaje A, se leerá del emisor un '1' cuando se refleje luz y un '0' cuando no se refleje. Para el montaje B los valores se leen del colector, y son los contrarios al montaje A.
Si conectamos la salida a una entrada digital del microcontrolador, entonces obtenedremos un '1' o un '0' en función del nivel al que el microcontrolador establece la distinción entre ambos niveles lógicos. Este nivel se puede controlar introduciendo un buffer trigger-schmitt (por ejemplo el 74HC14, ¡ojo que es un inversor!) entre la salida del CNY70 y la entrada del microcontrolador. Este sistema es el que se emplea para distinguir entre blanco y negro, en la conocida aplicación del robot seguidor de línea. Otra posibilidad es conectar la salida a una entrada analógica. De este modo, mediante un conversor A/D se pueden obtener distintos valores. Esto permite la detección dinámica de blanco y negro (muy útil cuando el recorrido presenta alteraciones en la iluminación). Pero también, si empleamos el sensor con objetos de distintos color, establecer un mecanismo para la detección de los distintos colores, determinando los valores marginales que separan unos colores de otros. Esto permite emplear el sensor para alguna aplicación donde la detección del color sea necesaria.
Motoreductores
Se denomina así a un motor de cc el cual a la salida contiene un juego de engranes que logran aumentar el par/fuerza basándose en la relación de engranaje, se reduce la velocidad pero la tracción mejora dependiendo de dicha relación. Puente H
Un Puente H o Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados en robótica y como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a partir de componentes discretos.
Estructura de un puente H (marcado en rojo).
Los 2 estados básicos del circuito. El término "puente H" proviene de la típica representación gráfica del circuito. Un puente H se construye con 4 interruptores (mecánicos o mediante transistores). Cuando los interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3 abiertos) se aplica una tensión positiva en el motor, haciéndolo girar en un sentido. Abriendo los interruptores S1 y S4 (y cerrando S2 y S3), el voltaje se invierte, permitiendo el giro en sentido inverso del motor. El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en especial pequeños motores y cargas inductivas, con la capacidad de controlar corriente hasta 600 mA en cada circuito y una tensión entre 4,5 V a 36 V. Los circuitos individuales se pueden usar de manera independiente para controlar cargas de todo tipo y, en el caso de ser motores, manejar un único sentido de giro. Pero además, cualquiera de estos cuatro circuitos sirve para configurar la mitad de un puente H. El integrado permite formar, entonces, dos puentes H completos, con los que se puede realizar el manejo de dos motores. En este caso el manejo será bidireccional, con frenado rápido y con posibilidad de implementar fácilmente el control de velocidad.
Diagrama de pines
Las salidas tienen un diseño que permite el manejo directo de cargas inductivas tales como relés, solenoides, motores de corriente continua y motores por pasos, ya que incorpora internamente los diodos de protección de contracorriente para cargas inductivas. Las entradas son compatibles con niveles de lógica TTL. Para lograr esto, incluso cuando se manejen motores de voltajes no compatibles con los niveles TTL, el chip tiene patas de alimentación separadas para la lógica ( VCC2, que debe ser de 5V) y para la alimentación de la carga ( VCC1, que puede ser entre 4,5V y 36V). Las salidas poseen un circuito de manejo en configuración "totem-pole" (término en inglés que se traduce como "poste de tótem", nombre que, gráficamente, nos remite a un "apilamiento" de transistores, como las figuras en los famosos totems indígenas). En esta estructura, unos transistores en configuración Darlington conducen la pata de salida a tierra y otro par de transistores en conexión seudo Darlington aporta la corriente de alimentación desde VCC2. Las salidas tienen diodos incorporados en el interior del chip para proteger al circuito de manejo de potencia de las contracorrientes de una carga inductiva. Las entradas de habilitación permiten controlar con facilidad el circuito, lo que facilita la regulación de velocidad de los motores por medio de una modulación de ancho de pulso. En ese caso, las señales de habilitación en lugar de ser estáticas se controlarían por medio de pulsos de ancho variable. Las salidas actúan cuando su correspondiente señal de habilitación está en alto. En estas condiciones, las salidas están activas y su nivel varía en relación con las
entradas. Cuando la señal de habilitación del par de circuitos de manejo está en bajo, las salidas están desconectadas y en un estado de alta impedancia.
Conexionado para un motor con giro en ambos sentidos (lado izquierdo) y con motores con giro en sentido único en dos salidas (lado derecho)
Por medio de un control apropiado de las señales de entrada y conectando el motor a sendas salidas de potencia, cada par de circuito de manejo de potencia conforma un puente H completo, como se ve en el diagrama de arriba, lado izquierdo. En la tabla de funcionamiento que sigue se puede observar los niveles TTL que corresponden a cada situación de trabajo:
Desarrollo Materiales 1 Arduino 1 batería recargable de 1200mAH 2 motorreductores 2 llantas de 6cm de diámetro 1 rueda loca Tornillos de 3/4 3 sensores CNY70 1 proto-board Lamina Cinta de aislar Soldadura Cautín ½ m de Cable de 32 hilos Acrílico
Ensamble: Primero se montaron las llantas en el eje de los motores y se pusieron los motores en la base de acrílico fijándolos con unas tiras de lámina haciendo una especie de carcasa y atornillándolos al acrílico
De tal modo que ambos motores quedaron asi:
Después se soldaron las resistencias y cables en los sensores CNY70 como en el circuito del marco teórico:
Los sensores fueron aislados con termofit y se montaron sobre una base de 2cm de espesor para distanciarlos de tal forma que dos de los sensores reconocieran cuando del coche comenzara a perder la trayectoria.
Se implemento el circuito para el control de giro con el L293D en una protoboard y se cubrió con lamina colocando cinta aislante entre la protoboard y la lamina, y se fijo en la base de acrílico, y sobre de esta se fijó el “cerebro del vehículo”, el Arduino, se fijo también la bateria en la parte trasera del coche, y el sensor en la parte delantera sujetado con lamina:
Una vez lista la parte mecánica y montada la parte electrónica se procedió a hacer el programa que controla las decisiones del robot con ayuda de una placa Arduino
Siguiendo esta lógica:
Es decir cuando el sensor derecho detecte que el robot se esta desviando hacia la izquierda a través del cambio de blanco a negro, el motor derecho se apagara y entonces el giro de la rueda izquierda virara el vehículo hasta alinearlo nuevamente y viceversa.
Programa: Cada uno de los sensores se leyeron de manera análoga a través de los pines de análogos del Arduino, estos valores entregados del sensor al Arduino fueron mapeados de tal manera que los rangos de valores del sensor están entre 0 y 255 correspondiendo 255 a 5 V. Se fijó un valor para diferenciar entre blanco y negro en 200. Después solamente se pusieron las condiciones bajo las cuales el robot viraría. //señal de sensores int lecsizq = 3; int lecsder = 2; int lecscnt = 1; //para señales procesadas int sensizq = 0;
int sensder = 0; int senscnt = 0; //a los motores int verde= 2; int azul= 3; //diferencia entre b y n int bn=200; void setup() { Serial.begin(9600);
// setup serial
pinMode(verde, OUTPUT); pinMode(azul, OUTPUT);
} void loop() { int sensizq = analogRead(lecsizq); sensizq = map(sensizq,200,1023,0,255); int sensder = analogRead(lecsder); sensder = map(sensder,200,1023,0,255); int senscnt = analogRead(lecscnt); senscnt = map(senscnt,200,1023,0,255);
//logica del robot if ((sensizq < bn)&&(senscnt > bn)&&(sensder < bn)) {
digitalWrite(verde,HIGH); digitalWrite(azul,HIGH); } else if ((sensizq > bn)&&(senscnt > bn)&&(sensder < bn)) { digitalWrite(verde,LOW); digitalWrite(azul,HIGH); } else if ((sensizq < bn)&&(senscnt > bn)&&(sensder > bn)) { digitalWrite(verde,HIGH); digitalWrite(azul,LOW); } }
Conclusiones El triciclo simple utilizado en el diseño de robots tipo vehículo facilita la movilidad y direccionamiento del mismo
Fuentes de consulta http://robots-argentina.com.ar/MotorCC_L293D.htm
http://realrobotics.com/robotica.php
http://articulo.mercadolibre.com.mx/MLM-67846030-bateria-y-cargador-carros-rc-721200mah-ni-mh-pro-pulse-_JM (donde se compró la batería)