Download Drone con Lego, Raspberry Pi y Java: El Hardware

Document related concepts
no text concepts found
Transcript
Drone con Lego, Raspberry Pi y Java: El Hardware
El propósito de este tutorial es controlar a distancia un vehículo hecho con lego -portando una raspberry cam- desde un PC que hace las veces de
control remoto (emisor).
Utilizaremos un raspberry pi como receptor de señales (mediante wifi) y controlador de dispositivos de acción (motores y servos).
El software de control será implementado 100% en Java.
Ingredientes y Tecnologías
Para el montaje del JPiDrone, necesitamos repasar el conocimiento de los siguientes tutoriales y sus materiales:
Raspberry Pi. Ya sabemos algo del mini-ordenador. Partimos de una instalación wheezy con wifi y
java 8 como en el descrito en
http://unpocodejava.wordpress.com/2013/07/05/java-en-un-raspberry-pi-desde-cero-2/
Raspberry Camera configurada para hacer wifi a un PC (emisor) como la descrita en
http://unpocodejava.wordpress.com/2013/08/01/wireless-video-de-raspberry-pi-a-pc/
Además de la instalación wifi, contamos con la batería para hacer del Pi una cámara autónoma
Conector GPIO configurado como se describe en
http://unpocodejava.wordpress.com/2013/08/08/pi4j-control-del-gpio-de-raspberry-pi-con-java/
Chip controlador de motores. El SN754410NE funciona. Suelen recomendar también el
L293D, ver el tutorial
http://unpocodejava.wordpress.com/2013/08/15/control-de-motores-con-java-pi4j-en-raspberry-pi/
Controlador de Servos Adafruit I2C – PCA9685, ver el tutorial
http://unpocodejava.wordpress.com/2013/08/19/control-de-servos-con-java-y-raspberry-pimediante-i2c/
(Adquirí las piezas anteriores http://www.raspipc.es, https://www.modmypi.com/ y una tienda de electrónica)
También necesitaremos los siguientes materiales
Excavadora Lego Technic 42006
(compré mi excavadora en una juguetería)
Lego Power Functions 8293
http://ro-botica.com/es/Producto/Set-de-motores-Power-Functions/
M-motor Adicional
http://ro-botica.com/es/Producto/Motor-M-LEGO-Power-Functions-WeDo
3 Cables 20cm Power Functions 8886
http://ro-botica.com/es/tienda/Marca/LEGO/LEGO-Power-Functions/
2 Micro Servos RC
(Tienda de Modelismo)
Chip LM7805
(Tienda Electrónica)
Condensadores de 1uF y 0.33uF
(Tienda Electrónica)
Media Placa de Prototipado
(Tienda electrónica)
Cables
(Tienda electrónica)
Sobra decir que cada uno se sienta libre de cambiar la lista y el diseño final. Por ejemplo, con orugas de goma o ruedas seguro que no traquetea
tanto como el diseño de la excavadora.
Montaje Lego y Motores
Desmontando la excavadora lego (montarla primero)
Apenas tocaremos la base. Integrar los motores es casi directo; recomiendo reforzar los 2 ejes delanteros en el centro (los ejes deben ser
autónomos para poder hacer que el vehículo gire)
La caja del pi está hecha de ladrillos lego convencionales (http://shop.lego.com/en-ES/LEGO-Basic-Bricks-5529) con alguna gota de cianocrilaro
(locktite, mejor de alta viscosidad) para preparar un “sarcofago”. Dejar huecos en la parte inferior del sarcofago para meter dos travesaños.
Utilizar las piezas del brazo de la excavadora para generar un armazón para el pi. Utilizad un poco de pericia arquitectónica y muchos “pasadores”
para que no se deforme con la tensión.
En la parte de abajo reservamos un espacio para la batería del Pi
En la parte de arriba, dejar un espacio para la placa de prototipado y un resalte para colocar la cámara en alto (cuidado con la faja, no dejarla
demasiado tirante)
Montaje de la Cámara
Uniremos la cámara a un travesaño (sacrificándolo con 2 tornillos)
El brazo de un servo puede tener más de 1Kg de fuerza. Pegarlo no es suficiente, recomiendo atornillarlo (pieza amarilla)
Y cianocrilato para unir servo con servo, para crear un ángulo de cabeceo y otro de torsión
Y el servo de torsión se une a una escuadra con ciano.
Circuitería
Adaptar 2 cables lego 20 cm para conectar los motores a la placa de prototipado, como se indica en el tutorial de motores:
Y adaptar un cable lego para enchufar la batería Lego a la placa de prototipado. El hilo exterior derecho (el 4) y el hilo interior derecho (el 3) son el
cable de tierra (GND) y tensión (9V) respectivamente.
(Estos cables harán que la batería provea de potencial cuando el interruptor esta hacia fuera)
La otra batería -de 5V- será exclusiva para alimentar al Pi. No queremos picos de voltaje que lo reseteen.
La batería de Lego(9V) debe alimentar los motores (9V) y los servos (5V)
Para ello tenemos que transformar la tensión de entrada de 9V a 5V a partir de la batería lego y el chip LM7805 como se indica en este circuito
(el chip transformará la tensión de entrada a una salida de 5V)
Aunque no lo parezca, todo entra en media placa de prototipado: Faja GPIO, controlador motores y controlador de drivers. Ahí va el gran diagrama
de la circuitería:
Los pines operativos son los siguientes:
Pi Pin GND
Tierra
Pi GPIO_01
Motor Driver Pin Enable 1 y 2
Pi Pin SCL0 y SDA0
Pin SCL y SCA Servo Driver
Pi Pin 3v3
Pin VCC del Servo Driver
Pi GPIO_04 y GPIO_05
Motor Driver IN4 e IN3
Pi GPIO_10 y GPIO_11
Motor Driver IN1 e IN2
Servo Driver GND (total 2)
Servo Driver V+
Tierra
5V
Motor Driver OUT1 y OUT2
Motor Driver OUT3 y OUT4
Motor Driver 0V (total 4)
Motor Driver +Vmotor
Motor Driver +V
Motor 1
Motor 2
GND
9V
5V
Colocar la placa de prototipado en la superficie superior de la estructura
Colocar la batería de Lego en la parte trasera (procurando mantener el vehículo equilibrado)
Conectamos los servos al Servo Driver Adafruit, motores a la placa, batería 9V a placa y batería 5V al PI.
(recordemos que el estado encendido de la batería Lego es el interruptor hacia fuera)
El hardware ya está listo.
Referencias
Transformar tensión 9V a 5V
http://vsblogs.wordpress.com/2011/12/10/how-to-build-a-power-supply-using-a-dc-adapter/
y un buen video de control de motores lego y robots con el PI
http://www.dexterindustries.com/howto/lego-mindstorms-motors-with-raspberry-pi-brickpi-0-1/