ESP8266 - Interrupteur de fin de course pour moteur pas à pas
Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler un moteur pas à pas via un interrupteur de fin de course et un pilote L298N. Plus précisément, nous aborderons :
- Comment programmer l'ESP8266 pour arrêter le moteur pas à pas lorsque l'interrupteur de fin de course est actionné.
- Comment programmer l'ESP8266 pour changer la direction du moteur pas à pas lorsque l'interrupteur de fin de course est actionné.
- Comment programmer l'ESP8266 pour changer la direction du moteur pas à pas avec deux interrupteurs de fin de course installés en positions opposées.
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 familiarisé avec le moteur pas à pas et l'interrupteur de fin de course (y compris le brochage, le fonctionnement, la programmation, etc.), les tutoriels suivants peuvent vous fournir davantage d'informations :
- ESP8266 - Limit Switch tutorial
- ESP8266 - 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 ESP8266, moteur pas à pas et un interrupteur de fin de course.
![Schéma de câblage du moteur pas à pas ESP8266 NodeMCU et de l'interrupteur de fin de course.](https://newbiely.fr/images/tutorial/esp8266-stepper-motor-limit-switch-wiring-diagram.jpg)
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
- Schéma de câblage entre l'ESP8266, le moteur pas à pas et deux interrupteurs de fin de course.
![Schéma de câblage du moteur pas à pas ESP8266 NodeMCU et de deux interrupteurs de fin de course](https://newbiely.fr/images/tutorial/esp8266-stepper-motor-two-limit-switch-wiring-diagram.jpg)
This image is created using Fritzing. Click to enlarge image
※ NOTE THAT:
La connexion des câbles entre le moteur pas à pas et le L298N peut varier selon le type de moteur pas à pas. Par conséquent, il est important de consulter ce tutoriel ESP8266 - Moteur Pas à Pas pour comprendre comment réaliser la connexion.
Code ESP8266 - Arrêter un moteur pas à pas avec un interrupteur de fin de course
Il existe diverses méthodes pour arrêter un moteur pas à pas :
- Invokez la fonction stepper.stop() : Cela ne provoquera pas un arrêt instantané, mais plutôt un arrêt progressif.
- Omettez d'appeler la fonction stepper.run() : Cela entraînera un arrêt immédiat du moteur pas à pas.
Le code ci-dessous entraînera la rotation continue d'un moteur pas à pas jusqu'à ce qu'un interrupteur de fin de course soit actionné, moment auquel il s'arrêtera immédiatement.
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Sélectionnez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Connectez un câble USB entre l'ESP8266 et le PC.
- Ouvrez Arduino IDE, sélectionnez la carte et le port appropriés.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "ezButton", puis localisez la bibliothèque de boutons fournie par ArduinoGetStarted.com.
- Appuyez sur le bouton Install pour installer la bibliothèque ezButton.
![Bibliothèque de boutons ESP8266 NodeMCU](https://newbiely.fr/images/tutorial/esp8266-button-library.jpg)
- Recherchez « AccelStepper » et localisez la bibliothèque AccelStepper créée par Mike McCauley.
- Appuyez sur le bouton Install pour ajouter la bibliothèque AccelStepper.
![Bibliothèque AccelStepper ESP8266 NodeMCU](https://newbiely.fr/images/tutorial/esp8266-accelstepper-library.jpg)
- Copiez le code et ouvrez-le avec l'IDE Arduino.
- Cliquez sur le bouton Upload afin de transférer le code vers l'ESP8266.
- Si le câblage est correctement effectué, le moteur tournera dans le sens horaire.
- Appuyez sur l'interrupteur de fin de course et le moteur s'arrêtera immédiatement.
- Le résultat qui apparaît 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 ESP8266 - Changer la direction d'un moteur pas à pas par un interrupteur de fin de course.
Le code ci-dessous permet à un moteur pas à pas de tourner en continu, et il inversera sa direction lorsqu'un interrupteur de fin de course sera touché.
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de l'ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload pour envoyer le code à l'ESP8266.
- Si le câblage est correct, le moteur tournera dans le sens des aiguilles d'une montre.
- Lorsque vous touchez l'interrupteur de fin de course, la rotation du moteur pas à pas sera inversée dans le sens antihoraire.
- Toucher de nouveau l'interrupteur de fin de course provoquera la rotation du moteur pas à pas dans le sens des aiguilles d'une montre.
- Le résultat sur le moniteur série devrait ressembler à ceci.
Code ESP8266 - Changer la direction du moteur pas à pas avec deux interrupteurs de fin de course
Le code ci-dessous entraîne la rotation continue d'un moteur pas à pas, et il inversera sa direction lorsque l'un des deux interrupteurs de limite est touché.
Étapes rapides
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload dans l'IDE pour téléverser le code sur l'ESP8266.
- Si le câblage est correct, le moteur devrait tourner dans le sens des aiguilles d'une montre.
- Lorsque vous touchez l'interrupteur de limite 1, la direction du moteur pas à pas devrait passer en sens antihoraire.
- Toucher l'interrupteur de limite 2 devrait faire inverser à nouveau la direction du moteur, cette fois en sens horaire.
- Le résultat affiché sur le moniteur série devrait ressembler à ce qui suit.