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.
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.
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.
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