O motor de passo 28BYJ-48 é um motor de passo popular e acessível, frequentemente usado em projetos de eletrônicos DIY. Emparelhado com a placa de motorista ULN2003, é uma excelente opção para aplicações que exigem movimento preciso, como robótica, controles deslizantes de câmera e automação doméstica. Este tutorial o guiará através da configuração e controle do motor de passo 28BYJ-48 com Arduino.
O que você precisará
- 28byj-48 motor de passo
- Placa de motorista ULN2003
- Board Arduino (por exemplo, Uno, Mega, Nano)
- Fios de jumper
- Pão de pão (opcional)
- Um computador com o Arduino IDE instalado
Etapa 1: Compreendendo os componentes
28byj-48 motor de passo
- O 28ByJ-48 é um motor de passo de 5 fases e 5 fios com uma taxa de redução de engrenagem de aproximadamente 1:64, tornando-o preciso e confiável.
Placa de motorista ULN2003
- O ULN2003 é uma placa de motorista projetada especificamente para o motor 28BYJ-48. Inclui LEDs para indicar a fase ativa do motor e simplifica as conexões com o Arduino.
Etapa 2: Fiação do ULN2003 para Arduino
-
Conecte o motor 28BYJ-48 à placa de motorista ULN2003. O conector do motor se encaixa diretamente no cabeçalho rotulado "IN" na placa.
-
Use fios de jumper para conectar a placa de driver ULN2003 ao Arduino da seguinte forma:
Pino ULN2003 | Pino Arduino |
---|---|
In1 | Pino 8 |
In2 | Pino 9 |
In3 | Pino 10 |
In4 | Pino 11 |
VCC | 5V |
Gnd | Gnd |
Etapa 3: instale a biblioteca de passo
O Arduino IDE inclui uma biblioteca embutida para controle do motor de passo.
- Abra o Arduino IDE.
- Vá para Esboço > Inclua biblioteca > Stepper.
Etapa 4: Faça o upload do código
Aqui está um código de exemplo básico para controlar o motor de passo:
#include <Stepper.h>
// Define the number of steps per revolution for the 28BYJ-48 motor
#define STEPS_PER_REV 2048
// Initialize the Stepper library on pins 8, 9, 10, and 11
Stepper stepper(STEPS_PER_REV, 8, 10, 9, 11);
void setup() {
stepper.setSpeed(15); // Set motor speed (in RPM)
Serial.begin(9600);
Serial.println("28BYJ-48 Stepper Motor Test");
}
void loop() {
Serial.println("Moving Forward");
stepper.step(STEPS_PER_REV); // Move one full revolution forward
delay(1000);
Serial.println("Moving Backward");
stepper.step(-STEPS_PER_REV); // Move one full revolution backward
delay(1000);
}
Etapa 5: teste a configuração
- Conecte o Arduino ao seu computador via USB.
- Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
- Faça o upload do código para o Arduino clicando Carregar.
- Depois que o código é carregado, o motor de passo deve girar uma revolução completa para a frente e depois para trás repetidamente.
Controle avançado com aceleração
Para um controle mais suave e mais preciso, você pode usar o Acelstepper Biblioteca em vez da biblioteca de passo embutida. Aqui está um exemplo:
#include <AccelStepper.h>
// Define the motor interface type
#define HALFSTEP 8
// Initialize the AccelStepper library
AccelStepper stepper(HALFSTEP, 8, 10, 9, 11);
void setup() {
stepper.setMaxSpeed(1000); // Set maximum speed
stepper.setAcceleration(500); // Set acceleration
stepper.setSpeed(200); // Set initial speed
}
void loop() {
stepper.runSpeed(); // Continuous rotation
}
Solução de problemas
- Motor não se move: Verifique todas as conexões e verifique se os pinos corretos estão definidos no código.
- Movimento errático: Verifique se a fonte de alimentação do motor é suficiente e o código corresponde à sua configuração.
- Baixo torque: O 28ByJ-48 não é um motor de alto torque. Verifique se não está sobrecarregado.
Aplicações de 28byj-48 motor de passo
- Sliders de câmera
- Braços robóticos
- Persianas automatizadas
- Mecanismos de impressora 3D
Conclusão
Você configurou e controlou com sucesso o motor de passo 28BYJ-48 com o motorista ULN2003 e Arduino. Este motor acessível e confiável é perfeito para vários projetos de bricolage. Experimente velocidades, etapas e métodos de controle diferentes para tornar seus projetos mais dinâmicos!