Table des matières:

Raspberry Pi, Python et un pilote de moteur pas à pas TB6600 : 9 étapes
Raspberry Pi, Python et un pilote de moteur pas à pas TB6600 : 9 étapes

Vidéo: Raspberry Pi, Python et un pilote de moteur pas à pas TB6600 : 9 étapes

Vidéo: Raspberry Pi, Python et un pilote de moteur pas à pas TB6600 : 9 étapes
Vidéo: Управление двигателями постоянного тока и шаговыми двигателями с помощью Raspberry Pi. Как использовать Adafruit DC и шаговые двигатели HAT 2024, Juin
Anonim
Raspberry Pi, Python et un pilote de moteur pas à pas TB6600
Raspberry Pi, Python et un pilote de moteur pas à pas TB6600

Ce Instructable suit les étapes que j'ai suivies pour connecter un Raspberry Pi 3b à un contrôleur de moteur pas à pas TB6600, une alimentation 24 VDC et un moteur pas à pas 6 fils.

Je suis probablement comme beaucoup d'entre vous et j'ai un "sac à main" de pièces restantes de nombreux anciens projets. Dans ma collection, j'avais un moteur pas à pas à 6 fils et j'ai décidé qu'il était temps d'apprendre un peu en savoir plus sur la façon dont je pourrais l'interfacer avec un Raspberry Pi modèle 3B.

En guise d'avertissement, je n'ai pas inventé la roue ici, j'ai simplement rassemblé un tas d'informations facilement disponibles sur le Web, j'y ai ajouté mon petit biais et j'ai essayé de le faire fonctionner

L'intention ici était vraiment de rassembler quelques éléments (à un coût minime), d'écrire du code Python pour mon Raspberry Pi et de faire tourner le moteur. C'est exactement ce que j'ai réussi à accomplir.

Alors, commençons…

Étape 1: Le Raspberry Pi

Le Raspberry Pi
Le Raspberry Pi

En ce qui concerne le Raspberry Pi, j'ai utilisé trois broches GPIO standard, cela devrait donc fonctionner (je n'ai pas testé) avec n'importe quelle carte Pi ou Orange, carte Tinker ou clones disponibles. Vous pouvez (et devriez) parcourir mon code Python trop commenté et sélectionner différentes broches GPIO si vous utilisez un processeur différent ou si vous souhaitez simplement changer un peu les choses.

Veuillez noter que je me connecte directement aux broches GPIO du RPi, je limite donc la tension que les broches GPIO voient à 3,3 volts.

Étape 2: Pilote/contrôleur de moteur pas à pas TB6600

Pilote/contrôleur de moteur pas à pas TB6600
Pilote/contrôleur de moteur pas à pas TB6600

Comme je l'ai noté précédemment, j'ai choisi d'utiliser un pilote / contrôleur de moteur pas à pas TB6600.

Ce contrôleur est:

  • Facilement disponible (recherche eBay, Amazon, Ali Express ou bien d'autres).
  • Très configurable avec des commutateurs d'accès facile.
  • Les détails de configuration et de câblage sont sérigraphiés sur le boîtier.
  • Plage de tension d'entrée de 9 VDC à 40 VDC
  • Capable jusqu'à 4 ampères de sortie d'entraînement de moteur.
  • Dispose d'un ventilateur de refroidissement interne et d'un dissipateur thermique décent.
  • Est équipé de 3 connecteurs amovibles.
  • A un faible encombrement,
  • Facile à monter.

Mais le faible coût d'achat est vraiment ce qui a scellé l'affaire sur celui-ci.

Étape 3: Le moteur pas à pas…

Le moteur pas à pas…
Le moteur pas à pas…

Le moteur pas à pas que j'ai utilisé est un peu inconnu. Je l'ai depuis de nombreuses années et je ne me souviens pas de l'historique de la façon dont je l'ai acquis ou de son utilisation précédente.

Dans ce Instructable, je ne vais pas détailler comment comprendre ses capacités - je n'ai pas d'utilisation réelle pour cela (autre qu'expérimental) donc je vais sauter cela.

J'ai utilisé un moteur pas à pas assez générique. J'ai passé un peu de temps sur YouTube et ici sur Instructables pour essayer de déchiffrer les fils qui en proviennent.

Mon moteur a en fait 6 fils dessus… Dans cette application, j'ai laissé les deux fils "Center Tap" isolés et non connectés.

Si vous avez un type de moteur pas à pas "générique" similaire, je suis certain qu'avec un ohmmètre et un peu de temps, vous pourriez aussi comprendre le câblage et le faire fonctionner de cette manière. Il existe de nombreuses vidéos YouTube qui vous guideront pour trier facilement votre propre moteur.

Étape 4: Alimentation et alimentations

Alimentation et alimentations
Alimentation et alimentations

Il faut être prudent ici…

Selon votre construction, vous devrez peut-être vous connecter à des tensions de ligne (alimentation domestique). Assurez-vous d'utiliser toutes les précautions de sécurité appropriées:

  • N'essayez PAS d'établir des connexions électriques à des sources d'alimentation sous tension.
  • UTILISEZ des fusibles et des disjoncteurs de taille appropriée
  • UTILISEZ un interrupteur d'alimentation pour alimenter votre bloc d'alimentation (cela facilitera l'isolement de l'alimentation des tensions de ligne sous tension).
  • Terminez correctement tous les fils et établissez des connexions solides. N'utilisez pas de clips, de fils effilochés ou de connecteurs mal ajustés.
  • NE PAS utiliser de ruban d'électricien comme isolant

J'ai utilisé une alimentation 24 VDC (5 A) pour alimenter le contrôleur de pilote de moteur pas à pas. J'ai également utilisé la sortie de cette même alimentation pour piloter un bloc d'alimentation DC à DC Buck afin de générer 3,3 volts à utiliser comme source pour les signaux ENA, PUL et DIR (voir le schéma de câblage)

N'essayez PAS d'utiliser le RPi pour absorber le courant d'une source de 5,0 VCC.

Je ne recommande PAS d'essayer de sourcer les côtés " + " des signaux PUL, DIR et ENA avec 3,3 VDC à partir du RPI.

Étape 5: Protection des circuits…

Notez que dans le schéma de câblage qui suit, je ne mentionne pas comment connecter l'alimentation à "AC Power", ni ne liste un disjoncteur pour cela. Si vous avez l'intention de construire un système de test similaire à celui-ci, vous devrez prendre le temps de spécifier un disjoncteur et un fusible qui correspondront à la ou aux alimentations que vous utiliserez. La plupart des alimentations modernes ont des spécifications de tension et de courant indiquées. Ceux-ci doivent être suivis et des protections de circuit appropriées installées.

S'il vous plaît… Ne sautez pas cette étape importante.

Étape 6: Le schéma de câblage

Le schéma de câblage
Le schéma de câblage

Alimentations

La sortie de l'alimentation 24 VCC est protégée par un fusible de 5 A puis acheminée vers:

  • Broche "VCC" du pilote/contrôleur de moteur pas à pas TB6600 (fil ROUGE sur le schéma).
  • Il est également acheminé vers l'entrée du "DC to DC Converter" 3,3 VDC (encore un fil ROUGE dans le schéma).

La sortie du "convertisseur CC à CC" 3,3 VCC est acheminée vers les broches "2", "4" et "6" du pilote/contrôleur de moteur pas à pas TB6600 (fil BLEU dans le schéma).

REMARQUE - le contrôleur lui-même marque ces broches comme "5V". Cela fonctionnera si 5V étaient fournis à ces broches, mais en raison des tensions nominales des broches GPIO sur le RPI, j'ai choisi de limiter la tension à 3,3 VDC.

REMARQUE - Je ne recommande PAS d'essayer de sourcer les côtés " + " des signaux PUL, DIR et ENA avec 3,3 VDC à partir du RPI.

Mappage GPIO

Mappage GPIO Fil GPIO 17 PUL ROSE dans le schéma Fil GPIO27 DIR ORANGE dans le schéma Fil GPIO22 ENA VERT dans le schéma

Étape 7: Opération

Opération
Opération

Fondamentalement, le matériel Raspberry Pi contrôle trois signaux:

Cartographie GPIO GPIO 17 PUL GPIO27 DIR GPIO22 ENA

GPIO22 - ENA - Active ou désactive la fonctionnalité du pilote/contrôleur de moteur pas à pas.

Lorsque LOW, le contrôleur est DÉSACTIVÉ. Cela signifie que si cette ligne est HAUTE ou NON connectée, alors le TB6600 est ACTIVÉ, et si les signaux appropriés sont appliqués, le moteur tournera.

GPIO27 - DIR - Règle le sens de rotation du moteur.

Lorsqu'il est ÉLEVÉ ou Non connecté, le moteur tournera dans un sens. Dans ce mode, si le moteur ne tourne pas dans la direction souhaitée, vous pouvez échanger les deux fils du moteur A entre eux, ou les deux fils du moteur B entre eux. Faites-le sur les connecteurs verts du TB6600.

Lorsque cette broche passe au niveau BAS, le TB6600 commute les transistors internes et le sens du moteur change.

GPIO10 - PUL - Impulsions du RPI qui indiquent au pilote/contrôleur de moteur pas à pas TB6600 à quelle vitesse tourner.

Veuillez vous référer aux images ci-jointes pour le réglage des positions du commutateur du pilote/contrôleur de moteur pas à pas que j'ai utilisées.

Étape 8: Code Python

Ci-joint mon code trop commenté.

N'hésitez pas à l'utiliser et à le modifier à votre guise. J'en ai trouvé des parties sur le Web et je les ai ajoutés à des fins de test et d'évaluation.

== == ==

Étape 9: Résumé

Cela a fonctionné.. il y a beaucoup de place pour l'amélioration, et le code pourrait être nettoyé, mais OK.

J'apprécierais d'entendre vos suggestions et de tout changement / mise à jour que vous apportez.

Merci.

Conseillé: