Skip to content
Rafa López edited this page Sep 24, 2017 · 10 revisions

Electronic Strandbeest

Repositorio

Github repo

Introducción

Hace algo más de un año vi algo similar en Youtube, y me propuse hacer mi propia interpretación cuando tuviera un poco de tiempo y el material necesario. Hay que tener en cuenta que es la primera iteración, tiene muchos puntos de mejora, y me he adaptado a lo que tenía por casa en ese momento. Soy consciente de muchas carencias, pero es un punto de partida para seguir evolucionándolo. Además de eso, también tengo algunas ideas que iré publicando sucesivamente en cuanto pueda ponerlas en práctica.

Esto es tan sólo una guía un poco por encima de cómo hacerlo, pero cada persona lo puede adaptar a lo que tenga más a mano.

Material

Para el robot:

  • Un Mini Strandbeest. Se supone que puede valer cualquiera, pero yo usé éste.

  • Una placa PCB perforada para prototipos (de unos 9x8 cm).
  • Un arduino nano o similar.
  • Un módulo transceptor de radiofrecuencia NRF24L01.
  • Un módulo driver de motores L9110S.
  • Dos microservos tipo SG-90, que vamos a hackear para conseguir rotación contínua.
  • Un buzzer de 5v (opcional).
  • Un led rojo y su resistencia asociada de 180 ohmios (opcionales).
  • Cuatro baterías Li-ion de 3,7v nominales. En realidad bastaría con 3 y se generaría menos calor. Es una mejora necesaria, pero habría que rehacer el portabaterías porque perderíamos base para instalar los motores. También nos obligaría a hacer algún ajuste en el circuito de alimentación.
  • Un portabaterías impreso en 3D (ver más abajo en enlaces).
  • Un regulador LM317.
  • Un regulador 7805.
  • Tres condensadores de 0,1 uF, yo los he usado electrolíticos (ojo con la polaridad).
  • Una resistencia de 240 ohmios.
  • Una resistencia de 1K5 ohmios.
  • Un interruptor.
  • Terminal de dos pines para entrada de alimentación.
  • Conectores hembra para hacer los zócalos de los módulos y el arduino.
  • Silicona caliente.

Para el controlador:

  • Una breadboard para montar el circuito (por el momento la tengo así, en realidad es otro proyecto por sí mismo).
  • Un arduino nano o similar.
  • Un módulo transceptor de radiofrecuencia NRF24L01.
  • Un joystick tipo Playstation 2 de Sparkfun con su pcb. En realidad vale cualquiera similar si se tiene en cuenta que puede variar la ordenación de los pines.
  • Algunos cables para hacer las conexiones.
  • Yo lo he alimentado con una powerbank de 5v conectada al puerto USB del arduino.

Electrónica

En este proyecto de EasyEDA están los dos esquemas: el del robot (sb001) y el del controlador (cont001).

Montaje

Los pasos a seguir son los siguientes:

Paso 1:

Montar el Mini Strandbeest siguiendo las instrucciones. Cuando estés como en la foto, no sigas más. El resto de piezas nos sobran, jajaja. Con un alambre de 0,8 mm me fabriqué la barra superior, puesto que sólo trae dos. Creo que le da más fuerza a la estructura. No te preocupes al ver que las dos barras metálicas originales, la de abajo, se quedan cortas. Es normal, vamos a hacer el mecanismo más ancho de lo que pensó el fabricante, pero funcionará. Tan sólo intenta dejarlas lo más centradas posible.

Paso 2:

Imprime el portabaterías, en la versión de 4 unidades, y fíjalo como en la foto (ignora los motores por el momento). Yo usé tres bridas empalmadas en ambos anclajes. También son fundamentales los cuatro puntos de silicona caliente de las esquinas: además de pegar el portabaterías, bloquean las barras metálicas para que no se muevan descuadrando la estructura. Separa las patas lo necesario para hacer el hueco, y no olvides cablear y probar el portabaterías antes de nada. Deben ir en serie. En la página de Thingiverse del proyecto (ver enlaces) se puede ver más información.

Paso 3:

Ahora vamos a convertir los dos microservos en dos motorcitos de continua normales y corrientes. Mantenemos la caja reductora, pero eliminamos el tope físico y el circuito de control. Hay una explicación muy buena en este video.

Paso 4:

Fija los motores con la silicona caliente. Hay que ir despacio, con paciencia, para que queden lo más cuadrados posible. Es muy importante que estén lo mejor alineados que seas capaz de dejarlos respecto a los ejes de los laterales. Una vez pegados y más o menos fría la silicona, es momento de unir los ejes. Debe entrar silicona en todos los huecos para que la rotación sea limpia. Cuidado con pasarte de material, que podría entrar silicona dentro del motor y lo dejas inútil.

Paso 5:

Monta la PCB siguiendo el esquema. He tenido que poner un disipador al lm317 mientras soluciono lo de usar menos voltaje de entrada. Se calienta demasiado al aire. Dejo imágenes orientativas de la mía, pero seguro que tú la haces mejor. No he sido muy exigente con la optimización de las pistas :P

Paso 6:

Carga el software en los dos arduinos. Lo puedes encontrar en el repositorio: el del robot (sb001) y el del controlador (cont001). Lee el README.md por si necesitas calibrar. Usa la librería RF24, que se puede instalar desde el propio IDE de arduino (Programa/Incluir Librería/Gestionar Liberías).

Paso 7:

Coloca la PCB sobre los motores (ya haremos algo más serio para fijarla), conecta los cables, y a jugar :)

Para el controlador:

Montar el circuito del esquema en la breadboard. No hay más. Dejo imagen de cómo me queda a mí, como ejemplo. En la foto se ve que llevo alimentación y tierra a la parte inferior de la breadboard, pero es porque uso ese circuito también para otras cosas. Se puede ignorar, en el esquema está tal cual se precisa.

Vídeo

Puede verse al robot en movimiento en este vídeo de Instagram que me grabaron cuando lo llevé de visita a la oficina.

Click to see the Instagram video

Créditos

Autor

Rafael López Verdejo

Licencia

Código Resto material
[[https://github.com/loreman/Strandbeest/raw/master/wiki/gnu-gpl.png width=150px]]

Enlaces

Noticias

  • 24/09/2017: Publicado el electronic strandbeest en esta wiki