3 minute(s) de lecture

Stepper Cette carte permet de contrôler un moteur pas à pas à l’aide d’un TMC2208 ou TMC2209 avec comme software le système d’interface parallèle 16bits utilisé dans ce projet de contrôle de 8 moteurs. Le contrôle du moteur pour le faire avancer ou reculer à des vitesses précises passe par un fichier gcode, écrit en json.

Hardware

Matériel nécessaire

Il vous faut:

  • Un Raspberry PICO, version 1 ou 2 peu importe.
  • Un moteur pas à pas 12v de type NEMA17 (personnellement j’utilise un modèle 17HE15-1504S)
  • Un driver TMC2208 ou TMC2209 qui va permettre de convertir les instructions en 3.3v envoyées par le microcontrôleur en 12v vers les bobines du moteur pas à pas. Ces drivers sont miniatures, efficaces et permettent un contrôle du moteur sans aucun bruit. La carte fonctionnera aussi avec un driver A4988, mais ils sont dépassés, et bien moins efficaces que les drivers TMC.
  • Une alimentation DC 12v 60Watts (5A) avec un connecteur Jack DC. Attention à ne pas prendre une alimentation 5v.
  • 1 micro-switch DIP avec 3 boutons, pour configurer les micro-steps de chaque moteur. Seuls les 2 premiers boutons sont utiles pour les drivers TMC (le troisième ne sert que pour les driver A4988).
  • 1 condensateurs 25v 100uf, les plus petits en hauteur (il faut les loger sous les drivers TMC).
  • 1 led 5mm pour visualiser la mise sous tension de la carte (j’ai opté pour une led rouge).
  • 1 résistance 1/4watts de 220ohms (pour la led).
  • 1 convertisseur 12v-5v TRACO TSR: leur rendement est excellent (>90%).
  • 1 connecteur JackDC à souder avec 3 pattes.
  • 2 pin header mâle 4 pins pour connecter le moteur et une interface i2c optionnelle (pour un écran OLED déporté).
  • 2 pins header femelles 8 pins afin d’y connecter le driver sans avoir à les souder sur la carte.
  • 2 pins headers femelles 20 pins afin d’y connecter le raspberry pico sans avoir à le souder sur la carte.
  • bien entendu la carte PCB que vous pouvez re-faire fabriquer à partir des fichiers GERBER fournis dans ce Github dans le dossier PCB, ou bien vous pouvez me contacter pour voir s’il men reste en stock.

Schéma électronique

Cliquez pour agrandir l’image.

Assemblage de la carte

Stepper Aucune difficulté, il ne faut pas se tromper de sens avec la soudure de la diode (Cathode matérialisée avec une petite barre horizontale à souder sur le K), de la led (patte la plus courte sur la masse), du condensateur (patte la plus courte sur la masse) et du convertisseur 12v-5v: la sérigraphie aide à se repérer. Connectez dans le bon sens aussi le Raspberry PICO (port usb dans la même direction que la prise Jack) et le driver TMC (vis de réglage vers l’extérieur de la carte), sinon ils seraient détruits dès la mise sous tension du système. Le micro-dip switch sérigraphié est en position OFF.

Cliquez pour agrandir les images

Le moteur se branche sur les pin header localisés à côté de l’alimentation Jack DC.

Boîtier imprimé 3D

Stepper

Un boîtier minimaliste à imprimer en 3D est disponible dans la section /STL du Github du projet.

Software

Installation bibliothèque

Installez bien la dernière version MicroPython sur votre microcontrôleur. Cet article détaille comment s’y prendre avec un Raspberry PICO.

Tout le code micropython est à récupérer sur le Github du projet dans la section micropython.

Tous les modules sont à uploader à la racine du PICO.

  • /gcode: fichier gcode au format json
  • /sm: module de gestion de la machine à état qui gère l’interface parallèle 16bits.
  • /stepper: module qui gère le driver TMC (ou A4988).
  • main.py: progamme principal qui s’exécute au démarrage du système.

Usage

Le pilotage du moteur se fait grâce au fichier gcode déposé dans le dossier /gcode. Pour comprendre comment écrire un fichier gcode pour ce système, je vous encourage à lire la section fichier de trajetoire de cet article.

Stepper