Table des matières:
Vidéo: Appareil d'essai de moteur pas à pas : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
J'avais peu ou pas d'expérience dans la conduite de moteurs pas à pas, donc avant de concevoir, d'imprimer, d'assembler et de programmer l'horloge analogique à correction automatique « Antique » (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) à l'aide d'un moteur pas à pas, j'ai décidé de concevoir et de tester le logiciel à l'aide d'un appareil de test beaucoup plus simple. Si vous, comme moi, avez peu ou pas d'expérience avec les moteurs pas à pas, alors j'espère que ce court Instructable avec le code source vous aidera.
Le montage de test nécessite les composants suivants:
- Une planche de prototypage.
- Un Adafruit Feather ESP32 avec en-têtes femelles.
- Une carte contrôleur pas à pas basée sur ULN2003.
- Un moteur pas à pas 28BYJ-48 5vdc.
- Certains câbles de raccordement mâles à femelles.
- Une batterie au lithium Adafruit 3.7vdc.
- Une aiguille indicatrice imprimée en 3D.
Le contrôleur pas à pas, le moteur pas à pas et les câbles de démarrage que j'ai utilisés sont inclus dans un pack de 5 que j'ai acheté en kit en ligne (recherchez "TIMESETL 5pcs DC 5V Stepper Motor 28BYJ-48 + 5pcs ULN2003 Driver Board + 40pcs Male Female Jumper Wire Cable ").
La batterie est en option. Notez que la batterie sort 3.7vdc, mais la carte contrôleur pas à pas et le stepper sont à 5vdc. L'appareil d'essai fonctionnera uniquement sur batterie, même à la tension la plus basse.
J'ai inclus une vidéo montrant les étapes nécessaires pour télécharger le logiciel sur l'ESP32, câbler l'ESP32 au contrôleur de moteur pas à pas et brancher le moteur pas à pas et la batterie.
Étape 1: Câblage
J'ai utilisé les cavaliers mâles / femelles inclus dans le kit pour câbler le montage de test. Six fils sont nécessaires et sont insérés comme suit:
- ESP32 broche 14 (mâle) à la broche IN4 de la carte pas à pas (femelle).
- ESP32 broche 32 (mâle) à la broche IN3 de la carte pas à pas (femelle).
- ESP32 broche 15 (mâle) à la broche IN2 de la carte pas à pas (femelle).
- ESP32 broche 33 (mâle) à la broche IN1 de la carte pas à pas (femelle).
- Broche ESP32 "GND" (mâle) à la broche de la carte pas à pas "-" (femelle).
- Broche ESP32 "USB" (mâle) pour le fonctionnement USB OU "BAT" (mâle) pour le fonctionnement sur batterie, à la broche "+" de la carte pas à pas (femelle).
Une fois les fils insérés et vérifiés, branchez le câble du moteur pas à pas dans le connecteur de la carte contrôleur du moteur pas à pas. Le connecteur est claveté et ne s'adaptera que dans un sens.
Enfin, si vous utilisez une batterie, branchez-la sur le connecteur de batterie ESP32.
Étape 2: Indicateur
Pour un indicateur sur le moteur pas à pas, j'ai conçu et imprimé en 3D une aiguille d'indicateur "Hand.stl". J'ai imprimé l'aiguille de l'indicateur à une hauteur de couche de 0,15 mm, 20 % de remplissage sans aucun support, puis je l'ai pressée sur l'arbre du moteur pas à pas.
Comme alternative, du ruban adhésif, du carton ou un autre matériau peut être utilisé comme indicateur.
Étape 3: Logiciel
J'ai écrit le logiciel de test pas à pas dans l'environnement Arduino 1.8.5. Si vous ne l'avez pas déjà fait, téléchargez l'environnement Arduino et les pilotes USB nécessaires sur votre ordinateur et installez-les. Visitez également le site Web d'Adafruit pour tout logiciel supplémentaire lié à Adafruit ESP32. J'ai trouvé ce lien très utile: Adafruit ESP32 et l'environnement Arduino.
Avec un câble USB connecté entre votre ordinateur et l'ESP32, et "Stepper.ino" chargé dans l'environnement Arduino, téléchargez "Stepper.ino" sur l'ESP32.
Une fois téléchargé, le stepper doit avancer de 6 degrés une fois par seconde.
J'ai écrit ce logiciel de test pour deux raisons; premièrement, pour apprendre à piloter un moteur pas à pas, et deuxièmement, pour convertir les 4096 pas par rotation du moteur pas à pas en 60 "ticks" de 6 degrés d'une seconde pour l'horloge.
La fonction "Step(nDirection)" pilote le moteur pas à pas. Cette fonction maintient une variable entière locale (statique) "nPhase", qui est soit incrémentée soit décrémentée de un (à chaque fois que la fonction est appelée), selon le signe de l'argument de la fonction nDirection. Cette variable est limitée dans la plage de 0 à 7, qui, lorsqu'elle est utilisée avec le commutateur de boîtier, entraîne les phases du moteur conformément aux spécifications du fabricant pour chaque étape.
La fonction "Update()" détermine quand et combien d'étapes à effectuer pour chaque tick afin d'espacer uniformément 60 ticks par 360 degrés de rotation. Cette fonction fait avancer le moteur pas à pas de 68 ou 69 pas pour chaque tick. Par exemple, si la fonction n'utilisait que 68 pas par tick, alors (68 pas * 60 ticks) = 4080 pas ne suffiraient pas pour terminer les 360 degrés de rotation (rappelez-vous que le stepper nécessite 4096 pas pour 360 degrés de rotation). Et si la fonction utilisait 69 pas par tick, alors (69 pas * 60 ticks) = 4140 serait trop de pas. L'algorithme simple que j'ai écrit répartit uniformément 68 et 69 pas sur toute la rotation de 360 degrés et peut déterminer quel sens de rotation est le plus rapide pour le nombre de secondes souhaité (utilisé dans l'horloge).
Et c'est ainsi que j'ai conçu et testé le logiciel de l'horloge analogique à correction automatique « Antique ».
Si vous avez des suggestions et/ou des questions, n'hésitez pas à commenter et je ferai de mon mieux pour y répondre.
Conseillé:
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : 6 étapes
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : Dans ce rapide Instructable, nous allons faire un simple contrôleur de moteur pas à pas à l'aide d'un moteur pas à pas. Ce projet ne nécessite aucun circuit complexe ni microcontrôleur. Alors sans plus tarder, commençons
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : 9 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : Dans l'un de mes précédents Instructables, je vous ai montré comment contrôler un moteur pas à pas à l'aide d'un moteur pas à pas sans microcontrôleur. C'était un projet rapide et amusant, mais il est venu avec deux problèmes qui seront résolus dans ce Instructable. Alors, esprit
Locomotive modèle commandée par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Locomotive modèle commandée par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Dans l'un des précédents Instructables, nous avons appris à utiliser un moteur pas à pas comme encodeur rotatif. Dans ce projet, nous allons maintenant utiliser cet encodeur rotatif à moteur pas à pas pour contrôler un modèle de locomotive à l'aide d'un microcontrôleur Arduino. Alors, sans fu
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y
Refroidisseur / support pour ordinateur portable à coût zéro (pas de colle, pas de perçage, pas d'écrous et de boulons, pas de vis): 3 étapes
Refroidisseur / support pour ordinateur portable à coût zéro (pas de colle, pas de perçage, pas d'écrous et de boulons, pas de vis) : MISE À JOUR : VEUILLEZ VOTEZ POUR MON INSTRUCTIBLE, MERCI ^_^ VOUS POUVEZ AUSSI AIMER VOTER POUR MON AUTRE CONCOURS ENTRÉE SUR www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ OU PEUT-ÊTRE VOTER POUR MON MEILLEUR AMI