Table des matières:

Moteur pas à pas 28BYJ-48 5V et pilote A4988 : 4 étapes
Moteur pas à pas 28BYJ-48 5V et pilote A4988 : 4 étapes

Vidéo: Moteur pas à pas 28BYJ-48 5V et pilote A4988 : 4 étapes

Vidéo: Moteur pas à pas 28BYJ-48 5V et pilote A4988 : 4 étapes
Vidéo: Arduino #21 LE MOTEUR PAS A PAS UNIPOLAIRE 28BYJ-48 " stepper " tuto en français 2024, Novembre
Anonim
Moteur pas à pas 28BYJ-48 5V et pilote A4988
Moteur pas à pas 28BYJ-48 5V et pilote A4988

Vous avez toujours voulu qu'un robot tourne à un angle précis, en utilisant seulement quelques sorties de votre Arduino ou micro:bit ? Tout ça pour pas cher ? C'est l'instructable pour vous ! Dans cette instructable, nous verrons comment piloter un moteur pas à pas très bon marché en utilisant seulement 2 sorties de notre contrôleur et ne nécessitant qu'une alimentation 5V !

J'ai fait cette instructable après avoir lutté un peu pour rassembler les informations, trébuchant parfois sur la désinformation, et je voulais éviter que les autres passent par le même processus.

Mais avant de commencer, pourquoi une telle contrainte ?

  • Pourquoi 5V: parce que je souhaite intégrer cela sur un robot mobile qui ne fonctionnera qu'avec une batterie lithium 3.7 dont je peux sortir 5V avec un booster.
  • Pourquoi utiliser l'A4988 et non l'ULN2003 qui est souvent livré avec le moteur 28BYJ ? Car, d'abord, il nécessite 4 entrées. Par conséquent, l'utilisation de l'A4988 nous permet d'économiser 2 de nos précieuses sorties de contrôleur (et si vous aimez travailler avec le micro:bit comme je le fais, ces sorties sont précieuses…) ! Mais il y a plus ! Pouvoir piloter le moteur en donnant simplement les pas sous forme d'impulsions élevées, nous donne la possibilité de piloter le moteur avec un simple PWM. En fixant le rapport cyclique à 50 %, la modification de la fréquence du PWM modifiera la vitesse de rotation du moteur. Pourquoi est-ce génial ? Parce que si vous voulez régler la vitesse de mon moteur puis continuer à contrôler d'autres choses avec mon Arduino ou mon micro:bit, alors vous pouvez simplement régler mon PWM et l'oublier, ce qui rendra votre code tellement plus lisible et votre vie tellement plus facile (par exemple si vous voulez construire un robot comme celui-ci).

Alors, commençons !

Fournitures

Voici ce dont vous aurez besoin pour cette instructable:

  • 1x moteur pas à pas 28BYJ
  • 1x A4988 pilote
  • 1x planche à pain ou carte de prototypage, un condensateur et quelques fils
  • Micro:bit et carte d'extension ou Arduino
  • Alimentation 5V (+3,3V si vous utilisez Micro:bit). Pour cela, j'ai utilisé une batterie au lithium 18650 et un bouclier de batterie.
  • 1x multimètre

Étape 1: Apprendre à connaître notre système

La première chose que je recommanderais pour commencer serait d'en savoir plus sur les moteurs pas à pas et le pilote A4988. Hé, mais pourquoi avons-nous besoin de ce pilote ? Pourrions-nous contrôler un moteur pas à pas sans pilote ? La réponse est non. Les cartes comme Micro:bit et Arduino sont douées pour traiter les informations mais pas pour fournir beaucoup de courant, et vous avez besoin de courant pour faire bouger un moteur pas à pas. Pour en savoir plus sur le fonctionnement du moteur et du pilote, c'est la référence que je recommanderais. Il est synthétique mais contient également la plupart des informations dont vous aurez besoin pour le câblage.

Mais attendez avant d'essayer de câbler quoi que ce soit ! Le 28BYJ est-il adapté à l'A4988 ? Si vous faites une recherche rapide, vous verrez que ce moteur est rarement livré avec le A4988 comme pilote. Si vous lisez attentivement la référence précédente, vous comprendrez peut-être pourquoi: notre moteur pas à pas est un moteur unipolaire alors que le A4988 est conçu pour piloter des moteurs bipolaires, il va donc falloir bidouiller un peu notre moteur !

Étape 2: pirater le moteur

Pirater le moteur
Pirater le moteur
Pirater le moteur
Pirater le moteur
Pirater le moteur
Pirater le moteur

Pour rendre vos moteurs compatibles avec le pilote de moteur, retirez simplement le fil rouge du connecteur blanc. Pour ce faire couper le connecteur pour retirer le fil rouge et couper le fil rouge du moteur. Puis échangez le câble jaune et rose sur le connecteur. Gardez le fil rouge et le connecteur pour la prochaine étape !

Pour sortir un câble du connecteur, poussez le fil que vous souhaitez retirer dans le connecteur, puis poussez le bout métallique visible sur le connecteur avec un outil pointu (ci-dessus se trouve une photo où je le fais avec mon couteau préféré, l'opinel !), et enfin tirez et finalement le tout devrait sortir comme sur l'image ci-dessus. La dernière image montre à quoi devrait ressembler le connecteur à la fin de ces modifications: l'ordre du câble sur le connecteur devrait être orange/rose/jaune/bleu.

(PS: en ligne vous trouverez des tutos indiquant qu'il faut dessouder le fil rouge du moteur puis gratter le PCB, oubliez ça, ce n'est pas nécessaire. Inutile ?)

Étape 3: Configuration du pilote

Paramétrage du pilote
Paramétrage du pilote

Maintenant… il est temps de conduire ce moteur avec le chauffeur ? Pas encore désolé ! Vous voyez la vis sur la carte A4988 ? Eh bien, nous devrons jouer avec. Cette vis vous permet essentiellement de définir la quantité de courant qui traversera les bobines de votre moteur. Dans notre cas, alors que notre alimentation donne 5V et que nos bobines dans le moteur ont une résistance de 50 Ohms, notre courant ne dépassera pas 100mA, ce qui devrait être supporté par le moteur afin que vous puissiez éventuellement sauter cette étape. Cependant, si vous êtes comme moi et que vous souhaitez que votre moteur ne prenne que le courant dont il a besoin, suivez-le.

Donc, pour définir le pilote, suivez la méthode 2 de cet article avec ces adaptations (comme le montre l'image ci-dessus)

  1. Utilisez le 5V du blindage de la batterie à la fois pour la logique et l'entrée d'alimentation du moteur (on dit que le VMOT a besoin de plus de 8V mais 5V fonctionne !). Les 2 broches GND de la carte sont connectées, donc pas besoin de les connecter toutes les deux à la masse de la batterie.
  2. Connectez également les broches STEP et DIR au 5V (pas à Arduino comme indiqué dans l'article référencé)
  3. Lors du réglage du multimètre, j'ai réglé le courant sur 50 mA, ce qui était suffisant pour entraîner mes moteurs par demi-pas (plus de détails à l'étape suivante). Pour connecter mon multimètre pour mesurer le courant dans la bobine du moteur, comme vous pouvez le voir sur l'image ci-dessus, j'ai débranché le fil jaune du connecteur et mis le fil rouge, afin que je puisse mettre mon multimètre du rouge à le fil jaune pour mesurer le courant.

Étape 4: Contrôle du moteur

Contrôle du moteur
Contrôle du moteur
Contrôle du moteur
Contrôle du moteur
Contrôle du moteur
Contrôle du moteur

Ça y est, nous sommes presque prêts à faire tourner notre moteur. Les seules choses à faire sont:

  1. retirer notre multimètre de notre système si ce n'est déjà fait,
  2. connecter MS1 à 5V ce qui obligera le conducteur à utiliser des demi-pas (j'ai eu du mal à faire tourner le robot avec des pas complets sur 5V. Mais comme une partie de mon objectif était de tout faire fonctionner sur 5V j'ai accepté de sacrifier un peu de vitesse et pour gagner en précision),
  3. fournir aux broches STEP et DIR ce que nous voulons de notre contrôleur.

Ensuite: si vous souhaitez contrôler le moteur à l'aide d'Arduino, suivez simplement l'article ici où vous trouverez un exemple de code. Si vous voulez le contrôler avec le micro:bit, restez avec moi un peu plus longtemps.

Micro:bit, comme Arduino, est livré avec des GPIO. Par conséquent, une fois que nous l'avons alimenté (avec 3,3 V !), nous pouvons alors le programmer pour sortir STEP et DIR. Bien qu'il semble y avoir beaucoup d'entrées et de sorties, sachez qu'en réalité, beaucoup d'entre elles sont déjà réservées à d'autres fins. Vous pouvez en savoir plus à ce sujet dans cet article. Vous verrez dans cet article qu'en fait, de nombreuses entrées/sorties sont partagées avec l'écran, et donc, si vous souhaitez utiliser celles-ci, vous devrez alors éteindre l'écran. Mais n'éteignons pas l'affichage ! Alors, quelles broches pouvons-nous utiliser ? J'utiliserai les broches 2 et 8 car je n'utiliserai pas les pads (broche 2).

Branchez la broche 2 du micro:bit sur STEP, la broche 8 sur DIR, téléchargez le programme joint à l'aide de votre éditeur micro:python préféré (j'ai utilisé mu-editor). Ce programme définit essentiellement un PWM sur la broche 2 avec une période de 1 milliseconde (et un cycle de service de 50%), et votre moteur devrait tourner. Réglez la broche 8 sur 0 ou 1 pour la faire tourner dans un sens ou dans l'autre et changez la période pour la faire tourner à la vitesse que vous voulez (tant que vous ne voulez pas qu'elle aille trop vite… pour moi une impulsion chaque milliseconde était proche à la vitesse maximale que je pourrais atteindre).

Pour rendre les choses un peu plus compactes et les embarquer facilement sur un robot mobile j'ai fabriqué une petite planche. La planche est montrée dans l'image ci-dessus. Dans l'image, il y a un fil violet allant du VMOT au VDD qui se cache dans l'ombre. De plus, le fil jaune allant de SLP à RST n'est en fait pas soudé, je l'ai juste mis là pour représenter la soudure que j'ai mis au dos de la carte pour connecter ces 2 broches. Remarque: le dissipateur thermique n'est normalement pas nécessaire avec un tel système, car on tire beaucoup, beaucoup moins que 1A.

Voilà, j'espère que cette instructable aidera beaucoup d'entre vous à profiter de la puissance du moteur pas à pas dans vos projets.

Conseillé: