Commande de moteur pas à pas Raspberry Pi avec L293D / ULN2003A

Stepper moteurs sont idéales pour applications où Il est nécessaire de connaître le angle de rotation, par exemple en robotique. Contrairement à un moteur normal, moteurs pas à pas pouvez contrôler le pas individuellement et pouvez par conséquent détecter la position exacte.
Pour contrôle facilelingue un tel moteur, un chauffeur IC comme le L293D ou le ULN2003 sont nécessaires. L’utilisation des deux Conducteurs est montré dans ce tutoriel.

le plus commun de ces deux est le ULN2003, cette est aussi souvent inclus sur rivière planches avec le 28BYJ48e est une tension de 5V et 12V possible.

le L293D toutefois ouvre la possibilité se connecter une source d’alimentation externe, par exemple un plus haut intensité de courant (lequel dans certaines moteurs est nécessaire) peut être connecté.

Accessoires

  • Moteur pas à pas, par ex. le 28BYJ-48 avec carte pilote ULN2003 (NOUS / Royaume-Uni)
  • Circuit intégré du pilote L293D (NOUS / Royaume-Uni)
  • alternativement, sinon L293D est recherché: Circuit intégré Darlington ULN2003 IC (NOUS / Royaume-Uni)
  • Cavalier (NOUS / Royaume-Uni)
  • peut-être une source d’alimentation externe, par exemple des piles

Bien sûr, vous pouvez utiliser n’importe quel autre moteur pas à pas, mais il est important d’identifier les couleurs de fil éventuellement différentes lorsque vous les connectez (voir fiche technique).

Ces couleurs reflètent dans mon cas le 28BYJ-48 (Fiche technique):

magn
Si vous choisissez ainsi un moteur différent, considérez le cas où les couleurs peuvent être différentes. Les positions et les étapes sont importantes.

Câblage L293D

Si vous avez un moteur avec carte pilote ULN2003 ou IC pilote ULN2003, vous pouvez ignorer cette étape.

le Fiche technique montre qu’une source d’alimentation externe est possible. La structure est donc la suivante:

l293d_Steckplatine
Il est important de dire que si vous utilisez une source d’alimentation externe, le + 5V du Raspberry Pi doit également être connecté à la broche inférieure gauche du CI (broche 8), en plus de la broche 16.

Si l’ampérage du moteur nécessite plus que ce que la Raspberry PI peut fournir, vous devez disposer d’une source d’alimentation externe (une source de courant fixe est meilleure que les batteries). La pré-résistance est également spécifiée dans la fiche technique. Faites attention à ce que vous ayez suffisamment de tension et d’ampérage, car c’est la cause la plus courante, pourquoi le moteur ne fonctionne pas plus tard comme il se doit. Cependant, avec le 28BYJ-48, ce n’est pas le cas.

Câblage ULN2003

Contrairement au L293D, seules les tensions d’entrée 5V ou 12V sont autorisées (Fiche technique). Étant donné que le Raspberry Pi ne dispose que de 5 V, nous ne pouvons également utiliser que des moteurs pas à pas qui nécessitent un maximum de 5 V.

uln2003_Steckplatine

Essai

Lorsque vous utilisez le 28BYJ48, le séquence est comme suit. Si vous utilisez un moteur différent, vous devez Ajuste le séquence correspondant à votre Fiche technique.
Alors on créer un script:

sudo nano stepper.py

et ajoutez le script suivant:

Ensuite, enregistrez simplement avec CTRL + O et CTRL + X et quittez. Vous pouvez le démarrer avec:

sudo python stepper.py

Avec setStep(0,0,0,0) vous pouvez régler le moteur pas à pas au ralenti, car sinon, l’énergie est consommée tout le temps (par les électro-aimants du moteur).

Sachez que si vous choisissez une valeur de retard élevée (par étape), le moteur se déplace très lentement (par exemple, avec un retard de 100 ms, un tour complet prend déjà 51,2 secondes, car le moteur a un total de 512 pas. Des valeurs de retard trop petites peuvent , cependant, ont l’effet inverse, de sorte que les signaux sont transmis trop rapidement et que le moteur ne fait que “bégayer”. Si vous voulez un moteur plus rapide, choisissez un modèle avec un angle de pas plus grand).

Articles similaires

Bouton retour en haut de la page
Fermer