Codeur incrémental

Partie du forum pour tout ce qui concerne les mesures, donc les capteurs analogiques, tout ou rien, détecteurs, dans l'industrie. Forum, conseil, astuce et entraide sur les organes de mesure industriels .
Répondre
jjg
Apprend le binaire
Apprend le binaire
Messages : 10
Enregistré le : 30 oct. 2016, 10:52
Localisation : Nouvelle calédonie

Codeur incrémental

Message par jjg » 25 oct. 2019, 00:12

On lit partout dans littérature que l'inconvénient d'un codeur incrémental est que si on coupe son alimentation, le codeur perd sa mesure et nécessite une remise à zéro car il ne permet pas de déterminer sa position absolue.Hors, j'ai un système didactisé composé d'un chariot qui se déplace en translation grâce à une vis avec codeur incrémental à son extrémité et un afficheur de sa position en mm. Lorsque je coupe l'alimentation, quelque soit la position du chariot, l'afficheur m'indique bien sa position exacte lors de la remise sous tension. Il n'y a pas de décalage. Je ne peux pas expliquer le problème cité ci-dessus avec un exemple concret. J'aimerai comprendre comment la carte de comptage (ou autre ...) arrive à retrouver la position exacte malgré la particularité du codeur incrémental.
Rien d'urgent mais j'aimerai comprendre...(j'ai cherché sur le net mais pas trouvé réponse précise à mes interrogations)
Merci.

Avatar de l’utilisateur
maxpeigne
Créateur de langage
Créateur de langage
Messages : 550
Enregistré le : 11 oct. 2015, 17:31
Localisation : Nord pas de calais

Re: Codeur incrémental

Message par maxpeigne » 25 oct. 2019, 05:35

Bonjour,

Avec un codeur incrémental ta "carte" compte des impulsions. A chaque impulsion, on sait que ton mobile a avancé d'une certaine distance.
Si ta carte est un automate (ou autre), lorsque tu coupe l'alimentation de ton armoire, il est possible que ta CPU se rappelle combien d'impulsion elle a comptée. Donc elle se rappel la position de ton mobile.

Le danger avec un incrémental, c'est que si tu coupes l'armoire, tu déplaces ton mobile à la main, tu remets l'armoire sous tension; l'automate peut imaginer ton mobile à une position à laquelle il n'est pas! D'ou l’intérêt de forcer la machine a se référencer!

Tu as 2 types de codeur absolue: les monotour et multitour.
Les monotours tu connais la position exacte à 1 tour pret (on appel la distance d'un tour le modulo).
Les multitour, tu as la positions exacte sur plusieurs tours de codeur (imagine un système de réducteur qui fait que pour que tes disques de codeur fassent 1 tour, il faut que ton arbre codeur fasse 10 tours).
Pour mon explication, je vais parler de cycle codeur: pour un monotour, un cycle est un tour d'arbre codeur, pour un multitour un cycle est 10 tour codeur (si je reprends l'exemple ci dessus).
Donc pour un codeur absolue tu as 2 cas:
  • Soit ton amplitude de déplacement ne dépasse pas 1 cycle codeur. Alors si ton armoire est coupée, tu bouges ton mobile, tu remets sous tension: la machine sait ou ton mobile est.
  • Soit ton amplitude de déplacement dépasse 1 cycle codeur. Alors a chaque dépassement de cycle codeur, l'automate retient +1 cycle (le modulo) et ajoute cette distance à la valeur en cours. La il y a 2 solutions:
    • Tu coupes ton armoire, tu bouges un petit peu ton mobile, tu remets sous tension. Le mobile sait ou il est (si tu n'étais pas juste sur le point de passer un cycle codeur, sinon tu passes dans le cas ci dessous).
    • Tu coupes ton armoire, tu bouges beaucoup ton mobile, tu remets sous tension. Comme pour le codeur incrémentale, ta position est faussée. Ton automate pense avec fait 3 tours codeur alors que tu en a fait 5. Il ajoute donc 3 valeurs de modulo alors qu'en réalité il en est à 5
En gros avec les technologies actuelles, tant que rien de bouge sur ta machine, tu ne fait plus beaucoup de prise de référence.
Par contre s'il y a une opération de maintenance, ou si mécaniquement il y a un décalage (glissement avec le temps, courroies qui se détendent...), alors il faut refaire une prise de référence (et dire au mécano de retendre la courroie!).

Voila, je laisse les collègues me corriger ou apporter d'autres précision!
http://automacile.fr - Site et tutoriels sur l'arduino.

Avatar de l’utilisateur
sinced
Créateur de langage
Créateur de langage
Messages : 641
Enregistré le : 13 oct. 2015, 16:56

Re: Codeur incrémental

Message par sinced » 25 oct. 2019, 07:55

Merci Maxpeigne pour cette clarté d'explications.
En gros je dirais que si tu utilises un automate et que la mémoire est initialisée à un moment donné (genre perte de programme plus chargement) ou alors tu remplaces l'encodeur tu n'as pas d'autres choix que de refaire cette prise de référence à cause de la position perdue.

Répondre