Page 1

Esquema Electrónico 1- Alimentación Se refiere a la fuente de energía que permitirá alimentar al robot y a todos los dispositivos que se encuentren en él. Lo primero que hay que preguntarse al elegir la fuente de alimentación es cuál va a ser el consumo del carro y, a partir de ahí, observar las opciones que existen y elegir la más adecuada. Se van a realizar muchas pruebas, por lo que la opción más económica y ambientalmente amigable son las pilas AA recargables (1.2V 2A). El Arduino Mega en sus especificaciones dice que necesita un mínimo de 7V para su funcionamiento (ya que tiene un regulador de voltaje interno de 5V por lo que el voltaje aplicado debe ser mayor para el funcionamiento correcto del mismo) y recomiendan un voltaje máximo de entrada de 12V (funciona en un rango de 6-20V pero el recomendado es de 7-12V). Si se colocan 6 baterías en serie se logra un voltaje de 7.2V que cumple con los requerimientos, pero esto va a ocasionar que se deban cambiar las pilas constantemente ya que durará muy poco tiempo (por la cantidad de dispositivos que estarán conectados a él). Una mejor opción sería colocar 8 baterías en serie para un voltaje de 9.6V. Como se está trabajando con motores, más importante que el voltaje es la corriente que jalan los mismos ya que, si no se proporciona la suficiente corriente para que funcionen, el voltaje caerá bruscamente inhabilitando todos los otros dispositivos. Al colocar 8 pilas en lugar de 6, se está agregando, además de los 2.4V, 4A de corriente que puede entregar. Esto hace que el tiempo entre cambio de baterías se extienda notablemente y por lo tanto que el número de pruebas a realizar con las mismas baterías aumente considerablemente. La opción que se decidió e implementó en el robot fue la de la caja de 8 baterías AA como se muestra en la figura.

Para el control de Encendido se colocó un Switch SPST como el que se muestra en la figura.


2- Regulador de Voltaje Es necesario colocar un regulador de voltaje de 5V para alimentar a los 2 servomotores y proporcionar el nivel lógico para el puente H. Para ello se utiliza el dispositivo LM78M05 que regula el voltaje de entrada y proporciona una salida fija de 5V con capacidad de entrega de corriente de hasta 1A. El circuito es el siguiente:

Los capacitores que se colocan son de Bypass para reducir el Efecto de Ripple de la entrada y la salida. Datasheet: http://www.ti.com/lit/ds/symlink/lm78m05.pdf 3- Motores Los motores que forman parte de la hormiga funcionan con corriente directa (DC) y los utilizados son de la familia de los Servo. El robot necesita 4 motores:    

Rueda Izquierda. Rueda Derecha. Abrir/Cerrar la Garra. Subir/Bajar la Garra.

Los motores de las ruedas son Servos modificados para que funcionen como DC y los de la garra son Servos comunes. La ventaja de utilizar servos modificados en lugar de motores DC normales es que estos necesitan menos corriente para su funcionamiento (alrededor de 400mA en comparación con más de 2A) y proporcionan un mayor torque. El procedimiento para convertir un Servo Motor en un motor DC se puede ver en el siguiente link. (http://www.ranchbots.com/club/papers/Modifying%20Hobby%20Servo%20Motors%20for%20Continu ous%20Rotation.pdf). Los Servo Motores tienen 3 conectores, 2 para la alimentación y otro para la señal. Esa señal sirve para controlar el ángulo de posición del mismo así como para realimentar y saber su estado actual.


3.1- Motores de las Ruedas Al consumir mucha corriente, los motores no se pueden conectar directamente a la tarjeta Arduino ya que podría dañar los pines. Es necesario alimentar los motores directamente de las baterías y controlar su velocidad y dirección a través del arduino. Para ello se utiliza un circuito integrado llamado Puente H. La ventaja principal de este dispositivo es que permite al microcontrolador controlar el motor alimentándolo directamente de las pilas. Un Puente H permite a cada motor ir hacia adelante, atrás o detenerse dependiendo de la configuración de sus pines. El funcionamiento es básicamente fijar la dirección del flujo de corriente por el motor. Si ambas conexiones del motor se encuentran en un nivel alto o en un nivel bajo el motor estará detenido ya que no existe una diferencia de potencial y por lo tanto no hay flujo de corriente (Ley de Ohm). Para hacer que el motor vaya hacia adelante o hacia atrás hay que colocar el nivel bajo en uno de los conectores y el alto en el otro para uno de los casos e invertir el orden para el otro. Se desea poder controlar la velocidad del motor, por esta razón se conectó a uno de los conectores del Puente H a una salida de modulación de ancho de pulso (PWM) del microcontrolador y el otro a un pin digital habilitador que indica si va hacia adelante o hacia atrás. Dependiendo del ciclo de trabajo definido y el pin Enable podrá cambiarse las velocidades. Si enable se encuentra en nivel Bajo, mientras mayor sea el ciclo de trabajo mayor será la velocidad ya que el voltaje promedio será mayor , Caso Enable=0 , mientras que si se encuentra en nivel Alto el voltaje promedio será , Caso Enable=1 Como se puede observar, para detener el motor sólo hace falta colocar el Duty Cycle en 0 y el Pin Enable en 0 o el Duty Cycle en 100% (en el Arduino es en 255) y el Pin Enable en 1. Es recomendable colocarlo en 0 ya que de esa manera no consume corriente al estar detenido. El diagrama de conexión del Puente H se muestra a continuación:


Es necesario colocar los pines 4, 5, 12 y 13 a tierra para referencia y disipación de calor. Los pines 1, 9 y 16 se conectan a los 5V salida del regulador porque es el voltaje que representa el nivel lógico con el que se está trabajando y el pin 8 se conecta a 9V que es la salida directa de las baterías y es por dónde los motores se van a alimentar. Si se desea que vaya a la misma velocidad cuando se encuentra hacia adelante o hacia atrás, el ciclo de trabajo debe de uno debe ser el complemento del otro, es decir, si por ejemplo se fija la velocidad para ir de frente en 250, para que vaya hacia atrás con la misma velocidad es necesario colocar el ciclo de trabajo en 5.

Datasheet: http://www.ti.com/lit/ds/symlink/sn754410.pdf 3.2 Motores de la Garra Son Servomotores comunes. Se alimentan con la salida del regulador y son controlados por el arduino a través del pin de la señal conectado a una salida analógica del mismo y utilizando la librería Servo.h. El posicionamiento lo obtiene mediante realimentación a través de Encoders de posición y velocidad y es controlado por medio de pulsos que salen del arduino. El ángulo se controla enviando un pulso periódico de un ancho variable cada 20ms. Dependiendo del ancho de este pulso, el servo girará hacia el ángulo definido. La figura muestra como varía el ángulo dependiendo el ancho del pulso periódico.

La figura muestra la conexión de acuerdo al color del cable.


4- Sensores Para que el Robot pueda interactuar con el mundo hace falta la incorporación de sensores. Se llaman sensores a todos los dispositivos electrónicos que permiten convertir una variable física en una eléctrica (voltaje o corriente) para poder medirla y darle una información útil al robot. Existen 2 tipos de Sensores:  

Activos: Interactúa con el ambiente, introduce energía en el sistema para poder ver la respuesta del mismo y de esa manera poder medir. Ejm: Sensor de Distancia. Pasivos: No interactúa con el ambiente sino que utiliza la energía que se encuentra en el ambiente para realizar sus mediciones. Ejm: Sensor de Temperatura.

Todos los sensores que se encuentran en el robot entran en la categoría de Activos. 4.1- Infrarrojos Son sensores que miden la intensidad de luz infrarroja (invisible para el ojo humano) que hay en su campo de visión. Existen la tipo Interruptor (Discretos) que sirven para decir cuando hay o no la presencia de luz y están el tipo analógico que indica la cantidad de luz que hay en su línea de vista. En el robot se utilizaron 2 tipo interruptor y 1 tipo analógico. 4.1.1 Interruptor Se basan en un emisor y receptor de luz infrarroja invisible para el ojo humano que, dependiendo si está en su campo de visión, puede cerrar o abrir el circuito. El haz de luz actúa como el “cable” que cierra el circuito. La figura muestra un ejemplo de un circuito típico del estilo optoacoplador


Cuando la luz llega a la base del transistor, pasa del estado de corte a saturación y el Voltaje que se ve a la salida es un 0 lógico. Cuando no llega la luz a la base, se encuentra en estado de corte por lo que no pasa corriente por la resistencia y por lo tanto el voltaje que se ve a la salida es cercano al de la alimentación y por lo tanto es un 1 lógico. Se recomienda que el valor de la resistencia a la salida sea alto para poder definir bien los niveles lógicos. Aunque no se muestra en la figura, en la entrada debe haber una resistencia de protección para limitar la corriente que pasa por el LED Infrarrojo. Para definir el valor de la resistencia en la entrada se utiliza la siguiente fórmula:

Donde Vcc es el voltaje de alimentación del circuito, VD es el voltaje del diodo e Id es la corriente del diodo. Dependiendo del LED variará el VD y el ID. Siempre hay que encontrar el valor comercial de la resistencia más cercano que esté por encima ya que se quiere limitar la corriente para no quemar el componente. 4.1.1.1 Sensor de Luz Se encarga de indicarle al robot cuando ha llegado al final de la cancha para evitar salirse de ella. Mide la cantidad de luz que rebota del piso y, sabiendo que el borde es negro y la cancha es blanca, indica cuando llega al límite para devolverse. El color negro absorbe la luz y la blanca la refleja por lo que si llega la luz significa que está en la cancha y si no llega significa que llegó al borde. El sensor como tal es el modelo OMRON EE-SB5 y viene con la resistencia del LED ya soldada. Hace falta colocarle una resistencia de 47KΩ desde el colector del transistor a VCC para forzar un nivel alto (funciona como una resistencia de Pull-Up). Es importante decir que este sensor ya viene con un filtro para la luz visible y de esa manera disminuir el ruido en la medición. La alimentación del sensor viene por el pin de 5V fijo del arduino y se conecta a un pin del conversor analógico digital.


Datasheet: http://www.omron.com/ecb/products/pdf/en-ee_sb5(_b).pdf 4.1.1.2 Encoder Se encarga de contar el número de engranajes en la rueda y de esa manera saber la distancia que ha recorrido el carro. Es un switch óptico tipo herradura y se basa en la interrupción de haz de luz: El sensor se va a encontrar emitiendo todo el tiempo y, dependiendo como sea el engranaje, va a contar cuando haya un flanco de subida o un flanco de bajada. En el caso de Hormigonizer, se cuentan los huecos del engranaje por lo que su estado predeterminado es que no llega el haz de luz (Salida en nivel alto) y cuando pasa por el hueco llega el haz y cuenta (Salida en nivel bajo), es decir es por flanco de bajada. El dispositivo utilizado es el H21A1 con 2 resistencias: una de 390Ω para la del LED y una de 2.2KΩ para la del colector del fototransistor. La alimentación del sensor viene por el pin de 5V fijo del arduino y se conecta a un pin del conversor analógico digital.

Datasheet: http://www.robotstorehk.com/H21A1.pdf 4.1.2 Analógicos Se basan igualmente en un emisor y receptor de luz infrarroja pero esta vez tiene como salida un valor continuo de voltaje que depende de la intensidad de luz recibida. Se usan típicamente para medir distancia y proximidad ya que envía un haz de luz y mide cuanta de esa luz le regresa y de acuerdo a


esto saca un voltaje analógico que es utilizado por un microcontrolador para calcular la distancia a la que se encuentra el objeto de él. 4.1.2.1 Sensor de Proximidad Se encarga de medir la distancia a la que se encuentra un objeto del carro. Envía un haz de luz y mide la cantidad que rebota y de esta manera sabe a qué distancia se encuentra el mismo. El sensor utilizado es el dispositivo SHARP GP2Y0A21YK. Tiene como limitación que mide sólo de 10-80cm y que el objeto tiene que estar en línea recta del sensor. La alimentación del sensor viene por el pin de 5V fijo del arduino y se conecta a un pin del conversor analógico digital.

En el robot se utiliza para ubicar la comida (colocado en la parte delantera) y para saber que lo están siguiendo en el proyecto multiagente (colocado en la parte trasera). En este caso no es importante tomar en cuenta la velocidad de propagación de la luz ya que es muy alta (3.108 m/s) para las distancias que se están recorriendo por lo que es prácticamente instantáneo. Datasheet: http://www.sparkfun.com/datasheets/Components/GP2Y0A21YK.pdf 4.2 Ultrasonido Son sensores que miden el tiempo que tarda en recorrer la onda sonora ida y vuelta para saber la distancia a la que se encuentra el objeto. Utiliza la fórmula de distancia de la física clásica valiéndose de que la velocidad del sonido está parametrizada para diferentes temperaturas y, como en el laboratorio se controla esta variable, se puede decir que es constante. √ Para un ambiente de 20°C la velocidad es aproximadamente 344 metros por segundo.


Para poder enviar la onda sonora, se utilizó el sensor SRF04 que permite controlar los pulsos a un nivel muy alto. Para ello, hace falta seguir una secuencia de pasos como se muestra en la figura:

1. Envía un pulso de duración 10µs por la pata Trigger del componente. Esto genera 8 ciclos de una señal cuadrada de frecuencia 40KHz (como está en el rango ultrasónico no se escucha). 2. Coloca en nivel alto el pin de Echo hasta que regrese la señal rebotada. 3. Cuando llega la señal se coloca en bajo el Echo y debe esperarse un mínimo de 10ms para poder realizar otra medición. Para medir el tiempo, y por lo tanto la distancia, se mide la duración del pulso en Echo y se utiliza la fórmula antes mencionada. Como el trayecto fue de ida y vuelta, para encontrar la distancia del objeto se debe dividir la calculada entre 2. En la siguiente figura se muestra un esquemático del sensor:


El diagrama de conexión se muestra a continuación. Los 5V salen del pin de 5V fijos del arduino, el Echo se conecta a un pin de PWM (lado Analog Output) para poder utilizar la función de medir el ancho del pulso. El trigger se conecta en un pin I/O ya que sólo necesita colocar un 1 o un 0. Aunque el 4to conector dice que no se conecta, es recomendable conectarlo a tierra para reducir el ruido al igual que el último que dice 0V que es la referencia.

A diferencia del sensor infrarrojo, el rango de visión del sensor ultrasónico es en forma de cono como se muestra en el siguiente diagrama de antenas:

Un problema que ocasiona este tipo de sensor es que se presta a interferencias ya que si muchos robots se encuentran emitiendo y recibiendo al mismo tiempo pueden dar mediciones muy diferentes a las esperadas. Más Información: http://www.robotstorehk.com/srf04tech.pdf

Esquema Electrónico  

Descripción del Esquema Electrónico de Hormigonizer