Re: Maurice
Posté : 14 déc. 2018, 07:48
Le drive sera vraisemblablement configuré en "torque mode" ou "velocity mode".
LinuxCNC fait 2 choses:
1/ calculer une trajectoire (position+vitesse) à partir de la séquence GCODE, avec le "trajectory planner" (TP)
Il a été considérablement amélioré il y a quelques années : https://forum.linuxcnc.org/forum/10-adv ... ams-wanted
Pour un CU, le plus important c'est d'abord la trajectoire, puis la vitesse.
L'ancien TP était un peu simpliste et il y avait pas mal de séquences freinage/accélération superflues.
Ca venait de la stratégie pour prendre en compte les mouvements futurs.
Exemple, avec la séquence
G1 X10
G1 X20
G1 X30
Un TP "bête" va provoquer un arrêt entre chaque ligne, car la machine va toujours chercher à pouvoir s'arrêter sur la position cible.
Dans LCNC il ont ajouté du "look ahead" pour améliorer ça, et éviter de freiner inutilement.
Mais ça ne suffisait pas toujours, d'où le travail sur le nouveau TP
2/ asservissement en boucle fermée
Ici, LCNC utilise du PID pour générer la commande vers le drive, et en retour il lit la vitesse et la position.
Ces informations lui permettent de corriger en dynamique la commande pour recaler en permanence vers la trajectoire voulue.
Avec plusieurs axes LCNC peut être amené à ralentir un axe si un autre ne va pas aussi vite que voulu.
Ca se voit bien quand on lance une commande de filetage/taraudage sans allumer la broche : l'outil se déplace quand on tourne le mandrin à la main, toujours en suivant l'hélice, même si la vitesse de broche n'est pas constante.
LinuxCNC fait 2 choses:
1/ calculer une trajectoire (position+vitesse) à partir de la séquence GCODE, avec le "trajectory planner" (TP)
Il a été considérablement amélioré il y a quelques années : https://forum.linuxcnc.org/forum/10-adv ... ams-wanted
Pour un CU, le plus important c'est d'abord la trajectoire, puis la vitesse.
L'ancien TP était un peu simpliste et il y avait pas mal de séquences freinage/accélération superflues.
Ca venait de la stratégie pour prendre en compte les mouvements futurs.
Exemple, avec la séquence
G1 X10
G1 X20
G1 X30
Un TP "bête" va provoquer un arrêt entre chaque ligne, car la machine va toujours chercher à pouvoir s'arrêter sur la position cible.
Dans LCNC il ont ajouté du "look ahead" pour améliorer ça, et éviter de freiner inutilement.
Mais ça ne suffisait pas toujours, d'où le travail sur le nouveau TP
2/ asservissement en boucle fermée
Ici, LCNC utilise du PID pour générer la commande vers le drive, et en retour il lit la vitesse et la position.
Ces informations lui permettent de corriger en dynamique la commande pour recaler en permanence vers la trajectoire voulue.
Avec plusieurs axes LCNC peut être amené à ralentir un axe si un autre ne va pas aussi vite que voulu.
Ca se voit bien quand on lance une commande de filetage/taraudage sans allumer la broche : l'outil se déplace quand on tourne le mandrin à la main, toujours en suivant l'hélice, même si la vitesse de broche n'est pas constante.