
El Drone Pi
Compartir
NOTA: ESTE INSTRUCTIVO ESTÁ SIENDO ESCRITO
Este proyecto es un cuadricóptero propulsado por un Multiwii y controlado con un Raspberry Pi 2 B. Este cuadricóptero tiene una particularidad porque utiliza 2 controladores diferentes y puede ser pilotado con 2 dispositivos diferentes: un control remoto o un teléfono inteligente.
El controlador Multiwii gestiona los cuatro motores y distribuye la energía para alimentarlos, mientras que la Raspberry Pi recopila la información proveniente del smartphone y la transmite al Multiwii. También puedes... imágenes y Full HD ¡También video! La cámara Pi está ubicada en la parte frontal del Drone Pi. Puede grabar o simplemente tomar una foto a una memoria USB.
El marco de este quadcopter está hecho con diferentes elementos reciclados y fue otro desafío: crear un quadcopter con elementos a veces pesados... Pero ¡Lo hicimos!
Somos unos jóvenes estudiantes franceses y esta fue nuestra primera creación. Colaboramos durante este proyecto con un sitio web cuyos Instructables y ahora queremos compartir con ustedes nuestro... Drone Pi . ¡Disfrútalo!
Paso 1: Piezas
Para construir nuestro cuadricóptero necesitarás las siguientes piezas:
- A marco - Puedes comprarlo por internet o puedes hazlo Como nosotros. No es difícil crear tu estructura; solo tienes que hacer una X de aproximadamente 0,45 m de diámetro (para un cuadricóptero estable) y colocar diferentes niveles en el centro para colocar tu Raspberry, Multiwii, batería, ESC, etc.
- 4 motores (16€) Para un cuadricóptero se necesitan 4 motores, pero si se quiere fabricar un octocóptero, también se necesitarán 8 motores. Estamos usando... Motores sin escobillas Turnigy . (Volveremos a los motores en el paso 2)
- 4 ESC (10€) El controlador electrónico de velocidad se utiliza para suministrar potencia al motor con la información del Multiwii. Estamos usando... Hobbyking 30A ESC .
- Batería (27,5€) Por supuesto, si quieres volar, debes alimentar tus motores, así que necesitas una batería. Estamos usando una Turnigy 3S 3300mAh .
- Monitor de batería (4€) Suena cuando la batería está baja. Estamos usando un Monitor de batería Hobbyking 3S .
- Cuadro de distribución de energía (4€) - Esta placa se utiliza para conectar sus ESC a la batería. Estamos usando un Placa de distribución de energía para cuadricóptero Hobbyking para cuadricóptero .
- Conectores 3,5mm (4,5€) - Para soldar el esc y los motores.
- Conectores de 4,5 mm (4,33€) - Quitar el conector del cuadro de distribución antiguo y soldar este nuevo.
- Hélices (5€) Un cuadricóptero con algunos motores, pero sin hélices, no es un cuadricóptero, así que elige las hélices según tu estructura. Para nuestra estructura de 40 cm, necesitas hélices con una longitud de 10 cm y un paso de 4,5 cm. Usamos Puntales SF 10x4,5 .
- Multiwii (49€) Este controlador se utiliza para controlar los motores y compartir la potencia. Usamos un CRIUS AIO PRO Multiwii .
- Almohadilla de montaje (2€) - Debido a que los motores generan mucha vibración, es necesario comprar una almohadilla de montaje para reducirlas debajo del multiwii.
- Raspberry Pi 2 B (35€) - También podría funcionar con otro modelo de Raspberry pi pero acabamos de probar con esta Raspi y es más potente que la versión anterior.
- Cámara Pi (19€) Para grabar videos y tomar fotos. Solo funciona con una Raspberry Pi.
- Clave wifi (9€) - Se conecta al Raspi y crea una red wifi para transmitir la información desde la aplicación del teléfono inteligente al Raspi.
- memoria USB - Para guardar el vídeo
- Control remoto + receptor RC: Si quieres controlar tu dron con esto, conecta el receptor RC al Multiwii.
Hay que soldar los conectores al cable del ESC, al cable de los motores y al cable de la placa de distribución.
Paso 2: ¿Cómo funciona?
El multiwii
Multiwii es un proyecto francés de código abierto basado en Arduino. Al ser de código abierto, existen muchos tipos de multiwii. Usamos una versión similar de CRIUS AIO PRO V2. Este es un controlador de vuelo: su función es enviar señales de velocidad al ESC para mantener el cuadricóptero en el aire. Usamos el proyecto mutlwii porque es un proyecto conocido y utilizado por muchos usuarios con una gran comunidad, pero principalmente porque programas como este son demasiado complejos para nosotros.
La frambuesa
En nuestro proyecto, Raspberry Pi fue el principal. Primero, al iniciar, creó una red wifi privada con un servidor DHCP (para proporcionar la dirección IP). Esta red wifi no tiene acceso a internet y solo se comunica con el smartphone. Luego, creó un programa Python (creado por nosotros) que inicia un websocket. Un websocket es una conexión permanente entre el servidor (Raspberry) y el cliente (la app del smartphone) que recibe los comandos de la app. Posteriormente, el mismo programa se conecta al MultiWii por USB. Este envía la información de los comandos del smartphone al MultiWii (ver el esquema para más información). El código fuente está disponible en GitHub ( https://github.com/reglisse44/Multiwii-raspberry-drone-server ).
La aplicación
La aplicación está desarrollada en HTML/CSS/Javascript con Cordova. Cordova es una tecnología que permite crear aplicaciones web compatibles con Android, iOS y más. El usuario cree que es una aplicación Android estándar, pero en realidad es una vista web. Es fácil desarrollar aplicaciones como esta para desarrolladores web. El código fuente está disponible en GitHub ( https://github.com/reglisse44/quadcopterControl ).
Paso 3: El marco
Para hacer un buen chasis, necesitas usar los elementos más ligeros posibles. Para nuestro Drone Pi, tuvimos que construirlo con elementos reciclados, así que el chasis es un poco pesado, pero de todas formas, no importa para los motores.
El diámetro del marco es de 0,45 m porque queríamos un cuadricóptero estable para la cámara, no uno de carreras. En el centro de la X hay tres niveles (quizás cuatro en el futuro) para colocar los controladores, los ESC y la batería (puedes ver todas las referencias en las imágenes de la parte superior de la página).
Creamos una plataforma para la MultiWii en la parte superior del cuadricóptero (imagen 2) y otra para la batería (imagen 7 y 8) en la parte inferior. Para la plataforma de la MultiWii, queríamos colocar la Raspberry Pi debajo, ya que hay conexiones entre ellas. Para la plataforma de la batería, queríamos conectarla o desconectarla para cargarla. Todas las imágenes están en el siguiente paso...
Por último le pusimos 4 pies al quadcopter para poder aterrizarlo pero no son bonitos y quedan mal.
Paso 4: Propulsión
Para la propulsión necesitas tus 4 motores, tus 4 ESC (para adaptar el voltaje a los motores), tu batería y por último tu Multiwii.
- Conecte los motores a los ESC. Puede invertir el cable para invertir la rotación de las hélices (consulte el esquema para conocer el sentido de rotación). Para empezar, NO Coloque sus hélices en los motores para no tener ningún accidente, las hélices son frágiles y podrían romperse.
- Conectar el ESC a la placa de distribución (respetar el color).
- Si todo está bien, puedes instalar los componentes en el marco.
- El tornillo que teníamos con el motor era demasiado grande para las hélices, por lo que tuvimos que agrandarlas (ver imágenes)
Paso 5: Controlador de vuelo y Raspberry
Ahora instalaremos el MultiWii y la Raspberry Pi. Para instalar ambos componentes en el mismo lugar, construimos un soporte en la parte superior de la Raspberry Pi para colocar el MultiWii (ver imagen).
- Instalar la frambuesa con su soporte
- Coloque el multwii sobre el soporte con almohadilla antivibración
- Conecte los ESC al multiwii con los pines dedicados
A continuación, compilaremos el firmware de la multiwii en la placa. Para empezar, conecta la multiwii a tu ordenador mediante USB.
Para configurar el multiwii:
- Descargar firmware multiwii desde https://code.google.com/p/multiwii/
- Descargar software arduino desde https://www.arduino.cc/en/Main/Software
- Proyecto Arduino abierto "Multiwii.ino"
- Cambiar la placa Arduino en "Herramientas" > "Placa" > "Arduino Mega 2560 o Mega ADK".
- Seleccione el puerto en “Herramientas”>”Puerto Serie”>Y seleccione el puerto multiwii.
- A continuación, abra el archivo "config.h"
- Busca al principio del archivo la línea: "//#define QUADX" y descomentala (quita el "//")
- Busque nuevamente la línea "//#define CRIUS_AIO_PRO" y descomentela.
- Todo está listo, guarde el archivo y ejecute la compilación.
- A continuación tendrás que calibrar todos los sensores con MultiwiiConf, te dejo buscar un tutorial en Internet.
Por el momento, no conectamos la Multiwii a la Raspi, así que si quieres ver los motores en acción antes de configurar tu Raspberry Pi, instálalos en el chasis. Necesitarás un control remoto con un receptor RC y conectarlo a la Multiwii. No te explicaremos cómo hacerlo, pero Google es tu mejor aliado ;) y no es difícil. ( No uses motores con hélices ).
Paso 6: Raspberry Pi
Instalación de Debian:
Instale raspbian con noobs siguiendo este tutorial: www.raspberrypi.org/help/noobs-setup/
Lanzamiento raspi-config y habilitar la cámara pi
Configuración de IP
sudo nano /etc/network/interfaces
Elimina toda la configuración de wlan0 y edita esto:
permitir conexión en caliente wlan0 iface wlan0 inet estático dirección 192.168.10.1 máscara de red 255.255.255.0 puerta de enlace 192.168.10.1
Instalación de Hostapd:
Antes de comenzar realice todas las actualizaciones:
sudo apt-get update y sudo apt-get upgrade
Instalar hostapd:
sudo apt-get install hostapd
Y prueba con una configuración mínima
sudo hostapd hostapd.conf
Si puedes ver tu red desde tu teléfono inteligente, funciona. PERO NO INTENTES CONECTARTE (fallará con un error de IP porque no tenemos ningún servidor DHCP)
Instalación del servidor DHCP:
Ahora necesitamos instalar un servidor DHCP para dar dirección IP a los clientes wifi.
sudo apt-get install servidor dhcp isc
Ejecute este comando para editar el archivo:
sudo nano /etc/dhcp/dhcpd.conf
Encuentra las líneas que dicen
opción nombre-de-dominio "ejemplo.org"; opción servidores de nombres de dominio ns1.example.org, ns2.example.org;
y agrega "#" antes de ellos para comentarlos
Instalar usbmount
Necesitamos usbmount para montar la memoria USB. Esto permite guardar el vídeo en ella.
sudo apt-get install usbmount
Ahora todas las memorias USB deben estar montadas en la carpeta "/media/"
Instalar el programa Python quadcopter:
Primeras dependencias de instalación:
sudo apt-get install python-pip build-essential python-dev sudo pip install tornado
y clonar el proyecto git
clon git https://github.com/reglisse44/Multiwii-raspberry-drone-server.git multiwiiControll
Puedes probar el programa ejecutándolo así:
¡¡Prueba esto!!:
Advertencia: Por el momento si deseas iniciar el programa python necesitas:
- La cámara pi conectada y activada en raspi-config
- La placa multiwii conectada a un puerto USB de Raspberry con el nombre "ttyUSB0" (puedes comprobarlo con el comando "dmesg | grep tty", si tu multiwii está conectada con otro nombre cámbialo al principio del archivo "main.py")
Antes de comenzar, reinicie su Pi para aplicar toda la instalación anterior.
A continuación siga estos comandos:
sudo hostapd -B /etc/hostapd/hostapd.conf sudo ifconfig wlan0 192.168.10.1 sudo service isc-dhcp-server reiniciar sudo python multiwiiControll/main.py
Explicación:
- "-B" es para iniciar hostapd en segundo plano
- Tras iniciar hostapd, la IP cambia (desconozco el motivo). Por lo tanto, debemos configurarla manualmente.
- Reinicie el servidor DHCP para inicializarlo con la nueva red wlan0
- Y comienza el script de Python
Automatiza esto en el arranque:
Para ejecutar todos estos comandos en el arranque usamos cronjob y un script sh.
sudo crontab -e
Este comando abre el editor nano. Escribe esto al final del archivo:
@reboot /home/pi/multiwiiControll/autostart.sh @reboot sudo python /home/pi/multiwiiControll/main.py &
Salga y reinicie, si todo está bien, ¡todo debe iniciarse en el arranque!
Paso 7: ¡¡¡Este es el final!!!
Si tienes alguna pregunta puedes publicar un comentario y gracias por leer nuestros instructables :)