Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Capteurs > Capteurs de position > Réalisation d’un codeur incrémental à partir d’un moteur pas à pas.

Réalisation d’un codeur incrémental à partir d’un moteur pas à pas.

lundi 17 octobre 2005, par Patrick

Les codeurs incrémentaux sont largement utilisés en robotique pour réaliser des asservissements en vitesse et/ou en position. Mais ils sont relativement couteux, surtout quand une bonne résolution est nécessaire. Une solution à peu de frais consiste à utiliser un moteur pas à pas de récupération.

Principe

Ces moteurs ont typiquement deux bobinages qui produisent des pulses en quadrature de phase quand l’axe du moteur est mis en rotation. Les signaux peuvent ainsi être mis en forme pour produire deux trains d’impulsions digitaux que l’on lira avec un microcontrôleur comme on le ferait avec tout autre codeur incrémental.

Voici à quoi ressemblent ces signaux (réalisés avec un analyseur logique) :

Signaux en quadrature

Si vous lisez de gauche à droite, l’alternance des niveaux haut et bas sur la phase B par rapport à ceux sur la phase A est différente que si vous lisez de droite à gauche, donc :
 vous connaissez le sens de rotation
 chacun des fronts d’une des deux phases correspond à un demi-pas de moteur

On obtient ainsi un encodeur d’une précision égale à 2 fois le nombre de pas du moteur. Attention à bien gérer le retour en arrière quand vous êtes au milieu d’un pas (c’est pour ça qu’on n’utilise pas tous les fronts : il vaut mieux utiliser le front sur phase A et le front sur phase B pour valider le pas en cours, sinon on perd de la précision quand le robot vibre autour de sa position (on incrémente à tord).

Note : choisir un moteur bi-polaire présentant un faible couple de maintien à vide : ainsi il tournera avec moins d’effort.



Description du circuit

Un double comparateur est utilisé pour produire des signaux carrés à partir des sorties des bobinages. Un fil de chaque bobinage est connecté à une tension de référence valant la moitié de la tension d’alimentation du circuit.

L’autre extrémité des bobinages est connecté via un circuit de limitation courant/tension à l’entrée non-inverseuse d’un comparateur. Une résistance (voir schéma, R7 & R8) limite le courant de retour dans les diodes de protection (D5-D8) du comparateur contre les pics de tension des bobines.

Les entrées inverseuses sont connectées à la tension de référence alim/2. Un offset est appliqué via R10 et R11 aux entrées inverseuses pour produire une hystérésis.

Note : si l’alimentation est de 5 volts, les sorties sont compatibles TTL.

Ce circuit est suffisamment sensible pour détecter un seul pas, même à basse vitesse. Si les vitesses à mesurer sont vraiment très faibles, il faut prévoir un engrenage pour assurer une vitesse de rotation de l’axe moteur suffisante.

Schéma du circuit

Pour conclure, pensez à relier à la masse la carcasse des moteurs pour éviter de parasiter les comparateurs.

Pour aller plus loin

Cette utilisation est répandue et on en trouve trace dans de nombreux articles (en anglais généralement) sur Internet ou dans les magazines. Par exemple : montage de 4QD-TEC.
 

Vos commentaires

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.