Installation des moteurs à boucles fermé

image_pdfimage_print

Qu’est-ce qu’un asservissement en boucle fermé?

système de moteur pas à pas à boucle fermée

Un système de moteurs pas à pas avec un asservissement à boucle fermé possède 3 composants principaux:

  • 1 moteur
  • 1 encodeur connecté sur le moteur
  • 1 contrôleur électronique

Ici les moteurs sont équipé d’encodeurs.

Les encodeurs sont des capteurs qui mesurent la position angulaire du moteur.

Ils peuvent être magnétique ou le plus souvent optique.

La résolution de ces capteurs permet de savoir avec précision à quel angle se trouve l’arbre de notre moteur par rapport à l’angle que l’on souhaite.

  1. Le contrôleur électronique envois dans un premier temps un ordre de déplacement au moteur.
  2. L’encodeur optique envois ensuite la position réelle du moteur au contrôleur électronique.
  3. Le contrôleur compare évalue l’erreur de positionement entre la position voulue et la position réelle du moteur.
  4. Le contrôleur envois ensuite au moteur la puissance nécessaire pour corriger sa position.

Toutes ces étapes s’effectuent en temps réel, d’où l’intérêt d’avoir un contrôleur dédié pour chaque moteur.


Le cas d’une imprimante 3D

Dans le cas de base le contrôleur de l’imprimante (ici un Arduino), vient piloter le moteur via un driver moteur.

Le driver moteur convertie le nombre de pas et le sens de déplacement (des impulsions numérique du contrôleur) en signaux compatible avec les bobines du moteurs (signaux sinusoïdaux).

Ici l’asservissement est en « boucle ouverte » car on ne vérifie/corrige jamais la position du moteur. On espère que le moteur bouge le plus vite possible à la position voulue.


Insertion du système à boucle fermé.

Dans cette solution nous changeons notre moteur car notre nouveau moteur possède à présent un encodeur optique intégré à l’arrière du moteur.

On rajoute également notre contrôleur (boîtier bleu) configurable par des petits interrupteurs sur le côté.

On retire le driver moteur du moteur concerné car le contrôleur joue aussi le rôle de driver moteur.

Le câblage de l’ensemble est présenté ici

Le câblage du moteur peut varier en fonction du raccordement des fils au à l’intérieur du moteur..


Technique de câblage du moteur

Il faut tout d’abord repérer les bobinages en utilisant un voltmètre en mode ohm mètre.

Les paire de fils correspondant à une bobine possède une impédance très basse.

Une fois que vous avez repéré les paires de bobinages, chaque bobinage correspond à une lettre A ou B sur le schéma.

Ensuite il vous faudra tester les différentes permutations possible afin de trouver que le moteur tourne dans le bon sens.

Les moteurs doivent être connectés sur le contrôleur avant l’allumage de ce dernier.

Vous devez éteindre le contrôleur à chaque fois que vous voulez tester une permutation.


Le boîtier électronique à été spécialement modifié pour fonctionner sous 12V, ceci malgré le marquage sur ce dernier.


Configuration du boîtier électronique

Le boîtier est configurable via une rangée de switch à 8 interrupteurs sur le côté.

Les 3 premiers switch permettent de configurer le mode de fonctionne du boîtier.

En jaune vous trouverez la configuration utilisé dans notre cas.

  • On veut pouvoir se brancher sur les pins DIR et STEP(ici PUL) de nos drivers moteurs
  • Le paramètre « pulse edge » n’a pas beaucoup d’importance ici.
  • La direction du moteur peut être changé au besoin
Switch 1 (Pulse Mode) OFF (CW & CCW) ON (DIR & PUL)
Switch 2 (Pulse Edge) OFF (Rising) ON (Falling)
Switch 3: Motor Dir OFF (CCW) ON (CW)

Ensuite les paramètres dépendent du nombre de pas que vous avez dans votre firmware pour votre axe moteur.

Pour un moteur avec 200 pas par tours:

  • Dans le cas d’un driver A4988 ou DRV8825 configuré en 16 micros pas on obtient 100 micros pas/mm. (200*16 = 3200 pas par tours)

Ceci correspond à la ligne avec le fond jaune dans le tableau.

  • Dans le cas d’un driver DRV8825 configuré en 32 micros pas on obtient 200 micros pas /mm (200 * 32 = 6400 pas par tours)

Ce cas correspond à la ligne avec le fond rose

Switch 4 Swich 5 Swich 6 Switch 7 Pulse/Rev Correspondance
ON ON ON ON Default
 OFF ON ON ON 800
ON OFF ON ON 1600
 OFF OFF ON ON 3200 16 micros pas
ON ON OFF ON 6400 32 micros pas
 OFF ON OFF ON 128000
ON OFF OFF ON 25600
 OFF OFF OFF ON 51200
ON ON ON  OFF 1000
 OFF ON ON OFF 2000
ON OFF ON OFF 4000
 OFF OFF ON OFF 5000
ON ON OFF OFF 8000
 OFF ON OFF OFF 10000
ON  OFF OFF OFF 20000
 OFF  OFF OFF OFF 40000

Modifications au niveau firmware

C’est la magie du système, c’est 100% transparent pour le firmware, il à l’impression de piloter un driver classique et ne sait même pas qu’il possède un asservissement à boucle fermé.

C’est le contrôleur électronique (le boîtier bleu) qui effectue vraiment l’asservissement des moteurs avec précision, délestant grandement le contrôleur de l’imprimante 3D qui à des tâches plus intéressantes à faire pendant ce temps la.

Avec ce système toutes la gestion de puissance au niveau du moteur (la gestion PID) est intégralement pris en charge par le contrôleur.

Vous pouvez néanmoins accéder à plus de paramètres via l’interface RS232 du contrôleur qui se trouve sur le boîtier.

Il se peut qu’il faille changer dans le firmware le sens de rotation des moteurs si ce dernier n’est pas disponible via le contrôleur des moteurs.