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) :
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.
–