Ok, pessoal já lá vai algum tempo desde a ultima vez que comentei este post, mas como prometido vou partilhar um pouco a experiência que tenho tido na construção do meu quadcopter.
Antes demais, as desculpas pelo longo post.
Ainda não está acabado, mas finalmente estou a começar a ver a luz ao fundo do tunel. Tenho deparado com imensos problemas, mas como o objectivo inicial era aprender, esses problemas estão a desenrolar-se nesse sentido.
No meu ultimo update, andava ás voltas com a programação do arduino e na construção da frame.
Actualmente já tenho um modelo praticamente no seu formato final, faltando-me apenas corrigir alguns pormenores.
-- FRAME --A nivel de problemas, a frame foi a maior dor de cabeça. O modelo que deixei nas primeiras fotos era demasiado pesado, no entanto estavel e sem grandes vibrações.
Decidi, devido ao peso, construir uma nova frame pensada desde o inicio com um tubo de alumínio mais fino. Esta nova frame ficou muito pior, cheia de vibrações por todo o lado. Foi pior a emenda que o soneto.
Com isto tudo, ja tinha gasto uns bons trocos na construção das duas frames. O facto de não ter muitas ferramentas e o dinheiro já gasto obrigou-me a mudar de estratégia. Decidi comprar uma frame já feita e optei por uma das baratinhas da hobbyking. Quando a recebi e a montei só me apeteceu gritar "PORQUE RAIO NÃO COMPREI UMA FRAME LOGO DE INICIO?!!?!?!!"
É verdade, uma frame já feita poupa imenso trabalho e fica muitooo mais barato. A minha ficou em cerca de 10/15€ e totalmente funcional já com uma das bases com a placa PCB para soldar as ligações dos ESC's e bateria.
A frame que comprei foi esta:
https://www.hobbyking.com/hobbyking/store/__57917__Q450_V3_Glass_Fiber_Quadcopter_Frame_450mm_Integrated_PCB_Version_UK_Warehouse_.htmlCom esta frame praticamente todos os problemas da estrutura ficaram resolvidos.
1ª Frame:


2ª Frame:




Frame final:
-- CAIXA DE PROTEÇÃO DA ELECTRÓNICA--Após a parte da frame resolvida, e uma placa de circuito feita em perfboard, achei que estava na hora de arranjar uma solução para a proteger e servir de suporte a alguns leds de sinalização, switch on/off etc.
Esta parte foi relativamente simples. Comprei um pequeno tupperware com as dimensões necessárias, fiz uns pequenos recortes com um dremel e no fim até ficou com bom aspecto, apesar dos recortes feitos a olho.
No fim tive de fazer uns pequenos ajustes porque na verdade a placa é ligeiramente maior que a caixa, mas para já, não é problemático.
De momento a caixa está presa com braçadeiras, mas no final a ideia é usar parafusos.

-- CONFIGURAÇÃO X OU + ? --Inicialmente, a minha ideia era que em termos de código seria mais simples fazer um quad configurado em "+". Porque? Uhm... Pois nem sei bem.
A verdade é que não investiguei muito sobre este tema e ainda agora não faço ideia quais as vantagens de uma configuração sobre a outra.
Com o passar do tempo, e apercebeno-me que quase todos os quads que via na net usavam a configuração em "X", decidi seguir esta via tb. Não faço ideia se é melhor ou pior. Gostava de ouvir umas opiniões sobre este tema.
-- PLATAFORMA DE TESTES --Ok, quando cheguei á parte em que tudo já estava mais ou menos composto, chegou a altura de começar a ver como se comportava o bicho. Vi montes de malta na net com o quad preso com um fio e a testar cada eixo individualmente com este sistema. Decidi seguir a mesma abordagem, pendurei-o debaixo da mesa da cozinha e lá vai ele. Mas não gostei do facto de o quad balançar bastante por isso tentei outras alternativas.
Entretanto decidi que devia investir numa plataforma como deve ser, o mais estavel possivel. Fiz um escoço num papel, fui ao AKI, mandei cortar as madeiras e meia hora depois ja tinha uma plataforma de testes como deve ser.

Esta plataforma é muito mais estavel e consigo monitorizar muito melhor o comportamento do quadcopter.
Primeira plataforma:
[video]https://www.youtube.com/watch?v=PRNB5fYqQf4&list=UUQ6nMsKHpvHb-5KXWSLG4Xw[/video]
Outra plataforma:

Plataforma final:
-- HÉLICES E MOTORES --O maior problema que tive até agora, à parte da frame, teve a ver com as hélices e com os motores.
Durante bastante tempo, nunca consegui afinar o PID ao ponto de ficar minimamente estável. Decidi investigar um pouco e percebi que poderiam existir problemas de calibração dos motores e das hélices.
Segui vários videos do youtube sobre como calibrar as hélices e os motores, aplicando pequenos pedaços de fita cola em zonas especificas. Aí fiquei a perceber que realmente tinha alguns problemas de calibração que causavam imensa vibração. Eliminei essa vibração ao máximo que consegui. Para tal usei a aplicação Max Vibrometer (Android) para medir as vibrações geradas.
Mesmo assim, continuava com um problema grave de não conseguir afinar minimamente o PID.
Comecei a desconfiar que um dos motores deveria estar a andar mais devagar que os outros. Lembrei-me de usar entao outra aplicação android, o FrequenSee que basicamente me apresenta o espectro de frequencias que o som dos motores produzia.
Cheguei à conclusão que em todos os motores no mesmo nivel de velocidade, era apresentado um pico exactamente na mesma frequencia, há excepção de um dos motores que estava sempre mais a baixo.
Decidi entao programar esse motor com uma velocidade 1.4x superior aos outros. Aí FINALMENTE comecei a ver qualquer coisa. Já consigo estabilizar minimamente o QUAD!

PID sem qualquer efeito devido ao motor avariado:

Max Vibrometer (Android)

FrequenSee(Android)
-- SOFTWARE DE DEBUG --De forma a conseguir feedback instantaneo do comportamento do quad na plataforma de testes, decidi fazer uma pequena aplicação que me mostrasse em tempo real alguns parametros.
Pretendia ver o output para os motores, outputs do PID e setpoints vs inputs.
Para tal fiz duas pequenas aplicações em Procesing onde a primeira me exibe os gráficos em tempo real e os guarda num ficheiro. A segunda bassicamente permite-me olhar para esses ficheiros e analisa-los posteriormente.
Como se pode ver, depois de corrigido o problema do motor que roda mais lentamente, já começo a ter relações Setpoint/Input mais razoaveis.


Quad em modo corta-relva (qdo eu pensava que já tinha o PID mais ou menos encaminhado! LOL):