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);
}
// "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:
Postar um comentário