Motor de Passo.

article featured image

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:

https://http2.mlstatic.com/step-motor-de-passo-28byj-48-driver-uln2003-arduino-D_NQ_NP_952232-MLB29753278301_032019-F.jpg

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:

  1. 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.
  2. 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.
  3. 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...