automatiser la mesure d'une piece avec une cnc

  • Auteur de la discussion moissan
  • Date de début
M

moissan

Compagnon
bonjour : il n'y a pas une grande difference entre une fraiseuse CNC et une machine de mesure tridimensionnelle : il faut juste mettre un palpeur a la place de la fraise ... la question n'est pas la precision , bien sur la precision sera limité a la precision de la fraiseuse , pas la precision d'une machine de metrologie lourde

la question pratique , et c'est pour ça que je pose la question dans Gcode , c'est est ce que le Gcode est utilisable , dans le genre je programe une trajectoire d'outil , avec une instruction gcode qui va bien pour que le mouvement s'arete des que le palpeur indique le contact avec la piece ... puis retour en arriere , et mesure plus lente pour avoir une meilleur precision

question principale existe il des instruction dans le Gcode pour commander l'enregistrement des resultat dans un fichier ?

ça serait interressant d'ecrire le programe de mesure en Gcode car ça se fera avec les même outil qu'un vrai usinage

merci
 
P

phil135

Compagnon
je ne connais pas gcode, mais pour avoir vu une tridim fonctionner je pense qu'il y a une notion d'enveloppe / de surépaisseur autour de la pièce de façon à passer en vitesse lente AVANT de risquer de toucher

parce que la sonde à bout rubis avec contacts à ouverture super fiable super reproductible on n'a pas du tout envie de devoir la changer

autre difference par rapport à l'usinage: on cherche une approche le plus possible normale à la suface palpée
 
K

kiki86

Compagnon
bonjour
je pense que oui pour la mesure, par contre pour enregistrer la mesure???
il existait, au siècle dernier, des appareil appelés STOPCOTE monté sur rectif
voir le principe et peut être l'adapter
cordialement
 
M

moissan

Compagnon
pour faire une approche normale a la surface , il faut deja la connaitre , donc faire un programe adapté a la piece

mais peu importe , on peu faire un programme pour palper une piece connue de la façon la plus precise possible ou on peu faire un programme passe partout pour cartographier une surface inconnue par des descente verticale , même si ce n'est pas optimum dans tous le cas

le probleme n'est pas la , la question que je me pose c'est quelle est la posibilité d'enregistrer la cote ou ça detecte le contact ... est ce possible ou faut il utiliser un moyen completement different ?
 
G

gaston48

Compagnon
bonsoir,

Tu cherches avec :
" probe teach in digitizing linuxcnc "
 
M

moissan

Compagnon
avec ces mot dans google , ça me donne un tas de truc qui parte dans tous les sens et que j'ai du mal a comprendre ... qui parlent plus de realisation de capteur que de la programation a faire

mais la solution est tout simplement la , et bien claire !
http://linuxcnc.org/docs/html/gcode/gcode_fr.html#sec:G38-x-Palpeur

il suffit de mettre un commentaire de la forme (PROBEOPEN filename.txt) dans le Gcode pour que toutes les mesures soient enregistré

merci linuxCNC non seulement pour leur logiciel mais pour la qualité de la documentation !
 
Dernière édition par un modérateur:
J

JeanYves

Compagnon
Bjr ,

Le "capteur" c'est une tete de mesure Renishaw .
 
M

moissan

Compagnon
une vraie tête renishaw sur une fraiseuse moyenne serai donner de la confiture aux cochon

on a deja vu passer sur ce forum des realisation amateur de ce genre de tête avec une qualité suffisante pour ce qu'il me faut

la question du jour n'etait pas la realisation du capteur mais les moyen logiciel a mettre en place pour l'utiliser , savoir si il fallait un logiciel specifique , ou si cam bam Gcode et linux cnc suffisait

donc la reponse est claire : avec le G38 on peut faire ce qu'il faut

pour la realisation du capteur j'en parlerai sur un autre sujet
 
J

JeanYves

Compagnon
Ouais , encore un truc au rabais sans aucune fiabilité !! :mrgreen:

De toute maniere il te faudra un capteur de mesure .
 
D

dh42

Compagnon
Salut,

le probleme n'est pas la , la question que je me pose c'est quelle est la posibilité d'enregistrer la cote ou ça detecte le contact ... est ce possible ou faut il utiliser un moyen completement different ?

C'est faisable sous Mach3 avec un mix de Gcode et de VisualBasic.

Ici je n'enregistre pas les résultats (3 valeurs, j'arrive à m'en souvenir :-D ) mais ce serait tout à fait faisable.
http://www.metabricoleur.com/t2083-numerisation-3d-avec-mach3#28604

Il existe un soft qui fait ça: probe it
http://www.craftycnc.com/probe-it-wizard-mach3/

++
David
 
Dernière édition par un modérateur:
M

moissan

Compagnon
merci , ça montre qu'il y a des solution aussi avec mach3

je suis parti sur linuxCNC pour d'autre raison , mais voir ce qui se fait avec d'autre systeme est toujours interressant

j'ai l'impression que le (PROBEOPEN filename.txt) dans le Gcode n'est pas du Gcode mais une astuce de linuxCNC
 
D

dh42

Compagnon
Re

merci , ça montre qu'il y a des solution aussi avec mach3

Oui, absolument. Si l'on exclu toute la partie du programme qui va déplacer les axes pour la "grille" de scan, "toucher" un point et l’enregistrer dans un fichier est on ne peux plus simple sur Mach ; et surement aussi sur LinuxCNc.

sur Mach3

OpenDigFile() permet de choisir un fichier existant ou d'en créer un nouveau (fichier de points, format texte) -> ouvre une fenêtre de sélection de fichier et lance le mode enregistrement des données.

G31 -> lance le palpage vers une coordonnée fournie (un seul à la fois uniquement en ligne droite, mais avec plusieurs axes si besoin), l'axe s'arrête automatiquement lors du contact et la coordonnée XYZ[ABC] du pt de contact est écrite dans le fichier texte à la suite des autres.

quand on a palpé tous les points.

CloseDigFile() ferme le fichier texte

++
David
 
M

moissan

Compagnon
G31 ?

d'apres la document que j'ai trouvé c'est G38 qui fait un palpage et met dans le fichier les cordonné ou le capteur touche

je cherche donc ce que veut dire G31 , et il semble que ça veut dire mettre dans le fichier les coordonné actuelle quelle que soit le moyen qu'on a utiliser pour y aller ... donc pas la même chose mais utile aussi dans d'autres cas
 
D

dh42

Compagnon
Il n'est pas du tout certain que les codes du Gcode soient les mêmes sur Mach3 et LinuxCNc .. je ne connais pas du tout LinuxCNc

Sur Mach3, ce n'est pas le G31 lui même qui sauve les données, lui il se contente de mettre les valeurs pour XYZ de contact dans les variables 2000, 2001 et 2002 ; c'est le programme en visual basic qui tourne derrière via la fonction OpenDigFile() qui lis les variables et les écrit dans un fichier.

++
David

Edit: je viens de regarder ; sur Mach3, il n'y a pas de G38
 
M

moissan

Compagnon
ça confirme que je Gcode n'est standard que pour les fonction les plus simple , et que de nombreuse fonction sont specifique , donc entre linux CNC et mach3 ce n'est pas pareil ... de la même façon que les CNC industrielle ont aussi leur Gcode a eux

autre façon de voir une machine ou un logiciel n'est pas obligé d'executer tous les Gcode qui existent ... linuxCNC execute le G38 ... mach3 execute le G31 ... il faut faire avec
 
D

dh42

Compagnon
re

Oui, et encore, entre ces deux la il n'y a pas trop de différences, mais certains contrôleurs on des exigences assez restrictives voir exotique il semblerait.

Dans le cas présent, de toute façon le système de palpage est plus à voir comme un plugin/macro spécifique à un soft de pilotage et non quelque chose de géré par la FAO donc ce n'est pas trop gênant qu'il y ai des différence de codes vu qu'il faut développer une macro de palpage différente pour chaque soft de pilotage :-D .. sur Mach c'est du Visual Basic, sur Linux je suppose que c'est du python, sur USB CNC ... je ne sais pas trop ; ça ressemble à du basic ..

++
David
 
V

vdoudou14

Apprenti
Bonjour

Avez un screen de cette fonction ?

J'ai le screen du palpeur en z sur mach3 j aimerais savoir s il est possible de pouvoir aussi palper en X et y svp...
 
J

JeanYves

Compagnon
Bjr ,

Il doit etre possible de faire des mesures sur une CNC , sans que les deplacements soient pilotés en automatique ,
moyennant quelques amenagements .

Je pense en equipant la machine d'une tete de mesure precise et fiable equipée de palpeurs orientables , qui puisse prendre des mesures , suivant les axes X , Y , Z , indifferemment en inter ou en exter ,

Tete electrique , pour pouvoir enregistrer la mesure et arreter le deplacement .

Sur une tridim , le ou les palpeurs sont "qualifiés " géometriquement suivant leur orientation , avant toute mesure .
 
D

dh42

Compagnon
Bonjour

Avez un screen de cette fonction ?

J'ai le screen du palpeur en z sur mach3 j aimerais savoir s il est possible de pouvoir aussi palper en X et y svp...

salut,

En fait le même script VB peut être adapté pour le X et le Y, c'est juste la variable du GetVar() qui change (2000 pour X, 2001 pour Y et 2002 pour Z) et bien sur au lieu d'un G31 Z, ce sera un G31 X ou Y.

voici mon script de palpage perso (en Z)



d'autres infos ici
http://www.metabricoleur.com/t9376-controle-3d-avec-mach3

et le début du post d'Eric est ici
http://www.metabricoleur.com/t2083p25-numerisation-3d-avec-mach3#175966

++
David
 
Dernière édition:
J

JeanYves

Compagnon
Bsr ,

Vous ne pouvez pas etre precis de cette façon puisque le palpeur est rigide !!

Dans ce cas , il est necessaire que la pièce à mesurer soit metallique , compacte et solidement bridée ,
car vous venez toucher , tangenter la pièce avec une pression plus ou moins variable , susceptible de la deformer ou de la bouger !....
ce qui est incompatible pour avoir de la precision .
 
Dernière édition:
V

vdoudou14

Apprenti
Bonjour David désolé de la réponse tardive mais je ne dois pas recevoir par mail les réponses à mes sujets.
Comment faire pour utiliser et entrer ce script dans Mach 3 merci de votre réponse.
 
D

dh42

Compagnon
Salut,

Il te faut créer un nouveau bouton Palper avec Machscreen (ou utiliser un bouton existant si il y est déjà sur ton interface), ainsi que 3 OEM DRO que tu numérotera comme suit:

1100 pour la hauteur du palpeur
1110 pour la valeur du décalage palpeur/surface à palper (souvent à 0)
1101 pour la valeur de la vitesse de palpage

les 3 OEM DRO qui contiendront les valeurs que le script utilisera

Il est important que les DRO ai bien le bon code OEM, car c'est ce code qui est utilisé pour les identifier dans le script.

machscreen_palpeurDRO.png


Ouvre ton fichier écran sur Machscreen (c'est un fichier .set se trouvant dans le dossier racine de Mach3)

pour créer des DRO personnalisées, il faut choisir Visu dans la liste des contrôles de Machscreen, puis cliquer sur Ajouter et cliquer dans la zone de dessin pour créer la nouvelle DRO.
Ensuite il faut entrer le n° de DRO souhaité dans standard code (qui se transformera en code OEM une fois la valeur rentrée)

machscreen_add_userdro.png


Tu peux également éditer la ligne Format pour avoir le nombre de chiffres voulus (ainsi que les valeurs positives/négatives)

Si tu veux des "étiquettes" pour identifier tes DRO, ce sont des objets Label qu'il faudra ajouter à l'écran.

La LED peut être copiée depuis l'écran Diagnostic (page 5 sur Machscreen) ; LED digitize (ou plalpeur sur la VF), sinon tu peux la créer comme pour les DRO, sauf que dans Standard code, après avoir créer la LED, tu rentre 825

le bouton Palper devra être un bouton VisualBasic dans lequel tu copiera le code de palpage.

comment ajouter un bouton VB script

alors bien sûr, c'est le code du message au-dessus qu'il faudra copier dans la fenêtre de code.

Sauve ton écran modifié.

Pour que les modifs soient visibles dans Mach3, ferme et re ouvre Mach3, ou simplement, recharge l'écran via le menu View/Load screen.

++
David
 
V

vdoudou14

Apprenti
Merci David

Ou peut-on télécharger machscreen stp
 
V

vdoudou14

Apprenti
J avais trouvé ce lien mais pas vue dans programme downloads... merci
 
V

vdoudou14

Apprenti
J ai bien réussi à créé un nouveau bouton mais ce que voulait si cete possible c'est de modifier la fonction du palpeur actuel pour qu'il puisse palper aussi en X et Y.....
 
D

dh42

Compagnon
Le logiciel est bien compliqué mon pauvre

compliqué ?? non, pas vraiment :roll:

J ai bien réussi à créé un nouveau bouton mais ce que voulait si cete possible c'est de modifier la fonction du palpeur actuel pour qu'il puisse palper aussi en X et Y.....

Bin pour ça, c'est tout le code de programmation que tu dois modifier :-D ; regarde les liens que j'ai mis vers MB sur un message précédant, zarkann l'avait fait et il y a des bouts de code qui devraient t'inspirer pour créer le tiens.

++
David
 
V

vdoudou14

Apprenti
Je vais chercher mais ça a l'air rudement compliqué lol.merci
 

Sujets similaires

M
Réponses
4
Affichages
368
MakerJoGa
M
S
Réponses
2
Affichages
999
jbf
Moi33
Réponses
3
Affichages
702
dh42
D
3
Réponses
13
Affichages
1 337
3dOxyd
3
M
Réponses
6
Affichages
1 019
MitchCanon
M
Haut