CNC Grande Dimension - LinuxCNC/CAM

En ce qui concerne la compensation

dans la version ancienne j’ai cela

axe X
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb

net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb

axe Y

net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb

axe Z

net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb

net bpos-cmd joint.4.motor-pos-cmd => stepgen.4.position-cmd
net bpos-fb stepgen.4.position-fb => joint.4.motor-pos-fb

que je dois traduire en nouvelle version

create HAL signals for position commands from motion module

loop position commands back to motion module feedback

net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in

loadusr -Wn compensation python3 compensation.py probe-results.txt cubic

net xpos-cmd <= axis.x.pos-cmd => compensation.x-pos
net ypos-cmd <= axis.y.pos-cmd => compensation.y-pos
net zpos-cmd <= halui.axis.z.pos-relative => compensation.z-pos
net eoffset-enable <= compensation.enable-out => axis.z.eoffset-enable
net eoffset-scale <= compensation.scale => axis.z.eoffset-scale
net eoffset-counts <= compensation.counts => axis.z.eoffset-counts
net eoffset-clear <= compensation.clear => axis.z.eoffset-clear
net compensation-on <= compensation.enable-in

compensation.a-pos et compensation.b-pos n’existent pas

je ne vois pas trop comment on passe de l’ancienne version en nouvelle version avec 5 moteurs (ou 4)

voici les 2 hal files core_sim.hal nouvelle version, CNC2_pierre.hal ancienne version. le core_sim.hal vient de la machine exemple créée par linuxcnc sur une 2.9.2 fraiche installation.

CNC2_pierre.zip (2,8 Ko)

Vous n’avez pas l’impression que Linux CNC est un beau bricolage ?
Y’a pas un autre truc qui existe ?

on avait évoqué ça il y a longtemps : CNC Grande Dimension - #474 par gaeldu63

Je ne comprends pas pourquoi il devriat y avoir c’est deux signaux ? La machine est une machine 3 axes XYZ (indépendamment du nombre de moteur). Si compensation.a-pos et compensation.b-pos existaient cela serait une machine 5 Axes : 3 translations (X,Y,Z) et deux rotations (A : rotation autour de X et B rotation autour de Y)

Depuis la version 2.7 (il me semble), il a été introduit une différence entre les moteurs et les les axes. Il est maintenant possible de « construire » un axe avec plusieurs moteurs. Une fois la géométrie et la configuration des axes faites, tous les appels à des axes seront automatiquement converti par LinuxCNC vers le/les mooteurs le constituant.

Ce qui pourrait ne pas fonctionner est que la simu ne sache pas gérer plusieurs moteurs par axes. Je n’ai pas regardé.

Après lecture du fichier HAL de ta CN @pinatl, je pense que la confusion provient du nommage des signaux aux lignes 43-67.

Si je prends l’exemple ligne 50 : adir ne veut pas dire que c’est l’axe A. Il pourrait très bien s’appeler x1dir, joint3dir ou toto tant que la notation est homogène dans le reste du fichier.

Le passage de joint (moteur) à axe est défini avec le loadrt [KINS]KINEMATICS ligne 4. Dans le fichier ini, il doit y avoir gantrykins coordinates=XYZXZ

Du coup, un appel à axis.x.pos-cmd aura bien un impact sur les joint 0 et 3.

Par contre, il est possible que la dénomination des signaux xpos-cmd, ypos-cmd et zpos-cmd, défini pour le script, entrent en conflit avec ceux déjà défini pour les joints (ligne 130, 159 et 173 du fichier CNC2_pierre.hal). A mon avis, un renommage de ceux définis pour le script devrait aider, par ex. xpos-cmd-comp

Je suis complètement d accord avec toi mais la syntaxe étant un peu complexe, je vais avoir besoin de tes lumières a moins que dans les exemples fournis j en trouve un a plusieurs moteurs par axe

Envoyé à partir de Outlook pour Android

Moi, perso, j’ai plutôt l’impression que personne y comprend grand chose :rofl::rofl::rofl:
Vous croyez pas que mach3 tourne sans tous ces problèmes de définitions dans des fichiers à la mors moi le truc ???

je ne connais pas mac3 mais ca m’etonnerais que ca se configure comme par magie. Par exemple, regler la perpendicularité du X avec 2 moteurs independants pendant le homing et liés le reste du temps, je suis pas certain que ce soit simple avec un logiclel quel que soit le logiciel. On peut tester, mais c’est une licence a ?? € plus des heures et des heures a essayer de se reapproprier le truc. Je suis moyennement client.

ceci dit, je suis a 2 doigts d’abandonner la compensation du plateau, car j’ai reussi a refaire marcher ma machine en suivant les conseils de thomas, mais ca compense rien du tout.

En fait, la compensation du plateau, ça sert à quoi ?

Corriger le gcode en intégrant les défauts du plateau :
Ex: si le plateau est a -1.5mm au lieu de 0 en x:150 y:50 le gcode est modifié en live pour que la fraise descende -1.5 de plus en ce point

Attendez les gars …… :flushed::flushed::flushed:
Si je comprends bien le concept c’est qu’à partir d’un plateau en tôle ondulée on va refaire une surface en tôle ondulée décalée de Ymm
:star_struck::star_struck::star_struck::rofl::rofl::rofl:
Waouarffff ! Le pied :joy:

En ce qui me concerne, plutot que de la tole ondulée, j’espere plutot que le plateau fait un creux au milieu et que donc les vagues du plateau doivent avoir une frequence faible. Pour les petites pieces, si j’arrivais a faire marcher la compensation ca aurait du sens. Mais pour voir si on a une tole ondulée ou au contraire une vague plus ou moins unique, il faudrait mesurer et le coté positif de tout ces essais, c’est quee maintenant, je sais mesurer a condition d’avoir un palpeur qui puisse se balader sur tout le plateau. Donc je rentre ce point dans le cahier des charges du recablage.

Je propose avec @francois de continuer le lundi 3juin 2024.
@francois s occupe d acheter la goulotte et des insert bois M4
Je regarde ce que j ai comme fils

comme on en a discuté l’autre jour je me suis renseigné pour des profilés aluminium

ça pique .
Je vais demander a Cournon où j’ai acheter mon morceau

Je ne connais rien de votre besoin mais moi j’ai pris des profilés alu chez Motedis. Ils n’ont pas de 50x50 mais du 45x45, et la longueur max c’est 1980 mm. Ils peuvent découper des longueurs spécifiques ou ils ont des « maker packs » de taille fixe :

1 « J'aime »

c’est pour ça que que j’au du mal à en trouver ce n’est pas courant.
@francois @pinatl @Thierry.1 vous pensez quoi de 45x45 au lieu de 50x50 au niveau mécanique ?

Ils ont aussi une version « lourd » du 45x45 : ▷ Profilé aluminium 45x45 lourd Type B rainure 10 | MOTEDIS

En version lourd, ça fait 300€ les 5 longueurs de 1980 port compris

Je suis en vacances cette semaine, je regarderai ça la semaine prochaine.