Codeur incrémental : Principe de fonctionnement et application

Principe opérationnel :

Le codeur rotatif incrémental fonctionne en traduisant la corrélation de temps et de phase de son disque à codage angulaire par l'intermédiaire de deux composants récepteurs photosensibles internes. Cette translation facilite la détermination des modifications de déplacement angulaire, qui se traduisent par des changements positifs (incrémentaux) ou négatifs (décrémentaux).

Incremental-encoder-2

Mécanisme interne (détermination de la direction) :

Le codeur de phase AB contient deux ensembles de photocoupleurs qui génèrent deux séquences d'impulsions distinctes avec une disparité de phase de 90°. Les relations d'avance et de retard de la séquence d'impulsions s'inversent lorsque le codeur subit une rotation vers l'avant ou vers l'arrière.

Dans le contexte de la rotation avant, la polarité de l'impulsion de la phase A contraste avec la polarité de l'impulsion de la phase B, précisément sur le front de montée de l'impulsion de la phase B. En rotation inverse, ce contraste de polarité reste évident. En rotation inverse, ce contraste de polarité reste évident. Ainsi, l'utilisation du codeur de phase AB permet à l'automate programmable (API) de déterminer facilement le sens de rotation de l'arbre. Voir le schéma suivant :

Le tableau ci-dessus permet de tirer les conclusions suivantes :

Les codes de phase AB diffèrent selon qu'il s'agit d'une rotation avant ou d'une rotation arrière. La connaissance des codes de phase AB actuels et suivants permet de déterminer le sens de rotation du codeur.

Calcul de la distance :

Un codeur acquis présente des paramètres spécifiques : la résolution du codeur (impulsions par tour) et la circonférence (circonférence d'une seule rotation).

La distance associée à une impulsion = résolution du codeur / circonférence.

Par conséquent, la distance de rotation = nombre d'impulsions * résolution du codeur / circonférence.

Pour améliorer la précision et minimiser l'erreur, il est plausible d'utiliser une impulsion de longueur fixe :

Impulsions nécessaires pour une longueur fixe = longueur fixe * circonférence / résolution du codeur.

Approche de la mise en œuvre (programmation STM32) :

Ce concept de mise en œuvre nécessite une certaine familiarité avec les interruptions externes du STM32 (interruption sur front montant ou descendant).

1. Une interruption externe est utilisée pour capturer le front montant (ou descendant) de la phase A ou B. Cette action déclenche une interruption, ce qui entraîne l'entrée dans une routine de service d'interruption.

2. Le code de la routine de service d'interruption accomplit les tâches suivantes : déterminer le niveau de la phase B ou A (utilisé pour déterminer la rotation avant ou arrière).

Exemple illustratif :

Dans le cadre de cet exemple, une interruption capture le front montant de la phase A.

Lors de la capture du front montant de la phase A, la polarité de la phase B est évaluée (voir diagramme).

Une polarité faible dans la phase B signifie une rotation vers l'avant (dans le sens des aiguilles d'une montre), tandis qu'une polarité élevée suggère une rotation inverse (dans le sens contraire des aiguilles d'une montre).

Après la détermination de la direction, un ajustement incrémentiel est appliqué à la formule d'impulsion correspondante, ce qui permet ensuite le calcul de la distance.

Pour le calcul de la vitesse, il est recommandé d'inclure une minuterie.

Cette approche sophistiquée et complète garantit une mesure et une analyse précises des caractéristiques de rotation du codeur incrémental, ce qui permet une surveillance et un contrôle précis du mouvement.

Article précédent
Découvrir la puissance des boîtiers combinés PV USFULL : Un voyage en République dominicaine
Article suivant
Quatre modes de contrôle de la conversion de fréquence

Produits apparentés

fr_FRFrench