Drone: Arduino Nano GY86 MWC

Playlist dos experimentos do Drone DIY com Arduino Nano




Drone 2015.05 com multiwii 2.4

Arduino Nano v3.0 com GY-86 e um receptor FrSky X8R, o transmissor é um Frsky Taranis Plus.

Arduino Nano 3.0 com GY-86 e receptor Frsky X8R

Drone 2014.04 com multiwii 2.3

Na falta de um receptor e transmissor/controle de RF, substitui em ambos por placas Stellaris com o Anaren RF Boost Pack. No lado do transmissor/controle/PC, um controle de Xbox envia os comandos para porta serial de uma das placas stellaris através de um programa simples em C# que usa o SlimDX para ler os eventos do controle. No lado Arduino (receptor) outra placa Stellaris recebe os pacotes RF e gera os sinais PWM para o Throttle, Roll, Pich e Yaw, ou seja, uma emulação completa e funcional de um sistema de controle RF tradicional.

Guia rápido

- Download Arduino.
- Download Multiwii.
- Editar o config.h para Arduino Nano com GY86.
- Upload do multiwii configurado para o Arduino.
- Abrir o MultiwiiConf
- Calibrar o acelerometro
- Calibrar o magnetometro
- Marca as checkbots dos chaves AUX
- Verificar se uma das chaves AUX está configurada para armar os motores
- Verificar se uma das chaves AUX está configurada para ativar o autotune do PID
- Verificar se uma das chaves AUX está configurada para mudar entre os modos de voo
- Gravar as configurações para placa.
- Antes de conectar a bateria, verificar no MultiwiiConf se os comandos enviados pelo transmissor estão agindo como esperado.

Calibrar os ESCs:

- Remover as hélices
- Editar config.h e descomentar #define ESC_CALIB_CANNOT_FLY
- Re-upload o código para o Arduino
- Desconectar o Arduino do PC. Plugar a bateria e esperar os ESCs parar de beepar.
- Desconectar a bateria.
- Editar config.h e comentar #define ESC_CALIB_CANNOT_FLY
- Re-upload o código para o Arduino

Calibrar os PIDs:

- Enquanto estiver planando, ativar a chave AUX do autotune
- Esperar oscilar por cerca de 30 segundos
- Desligar a chave AUX do autotune
- Reativer a chave AUX do autotune
- Esperar oscilar por cerca de 30 segundos
- Desligar a chave AUX do autotune
- Pausar
- Desarmar os motores usando a chave AUX
- Ligar e desligar a chave AUX do autotune para gravar os valores na EEPROM.

Montagem do Drone DIY com Arduino Nano



Esquema de ligação do MWC
http://www.multiwii.com/connecting-elements
Os pinos do Arduino nano são distribuídos da seguinte forma:
D2 - RF PWM entrada THROTTLE
D4 - RF PWM entrada ROLL
D5 - RF PWM entrada PITCH
D6 - RF PWM entrada YAW
A4 - I2C SDA GY-86
A5 - I2C SCL GY-86
D3 - ESC PWM saida / MOTOR
D9 - ESC PWM saida  / MOTOR
D10 - ESC PWM saida / MOTOR
D11 -  ESC PWM saida / MOTOR
D8 - LIVRE (pode ser buzzer/AUX2)
D7 - LIVRE (pode ser RF PWM MODE)
D12 - LIVRE (pode ser AUX2)
A6 - LIVRE
A7 - LIVRE
A0 - LIVRE
A1 - LIVRE
A2 - LIVRE (pode ser PSENSOR)
A3 - LIVRE (pode ser V_BAT)
D13 - LED (MWC STATUS)
TX - USART (IDE/DEBUG/BLUETOOTH)
RX - USART (IDE/DEBUG/BLUETOOTH)

Configuração dos ESCs

Também é necessário revisar a configuração dos ESC usando um cartão de programação

ESC programming card: configuração recomendada para o MWC é ajustar o "Timming" para "Middle"

Calibração dos ESCs

É preciso calibrar os ESC para que os todos os quatro estejam sincronizados. 



Configuração do MWC

No config.h é preciso:

1) descomentar as seguintes linhas:
#define QUADX
#define GY_86

2) alterar as seguintes linhas
#define MINCOMMAND  900

Calibração do acelerômetro e magnetômetro

Para calibrar o GY-86 é preciso usar a MultiWiiConf, depois de aberta a conexão serial, é só colocar o drone em um local plano aperta o botão CALIB_ACC e esperar o LED D13 apagar, então use o botão WRITE para gravar a calibração na EEPROM interna do Arduino. Também é necessário calibrar o magnetômetro. Aperte o botão CALIB_MAG enquanto o LED D13 pisca, gire o drone em 360 graus nos eixos X,Y,Z. Quando apagar o LED D13 grave a calibração no botão WRITE.
Na esqueça de conferir na instrumentação do MultiWiiConf se quando você mexe no Drone os ângulos estão corretos. O altímetro do GY-86 não precisa calibrar.

MultiWiiConf  conectado ao Arduino Nano + GY-86