Raspberry Pi - Interrupteur de fin de course pour moteur pas à pas
Ce didacticiel vous explique comment utiliser un Raspberry Pi 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 Raspberry Pi pour arrêter le moteur pas à pas lorsqu'un interrupteur de fin de course est touché.
- Comment programmer Raspberry Pi pour changer la direction du moteur pas à pas lorsqu'un interrupteur de fin de course est touché.
- Comment programmer Raspberry Pi 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, la fonctionnalité, la programmation, etc.), les tutoriels suivants peuvent vous aider :
- Raspberry Pi - Moteur pas à pas. 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 Raspberry Pi, 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 Raspberry Pi, moteur pas à pas et deux interrupteurs de fin de course
This image is created using Fritzing. Click to enlarge image
Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :
※ Note:
La connexion de câblage entre le moteur pas à pas et le L298N peut varier en fonction du type de moteur pas à pas. Examinez attentivement le tutoriel Raspberry Pi - Moteur pas à pas. pour apprendre à lier correctement le moteur pas à pas au pilote de moteur L298N.
Code Raspberry Pi - Arrêter le moteur pas à pas par un interrupteur de fin de course
Un moteur pas à pas est programmé pour tourner en continu avec le code suivant, et s'arrêtera instantanément lorsqu'un interrupteur de fin de course est touché, puis reprendra le mouvement si l'interrupteur est relâché.
Étapes rapides
- Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec le Raspberry Pi installé sur votre Pi.
- Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
- Assurez-vous que votre Raspberry Pi est connecté à internet si vous avez besoin d'installer des bibliothèques.
- Si c'est la première fois que vous utilisez le Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
- Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
- Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
- Créez un fichier de script Python stepper_limit_switch.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en tapant la commande suivante dans le terminal :
- Si le câblage est correct, le moteur devrait tourner dans le sens horaire.
- Lorsque le commutateur de fin de course est activé, le moteur doit s'arrêter immédiatement.
- Ensuite, si le commutateur de fin de course est relâché, le moteur tourne à nouveau.
Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.
En modifiant la valeur de la variable delay dans le code, vous pouvez changer la vitesse du moteur pas à pas.
Explication du Code
Consultez l'explication ligne par ligne contenue dans les commentaires du code source !
Code Raspberry Pi - Changer la direction du moteur pas à pas par un interrupteur de fin de course
Un moteur pas à pas sera mis en mouvement de manière continue et sa direction sera modifiée lorsqu'un interrupteur de fin de course sera activé.
Étapes rapides
- Créez un fichier de script Python stepper_direction.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
- Si le câblage est correct, le moteur devrait tourner dans le sens des aiguilles d'une montre.
- Lorsque vous appuyez sur l'interrupteur de fin de course, la direction du moteur pas à pas changera pour le sens inverse des aiguilles d'une montre.
- Appuyez de nouveau sur l'interrupteur de fin de course et la direction du moteur pas à pas reviendra au sens des aiguilles d'une montre.
Code pour Raspberry Pi - Changer la direction d'un moteur pas à pas avec deux interrupteurs de fin de course
Voyons le code qui fait tourner un moteur pas à pas en continu, et lorsque l'un des deux interrupteurs de fin de course est activé, inverse la direction du moteur.
Étapes rapides
- Créez un fichier de script Python stepper_two_limit_switches.py et ajoutez le code suivant :
- Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
Le script s'exécute en boucle infinie continuellement jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.
- Si le câblage est correct, le moteur devrait tourner dans le sens des aiguilles d'une montre.
- Lorsque vous touchez l'interrupteur de fin de course 1, la direction du moteur pas à pas sera inversée en sens antihoraire.
- Toucher l'interrupteur de fin de course 2 fera tourner le moteur pas à pas à nouveau dans le sens des aiguilles d'une montre.