Le moteur pas à pas de 28BYJ-48 est un moteur pas à pas populaire et abordable souvent utilisé dans les projets d'électronique de bricolage. Associé à la carte de pilote ULN2003, c'est un excellent choix pour les applications nécessitant des mouvements précis, tels que la robotique, les curseurs de la caméra et la domotique. Ce tutoriel vous guidera dans la configuration et le contrôle du moteur pas à pas de 28BYJ-48 avec Arduino.
Ce dont vous aurez besoin
- Moteur pas à pas passif de 28by-48
- ULN2003 Driver Board
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de cavalier
- Planche à pain (en option)
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre les composants
Moteur pas à pas passif de 28by-48
- Le 28BYJ-48 est un moteur pas à pas en 4 phases et 5 fils avec un rapport de réduction d'engrenage d'environ 1:64, le rendant précis et fiable.
ULN2003 Driver Board
- L'ULN2003 est une planche de pilote conçue spécifiquement pour le moteur 28BYJ-48. Il inclut les LED à indiquer la phase active du moteur et simplifie les connexions à l'Arduino.
Étape 2: Câblage de l'ULN2003 à Arduino
-
Connectez le moteur 28BYJ-48 à la carte de pilote ULN2003. Le connecteur du moteur s'inscrit directement dans l'en-tête étiqueté "dans" sur le tableau.
-
Utilisez des fils de cavalier pour connecter la carte pilote ULN2003 à l'Arduino comme suit:
PIN ULN2003 | Épingle arduino |
---|---|
En1 | PIN 8 |
In2 | PIN 9 |
In3 | PIN 10 |
IN4 | PIN 11 |
VCC | 5V |
GND | GND |
Étape 3: Installez la bibliothèque Stepper
The Arduino IDE includes a built-in library for stepper motor control.
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Passager.
Étape 4: Téléchargez le code
Voici un exemple de code de base pour contrôler le moteur pas à pas:
#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);
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- Une fois le code téléchargé, le moteur pas à pas doit tourner une révolution complète vers l'avant, puis en arrière à plusieurs reprises.
Contrôle avancé avec accélération
Pour un contrôle plus lisse et plus précis, vous pouvez utiliser le Accélérat bibliothèque au lieu de la bibliothèque pas à pas intégrée. Voici un exemple:
#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
}
Dépannage
- Moteur ne bouge pas: Vérifiez toutes les connexions et assurez-vous que les broches correctes sont définies dans le code.
- Mouvement erratique: Vérifiez que l'alimentation du moteur est suffisante et que le code correspond à votre configuration.
- Couple faible: Le 28BYJ-48 n'est pas un moteur à torque élevé. Assurez-vous qu'il n'est pas surchargé.
Applications du moteur pas à pas de 28BYJ-48
- Curseurs de la caméra
- Bras robotiques
- Stores automatisés
- Mécanismes d'imprimante 3D
Conclusion
Vous avez réussi à configurer et à contrôler le moteur pas à pas de 28BYJ-48 avec le pilote ULN2003 et Arduino. Ce moteur abordable et fiable est parfait pour divers projets de bricolage. Expérimentez avec différentes vitesses, étapes et méthodes de contrôle pour rendre vos projets plus dynamiques!