Le javascript est désactivé sur votre navigateur
 
Prononcer /'po.bot/
Accueil du siteAstuces et bonnes pratiquesMécanique
  publication inférieure à 7 jours
  publié < 7j sous cette rubrique
     
À propos de l'article
    Publié le 17 octobre 2005
    par Patrick

    Mis à jour le 28 janvier 2011
Mots-clés de cet article
    Composants :
    codeur incrémental ,
    Electronique :
    quadrature
Choisir votre langue :

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

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.
- 

 
Répondre à cet article
Vous avez aimé cet article ? Merci de nous recommander !
Commentaires :
  1. Dhya
    dimanche 17 mai 2009 à 17:00
    Répondre Fil de discussion
    pour ma part je souhaiterai savoir comment on peut mettre en oeuvre un encodeur incrémental sur un microcontroleur
  2. Julien
    lundi 18 mai 2009 à 12:34
    Répondre Fil de discussion
    Il faut relier une sortie (A ou B) de l’encodeur à une patte spéciale du microcontrôleur appelée "interruption externe" qui va déclencher dans le programme une fonction capable de déterminer la position relative de l’encodeur par rapport à la position précédente et déterminer s’il faut incrémenter de 1 ou décrémenter de -1 ou lever une erreur selon le cas.
  3. lundi 3 novembre 2008 à 21:24
    Répondre Fil de discussion
    Très bonne idée ce codeur ! J’ai réalisé le montage, il marche très bien, mais je me pose une question,comme je peux savoir dans quel sens tourne le moteur ? Merci et bonne continuation.
  4. Julien
    jeudi 6 novembre 2008 à 13:17
    Répondre Fil de discussion

    C’est le principe des signaux dits en quadrature, c’est-à-dire déphasés d’une demi-période : il y a deux signaux carés A et B.

    Quand le moteur tourne dans un sens, l’alternance est par exemple (selon quel fil vous appelez A ou B) : A haut puis B haut puis A bas puis B bas. Alors qu’elle est différente quand le moteur tourne dans l’autre sens : A haut puis B bas puis A bas puis B haut.

    Nous ferons un article plus détaillé très prochainement, avec exemple de code.



    Page de référence : est
  5. Jean Louis
    mercredi 12 novembre 2008 à 14:28
    Répondre Fil de discussion
    J’attends avec impatience alors ! J’ai essayé de faire l’acquisition sur un Pic en n’utilisant qu’un seul front d’une voie pour détecter le sens de rotation mais ça ne marche pas du tout à faible vitesse, enfin ça ne marche bien que dans un sens... C’est ennuyeux. Il faut que je suive votre conseil de traiter les deux voies simultanément. Merci pour votre aide.
  6. Telson
    lundi 21 novembre 2011 à 16:10
    Répondre Fil de discussion

    Bonjour,

    Sur le montage, seul le comparateur 1 est connecté à une alim 5V + condensateur.

    Devons nous connecter le deuxième comparateur à une alim +5V avec un condensateur comme sur le premier comparateur ?

    Merci.

    Cordialement.

  7. Julien H.
    lundi 12 décembre 2011 à 18:16
    Répondre Fil de discussion
    Oui, tous les amplificateurs opérationnels doivent être connectés. On ne montre habituellement qu’un seul AOP complètement câblé, et les autres suivent le même schéma, pour ne pas alourdir la vue.
  8. Telson
    lundi 9 janvier 2012 à 15:44
    Répondre Fil de discussion

    Bonjour,

    Peut t’on utiliser des diodes 1N4148 comme sur ce schéma presque identique :http://coucou.28.free.fr/codeurpascher.htm

    http://translate.googleusercontent.com/translate_c ?hl=fr&langpair=en|fr&rurl=translate.google.fr&u=http://www.webx.dk/oz2cpu/20m/encoder.htm&usg=ALkJrhgFDNS9Ns8FjmZJ-fpCf6MCpLgCvQ

    Est les condensateurs sont t’ils polarisés ou non ?

    Merci par avance.

    Cordialement.