Encodeur sur la table et non en bout de moteur ? Avantages?

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

bigeye

Compagnon
Bonjour à tous,

sur une motorisation à base de moteurs dc.
Normalement, la gestion de retour de position est donnée par un encodeur monté en bout d'arbre.
L'inconvénient, c'est que l'on ne gère pas les jeux réels de la table et de la chaine cinematique .
J'ai penser à mettre un encodeur linéaire qui remplacerait celui habituellement monté en bout d'arbre .
Il est évident que cet encodeur doit avoir une résolution 10x supérieure à la précision mini visée.Donc le millième de millimétre pour une précision d'usinage au centième vu la façon de gérer les moteurs.
Je ne pense pas utiliser les règles optiques vendues dans le commerce, je pense en faire à partir d'encodeur rotatif...

A votre avis, quelles sont les avantages et inconvénients que l'on peut avoir ?
Comment est gérer le déplacement sur les gros centres d'usinages ?
Je vois mal avoir seulement un codeur en bout d'arbre sur une fraiseuse de 3 à 4 m de table !

Merci

Stéphane
 
C

coredump

Compagnon
C'est possible, mais tu va te heurter a un probleme d'automatisme:
Tu ne connaitras pas la vitesse reelle de ton moteur, et seulement la position du systeme, ca va etre tres coton de gerer ca niveau boucle de retroaction.
Sans jeu (cad en bout d'arbre) la vitesse derive de la position, mais avec un jeu c'est une toute autre paire de manche.

L'ideal c'est deux boucles: une d'asservissement sur le moteur, et une sur la position du systeme, comme ca tu peux nettement plus facilement asservir le tout. Avec un pas a pas tu peux faire l'impasse du premier si tu admets etre dans un domaine ou tu ne perds pas de pas.
 
J

JKL

Compagnon
Coredump, je ne saisis pas la différence que tu fais entre les deux types de codeurs quant à l'information vitesse du moteur ?????
Pour moi soit on utilise des règles linéaires couteuses soit on utilise un dispositif du type crémaillère ( couteuse avec rattrapage de jeu ) pour retransformer le mouvement linéaire en mouvement rotatif. Mais par ailleurs et là je pense faire allusion au point soulevé par Coredump, s'il y a du jeu dans la chaine de transmission moteur-table, on va se heurter à un problème dans le cas de trajectoires courbes. En effet certains logiciels peuvent prendre en compte du jeu dans la noix/vis mais uniquement sur des trajectoires rectilignes.
A mon avis pour des CNC modestes ça ne vaut pas le coup ni financièrement ni en efficacité des asservissements. La solution la plus satisfaisante c'est une vis à billes avec deux écrous en précontrainte et une liaison par soufflet métallique entre le moteur/codeur et la vis à billes.
 
C

coredump

Compagnon
Comme tu l'as mentionne le probleme provient bien du jeu moteur/table, pas du type de codeur.
Si le moteur est du type servo, on ne peut pas l'asservir en vitesse en utilisant le capteur de position de la table, il faut qu'il soit en bout d'arbre pour que le cacul de derive (vitesse) soit correct (le jeu introduisant une non linearite).
Du coup l'asservissement en position devient un peu plus ardu qu'un simple PID (qui est loin d'etre simple lui meme).
 
M

MaX-MoD

Compagnon
Bien sûr qu'un codeur linéaire permettra d'asservir le servo. Du moment que l'interface (quadrature) soit compatible, aucun problème, si ce n'est le jeu et la rigidité de couplage moteur/vis à billes. Avec des coupleurs sans jeu assez rigides (métal), les éventuels problèmes de vibrations ne devraient pas avoir lieu.

Pour le système crémaillère, oubliez, les modèles de précision sont tellement chères qu'il vaut mieux acheter une vis à bille C1/C0 avec une douille double, directement à la sortie du servo.

Dès qu'on a du jeu ce que dit coredump est vrai, il faut deux boucles de commande pour avoir quelquechose d'utilisable. Sinon des vibrations assez fortes (et très mauvaises, voire destructrices pour les douilles à billes) apparaîtront à coup sûr.
 
V

vres

Compagnon
J'ai eu l'occasion de piloter des machines avec des codeurs linéaires, ça ne pose pas de problème particulier en déplacement mais le plus compliqué est de stabiliser a l'arrêt (pompage) si le jeu est important. Bien sur, dans le cas d'un codeur linéaire l'asservissement se fait sur la position réelle de la machine donc il n'y a pas de correction de jeu logicielle. La précision avec un codeur linéaire est dans tout les cas supérieure.
 
B

bigeye

Compagnon
Donc suivant les réponses, on peut !
Et suivant d'autres, on peut pas !
C'est pas évident à se faire une idée les gars :wink:
Je pense que çà doit se faire, car je le répète, sur un asservissement de plusieurs mètres, il serait impossible d'avoir une cote correcte avec juste le codeur en bout d'arbre moteur ...
Donc il y a obligatoirement une façon de gérer/recaler la position suivant les règles linéaires :?: :!:
 
V

vres

Compagnon
bigeye a dit:
Donc suivant les réponses, on peut !
Et suivant d'autres, on peut pas !
C'est pas évident à se faire une idée les gars :wink:
Je pense que çà doit se faire, car je le répète, sur un asservissement de plusieurs mètres, il serait impossible d'avoir une cote correcte avec juste le codeur en bout d'arbre moteur ...
Donc il y a obligatoirement une façon de gérer/recaler la position suivant les règles linéaires :?: :!:

Si tu fais ton entrainement avec un minimum de jeu, il n'y a aucun problème.
Bien sur il faut voir aussi la qualité de l'asservissement.
 
M

MaX-MoD

Compagnon
si tu as 0 jeu, le codeur en bout de moteur et le codeur linéaire, c'est équivalent.
Si ta as un jeu inférieur au 100e, pareil.
Au 10e (pour donner un ordre d'idée), il faudra peut-être prendre quelques précautions (baisser les paramètres P et I par exemple).

Si le jeu est très important, il faudra tellement baisser P et I pour éviter les oscillations qu'au final la précision sera médiocre...
 
J

JKL

Compagnon
Bigeye, je crois qu'il n'y a pas eu divergence de points de vue, juste des mises en garde. C'est clair que si tu as des sous, mets des codeurs linéaires mais sinon le codeur rotatif au bout du moteur avec une chaîne de transmission de qualité peut donner de bons résultats car certains logiciels permettent de rentrer et d'exploiter un tableau des corrections des non linéarités des vis à billes (encore faut-il les mesurer : au laser interférométrique ???).
C'est une rangaine de dire qu'un ensemble a la qualité de son élément le plus faible, donc il faut être cohérent car l'escalade des prix peut devenir vertigineuse.
 
J

JKL

Compagnon
Pour une CNC avec des courses importantes je monterais une motorisation à base d'une crémaillère de bonne à très bonne qualité ( Prud'Homme transmissions ) avec un servomoteur. Le pignon moteur engrènerait selon les normes de la mécanique et non pas à fond de denture comme ont fait certains, et le codeur rotatif engrènerait sur la même crémaillère avec un pignon à rattrapage de jeu. La boucle d'asservissement je pense, pourrait encaisser le léger jeu de denture même si ça se traduit par une légère vibration due à l'incertitude de position. La difficulté des crémaillères c'est de les garder propres. Mais devoir faire la motorisation avec une vis à billes et la lecture de la position par un codeur rotatif engrènant sur une crémaillère me semble peu réaliste dans le domaine des CNC amateurs. Pour les pro c'est leurs oignons.
 
B

bigeye

Compagnon
Ok :)
J'avais penser à çà pour en fait compenser de façon automatique les jeux de ma fraiseuse d'origine !
Mais je vois que çà me parait impossible à faire sans changer les vis trapezoidales !
Bon, tant pis, je verrais autrement !
Mais le cout des vis à billes est très important et ca ne rentre pas vraiment dans mon budget :wink:
 
M

Mach21

Nouveau
Bonjour,

Coder et asservir au plus pres de la piece (donc la table avec un codeur lineaire) est la voie de l'excellence. Ca n'a rien de compliqué mais ca coute en general un bras , voire deux quand on parle du micron... Neanmoins , il existe des petits codeurs à cable economiques super simples à integrer avec une reso de 1024 points par tour. Ca peut convenir , il faut creuser un peu les calculs...

@+
 
J

jcb

Compagnon
Bonjour.
La mise en place d'un codeur sur la table permet théoriquement la meilleure précision. Dans la pratique, les jeux dans le mouvement doivent etre nuls pour ne pas avoir de phénomène d'oscillations du systeme (instabilité). il n'y a pas que le jeu qui est important, dans la vraie vie , même s'il n'y a pas de jeu, il y a de l'élasticité dans les liaisons qui intervient dans les phases d'acceleration, de variation des efforts de coupe etc..., celle-ci crée également de l'instabilité. Si l'on supprime cette instabilité , comme l'a dit Max-Mod, on perd en précision et on s'éloigne de nouveau de l'objectif recherché.
La solution se trouve dans la double boucle, qui assure la précision et la stabilité du systeme. Un codeur est directement fixé au moteur et une regle d'encodage sur la table .Les seules cartes que je connaisse(mais il y en a surement d'autres) qui gèrent des asservissements de ce genre sont fabriquées par "Galil" (http://www.galilmc.com),elles coutent relativement cher.
Bon WE!
 
V

vres

Compagnon
Une des méthodes très simple est de réduire l'intégrale automatiquement a vitesse zéro. La commande en mode courant est plus facile a maîtriser car avec une consigne vitesse il est très difficile de stabiliser la vitesse a zéro.
Enfin chacun fait sa méthode. Avec des système classique comme le codeur au cul du moteur si on pouvait vérifier la précision du positionnement on aurai de grosses surprises.
Peut-être un système intéressant : Ici
EDIT: un autre produit le fonctionnement et identique au PAC.
 

Sujets similaires

MegaHertz
Réponses
15
Affichages
1 410
Dudulle
Dudulle
A
Réponses
22
Affichages
14 134
Anagyre
A
misty soul
Réponses
7
Affichages
2 810
rabotnuc
R
G
Réponses
30
Affichages
6 156
GustaveCrampon
G
P
Réponses
10
Affichages
3 188
jbf
Haut