Pessoal, nesse post vou mostrar como configurar o Multiwii para um quadricoptero em X utilizando a plaquinha IMU GY-80 de acordo com o meu projeto.
Para começar vamos precisar do compilador para o arduino, o mais prático é o oferecido pelo site oficial do arduino em:
O código fonte do projeto Multiwii pode ser encontrado em:
http://code.google.com/p/multiwii/downloads/list (esse teste foi realizado com a versão 2.2).
Depois de fazer os downloads, instalar o IDE e descompactar o código do projeto, basta abrir o arquivo "MultiWii.ino" pela IDE do arduino e todos os arquivos do projeto vão abrir em várias abas.
O primeiro passo é fazer a configuração do projeto. Para isso será necessário ir até a aba do arquivo "config.h" e habilitar algumas definições.
Em "SECTION 1 - BASIC SETUP" escolha o tipo do multi-rotor, basta remover o comentário // do define e deixar como abaixo
#define QUADX
Ainda na mesma seção procure por "Combined IMU Boards" e remova o comentário da GY-80 para habilitar os sensores.
#define GY_80 // Chinese 10 DOF with L3G4200D ADXL345 HMC5883L BMP085, LLC
Agora em "SECTION 4 - ALTERNATE CPUs & BOARDS" procure por "Aux 2 Pin" e remova o comentário para ativar o AUX2 no pino 12 do arduino (essa configuração é necessária para utilizar o AUX2 no layout que desenvolvi).
#define RCAUXPIN12
Pronto, as configurações necessárias para testar os código já estão feitas. Agora vou mostrar umas configurações opcionais.
Em "SECTION 2 - COPTER TYPE SPECIFIC OPTIONS" procure por "ARM/DISARM". Nessa configuração é possível ligar os motores com um comando no stick do Yaw ou no do Pitch.
Definindo:
#define ALLOW_ARM_DISARM_VIA_TX_YAW
O multi-rotor vai ligar os motores quando o stick do throttle/yaw for colocado todo para baixo e para direita e desligar quando for colocado para baixo e para esquerda.
Definindo:
#define ALLOW_ARM_DISARM_VIA_TX_ROLL
O multi-rotor vai ligar os motores quando o stick do pitch/roll for colocado todo para baixo e para direita e desligar quando for colocado para baixo e para esquerda.
Na mesma seção em "Cam Stabilisation" é possível ligar o controle para os servos do gimbal.
Definindo:
#define SERVO_MIX_TILT
O gimbal vai funcionar como no sistema SUPER SIMPLE GIMBAL (SSG) que achei genial e pretendo montar esse para o meu quad. Mais sobre esse sistema basta ler esse tópico:
http://www.rcgroups.com/forums/showthread.php?t=1793759 (No tópico fala que é para placa KK2 mas essa versão do Multiwii já tem suporte, eu testei esse modo :D).
Definindo:
#define SERVO_TILT
Os servos vão funcionar do modo tradicional para o gimbal.
Caso não for usar o gimbal, basta deixar as duas definições comentadas.
Abaixo segue uma imagem com as especificações para ligar os ESCs e os receptor.
Também tive que fazer um cabo para ligar os pinos A4 e A5 do arduino no circuito. Usei um pedaço de cabo flat de pc.
Lembrando que foi necessário remover o jumper para isolar a alimentação do arduino e do receptor, no caso eu utilizei outra fonte de energia para o receptor. Quer uma explicação? leia isso:
Com o jumper removido, agora segue o vídeo com o teste feito na minha placa controladora de voo.
Até
não entendi perfeitamente a parte do gimbal.
ResponderExcluirtem como eu deixar com essa configuração e ainda movimentá-lo??
Olá,
ExcluirNunca utilizei a configuração para movimentar o gimbal manualmente. Contudo, acredito que utilizando SERVO_MIX_TILT ou SERVO_TILT o gimbail vai funcionar automaticamente.
abraço.
Olá Marcos, tudo bem? Estou com problema em armar meu esc. Nao sei dizer se o problema é a configuração, ou se é outra coisa. Me diga, o MultiWiiConf, ele arma? Estou perguntando por que não irei trabalhar com R/C. Estou desenvolvendo o controle por serial, alias, este é o trabalho que tenho para desenvolver.
ResponderExcluirSe eu pudesse trabalhar tudo via computador, usando o usb mesmo, poderia trabalhar seguramente no controle, pois saberia que o quad está funcionando.
Minha pergunta é: tem como armar pelo MiConf?
Obrigado, e um grande abraço
Olá, acredito que não tem uma forma fácil de armar pelo Multiwiiconf. Talvez se configurar o switch de armar para ligado nos três modos LOW,MID,HIGH mas não sei se daria certo.
Excluirabraço
Marcos no meu teste o programa não reconhece os comandos do controle (Calibragem do acelerômetro OK), sendo assim quando está tudo ligado o arduino não liga os motores, pode me dizer se você sabe o que pode estar errado??
ResponderExcluirAssumindo que os sensores estão OK, tente verificar se novamente se o pino de dados do receptor esta ligado no pino certo do arduino. Se não for isso, pode ser que o comando de destravar os motores, vc pode configurar para ligar/desligar em um switch do controle, utilizando o MultiwiiConf. Ou pode configurar no config.h e remover o comentário das definições:
Excluir#define ALLOW_ARM_DISARM_VIA_TX_YAW
ou
#define ALLOW_ARM_DISARM_VIA_TX_ROLL
mencionadas acima nesse post.
Como demorei para responder, espero que já tenha contornado esse problema.
abraço.
Olá, como vc ligou o receptor em outra fonte de energia?
ResponderExcluirOlá, o receptor pode ser ligado a qualquer fonte de tensão com 5 Volts.
Excluir