Este é um tutorial simples sobre como controlar a velocidade e a direção do motor de passo usando o arduino uno e o módulo bluetooth hc-06 por meio de um aplicativo de telefone Android. O motor que estou usando é um motor de passo unidirecional. Existem dois tipos de motores de passo unidirecionais e bidirecionais. Unidirecional possui quatro fases e bidirecional possui 6 fases. As fases devem ser controladas adequadamente, caso contrário a saída desejada não poderá ser obtida. Antes de prosseguir, presumo que você esteja ciente das fases mais íngremes do motor e saiba como controlá-las de forma eficaz para obter o rendimento máximo.
Projeto de controle Bluetooth do motor de passo Arduino – Princípio de funcionamento
O usuário emparelha seu telefone Android com o módulo bluetooth hc-06. Após o emparelhamento, o usuário pode dar partida no motor, pode mover o eixo na direção horária ou anti-horária, pode alterar a velocidade de rotação do motor, pode parar o motor com os comandos que estão incorporados ao lado do código. Os comandos podem ser alterados de acordo com a necessidade do usuário. Chegaremos à parte do código posteriormente no tutorial.
Circuito de controle de motor de passo Arduino
O diagrama do circuito do projeto é fornecido abaixo. O motor de passo que estou usando funciona em 12 V DC. As bobinas do motor de passo consomem cerca de 80 mA a 250 mA, portanto, não acionamos o motor mais íngreme diretamente dos pinos do Arduino. Precisamos de algum driver para essa finalidade e ULN2003, um IC de matriz querida, é uma boa opção. O ULN2003 é capaz de fornecer 500 mA de corrente a 50 V, pode facilmente fornecer 25 0 mA de corrente a 12 V.
As bobinas de passo são controladas através dos pinos digitais 2,3,4 e 5 do Arduino. Os pinos são conectados diretamente às entradas do uln2003. As saídas correspondentes do uln2003 fornecem energia às bobinas do motor. O Arduino é alimentado por um adotante externo de 12 V e o uln2003 é alimentado pelo mesmo adotante. Hc06 é alimentado pela saída de alimentação de 3,3 V do Arduino.
Observação: O aterramento do arduino deve ser aterrado com aterramento ULN2003. Ambos os ICs devem ter o mesmo potencial para se tornarem funcionais. Se não for aterrado corretamente, o circuito flutua e a saída é imprevisível.
As bobinas de passo são controladas através dos pinos digitais 2,3,4 e 5 do Arduino. Os pinos são conectados diretamente às entradas do uln2003. As saídas correspondentes do uln2003 fornecem energia às bobinas do motor. O Arduino é alimentado por um adotante externo de 12 V e o uln2003 é alimentado pelo mesmo adotante. Hc06 é alimentado pela saída de alimentação de 3,3 V do Arduino.
Observação: O aterramento do arduino deve ser aterrado com aterramento ULN2003. Ambos os ICs devem ter o mesmo potencial para se tornarem funcionais. Se não for aterrado corretamente, o circuito flutua e a saída é imprevisível.
Controle de velocidade e direção do motor de passo usando Arduino e módulo Bluetooth HC-06 por meio de um aplicativo Android
Requisito de deslocadores de nível
Arduino fala com módulo bluetooth hc06 no protocolo de comunicação serial. A taxa de transmissão para comunicação serial pode ser alterada. Estou trabalhando na taxa de transmissão padrão, que é de 9600 bps. O módulo Bluetooth hc06 funciona em 3,3 V e pode ser alimentado pela saída de fonte de 3,3 V do Arduino Uno. Como o bluetooth hc06 funciona em 3,3 v, ele emite os dados na forma de sinal TTL avaliado em 3,3 v. Enquanto o arduino uno opera em 5 v e seus pinos emitem dados na forma de sinal TTL avaliado em 5 volts. Para equilibrar a tensão do nível TTL. Peneiras de nível de tensão são inseridas entre os pinos. O Arduino TX está transmitindo um sinal de 5 V que é alterado para 3,3 V por apenas um simples circuito divisor de tensão. O hc06 TX está transmitindo um sinal de 3,3 V cujo nível é alterado para 5 V.
Comandos para operar e controlar o motor de passo via Bluetooth
Enviando os seguintes comandos do aplicativo Android depois de emparelhado com o hc06 Bluetooth modaule fará com que o arduino se divirtaações no passo a passo motor.
é ou S = Inicia e para o motor de passo. O primeiro s dá partida no motor e o próximo o interrompe.
f ou F = Gira o motor de passo no sentido horário.
b ou B = Gira o motor de passo no sentido anti-horário.
Rotação de velocidade para motor de passo incorporado no código
0 = ————————————————– Velocidade de rotação=1000;
1 = —————— Velocidade de rotação=900;
2 = —————— Velocidade de rotação=800;
3 = —————— Velocidade de rotação=700;
4 = —————— Velocidade de rotação=500;
5 = —————— Velocidade de rotação=400;
6 = —————— Velocidade de rotação=300;
7 = —————— Velocidade de rotação=200;
8 = —————— Velocidade de rotação=100;
9 = —————— Velocidade de rotação=50;
1 = —————— Velocidade de rotação=900;
2 = —————— Velocidade de rotação=800;
3 = —————— Velocidade de rotação=700;
4 = —————— Velocidade de rotação=500;
5 = —————— Velocidade de rotação=400;
6 = —————— Velocidade de rotação=300;
7 = —————— Velocidade de rotação=200;
8 = —————— Velocidade de rotação=100;
9 = —————— Velocidade de rotação=50;
O aplicativo Android que usei pode ser encontrado AQUI. É ótimo e funciona de forma eficiente em todas as taxas de transmissão. Verifiquei o emparelhamento e o funcionamento do motor em todas as taxas de transmissão e tudo funciona bem.
A função Mover para trás gira o motor no sentido anti-horário. A função IniciarMotor gira o motor no sentido horário. O usuário pode alterar os comandos de acordo com sua necessidade. O usuário também pode inserir as novas velocidades de rotação.
A função Mover para trás gira o motor no sentido anti-horário. A função IniciarMotor gira o motor no sentido horário. O usuário pode alterar os comandos de acordo com sua necessidade. O usuário também pode inserir as novas velocidades de rotação.
Mais projetos de microcontroladores embarcados envolvendo motores de passo estão presentes na seção de tutoriais. Cada projeto contém código-fonte gratuito e diagrama de circuito do projeto. Em cada projeto, a velocidade e a direção do motor de passo são controladas por meio de microcontroladores. Visite os tutoriais abaixo.
Baixe o código do projeto escrito em arduino ide 1.6. O código é gratuito e de código aberto. Por favor, dê-nos o seu feedback sobre o projeto.
Assista ao vídeo do projeto aqui.
Código de arquivos de projeto do Arduino