drone con lego, raspberry pi y java: el hardwaresofia2.com/docs/jpidrone-hardware.pdf · drone con...

7
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

Upload: hakhuong

Post on 11-May-2018

219 views

Category:

Documents


0 download

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-pi-

mediante-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 Pi GPIO_01 Pi Pin SCL0 y SDA0 Pi Pin 3v3 Pi GPIO_04 y GPIO_05 Pi GPIO_10 y GPIO_11

Tierra Motor Driver Pin Enable 1 y 2 Pin SCL y SCA Servo Driver Pin VCC del Servo Driver Motor Driver IN4 e IN3 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/