Arduino - motor de passo

Um motor de passo ou motor de passo é um motor síncrono sem escova, que divide uma rotação completa em várias etapas. Ao contrário de um motor CC sem escovas, que gira continuamente quando uma tensão CC fixa é aplicada a ele, um motor de passo gira em ângulos de passo discretos.

Os motores de passo, portanto, são fabricados com passos por rotação de 12, 24, 72, 144, 180 e 200, resultando em ângulos de passo de 30, 15, 5, 2,5, 2 e 1,8 graus por passo. O motor de passo pode ser controlado com ou sem feedback.

Imagine um motor em um avião RC. O motor gira muito rápido em uma direção ou outra. Você pode variar a velocidade com a quantidade de potência fornecida ao motor, mas não pode dizer à hélice para parar em uma posição específica.

Agora imagine uma impressora. Existem muitas peças móveis dentro de uma impressora, incluindo motores. Um desses motores atua como o alimentador de papel, girando rolos que movem o pedaço de papel enquanto a tinta é impressa nele. Este motor precisa ser capaz de mover o papel a uma distância exata para poder imprimir a próxima linha de texto ou a próxima linha de uma imagem.

Há outro motor conectado a uma haste roscada que move a cabeça de impressão para frente e para trás. Novamente, essa haste rosqueada precisa ser movida uma quantidade exata para imprimir uma letra após a outra. É aqui que os motores de passo são úteis.

Como funciona um motor de passo?

Um motor DC normal gira somente na direção, enquanto um motor de passo pode girar em incrementos precisos.

Os motores de passo podem girar em uma quantidade exata de graus (ou etapas) conforme desejado. Isso lhe dá controle total sobre o motor, permitindo movê-lo para um local exato e mantê-lo nessa posição. Ele faz isso alimentando as bobinas dentro do motor por períodos muito curtos de tempo. A desvantagem é que você precisa alimentar o motor o tempo todo para mantê-lo na posição desejada.

Por ora, tudo o que você precisa saber é que, para mover um motor de passo, você diz a ele para mover um certo número de passos em uma direção ou em outra, e a velocidade com que pisar nessa direção. Existem inúmeras variedades de motores de passo. Os métodos descritos aqui podem ser usados ​​para inferir como usar outros motores e drivers que não são mencionados neste tutorial. Porém, é sempre recomendável consultar as fichas técnicas e guias dos motores e drivers específicos para os modelos que possui.

Componentes necessários

Você precisará dos seguintes componentes -

  • 1 × placa Arduino UNO
  • 1 × motor de passo bipolar pequeno, conforme mostrado na imagem abaixo
  • 1 × LM298 IC de condução

Procedimento

Siga o diagrama do circuito e faça as conexões conforme mostrado na imagem abaixo.

Esboço

Abra o software Arduino IDE em seu computador. A codificação na linguagem Arduino controlará seu circuito. Abra um novo arquivo de esboço clicando em Novo.

Código Arduino

/* Stepper Motor Control */

#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
   // set the speed at 60 rpm:
   myStepper.setSpeed(5);
   // initialize the serial port:
   Serial.begin(9600);
}

void loop() {
   // step one revolution in one direction:
   Serial.println("clockwise");
   myStepper.step(stepsPerRevolution);
   delay(500);
   // step one revolution in the other direction:
   Serial.println("counterclockwise");
   myStepper.step(-stepsPerRevolution);
   delay(500);
}

Código a ser anotado

Este programa aciona um motor de passo unipolar ou bipolar. O motor é conectado aos pinos digitais 8 - 11 do Arduino.

Resultado

O motor dará uma volta em uma direção, depois uma volta na outra direção.