Codeur rotatif absolu

Un encodeur rotatif est un dispositif électromécanique utilisé pour surveiller des objets en rotation tels que des arbres et des essieux. Les codeurs rotatifs peuvent être utilisés pour mesurer la position, la distance et la vitesse angulaire de l'arbre rotatif.

Il existe deux types d'encodeurs rotatifs : codeurs rotatifs incrémentaux ainsi que les codeurs rotatifs absolus. Dans cet article, nous examinerons codeurs rotatifs absolus, leur principe de fonctionnement et leurs applications.

Qu'est-ce qu'un codeur rotatif absolu ?

Les codeurs rotatifs absolus appartiennent à la famille des encodeurs rotatifs. Ils sont utilisés pour mesurer les paramètres suivants d'objets en rotation tels que des arbres ou des essieux :

  • Vitesse angulaire
  • Informations sur la position
  • Tarifs Distance

Les codeurs rotatifs absolus se trouvent dans les applications où la mesure précise de la position et du déplacement angulaire est requise. Ces capteurs trouvent également leurs applications dans les systèmes où la vitesse de rotation doit être mesurée.

Ces capteurs délivrent un mot unique (un mot est un ensemble de bits) selon le position actuelle du capteur.

Ceci est différent des codeurs rotatifs incrémentaux car les codeurs incrémentaux sont conçus pour produire un flux continu d'impulsions omniprésentes tandis que les codeurs absolus produisent un ensemble unique de bits pour chaque position du capteur.

Cela nous permet de mesurer la position exacte (absolue) de l'arbre plutôt que de calculer le changement de poste.

Examinons en profondeur le fonctionnement des codeurs rotatifs absolus.

Principe de fonctionnement de l'encodeur rotatif absolu

Les codeurs rotatifs absolus, comparés aux codeurs rotatifs incrémentaux, sont quelque peu complexes à utiliser, mais simples à utiliser dans une application. 

Tout comme les codeurs rotatifs incrémentaux, les codeurs absolus ont également un arbre rotatif attaché au capteur. L'arbre est relié à un disque avec un ensemble de fentes soigneusement placées. Cette roue est également connue sous le nom de "roue codée".

La roue de code a un modèle de bits unique. Contrairement aux encodeurs incrémentaux où tous les slots sont placés dans un motif répétitif, les slots de la roue de code du codeur absolu sont différents les uns des autres.

Lorsque l'arbre tourne, la roue codée tourne également avec lui. Il y a un ensemble de LED qui émettent des faisceaux de lumière sur la roue de code. Lorsque les faisceaux lumineux s'alignent avec les fentes, les faisceaux traversent la roue codée, la fente fixe et éclairent les phototransistors.

Il existe des codeurs absolus magnétiques qui remplacent le réseau LED par un réseau de détection magnétique et un ensemble de pôles magnétiques remplaçant les marqueurs optiques.

Chaque phototransistor fonctionne indépendamment et lorsqu'il est allumé, il émet un signal logique HAUT. Lorsqu'il n'y a pas de faisceau présent sur un phototransistor particulier, il sort une logique LOW.

Le nombre de phototransistors et les niveaux de fentes gravés dans la roue codeuse déterminent la précision et la résolution du codeur rotatif absolu.

Ceci est généralement indiqué dans les bits. Par exemple, un codeur absolu à résolution 8 bits peut fournir 256 informations de position et mesurer des déplacements angulaires par incréments de 1.41 degré.

Selon le type de codeur absolu et sa construction, plusieurs configurations de sortie sont disponibles :

  • Sortie parallèle
    • Ce type de capteur a plusieurs lignes de sortie qui fournissent les informations de position. Par exemple, un capteur de sortie parallèle 8 bits a 8 lignes de signal et deux fils d'alimentation. La sortie peut être codée en binaire or code gris le format.
    • Les capteurs à sortie parallèle ont une quantité très minime de circuits intégrés car ils n'impliquent pas beaucoup de traitement.

 

  • Sortie série
    • Les codeurs absolus à sortie série fournissent les informations de position et de vitesse via un protocole de transmission de données synchrone.

  • Les capteurs de sortie série ont des lignes de données et d'horloge et produisent un bit par impulsion d'horloge. Ces capteurs sont également disponibles dans des formats de sortie binaires ou codés en gris.
  • Pour une immunité supplémentaire au bruit, les capteurs de type sortie série utilisent une communication par paire différentielle selon Norme RS-422. Une paire par horloge et une autre pour les lignes de données.
  • Les méthodes de communication synchrone les plus courantes pour les codeurs absolus sont SSI : Interface série synchrone, BiSS : Interface série synchrone bidirectionnelle et Hiperface DSL. Il existe également des interfaces propriétaires telles que EnDat2.2.
  • Sortie analogique
    • Les capteurs à sortie analogique délivrent une tension ou une valeur de courant en fonction de la position du capteur.

Avantages des codeurs absolus

Les codeurs absolus, bien que d'un coût un peu plus élevé, présentent de multiples avantages en termes de détection de position :

  • Affiche la position absolue de l'arbre
    • Lorsqu'ils sont « interrogés », les codeurs absolus produisent une information de position unique liée à sa position actuelle. Cela signifie que deux positions de l'arbre dans une rotation à 360 degrés ne sont pas identiques.
  • Plusieurs options de sortie
    • Les codeurs absolus ont plusieurs types de sortie : parallèle, série (protocoles standard et propriétaires)
  • Insensible aux pannes de courant
    • Les codeurs absolus ne souffrent pas de pannes de courant. Ils sont toujours prêts à fournir des informations de positionnement juste après un cycle d'alimentation.
  • Haute résolution
    • En augmentant simplement le nombre de pistes d'encodeur et d'unités de détection, les encodeurs absolus peuvent avoir une résolution beaucoup plus élevée que les encodeurs incrémentaux.

Encodeurs incrémentaux ou absolus

La principale différence entre les codeurs absolus et incrémentaux réside dans leur fonctionnement. Les codeurs absolus peuvent fournir des informations de position même lorsque l'arbre ne tourne pas.

Les codeurs incrémentaux ne peuvent fournir des impulsions que lorsque l'arbre tourne. Un comptage d'impulsions séparé doit être effectué pour déterminer la position relative et la distance. 

Les codeurs incrémentaux doivent avoir un marqueur de « référencement » séparé pour déterminer la position initiale/de référence de l'arbre. Cependant, les codeurs absolus n'ont pas besoin d'un tel ajout et peuvent fournir une position immédiate pour loger l'arbre.

Cela peut être très utile dans les applications où la rotation de l'arbre pour obtenir la position « origine » n'est pas souhaitable.

Les codeurs incrémentaux nécessitent des modules décodeurs spéciaux à grande vitesse pour obtenir les informations de vitesse, de position et de distance. Cela limite l'intégration avec des appareils électroniques autres que les automates programmables et les microcontrôleurs. Parfois, la surcharge de traitement peut également affecter négativement les performances du système. 

Les capteurs absolus ont une résolution globale plus élevée que leurs homologues incrémentiels. La résolution des encodeurs incrémentaux est limitée à la taille physique du disque et à la réponse en fréquence du système.

Les codeurs absolus sont toujours prêts à fournir des informations de position à la demande, tandis que les codeurs incrémentaux doivent être surveillés en permanence pour obtenir le train d'impulsions et calculer la vitesse, la direction et la distance actuelles. De ce fait, les codeurs absolus peuvent récupérer facilement des pannes de courant.

Applications de codeur absolu

Les codeurs absolus sont principalement utilisés dans les applications de positionnement de haute précision telles que,

  • Machines CNC multi-axes (assemblage et fabrication)
  • Bras robots (robots chirurgicaux, imagerie diagnostique)
  • Système de positionnement des ascenseurs
  • Demandes d'impression
  • Industrie du sport automobile (systèmes de direction par fil) et bien d'autres.

Sortie du codeur absolu

Les codeurs absolus génèrent un ensemble de bits appelé « mot » pour chaque position de l'arbre. Il existe trois types de sorties pour les codeurs absolus : parallèle, série et analogique.

Les codeurs à sortie parallèle ont un nombre n de fils (n = nombre de bits (résolution)) produisant les bits correspondants du mot. La figure ci-dessous montre une sortie de codeur absolu de mot de 6 bits. Le mot de sortie peut être de code-gris or binaire le format.

Les encodeurs de sortie série produisent un flux de données lorsqu'ils sont « interrogés ». Le capteur intègre un circuit de traitement du signal basé sur un microcontrôleur. Il existe des systèmes de bus série tels que SSI, BiSS, EnDat, Modbus et Profibus qui permettent à un appareil pris en charge de communiquer avec le capteur.

Les capteurs à sortie analogique émettent un signal de tension ou de courant en fonction de la position du capteur.

Types d'encodeurs absolus

Les codeurs absolus peuvent être classés en fonction de la technologie de détection comme optique ainsi que les magnétique. Les encodeurs optiques utilisent lumière visible (LED) et une roue de code à fentes.

Les codeurs magnétiques utilisent pôles magnétiques et réseau de détection magnétique pour obtenir la position actuelle de la roue de code.

L'autre classification est basée sur le type de sortie. Il existe des codeurs absolus monotours et multitours. Les codeurs absolus monotour ne peuvent fournir des informations de positionnement qu'en un seul tour de 260 degrés.

Les codeurs multitours fournissent des données supplémentaires qui fournissent le nombre de tours de 360 ​​degrés que l'arbre a tourné. Cela permet de déterminer le nombre de rotations sans avoir à compter depuis le début.

Codeurs absolus monotour vs multitours

Selon la disponibilité d'une fonction spéciale pour compter les tours, il existe deux types de codeurs absolus : Codeurs absolus monotours et multitours.

Les codeurs absolus monotour peuvent mesurer la position en un tour.

Par exemple, si un codeur absolu à un tour tourne à 360 degrés par rapport à sa position initiale et atteint le 361e degré de rotation, le capteur démarrera la sortie depuis le début. Il indiquera la position comme 1 degré. 

Ces capteurs ne peuvent pas compter ou fournir un signal spécial lorsque la rotation dépasse un tour complet. Par exemple, le Capteurs de la série 845G par Allen Bradley ont une sortie de 12 bits, 0 comme minimum et 4095 étant la position maximum. Une fois qu'il atteint 4096, la sortie atteint 0.

Les codeurs absolus monotour sont utilisés dans des applications telles que :

  • télescopes
  • Antennes rotatives
  • Générateurs d'éoliennes
  • Portails/Portes

Les codeurs monotour ne disposent que de la fonction de comptage de tours et peuvent être utilisés pour les mesures de vitesse et de position. Si nécessaire, la position initiale peut être utilisée comme référence et la méthode logicielle peut être utilisée pour compter le nombre approximatif de tours.

D'autre part, les codeurs absolus multitours peuvent également compter les tours. Par exemple, un codeur absolu multitours 12 bits a 4096 pas par tour et peut également compter 4096 tours. Les codeurs multitours utilisent l'une des technologies suivantes pour conserver le nombre de tours :

  • Type à engrenage
    • Les codeurs à engrenages utilisent un ensemble d'engrenages planétaires pour suivre le nombre de tours. Ces types présentent l'inconvénient d'une usure mécanique dans le temps.
  • Type de batterie de secours
    • Ce type utilise un compteur électronique et une mémoire pour stocker les informations du compteur. Ils peuvent compter les tours même lorsqu'ils sont éteints. Cependant, dans la plupart des cas, la batterie est intégrée au capteur. Il peut être nécessaire de le remplacer de temps en temps en fonction de la fréquence d'utilisation.
  • Type de capteur Wiegand
    • Wiegand-les capteurs de type fil utilisent un fil spécial enroulé près de l'arbre et utilisent une impulsion magnétique pour déclencher un changement de polarité. Ce changement se produit après chaque révolution terminée. Cette commutation est utilisée pour compter le nombre de tours.

Les codeurs multitours se trouvent dans des applications telles que,

  • Articulations robotisées
  • Grues
  • Servomoteurs (360 servos)
  • Systèmes de contrôle d'antenne parabolique et bien d'autres où un point de pivot de rotation n'est pas accessible/disponible.

Qu'est-ce qu'un codeur absolu magnétique ?

Les codeurs absolus magnétiques utilisent des pôles magnétiques et des capteurs magnétiques au lieu des LED et des photodiodes que l'on trouve dans les codeurs optiques. L'image ci-dessous montre un exemple de roue codeuse magnétique à codage absolu.

L'agencement des pôles extérieurs a un pôle magnétique de plus que l'agencement intérieur. Cela provoque un décalage unique des paires de pôles interne et externe.

Les capteurs captent les signaux d'un pôle par roue à la fois et calculent leur différence de phase (déphasage). Cette différence de phase analogique est ensuite convertie en une valeur numérique à sortir.

Les codeurs magnétiques sont très robustes et résistants aux chocs et aux vibrations.

Ils trouvent leurs applications dans des environnements où des particules polluantes telles que la poussière, l'humidité et d'autres particules de matériaux peuvent s'accumuler. Cependant, en raison de leur principe de fonctionnement, les codeurs magnétiques sont sensibles aux perturbations causées par de forts champs magnétiques.

Interfaçage d'un encodeur absolu avec Raspberry Pi

Si connecter un codeur absolu à un Raspberry Pi peut être simple, le programme pour lire correctement les entrées peut devenir un peu compliqué selon le type de capteur. Voyons comment interfacer un codeur absolu de type sortie série (EMS22A) avec un Raspberry Pi.

Câblage du capteur

Le capteur a le format de câblage suivant :

Connectez les fils du capteur comme suit avec le Raspberry Pi :

  • Broche 2 (CLK) -> RPi broche 2
  • Broche 4 (DO) -> RPi broche 3 (si vous utilisez plus d'un capteur, connectez la broche de données du deuxième capteur à la broche 14)
  • Broche 6 (CS) -> RPi broche 4
  • VCC -> broche RPi +5V
  • GND -> Broche RPi GND

Exemple de code

Pour interroger les informations du capteur, l'exemple de code suivant écrit par Haresh Karnan peut être utilisé. Il imprimera la ou les lectures du capteur connecté lorsqu'il sera exécuté.

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

PIN_CLK = 2
PIN_DAT = [3,14]
PIN_CS  = 4
delay = 0.0000005
ns = 2 # number of sensors attached
# totally 10 bits to be extracted from SSI signal
bitcount = 16

# pin setup done here
try:
GPIO.setup(PIN_CLK,GPIO.OUT)
GPIO.setup(PIN_DAT[:],GPIO.IN)
GPIO.setup(PIN_CS,GPIO.OUT)                                                                                              
GPIO.output(PIN_CS,1)
GPIO.output(PIN_CLK,1)
except:
print "ERROR. Unable to setup the configuration requested"                               

#wait some time to start
time.sleep(0.5)

print "GPIO configuration enabled"

def clockup():
GPIO.output(PIN_CLK,1)
def clockdown():
GPIO.output(PIN_CLK,0)
def MSB():
# Most Significant Bit
clockdown()

def readpos():
GPIO.output(PIN_CS,0)
time.sleep(delay*2)
MSB()
data = [0]*ns
   
for i in range(0,bitcount):
    if i<10:
        #print i
        clockup()
        for j in range(0,ns):
            data[j]<<=1 
            data[j]|=GPIO.input(PIN_DAT[j])
        clockdown()
    else:
        for k in range(0,6):
            clockup()
            clockdown()
GPIO.output(PIN_CS,1)
return data

try:
while(1):
    print readpos()
    time.sleep(0.001)
    #break
 
finally:
print "cleaning up GPIO"
GPIO.cleanup()

Prix ​​de l'encodeur absolu

Les prix des encodeurs rotatifs absolus varient de 10 à 15 $ à plus de 1000 XNUMX $. Cela est principalement dû aux fonctionnalités disponibles, à la résolution, au type de sortie et au protocole utilisé. Les capteurs propriétaires à haute résolution ont tendance à coûter plus cher que les simples capteurs de type sortie parallèle qui peuvent être achetés à moindre coût.

Conclusion

Les codeurs rotatifs sont utilisés pour suivre les composants mécaniques en rotation tels que les arbres et les tiges. Les codeurs absolus et les codeurs incrémentaux sont les deux types de codeurs rotatifs.

Il existe des dispositifs d'interface de codeur spéciaux qui peuvent lire l'entrée brute d'un codeur rotatif et transmettre les informations de vitesse, de position et de distance à un ordinateur.

Les encodeurs pris en charge peuvent également être directement connectés à des automates programmables et à d'autres ordinateurs pour obtenir les valeurs brutes et effectuer des calculs dans le logiciel. 

Facebook
Twitter
LinkedIn
Pinterest
Dernières publications

Table des matières

Envoyez-nous