Un codeur magnétique est un capteur indispensable dans les systèmes de contrôle des mouvements, utilisé pour mesurer le déplacement angulaire, le déplacement linéaire, la vitesse et l'accélération d'un mouvement mécanique. Parmi eux, les codeurs magnétiques sont largement utilisés dans le domaine industriel en raison de leur excellente résistance à la pollution et de leur durabilité. En fonction de leurs différents signaux de sortie, les codeurs magnétiques sont principalement divisés en deux grandes catégories : les codeurs incrémentaux et les codeurs absolus : les codeurs incrémentaux et les codeurs absolus.

1. Codeur incrémental

Un codeur incrémental est un dispositif qui utilise les variations du champ magnétique d'un anneau magnétique (ou d'une échelle magnétique) pour générer des signaux électriques périodiques, mesurant ainsi le déplacement relatif.

Schematic diagram of incremental magnetic encoder

1.1 Principe de fonctionnement de base

  • Structure de l'anneau magnétique : L'anneau magnétique incrémental comporte des paires de pôles magnétiques N et S de largeur égale, disposées alternativement le long de sa circonférence.
  • Génération de signaux : Des capteurs (tels que des capteurs magnétorésistifs ou des capteurs à effet Hall) lisent les variations du champ magnétique sur l'anneau magnétique rotatif et génèrent deux signaux rectangulaires avec une différence de phase de 90°, généralement appelés phase A et phase B (ou signaux sinusoïdaux/cosinusoïdaux).
    • Le nombre de paires de pôles magnétiques détermine la résolution du codeur (une paire de pôles magnétiques correspond à une période de signal).
  • Mesure du déplacement : Au cours de chaque rotation, les phases A et B émettent une série d'impulsions. Le système calcule le déplacement en comptant le nombre de ces impulsions.
  • Détermination de la direction (décodage en quadrature) : La différence de phase de 90° entre la phase A et la phase B est utilisée pour déterminer le sens de rotation.
    • Rotation dans le sens des aiguilles d'une montre : Lorsque la phase A change d'état, si B ≠ A (c'est-à-dire que la phase B est en retard sur la phase A), cela indique une rotation dans le sens des aiguilles d'une montre.Clockwise Rotation
    • Rotation dans le sens inverse des aiguilles d'une montre : Lorsque la phase A change d'état, si B = A (c'est-à-dire que la phase A est en retard sur la phase B ou que la phase B est en avance sur la phase A), cela indique une rotation dans le sens inverse des aiguilles d'une montre.Counterclockwise RotationWorking Principle of Incremental Encoder

1.2 Caractéristiques des codeurs incrémentaux

  • Position relative : Les codeurs incrémentaux ne fournissent que des informations sur le déplacement relatif, c'est-à-dire la variation du déplacement à partir du dernier point de mesure.
  • Mémoire hors tension : Les codeurs incrémentaux ne possèdent pas de fonction de mémoire hors tension. Lorsque le système est hors tension, le compteur d'impulsions est remis à zéro et le codeur ne peut pas connaître la position actuelle. Après la remise sous tension, il doit trouver un point de référence (opération de homing) pour déterminer la position absolue.
  • Applications industrielles : Convient à des scénarios tels que le contrôle de la vitesse et la coupe à longueur fixe, où il n'est pas nécessaire de connaître la position exacte au moment du démarrage, mais où une mesure précise de la vitesse du mouvement et de la distance relative est requise.

2. Codeur incrémental avec index/marque de référence

Pour résoudre le problème des codeurs incrémentaux devant revenir à zéro après une coupure de courant, un signal d'"origine" ou de "position zéro" a été introduit, également connu sous le nom de phase Z ou de marque de référence.

2.1 Principe de fonctionnement

  • Signal de phase Z : En plus de la phase A et de la phase B, un repère de référence unique (généralement un pôle magnétique spécial ou un espace) est ajouté à la bague magnétique. Il ne génère qu'un seul signal d'impulsion par rotation complète, qui est le signal de phase Z.
  • Détermination de la position absolue :
    1. Le codeur commence à tourner après la mise sous tension.
    2. Lorsque l'impulsion de la phase Z apparaît, le système remet à zéro le nombre d'impulsions en cours ou le règle sur une position absolue initiale connue. Ce point d'impulsion Z sert d'"origine".
    3. Par la suite, en comptant les impulsions A/B, la position absolue par rapport à l'origine peut être connue.
  • Application pratique Logique : Le "grincement" mentionné dans la vidéo lorsqu'une imprimante démarre est le processus par lequel le codeur incrémental recherche l'origine de la phase Z. En contrôle industriel, ce processus est appelé "Homing". Dans le contrôle industriel, ce processus s'appelle le Homing, qui est une étape cruciale qui doit être réalisée avant le démarrage.

2.2 Applications industrielles

Les codeurs absolus sont couramment utilisés dans les équipements qui nécessitent une opération de positionnement pour établir un système de coordonnées, tels que les machines-outils, les robots et les imprimantes. Son avantage réside dans son coût inférieur à celui des codeurs absolus, tout en permettant d'obtenir la position absolue grâce à l'opération de positionnement.

2.3 Traitement du signal des codeurs incrémentaux : Décodage en quadrature et multiplication

Les codeurs incrémentaux émettent des signaux de phase A, de phase B et de phase Z. Il s'agit généralement de signaux différentiels (tels que le décodage en quadrature). Il s'agit généralement de signaux différentiels (tels que RS-422) afin d'améliorer la capacité de lutte contre les interférences.

  • Cœur du traitement des signaux : Décodage en quadrature

Le contrôleur (tel qu'un PLC ou une carte de contrôle de mouvement) doit traiter les signaux A/B pour obtenir des informations sur la position et la direction :

  1. Détermination de la direction : Sur la base de la différence de phase (90°) entre la phase A et la phase B, le sens de rotation est déterminé (sens des aiguilles d'une montre / sens inverse des aiguilles d'une montre).
  2. Comptage d'impulsions : Accumuler ou décrémenter les impulsions en fonction de la direction pour obtenir le déplacement total.
  • Amélioration de la précision : Technologie de multiplication

Pour améliorer la résolution de la position, les impulsions d'origine ne sont généralement pas comptées directement, mais la technologie de multiplication est utilisée :

  • Multiplication 1X : Le comptage a lieu uniquement sur le front montant de la phase A.
  • Multiplication 2X : Le comptage a lieu à la fois sur les fronts montants et descendants de la phase A.
  • Multiplication 4X : Le comptage s'effectue sur tous les fronts (montants et descendants) de la phase A et de la phase B. Il s'agit de la méthode la plus couramment utilisée, qui quadruple la résolution nominale du codeur.

En supposant qu'un codeur ait N impulsions par révolution (PPR), après avoir appliqué la multiplication 4X, la résolution réelle reçue par le contrôleur devient 4N comptes par révolution (CPR).

  • Calcul de la vitesse

Le calcul de la vitesse s'effectue en prenant le nombre total d'impulsions reçues dans une unité de temps.

Vitesse de rotation (RPM) = \frac{Compte d'impulsions \time 60}{Intervalle de temps (s) \time CPR}$$$.

Vitesse de rotation (RPM)

  • Nom complet : Révolutions par minute.
  • Signification : Il s'agit du résultat final du calcul, représentant le nombre de tours complets qu'un dispositif (par exemple, un arbre de moteur, une roue) effectue par minute. C'est l'unité de vitesse de rotation la plus couramment utilisée dans les domaines de l'ingénierie et de la mécanique.

Nombre d'impulsions

  • Signification : Le nombre total d'impulsions détectées par le codeur ou le capteur dans l'intervalle de temps défini.
  • Signification physique : Pendant la rotation du codeur, celui-ci émet une impulsion électrique chaque fois qu'il tourne au-delà d'un angle spécifique. Plus le nombre d'impulsions est élevé, plus l'angle ou le nombre de tours effectués dans le même laps de temps est important.

Intervalle de temps (s)

  • Unité : Seconde (s).
  • Signification : Il s'agit de la période de temps utilisée pour mesurer le nombre d'impulsions. Par exemple, si vous avez compté 50 impulsions en l'espace de 0,1 seconde, l'"intervalle de temps" est ici de 0,1 seconde.

RPC

  • Nom complet : Compte par révolution.
  • Signification : Il s'agit d'un paramètre inhérent au codeur ou au capteur utilisé. Il indique le nombre de comptes que l'appareil produit pour chaque rotation complète (360 degrés).
  • Criticité : Il s'agit d'une valeur fixe que vous devez déterminer en vous basant sur le manuel de spécifications de l'appareil que vous utilisez.
  • Traitement de la position zéro / de l'origine (phase Z)

Le signal de phase Z est utilisé pour calibrer la position absolue. Lors du démarrage du système ou de l'autoguidage :

  1. Le système se déplace à grande vitesse pour rechercher l'impulsion de la phase Z.
  2. Lorsque l'impulsion de phase Z (généralement d'une largeur de 1 à 2 périodes d'impulsion A/B) apparaît, le contrôleur remet immédiatement le compteur à zéro ou le règle sur une position de départ absolue prédéfinie.

3. Codeur absolu

Un codeur absolu fournit un code numérique unique pour représenter sa position absolue tout au long du cycle de rotation.

3.1 Définition et avantages de la position absolue

  • Position absolue : Chaque mesure émet directement un code numérique correspondant à l'angle actuel, et ce code est unique entre 0° et 360°. Pour tout angle donné de l'arbre (par exemple, 10,5°, 180°, 359,9°), le codeur émet un code numérique unique. Chaque position a son propre "numéro d'identification".
  • Mémoire hors tension : Le plus grand avantage de ce codeur est qu'il est doté d'une mémoire hors tension. Quel que soit le moment où l'alimentation est appliquée, il peut immédiatement fournir la position actuelle sans qu'il soit nécessaire d'effectuer un repérage.

3.2 Principe de fonctionnement des codeurs absolus

Les codeurs magnétiques absolus adoptent généralement les principes de la multipiste ou de Nonius pour obtenir un positionnement absolu. Le diagramme ci-dessous illustre un codeur absolu monotour basé sur le principe de Nonius.

3.2.1 Principe de Nonius

Le principe de Nonius repose sur l'utilisation de deux pistes magnétiques (anneaux magnétiques) avec un nombre différent de paires de pôles magnétiques, ce qui permet de déterminer la position absolue par la différence entre leurs périodes de signal.

  • Structure de l'anneau magnétique : Deux pistes magnétiques sont utilisées :
    • La piste principale : En supposant que le nombre de paires de pôles magnétiques est P (par exemple, 6 paires de pôles comme indiqué dans la vidéo).
    • Piste Nonius : Le nombre de paires de pôles magnétiques est P-1 (par exemple, 5 paires de pôles comme indiqué dans la vidéo).
  • Génération et calcul du signal :
    1. Résolution fine : Les deux pistes génèrent respectivement deux ensembles de signaux sinus/cosinus (par exemple, Sine(MT) et Sine(NT)), qui sont utilisés pour calculer la position fine à l'intérieur d'une période de pôle magnétique. Cette opération est réalisée grâce à la technique d'interpolation des signaux électriques.
    2. Résolution grossière : Les deux pistes ayant un nombre différent de pôles magnétiques, la différence de phase entre elles varie périodiquement au cours de leur rotation.
      • Au cours d'un cycle de rotation complet de 360°, la piste principale et la piste Nonius génèrent un déphasage total (ou différence de comptage) qui passe de 0° à 360°.
      • Ce déphasage unique peut servir de comptage de la période du pôle magnétique maître, utilisé pour distinguer la période du pôle magnétique maître dans laquelle le codeur se trouve actuellement.
  • Formule de calcul de la position absolue :
    Position absolue = Nombre de périodes du maître + Interpolation du maître

3.3 Types de codeurs absolus

  • Absolu monotour : Mesure l'angle absolu dans la plage 0°-360°, mais ne peut pas enregistrer le nombre de tours.
  • Absolu multitours : Sur la base du positionnement absolu monotour, un jeu d'engrenages ou un autre mécanisme de comptage est ajouté pour enregistrer le nombre de rotations, ce qui permet d'élargir la plage de positions absolues.

3.4 Applications industrielles

Les codeurs absolus sont le premier choix pour les systèmes d'asservissement à hautes performances. Le fait qu'ils n'aient pas besoin d'être orientés améliore considérablement l'efficacité et la sécurité de l'équipement :

  • Robotique et automatisation : Utilisés pour le contrôle précis de la position des articulations des robots et de la portée des bras.
  • Machines-outils à commande numérique : Retour de position précis pour la broche principale et les axes d'alimentation.
  • Machines lourdes : Grues, machines portuaires, etc., garantissant que l'information sur la position actuelle est conservée en cas de panne de courant.
  • Commutation du moteur synchrone à aimant permanent (PMSM) : Après la mise sous tension du variateur, la commutation électronique peut être effectuée directement à partir des informations de position absolue, ce qui permet un démarrage immédiat et en douceur du moteur.

3.5 Traitement du signal des codeurs absolus : Protocoles de communication série

Les codeurs absolus émettent directement des codes de position numériques ; le protocole de communication est donc au cœur du traitement du signal, garantissant la précision et les performances en temps réel de la transmission des données.

  • Protocoles typiques : BiSS-C et SSI
Protocole SSI (interface série synchrone) BiSS-C (série bidirectionnelle/synchrone)
Type de communication Communication série synchrone unidirectionnelle Communication série synchrone bidirectionnelle (la plus courante)
Principe Le contrôleur envoie un signal d'horloge et le codeur transmet de manière synchrone les données de position. Inclut la fonction unidirectionnelle de SSI, et ajoute un canal de retour pour lire et écrire les paramètres du codeur.
Caractéristiques Simple, stable, performance modérée en temps réel. Vitesse élevée, performances en temps réel élevées (latence de l'ordre de la nanoseconde), utilisé pour les systèmes d'asservissement à hautes performances.
Contenu des données Principalement des données de position. Données de position + Somme de contrôle (CRC) + Informations d'avertissement/de diagnostic.
  • Flux de traitement des signaux (en prenant le BiSS-C comme exemple)
    1. Génération d'horloge : Le servomoteur (contrôleur) génère un signal d'horloge à grande vitesse (généralement de quelques MHz à 10 MHz).
    2. Demande de données : Le contrôleur demande au codeur d'envoyer des données via le signal d'horloge.
    3. Transmission des données : Le codeur transmet de manière synchrone au contrôleur jusqu'à plusieurs dizaines de bits de code de position numérique, de somme de contrôle CRC et de bits d'état d'erreur.
    4. Vérification et analyse :
      • Vérification CRC : Le contrôleur effectue un contrôle de redondance cyclique sur les données reçues. Si la vérification échoue, les données sont considérées comme incorrectes, ce qui déclenche généralement une alarme ou utilise la position du cycle précédent.
      • Analyse : L'analyse du flux de données permet d'extraire des mots de position de haute précision, tels que 24 ou 26 bits.
  • Application des codeurs absolus dans l'asservissement

La caractéristique des codeurs absolus, qui ne nécessitent pas d'opération de positionnement, en fait le choix privilégié pour les systèmes d'asservissement à hautes performances :

  • Positionnement à la mise sous tension : Après la mise sous tension de l'asservissement, l'angle absolu du moteur peut être obtenu par une seule communication, ce qui évite de perdre du temps à effectuer un homing.
  • Commutation électronique : Pour les moteurs synchrones à aimant permanent (PMSM), la position initiale exacte du rotor doit être connue pour obtenir un couple de démarrage correct. Les codeurs absolus fournissent directement cette information, ce qui permet au variateur d'effectuer directement la commutation électronique et de démarrer le moteur immédiatement et en douceur. A l'inverse, les codeurs incrémentaux nécessitent d'abord un processus de "recherche du zéro" ou d'"identification de l'angle initial".

En résumé, le traitement du signal des codeurs incrémentaux est axé sur le comptage matériel et la multiplication logicielle, tandis que le traitement du signal des codeurs absolus est axé sur la communication série à grande vitesse et la vérification des données.


4. Comparaison sommaire : Codeurs incrémentaux et codeurs absolus

Caractéristiques Codeur incrémental Codeur incrémental avec index/marque de référence Codeur absolu
Sortie de position Nombre d'impulsions (position relative) Nombre d'impulsions (Position relative) Code numérique unique (position absolue)
Mise hors tension de la mémoire Non Non Oui
Opération de démarrage Doit rentrer (recherche de la phase Z) Doit rentrer (recherche de la phase Z) Aucun retour à l'origine n'est nécessaire
Type de signal Phases A/B (onde carrée / sinusoïdale) Phases A/B + phase Z Code multipiste / signal Nonius
Complexité et coût Faible Moyenne Élevée
Applications typiques Contrôle de la vitesse, convoyeurs Pilotage de machines-outils, imprimantes Articulations de robots, positionnement de haute précision

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *