Pessoal, vim postar um vídeo de voo com o quad renovado. Nesse vídeo eu testei o GPS HOLD e está funcionando legal. O GPS HOME eu não usei pois a última vez que tentei, não tive sucesso hehe
Pessoal, depois de instalar os LEDs fiquei com muita vontade de voar a noite, faltava só encontrar um bom lugar... Enfim encontrei um lugar, abaixo segue o vídeo:
Da para perceber claramente que o quad está muito mais estável agora. Obtive esse resultado após balancear as hélices, modificar os PIDs, utilizar o modo Altitude hold e algumas vezes o modo head free. Nesse último ele assume que a parte frontal do quad é sempre a direção onde o modo foi ativado, então mesmo que o quad gire sob o eixo yaw ele ainda vai obedecer os comandos como se estivesse apontando para direção que foi marcada.
Primeiro vou mostrar o meu balanceador de hélice customizado e como fiz o balanceamento.
Dois pedaços de um tubo plástico encontrado em latas de spray.
Bem, eu fiz dois furos em cada régua e usei os dois parafusos para prender as duas réguas em paralelo. Coloquei o chumbo nos parafusos para fazer contrapeso com a hélice. Segue algumas fotos do balanceador.
O modo simples de balancear uma hélice é colar pedacinhos de fita isolante ou durex nela. Abaixo segue a foto de uma hélice desbalanceada.
Sempre que eu colocava essa hélice no balanceador, ela tendia a ficar nessa posição. Isso indica que a parte apontando para baixo esta mais pesada. O certo era ficar na horizontal...
Usando a abordagem da fita colante, nessa hélice seria preciso colocar um pedacinho de fita colante no lado que esta mais leve (apontado para cima), basta colar um pedaço próximo da ponta e testar, se não ficou certo, é só reduzir o tamanho do pedaço caso fique muito pesado ou colocar um pedaço maior caso fique muito leve. A melhor maneira de colar a fica é passando ela de cima para baixo no lado da lâmina onde o vento vai ser cortado, dessa forma o atrito com o vento vai forçar a fita a ficar mais fixa no lugar e assim evitar que ela se solte no voo. Abaixo segue uma foto da minha hélice balanceada.
Também é possível balancear as hélices com uma lixa fina, o procedimento vai ser contrário ao da fita colante, o lado mais pesado que deverá ser levemente lixado. Eu não aconselho usar esse modo pois você pode danificar a hélice...
Quanto aos PIDs, eu segui o tutorial do projeto Multiwii, disponível no site:
Para modificar os valores de PID vai ser necessário abrir o GUI de configurações do Multiwii, esse software esta localizado na pasta 'MultiWiiConf' dentro da pasta do projeto. Basta abrir o configurador e escolher a porta COM correta. No meu caso, como eu instalei bluetooth no quad, eu escolho a porta COM referente ao dongle bluetooh no meu PC (fica muito mais prático utilizar o bluetooth e não precisa usar cabos enquanto fizer esse processo).
Utilizei as indicações do tutorial para voo suave (Gentle smooth flight) que é basicamente deixar o proporcional baixo, aumentar bastante o integral e deixar o derivativo médio. Segue uma imagem dos valores de PID que estou utilizando no meu quad.
Também modifiquei as curvas de throttle, pitch e roll. Na curva de throttle você pode indicar uma faixa média onde o aumento vai ser suave. Na imagem é o pequeno gráfico em azul, da para perceber que no meio do gráfico o aumento de força ficou mais prolongado ao contrário das extremidades. Na curva de pitch e roll, o gráfico em verde, eu limitei o máximo aceito e a sensibilidade.
Bem, vou ficar devendo uma melhor explicação sobre os PIDs, pois ainda não acho que aprendi o suficiente e pretendo configurar melhor para o quad ficar mais estável.
Enfim consegui fazer um voo outdoor sem grandes problemas... O peso total do quad ficou em torno de 1260 gramas, depois que removi o trem de pouso e resolvi usar só uma bateria. Segue o vídeo do primeiro voo, a câmera é bem ruim mas só tenho essa hehe.
Engraçado, mais ou menos no meio do vídeo, um gato apareceu para conferir o que era aquilo voando :P
Agora vou falar das configurações feitas antes do voo.
Primeiro, tive que programar as ESCs corretamente... Percebi que eu havia modificado as configurações de uma das ESCs sem querer e ativei o Brake, por isso umas das hélices sempre parava antes que as outras (dá para perceber no final do vídeo do primeiro teste).
Bem para programar minhas ESCs não achei que seria necessário comprar um cartão de programação porque é muito fácil programá-las utilizando o modo de programação com sinais sonoros. Não vou falar muito de como programar com cartão de programação aqui, pois ainda não fiz testes com um. No entanto as configurações basicamente são as mesmas nesse modelo de ESC.
Segue o link da minha ESC, do cartão de programação apropriado para a mesma e do manual da ESC:
Cuidado ao comprar o cartão de programação, nem todas as ESCs utilizam o mesmo...
As configurações padrão dessa ESC são:
1) brake: off
2) The types of battery: Lipo battery with automatic detection
3) The cutoff value under low voltage(CutOff Threshold): middle(medium 3.0V/65%)
4) The angle of entrance in motor(Timing): automatic
5) Setting for accelerated startup(Start Mode): smooth(medium)
6) The setting Mode for helicopter(Governor Mode): off
7) Steering motor(Motor Rotation): clockwise
8) The frequency of working: 8kHz
9) Protection mode under low voltage(CutOff Mode): reduce power (Soft-Cut)
Foi preciso modificar o tipo de bateria (Types of battery) para nickel-hydrogen battery. Bem vi algumas pessoas indicando essa mudança mesmo que esteja usando LiPo, porque a tensão de corte de energia fica menor ou inativa (depois tenho que ver melhor isso). Também modifiquei o indicador para corte de tensão (Cutoff value under low voltage) com o valor low. O resto mantive no padrão de fabricação.
Nesse modelo de ESC, a programação via alertas sonoros é bem simples, não há necessidade de navegar entre submenus (acho que seria muito fácil se perder nos alertas de ESCs que utilizam submenus). Existe somente uma sequência de 22 alertas diferenciados feitos com a composição de 5 sons (olhe no manual da ESC para saber o que significa cada um). Cada um dos 22 alertas equivale a um comando que vai ser definido. Para entrar no modo programação, é necessário ligar o motor na ESC para ouvir os alertas sonoros, então ligar as ESC no canal de throttle do receptor (RX) e deixar o stick de throttle no máximo. Agora é só ligar a ESC na bateria, esperar uns três segundos e começar a contar as sequências até chegar na desejada. Quando escutar o alerta desejado, basta colocar o stick no minimo. O motor vai emitir dois beeps indicndo que o valor foi redefinido. No meu caso, não usei o receptor do radio, fiz esse processo com um testado de servos. Liguei todas as ESCs no testador e fiz a configuração em todas ao mesmo tempo =] (só lembrando, eu não sei se as BESC (com BEC) tem alguma proteção para isso, mas em todo caso se sua ESC não for OPTO (sem BEC), aconselho tirar o fio central (positivo) do cabo de controle da ESC quando for ligar todas na mesma malha positiva, basta deixar somente em uma para alimentar o testador de servos).
A segunda configuração necessária foi calibrar o intervalo do throttle para as ESCs. Isso pode ser feito utilizando o radio com o canal do throttle do receptor ligado diretamente na ESC e o stick posicionado no máximo, em seguida esperar dois segundos e colocar o stick no minimo, o motor deve estar ligado a ESC para emitir um aviso sonoro. Para esse procedimento é possível utilizar um cabo que se replica em outros quatro e então programar todas as ESCs ao mesmo tempo. Não aconselho utilizar o testador de servos nesse caso, pois o range dele não vai ser o mesmo que o do radio. O mais indicado é utilizar o método via Flight Controller/Multiwii porque no final de contas é a controladora que vai enviar o comando diretamente para ESC e não o TX/RX. Para ativar esse recurso do projeto Multiwii, basta abrir o arquivo "config.h" e procurar a seção "SECTION 7 - TUNING & DEVELOPER" em seguida encontrar o tópico "ESCs calibration". Nesse ponto vai ser fácil encontrar as definições abaixo.
A definição "ESC_CALIB_LOW" guarda o valor minimo que vai ser passado para a ESC. O valor de MINCOMMAND foi previamente definido na seção "SECTION 1 - BASIC SETUP".
#define ESC_CALIB_LOW MINCOMMAND
A definição "ESC_CALIB_HIGH" guarda o valor máximo que vai ser passado para a ESC. Você não deve alterar esse valor para um número maior que 2000. Pois esse número reflete o valor em microssegundos para a duração do pulso enviado a ESC. O intervalo entre cada ciclo é de 20 milissegundos, esses valores são padrões de PWM (Pulse-width Modulation) tanto para servos como ESCs, ou seja esse valor não pode ser ultrapassado ou então a ESC não vai funcionar corretamente (não sei ao certo mas pode até haver uma proteção para não aceitar um valor maior que isso).
#define ESC_CALIB_HIGH 2000
Para ativar o modo de calibração, o comentário na definição "ESC_CALIB_CANNOT_FLY" deve ser removido. Ao remover esse comentário, quando o código for pré-compilado um trecho especial vai ser gerado para calibração das ESCs. Como o nome da definição já diz, não é possível voar com esse código.
#define ESC_CALIB_CANNOT_FLY // uncomment to activate
Após remover o comentário, o código deve ser compilado e enviado para o arduino. Em seguida, basta ligar o multi-rotor e esperar alguns segundos. Os motores vão emitir um aviso sonoro diferente do que é feito em modo normal (no meu foram dois beeps). Pronto, se você escutou o sinal sonoro, basta desligar o multi-rotor, compilar novamente o código do Multiwii comentando a definição "ESC_CALIB_CANNOT_FLY" como estava antes e enviar o código normal para o arduino.
Quanto as configurações de PID e demais coisas da GUI do Multiwii, acabei não modificando muito do padrão que estava lá. Depois tenho que pesquisar mais sobre isso.
Pessoal, fiz o primeiro teste de voo com o quad. Felizmente deu tudo certo...
Antes de tudo, não tente fazer testes iniciais utilizando as hélices! Elas podem machucar muito.
O primeiro passo é ligar as conexões das ESCs corretamente na placa controladora, isso é muito importante pois se todo o resto for feito corretamente, ainda assim o quad vai ficar louco ao tentar sair do chão. Imagina quando ele tentar compensar uma inclinação, colocando mais força para um motor que era para estar do lado oposto, mas a ESCs correspondente foram ligadas erroneamente do mesmo lado da inclinação. Dessa forma o quad vai fazer loops, pois cada vez que ele tentar se corrigir, esse vai inclinar ainda mais...
O segundo passo é seguir o padrão de rotações para os motores. Caso as rotações não estejam corretas mas as hélices sim, acredito que o quad vai voar, mas como um motor não estará anulando a rotação do outro, ele vai ficar girando indefinidamente sobre o eixo yaw...
Direção das rotações para quadX
Abaixo segue um vídeo que fiz seguindo uma dica para verificar as rotações. Coloquei pedaços de pepel no lugar das hélices e assim é possível checar se os motores estão rodando para o lado certo encostando o dedo no papel quando o mesmo esta girando. Para inverter a rotação de um motor basta inverter a conexão de dois dos três fios que são ligados nas ESCs. A ligação desses fios não tem ordem definida, fica a critério da pessoa. Uma dica é ligar os fios iguais dos motores de lados opostos no frame.
Nesse vídeo dá para perceber que o quad está com novo trem de pouso. Sim, removi os outros pois eles eram muito pesados. Encontrei esse plástico em uma loja onde tudo custa 1 real, não sei bem o que é isso mas serviu para o propósito.
O terceiro passo é colocar as hélices corretamente. Na imagem abaixo, o traço em preto representa a hélice vista de perfil e o traço azul representa o ar. Nesse caso, a hélice estaria girando no sentido anti-horário em direção ao lado direito da imagem. Quando for colocá-las tenha essa imagem em mente, observe a rotação do motor e veja se a inclinação da hélice vai mover o ar para baixo como na imagem.
Agora apresento um vídeo com o primeiro voo. A sala é pequena, tive ate que tirar o hack da TV para fazer o teste indoor. Deu certo!!!
Não aparece no vídeo mas em um momento ele se chocou com a parede mas não quebrou a hélice, dei sorte hehe