Motor de Passo 28YBJ-48 com L293D

 Motores de passo são diferentes de motores padrão: sua rotação é dividida em uma série de passos. Fazendo com que o motor rotacione um número definido de passos, você pode controlar sua velocidade e seus giros com muita precisão. Motores de passo podem ser encontrados em muitos formatos e tamanhos diferentes, tendo quatro, cinco ou seis fios.
Motores de passo têm muitas utilidades; são usados em scanners de mesa para posicionar
a cabeça de leitura, e em impressoras jato de tinta para controlar a posição da cabeça e do papel.
Neste projeto bem simples, você conectará um motor de passo e fará com que ele seja controlado pelo Arduino, utilizando direções e velocidades diferentes para um número definido de passos.
Componentes:
  • 01 Arduino 
  • 01 CI controlador de motor L293D ou SN754410 
  • 01 Motor de passo 28YBJ-48 
  • 02 Capacitores cerâmicos de 0,1 μF (opcionais, ajudam a suavizar a corrente e impedir interferências com o Arduino).
 Os pinos digitais 4, 5, 6 e 7 do Arduino vão para os pinos de entrada (Input) 1, 2, 3 e 4 do controlador de motor (pinos 2, 7, 10 e 15, respectivamente). Os pinos de saída 1 e 2 do controlador de motor vão para a bobina 1 do motor, e os pinos de saída 3 e 4 vão para a bobina 2. Você terá de verificar o datasheet de seu motor específico, para descobrir quais fios coloridos vão para a bobina 1 e quais vão para a bobina 2. Um motor unipolar também terá um quinto e/ou um sexto fio indo para o terra.
O pino de 5 V do Arduino vai para o pino 16 (VSS) do controlador de motor, e os dois pinos inibidores do chip (1 e 9) também estão vinculados à linha de 5 V, para que tenham valor HIGH. O pino Vin (9 V) do Arduino vai para o pino 8 do CI controlador (VC). Os pinos 4, 5, 12 e 13 vão para o terra.

Motor de Passo 28YBJ-48 com L293D

 Assim que você estiver seguro de que tudo foi conectado da forma correta, carregue o código:
 
 1  // Projeto - Controle básico de um motor de passo 28YBJ-48 com CI L293D
 2 
 3  #include <Stepper.h>
 4 
 5  #define STEPS 32 // Taxa de variação de velocidade "Stepper Library" é executado em modo de 4 passos
 6 
 7  Stepper stepper(STEPS, 4, 5, 6, 7);   // crie um objeto stepper nos pinos 4, 5, 6 e 7
 8 
 9  void setup()
10  {
11 
12  }
13 
14  void loop()
15  {
16 
17      stepper.setSpeed(930); /*  Velocidade máxima de rotação do eixo é 930 passos por minuto, ou seja,
18                                        930/64  = 14.53 RPM  */
19      stepper.step(2048);    // 2048 passos para uma rotação de 360° ( 32 * 64 = 2048 passos por volta do eixo de saída. Em sequência de 4 passos)
20      delay(200);
21      stepper.setSpeed(400);
22      stepper.step(-1024);  // Volta 1024 passos, ou seja, 180° no sentido contrário
23      delay(100);
24  }


Depois de carregado o programa, podemos observar que o motor gira 360° em um sentido com uma velocidade maior e 180° no sentido contrário com uma velocidade menor.
Caso queira controlar pelo Monitor Serial, o usuário pode optar pelos códigos alternativos, onde um  permite o controle angular de rotação (com parada) com entrada do ângulo e, o outro com entrada de velocidade em RPM e ângulo em graus.

 

Nenhum comentário:

Postar um comentário