Table des matières:

Appareil d'essai de moteur pas à pas : 3 étapes
Appareil d'essai de moteur pas à pas : 3 étapes

Vidéo: Appareil d'essai de moteur pas à pas : 3 étapes

Vidéo: Appareil d'essai de moteur pas à pas : 3 étapes
Vidéo: Moteurs pas à pas 2024, Novembre
Anonim
Image
Image
Câblage
Câblage

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

Câblage
Câblage
Câblage
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:

  1. ESP32 broche 14 (mâle) à la broche IN4 de la carte pas à pas (femelle).
  2. ESP32 broche 32 (mâle) à la broche IN3 de la carte pas à pas (femelle).
  3. ESP32 broche 15 (mâle) à la broche IN2 de la carte pas à pas (femelle).
  4. ESP32 broche 33 (mâle) à la broche IN1 de la carte pas à pas (femelle).
  5. Broche ESP32 "GND" (mâle) à la broche de la carte pas à pas "-" (femelle).
  6. 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

Indicateur
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

Logiciel
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é: