Palpage de contour avec sonde 3D

J

JeanYves

Compagnon
mais pour moi je pense que l'usure est rapide et le prix des boules de piercing (par exemple) assez conséquent pour de la piece d'usure, en dessous apparait le titane qui lui,n'est pas du tout bon conducteur .
Autre alternative le 316 dans sa version alliage au molybdène ,très bon conducteur mais moins résistant (rockwell) que le L316
Bjr ,

Ce n'est pas le sujet ok

Mais ce ne sont pas non plus les matières auxquelles on pense pour faire cela !
 
S

speedjf37

Compagnon

Bonsoir,

J'ai essayer ce truc la .... bof. (avec le patch 2)
Peut être pas compatible avec la dernière version de LinuxCNC (2.7.11)

J'ai une erreur dans ce bout de code:
/Code
def gcode(self,s, data = None):
for l in s.split("\n"):
if "G1" in l :
l+= " F#<_ini[TOOLSENSOR]RAPID_SPEED>"
self.command.mdi( l )
self.command.wait_complete()
if self.error_poll() == -1:
return -1
Code/

il ne voit pas la variable déclarée dans le fichier Machine.ini
[TOOLSENSOR]
# Control probe rapid speed
RAPID_SPEED = 600

J'ai bricolé un gcode pour déclarer une variable compatible mais j'ai d'autres erreurs.
EDIT:
J'ai trouvé la solution
il faut dans le .ini
section [RS274NGC]
FEATURES=30 .hal
cela autorise la visibilité des variables de .ini et .hal

Et le SUBROUTINE_PATH = qui pointe sur le dossier macros

il y a une autre erreur , il manque "zdown.ngc"
fonction en copiant down.ngc

ET TOUT FONCTIONNE !
C'est un peut chaud à paramétrer !!!!

@gaston48
As tu essayé ?

JF
 
Dernière édition:
G

gaston48

Compagnon
Bonjour,
Non je n'ai pas essayé et approfondi, de plus pour tester, il faudrait une machine opérationnelle
avec palpeur pour assurer des retours de contact. C'est un sujet récent suivi par Andy je ne pense
pas que les problèmes sont liés à la version. En plus, avec les beaux jours, pour moi c'est période copeaux,
pas période geek pc ... :wink:
Tout dépend du type de pièce à mesurer, si c'est un contour lentement variable type haricot ou
plus anguleux. Il y aurait quelque chose à faire à partir de profil.ngc pour le rendre plus adaptatif.
Dans un gcode, les fonctions trigos sont riches avec notamment ATAN(x/y) (ATAN2 en C) qui
permettrait de calculer la tangente (ou la normale ) au segment résultant de 2 coordonnées de
palpage successives et ainsi d'orienter le retour rapide. Sur un cercle, l'ensemble des trajectoires
seraient similaires au soleil de profi.ngc.
L'autre solution avec plus d'interventions humaine serait de dessiner les trajectoires de palpage
uniquement nécessaires et suffisantes dans Cambam à partir d'une photo ou scan à la bonne
échelle et de produire le gcode avec un postpro incluant G38.2 .
 
S

speedjf37

Compagnon
Bonjour,
Non je n'ai pas essayé et approfondi, de plus pour tester, il faudrait une machine opérationnelle
avec palpeur pour assurer des retours de contact. C'est un sujet récent suivi par Andy je ne pense
pas que les problèmes sont liés à la version. En plus, avec les beaux jours, pour moi c'est période copeaux,
pas période geek pc ... :wink:
Tout dépend du type de pièce à mesurer, si c'est un contour lentement variable type haricot ou
plus anguleux. Il y aurait quelque chose à faire à partir de profil.ngc pour le rendre plus adaptatif.
Dans un gcode, les fonctions trigos sont riches avec notamment ATAN(x/y) (ATAN2 en C) qui
permettrait de calculer la tangente (ou la normale ) au segment résultant de 2 coordonnées de
palpage successives et ainsi d'orienter le retour rapide. Sur un cercle, l'ensemble des trajectoires
seraient similaires au soleil de profi.ngc.
L'autre solution avec plus d'interventions humaine serait de dessiner les trajectoires de palpage
uniquement nécessaires et suffisantes dans Cambam à partir d'une photo ou scan à la bonne

Bonjour,
Je suis d'accord avec toi sur la méthode à utiliser

Dans LinuxCNC "work_with_probe" fonctionne !!!
Il passe toutes les commandes en MDI
Voir le post 32 j'ai édité mes derniers essais et modifs

JF
 
D

dh42

Compagnon
Salut,

L'autre solution avec plus d'interventions humaine serait de dessiner les trajectoires de palpage
uniquement nécessaires et suffisantes dans Cambam à partir d'une photo ou scan à la bonne
échelle et de produire le gcode avec un postpro incluant G38.2

Dans ce cas, un truc qui peut être utile, c'est de générer le Gcode à l'aide d'une op de gravure par exemple, et des paramètres adéquats pour avoir un Gcode aussi proche que possible de ce dont on à besoin (réglage de l'op et post pro spécifique) puis d'utiliser un post traitement du Gcode pour traiter les infos que CB ne pourrait pas formater lui-même avec le post pro.

voir "Post traitement – Commande de post-traitement, Cmd. de post-traitement - args"
http://www.atelier-des-fougeres.fr/Cambam/Aide/cam/PostProcessor.htm

Le principe et d'appeler une application externe (.exe) faite sur mesure, de lui passer automatiquement le Gcode résultant fait par CB afin que ce Gcode subisse un traitement pour gérer ce qui ne peut être fait par le PP.

Dans l'exemple suivant en VB par exemple, les mouvements en Z ne doivent pas avoir de G1 en face du Z, les vitesses d'avance ne doivent pas avoir de décimale, et les lettres utilisées par les cycles de perçage ne sont pas les mêmes que celles sortie par Cambam. Ces modifs ne peuvent pas être faite via le PP lui même, et seront donc faites par l'application externe immédiatement après la génération d'un Gcode. (de manière transparente pour l'utilisateur)

Le 'squelette' du programme peut être utilisé comme base pour développer d'autres traitements en fonction des besoins.


++
David
 
D

dh42

Compagnon
Re

Il faudrait par contre que la compensation de l'angle trajectoire de palpage / angle du flanc soit traitée en live par le Gcode au moment du palpage car il te faut connaitre l'angle de palpage et il n'est accessible que dans le Gcode, pas dans le fichier de points palpés ! ... à moins d'inclure ces données d'angle de palpage dans le fichiers de points pour le post traitement qui corrigera le rayon du palpeur. (ou d’exploiter simultanément le Gcode et le fichier de points en faisant correspondre les entrées des 2 fichiers s'il n'est pas possible de sortir un fichier de points qui contienne autre chose que les coord de palpage)

++
David
 
S

speedjf37

Compagnon
Salut,



Dans ce cas, un truc qui peut être utile, c'est de générer le Gcode à l'aide d'une op de gravure par exemple, et des paramètres adéquats pour avoir un Gcode aussi proche que possible de ce dont on à besoin (réglage de l'op et post pro spécifique) puis d'utiliser un post traitement du Gcode pour traiter les infos que CB ne pourrait pas formater lui-même avec le post pro.

voir "Post traitement – Commande de post-traitement, Cmd. de post-traitement - args"
http://www.atelier-des-fougeres.fr/Cambam/Aide/cam/PostProcessor.htm

Le principe et d'appeler une application externe (.exe) faite sur mesure, de lui passer automatiquement le Gcode résultant fait par CB afin que ce Gcode subisse un traitement pour gérer ce qui ne peut être fait par le PP.

Dans l'exemple suivant en VB par exemple, les mouvements en Z ne doivent pas avoir de G1 en face du Z, les vitesses d'avance ne doivent pas avoir de décimale, et les lettres utilisées par les cycles de perçage ne sont pas les mêmes que celles sortie par Cambam. Ces modifs ne peuvent pas être faite via le PP lui même, et seront donc faites par l'application externe immédiatement après la génération d'un Gcode. (de manière transparente pour l'utilisateur)

Le 'squelette' du programme peut être utilisé comme base pour développer d'autres traitements en fonction des besoins.


++
David

Bonsoir David,

Très bonnes idées tout cela , je vais étudier ça !
Tu fournis les Dolipranes avec le code ?

JF
 
D

dh42

Compagnon
J'ai oublié de préciser, le soft externe peut être développé avec n'importe quel langage capable de produire un programme qui peut prendre des arguments sur la ligne de commande, ce n'est donc pas limité au VB :wink:

Et aussi, bien sûr, il n'utilise que les fonctions du langage de programmation qui a servi à le créer ; tu n'a pas accès aux fonctions internes de CamBam comme avec un plugin vu que c'est un soft séparé. (mon code ci dessus est donc du 100% VB)

++
David
 
S

speedjf37

Compagnon
J'ai oublié de préciser, le soft externe peut être développé avec n'importe quel langage capable de produire un programme qui peut prendre des arguments sur la ligne de commande, ce n'est donc pas limité au VB :wink:

Et aussi, bien sûr, il n'utilise que les fonctions du langage de programmation qui a servi à le créer ; tu n'a pas accès aux fonctions internes de CamBam comme avec un plugin vu que c'est un soft séparé. (mon code ci dessus est donc du 100% VB)

++
David

J'ai bien compris le coup du traitement externe avec l'appel dans le post pro.
Le passage de paramètres (diam du palpeur ,les vitesses,la distance de palpage,le pas)
J'ai vu aussi l'option sortie des angles qui élimine les G2 et G3 dans le Gcode

Pour chaque segment en fonction du pas il faudrait génerer les trajectoires de déplacement et de palpage (à 90 ° du segment ?)
L'angle de palpage sera connu , la correction pourrait être mémorisée à ce moment et utilisé dans la procédure de palpage(sous routine gcode).

Il y aura des cas tordus:
avec des angles ou une trajectoire va croiser la courbe générale
avec un palpage impossible en fonction du diam de la bille
avec une direction sans pièce en face
etc

C'est pas gagné !!!!!!

Est ce que ce sujet intéresserai l’équipe de devel CAMBAM ?

JF
 
D

dh42

Compagnon
Est ce que ce sujet intéresserai l’équipe de devel CAMBAM ?

Lol, l'équipe de développement de Cambam c'est un mec tout seul (Andy) ; et qui a un "vrai" job en plus ! (et 3 gosses!)

Personnellement, je ne pense pas que ce soit quelque chose à développer au niveau de la FAO, je pense qu'il faut le faire au niveau du soft de pilotage de façon à avoir un contrôle direct de la machine et retour d'info en temps réel ; autrement dit comme le probit pour Mach3 ; le programme VB peut prendre des décisions et faire des choses plus complexes qu'un simple GCode (à moins que celui de Linux soit plus évolué que celui de Mach3). A mon sens le top serait un palpage adaptatif, autrement dit c'est le programme qui "cherche" la surface à palper ; un peu comme les aspi robot qui détectent les murs et en suivent le contour.

un exemple ici en palpage 3D (USBCNC)


Bon, pour du contour ce serait un peu différent et un poil plus compliqué comme routine je pense vu qu'on ne se limite pas à 2 sens de palpage mais 4, mais rien d'infaisable ... par contre pas de tests du programme avec une sonde à 500€ !!

++
David
 
G

gaston48

Compagnon
Un palpage adaptatif est faisable en gcode. Tu peux créer des tests et conditions, une batterie de fonction
mathématique de calcul, des appels de sous programmes, de la mémoire de variables etc.
Comme la conception des parcours est conçu en temps réel en fonction des vrais résultats de palpage, si la routine n'est pas interne au gcode, il faut que ce soit un soft directement lié à linuxcnc ou mach3 .
Cela Cambam ne peut pas le faire à mon avis.

La deuxième solution est de concevoir un palpage optimisé en fonction d'un contour approximatif
acquit par photo par exemple.
Dans ce cas une intervention interprétation humaine (au lieu d'auto-adaptatif) est à
privilégier et là Cambam peut aider.
Il faut dessiner des trajectoires qui vont intercepter l'ébauche du contour donc
à partir d'un point courant P1 rejoindre un point cible P2 ( G1 P2 ) qui sera réédité en (G38.2 P2).
Cette trajectoire sera susceptible alors d’être interrompu par l'ouverture du contact de palpeur.
Automatiquement une cordonnée est stocké ... freinage... stop... passage à la ligne suivante.
Là il faut rejoindre en G0 P3 qui est le début d'une autre trajectoire vers P4 est ainsi de suite

Donc le gcode aurait cette forme là:
G0 P1
G38.2 P2 (ancien G1 P2)
G0 P3
G38.2 P4
G0 P5
G38.2 P6

etc ...
 
Dernière édition:
G

gaston48

Compagnon
C'est tout à fait faisable avec un dessin des parcours.
d'autant plus que comme les points de palpage sont bien choisis , il peuvent être moins nombreux
Toujours à partir d'un scan / photo sous cambam
Je dessine posément des lignes isolées, qui vont intersecter le contour bien perpendiculairement
à des point bien choisis.
Les points extrêmes de ces lignes isolées vont me servir à dessiner une polyline d'un seul tenant,
sans se poser de question, en rajoutant un seul segment de jonction entre 2 lignes isolées précédentes.

je crée un Gcode de cette polyline en fixant le point de départ, avec cambam fonction gravure sans Z.

Le gcode comporte une succession de blocs G1 x,y
Avec un éditeur normal ou mieux, un éditeur de gcode free comme NC Corrector
je remplace tous les G1 par des G0
Un bloc sur 2 je remplace le G0 par G38.3 pour cela il est facile d’insérer devant chaque G0 à changer un "x" par exemple
puis on fait "recherche remplacer" xG0 par G38.3
(un G38.3 qui ne reçoit pas d'interruption de contact poursuit son bloc sans stop erreur.)

ll suffirait de trouver une fonction "recherche remplace un bloc sur deux", mais là c'est déjà très rapide.
 
Dernière édition:
S

speedjf37

Compagnon
C'est tout à fait faisable avec un dessin des parcours.
d'autant plus que comme les points de palpage sont bien choisis , il peuvent être moins nombreux
Toujours à partir d'un scan / photo sous cambam
Je dessine posément des lignes isolées, qui vont intersecter le contour bien perpendiculairement
à des point bien choisis.
Les points extrêmes de ces lignes isolées vont me servir à dessiner une polyline d'un seul tenant,
sans se poser de question, en rajoutant un seul segment de jonction entre 2 lignes isolées précédentes.

je crée un Gcode de cette polyline en fixant le point de départ, avec cambam fonction gravure sans Z.

Le gcode comporte une succession de blocs G1 x,y
Avec un éditeur normal ou mieux, un éditeur de gcode free comme NC Corrector
je remplace tous les G1 par des G0
Un bloc sur 2 je remplace le G0 par G38.3 pour cela il est facile d’insérer devant chaque G0 un "x" par exemple
puis on fait "recherche remplacer" xG0 par G38.3
(un G38.3 qui ne reçoit pas d'interruption de contact poursuit son bloc sans stop erreur.)

ll suffirait de trouver une fonction "recherche remplace un bloc sur deux", mais là c'est déjà très rapide.

Ok Gaston48

C'est vraiment du dessin à la mano pour créer les points de palpage !
Je cherche à automatiser complètement le process !

JF
 
G

gaston48

Compagnon
Je cherche à automatiser complètement le process !
Je suis bien d'accord que c'est à la main, mais si c'est automatisé, tu vas passer beaucoup de temps à paramétrer
la prise en compte de tout les cas de figure: changements de direction brusques, petits éléments
locaux, éléments dont tu es certain de la géométrie et qui demande un minimum de points etc.
 
V

vieuxfraiseur

Compagnon
Bonjour,
pourquoi pas prendre un palpeur déjà conçu , et protégé des erreurs ?
au lieu d'allumer une petit lampe, donné un signal a la CNC .
le seul petit problème, il faut que la pièce à palper soit conductrice .

49140415_A.gif
 
J

JeanYves

Compagnon
Bjr ,

Ce qu'il faut arriver à faire :
Sur une motorisée , ou sur une manuelle :


 
Dernière édition:
J

JeanYves

Compagnon
Il faut commencer par faire un apprentissage ,
qui peut comprendre une prise de contour ...
 
Dernière édition:

Sujets similaires

D
Réponses
87
Affichages
24 810
rtlp14
R
D
Réponses
15
Affichages
10 847
carlos78
carlos78
Haut