quarta-feira, 9 de dezembro de 2015

Ligando motores de drone (brushless) com arduino e fonte de PC

Olá, neste artigo vou mostrar como fazer com que motores sem escova (brushless), usados em  drones, funcionem com arduino e fonte de PC.

É possível, inclusive, controlar a velocidade do motor.

Esta técnica funciona também com outros motores brushless, não apenas o usado neste artigo.

Resolvi fazer isto porque estou montando um drone e estou comprando as peças aos poucos. Os motores chegaram, os ESC também, as hélices também, mas eu não tinha a controladora, nem a bateria e nem o radio. Para conseguir testar meus motores e ESCs, resolvi "simular" a controladora, usando um arduino e a bateria, usando uma fonte de PC. O resultado você confere no vídeo abaixo (pule para 2:02 se quiser ver já funcionando):


Se quiser aprender como fazer, continue lendo!

Então, vamos ao trabalho?

Hardware

Obrigatório:

  • 1 Motor brushless tipo este: http://goo.gl/ExmYDD;
  • 1 ESC para este motor: http://goo.gl/VwyoEx;
  • 1 potenciômetro de 10k;
  • 1 Arduino UNO (pode ser qualquer arduino que possua PWM);
  • 1 fonte de PC (de preferência fora do gabinete);

Opcional:

  • Hélice para o motor (se for motor para drone, aeromodelo, etc);
  • Jumpers de protoboard;
  • Conectores do tipo bullet para soldar no motor e no ESC;
  • Interruptor para ligar/desligar a fonte;
  • Um adaptador de fonte ATX.

Algumas fotos


Motor Emax MT1806 2280KV

Conectores tipo bullet e hélices 5030 de plástico

ESC Emax 20A com os bullets já soldados

Fonte de PC que substituirá a bateria
Adaptador para fonte ATX com o interruptor e
os fios de alimentação para 12v em destaque
Arduino com o potenciômetro e as saídas para ligar ao ESC.

Arduino ligado ao ESC

Arduino ligado ao ESC e ao motor

Tudo montado e pronto para testar



Ligando a fonte do PC fora do gabinete

Ligar a fonte do PC sem que esta esteja dentro do gabinte é mais simples do que se imagina. Basta fazer como mostra o esquemático abaixo. Observe a quantidade de pinos que a sua fonte possui.

Esquema para ligar fontes ATX que possuem 20 ou 24 pinos.
Entre os pinos PWR ON e GND pode ficar um interruptor ou um jumper. Fica a seu critério.


Ligando a fonte no ESC do motor

Os motores do drone funcionam com 11,1v e consomem muita corrente. A escolha da fonte de PC não foi à toa, pois ela consegue fornecer a corrente e a tensão necessárias para o funcionamento do motor. A fonte literalmente substitui a bateria do drone. Observe o esquemático dos pinos abaixo:

Esquemático dos pinos das diferentes versões de fonte ATX
Veja que o pino 10 em ambos modelos de fonte ATX fornece 12v, que é mais que necessário para acionar o motor. Basta ligar este pino e qualquer GND no ESC do motor.

Programa do arduino

O arduino substitui a controladora do drone, que é a parte que recebe os comandos do rádio e envia os sinais para cada ESC para que estes controlem seus respectivos motores. Copie e cole o código abaixo na sua IDE do arduino:

#include <Servo.h>

// "Considera" que o ESC e um servo motor.
Servo esc;

//Pino de sinal do potenciometro (pino do meio)
int entradaAnalogica = 0;

void setup()
{
    //Informando o pino de saida para o sinal do ESC
    esc.attach(9);
}

void loop()
{
    //Lendo o potenciometro
    int saidaPWM = analogRead(entradaAnalogica);

    //Calculando o PWM
    saidaPWM = map(saidaPWM, 0, 1023, 0, 179);

    //"Escrevendo" o PWM calculado no pino de sinal do ESC.
    esc.write(saidaPWM);
}

Esquemático

Finalmente, para que tudo funcione, faça como sugere o esquemático abaixo:


Importante: se o seu ESC tem BEC, que retorna energia para a controladora, não é necessário liga-lo ao arduino. O ESC geralmente possui 3 fios, que são o GND, VCC (BEC) e o sinal. É fundamental que o GND do seu arduino esteja ligado ao GND da fonte do PC. Faça isto através do ESC, conforme mostra no esquemático e fotos acima. O pino de sinal é o pino que recebe a instrução que o ESC usa para determinar a que velocidade o motor deve girar. O pino de sinal do ESC deve ser ligado no pino 9 do arduino UNO. Mais uma vez: não ligue o pino VCC do ESC no arduino. Não é necessário.

Se você fez tudo conforme mostrado neste artigo seu motor com certeza irá funcionar.

Dúvidas, sugestões, elogios, críticas, etc. favor comentar abaixo. Obrigado pela paciência. Espero que tenha gostado.

Nenhum comentário: