Robot Luchador de Sumo (Diseño Electrónico) ÍNDICE 1. INTRODUCCIÓN 1 1.1.ANTECEDENTES ........................................................................................................2 1.2.OBJETIVO..................................................................................................................3 1.3.CONTENIDO DEL PROYECTO ......................................................................................3 2. HARDWARE 5 2.1.DISEÑO .....................................................................................................................5 2.1.1. Sensores..........................................................................................................5 2.1.1.1. Línea ......................................................................................................8 2.1.1.2. Posición ...............................................................................................13 2.1.1.3. Contacto...............................................................................................18 2.1.1.4. Deslizamiento ......................................................................................20 2.1.2. Etapa de potencia .........................................................................................23 2.1.3. Sistema de control ........................................................................................28 2.2.REALIZACIÓN PRÁCTICA .........................................................................................30 2.2.1. Tarjeta de acondicionamiento de sensores ...................................................31 2.2.2. Etapas de potencia........................................................................................35 2.2.3. Tarjeta de control .........................................................................................37 2.2.4. Montaje conjunto..........................................................................................39 2.3.ALIMENTACIÓN Y CONSUMOS .................................................................................40 2.3.1. Electrónica....................................................................................................41 2.3.2. Potencia ........................................................................................................42 3. SOFTWARE 43 3.1.ESTRUCTURA DEL PROGRAMA ................................................................................43 3.2.ALGORITMO DE LUCHA ...........................................................................................46 4. CONCLUSIONES 50 5. BIBLIOGRAFÍA 51 Robot Luchador de Sumo (Diseño Electrónico) 1. INTRODUCCIÓN 1. INTRODUCCIÓN El proyecto abordado consiste en el diseño y fabricación robot autónomo destinado a participar en las competiciones de robots “Luchadores de sumo”, ciñéndose a la normativa impuesta por el concurso Hispabot, cuya última revisión se adjunta como pliego de condiciones. Figura 1: Imagen de un combate de sumo. El presente documento trata el desarrollo de los elementos electrónicos del robot, mientras que el diseño y fabricación del conjunto mecánico se redactan en proyecto de fin de carrera ‘Robot Luchador de Sumo (Diseño Mecánico)’, realizado por Alonso Fernández Bombin. Cabe destacar que todas las fases, desde el comienzo del diseño hasta la depuración del prototipo, se han llevado a cabo conjuntamente por los dos proyectistas, presentándose por separado las partes mecánica y electrónica por razones académicas, y considerándose este trabajo en paralelo necesario para la obtención de un resultado óptimo. Es por esto que, para una mejor comprensión del funcionamiento del robot y algunas decisiones de diseño, se adjunta un resumen del proyecto mecánico a modo de anexo. 1 Robot Luchador de Sumo (Diseño Electrónico) 1. INTRODUCCIÓN 1.1. ANTECEDENTES La motivación de realizar este proyecto surge de las características del mismo, ya que integra una carga de trabajo elevada y la necesidad de aplicar diversidad de conocimientos, junto con la gratificación de tratarse de un proyecto de ejecución, pudiendo comprobarse prácticamente el resultado del mismo, y los requerimientos de trabajo en equipo. La idea inicial fue partir de un robot existente. El aspecto más destacable de este robot es el increíble agarre logrado, sin embargo, se estimo oportuno aumentar la potencia del mismo, así como reducir el elevado consumo de los motores, accionados por una etapa de potencia a base de transistores MOSFET, permitiendo sustituir la pesada batería de plomo empleada para alimentarlos por una más ligera. Por otro lado, se decidió cambiar el sistema de control por uno menos complejo y más adecuado a las necesidades del robot, así como reducir el tamaño de los distintos elementos para conseguir un conjunto integrado y ampliar, en lo posible, la información útil recogida por el sistema sensorial. El robot en cuestión puede observarse en la siguiente figura. Figura 2: Aspecto externo del robot predecesor. 2 Robot Luchador de Sumo (Diseño Electrónico) 1. INTRODUCCIÓN Las decisiones antes mencionadas llevaron al uso de cuatro motores en lugar de dos y al uso de baterías de menor tamaño, requiriéndose una modificación completa del chasis, lo que junto con el rediseño completo de los sistemas electrónicos desembocó en la creación de un robot completamente nuevo. 1.2. OBJETIVO Se plantean como objetivos del proyecto la consecución de un sistema sencillo, acorde con las necesidades que surjan, altamente integrado en el conjunto mecánico y fácil de programar; ajustándonos a ciertos márgenes de disponibilidad de componentes, recursos y coste. Como objetivo de esta memoria, queda el representar una guía eficaz del proceso de diseño y la ejecución del sistema electrónico de un robot, pudiendo ser una referencia útil para el desarrollo de futuros proyectos. 1.3. CONTENIDO DEL PROYECTO El siguiente texto se descompone fundamentalmente en dos bloques. En el primer bloque, Hardware, se analizan sucesivamente las posibles opciones destinadas a resolver las necesidades planteadas para las distintas partes del mismo, para luego describir las soluciones de diseño adoptadas para cada uno de los circuitos, pasando por el sistema sensorial, las etapas de accionamiento de los motores y el sistema de control. Tras esto, se procede con la descripción de las soluciones adoptadas para la realización práctica de los distintos elementos. En el segundo bloque, Software, se explica el funcionamiento del programa creado para gobernar el robot y de los recursos empleados por el mismo, seguido de los algoritmos que definen el modo en que actuará el robot en cada situación. 3 Robot Luchador de Sumo (Diseño Electrónico) 1. INTRODUCCIÓN En la siguiente imagen puede observarse el aspecto externo del robot completamente terminado. Figura 3: Aspecto externo del robot terminado. 4 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE 2. HARDWARE Denominamos hardware a la parte física o material de un sistema electrónico; para su desarrollo es esencial conocer de forma detallada las funciones que este ha de cumplir, así como el modo en que los datos deben fluir a través del mismo. Para un robot autónomo, como es el caso, es fácil identificar la necesidad de tres bloques dentro del mismo: • Un sistema sensorial que proporcione información del exterior. • Un sistema motor que permita reaccionar a los “estímulos” del sistema sensorial (etapa de potencia). • Un sistema de control que reciba la información del exterior y la interprete de forma adecuada para indicar como debe actuar el sistema motor. La creación de estos elementos será descrita en dos fases: una primera fase de diseño en la que se definirán los distintos componentes a emplear y las interconexiones de los mismos (diseño de los circuitos), y una segunda fase de ejecución o realización práctica de los mismos que comprenderá su fabricación e integración en el sistema mecánico. 2.1. DISEÑO Para el diseño de nuestro hardware partimos de una serie de ideas fundamentales u objetivos que condicionarán el mismo y con los que se intentará ser coherentes en todo momento; estas ideas podrían resumirse en la búsqueda de un sistema sencillo, intuitivo, de fácil programación y un coste reducido. 2.1.1. SENSORES Un sistema sensorial adecuado es fundamental para el correcto funcionamiento del robot, entendiendo por adecuado que dicho sistema proporcione información suficiente y 5 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE de la forma más limpia posible al sistema de control para la toma de decisiones. De este modo, un flujo de datos insuficiente o confuso desde los sensores se traducirá en reacciones poco precisas o erróneas de los sistemas de actuación. Por otro lado, un flujo excesivo de datos, por correctos que estos sean, complicará extraordinariamente los algoritmos de toma de decisiones sin producir mejoras apreciables en el funcionamiento del robot. Para una correcta elección del número y tipo de sensores a emplear se hace imprescindible contar con una definición clara de la función a desempeñar y el entorno en que van a realizarse dichas funciones. En este caso, un robot luchador de sumo, se puede afirmar que a grandes rasgos el objetivo del robot es expulsar al rival del área de combate y evitar ser expulsado por el mismo, lo que se traduce en la necesidad de localizar al oponente y reconocer los limites del ring. El recinto de combate empleado en este tipo de competiciones consiste en un círculo negro de 175cm de diámetro delimitado por una línea blanca de 5cm de anchura, levantado 5cm sobre el suelo y rodeado por un perímetro libre de obstáculos de un metro de ancho. La siguiente figura muestra un dibujo esquemático del ring en cuestión. Figura 4: Dibujo esquemático del ring. 6 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE La descripción anterior, además de otras consideraciones, se encuentran detalladas en el pliego de condiciones junto con la normativa completa del concurso. Teniendo en cuenta lo dicho anteriormente se obtienen las siguientes conclusiones en cuanto a los sensores básicos necesarios: • La presencia de una línea blanca delimitando el área negra donde ha de sucederse el combate nos señala la necesidad de usar sensores con capacidad para distinguir el color del suelo, y de este modo mantenernos en el interior del tatami. • La existencia de un perímetro libre de obstáculos alrededor del tatami nos garantiza que si la capacidad de “visión” del robot está tarada a unos límites adecuados, el oponente será el único objeto a diferenciar, lo que descarta la necesidad de usar sistemas complejos de visión artificial para localizarlo, en favor del uso de un sencillo sistema de detección de obstáculos. Es evidente pues, la necesidad de usar dos grupos imprescindibles de sensores que nos aportarán la información mínima necesaria para poder operar. Denominaremos los mencionados grupos como: • Sensores de línea, destinados a reconocer el perímetro del tatami para evitar que el robot se salga del mismo. • Sensores de posición, cuya misión será localizar al robot oponente para intentar expulsarlo del área de combate. Además de los sensores mencionados, parece interesante contar con cierta información adicional que nos permita reacciones más complejas cuando entramos en contacto con el oponente, especialmente cuando somos atacados desde un costado o cuando nuestra potencia o adherencia no resultan suficientes para contrarrestar un ataque frontal, situaciones en las que se hace patente la necesidad de cambiar la habitual rutina de ataque por una secuencia de huida que nos ayude a no ser expulsados del ring. Con esta finalidad añadiremos dos nuevos grupos de sensores: 7 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE • Sensores de contacto, que nos informaran de cuando el oponente nos esta tocando y por donde. • Sensores de deslizamiento, que nos indicarán si conseguimos avanzar en la dirección deseada o por el contrario estamos siendo empujados o bloqueados. Una vez definidos los cuatro grupos de sensores a emplear y la información que deseamos obtener de ellos, procedemos, en los apartados siguientes, a definir el tipo y numero concreto de elementos de cada uno y el diseño de las etapas de acondicionamiento pertinentes. 2.1.1.1. LÍNEA Para satisfacer la necesidad de detectar el color del suelo se emplearán sensores ópticos de infrarrojos de corto alcance. Los sensores de infrarrojos son empleados de forma habitual en aplicaciones de robótica, existe constancia del buen resultado de los mismos y su principio de funcionamiento es relativamente sencillo. Los sensores de infrarrojos constan básicamente de un emisor y un receptor de luz infrarroja, generalmente colocados en paralelo, de éste modo, cuando un objeto se sitúa ante ellos, el haz de luz emitido por el emisor es reflejado y captado por el receptor, pudiendo determinarse la presencia o no de objetos ante él, como se muestra en la siguiente figura. Figura 5: Esquema de reflexión de un sensor de infrarrojos. 8 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Asimismo, la salida analógica producida irá en función de la cantidad de haz reflejado, lo que nos permitirá determinar el color de la superficie, pues cuanto más clara sea, más luz será devuelta al receptor, mientras que cuanto más oscura, más será absorbida por la superficie en cuestión. Determinado el tipo de sensores a utilizar y antes de elegir un modelo concreto y diseñar los circuitos necesarios para su utilización, debemos decidir cuantos de ellos debemos emplear así como su posición. Teniendo en cuenta la planta cuadrada de nuestra estructura mecánica y la forma circular del área de combate, bastara situar cuatro sensores, uno en cada esquina del robot, para garantizar la detección de la línea blanca que delimita su perímetro. Figura 6: Situación de los sensores de línea. Elegido el número, tipo y posición de los sensores a emplear, nos decantamos por el uso de sensores CNY70 debido a su extensión, bajo coste y pequeño tamaño. Estos sensores son pequeños dispositivos en forma de cubo en cuyo interior cuentan con un diodo emisor de luz infrarroja de longitud de onda del orden de 950nm y un fototransistor que actúa de receptor situados en paralelo y apuntando en la misma dirección, de modo que el fototransistor conducirá más cuanta más luz se refleje contra su base. Estos dispositivos exigen una distancia de unos 0.3mm a la superficie a detectar para obtener una buena sensibilidad. 9 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 7: Aspecto externo de un CNY70. Como se observa en la imagen, los CNY70 presentan una construcción compacta integrada en un pequeño encapsulado con cuatro pines de conexión: • Pin A: ánodo o entrada al diodo que actúa como emisor. • Pin K: cátodo o salida del diodo. • Pin C: colector o entrada del transistor que actúa como receptor. • Pin E: emisor o salida del transistor. A E K C Figura 8: Esquema de conexiones de un CNY70. Para una correcta polarización del sensor, el diodo emisor debe conectarse entre alimentación y tierra, siendo necesario incluir una resistencia adicional con el fin de limitar la corriente que pasa por el mismo y que este no se queme, pues nuestra tensión de trabajo será de 5V, estándar para este tipo de aplicaciones. Según se indica en la hoja de características, incluida en los anexos de este proyecto, la corriente a circular por el led no debe ser superior a los 50mA, aunque tampoco es necesario alcanzar este valor; de este modo, con la adición de una resistencia de 330Ω, la mencionada intensidad queda limitada a unos 11mA, valor apropiado para este circuito. 10 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Por otro lado, el fototransistor receptor también ha de ser polarizado entre alimentación y tierra, teniendo en cuenta que la sensibilidad de la salida quedara determinada por el valor de la resistencia que situemos entre esta y tierra. Para obtener una salida que varíe de los 0V a 5V desde el negro hasta el blanco utilizaremos una resistencia de 10K. El circuito de polarización para cada uno de los sensores se muestra en la siguiente figura. 5V CNY 70 Vo 330 10K Figura 9: Circuito de polarización de un CNY70. Una vez polarizados adecuadamente los sensores, debemos crear los circuitos de acondicionamiento pertinentes para hacer que la señal recibida por la tarjeta de control sea lo más clara, limpia y concisa posible. Puesto que el objetivo de estos sensores no será otro que “avisar” en el momento que alcancemos el borde del tatami, es obvio que no necesitaremos distinguir entre un amplio espectro de colores, sino únicamente entre dos estados, para ello convertiremos la señal analógica obtenida a la salida del sensor en una señal lógica que emita ‘0’ (0V) mientras el suelo sea de color negro, y ‘1’ (5V) cuando este pase a ser de color blanco. Para realizar con transformación descrita de la señal, la salida de cada CNY70 se hará llegar a un operacional configurado como comparador no inversor; es decir, será llevada al terminal positivo de un operacional, mientras que en el terminal negativo del mismo se fijará una tensión de referencia, para lo que emplearemos un potenciómetro de 500K, capaz de darnos suficiente precisión a la hora de obtener un valor adecuado para 11 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE dicha referencia. De este modo, la tensión obtenida en el terminal de salida de nuestro operacional será de 5V cuando la señal de salida del sensor supere la tensión umbral prefijada, y 0V cuando sea menor, siendo esta la señal que se hará llegar a la tarjeta de control. El circuito integrado seleccionado para realizar el acondicionamiento de las salidas de los sensores es el LM324, un encapsulado de catorce pines que cuenta con cuatro transistores operacionales y que será conectado entre tierra y 5V. La razón de seleccionar este integrado radica en ser muy común, simple, barato, y en que nos permite acondicionar las señales de los cuatro sensores con un solo integrado. Figura 10: Aspecto externo y conexiones de un LM324. El circuito completo diseñado para el funcionamiento de cada uno de los sensores de línea se muestra a continuación. Los esquemas del circuito completo para los cuatro sensores se adjuntan en capítulo de planos. 5V 4 CNY 70 3 1 - 1/4 LM324 11 2 Vo + 500K 330 10K Figura 11: Circuito de acondicionamiento de un CNY70. 12 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Las pruebas realizadas a los CNY70 revelaron que la tensión de salida obtenida ante el color negro es siempre inferior a 0.5V, mientras que ante el color blanco siempre supera los 3V, comprobándose que fijando una tensión de referencia en torno a los 1.5V se obtiene un resultado más que satisfactorio para nuestra aplicación. 2.1.1.2. POSICIÓN Se nos plantean distintas opciones para resolver el problema de localizar al robot oponente durante el transcurso de un combate. Comenzaremos por analizar los principales candidatos en cuanto al tipo de sensor. La primera opción planteada fueron los sensores de infrarrojos, aunque de un tipo diferente al descrito anteriormente, mucho más adecuado para esta aplicación. Al igual que los anteriores, este otro tipo de sensor de infrarrojos cuenta con un emisor y un receptor. La luz emitida por un led infrarrojo pasa por una lente que concentra el haz en un único rayo lo más concentrado posible, mejorando así la direccionalidad del sensor; esta rayo de luz va recto hacia delante hasta que es reflejado por una superficie, rebotando con una cierta inclinación según la distancia a la que esta se encuentre. La luz reflejada es concentrada de nuevo por otra lente al retornar al dispositivo, de modo que todos los rayos inciden en un único punto del sensor de luz infrarroja que contiene la parte receptora del mismo; este sensor es un CCD lineal, y dependiendo del ángulo de recepción de la luz, esta incidirá en un punto u otro de dicho sensor, pudiendo de esta manera obtener un valor lineal y proporcional al ángulo de recepción del haz de luz, y por lo tanto a la distancia del objeto que la ha reflejado. Figura 12: Esquema de reflexión de un sensor de distancia por infrarrojos. 13 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE La segunda opción barajada eran los sensores por ultrasonidos. Los ultrasonidos son vibraciones del aire de la misma naturaleza que el sonido audible pero de una frecuencia mas elevada, superior a 20000Hz, no audibles por el oído humano. Estos sensores, al igual que los anteriores, se componen de un emisor y un receptor; el primero emite impulsos de ultrasonidos que viajan a gran velocidad hasta alcanzar un objeto, entonces el sonido es reflejado y captado de nuevo por el receptor de ultrasonidos. Comúnmente llevan un controlador incorporado que hace al emisor lanzar una ráfaga de impulsos, y a continuación empieza a contar el tiempo que tarda en llegar el eco, el cual será proporcional a la distancia a la que se encuentre el objeto. De forma habitual, la señal obtenida como salida del sensor consiste en un pulso de eco de anchura proporcional a la distancia a la que se encuentra la superficie que lo ha reflejado. A pesar de contar este último tipo de sensores con un alcance y precisión bastante superior a los primeros, nos decantamos por el uso de sensores de infrarrojos, ya que su funcionamiento es mucho mas sencillo, así como la interpretación de la salida que producen, siendo además su coste notablemente menor. Por otro lado, no requerimos un alcance demasiado elevado, dado el tamaño del área de combate, y en cuanto a la precisión, concluimos que para nuestra aplicación, analizar la distancia a la que se encuentra el obstáculo no nos proporcionaría grandes ventajas en cuanto a las posibles respuestas del robot, y sin embargo complicaría de forma acusada la programación del mismo. Llegados a este punto, se plantean multitud de opciones en cuanto a la posición y número de elementos a emplear, pasando por la posibilidad de usar incluso uno sólo montado sobre un soporte giratorio, opción descartada por implicar el uso un encoder para determinar la orientación en el momento de la lectura y un sistema mecánico más complejo, teniendo por otro lado en cuenta que el coste de estos sensores no es elevado, por lo que el uso de varios de los mismos no alcanzará costes prohibitivos. Finalmente optamos por el uso de ocho sensores situados de forma que queden cubiertas las cuatro diagonales del robot según se muestra en la figura de la página siguiente. 14 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 13: Situación de los sensores de posición. La razón de seleccionar ésta orientación y no otra es principalmente que en este tipo de combates, los robots participantes se hallan en constante movimiento, a fin de no convertirse en un blanco fácil. Debido a este movimiento constante, los ángulos muertos que quedan en perpendicular a los laterales resultarán rápidamente barridos por los sensores más abiertos respecto a la dirección de avance. Los otros dos ángulos muertos quedarán en el frente y la trasera de nuestro robot, diferenciando alante y atrás únicamente por la dirección de avance, ya que nuestra mecánica funciona exactamente igual en ambos sentidos. En cuanto al frente, si el oponte se halla allí situado, estaremos avanzando hacia él, por lo que no será necesario reorientarnos, finalidad a la que están destinados estos elementos, y en caso de salirse de nuestra trayectoria, será detectado por los sensores situados de forma más paralela a la misma. Por otro lado, es prácticamente imposible que el oponente se sitúe detrás nuestro sin haber sido detectado por los sensores orientados hacia ambos lados de esta posición, y en caso de hacerlo, imposible que nos alcance antes de que hallamos “rebotado” contra el perímetro exterior del tatami y por tanto avancemos hacia él. Aparte de lo ya explicado, contaremos con los sensores de contacto en el caso de que el rival nos alcance sin haber sido “visto”, aunque esta posibilidad será desarrollada en el siguiente apartado. Definido el número, posición y orientación de los sensores, pasamos a la selección de un modelo concreto. Existen en el mercado multitud de estos sensores que difieren entre otras cosas en cuanto a umbrales mínimo y máximo de detección y tipo de salida 15 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE (analógica o digital); a continuación se muestra un gráfico comparativo de algunos de los más comunes de la marca Sharp. Figura 14: Comparativa de sensores de infrarrojos Sharp. Los sensores seleccionados, por su rango de detección, disponibilidad y coste, son los Sharp GP2Y0A21YK, que no se hallan reflejados en la comparativa anterior, pero cuyas características son muy similares a las del modelo GP2D12, contando con salida analógica y un rango de detección de 10 a 80cm según especificaciones, aunque en la práctica comprobamos que el umbral mínimo es del orden de un centímetro, y el máximo varía levemente en función de la luz ambiental y las características de la superficie del objeto a detectar. Otros datos de estos sensores pueden consultarse en su hoja de características, incluida en los anexos. Figura 15: Aspecto externo de un Sharp GP2Y0A21YK. 16 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Los sensores elegidos cuentan con un conector de tres pines destinados a los siguientes propósitos: • Pin 1: tensión de salida. • Pin 2: conexión a tierra. • Pin 3: conexión a alimentación (5V). Figura 16: Conexiones de un Sharp GP2Y0A21YK. Como dijimos anteriormente, no deseamos conocer la distancia a la que se encuentra el objeto detectado, sino sólo su presencia; por ello, transformaremos la señal analógica obtenida a la salida de cada sensor en niveles lógicos: nivel bajo (0V) cuando no halla presencia de ningún obstáculo, y nivel alto (5V) cuando el sensor detecte algo situado ante sí. Con el fin de realizar este acondicionamiento de la señal, se hará pasar la salida de cada Sharp GP2Y0A21YK por un operacional configurado como comparador no inversor, así que como hicimos previamente con los CNY70, la salida de cada sensor se conectará al terminal positivo del transistor, manteniendo el terminal negativo conectado a una tensión de referencia determinada por la posición de un potenciómetro de 500K, que nos dará precisión más que suficiente para fijar dicha tensión. De este modo, obtendremos 5V a la salida del operacional cuando la tensión a la salida del sensor supere el valor de referencia, y 0V cuando sea inferior, siendo esta señal la que haremos llegar a la tarjeta de control. Para realizar este proceso utilizaremos dos circuitos integrados LM324, capaces de procesar cuatro señales cada uno de ellos como ya se ha descrito en el apartado anterior, y por las mismas razones de disponibilidad, simplicidad y coste. 17 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE El circuito diseñado para el funcionamiento de cada uno de los sensores de posición se muestra a continuación. Los esquemas del circuito completo para los ocho sensores se adjuntan en capítulo de planos. 4 5V 3 2 1 Vo 3 + 1 2 - 1/4 LM324 11 Sharp 500K Figura 17: Circuito de acondicionamiento de un Sharp. En las pruebas realizadas a los sensores de posición comprobamos que la tensión obtenida a su salida, tanto al no tener delante ningún objeto, como al tenerlo a distancias del orden de un metro, es siempre inferior a los 0.5V en diversas condiciones de luz ambiental, con lo que será este el valor de referencia para nuestros comparadores, conservando la mayor “capacidad visual” posible y garantizando que el oponente será el único objeto detectable, ya que las especificaciones del área de combate definen un perímetro de un metro libre de obstáculos alrededor del tatami. 2.1.1.3. CONTACTO A la hora de detectar el contacto con el robot oponente parece adecuado el uso de algún tipo de pulsador mecánico. Entre la infinidad de este tipo de elementos que es posible encontrar en el mercado, nos decidimos por el uso de finales de carrera por su sistema de accionamiento, disponibilidad y sensibilidad. Un final de carrera no es más que un conmutador de dos posiciones con una palanca de accionamiento y un muelle de retorno a la posición de reposo, en la que permanecerá salvo cuando este siendo pulsado. 18 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 18: Aspecto externo y esquema de funcionamiento de un final de carrera. Dada la planta cuadrada de nuestro robot, existen únicamente cuatro posibilidades en cuanto a la posición en que podemos entrar en contacto con el oponente, así que bastará con el uso de cuatro de sensores de contacto para cubrir todo el perímetro, ya que nuestra carcasa exterior nos permitirá accionarlos ante un contacto en cualquier punto. Figura 19: Situación de los sensores de contacto. Ya que el objetivo de estos sensores será detectar el contacto, pretendemos recibir a su salida un ‘1’ (5V) cuando exista contacto y un ‘0’ (0V) cuando no exista; para ello, simplemente conectaremos el terminal de reposo del fin de carrera a tierra, mientras que el terminal de activación estará puesto a 5V, siendo el terminal común la salida de nuestro sensor. Dada la naturaleza de la salida obtenida, sólo niveles bajo y alto, no será necesario realizar un acondicionamiento de la señal, simplemente añadiremos una resistencia de 19 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE 10K, que hará las veces de pull-up y pull-down, entre el terminal común del fin de carrera y la entrada de nuestra tarjeta de control, limitando así la corriente que llegará a esta última. El circuito para cada uno de los sensores de contacto se muestra a continuación. El circuito completo para los cuatro elementos se adjunta en el capítulo de planos. 5V Final de carrera Vo 10K Figura 20: Circuito de acondicionamiento de un final de carrera. 2.1.1.4. DESLIZAMIENTO Una vez alcanzado el contacto frontal con el oponente, y con el fin de saber si estamos consiguiendo nuestro objetivo de empujarle o por el contrario estamos siendo empujados o bloqueados, pondremos en juego lo que hemos denominado sensor de deslizamiento. Para cumplir esta función, y puesto que conocemos nuestro sentido de movimiento, el método más intuitivo es añadir una rueda adicional independiente de la tracción de nuestro robot sobre la que podamos leer su sentido de giro y así compararlo con el avance pretendido. Para determinar el sentido de giro de esta rueda adicional se nos plantean diversas opciones, que van desde el uso de un encoder comercial hasta la creación de nuestro propio sistema, pasando por la extracción del mecanismo de un ratón de ordenador. La primera opción, el uso de un encoder comercial, fue inmediatamente descartada debido a su elevado coste. A grandes rasgos, el funcionamiento del encoder de un ratón se basa en la interposición de un disco perforado entre dos emisores de infrarrojos y sus dos receptores correspondientes, de modo que al girar interrumpe a impulsos la conexión entre estos. 20 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 21: Aspecto interno de un ratón de ordenador. Para determinar el sentido de giro, se espera el impulso positivo de uno de los sensores de infrarrojos, momento en que el otro sensor estará cambiando de nivel al alto a bajo o viceversa, siendo este flanco de subida o bajada el que determina el sentido. Por tanto, el uso de éste mecanismo nos obligaría a tener que detectar flancos, por lo que esta opción también fue descarta a favor de nuestro propio sistema, descrito a continuación, en el que sólo es necesario leer estados. El método finalmente utilizado para la detección del deslizamiento es de creación propia, y consiste en acoplar un disco de tres colores a la rueda adicional, más concretamente blanco, negro y un gris intermedio, orientando contra este un sensor con capacidad para detectar el color, de modo que tras realizar una lectura y compararla con la siguiente podremos determinar si hemos avanzado, retrocedido, o permanecido inmóviles. El sensor seleccionado para realizar la lectura descrita fue el CNY70, ya descrito anteriormente, y polarizado del mismo modo. Figura 22: Sensor de deslizamiento. 21 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Como ya sabemos, la salida proporcionada por el CNY70 es analógica, y debemos transformarla en una señal lógica, pero en este caso de dos bits, ya que existen tres estados posibles. Para ello haremos llegar la salida del sensor a dos operacionales configurados como comparadores no inversores tarados a distintos niveles, por tanto, esta será conectada a los terminales positivos de ambos transistores, manteniendo sus terminales negativos conectados a sendos potenciómetros de 500K, capacitados para regular, con suficiente precisión, tensiones de referencia adecuadas para causar el disparo ante los colores gris y blanco respectivamente. De este modo, la tensión obtenida a la salida del comparador tarado para el color gris será de 5V cuando la salida del sensor supere el umbral fijado, es decir, cuando nos encontremos ante el gris y blanco, y será de 0V cuando no la supere, es decir, ante el negro. En el segundo comparador, tarado para el color blanco, la salida será un nivel alto (5V) sólo cundo el sensor este ante la parte blanca del disco, manteniéndose en nivel bajo (0V) cuando este ante las partes negra y gris. Finalmente, la señal obtenida en el conjunto de los dos bits que haremos llegar hasta la tarjeta de control, podrá presentar los siguientes estados: • 00: el sensor esta ante el negro. • 01: el sensor está ante el gris. • 11: el sensor está ante el blanco. El circuito integrado seleccionado para realizar la transformación descrita a la señal de salida del sensor CNY70 es el LM358. Este integrado se presenta en un encapsulado con ocho pines de conexión, y cuenta con dos transistores operacionales; para su alimentación, será conectado entre 5V y tierra. La elección de este circuito integrado se basa, igual que la mayor parte de los elementos empleados, en su simplicidad, disponibilidad y coste, además de ajustarse exactamente a nuestras necesidades. 22 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 23: Aspecto externo y conexiones de un LM358. El circuito completo diseñado para el funcionamiento de nuestro sensor de deslizamiento se muestra en el siguiente gráfico. 8 5V Vo1 3 + CNY 70 1 2 4 1/2 LM358 8 500K Vo2 5 + 10K 6 - 1/2 LM358 4 330 7 500K Figura 24: Circuito de acondicionamiento del sensor de deslizamiento. Las tensiones seleccionadas como umbrales para la comparación en los operacionales para el gris y el blanco fueron de 1.5V y 3V respectivamente. 2.1.2. ETAPA DE POTENCIA La etapa de potencia es el elemento que hace de intermediario entre las partes mecánicas y electrónicas, en este caso, más concretamente entre la tarjeta de control y los 23 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE motores, adaptando la señal enviada por la primera y consiguiendo que los segundos se encienda o apaguen y giren en uno u otro sentido. La necesidad de usar esta etapa intermedia radica en la escasa capacidad para suministrar corriente de la tarjeta de control, que por si sola no sería capaz de mover los motores. El método más sencillo para lograr la intensidad requerida es mediante el uso de un transistor de cierta potencia funcionando como un interruptor controlado por la señal lógica emitida, es lo que comúnmente llamamos driver de corriente; de este modo, el circuito digital sólo enciende y apaga el transistor, siendo este el que enciende y apaga el motor. Por otro lado, tenemos que la mayor parte de los dispositivos electromecánicos son inductivos, como es el caso de los motores, por lo que la corriente en ellos no puede variar de forma instantánea, tendiendo a mantener durante unos instantes la corriente en circulación tras la apertura del circuito, pudiendo generarse una chispa capaz de dañar el elemento que realizó la desconexión. Para evitar esto, se añade un diodo de protección a fin desahogar la corriente residual producida por el elemento inductivo. El sistema descrito es suficiente para mover los motores, pero no para nuestro sistema de tracción, en el que han de poder girar en ambos sentidos, haciéndose necesario el uso de puentes H. El puente H es un circuito basado en el uso de cuatro interruptores que debe su nombre a su forma, y que habilitan el paso de la corriente en los dos sentidos a través del elemento al que se conectan en función del estado de los mismos. En la figura siguiente se muestra un esquema básico de un puente H. Figura 25: Esquema básico de un puente H. 24 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Como hemos dicho, el uso de estos circuitos nos permitirá invertir la corriente en los motores, permitiéndonos cambiar su sentido de giro sin necesidad de recurrir a voltajes negativos. Su funcionamiento es muy sencillo, ya que como puede observarse, permaneciendo A y D cerrados y B y C abiertos, la corriente circula en un sentido, mientras que si mantenemos abiertos los primeros y cerrados los segundos, el sentido esta será opuesto. En la figura siguiente se muestran las dos posibilidades de funcionamiento descritas sobre un puente H construido con transistores MOSFET. Figura 26: Circulación de la corriente en un puente H. Llegado el momento de diseñar esta etapa debemos tomar como punto de partida las características de los motores que debemos alimentar, de los cuales sabemos que tienen una tensión nominal de 12V y un consumo a plena carga no superior a los 1.5A. Estas características hacen innecesario el uso de puentes de fabricación propia aptos para el manejo de intensidades muy elevadas, ya que se encuentran en el mercado dispositivos adecuados a nuestras necesidades. A continuación puede verse una imagen del tipo de motor empleado. Figura 27: Motor tipo empleado en la tracción del robot. 25 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE El circuito integrado seleccionado fue el L298, el cual se presenta en un encapsulado tipo Multiwatt con quince pines de conexión e integra dos puentes H completos, aunque sin diodos de protección, pudiendo manejar intensidades de hasta 2A por canal y tensiones de hasta 46V. Este integrado cuenta también con la capacidad de ser controlado usando niveles lógicos TTL, lo que lo hace perfecto para nuestra aplicación si además tenemos en cuenta su reducido tamaño, simplicidad de manejo y bajo coste. Esta información se encuentra ampliada en la hoja de características correspondiente adjunta en los anexos. Figura 28: Aspecto externo de un L298. Antes de proseguir, nótese que nuestro robot cuenta con cuatro motores, mientras que el L298 sólo esta capacitado para accionar dos de estos, es por ello que utilizaremos dos circuitos completos como el que se describe más adelante, uno para los motores de cada lado. Sin entrar en demasiados detalles, mencionar que el L298 cuenta con dos entradas de control y dos salidas para la carga en cada canal, conexión a tierra, alimentación para la lógica, y alimentación para la salida, además de un terminal de control para la corriente y otro de encendido en cada canal. En la figura 26, mostrada en la página siguiente, puede comprobarse la correspondencia de estos pines. 26 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 29: Diagrama de bloque y conexiones de un L298. Puesto que en ningún momento haremos girar los dos motores del mismo lado en sentidos opuestos, es innecesario el uso de cuatro señales de control para manejarlos, por lo que será cortocircuitado el pin 5 con el 10 y el 7 con el 12. Los pines 6 y 11, destinados a encender o apagar cada puente H, serán igualmente cortocircuitados y llevados hasta la tarjeta de control junto con los anteriores .El pin 8 quedará puesto a tierra, al igual que el 1 y el 15, pues no deseamos monitorizar ni limitar la corriente de la carga. El pin 9 quedará conectado a alimentación de 5V, y al 4 se hará llegar la tensión de la batería destinada a alimentar los motores, de la que hablaremos en el apartado correspondiente. Finalmente, entre los pines 2 y 3 por un lado, y 13 y 14 por otro, serán conectados los motores con sus correspondientes puentes de diodos de protección. El circuito resultante se muestra en la siguiente figura. 5V Vbat L298 Vi1 Enable Vi2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Motor1 Motor2 Figura 30: Circuito de una etapa de potencia. 27 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE La tabla de verdad para el control de los motores a través del circuito diseñado se adjunta a continuación. Enable Vi1 Vi2 Estado de los motores 1 1 1 Detenidos 1 1 0 Giro en sentido 1 1 0 1 Giro en sentido 2 1 0 0 Desconectados 0 X X Desconectados Tabla 1: Tabla de verdad para el control de los motores. 2.1.3. SISTEMA DE CONTROL Desde un principio se tomo la decisión de basar el sistema de control en un microcontrolador de la familia PIC por su versatilidad y sencillez. De entre las innumerables tarjetas comerciales basadas en estos microcontroladores, la elegida fue la tarjeta de control Mark III, más concretamente, la versión OOPic (Object Oriented PIC) de la misma. Figura 31: Tarjeta de control Mark III (Versión OOPic). 28 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE La Mark III hace uso de un microcontrolador PIC16F877, que se presenta en un encapsulado de 40 pines y cuenta con 33 líneas de entrada/salida divididas en cuatro puertos, aunque dos de estas líneas quedarán inutilizadas para comunicación con la EEPROM. No entraremos en detalles sobre la arquitectura de este microprocesador, ya que los objetos implementados en el sistema OOPic nos harán posible el uso de toda su capacidad sin necesidad de que accedamos a sus registros ni recursos internos de forma explícita. Las disposiciones generales de la hoja de características del PIC16F877 se adjuntan en los anexos. Aparte del microcontrolador empleado, los elementos más relevantes que encontramos en esta tarjeta de control son: • Regulador de tensión MAX667CPA con indicador de batería baja. • Resonador de 20MHz. • EEPROM 24LC256. • Adaptador RS-232 con conector DB9 para transmisión y recepción de datos. • Conector I2C. • Conector de 40 pines con acceso a las líneas de entrada/salida del PIC. • Circuitos de acondicionamiento y conectores para sensores varios. • Conectores para servos. • Jumper de configuración de funcionamiento. • Pulsador de reset. Aunque ya hablaremos de ello en el apartado correspondiente de la realización práctica, cabe mencionar que algunos de estos elementos no serán utilizados, por lo que prescindiremos de ellos. La interconexión con el resto de elementos del sistema se realizará a través del conector de 40 pines; la tabla adjunta en la siguiente página muestra las correspondencias de dichos pines y las conexiones realizadas para el flujo de datos desde los sensores hasta la tarjeta de control, previo acondicionamiento, y de esta hasta las etapas de potencia para el control de los motores. 29 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE 1 Local I2C Serial Data 2 GND 3 Local I2C Serial Clock 4 Power 5 Reset 6 I/O 15 → Línea 4 7 I/O 1 8 I/O 14 → Línea 3 9 I/O 2 10 I/O 13 → Línea 2 11 I/O 3 12 I/O 12 → Línea 1 13 I/O 4 14 I/O 11 → Contacto 4 15 I/O 5 16 I/O 10 → Contacto 3 17 I/O 6 → Desliz. 1 18 I/O 9 → Contacto 2 19 I/O 7 → Desliz. 2 20 I/O 8 → Contacto 1 21 +5V 22 +5V 23 GND 24 GND 25 I/O 16 → DirM1 1 26 I/O 31 → Posición 8 27 I/O 17 → EnableM2 28 I/O 30 → Posición 7 29 I/O 18 → EnableM1 30 I/O 29 → Posición 6 31 I/O 19 → DirM1 2 32 I/O 28 → Posición 5 33 I/O 20 → DirM2 1 34 I/O 27 → Posición 4 35 I/O 21 → DirM2 2 36 I/O 26 → Posición 3 37 I/O 22 38 I/O 25 → Posición 2 39 I/O 23 40 I/O 24 → Posición 1 Tabla 2: Conector de 40 pines de la tarjeta de control. Para más información, los esquemas electrónicos y planos de la tarjeta de control Mark III pueden consultarse en la sección de planos. 2.2. REALIZACIÓN PRÁCTICA Llegado el momento de realizar físicamente los circuitos diseñados nos planteamos, como principal objetivo, el logro de una alta integración en el conjunto mecánico, lo que 30 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE nos impondrá unas restricciones importantes en cuanto al tamaño y forma de los elementos. Este problema resulta agravado por la necesidad de realizar los circuitos impresos en una sola cara debido a los medios disponibles. El programa utilizado para el diseño de las tarjetas fue el Eagle. 2.2.1. TARJETA DE ACONDICIONAMIENTO DE SENSORES Con el fin de reducir el número de elementos y cables de interconexión entre los mismos se tomó la decisión de reunir en una sola tarjeta los circuitos de acondicionamiento de todos los sensores. Por otro lado, la incapacidad del regulador de tensión incluido en la tarjeta de control para alimentar todo el sistema, nos llevo a la necesidad de añadir un regulador adicional en la tarjeta de acondicionamiento de sensores, utilizando el anterior únicamente para la alimentación de la electrónica de las etapas de potencia. El regulador empleado fue el LM7805, presentado en un encapsulado de tres pines y capaz de proporcionarnos hasta 1A, más que suficiente para nuestras necesidades. Figura 32: Aspecto externo y conexiones de un LM7805. Al comienzo de la siguiente página se muestra un esquema del sencillo circuito de alimentación empleado, que además del regulador sólo empleará dos condensadores para estabilizar la tensión. 31 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE LM7805 Vin Vo = 5V 3 0.1uF 2 1 0.1uF Figura 33: Circuito de alimentación de la tarjeta de acondicionamiento. Las restricciones impuestas por el diseño del conjunto mecánico limitaron el tamaño de la tarjeta a emplear a los 57x74mm, debiendo dejar la zona central de la misma libre de electos abultados a fin de alojar el sensor de deslizamiento. En la siguiente figura se presenta un esquema de la tarjeta diseñada y sus conectores, señalando en rojo las tomas de alimentación (5V) y en negro las de tierra para los distintos sensores; como puede observarse, se optó por el uso de una única toma para grupos completos de sensores por cuestiones de espacio. El esquema completo del circuito conjunto, así como los planos del circuito impreso pueden consultarse en la sección de planos. C. Línea C. Deslizamiento C. Posición 1 Alimentación C. Contacto C. Posición 2 C. Tarjeta de Control Figura 34: Conexiones de la tarjeta de acondicionamiento de sensores. 32 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Las correspondencias de los pines de los distintos conectores empleados están reflejadas en las siguientes tablas según su situación en la figura anterior para una interpretación directa, por lo que su numeración no resultará acorde con la de la imagen. 1Izq. Polarización Línea 1 1Dcha. Salida Línea 1 2Izq. Polarización Línea 2 2Dcha. Salida Línea 2 3Izq. Polarización Línea 4 3Dcha. Salida Línea 4 4Izq. Polarización Línea 3 4Dcha. Salida Línea 3 Tabla 3: Conector de sensores de línea. 1 Contacto 1 2 Contacto 2 3 Contacto 3 4 Contacto 4 Tabla 4: Conector de sensores de contacto. 1 Posición 1 2 Posición 2 3 Posición 3 4 Posición 4 Tabla 5: Conector de sensores de posición 1. 1 Posición 8 2 Posición 7 3 Posición 6 4 Posición 5 Tabla 6: Conector de sensores de posición 2. 1 Salida Deslizamiento 2 Polar. Deslizamiento Tabla 7: Conector del sensor de deslizamiento. 33 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE 1 Deslizamiento 2 2 Deslizamiento 1 3 Posición 2 4 Posición 1 5 Posición 4 6 Posición 3 7 Contacto 1 8 Contacto 2 9 Contacto 4 10 Contacto 3 11 Posición 7 12 Posición 8 13 Posición 5 14 Posición 6 15 Línea 1 16 Línea 2 17 Línea 4 18 Línea 3 Tabla 8: Conector de datos para la tarjeta de control. Los potenciómetros empleados para el ajuste de las tensiones de referencia de los distintos sensores pueden identificarse en la siguiente figura. Ajuste ref. Deslizamiento 1 Ajuste ref. Deslizamiento 2 Ajuste ref. Posición Ajuste ref. Línea Figura 35: Potenciómetros de ajuste de tensiones de referencia. 34 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE En las siguientes imágenes puede observarse el resultado final de la tarjeta completamente montada y su incorporación al sistema mecánico. Figura 36: Tarjeta de acondicionamiento y montaje. 2.2.2. ETAPAS DE POTENCIA A la hora de diseñar el circuito impreso de las etapas de potencia se decidió que las tarjetas resultantes sirviesen para propósitos generales, no solamente para nuestra aplicación; es por esto que se optó por no incluir en ellas los cortocircuitos correspondientes entre las entradas de control de los puentes H descritos en el apartado correspondiente de diseño y realizarlos posteriormente de forma externa, habilitando el uso de las etapas para el manejo de dos dispositivos de forma independiente. Aparte de lo ya mencionado, la única modificación realizada sobre los circuitos diseñados fue la adición de condensadores entre las alimentaciones y tierra, recomendables 35 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE cuando las fuentes de tensión no se hallan lo suficientemente cerca del circuito como para garantizar su estabilidad. Las limitaciones de tamaño impuestas por el diseño del conjunto mecánico obligaron a reducir el tamaño de las etapas a tarjetas de 57x36mm. En la siguiente figura se muestra un esquema de las tarjetas resultantes; el esquema de los circuitos electrónicos así como los planos del circuito impreso pueden consultarse en la sección de planos. Conexión motor A Alimentación motores Tierra Conexión motor B Figura 37: Tarjeta de etapa de potencia. La correspondencia de los pines de conexión del conector de cinco pares empleado se muestra en la siguiente tabla según su situación en la figura para una interpretación directa, no correspondiéndose su numeración con la de la imagen. 1 Sense A 2 Dirección A 1 3 Enable A 4 Dirección A 2 5 Tierra 6 +5V 7 Enable B 8 Dirección B 1 9 Sense B 10 Dirección B 2 Tabla 9: Conector de las tarjetas de etapa de potencia. 36 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE El resultado final de las tarjetas completamente montadas, así como su alojamiento en el interior del robot puede observarse en las siguientes imágenes. Figura 38: Etapas de potencia y montaje. 2.2.3. TARJETA DE CONTROL A la hora de realizar el montaje de la tarjeta de control adquirida se prescindió de algunos de sus elementos: • No se incluyo el adaptador RS-232 ni los elementos adicionales para su funcionamiento, incluyendo el conector DB9, pues la comunicación con la tarjeta se realizaría a través del bus I2C. • No se incluyeron los elementos de polarización y acondicionamiento de sensores ni sus conectores correspondientes por no ser utilizados. 37 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE • No se incluyeron los conectores destinados a servos por igual motivo que el punto anterior. • La resistencia de pull-up situada en la línea de interrupción externa fue suprimida para habilitar el uso de esta para otra función. El resultado final de la tarjeta montada según estas indicaciones y su incorporación al conjunto puede verse en las siguientes imágenes. Figura 39: Tarjeta de control y montaje. Para la programación de esta tarjeta a través de del bus I2C fue necesaria la fabricación de un cable específico cuyo esquema puede consultarse en el apartado de planos. Al comienzo de la siguiente página puede observarse una imagen del mencionado cable de programación. 38 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE Figura 40: Cable de programación. 2.2.4. MONTAJE CONJUNTO Se presenta a continuación un esquema básico de las interconexiones entre los distintos elementos que conforman el conjunto diseñado. Figura 41: Esquema de interconexión de elementos. En cuanto a este esquema, cabe aclarar que a fin de aprovechar el indicador de batería baja de la tarjeta de control, la alimentación de la tarjeta de acondicionamiento de sensores fue tomada del pin correspondiente a la tensión no regulada del conector de 40 incluido en la Mark III, aprovechando las tomas de tensión reguladas del mismo para la alimentación de la electrónica de las etapas de potencia. 39 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE La falta de espacio, unida al no poder realizar circuitos impresos de dos caras, imposibilitó reorganizar los pines de conexión de las tarjetas, así como nos llevo, como ya mencionamos, al uso de una única conexión para la alimentación de grupos de sensores. Por estas razones, entre otras, se hizo imposible el uso de cables simples tipo cinta para las conexiones entre los distintos circuitos, así como para la de éstos con los sensores, viéndonos obligados a realizar diversos cruces y cortocircuitos entre las líneas de los distintos cables utilizados para lograr las conexiones pin a pin que se han descrito a lo largo del proyecto. En la siguiente imagen pueden observarse algunos de los cables utilizados. Figura 42: Cables de interconexión empleados. 2.3. ALIMENTACIÓN Y CONSUMOS En este apartado se recogen los consumos máximos estimados de los distintos componentes del sistema según sus hojas de características y algunas mediciones realizadas. Las autonomías tanto de la electrónica como de la potencia aquí determinadas son las mínimas, resultando notablemente superiores las obtenidas en la práctica. En el caso de la electrónica, esto se debe a la no existencia de simultaneidad en el “encendido” de los distintos componentes; y en el caso de los motores a que estos no se encuentran permanentemente a plena potencia ni con máxima carga. 40 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE 2.3.1. ELECTRÓNICA En la siguiente tabla se muestra un resumen de los consumos de la parte electrónica. Téngase en cuenta que “tarjeta de acondicionamiento” excluye la polarización de los sensores, incluyéndose esta en el consumo del respectivo sensor. Cantidad Consumo (mA) Subtotal (mA) CNY70 4 12 48 Sharp GP2Y0A21YK 8 40 320 Sensor de contacto 4 1 4 S. de deslizamiento 1 12 12 T. Acondicionamiento 1 30 30 T. Control 1 100 100 Etapa de potencia 2 40 80 Total 670 mA Tabla 10: Consumos de la electrónica. Debido a la tensión mínima requerida por los reguladores de tensión se optó por el uso de pilas de 9V para la alimentación de la electrónica, evitando la necesidad de poner elementos en serie. Por otro lado, teniendo en cuenta que la capacidad de estas pilas es del orden de 500mA/h y que contamos con un margen de peso razonable, se hace interesante el uso de dos pilas en paralelo, obteniendo una autonomía mínima de unos 90 minutos. Figura 43: Pilas y alojamiento. 41 Robot Luchador de Sumo (Diseño Electrónico) 2. HARDWARE 2.3.2. POTENCIA El ensayo de carga realizado a los motores de 12V empleados reveló un consumo de cada uno de los mismos de aproximadamente 1.2A en máxima carga, con lo que el consumo máximo de las cuatro unidades en conjunto resulta de unos 4.8A, no siendo significativa la influencia de las etapas de potencia debido a su alto rendimiento. Para la alimentación de los motores se optó, por razones de ahorro de peso principalmente, por el uso de baterías recargables de ión de litio, empleándose cuatro elementos de 3.6V y 1600mA/h conectados en serie, obteniéndose 14.4V a su salida y una autonomía mínima de veinte minutos. Figura 44: Baterías y alojamiento. 42 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE 3. SOFTWARE La programación del dispositivo se realizo a través del bus I2C de la tarjeta de control, conectado al puerto paralelo del ordenador, mediante el uso de una sencilla herramienta de desarrollo distribuida en www.oopic.com que permite el uso de los lenguajes Basic, Java y C. Para la creación del programa se hizo uso de diversos recursos otorgados por el sistema OOPic. El concepto de OOPic es simple, en el microcontrolador de la tarjeta se encuentran programados una serie de objetos destinados a interactuar con el hardware en segundo plano, mientras el código cargado en la EEPROM los controla. Toda la información sobre OOPic, los objetos que emplea, etc. se encuentra detallada en su página web. 3.1. ESTRUCTURA DEL PROGRAMA Antes de describir el como funciona el programa y el modo en que actúa el robot ante cada situación, comenzaremos por asignar la numeración pertinente a los sensores de cada grupo; esta información se recoge en la siguiente figura, señalándose en rojo los sensores de posición, en azul los de contacto y en negro los de línea. 2 3 2 4 5 3 6 1 3 2 7 1 1 8 4 4 Figura 45: Numeración de los sensores. 43 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE Asimismo se definió como sentido de avance 1 el que queda al lado izquierdo según la figura, y como sentido 2 el que queda a la derecha; y se llamó motores 1 a la pareja de la parte superior, mientras que los del lateral que queda en la parte inferior de la misma se designaron como motores 2. Al inicio, el programa comienza asignando a los objetos correspondientes a procurarnos el estado de los sensores sus respectivas líneas de entrada, seguidas de las pertinentes para accionar las líneas de salida para el control de los motores. Para controlar el sentido de giro de cada pareja de motores se emplean dos líneas del modo que se ha descrito anteriormente; además se emplea una línea adicional para la activación y control de velocidad de cada grupo. El control de velocidad de los motores se realizará por PWM (Pulse Width Modulation). Este sistema consiste en accionar los motores mediante una señal cuadrada de alta frecuencia cuyo ancho de pulso es variable, permitiéndonos controlar el valor eficaz de la onda. Figura 46: Señal PWM. Una vez definidos las entradas y salidas se introduce una demora de cinco segundos según las normas del concurso, tras lo cual se procede a realizar una sacudida del robot a fin de desplegar las planchas a ambos lados del mismo antes de iniciar los eventos que definen el funcionamiento del programa. Los eventos son pequeños subprogramas con capacidad para interrumpirse unos a otros según un orden de prioridades. La activación de estos eventos se encuentra ligada a la salida de una serie de circuitos virtuales, un recurso de OOPic que permite programar circuitos que actúan como si de un circuito físico se tratase, operando constantemente 44 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE mientras se encuentran activos; de este modo, se ligo cada evento a través de una puerta lógica OR a los elementos del grupo de sensores que lo “disparan”. Los eventos empleados fueron: • Línea: Cuando se activa comprueba los sensores de línea de uno en uno, provocando el alejamiento de la línea con una curva leve en la dirección más adecuada en cada caso. Éste es el evento con mayor prioridad, por lo que puede interrumpir cualquier otra actuación del robot por razones lógicas. • Contacto: Una vez activado comienza por comprobar los sensores uno y tres; en caso de estar alguno de ellos activo, se procede al avance a plena potencia en el sentido que corresponda, se almacena el estado del sensor de deslizamiento, y se compara con el estado actualizado en otra variable periódicamente durante un segundo. Durante este segundo, si en algún momento se detecta retroceso, se procede con una secuencia de huida, al igual que si pasado ese segundo no hemos conseguido avanzar. Posteriormente se comprueban los sensores dos y cuatro, procediéndose con la rutina de huida correspondiente al contacto lateral en su caso. Este evento es el segundo en prioridad, pues las reacciones que genera son prioritarias sobre las de reorientación. • Posición: Este evento comprueba de forma secuenciada los sensores de posición, comenzando por los más exteriores seguidos de los interiores de un lado y luego igual en el otro. En caso de detectar con algún sensor exterior, se reaccionará con un giro sobre nuestro propio eje en el sentido adecuado, y en caso de detectar uno interior, se realizará un giro cerrado hacia la dirección de detección sin detener el avance. • Avance: Este es el evento de menor prioridad, aunque se encuentra siempre activo; su función es mantener el avance en línea recta cuando no hay ningún sensor activado que corrija nuestra dirección o sentido. En el siguiente apartado se muestran los diagramas de flujo del funcionamiento del programa; el código en C del mismo puede consultarse en los anexos. 45 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE 3.2. ALGORITMO DE LUCHA A continuación se presenta el diagrama de flujo del programa principal, definido por el sistema de eventos antes descrito. Inicio Asignación de líneas de E/S Espera de 5 segundos Realizar sacudida Activar evento Avance Hay algún sensor de línea activo? S N Desactivar evento Línea Hay algún sensor de contacto activo? S N Activar evento Contacto Desactivar evento Contacto Hay algún sensor de posición activo? N Activar evento Línea S Activar evento Posición Desactivar evento Posición Cambiar a o continuar ejecución del evento activo de mayor prioridad 46 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE El diagrama de flujo correspondiente a los distintos eventos se presenta a lo largo de las siguientes páginas. No obstante, el del evento avance no se recoge por su simplicidad, ya que consiste únicamente en una orden de avance en la última dirección y sentido de movimiento definidos. Evento Línea Línea 1? S Sentido=2 Avance con curva abierta a la izquierda S Sentido=2 Avance con curva abierta a la derecha S Sentido=1 Avance con curva abierta a la izquierda S Sentido=1 Avance con curva abierta a la derecha N Línea 2? N Línea 3? N Línea 4? N 47 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE Evento Contacto Contacto 1? S Sentido=1 Avance en línea recta N Se ha retrocedido o no conseguido avanzar en 1 segundo? N S Sentido=2 Secuencia de huida Contacto 3? S Sentido=2 Avance en línea recta N Se ha retrocedido o no conseguido avanzar en 1 segundo? N S Sentido=1 Secuencia de huida Contacto 2? S Conservar Sentido Secuencia de huida S Conservar Sentido Secuencia de huida N Contacto 4? N 48 Robot Luchador de Sumo (Diseño Electrónico) 3. SOFTWARE Evento Posición Posición 1? S Sentido=1 Giro cerrado a la izquierda S Sentido=1 Giro cerrado a la derecha S Sentido=1 Avance con curva a la izquierda S Sentido=1 Avance con curva a la derecha S Sentido=2 Giro cerrado a la izquierda S Sentido=2 Giro cerrado a la derecha S Sentido=2 Avance con curva a la izquierda S Sentido=2 Avance con curva a la derecha N Posición 4? N Posición 2? N Posición 3? N Posición 5? N Posición 8? N Posición 6? N Posición 7? N 49 Robot Luchador de Sumo (Diseño Electrónico) 4. CONCLUSIONES 4. CONCLUSIONES La realización de este proyecto ha constituido una labor de gran esfuerzo y trabajo continuado por parte de los proyectistas involucrados. La importante tarea de documentación requerida, la puesta en práctica de los conocimientos obtenidos a lo largo de la carrera y la necesidad de adquirir algunos nuevos, junto con la ejecución del mismo y el trabajo en equipo implicado, hacen de este un proyecto excepcional a nivel de formación y experiencia. Por otro lado, el proyecto representa una importante entrada en el mundo de los sistemas de detección y actuación y la interrelación de los mismos; sistemas que se extienden desde la robótica hasta la automoción pasando por la domótica, haciendo funcionar los elementos cotidianos más insospechados. Los resultados obtenidos con el prototipo en lo referente a la mecánica fueron más que satisfactorios, lográndose una potencia y un agarre elevados, además de un peso controlado y un tamaño reducido. En cuanto a la electrónica, se alcanzaron holgadamente los objetivos planteados, pues el buen funcionamiento de los sistemas sensoriales y etapas de potencia habilitan el robot para una actuación eficaz; resultando además un sistema fácilmente programable y perfectamente integrado en el conjunto mecánico. 50 Robot Luchador de Sumo (Diseño Electrónico) 5. BIBLIOGRAFÍA 5. BIBLIOGRAFÍA • “Microelectronic circuits”, Adel S. Sedra y Kenneth C. Smith. Oxford University Press. 1998. • “Diseño Electrónico y Construcción de un Robot Autónomo”, Noemí Leonato Pérez. ICAI – Universidad Pontificia Comillas, 2004 • http://www.depeca.uah.es/alcabot/hispabot2004/ • http://www.superrobotica.com/ • http://www.x-robotics.com/ • http://www.junun.org/ • http://www.oopic.com 51