Circuit de commande de moteur pas-à-pas

FIXME Images ajoutées bientôt…

Cet article présente la commande des moteurs pas à pas en créneaux de courant. Il est composé d'une présentation détaillée du composant L6208 de ST Microeletronics suivie d'un exemple concret : la carte moteurs du robot Kelebulc 2006.

Introduction

Les moteurs pas à pas sont très utilisés dans les applications demandant de la précision sans avoir à ajouter de capteurs pour vérifier déplacement (sans boucle de retour).

La commande en créneaux de tension est la plus utilisée et la plus simple à mettre en œuvre. Cependant, le principal point faible de cette méthode est le fait que le couple des moteurs est proportionnel au courant qui les traversent (et non à la tension). L'impédance d'un moteur étant principalement selfique (inductive), le courant met donc du temps à s'établir dans les bobinages. Lorsque que l'on utilise le moteur à une fréquence élevée, les créneaux de tension sont très court et le courant n'a donc pas le temps de s'établir et le couple est alors très faible voire inexistant.

Il devient donc nécessaire d’alimenter le moteur en créneaux de courant.

Les créneaux de courant

Il est en théorie impossible d’avoir de parfait créneaux de courant dans les moteurs puisque ils sont composés de bobines. Il est cependant possible d’accélérer la mise en place du courant en augmentant la tension d’alimentation.

Prenons l’exemple d’un moteur pas à pas qui a les caractéristiques suivantes : Tension d’alimentation 12V et courant nominal 0,6A. Cela veut dire que à l’arrêt, le moteur étant alimenté, le courant le traversant est 0,6A (cela permet le maintient en position). Le but est maintenant d’avoir, lors d’une rotation rapide, un créneau de courant de 0,6A. La solution est d’alimenter le moteur à plus de 12V jusqu’à ce que le courant de 0,6A s’établisse puis repasser à une alimentation de 12V pour ne jamais dépasser le courant nominal, ce qui pourrait endommager le moteur.

creneaux courant

Fonctionnalités du composant

0n retrouve à l'intérieur du composant 2 ponts en H qui permettent d'alimenter un moteur pas à pas en bipolaire. Ces ponts en H sont commandés par des signaux d'horloge en entrée ainsi qu'un système permettant de limiter le courant de sortie à l'image d'une consigne donnée pour chaque phase du moteur. On distingue aussi parmi les fonctionnalités principales:

  • Un mode pas complet/demi pas
  • Une protection en cas de courant trop important
  • Une protection thermique
  • Un réglage du sens de rotation
  • Diodes de roue libre intégrées

Montage du composant

montage_6208_1

Rôle des différentes entrées sorties

Les signaux de contrôle

  • CLOCK : Un top d'horloge permet de faire avancer le moteur d'un pas. Pour faire des rampes d'accélération, il faudra faire varier la fréquence de ce signal.
  • CW/_CCW : Permet de sélectionner le sens de rotation du moteur
  • CONTROL : D'après ce que j'ai compris, ce mode permet une inversion du courant plus rapide. Pour plus d'explications, voir la datasheet du composant.
  • HALF/_FULL : Permet de sélectionner le mode Pas complet ou demi-pas
  • EN : Permet d'activer le composant. Les moteurs sont en roue libre dans le cas contraire
  • _RESET : Réinitialise le composant.

Les autres entrées

  • VSA,VSB : Alimentation pour chaque phase du moteur. Des condensateurs permettent d'éviter les chutes de potentiel en cas de fort appel de courant.
  • SENSEA,SENSEB : Sortie de chaque phase du moteur. Ces deux pins doivent être reliées via un résistance à la masse.Le potentiel de ces pins ( proportionnel au courant qui circule) permettra une comparaison avec le potentiel de référence.
  • VREFA,VREFB : Potentiel de référence. Il peu être imposé par un pont de résistance. Le potentiel de ce point est comparé à celui de SENSE et cela détermine si il faut encore alimenter le moteur (le courant va encore augmenter) ou si il faut couper l'alimentation (le courant va diminuer).
  • RCA,RCB : La fréquence de cet oscillateur détermine la fréquence de rafraîchissement de la mesure de courant, c'est à dire la fréquence de l'opération décrite au point précédent.
  • OUT1A,OUT2A,OUT1B,OUT2B : sorties vers le moteur. Le moteur doit être alimenté en mode Bipolaire.

Dissipation thermique

Une dissipation thermique est très importante pour ce composant dès qu'il alimente des moteurs assez puissants.

Les boitiers PDIP

6208_pdip

La chaleur est dissipée par les 4 pins GND situées au centre du composant. Il est donc important de laisser de l'espace sur la carte pour garder une zone de cuivre reliée aux pins GND pour une bonne dissipation de la chaleur. Il est aussi possible de rajouter en supplément de ce refroidissement, un dissipateur sur le boitier du composant. Si toutefois la dissipation est encore insuffisante, il faut rajouter un ventilateur.

Exemple de carte utilisant ce composant

Cette carte a été conçue pour le robot Kelebulc 2006.

Elle est principalement composée:

  • d'un PIC 16F877A
  • de deux contrôleurs de moteurs pas à pas L6208
  • d'une interface de communication et d'entrées sorties

carte_l6208 carte_l6208_schema

La carte moteurs Kelebulk 2006 Schéma de la carte

carte_l6208_top_compo_small carte_l6208_bottom_compo_small carte_l6208_partlist Placement des composants top Placement des composants bottom carte_l6208_typon_top_small carte_l6208_typon_bottom_small Typon bottom Typon Top Liste des composants

Article écrit par AUQUE Martin 23 octobre 2006