ugobot #1. andromeda. Un robot para los más pequeños de la casa

Foto 3-4-16 8 46 10

Una de las asignaturas pendientes que tenía era aprender a manejar un programa de CAD para poder diseñar mis piezas e imprimirlas en la impresora 3D. Así que me puse manos a la obra con los Tutoriales de Obijuan y aprendí a moverme con FreeCAD.

Lo primero que quería diseñar era un robot pequeño y manejable, orientado a que pudiera jugar también con él mi hijo pequeño. Las características mínimas que tenía en mente para este objetivo eran:

  • Pequeñas dimensiones, manejable con una mano
  • Diseño básico y resistente
  • Que toda la electrónica estuviera contenida dentro del robot, sin cables ni artilugios por fuera. Vamos, que pareciera un juguete

Y después de un tiempo…. He aquí el resultado 🙂

Especificaciones y la lista de la compra

Las características básicas que tenía en mente para el robot eran:

  • Movimiento mediante cadenas tipo «tanque»
  • Usar servos micro trucándolos para rotación continua
  • Alimentación por 4 pilas AAA
  • Sensor de Ultrasonidos para evitar obstáculos
  • Receptor de Infrarrojos para poder controlarlo con un mando a distancia
  • Pulsador para poder controlar las opciones
  • Buzzer
  • Interruptor On / Off

Diseño del Robot

El diseño del robot con FreeCAD fue más o menos sencillo, ya que la forma del mismo es bastante simple. La parte que conlleva más complejidad con diferencia son los eslabones de la cadena.

Aunque calculé el módulo de los engranajes y las dimensiones que tenían que tener los eslabones para que rodaran bien, siempre había algún problema tras imprimirlos. O bien, el paso de los eslabones no era el adecuado y terminaba «saltándose» un diente (y parándose normalmente el motor ya que no tiene tanta fuerza) o bien la longitud de la cadena no era la adecuada y estaba muy floja o demasiado apretada. En definitiva, tuve que imprimir varias combinaciones hasta que al final di con una que funcionaba. Diseño en plan Prueba y error.

El resto del robot fue simplemente paciencia, imaginación y tiempo.

Las piezas para imprimir os las podéis descargar de Thingiverse.

Mecánica

Aquí el problema fue también la cadena. Lo primero que hice fue trucar un servo para que funcionara de manera continua. Lo intenté de la forma fácil, que es situando el potenciometro en el centro y pegándolo para que no se moviese. Pero al final terminaba moviéndose ligeramente y el servo no funcionaba correctamente (en reposo se movía ligeramente). Al final terminé haciéndolo quitando el potenciometro y soldando 2 resistencias a modo de divisor de tensión simulando  la posición «centro». Esto funcionó muy bien, sin no pocos problemas para meter las 2 resistencias dentro del servo.

Una vez resuelto este problema, me encontré con otro y fue la resistencia de los engranajes del propio servo. Si terminas de montar una de las cadenas y se la das a tu hijo pequeño lo primero que hará (al menos el mío) es intentar moverlas con la mano. Al hacerlo rapidamente se empiezan a saltar los dientes del servo hasta que al final dejan de funcionar. Solución: servos con engranajes metálicos. Fin del problema (pero más caros, también).

Electrónica

No fueron pocos los problemas que me encontré montando la electrónica. Si a esto le sumamos que la cabeza del robot es demasiado pequeña para todo lo que hay que incluir, la verdad es que la cosa se complica.

Uno de los principales problemas fue la alimentación, ya que yo quería alimentarlo con 4 pilas AAA y esto es demasiado poco para el Arduino. Al final me decanté por alimentar los servos directamente desde el portapilas y el Arduino con un step-up que convierte la tension de entrada a 9V.

Ya cuando tenía todo montado y lo estaba programando, otro problema que me encontré es que el receptor de infrarrojos tenía lecturas erróneas mientras los servos estaban en marcha. Al final analizando el circuito con un osciloscopio la causa del problema era bien sencilla: había ruido en la línea de masa (la compartían con los servos y éstos metían el ruido). La solución fue tan fácil como tomar la tierra de otro sitio (directamente del Arduino).

A parte de estos la verdad es que también me encontré muchos otros problemas. Sinceramente creí que lo que más problemas me iba a dar iba a ser el diseño pero terminó siendo la electrónica. Los circuitos funcionan bien de manera aislada en una placa proyecto pero cuando conectas todo al Arduino, la cosa no va igual… 🙂

Software

Todavía tengo que poner en orden el código y subirlo. Por ahora el funcionamiento es bastante simple. Al encender el robot emite una música y entra en modo «Menú» permitiendo elegir con el pulsador superior el modo de funcionamiento:

  • Modo 1. Anda de manera autónoma y cuando se encuentra un obstáculo lo evita
  • Modo 2. Nos permite controlar los movimientos del robot con un mando a distancia por infrarrojos

En cualquiera de los dos casos, si pulsamos el botón superior, el robot se para y vuelve al modo «Menú»

Algunas fotos

Foto 3-4-16 8 50 36
Detalle de los eslabones de la cadena unidos por filamento de 3mm
Foto 3-4-16 8 47 05
Pulsador superior para controlar opciones del robot
Foto 3-4-16 8 46 27
Receptor de infrarrojos y conexión mini-USB para programar el Arduino
Foto 2-4-16 21 11 51
¡Muchos componentes y poco espacio!
Foto 3-4-16 8 47 49
Detalle del interruptor de encendido (abajo a la izquierda) y de la salida del altavoz (agujero abajo a la derecha)

¡En marcha!

Aquí os dejo un pequeño video del Robot en Modo 1. Cuando tenga el código ordenado y subido al repositorio lo publico en otra entrada, así como también el esquema de conexión de la electrónica.

¡Hasta otra!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.