Friday, October 25, 2013

Controlando ESC do motor brushless com Arduino Nano V3

Para testar o motor é preciso gerar um sinal PWM na entrada do ESC.
Mas tem um pequeno detalhe, o ESC não aceita qualquer PWM, os pulsos ativos precisam estar em 1ms (velocidade mínima) e 2ms (velocidade máxima).


Motor + ESC montados
Para deixar o teste mais interessante, é possível utilizar a leitura analógica do Arduino para ler um potenciômetro. O ADC do Arduino tem 10 bits, portanto vai gerar valores entre 0 e 1023. A frequência padrão do PWM do Arduino é 500Hz, o que está ok, pois com um duty cycle de 100% terá tempo ativo de 2ms. E com 50% de duty cycle terá 1ms. Então é só mapear os valores do ADC em valor de duty cycle do PWM. No caso do Arduino os valores de duty cycle variam de 0 (0%) a 255 (100%), logo pode-se concluir que 128  é 50% de duty cycle. A próprio API do Arduino já tem a funcão "map" que fará o mapeamento de 0 a 1023 do ADC em 128 a 255 do PWM. O resultado pode ser visto no video.
Não deu para colocar a fonte no video,  mas estava configurada para 11.1V e 1A  o motor está na rotação máximo o consumo de corrente é de 700mA até menos de 800mA.


Antes desse teste usei o Bus Pirate como osciloscópio para verificar se a forma de onde do PWM estava como esperado. Depois post sobre como isso pode ser feito.

No comments:

Post a Comment