Arduino - Moteur pas à pas et interrupteur de fin de course
Dans ce tutoriel Arduino, nous allons apprendre à utiliser un Arduino, un interrupteur de fin de course, un pilote L298N et un moteur pas à pas. En détail, nous allons apprendre :
- Comment arrêter le moteur pas à pas lorsqu'un interrupteur de fin de course est touché
- Comment changer la direction du moteur pas à pas lorsque un interrupteur de fin de course est touché
- Comment changer la direction du moteur pas à pas lorsque deux interrupteurs de fin de course sont touchés
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du moteur pas à pas et de l'interrupteur de fin de course
Si vous ne connaissez pas le moteur pas à pas et l'interrupteur de fin de course (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
- Arduino - Limit Switch tutorial
- Arduino - Controls Stepper Motor tutorial
Diagramme de câblage
Ce tutoriel fournit les codes Arduino pour deux cas : un moteur pas à pas + un interrupteur de fin de course, un moteur pas à pas + deux interrupteurs de fin de course.
- Schéma de câblage entre le moteur pas à pas et un interrupteur de fin de course
This image is created using Fritzing. Click to enlarge image
- Schéma de câblage entre le moteur pas à pas et deux interrupteurs de fin de course
This image is created using Fritzing. Click to enlarge image
※ NOTE THAT:
Selon le moteur pas à pas, la connexion des câbles entre le moteur pas à pas et le L298N peut être différente. Veuillez examiner attentivement ce tutoriel Arduino - Moteur Pas à Pas pour voir comment connecter le moteur pas à pas au pilote de moteur L298N.
Code Arduino - Arrêter un moteur pas à pas avec un interrupteur de fin de course
Il existe plusieurs façons de faire arrêter un moteur pas à pas :
- Appelez la fonction stepper.stop() : Cette méthode ne permet PAS d'arrêter immédiatement le moteur pas à pas, mais progressivement.
- Ne PAS appeler la fonction stepper.run() : Cette méthode arrête immédiatement le moteur pas à pas.
Le code ci-dessous fait tourner un moteur pas à pas indéfiniment et s'arrête immédiatement lorsqu'un interrupteur de fin de course est touché.
Étapes rapides
- Connectez l'Arduino au PC via un câble USB
- Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port
- Naviguez jusqu'à l'icône Libraries sur la barre gauche de l'IDE Arduino.
- Recherchez "ezButton", puis trouvez la bibliothèque de boutons par ArduinoGetStarted.com
- Cliquez sur le bouton Install pour installer la bibliothèque ezButton.
- Recherchez "AccelStepper", puis trouvez la bibliothèque AccelStepper de Mike McCauley
- Cliquez sur le bouton Install pour installer la bibliothèque AccelStepper.
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload sur Arduino IDE pour téléverser le code vers Arduino
- Si le câblage est correct, vous verrez le moteur tourner dans le sens horaire.
- Touchez l'interrupteur de fin de course
- Vous verrez que le moteur s'arrête immédiatement
- Le résultat sur le moniteur série apparaît comme ci-dessous
Explication du code
Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.
Code Arduino - Changer le sens du moteur pas à pas à l'aide d'un interrupteur de fin de course
Le code ci-dessous permet de faire tourner un moteur pas à pas indéfiniment et de changer sa direction lorsqu'un interrupteur de fin de course est touché.
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload de l'Arduino IDE pour charger le code sur l'Arduino
- Si le câblage est correct, vous verrez le moteur tourner dans le sens des aiguilles d'une montre.
- Touchez l'interrupteur de fin de course
- Vous verrez que la direction du moteur pas à pas est changée en sens antihoraire
- Touchez de nouveau l'interrupteur de fin de course
- Vous verrez que la direction du moteur pas à pas est changée en sens horaire
- Le résultat sur le moniteur série apparaît comme ci-dessous
Code Arduino - Changer la direction d'un moteur pas à pas avec deux interrupteurs de fin de course
Le code ci-dessous permet de faire tourner un moteur pas à pas indéfiniment et de changer sa direction lorsqu'un des deux interrupteurs de fin de course est actionné.
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Cliquez sur le bouton Upload sur l'IDE Arduino pour téléverser le code sur Arduino
- Si le câblage est correct, vous verrez le moteur tourner dans le sens horaire.
- Touchez l'interrupteur de limite 1
- Vous verrez que la direction du moteur pas à pas est changée en sens antihoraire
- Touchez l'interrupteur de limite 2
- Vous verrez que la direction du moteur pas à pas est changée en sens horaire
- Le résultat sur le moniteur série apparaît comme ci-dessous