Arduino Nano - Interrupteur de fin de course pour moteur pas à pas
Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler un moteur pas à pas via un interrupteur de fin de course et un pilote L298N. Nous aborderons spécifiquement :
- Comment programmer un Arduino Nano pour arrêter le moteur pas à pas lorsqu'un interrupteur de fin de course est touché.
- Comment programmer un Arduino Nano pour changer la direction du moteur pas à pas lorsque un interrupteur de fin de course est touché.
- Comment programmer un Arduino Nano pour changer la direction du moteur pas à pas à l'aide de deux interrupteurs de fin de course installés en position opposée.
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 n'êtes pas familier avec le moteur pas à pas et l'interrupteur de fin de course (y compris le brochage, les fonctionnalités et la programmation), les tutoriels suivants peuvent vous aider à apprendre :
- Arduino Nano - Limit Switch tutorial
- Arduino Nano - Stepper Motor tutorial
Diagramme de câblage
Ce tutoriel fournit le schéma de câblage 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 l'ESP8266, 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 l'ESP8266, le moteur pas à pas et deux interrupteurs de fin de course.
This image is created using Fritzing. Click to enlarge image
※ NOTE THAT:
La connexion du câblage entre le moteur pas à pas et le L298N peut varier selon le type de moteur pas à pas. Pour garantir une connexion réussie, veuillez consulter le tutoriel Arduino Nano - Moteur Pas à Pas pour des instructions sur la façon de connecter le moteur pas à pas au pilote de moteur L298N.
Code Arduino Nano - Arrêt du moteur pas à pas par un interrupteur de fin de course
On peut arrêter un moteur pas à pas de plusieurs manières :
- Appelez la fonction stepper.stop() : Cela n'arrêtera pas immédiatement le moteur, mais le fera décélérer progressivement
- Ne pas appeler la fonction stepper.run() : Cela provoquera l'arrêt immédiat du moteur pas à pas
Le code ci-dessous provoque la rotation continue d'un moteur pas à pas jusqu'à ce qu'un interrupteur de fin de course soit touché.
Étapes rapides
- Connectez l'Arduino Nano à un ordinateur à l'aide d'un câble USB.
- Ouvrez l'IDE Arduino, choisissez la carte et le port corrects.
- Cliquez sur l'icône Libraries sur la barre latérale gauche de l'IDE Arduino.
- Recherchez "ezButton" et localisez la bibliothèque de boutons sur ArduinoGetStarted.com.
- Appuyez sur le bouton Install pour installer la bibliothèque ezButton.
- Recherchez « AccelStepper » et localisez la bibliothèque AccelStepper créée par Mike McCauley.
- Ensuite, appuyez sur le bouton Install pour l'ajouter.
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code vers l'Arduino Nano.
- Si le câblage est correct, le moteur devrait tourner dans le sens des aiguilles d'une montre.
- Lorsque l'interrupteur de fin de course est touché, le moteur doit s'arrêter immédiatement.
- Le résultat affiché sur le moniteur série devrait ressembler à ceci.
Explication du code
Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !
Code Arduino Nano - Changer la direction d'un moteur pas à pas par un interrupteur de fin de course
Un moteur pas à pas est conçu pour tourner continuellement, et sa direction est modifiée lorsqu'un interrupteur de fin de course est touché. Ceci est réalisé avec le code suivant :
Étapes rapides
- Copiez le code et ouvrez-le avec l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE pour téléverser le code vers l'Arduino Nano.
- Si le câblage est correct, le moteur tournera dans le sens horaire.
- Touchez l'interrupteur de fin de course et la direction du moteur pas à pas sera inversée pour tourner dans le sens antihoraire.
- Touchez à nouveau l'interrupteur de fin de course et le moteur pas à pas tournera dans le sens horaire.
- Le résultat sur le moniteur série devrait ressembler à cela.
Code Arduino Nano - Changer la direction du moteur pas à pas avec deux interrupteurs de fin de course
Faites tourner un moteur pas à pas en continu et inversez sa direction lorsque l'un des deux interrupteurs de fin de course est touché.
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload pour envoyer le code à l'Arduino Nano.
- Si le câblage est correct, le moteur devrait tourner dans le sens horaire.
- Lorsque vous touchez l'interrupteur de fin de course 1, le sens du moteur pas à pas doit être inversé en sens antihoraire.
- Lorsque vous touchez l'interrupteur de fin de course 2, le sens du moteur pas à pas doit être remis en sens horaire.
- Le résultat sur le moniteur série devrait ressembler à ceci.