Tanquebot-Construcción y desarrollo de un robot laberinto

Tanquebot-Construcción y desarrollo de un robot laberinto

En esta entrada trataremos de explicar como construir y desarrollar un robot laberinto. Tanquebot ha sido diseñado para participar en pruebas de robótica que consisten en ser capaz de salir de un laberinto. Para ello, el robot puede utilizar diferentes estrategias.
 .
Para su correcto funcionamiento, el robot tiene tres sensores de ultrasonidos colocados adelante y en ambos costados para detectar y ser capaz de esquivar los obstáculos, como se aprecia en la imagen 1.
.
Su funcionamiento tiene dos maneras diferentes de empezar, colocando el «switch» en el modo manual y dando al interruptor de marcha o colocandolo en el modo automático para utilizar una aplicación Android y mediante Bluetooth mandarle ordenes.
.
 1. Robot inteligente
.
El proceso que se ha utilizado en la creación del robot ha sido la de seguir estas etapas:
.
        –Edición del esquema: En este caso se ha creado con el programa ISIS del software PROTEUS, en la imagen 2 se puede ver.
.
2. Esquema en ISIS
 .
        –Simulación del circuito: Se simula en el ISIS, para ver si los resultados que se obtienen son los esperados, para ello, se utiliza la tabla de comandos que aparece en la imagen.
.
3. Comandos para la simulación
  
        –Prueba del circuito: Se ha montado en una placa-board, como se aprecia en la cuarta imagen, ya con los componentes físicos y se comprueba que se consiguen los valores necesarios para su correcto funcionamiento.
 .
 4. Placa board con el sensor

        –Diseño de la PCB: Se ha creado utilizando el programa ARES del software PROTEUS, como se observa en la imagen 5.
5. Diseño en ARES

        –Fabricación de la PCB: Utilizando el programa CIRCUITCAM, se crea el archivo necesario para hacer la placa en la protomat S62, la, maquina de LPKF que se puede ver en la imagen 6, utilizando para ello, el programa BoardMaster. En este caso también ha sido necesario metalizar los agujeros, ya que es una placa de dos caras, se ha realizado mediante un proceso químico en cubetas.
.
6. Protomat S62

        –Montaje y soldadura: Es el último paso, una vez comprobada la placa y ver que no esta defectuosa, es colocar los componentes y soldarlos para que quede como en la siguiente imagen.
  .
7. Placa con componentes soldados
   .
Formato del robot: Una vez obtenida las dimensiones de la placa, utilizando una impresora 3D,la que se ve en la imagen 8, se ha creado el chasis del robot y el soporte donde se colocara la placa, los motores y los sensores en la imagen 9 se puede apreciar el resultado.
.
 8. Impresora 3D
.
9. Chasis del robot
.

Material utilizado para la creación del robot y enlaces de los componentes:

COMPONENTES
L293D 3 Interruptores
PIC 16f876 Switch doble
Condensador 100 nF 3 Sensores ultrasonido 28015
2 Condensadores 22 uF Batería lipo 7,4V
Regulador 7805 Pila 9V
LED Receptor Bluetooth
3 Resistencias 10K Conector Jack
Resistencia 5K8 2 Motores de continua
2 Diodos 4 Conectores dobles
Oscilador 4000 MHz

   
Programas y maquinas utilizados para la creación del robot:

  • Software PROTEUS:


             – ISIS (para hacer el esquema y simularlo virtualmente)
             – ARES (para diseñar la PCB, donde colocar los componentes)

  • CIRCUITCAM (para crear los archivos para la protomat S62)
  • BOARDMASTER (para hacer la PCB, pistas y agujeros)
  • Proceso de metalizado por cubetas (para metalizar los agujeros)
  • Impresora 3D (para hacer el chasis del robot)
  • MPLAB (para programar el pic)
  • Placa-Board (para hacer las pruebas con los componentes)
  • Dispositivo Android (para probar la conexión Bluetooth)

 

Os dejamos el video-demostración que hemos preparado para la presentación del proyecto y los archivos para la construcción del robot.

 

Donde guardar los hex de Arduino

Donde guardar los hex de Arduino

Para poder simular un proyecto en la placa Arduino UNO en Proteus hace falta el archivo con extensión .hex que se crea al compilar el programa. Uno de los problemas más comunes es que la gente no encuentra o por lo menos le cuesta encontrar el hex. Hasta que mis alumnos han cogido la dinámica, he tenido que decirles muchas veces los pasos. Lo comenté en otro post llamado Como simular Arduino en Proteus pero la gente leemos muy superficialmente y no se acaba de comprender.
.
.
Hay una manera de no tener que ir a buscar la carpeta porque se puede configurar donde queremos que se nos guarde el archivo. Consiste en configurar unos parámetros y a partir de entonces siempre se creará el proyecto donde le hayamos dicho. Yo muy feliz con la idea, lo configuré para que fuese en el escritorio y al compilar me llevé una sorpresa al ver aparte del .hex me creó un montón de archivos con librerías. Así que hay que tener un poco de sentido común (el que me faltó a mi) a la hora de decidir donde se quiere guardar el archivo hex. Esta vez voy a guardarlos en la carpeta de Arduino que hay en Mis Documentos C:\Users\i.hernandez\Documents\Arduino\HEX para ello voy a ir paso a paso:
1.   Abrimos el programa Arduino
2.   Desplegamos la pestaña Archivo y seleccionamos Preferencias.
3.   Seleccionaremos la ruta que aparece debajo de “Más preferencias pueden ser editadas…”
.
.
4.   Se nos va abrir una carpeta con un archivo llamado preferences.txt tras lo cual es muy importante cerrar el programa Arduino.
5.   Abrimos el archivo preferences.txt con un editor como el bloc de notas y si se quiere por seguridad se puede hacer una copia de seguridad de este archivo.
6.   Dentro del archivo hay que buscar el comando export.application.stop=trae
7.   Justo debajo de este comando hay que escribir build.path= y la ruta donde queremos que se nos guarde. En mi caso quedaría build.path= C:\Users\i.hernandez\Documents\Arduino\HEX

editor.invalid=false
serial.debug_rate=9600
sketchbook.path=C:\Users\i.hernandez\Documents\Arduino
export.application.stop=true
build.path=C:\Users\i.hernandez\Documents\Arduino\HEX
editor.divider.size.windows=2
preproc.enhanced_casting=true
run.display=1

8.   Una vez hecha la modificación guardamos el archivo y lo cerramos.
9.   Volvemos a arrancar el programa Arduino y al compilar tendremos el código hex junto con el resto de archivos que crea.

Cada vez que se compila se creará un archivo .hex por lo que es recomendable mover el archivo hex e ir borrando el resto.

DB Sariak 2013

DB Sariak 2013

Este año por 3º año se celebrará el 18 de Mayo la competición DB Sariak 2013. Como en años anteriores se realizarán 2 pruebas:

  • Proiekton – Concurso de proyecto cientifico tecnológico
  • DB Bots – Concurso de robots velocistas siguelineas
Hasta ahora el concurso estaba dirigido hacia los alumnos de ESO, Bachiller y FP. Este año como gran novedad hemos abierto la posibilidad para cualquier persona pueda participar junto con los proyectos de FP.
.
.
Estamos depurando detalles de las competiciones, como premios, bases del concurso, así que estar atentos ante los cambios. Mas información en la página web de IEFPS Don Bosco
.
Mapear los pines de Arduino

Mapear los pines de Arduino

Últimamente ando un poco liado y me está costando escribir. Estoy intentando delegar en mis alumnos la tarea de documentar lo que van trabajando. Pero a veces sin darse cuenta lo publican y por mucho que les diga que tengan cuidado se suelen confundir. Por este motivo puede que veáis que un día se a publicado un artículo y al día siguiente ha desaparecido.
Cuando vamos avanzando con la placa Arduino y se ha realizado algún proyecto, suele llegar el momento de crear un proyecto final. Una solución es usar la placa de Arduino, pero 23 euros + iva sale un poco caro para dejarlo muerto de risa. Ademas si solo tenemos una placa tendríamos que comprar otra para poder seguir haciendo proyectos. Por muy elegante y mañoso que se sea, siempre da peor sensación dejarlo con los cables por el aire, por no decir que a nada que algún cable se suelte dejará de funcionar.
.

.

La solución es usar un microcontrolador y realizar el proyecto fuera de la placa Arduino. El microcontrolador que necesitamos es el ATMEGA 328p-pu. Se puede encontrar entre 3,5 y 6 euros dependiendo de la tienda en la que se compre, hay que sumarle gastos de envio… A la hora de comprar el microcontrolador hay que tener en cuenta que necesitará tener metido el Bootloader de Arduino UNO. Esto es un pequeño programa que funciona como la bios de un pc, al arrancar el micro realizar y configura unos parámetros del microcontrolador. Si sabemos como meter el bootloader, no hay problema pero si no sabemos es muy recomendable comprar el microcontrolador con el bootloader cargado.

Iba a comentar que con el bootloader cargado suelen ser un poquito más caros pero por lo visto desde que la última vez que busque en ebay el micro a bajado mucho de precio. Que cada uno valore que busca, precio, urgencia en recibirlo, servicio post venta, cercania… Os pongo un par de sitios donde se pueden comprar aunque no garantizo nada ni tengo ninguna relación ni interés en ninguno.

  • Ebay (desde 2,5€ con gastos de envio incluidos)
  • msebilbao (6€ más gastos de envio)
Hay que tener claro que los pines de la placa Arduino UNO y los pines del microcontrolador no coinciden. Con esto quiero decir que en la placa han colocado mediante pistas los pines del microcontrolador en un determinado orden para que sea más fácil empezar a trabajar con la placa. Si nosotros queremos trabajar directamente con el microcontrolador tenemos que conocer exactamente cada pin de la placa con que pin del microcontrolador corresponde. Como una imagen vale más que 1000 palabras, os dejo una imagen para que podáis ver como están ruteados los pines del micro con los pines de conexión de la placa Arduino UNO.
.
.
Antes usaba un dibujo que creo que en algún otro articulo lo publiqué, incluso se puede buscar en la hoja de características del microcontrolador o dado que la placa es Hardware Abierto mirar en Eagle como está ruteado. Esto requiere trabajo y concentración para no confundirse, ahora gracias a la Comunidad de Arduino han publicado en su foro unos esquemas muy interesantes donde se puede ver cada pin de una manera mucho más visual.
.
Encima no solo se han tomado la molestia de crearlo para el Arduino UNO, sino que han sacado para otras placas de Arduino. Os dejo la documentación que han creado hasta ahora.
Karnaugh-en erabilpena: Garraio enpresa

Karnaugh-en erabilpena: Garraio enpresa

Deskribapena

Garraio enpresa batek kamioiaren pisu zehatza adierazteko baskula baten diseinua enkargatu digute, kamioak pisu zehatza garraiatzen duenean galera ekonomikoak ekidin ditzan.

 

 

Gure diseinua honetan datza: Hiru malgukiko sistema prestatu dugu, malguki bakoitzak erresistentzi desberdina dauka:

  • Pixu gutxi egon ez dadin malguki luze bat dugu (A).
  • Pixu aproposa badugu erdi mailako malguki baten bidez jakingo dugu (B).
  • Pixu gehiegi badugu malguki txiki baten bidez jakingo dugu (C).

 

Materialea

Muntaia egiteko ondorengo konponenteak behar dira:

KONPONENTEAK KOPURUA DESKRIBAPENA PREZIOA
R1,2 2 Resistencia 10k Ohm, 1/4W 1,49
U1:A 1 Puerta lógica NOT 7404 1,75
U2:A 1 Puerta lógica AND 7408 0,35
DI 1 Led diodo rojo 5mm 0,28
R3 1 Resistencia 330 Ohm, 1/4W 0,46
SW 1 Interruptor dil, 2 posiciones 0,76

Funtzionamendua

Ezer egiten hasi baino lehen gure sistemak dituen sarrerak eta irteerak argi eduki behar ditugu. Gure kasuan A, B, C (sensoreak dituzten malgukiak) sarrerak izango dira eta F irteera argi orlegia izanog da. Argi hau pisu ideala lortzen dugunean piztuko da.

Hori dela eta zirkuitua diseinatzeko sarrerako aldagaiak A, B, C dira eta F irteera. Guzti honekin egi-taula bat egin behar dugu eta kostuak eta materialea muzrrizteko ekuazio sinplifikazuak atera beharko ditugu. Jarraian pausuz-pausu azalduko dugu:

1º PAUSUA: Egi-Taula
 .
A = Malguki luzea
B = Malguki ertaina
C = Malguki motza
F = Led orlegia
.

 

Egi taula sortzerakoan arazo bat topatuko dugu, egi-taularen egoera asko ezinezkoak izango baitira. Egoera hauek X batekin markatuko ditugu irteeran, geroago Karnough egiterakoan erabakitzeko ze multzorekin batzen ditugun.

 

2º PAUSUA: Sinplifikazioa (Karnaughen Metodoa)

 

Amaieran zirkuitua simulatu eta montatu ahal izateko atera zaigun ekuazio laburtua hau da: bc´

 

3º PAUSUA: Montaia

Ekuazioa montatzera goazenena, A malgukia desagertu zaigula konturatu gara. Hau da A malgukiak ez du inolako garrantziarik gure sistemaren funtzionamendua. Montatu behar dugun ekuazioaren eskema ondorengoa da, Proteusen marraztu dugu. NOT AND ateekin eta NAND ateekin simulatu dugu, baina montaian NOT eta AND ateak erabili ditugu soilik.

 

   .