sexta-feira, 10 de agosto de 2018

Módulo Multiprotocolo DIY


Olá, nesse post irei mostrar como montar um módulo transmissor multiprotocolo semelhante aos existentes no mercado, utilizando um Arduino e o módulo NRF24L01. Com esse módulo, podemos controlar diversos drones existentes no mercado com protocolos compatíveis por meio da saída PPM de um transmissor mais profissional qualquer, como o  FrSky X9D / X9D Plus / X12S, FLYSKY TH9X, or Turnigy 9XR / 9XR PRO, etc.




O módulo Multiprotocolo foi desenvolvido para que possamos controlar diversos modelos de drones utilizando sempre o mesmo rádio que estamos acostumados, tendo em vista que alguns rádios que acompanham estes drones e mini drones não são muito sensíveis ou não agradam muito aos usuários.

Existem alguns modelos pronto para compra no mercado, caso você não tenha habilidades com fabricação de placas, abaixo estão alguns exemplos :


                   

Para fabricarmos o nosso módulo Multiprotocolo DIY, segue  a lista de componentes:
  • 1x Arduino Promini;
  • 1x Módulo NRF24L01;
  • 1x Regulador de tensão de 3,3V, ex: (LD1117 ou Ams1117);
  • 1x Placa para circuito impresso de face única (55mm x 42mm);
  • 2x Resistores de 10k ohm;
  • 1x Barra de terminal fêmea de 5 sockets.
Ferramentas e outros materiais necessários para fabricação da placa:
  • Ferro de solda;
  • Estanho;
  • Caneta de retroprojetor ou marcador de DVDs ou marcador permanente;
  • Percloreto de ferro para corrosão;
  • Recipiente plástico ou de vidro para realizar a corrosão da placa.
  • Perfurador de placas ou mini drill ou micro retífica com broca de 1mm.
  • Programador USB FTDI para gravar o programa o arduino promini.

Os componentes principais para este projeto são o Arduino e o Módulo NRF24L01.
O Arduino escolhido para este projeto é o Arduino promini (ATMega328p) 16Mhz, devido ao seu tamanho compacto. Caso não tenha o promini, pode ser utilizado o Arduino nano  ou até mesmo o Uno, o fator principal é o tamanho para que possa caber dentro do slot do módulo do rádio controle. 
Iremos utilizar 2 entradas analógicas e 4 digitais do Arduino.


O módulo NRF24L01 Wireless Transceiver é responsável pela comunicação wifi entre dispositivos como Arduino, PIC, Raspberry, BeagleBone e dentre outros microcontroladores. Seu alcance pode chegar a 10 metros em ambientes internos e 50 metros em campo aberto. Ele possui uma antena projetada na própria PCB que opera na frequência de 2,4GHz com velocidade de operação de 2Mbps, modulação GFSK, habilidade de anti-interferência, verificação de erros por CRC, comunicação multi-ponto de 125 canais e controle de fluxo e opera na faixa de tensão de 1,9 a 3,6v. 
Devido a tensão de saída de alguns rádios ser superior a 3,6V, vamos utilizar um regulador de tensão de 3,3V para alimentar o Arduino e o NRF24L01. O regulador escolhido foi um regulador de tensão SMD devido ao seu tamanho .

O nosso rádio controle escolhido para teste é o Radio Turnigy 9x. Ele possui um conector no padrão JR para conexão de módulos. Segue abaixo a pinagem do módulo que iremos nos basear para conexão com nosso módulo multiprotocolo DIY:



Iremos utilizar somente 3 pinos: PPM, +BAT e GND.
O pino principal é o PPM, de onde sai o sinal codificado de todos os canais. Os demais pinos são para a alimentação de nossa placa, +BAT e GND.
Se estiver utilizando outro rádio, procure por esses mesmos pinos em outros modelos de conector ou mesmo na placa do rádio  .

Abaixo está o circuito onde juntamos esses componentes:


Para o layout da placa PCB, deixei somente os pinos que realmente importam para soldar na placa e mais alguns para estruturar os módulos. Segue os arquivos para auxiliar a fazer a placa, feito no Ares (Proteus):

PCB Layout (Ares Proteus/ PDF)

Começaremos pela fabricação da placa, existem diversos métodos para fabricação de PCB, vou mostrar um bem simples que estará ao alcance de qualquer pessoa. Primeiramente vamos imprimir em escala real o layout da placa, recortar e colar com cola branca sobre a PCB.
*Cuidado para não colar na face de cobre ou com o desenho espelhado, colei na face sem cobre.
Depois utilizando uma serra, corte nas extremidades do retângulo limitador da placa, cortando com as medidas de 42x55mm:




Após cortar, fica fácil fazer os furos com uma broca de 1mm, seguindo as marcações da impressão :


Após realizar todos os furos, podemos lavar a placa para remover o papel e a cola para que possamos fazer o desenho das trilhas. É bom passar uma palha de aço levemente sobre a parte cobreada da placa para garantir que não fique nenhum resíduo de cola. Agora com uma outra impressão, vamos posicionar ao lado da nossa placa para facilitar a identificar as ligações e então podemos desenhar as trilhas ligando os pontos utilizando uma caneta marcadora permanente.


 Eu costumo preencher as áreas não utilizadas com tinta para que desgaste menos percloreto de ferro na hora de corroer:


Certifique-se de que não há nenhuma trilha incorreta ou em contato com outra, caso esteja, utilize um arame ou agulha para raspar a tinta, faça a correção e então podemos mergulhar no Percloreto de ferro e realizar a corrosão. Não vou entrar muito em detalhe sobre esse processo, mas não tem mistério, com a mistura correta de percloreto de ferro, é só mergulhar e movimentar cuidadosamente a placa até que toda a parte que não está coberta pela tinta seja corroída. Temos o resultado a seguir:


Antes de soldar os componentes, faça um teste de continuidade simples para verificar possíveis curto circuitos indesejados. Podemos iniciar a solda dos componentes:


Após soldar, faça novamente o teste de continuidade para garantir que não há curto circuito, principalmente no regulador de tensão SMD.
Reparem que possui jumpers na parte de cima da placa debaixo do NRF24L01 e no conector SIL fêmea que é soldado virado para baixo. Fiz o reforço com cola quente para evitar que o conector sofra algum esforço que afete a solda.
Agora que tudo está soldado, é hora de trabalhar na gravação do programa.
O Arduino promini não possui porta USB, por isso é necessário o uso de um gravador FTDI. A imagem abaixo do site www.arduinoecia.com.br mostra como deve ser as conexões para passar o programa para o microcontrolador:


Vamos abrir a IDE do arduino, abrir o programa (nRF24_multipro.ino), selecionar o Arduino correto e a porta COM, compilar e gravar. A única alteração que fiz no código para que funcione no rádio Turnigy 9x com firmware original, foi na ordem dos canais nas linhas de código abaixo:

No link abaixo se encontra o programa já modificado para ser utilizado no Turnigy 9x, lembrando que funcionará em qualquer outro radio que seguir o padrão AETR.

Multipro (Dropbox)

Após gravar o código já podemos testar o módulo. Vamos conectá-lo no slot do módulo.
Se desejarem podemos fazer um case para proteger o nosso módulo, mas isso vai ficar para uma próxima atualização:



Após conectar, ainda não ligue o rádio, a escolha do modelo de seu drone é feita por meio de uma combinação dos sticks no momento da inicialização do rádio. Então para que o seu rádio e seu modelo consigam se comunicar, é preciso se atentar na combinação correta:

Procedimento para fazer o bind:
  1. Desligue o Radio;
  2. Ligue o Drone;
  3. Enquanto segura os sticks na posição correspondente ao modelo de seu drone, ligue o Radio e aguarde o bind reparando nos LEDs do drone e do módulo;
  4. Divirta-se.
A seleção do Protocolo do modelo depende da combinação dos sticks conforme abaixo:
Rudder left + Aileron left = Bayang protocol with Silverware telemetry for OpenTX
Rudder right + Aileron right + Elevator down = EAchine E010, NiHui NH-010, JJRC H36 mini
Rudder right + Aileron right + Elevator up = FQ-777-124 Pocket Drone
Rudder right + Aileron left + Elevator up = CX-10 older red PCB/CX11/CX205/CX30, JXD389/391/393, SH6057/6043/6044/6046/6047, FY326Q7, WLToys v252 Pro/v343, XinXun X28/X30/X33/X39/X40
Rudder right + Aileron left + Elevator down = WLToys V930/931/939/966/977/988
Rudder right + Elevator down = HiSky RXs, HFP80, HCP80/100, FBL70/80/90/100, FF120, HMX120, WLToys v933/944/955
Rudder right + Elevator up = Syma X5C (older model), X2 ...
Rudder right + Aileron right = MJX X600
Rudder right + Aileron left = EAchine H8 mini 3D, JJRC H20/H22
Elevator down + Aileron left = Syma X5C-1/X11/X11C/X12
Elevator down + Aileron right = Attop YD-822/YD-829/YD-829C ...
Elevator up + Aileron right = EAchine H8(C) mini, BayangToys X6/X7/X9, JJRC JJ850, Floureon H101 ...
Elevator up + Aileron left = EAchine H7
Elevator up = WLToys V202/252/272, JXD 385/388, JJRC H6C, Yizhan Tarantula X6 ...
Elevator down = EAchine CG023/CG031/3D X4
Aileron left = Cheerson CX-10 green pcb (Meu modelo de teste neste post)
Aileron right = Cheerson CX-10 blue pcb & some newer red pcb, CX-10A, CX-10C, CX11, CX12, Floureon FX10, JJRC DHD D1

Recursos extras, se o seu modelo suportar:
Channel 5: led light, 3 pos. rate on CX-10 and FQ777-124, H7, inverted flight on H101
Channel 6: flip control
Channel 7: still camera
Channel 8: video camera, pitch trim (FQ777-124)
Channel 9: headless
Channel 10: calibrate Y (V2x2), pitch trim (H7), RTH (H8 mini/H20, FQ777-124), 360deg flip mode (H8 mini 3D/H22)
Channel 11: calibrate X (V2x2), roll trim (H7,FQ777-124)
Channel 12: Reset / Rebind

No meu caso o modelo é um Cherson CX-10 green PCB, então devo ligar o drone, em seguida ligar o rádio segurando o stick do aileron para esquerda.

Segue o vídeo de teste:



Se não estiver funcionando, vamos verificar alguns itens:

  • Canais do rádio invertidos?
  • Ordem dos canais no rádio, AETR?
  • Ordem dos canais no programa, AETR?
  • Limite dos endpoints com 120%  no rádio?
  • Combinação correta de posição do stick ao ligar o rádio?
Assista o Vídeo e se inscreva no meu canal do youtube: 
https://youtu.be/4SUtfplV4wU

Obrigado e até a próxima.

quarta-feira, 1 de agosto de 2018

Carrinho de Controle Bluetooth com Arduíno


Olá, nesse post vamos aprender a controlar um carrinho/robô Arduíno controlado via Bluetooth pelo nosso Smartphone.





Podemos utilizar o mesmo chassis que utilizamos para o nosso carro de controle remoto IR.
Se não tiver um cassis recomendo o da lista de material abaixo que é um bom começo para iniciantes.
Vamos a lista de materiais:

  • 1x Arduino Uno ou Nano;
  • 1x Ponte H dupla( L9110, L298n ou de transistores);
  • 1x Módulo Bluetooth HC05 ou HC06;
  • 1x Kit chassis + Motores dc com redução.
  • 1x cabo adaptador de bateria para Arduino.
  • Aplicativo utilizado : Arduino Bluetooth RC Car (Testado em sistema Android):.

Primeiramente vamos montar nosso chassis e a eletrônica sobre ele:

Após tudo organizado, iremos fazer as conecxões de acordo com a ponte H que estivermos utilizando, o esquema abaixo se refere a uma ponte H L298n, mas a única coisa que muda são as conexões dos motores, a princípio nada muda na programação:


*Caso utilize uma alimentação separada para o Arduíno e outra para os motores, devemos interligar os negativos.

Como podem ver no esquema, a bateria está alimentando o Arduíno e os motores por meio da ponte H nos pinos 12V e GND. O módulo Bluetooth está sendo alimentado pelo Arduíno pelos pinos 5V e GND. 
Os pinos TX e RX do Arduino são ligados ao RX e TX do módulo bluetooth ( TX do bluetooth no RX do Arduino e RX  do bluetooth no TX do Arduino), sempre "cruzado" para que a comunicação entre o Arduino e o módulo bluetooth aconteça.

Os pinos digitais 3, 9, 10 e 11 são responsáveis pelo controle das direções em conjunto com a ponte H. Devem ser conectados nas entradas IN1 a IN4 da ponte H conforme esquema e sequencia abaixo:

PINO 3 - IN2 da Ponte H
PINO 9 - IN1 da Ponte H
PINO 10 - IN3 da Ponte H
PINO 11 - IN4 da Ponte H

A ordem das ligações é importante para o chaveamento correto dos transistores da ponte H, para que haja o controle e reversão corretos de acordo com o nosso código. 
Você poderá mudar depois que entender o funcionamento e deixar de acordo com o que julgar melhor.
Você pode visitar esse post para entender o funcionamento da ponte H.

Após feito as conexões, iremos para o nosso programa. Para isso é necessário que você possua a IDE do Arduino instalada em sua máquina.

Segue o programa no Dropbox no link abaixo:


Após copiar o programa para sua IDE, vamos selecionar o tipo de arduino e a respectiva porta COM.
Vamos primeiro verificar a programação se não possui nenhum erro e em seguida gravar o programa no arduino.

Chegou a hora do teste!

Para conectar seu celular ao módulo bluetooth, será necessário primeiramente fazer o pareamento.
Ative o bluetooth do celular, ligue a eletrônica do carrinho e certifique-se de que o módulo bluetooth está piscando aguardando conexão. Busque na lista de dispositivos encontrados o módulo. A senha de pareamento geralmente é 1234. O módulo bluetooth irá parar de piscar ao estabelecer conexão com o celular.
Após o pareamento concluído, vamos abrir o aplicativo Arduino Bluetooth RC Car, para conectar ao nosso carrinho.

A tela inicial do aplicativo possui vários botões que podemos utilizar para programar nosso carrinho.
Na nossa programação utilizei somente os direcionais e um para acionar qualquer coisa, pode ser um farol ou uma buzina.
Para realizar a conexão com o nosso carrinho, a eletrônica deve estar ligada e o smartphone pareado com o módulo bluetooth.
Primeiramente clicamos no ícone da engrenagem abaixo: 


Selecionamos a opção "Connect to a car":


 Escolhemos na lista o nome referente ao módulo bluetooth (HC-06 ou HC-05 ou qualquer nome programado ao módulo):



Pronto, o símbolo que estava vermelho no canto superior esquerdo agora ficará verde indicando que a conexão foi estabelecida.
Agora podemos testar as direções utilizando as teclas direcionais.
Caso a direção do seu carrinho não esteja correspondendo ao do aplicativo, reveja as ligações e se a ponte H utilizada é do mesmo tipo.



Caso não esteja conseguindo conexão tente algum desses passos:
  • Verifique se o módulo está ligado;
  • Verifique se o pareamento foi realizado com sucesso;
  • Revise novamente se as conexões (TX/RX) estão cruzadas;
  • Talvez seja necessário uma configuração do módulo Bluetooth por meio de códigos AT para modificar baudrate, etc.
Você pode editar o programa para adicionar mais funções, o aplicativo do celular possui no menu "Settings" a lista de comandos enviados ao módulo Bluetooth, assim você pode escolher o comando e utilizar como quiser no seu código. Segue a lista de comandos no aplicativo:


Por exemplo, quando o aplicativo envia o comando "F", o nosso programa o interpreta na função IF e envia o respectivo comando para a ponte H mover o carro para frente:

 // Se o estado recebido for igual a 'F', o robo se movimenta para frente.
  if (state == 'F') {
    analogWrite(motorB1, vSpeed);
    analogWrite(motorA1, vSpeed);
    analogWrite(motorA2, 0);
    analogWrite(motorB2, 0);
 }

Agora que sabe como modificar o programa, aproveite para adicionar atuadores como farol, buzina, etc.

Espero que tenham gostado deste post. Muito obrigado e até o próximo!

Se inscrevam no meu canal do youtube!  https://youtu.be/4so6ZdPtz4w
Obrigado



sábado, 28 de julho de 2018

FPV Barato


Olá, nesse post mostrarei uma alternativa barata pra quem gostaria de começar a voar FPV (First Person View), ou voo em primeira pessoa, quando o piloto tem a visão a partir do aeromodelo ou drone, como se estivesse realmente pilotando o mesmo.


Existem no mercado diversos equipamentos dedicados a esse estilo de voo como transmissores de vídeos, receptores e monitores. O preço varia muito de acordo com a marca, qualidade de imagem, distância de transmissão, etc.
No entanto, antes de investir uma grana alta com estes equipamentos, podemos desfrutar deste estilo de voo com um custo mais baixo, utilizando um receptor em um óculos VRbox e são estes equipamentos que gostaria de compartilhar com vocês:


Câmera FPV TX= R$120,00 ou $22,00
Receptor UVC = R$120,00 ou $20,00
VRBox = R$30,00 ou $23,00
Custo total de R$270,00(Reais) ou $65,00 (dólares) para desfrutar do vôo FPV.
Os valores não estão diretamente convertidos, estão de acordo com o mercado.
Esse valor é muito inferior a um sistema FPV mais tradicional, que fica em torno de R$1000,00.

Antes de falar sobre o sistema barato, é interessante entender como funciona um sistema de transmissão de vídeo de um aeromodelo/drone para um receptor no solo.
O sistema é composto basicamente de 4 componentes: Câmera, Transmissor, Receptor e Monitor. Segue abaixo um esquema básico:



   1. Câmera

A câmera é o principal componente do vôo FPV, é por meio dela que serão capturadas as imagens de vídeo. Para um voo FPV, é indispensável que as imagens de vídeo capturadas pela câmera sejam enviadas em tempo real, ou muito próximo disto. Devido a essa característica, as câmeras mais indicadas para FPV são câmeras CMOS(complementary metal–oxide–semiconductor ) ou CCD (charge-coupled devices). As câmeras CMOS  são mais baratas e as CCD garantem uma melhor qualidade de vídeo, ambas são indicadas para voo FPV, sendo a CMOS mais utilizada devido a seu baixo custo.

Geralmente encontra-se no mercado câmeras que trabalham com tensão de alimentação de 12v ou 5v.
As câmeras possuem outras caracteristicas importantes para o voo como o tipo de lente  e a qualidade do vídeo. A qualidade é representada pela sigla TVL ou também é conhecida pelo fator CCD (1/3 CCD), por exemplo. Não vou entrar muito em detalhes, mas vou dizer de uma maneira direta que quanto maior o TVL e maior o fator CCD melhor a qualidade da imagem. Uma câmera muito utilizada para FPV fica em 600 TVL e 1/3CCD.
Outro fator importante é o ângulo da lente utilizada. Existem diversos modelos de lente, 3,5mm, 1,8mm, 2.1mm, etc. O tamanho influencia também no angulo de visão que pode ser de 170º, 120º, etc. Uma lente bastante utilizada é a de 1.8mm, 170º, que proporciona uma boa visão do qu está ao redor do aeromodelo ou drone.
Abaixo segue um exemplo de uma câmera utilizada para FPV em drones racer:

   2. Transmissor de vídeo


O transmissor é responsável por processar as imagens de vídeo capturadas pela câmera e enviá-las via ondas de rádio por meio de uma antena para o receptor. O transmissor também pode capturar e transmitir o áudio, caso a câmera possua microfone ou o sistema possua um microfone conectado.
O Transmissor também pode fornecer ou transferir a alimentação da bateria para a câmera.
Geralmente possui canais de transmissão para que possamos escolher em qual canal transmitir e também em qual canal há menor interferência. Também separamos os canais quando vários pilotos estão no mesmo local, assim cada piloto pode visualizar somente a câmera sintonizada no seu canal. 


3. Receptor de vídeo

O receptor de vídeo é responsável por decodificar o sinal de rádio e converter em sinal de áudio e vídeo para que possa ser exibido em um monitor. Assim como o transmissor, o receptor possui diversos canais, sendo necessário sintonizar o mesmo canal do transmissor para que o sinal possa ser capturado e decodificado com a maior qualidade possível. 
O receptor possui saídas de áudio e vídeo que podem ser conectadas em monitores compatíveis. Geralmente é alimentado por bateria ou por uma fonte.

Resultado de imagem para receptor boscam
4. Monitor


O monitor por fim, é responsável por exibir as imagens decodificadas pelo receptor. Existem diversos tipos de monitores no mercado. Por ser o último elemento do sistema FPV, cabe ao usuário escolher o que melhor lhe agrada. 
O Monitor auxilia o piloto mesmo que este não esteja voando FPV. Muitas pessoas o utilizam como um guia na hora de capturar fotos ou como uma segurança a mais para saber em qual direção o aeromodelo está seguindo.
Resultado de imagem para monitor fpv

Também encontramos atualmente óculos VR que já possuem antena para receber as imagens e um monitor de vídeos. O custo ainda é alto, mas vale a pena investir se você puder. Abaixo está um exemplo de um óculos VR com antena e monitor embutidos em um único equipamento:

Agora que conhecemos o básico de um sistema de FPV, vamos conhecer um sistema mais interessante que foi desenvolvido. Tiveram a brilhante ideia de juntar a câmera com o transmissor, com isso nosso sistema foi simplificado em um único módulo que filma e já transmite o sinal. Abaixo está um exemplo de uma câmera que já possui um transmissor embutido e uma antena:


Mas a grande questão em que podemos economizar no nosso primeiro FPV, é que foi desenvolvido um receptor que decodifica e digitaliza o sinal para que possa ser transmitido para um PC, Smartphone, Tablet ou qualquer aparelho com entrada USB e driver compatível, tudo isso com um atraso mínimo. Esse receptor é conhecido como Receptor UVC. Abaixo está um exemplo desse pequeno módulo:

Apenas com essa câmera e o módulo receptor UVC, podemos montar nosso sistema FPV.
Basta que seja feita a instalação de um software no Smartphone, por exemplo, para que possamos visualizar as imagens transmitidas pela câmera. Estes softwares podem dividir a tela em duas para que possamos colocar nosso smartphone dentro de um VRBox e poder visualizar as imagens por ele, segue um exemplo de um VRBox:


Agora é só juntar as partes, primeiramente montamos nossa câmera no aeromodelo, feito isso, vamos baixar o aplicativo para podermos visualizar as imagens no smartphone. Vou deixar um link de um aplicativo gratuito para que vocês possam testar, esse aplicativo é pago caso queira remover os anúncios:
https://play.google.com/store/apps/details?id=labsp.android.viewer&hl=pt_BR

Após instalado o aplicativo, é só conectar o receptor UVC no seu smartphone, a principio pode aparecer uma tela com chuviscos e nenhuma imagem. No entanto, basta pressionar o botão frontal do receptor UVC por alguns segundos e o mesmo irá começar a auto sintonia e exibirá as imagens ao final. O aplicativo possui opção para dividir a tela para melhor visualização no VRBox.

Caso não tenham experiência em como ligar uma câmera, acessem esse post, onde mostrarei com mais detalhes os esquemas de ligações da câmera no aeromodelo.

Espero que tenham gostado desta solução. Até mais!




quinta-feira, 31 de maio de 2018

Como configurar modos de voo no MultiWii?

Olá, nesse post vou mostrar como configurar os modos de voo no nosso quadricoptero DIY utilizando o software Multiwiiconfig que vem junto com o Multiwii software V2.3.
Primeiramente vamos abrir o multiwii config e conhecer seu ambiente de configurações:


Na barra lateral da esquerda temos as configurações de conexão entre a placa controladora e o software. Temos também a area onde configuramos os nossos PIDs.
No canto direito temos o grafico terra céu, onde podemos vizualizar a orientação de nosso quad e se os sensores e motores estão ativos e respondendo de maneira correta.

Mais ao centro temos o campo onde configuramos os modos de vôo, é esse campo que nos interessa no momento:


Neste campo vemos uma matriz para cada canal auxiliar, neste caso iremos configurar apenas os canais aux1 e aux2, lembrando que a configuração dos demais canais irão depender da configuração do radio controle e da quantidade de canais disponíveis.
Ao ativar os quadrados referentes a cada linha e coluna da matriz, configuramos os modos desejados em cada posição e faixa dos canais auxiliares. As linhas representam a função a ser ativada(modos de vôo, arme e desarme, sensores ativos) e as colunas são as faixas de cada canal que são: Low (1000), Mid(1500) e High(2000). Esses valores podem variar um pouco dependendo do modelo do radio utilizado, porém a lógica é a mesma. Você pode testar os valores máximo e mínimo observando nos gráficos do multiwii config:


Continuando com a nossa configuração:

Aux1 será responsável por armar/desarmar a placa controladora:

  • Em Low e Mid- Essa deve ser a posição inicial por segurança, mantém a placa desarmada impedindo que os motores funcionem ao movimentar o stick de "throttle" ou acelerador.
  • Em High - Arma a placa permitindo ligar os motores.

Aux2 será responsável por selecionar os modos de voo:

  • Em Low - Modo Acro - Quad não estabiliza e permite qualquer manobra em 3D.
  • Em Mid - Modo Angle+Mag - Quad estabiliza sozinho e não corre risco de inclinar mais do que o angulo permitido pelo software. Modo Mag impede a rotação involuntária do quad no eixo YAW utilizando o sensor da bússola como base.
  • Em High - Modo Angle + Mag + Altitude hold - Além de estabilizar sozinho igual na posição Mid, ele também mantem a altitude com a ajuda do sensor barômetro.
Após clicar com o botão esquerdo do mouse nos quadrados ticando as opções conforme desejado, podemos clicar em SAVE para salvar nossos modos de voo e configurações em um arquivo do multiwii config e também clicar em WRITE para salvar estas configurações também na memória da placa do quad.



Feito isso podemos testar os modos movendo os sticks auxiliares e verificando se os modos correspondentes e arme/desarme ficam verdes quando ativados.
Lembrando que ao armar a placa devemos ter cuidado com as hélices, sempre testar da primeira vez sem estas.
Teste Arme e desarme via AUX1:


Teste dos três modos de voo configurados no AUX2:


Concluímos a configuração dos modos de voo e arme e desarme.
Espero que essas informações tenham ajudado vocês a configurar o seu quad . Essas configurações que passei são as mais simples para iniciar e aprender sobre como configurar modos de voo.
Podemos fazer várias combinações de modo de voo e sensores de acordo com nossas necessidades e sensores disponíveis como o GPS.

Em uma outra oportunidade postarei sobre ajuste PID e demais configurações no multiwii config.






quinta-feira, 25 de maio de 2017

Controle PWM de Motor com Arduino ou Teste de Servo com Arduino

Olá, hoje vou mostrar um circuito simples e muito didático para controlar um motor DC via PWM e Arduíno.

O controle por PWM (Pulse Width Modulation) ou Modulação por Largura de Pulso, é um tipo de controle bastante utilizado em automações. Com esse controle podemos variar velocidades, luminosidades e potências em geral. Basicamente conseguimos um resultado de controle analógico através de pulsos digitais.
O PWM funciona da seguinte maneira - Dentro de um certo período, podemos controlar o tempo em que um pulso digital fica em nível alto. A duração do pulso em alto dentro desse período é chamada de Duty Cycle ou Largura de Pulso.



A função que vamos utilizar é a analogWrite() que varia de 0 a 255, com 255 representando o PWM em 100% de Duty Cycle. Os valores intermediários representam proporcionalmente o PWM em % de Duty Cycle, por exemplo, o valor 127 representa o PWM em 50% de Duty Cycle.
No nosso caso vamos estar pegando o valor lido pelo pino do potenciômetro ( que vai de 0 a 1023) e dividindo por 4 para dar valores entre 0 e 255.

Vamos utilizar um Transistor para controlar a potencia e chaveamento do motor, visto que o Arduíno não fornece alta corrente em seus pinos de I/O. O transistor desse exemplo será um TIP41, um transistor darlington fácil de encontrar.

Lista de Materiais:

  • 1x Arduino
  • 1x Potenciômetro ( pode ser qualquer valor, acima de 1k de preferência)
  • 1x resistor 2k2ohm *
  • 1x Transistor TIP41
  • 1x Motor DC 12v
  • 1x Diodo 1N4148

* Obs: O resistor será utilizado na base do transistor e pode variar conforme a corrente no coletor, depende da resistência e do tipo do motor utilizado. Este resistor deve estar dimensionado para que o transistor atue como chave.

As ligações são feitas conforme mostrado abaixo, mas temos que tomar cuidado ao alimentar o Arduíno pelo pino correto, pois a tensão do cooler é 12V, caso contrário podemos queimar o Arduino. Os GNDs devem estar conectados. O Pino de saída escolhido foi o pino D10 que possui um PWM.



É recomendável colocar um diodo para proteger o circuito contra tensão reversa proveniente do motor, pois, quando este é desligado, a inercia o faz virar um gerador. :



Após feito as conexões conforme visto acima, segue o programa para enviarmos ao Arduino:

/*
// Programa :Controle PWM de Motor DC
// Autor : Fernando Moreira
//Controla a velocidade de um motor conforme o valor do potenciômetro
*/

int motPin = 10; // pino do motor 1
int analogPin = 0; // pino para leitura do potenciômetro
int val = 0; //variável para armazenar o valor lido

void setup()

    pinMode(motPin, OUTPUT); // configura pino 10 como saída
}

void loop()
{
    val = analogRead(analogPin);  // lê o valor analógico no pino do potenciômetro
    analogWrite(motPin, val / 4);   // aciona motor com o valor analógico lido (0-1023)
                                                            //dividido por 4 para ajustar ao valor ( 0- 255)                     
}


Após fazer o upload do código para o Arduíno é só testar. Variando o potenciômetro veremos o motor variar a velocidade. Esse programa também serve para controlar outras cargas como Servo motor, LEDs, Lampadas, Resistências, etc.

Um exemplo para testar servos utilizado em aeromodelos e robôs:

É só alimentar o servo com 5V e ligar o fio de sinal do servo na saída pino 10 conforme a imagem acima.

Espero que tenham gostado deste post e que ele seja útil para vocês implementarem outros tipos de controle.

Se inscrevam no meu canal no youtube, Obrigado!
https://www.youtube.com/channel/UCh_d8IZS0gB68gJGoZ8d6Qg
Obrigado!

terça-feira, 2 de maio de 2017

Regras da ANAC para uso de drones

ANAC cria normas para utilização de Drones:

As regras se aplicam a veículos acima de 250 gramas que deverão ser cadastrados. Veículos abaixo de 250g não necessitam de Licença.
Mais detalhes confira na norma abaixo:
Confira aqui

Geralmente a maioria dos Drones DIY se encaixam na Classe 3 e devem seguir as orientações abaixo segundo a ANAC (Agência Nacional de Aviação Civil):

Para operar aeronaves não tripuladas da Classe 3 (com peso máximo de de­colagem maior que 250g e até 25 kg), além de seguir as regras da ANATEL e de utilização do espaço aéreo do DECEA, é necessário:


  • Ter no mínimo 18 anos de idade para pilotar ou para auxiliar a operação como observador.
  • Possuir seguro com cobertura de danos a terceiros.
  • Operar apenas em áreas distantes de terceiros (no mínimo 30 metros horizontais). Essa restrição está dispensada caso haja anuência das pessoas próximas à operação ou exista uma barreira mecânica capaz de isolar e proteger as pessoas não envolvidas e não anuentes com a operação.
  • Operar apenas um único sistema de RPA por vez.
  • É possível trocar o piloto remoto em comando durante a operação.
  • As operações só poderão ser iniciadas se houver autonomia suficiente da aeronave para realizar o voo e para pousar em segurança no local previsto, levando-se em conta as condições meteorológicas conhecidas.
  • Fixar a identificação (número obtido no processo de cadastramento) do equipamento em local visível na aeronave e com material não inflamável.
  • Portar o comprovante do cadastro junto à ANAC, do seguro e da avaliação de risco e o manual de voo do equipamento.

Abaixo segue um exemplo do da certidão de cadastro:

Lembrando que a foto deve mostrar o numero de série ou uma característica que o diferencie de outros modelos semelhantes.

Fonte: Site da ANAC  - http://www.anac.gov.br/assuntos/paginas-tematicas/drones/aeronaves-nao-tripuladas-da-classe-3-com-peso-maximo-de-deco-lagem-maior-que-250g-e-ate-25-kg

domingo, 30 de outubro de 2016

DRONE DIY - FRAME CASEIRO PARA QUADRICÓPTERO

Olá, no outro post, fizemos a placa controladora de vôo, onde aprendemos como funciona a uma placa multiwii e como gravar e programar nosso software para controlar nosso quadricóptero.
E agora que temos nossa placa controladora está na hora de montá-la em um frame para fazer os testes.
Neste post mostrarei como construir um frame leve e resistente para nosso projeto de quadricóptero.
O frame é o corpo do nosso quadricóptero, onde são montados os motores, placas, ESCs, bateria, câmera, etc.
Existem muitos frames hoje no mercado, além do preço ser um pouco alto, alguns são pesados demais dependendo de sua configuração e para que você pretende utilizar. Mas tem ótimos frames como os F450, que são ideais para começar a montar um drone.
 Agora se você gosta de DIY, e está afim de montar seu próprio frame, você estará economizando e ainda aprendendo e pode investir o dinheiro que iria gastar no frame em outros equipamentos para seu drone. Além disso, poderá fazer um frame a seu gosto. Então vamos continuar....


Materiais necessários para o frame:
  • 2x placas de PCB 10x10cm;
  • Percloreto para corroer as placas;
  • 1x tubo quadrado de aluminio 20x20mm x 1m comprimento e parede de 1mm ou tubo equivalente;
  • Arco de Serra ou tico-tico;
  • 4x parafusos M3x30mm (phillips);
  • 8x parafusos M3x25mm (phillips);
  • 4x espaçadores M3x10mm
  • 16 arruelas para M3;
  • 12 porcas M3;
  • Braçadeiras de nylon diversas;
  • Ferro de solda e estanho;
  • 4x espaçadores com rosca M3;
  • Furadeira e broca de 3mm.
Materiais necessários para o montagem do Quadricoptero:
Primeiro vamos começar com as placas de PCB, Fiz o design abaixo para que possamos dividir a alimentação que vem da bateria para a eletrônica do nosso quadricóptero. No centro é o polo negativo e o contorno é o polo negativo. A bateria utilizada neste caso deve ser 3s ~12V, 3000mah.
Os pólos da bateria vão ser ligados em paralelo aos fios de alimentação dos ESCs, estes devem possuir BEC interno, pois serão responsáveis por alimentar nossa placa multiwii quando conectarmos a ela.



Se você não sabe como fazer uma placa de PCB e corroer, leia esse post:
Vamos fazeer a impressao do circuito somente em uma das placas.
Após a corrosão, podemos fazer as furações na placa de diâmetro 3,2mm  para fixarmos futuramente os braços do quad. Também já podemos soldar os ESCs e conector para bateria da seguinte forma, todos os positivos soldados no centro e todos os negativos soldados no contorno de fora como na figura abaixo:


A outra placa (inferior) será apenas furada colocando-se a placa furada sobre ela. Essa não terá circuito para ser corroído, ou se preferir, pode-se fazer um circuito para outra finalidade nela. Eu fiz a corrosão para eliminar o peso do cobre e fiz um furo no centro para passar possíveis cabos. Também prendi nela um suporte para câmera Pan e Tilt.
Agora vamos fazer os braços do nosso quadricóptero. Com o tubo de alumínio de 1m e uma régua em mãos, vamos marcar com um lápis e dividir o tubo em quatro pedaços de 250mm. Em seguida vamos serrar utilizando uma serra manual ou uma tico-tico. Com uma lixa ou lima vamos remover as rebarbas. depois marcamos as furações utilizando nosso lápis e régua conforme o desenho abaixo. É importante que as marcações sejam iguais nas quatro peças :

                             

Utilizando uma furadeira e uma broca de diâmetro de 3mm vamos fazer as furações marcadas. Para que não haja desvio, é bom furar de um lado do tubo, virar e furar do outro lado.
Vamos unir as duas placas fazendo um sanduíche com os braços e prender utilizando parafusos M3x25 e porcas M3. Nos 4 furos centrais, vou prender um espaçador M3 com parafusos M3x30 para servir de base para fixarmos nossa placa controladora, é importante que os furos batam e sejam centralizados com a placa. Os ESCs Simonk de 30A são presos no tubo utilizando uma braçadeira de nylon com o dissipador encostado no tubo para ajudar a dissipar calor. A imagem abaixo ilustra a montagem:



Os motores A2212 1000kv são fixados na extremidade dos braços com parafusos M3x25mm e porcas M3 em apenas dois furos da base do motor. Devemos apertar bem os parafusos e porcas utilizados e por segurança, colocar um pouquinho de cola quente para que a porca não se solte com as vibrações. Outra opção é utilizar porcas auto-travantes para este fim.


Por fim montamos a nossa placa controladora sobre os espaçadores, bateria, receptor e opcionais e hélices 1045 para verificar se está tudo ok. Neste momento é importante conectar os motores na ordem correta nos pinos da nossa placa seguindo o esquema que coloquei no post da placa controladora. É importante distribuir o peso de maneira igual para que o quadricóptero fique equilibrado. Alguns preferem montar a bateria na parte de cima e outros embaixo do frame. Eu coloquei a bateria em baixo devido ao espaço que reservei em cima para o GPS, Bluetooth e para o sistema de FPV.



Após a montagem de todos os opcionais que eu pretendia: GPS, Bluetooth e FPV, o peso ficou com pouco mais de 1Kg, esse é um bom valor caso quisermos colocar um sistema de Gimbal. Lembrando que esses quadricópteros com essa configuração possuem um bom desempenho até 1,5kg, acima disso ele pode ficar instável e lento e com problemas de recuperar a altitude, podendo ficar quicando no chão.



Agora removemos as hélices para que possamos configurar o drone de maneira segura.
Para configurar os modos de voo no multiwii config, visite o post abaixo:

Como configurar modos de voo multiwii?

Para um vôo seguro, sigam as normas e cadastre seu modelo acima de 250g no site da ANAC.


Inscrevam no meu canal do youtube: https://www.youtube.com/channel/UCh_d8IZS0gB68gJGoZ8d6Qg

Obrigado
Abraços