Augmenter la résolution d'un codeur de position

  • Auteur de la discussion biduleur34
  • Date de début
B

biduleur34

Compagnon
Bonjour, je souhaite augmenter la résolution d'un codeur , et pour cela au lieu de le mettre au cul du moteur CC, je souhaite effectué une démultiplication x10 et le mettre en sortie de l'arbre moteur.

ce codeur servira également pour l'asservissement PID de position du moteur.

le codeur est un 5000ppr et je veut le passer en 50000ppr soit 200000 impulsions par tour moteur en quadrature.
voyez vous un problème à cela ?

merci
 
O

osiver

Compagnon
La question est de savoir quel est le but de cette augmentation de résolution.
Avec 200000 I/t, il y a le risque que les jeux et vibrations dégradent totalement la précision :???:
 
B

biduleur34

Compagnon
la vitesse de rotation du moteur sera assez lente 10tr/min max, contact sans jeu entre les deux arbres.
 
S

stanloc

Compagnon
Je ne suis pas sûr de bien comprendre. En effet je comprends que tu veux déplacer le codeur de là où il est c'est à dire accouplé directement à l'axe du moteur, tu veux le mettre accouplé à l'axe de sortie d'un réducteur. Si c'est cela tu vas faire exactement l'inverse de ce que tu souhaites, je crois.
Si l'axe qui t'intéresse de coder est comme je le pense, l'axe de sortie du réducteur c'est en laissant le codeur au cul du moteur que tu auras 200 000 i/tr de l'axe de sortie du réducteur.
Stan
 
B

biduleur34

Compagnon
non, ce n'est pas tout a fait ce que je veut faire, je ne souhaite pas de réducteur en sortie moteur car mon couple est suffisant, mais je souhaite augmenté l'arbre de sortie moteur d'un facteur 10 pour entrainer seulement un codeur.

ce qui m' importe c'est de connaitre la position de l'arbre de sortie moteur, sans aucun jeu, ce qui n'est pas facile a obtenir avec un reducteur.

merci
 
Dernière édition:
G

gaston48

Compagnon
Bonjour,
Tu n'auras pas de problème de bande passante en fréquence, sachant la vitesse de ton moteur.
En revanche il faut, je pense, te préoccuper de la résolution, de la discrétisation, de la commande analogique du moteur.
On a toujours à faire à l'équivalent d'un DAC, si l'incrément élémentaire de tension n'est pas assez fin par rapport
à la résolution du codeur, tu vas avoir des déplacements par à coup et des difficultés à monter le gain proportionnel.
A savoir aussi que des DAC, tu en as partout, jusqu'au PWM de l'étage mosfet du drive.
Faut voir un peu comment et avec quelle résolution sont commandé des "moteurs couples" par exemple
qui travaille sans commutation de bobine, avec une amplitude limitée, comme un galva.
 
S

stanloc

Compagnon
je souhaite effectué une démultiplication x10 et le mettre en sortie de l'arbre moteur.
Il fallait alors parler non pas de démultiplication mais de multiplication.
Il faut que ce multiplicateur mécanique soit quasi parfait avec aucun jeu en particulier sinon ton nombre d'impulsions par tour ne sera pas constant au rythme des imperfections du multiplicateur.
Il y a des solutions électroniques d'ailleurs qui méritent d'être étudiées pour savoir si on n'a pas au total avantage à les utiliser. Chaque impulsion du codeur déclenche un train d'impulsions. J'ai eu utilisé un tel dispositif autrefois.
Stan
 
S

saico

Apprenti
Bonjour,

Il me semble que cette solution est théoriquement juste, tu aura bien une meilleur résolution de ton codeur mais dans la pratique ça devient très vite problématique car il te faudra un multiplicateur (n’en pas un réducteur) d’un rapport non négligeable quand même ( x10 ) avec un jeu angulaire de moins de 0.0018° environ et ça c’est pas gagné de point de vue prix.

Hormis les problèmes électriques et électroniques déjà mentionnés, un autre petit problème se posera, même occasionnellement, c’est en cas de dépassement de la vitesse de rotation maximale du codeur et celle de l’arbre de sortie du multiplicateur lui-même, car j’imagine que ton moteur à courant continu a une vitesse nominale beaucoup plus importante que 10 tour/min, et cela risque de détruire le codeur ou le multiplicateur en cas de mauvaise manipulation en donnant de consigne de vitesse élevée ( 1000 t/min ou plus ) ou tout simplement pendant le réglage des paramètres PID de la boucle d’asservissement.
 
B

biduleur34

Compagnon
Bonjour,

Hormis les problèmes électriques et électroniques déjà mentionnés, un autre petit problème se posera, même occasionnellement, c’est en cas de dépassement de la vitesse de rotation maximale du codeur et celle de l’arbre de sortie du multiplicateur lui-même, car j’imagine que ton moteur à courant continu a une vitesse nominale beaucoup plus importante que 10 tour/min, et cela risque de détruire le codeur ou le multiplicateur en cas de mauvaise manipulation en donnant de consigne de vitesse élevée ( 1000 t/min ou plus ) ou tout simplement pendant le réglage des paramètres PID de la boucle d’asservissement.

effectivement cette remarque est bien un problème.

je vais cherché une autre solution, comme celle que stanloc me propose.

mais je me demande bien comment ça fonctionne ...

merci
 
Dernière édition:
S

saico

Apprenti
Tu devrais avoir le même résultat espéré en utilisant un bon réducteur 1 :10, en laissant le même codeur sur le moteur, et en accouplant ta charge à la sortie de ton réducteur, de cette façon tu aura une meilleur résolution comme tu l’espère, tu n’aura plus de problème de sécurité ni de résolution, car tu travaillera dans une plage déjà prise en charge par ton électronique actuelle ( moteur à 100 tour/min ). Reste à trouver un bon réducteur de précision, et vérifier si ton électronique supportera bien des signaux codeur d’une fréquence de 2MHz minimum !
 
S

saico

Apprenti
Oups , je me rattrape, 0.5Mhz car c'est bien un décodage x4. Donc ce n'est pas vraiment très problématique.
 
O

osiver

Compagnon
Je crois qu'il y a malentendu. Est-ce que vous parlez de codeur incrémental = génère des impulsions ou d'un codeur absolu = génère une position ??
 
C

coredump

Compagnon
je n'arrive pas à comprendre comment cet appareil peu deviné une position a partir du front de l'entré A par exemple..
http://www.motrona.eu/PDF/Fm260_f.pdf
???? merci

Il ne peut pas, la réponse est dans l'oscillogramme montré: a chaque impulsion A il génère un nombre a/b d'impulsion. Il n'y a pas de corrélation temporelle mais juste du nombre d'impulsion.
Donc aucune amélioration de la résolution. Pour ça il faut une autre technologie.
 
G

gaston48

Compagnon
je n'arrive pas à comprendre comment
C'est intéressant ce que tu as trouvé, mais pratiquement tu envoies des salves d'impulsions à partir
d'un front montant puis avec un temps mort. Ton moteur va avancer par à coup.
Je suis confronté à ce genre de problème dans ma boite de vitesse électronique sous linuxcnc .
Ce genre de multiplication se paramètre très bien, mais il faut supposer que le
déplacement souhaité soit continu et régulier pour se permettre un filtrage passe bas des salves
ce qui est mon cas.

les seul multiplicateurs réguliers travaillent à une bande de fréquence limité, car ils sont à base
de VCO.
Ta fréquence de base est filtré pass-bas, la tension résultante pilote un oscillateur variable piloté en tension ... que l'on divise (ça c'est facile) et on reboucle avec une PLL (asservissement de phase)


multipli.jpg
 
Dernière édition:
S

stanloc

Compagnon
Ma proposition de multiplier les impulsions par un circuit électronique est hors sujet.
Stan
 

Sujets similaires

F
Réponses
6
Affichages
25 594
fraiddy
F
F
Réponses
62
Affichages
3 402
clara03
clara03
N
Réponses
3
Affichages
1 567
icanbeafrog
I
Moi33
Réponses
3
Affichages
47 955
speedjf37
S
V
Réponses
3
Affichages
923
vibram
V
2
Réponses
27
Affichages
898
jean-jacques
J
B
Réponses
39
Affichages
8 014
benbo60
B
Haut