Imprimante 3D : pilotes de moteur pas à pas Trinamic TMC2130
MaisonMaison > Blog > Imprimante 3D : pilotes de moteur pas à pas Trinamic TMC2130

Imprimante 3D : pilotes de moteur pas à pas Trinamic TMC2130

Jun 06, 2024

Ajustez le courant de phase, augmentez le micropas et oubliez cela - c'est ce que la plupart des gens attendent d'un circuit intégré de pilote de moteur pas à pas. Bien qu'ils équipent la plupart de nos machines CNC et imprimantes 3D, en tant que solutions monolithiques pour « les faire tourner », nous n'y prêtons pas souvent beaucoup d'attention.

Dans cet article, je vais examiner le pilote de moteur pas à pas Trinamic TMC2130, qui est livré avec plus de cloches et de sifflets que vous n'en auriez jamais besoin. D'une part, ce pilote peut être configuré via son interface SPI pour s'adapter à pratiquement toutes les applications utilisant un moteur pas à pas. D'un autre côté, vous pouvez également écrire directement dans les registres de courant de bobine et étendre le champ d'application bien au-delà des moteurs.

Le mois dernier, nous avons examiné de plus près le micropas sur les circuits intégrés de pilotes pas à pas courants, mais avons laissé de côté ceux que nous souhaitons réellement utiliser : les plus intelligents. Trinamic fournit certains des pilotes de moteur pas à pas les plus intelligents du marché, et depuis que le magasin de hackers allemand Watterott a lancé ses cartes de dérivation SilentStepStick pour les TMC2100 et TMC2130, ils établissent également une nouvelle norme pour les imprimantes, fraiseuses et pick-and-place 3D DIY. des robots. J'ai récemment acquis un ensemble des deux pour mon imprimante 3D Prusa i3, et le TMC2130 avec son interface de configuration SPI a vraiment retenu mon attention.

Le TMC2130 SilentStepStick ne doit pas être confondu avec la variante – bien plus populaire – du TMC2100. Comme son nom l'indique, il s'agit d'une carte de dérivation compatible StepStick et, tout comme son célèbre frère, elle comporte un circuit intégré Trinamic sur la face inférieure du petit PCB. Plusieurs vias et déversements de cuivre évacuent la chaleur du tampon central du circuit intégré, permettant à un dissipateur thermique sur la face supérieure de refroidir efficacement le pilote.

Cependant, contrairement au TMC2100, celui-ci ne laissera pas vos moteurs tourner tout de suite. Vous avez deux options : connectez-le en mode autonome, ce qui le transforme pratiquement en TMC2100, ou connectez-le à son interface SPI et connectez-vous si vous souhaitez que votre moteur pas à pas soit secoué ou remué. En fait, de nombreux registres de configuration font du TMC2130 une puce extrêmement piratable, donc je ne pense même pas à ponter le cavalier à souder situé sur la face inférieure du SilentStepStick qui active le mode autonome.

Comme indiqué, avant que le pilote ne fasse quoi que ce soit, il doit être configuré, et il convient de mentionner que tous les registres de configuration sont naturellement volatils, donc si je veux les utiliser dans mon imprimante 3D, je dois les configurer dans le cadre du démarrage de l'imprimante. routine.

Les RAMPS 1.4 de mon imprimante 3D décomposent l'interface matérielle SPI de l'Arduino sous-jacent via son en-tête de broche AUX3, ainsi que deux broches numériques supplémentaires (D53 et D49), que j'ai utilisées pour les signaux de sélection de câble. Après avoir serti un câble pour connecter deux TMC2130 à l'en-tête AUX3, j'ai pu commencer à creuser la partie logicielle.

Watterott fournit un exemple de croquis, qui écrit une configuration de base dans les registres du pilote et fait tourner un moteur pas à pas connecté. Très bien, mais la fiche technique décrit 23 registres de configuration en attente d'être réglés avec précision, et 8 autres à partir desquels lire les données de diagnostic et d'état. J'ai donc écrit une petite bibliothèque Arduino qui rendrait les nombreux paramètres de configuration disponibles de manière plus pratique. À partir de là, je pourrais simplement inclure ma bibliothèque dans le micrologiciel de l'imprimante 3D Marlin-RC7 que j'utilise. Heureusement, la version candidate actuelle de Marlin prend déjà en charge les pilotes TMC26X, j'ai donc pu réutiliser une partie de son code pour créer un fork Marlin qui inclut 59 des paramètres du TMC2130 dans ses fichiers de configuration basés sur la définition. Et puis, je pourrais emmener les petits copains faire un tour.

Une fois le matériel configuré et le logiciel fonctionnant comme prévu, j'ai effectué quelques tests de cohérence : activer et désactiver les paramètres et vérifier comment le comportement du pilote change pendant l'impression. Étant donné que le TMC2130 vous permet de régler presque tout ce qu'il fait, c'est une bonne première étape qui permet d'éliminer certaines variables et d'en choisir d'autres qui méritent un examen plus approfondi. La plupart des paramètres peuvent être modifiés à la volée et en cours d'impression. Cependant, tous les paramètres ne peuvent pas être modifiés en toute sécurité pendant que les moteurs tournent.