Nesta aula vamos aprender o que é um motor de passo e como podemos controlá-lo através de um Arduíno.
Mas afinal o que é um motor de passo?
Normalmente este tipo de motor é utilizado em projetos que necessitam precisão, como por exemplo, desenvolvimento de CNCs, impressoras 3D, etc. A principal diferença em relação aos motores DC é a quantidade de polos que o motor possui, que por sua vez define o número de passos que o motor necessita para realizar uma volta.

Um motor de passo converte os impulsos elétricos em movimentos discretos mecânicos. O eixo de um motor de passo gira em incrementos discretos quando os impulsos de comando elétricos são aplicados a ele na sequência correta.
A rotação dos motores tem várias relações diretas a estes pulsos de entrada aplicados. A sequência dos impulsos aplicados está diretamente relacionada com a direção de rotação do eixo do motor, a velocidade de rotação do motor com a frequência dos impulsos de entrada e o comprimento de rotação com o número de impulsos de entrada. Ou seja, Para controlar o motor de passo precisa-se aplicar tensão a cada uma das bobinas numa sequência específica.
Este tipo de motores de passo tem muitas vantagens, tais como:
- Precisão de posicionamento;
- Excelente repetibilidade;
- Ótimo controlo de velocidade, visto que a velocidade do motor está diretamente relacionada com a frequência de acionamento das fases;
- Permite que o sistema de controlo seja aberto, pois na maioria dos casos dispensa realimentação
- Pode manter-se imóvel sem causar danos;
- Elevado torque de retenção e para rotações baixas.
Mas nada é perfeito e por isso não podemos esquecer que este tipo de motor também tem suas desvantagens:
- O torque diminui rapidamente com o aumento da rotação;
- Ocorrência de ressonância se o controlo do motor for inadequado;
- Baixa eficiência;
- Pode perder passos se não for bem dimensionado.
Depois desta breve introdução, passemos ao seu uso. Vamos precisar do seguinte material: Arduíno, 1 Motor_de_passo e 1 Driver_ULN2003.
Vamos utilizar o seguinte circuito:

Como podemos ver no circuito, uma das formas de controlar o motor de passo com o Arduíno é utilizando um driver ULN2003 que contém um chip ULN2003A.
Para alimentar o motor de passo ligamos o driver com +5V e GND provenientes do Arduíno. Na imagem abaixo podemos ver o esquema de ligação das bobinas e cores dos fios do motor de passo.

Passemos à programação do mesmo tendo em atenção o seguinte:
- Ligações do driver ULN2003 ao Arduíno:
- IN1 -> pino 8 do Arduíno;
- IN2 -> pino 9 do Arduíno;
- IN3 -> pino 10 do Arduíno;
- IN4 -> pino 11 do Arduíno.
- Número de passos do motor:
- Redução de 1/64, isto significa que é possível dar uma volta completa com 4096 passos, ou seja, apenas ~0,088° por passo (definições do fabricante). No entanto, se utilizarmos o valor de 4096 passos o nosso veio dá duas voltas. Deste modo, iremos utilizar metade do valor.
- Velocidade do motor:
- Depende do número de passos por volta que forem definidos no programa. No exemplo que iremos criar podemos utilizar a velocidade máxima de 60 sem que o motor comece aos "soluços".
A solução que irei aqui mostrar é uma das várias formas de fazer rodar o motor de passo em ambos os sentidos, horário e anti-horário, mas a de melhor compreensão a meu ver.
Espero que tenham gostado desta aula e aproveitem-na para dar criatividade aos vossos projetos.
Fiquem bem. Abraço...