controle de position avec dro readout

  • Auteur de la discussion MR VECTRA
  • Date de début
M

MR VECTRA

Compagnon
bonjour à tous

ma question du jour , est il vraimentjudicieux d'utiliser une dro , readout ,avec encodeur lineaire
comme controleur cnc
l'avantage c'est aussi de pouvoir utiliser une cnc fraisage en manuelle ,d'une part,
d'autre part; je pense qu'il faudrait une carte contrôleur assez spécifique adapté au type d'encodeurs des dro , et peut fonctionner et corriger ,les 03 axes en interpolation
qui va corriger en temps réel la position relative .
la position absolue étant celle donné par l'encodeur lineaire ,donc corriger les éventuels défauts mécanique , et transmissions
J'avais posé cette question et soulever ce problème depuis 2010 date de mon inscription au forum , maintenant j'y retourne car je veux vraiement utiliser cette solution pour le fraisage ,pour la découpe plasma et laser je ne pense pas trés utile car les servos moteurs font trés bien le boulôt

A+
 
V

vres

Compagnon
Bonjour
Le gros problème ce n'est pas le mode de lecture de la position mais l'entrainement par vis trapézoïdales avec beaucoup de jeu. Impossible d'avoir un positionnement stable (pompage).
 
M

MR VECTRA

Compagnon
salut cncserv , je te remercie pour ta réponse , seulement laisse moi te dire que bien sur ,il ya des vis à bille et non trapézoidales
en précision c7 ,le vrai problème , à mon avis ,résolu en outre par les cartes cnc type fagor , et autres systemes plc et conversationnels
les vrais questions ,à mon avis c'est ;
-la lecture et conversion ,des données lineaires ,en données polaires / à l'axe moteur donc la conversion , lineaire /sin*cos ?
-est ce la carte controleur ,qui gère la conversion et le retour codeur ou bien les drivers des moteurs pas à pas?
dans ce cas , les drivers des moteurs easy servos pourront faire l'affaire ,car ils ont des entrées codeurs tout comme les drivers servos
reste aussi la compatibilité au niveau , tension/ courant des codeurs lineaire des readout / aux entrées codeurs se trouvant soit sur la carte controleur ou sur les drivers ,donc soit ttl 5v OU cmos

pour mes lectures sur le net côté cnc zone , j'ai vu que c'était possible ; mais bien trop compliquer , ou bien du domaine d'un vrai cncisite ,avec une expérience éprouvrée de la question
c'est bien difficile , de rendre possible des solutions pro , pour des amateurs ou utilisateurs comme moi
tout en évitant bien sur le surcoût d'une carte siemens ou fagor ,mais il n'est jamais interdit de réver
 
G

gaston48

Compagnon
Bonjour Mister Vectra,
tu as loupé cette discussion:
https://www.usinages.com/threads/premiers-pas-avec-linuxcnc-et-regle-de-mesure.100901/
CNCSERV est raison, si tu fais une asservissement avec action proportionnelle, le P de PID
plus un transmission avec du jeux, tu risques le pompage, une oscillation autour du point de
consigne. Mais pas forcement tout dépend du gain et donc de la précision instantanée exigée.
Dans le sujet précédent bruno26 travaille uniquement, (pour du positionnement) avec de l'intégrale I
il a une vis trapézo avec du backlach.
Dommage qu'il n'ait pas fait d'essais avec une PID complète car avec linuxcnc ou machinekit,
on peut piloter le drive PAP en mode vitesse.
Avec cette association pilotage mode vitesse, driver en microstepping et moteur Pas à pas , tu te
retrouves quasiment dans la même configuration qu'un asservissement avec moteur DC
et son asservissement vitesse local par tachymétrie. Ici le pas à pas est naturellement asservi en
vitesse car c'est un moteur synchrone.
 
V

vres

Compagnon
Je n'avais pas vu qu'il était question de moteur Pas à Pas et de vis à bille :smt017
Les drivers EasyServo ne fonctionneront pas il sont prévu pour un usage bien spécifique.
Je n'ai pas suivi la discussion que cite Gaston, il y a une autre discussion avec acquisition de codeur sur Arduino, on pourrait penser à un système avec une entrée Step/Dir qui viens du pilotage, une entrée codeur et un sortie Step/Dir corrigée. Il y a un peu de développement on ne peut pas faire n'importe quoi à un moteur Pas à Pas, il faut respecter les rampes, comme le rappelle Gaston le moteur Pas à Pas est un moteur synchrone.
C'est loin d'être impossible.
Je ne sais pas si c'est ce que tu veux.
 
M

MR VECTRA

Compagnon
dans tous les cas on sera sur des moteurs synchrones que ce soit des pas à pas ou brushless , j'ai vu la discussion trés enrichissante
sur le systeme linux MESA , vis trapezoidale ou à billes les deux ont du jeu , surtout s'il s'agit de vis à bille classique non de précision
donc les deux ont du blacklach , ça j'en suis sur car j'ai été confronté tout comme vous à ce problème
donc c'est un systeme non ideal ou il existe une perte de pas s'il s'agit de moteur pas à pas et ou de blacklash ,à l'inversion de sens de rotation
vis trapezo ou à bille , donc sur un parcours donné , sur un axe , la distance réelle est différente de la consigne ,
la consigne , c'est celle programmé donc la position ideale à atteindre avec les corrections pid ,conséquentes
je prends l'exemple de pcs à fraiser de manière trés simple ,faire une rainure de clavette , ou un trou oblong chose qu'on fait continuellement en manuel , car trop de perte de temps avec une cnc
j'ai pensé qu'on pouvait utilser un readout dro , j'en ai une à l'atelier , mais ,seulement en parcours manuel , l'automatisme vient de la machine
j'ai pensé que si je donnais en consigne pour une rainure par exemple en
X 60mm, y8mm,z5mm , sur une dro , un systeme donné autre que mesa trop compliquer pour m'y mettre , pouvait gérer les 03 axes avec correction , si on suppose bien sur que nous sommes en présences de problèmes de transmissions , jeu machine ,non rattrapable mécaniquement ,
mais le résultat , que je souhaite obtenir est clair , reste à trouver la carte qui va pouvoir traiter ces données et apporter les corrections , pour qu'au final , la rainure aura les dimensions requises
mais c'est bien le but , c'est de travailler , avec une vieille fraisseuse avec un peu de jeu , des moteurs pas à pas , qui peuvent perdre des pas , des vis à bille ou trapezo
avec un précision commune , car la gamme c5 , est inaccessible du point de vue prix

ce systeme pourra aussi convenir sur les trés longues distances ou les crémailleres n'ont vraiment pas une bonne précison .
je cherche une carte controleur capable ;de lire et corriger les déplacements défaillants pour qu'au final , 500mm parcourus sur un axe , on obtiens 500mm sur la mesure de la pcs
je cherche des solutions , toutes pr^tes pour être franc ou je n'aurais rien à monter ni à programmer, comme les systemes à bases d'arduino , et autres , pic ,
ou bien , carremment rester sur du plc conversationnel ,avec affichage de tous les axes en déplacements , j'ai vu des produits chinois , mais je n'ai jamais essayé ,
je crois avoir lu une fois que vince utilisait des cartes controleur capable de gérer les codeurs lineaires ?????
exemple de chinois https://www.aliexpress.com/item/Fre...32260615524.html?spm=2114.01010208.0.0.H4Gz79
 
Dernière édition:
J

Julien

Ouvrier
J'avais aussi pensé à cela depuis un moment: la DRO donne une position précise mais qui n'est pas utilisée... domage.

Pour faire un montage relativement simple j'avais pensé à un système de ce style:

En plus de l'arduino classique on en rajouterai un qui comparerait toutes les millisecondes la position théorique de GRBL avec la position "réelle" donnée par la DRO. La DRO serait assez facile à lire puisque les regles envoient des implusions en 5V, comme ce que l'arduino envoie aux drivers.

Partant de la, si on constate un écart on corrigerait de 1 pas (pas plus) toutes les millisecondes. Ce qui évite d'avoir à gérer les rampes d'accélération, régulation PID et autres choses complexes.

La correction se ferait en envoyant un signal PULS au driver an parallele de l'arduino de base; avec le risque d'envoyer une impulsion en même temps, donc qui ne serait pas prise en compte. Mais elle le sera surement à la prochaine milliseconde.

Ce n'est pas une solution très "pro" dans le principe, mais pour corriger de petits écarts de l'ordre du centième, ou des pertes de pas épisodiques... pourquoi pas?
 
V

vres

Compagnon
Vous croyez qu'en envoyant une impulsions à la volée vous pouvez corriger la position du moteur en temps réel ?
Je ne pense pas, avec l'inertie il va y avoir un retard et le résultat va être une oscillation du moteur. En gros vous ajoutez un élastique. Jai bien peur que la correction en temps réel demande effectivement quelque chose de plus compliqué.
je ne parle pas des inversions de rotations ou le rattrape pourrait augmenter encore l'erreur de position.
 
Dernière édition:
M

MR VECTRA

Compagnon
j'imagine ,que ça demanderai une redondance au niveau encodeurs ,cad que les moteurs seraient munis de codeurs incrémentaux et que les encodeurs dro corrigeraient les erreurs éventuelles provoquées ,j'ai du lire , qu'un américain avait trouvé la bonne config cnc pour avoir une précision de positionnement ,en fait mon objectif c'est utiliser une fraiseuse muni de readout dro , en semi automatique , pouvant générer des séquences ,trois axes , sans pour autant avoir à dessiner la pcs à usiner , c'est franchement une solution trés rapide en limitant le max la manipulation des verniers
 
J

Julien

Ouvrier
Ok pour la correction à la volée... trop simpliste pour donner un résultat correct.

Autre idée qui m'est venue en voyant ce type de driver "boucle fermée": https://www.omc-stepperonline.com/s...24~80vdc-for-nema-34-stepper-motor-cl86t.html
Comment fonctionne il ?
Si, au lieu de mettre un codeur sur le moteur on lui envoie les infos de la règle de la DRO? ça pourrait marche dans le principe? Avec certes un risque d'instabilité/pompage si la vis a qqes centièmes de jeu.
 
M

MR VECTRA

Compagnon
ben oui julien , la position ,lineaire est envoyé au driver du moteur ,la question est ; par quel processus , un codeur lineaire est il convertie en codeur incrémental , rotatif?
sur les vrais cnc ,la partie codeurs est gérée par la plc ou commande numérique et non pas par le driver du moteur , je pense que ce problème a du être solutionner , car l'interet de travailler en semi auto ou semi cnc ,saute au yeux
alors l'interet de la chose, c'est de compter sur l'encodeur lineaire ,beaucoup plus fiable car c'est la mesure reelle qui est prise en compte, y compris le manque de précision, niveau vis à bille , trapezo ....
avec des pas à pas ,quand ils perdent du pas comment dire, c'est là ou se pose le problème , est ce qu'au bout compte, on aura la bonne mesure ?
Je pense que c'est assez compliqué,à mettre en oeuvre mais pas impossible .
Déja en utilisant des servos brushless on résoud d'office , les sauts de pas des steepers
quand au fait, de ne pas utiliser de shémas , mais en programmant ds séquences d'usinage sur les 03 axes , ça .....:roll:
de bonnes idées toutefois qui s"offrent à être misent en pratique
 
Dernière édition:
M

MR VECTRA

Compagnon
et quand je dis qu'on doit approndir la question , ...
 
M

MR VECTRA

Compagnon
beaucoup de lecture sur les sites anglais et pro que j'essaye tant bien que mal à éplucher, bien que mon anglais soit correct ,j'ai du mal à suivre les pro de l'encodage normal je suis brut mecano dans la masse, built in metal :-D
 
J

Julien

Ouvrier
ben oui julien , la position ,lineaire est envoyé au driver du moteur ,la question est ; par quel processus , un codeur lineaire est il convertie en codeur incrémental , rotatif?
sur les vrais cnc ,la partie codeurs est gérée par la plc ou commande numérique et non pas par le driver du moteur , je pense que ce problème a du être solutionner , car l'interet de travailler en semi auto ou semi cnc ,saute au yeux

La règle de la DRO est un codeur incrémental, qui plus est qui fonctionne en 5V. Donc il n'y aurait pas besoin de convertir quoi que ce soit, les 4 fils de la règle peuvent se brancher directement sur les entrées du driver EB+ EB- EA+ EA-
J'ai commandé ce fameux driver pour faire un essai, au pire il me servira de driver ordinaire.

Sur les "vraies" CN qui doivent être précises les règles en verre sont souvent pressurisées et absolues (pour ne pas avoir besoin de chercher les origines machine). Et le signal est effectivement envoyé à la CN (et pas au variateur du servomoteur) qui, elle, s'occupe de faire une vraie régulation en position, vitesse et accélération. Et ça je doute que le driver "closed loop" le fasse vraiment. Il fait surement une régulation basique en position...

Par contre je vois pas trop le rapport avec le fait de travailler en "semi auto" ou "semi CNC"

alors l'interet de la chose, c'est de compter sur l'encodeur lineaire ,beaucoup plus fiable car c'est la mesure reelle qui est prise en compte, y compris le manque de précision, niveau vis à bille , trapezo ....
avec des pas à pas ,quand ils perdent du pas comment dire, c'est là ou se pose le problème , est ce qu'au bout compte, on aura la bonne mesure ?
Je pense que c'est assez compliqué,à mettre en oeuvre mais pas impossible .

Oui c'est bien là l’intérêt. On a beau dimensionner les pap généreusement, il m'arrive parfois de perdre des pas, par exemple quand la table est complètement en porte à faux d'un coté, avec le gros diviseur dessus qui est presque aussi lourd que moi, avec les lardons un peut trop serré quand on travaille près des fins de course, la ou les glissières ne sont pas beaucoup usées...

Je zyeute aussi les sites anglais, y a des bonnes infos mais comme dis Vectra faut se prendre le temps pour comprendre...
 
M

MR VECTRA

Compagnon
tout à fait d'accord avec toi il nous faudrait beaucoup de lecture pour commencer à comprendre,à priori , investir dans des moteurs d'axes servos ,j'en ai déja installé sur des cnc lasers , pour le prix c'est plus cher que des hybrides mais niveau précision ,ya pas photos bien que je n'ai jamais travaillé avec des closed-loop steepers (hybrides ) , certains disent qu'ils n'aiment pas trop le changement rapide du sens de rotation
trés peu de retour sur usinage.com pour ce type de moteurs ,trop peu on vraiment essayé
mon idée c'est de faire du fraisage cnc à la volé , cad , t'as la visus ,ton palpeur d'outils ,la position de la pcs sur la table, intialisation des axes ;les opérations habituelles de fraisag , manque la cnc . la carte controleur serait bien sur necessaire pour programmer , des séquences d'usinage sur la pcs , sans pour autant saisir tout un plan en 03 d , sans grand interet pour moi , car ma machine sert essentiellement à réparer modifier ,fabriquer des pcs unitaires ,en acier essentiellement ,des poinçons matrices ,car ma vrai spécialité c'est la construction metallique inox
pour les règles lineaires ,soit on utilise la visu que est vendu avec ,soit ,une visu des axes ,qu'intègre une carte de controle cnc ,d'office
cela pour l'usinage .
autre chose , il faut vraiment passer par des éssaies de positionnement pour confirmer le comportement des drivers munis d'entrées codeurs
 
Haut