GCode et changement d'outil

  • Auteur de la discussion electroremy
  • Date de début
E

electroremy

Ouvrier
Bonjour,

Je suis en train de créer un programme qui va générer du GCode

Le programme part d'une image en couleur, et usine une pièce en 2.5D (une couleur = un niveau de profondeur

Mon programme peut générer du GCode pour une machine sans changeur d'outil ou avec changeur d'outil

Problème : je n'ai à ma disposition qu'une machine sans changeur d'outil

Je ne peut donc tester mon programme en mode "machine avec changement d'outil automatique"

Ma question est donc : que dois-je prévoir comme instructions GCode pour le changement d'outils ?

Je pense que je dois laisser à l'utilisateur la possibilité de spécifier quelle(s) instruction(s) utiliser

Avez-vous des exemples de fichiers GCode avec des séquences de changement d'outils ?

Merci
 
D

Dodore

Compagnon
Je pense qu'un peu plus de precision serait bienvenu
Avec quel FAO travail tu , il y a des tas de logiciels plus ou moins performant
Comment est-ce que tu fais pour créer un programme un exemple de ce que tu obtiens avec dessin et étape de création
 
Y

yiab

Ouvrier
Bonjour

Tu veux faire un logiciel de gravure ?



[div=none] [/div]


je suis sous linux cnc et pour les changements d'outils c'est M6 T(n° de l'outil)

avec le code ci dessus ma machine va me demander de changer d'outil et de valider avant de lancer l'usinage (M6 T1)

arriver au deuxième (M6 T2) elle se mettra en pause et m'enverra a nouveau le même message

perso je n'utilise pas cette méthode car il faut que les longueurs des outils soit exactement les mêmes sinon je suis obligé de faire un ré-étalonnage, je préfère créer deux programmes gcodes distincts (mais la n'est pas le sujet)

a +
M6T1.jpg
 
E

electroremy

Ouvrier
Bonjour,

Je vais préciser ma demande :

Mon logiciel prend en entrée une image bitmap comme celle-là :
- noir = surface laissée non usinée
- blanc = surface usinée avec une profondeur de 0,1mm
- rouge = surface usinée avec une profondeur de 2mm :

AlimPiedsACoulisse_1.gif


Et ensuite mon programme analyse l'image, il identifie parmi les surfaces à fraiser ce qui correspond à des perçages (poches correspondant à des cercles) et génère des fichiers GCODE pour :
- le pointage des trous avec un forêt à centrer (ou pointe à graver)
- le perçage des trous, avec les forêts disponibles
- le fraisage (ébauche et/ou demi-finition et/ou finition)

Il est possible de choisir de faire les perçages avant ou après le fraisage.
Lorsque le perçage est fait avant le fraisage, il est possible de faire la finition des trous en fraisage, notamment lorsque aucun forêt n'a le diamètre exact du trou.

Mon programme gère :
- les sur-épaisseurs en XY et en Z
- l'usinage en deux étapes de bridage (évite de fixer la pièce en la collant ou avec une table à dépression)
- les vitesses de coupes
- les cycles de débourrage
- toutes les collisions entre les parties non usinées de la pièce, l'outil, la broche, les brides et les évite
- la correction d'outil à gauche et à droite sans bugs (les fonctions de correction d'outils intégrées aux contrôleurs bugguent quand la fraise est trop grosse par rapport au profil à suivre)
- lorsque les fraises sont trop grosses pour usiner certaines parties, elles ne le sont pas ; le programme permet de visualiser les zones posant problèmes (il faut adapter la pièce ou choisir des fraises plus petites)

J'utilise une fraiseuse achetée chez SIDERMECA avec un contrôleur SIEG. Mon programme génère un fichier GCODE par outil.

Exemple de GCODE (ici le pointage)
;Debut
N1 G53 G0 G17 G40 G49 Z19 G80 G90 G94
N2 G53 G0 Z19
N3 G54
N4 T1
N5 M03 S7431
; Pointage 0
N6 G0 Z19
N7 G0 X-28.822 Y-19.579
N8 G0 Z0
N9 G1 Z-0.28 F669
N10 G1 Z0 F669
; Pointage 1
N11 G0 Z5
N12 G0 X-28.822 Y-9.419
N13 G0 Z0
N14 G1 Z-0.28 F669
N15 G1 Z0 F669
...
;Fin
N431 G53 G0 Z19
N432 M05
N433 G53 G0 X-153 Y-73
N434 M02

Voici le résultat :

100_2057_2.jpg


Mon programme ne fait pas que de la gravure mais de l'usinage de pièces en 2.5D.

Il permet également de visualiser la pièce en 3D et de l'exporter au format STL

Voici un autre exemple :

Vue de l'image de départ :

2D.gif


Vue de la pièce obtenue en 2.5D :

3D.jpg


Voici une des étapes de fraisage :

Passe.jpg


Voici une des passes dans le simulateur d'usinage :

Passe2.jpg


Alors ma question est : pour le changement d'outil en automatique, est-ce que "M6 T(n° de l'outil)" est suffisant ou bien faut-il, avec certains contrôleurs, d'autres instructions préparatoires (par exemple amener la broche à tel endroit, arrêt la broche, ect...)

Voilà vous savez tout :)

Merci et à bientôt
 
Y

yiab

Ouvrier
Bonjour

D'accord tu as créé un logiciel qui permet de faire du gcode à partir d'une image bitmap (moi aussi d'ailleurs mais c'était pour faire de la gravure)

cela dit ce que je ne sais pas, c'est avec quoi est pilotée ta fraiseuse et d’après ton gcode elle ne semble pas être sous linux

tu as un "T1" en ligne N4 qui doit correspondre à ton outil (si je ne dis pas de bêtise)
tu utilise G0 et G1 en Z pour programmer ton perçage (je le fais aussi , mais il existe G73 (sous linuxcnc en tous cas))

peut être que si tu remplace le "T1" PAR "M6 T1" ta fraiseuse ira chercher l'outil elle même ou bien te mettra un message te demandant d'effectuer et de valider le changement d'outil avant usinage

voilà je pense que d'autres personnes te répondront plus précisément

a+
 
E

electroremy

Ouvrier
cela dit ce que je ne sais pas, c'est avec quoi est pilotée ta fraiseuse et d’après ton gcode elle ne semble pas être sous linux

Ma machine est une machine du commerce, elle utilise un logiciel SIEG fourni avec pour son pilotage. Un autre logiciel fréquemment utilisé est MACH3

Voici "la chaîne" logicielle :

Logiciel de dessin (CAO) -> Pièce -> Logiciel d'usinage (FAO) -> GCODE -> Logiciel de Pilotage (Contrôleur) -> Machine

Le GCODE est un format universel, sensé être reconnu par l'ensemble des logiciels de pilotage. Les logiciels de pilotages sont fournis avec les machines et ils sont assez basiques.

En tout cas comme je n'utilise que les instructions les plus simples mon GCODE sera reconnu par un maximum de logiciels de pilotages.

Ma question portait sur le changement d'outil. Mais d'après vos réponses un "Tx M06" est suffisant

J'aurais espéré que quelqu'un ici possède une machine avec changement d'outil automatique et me le confirme.

A bientôt
 
E

electroremy

Ouvrier
pour faire des circuit imprimés il y plus simple : exposition - développement

L'utilisation d'une fraiseuse pour faire des circuits imprimés offre plusieurs avantages :
- la gravure du cuivre est homogène même si le circuit est très gros, pas de pistes bouffées
- les perçages et les pistes sont parfaitement alignés, car avec la gravure chimique il faut percer à la main avec une mini perceuse
- il est possible de découper très précisément le contour du circuit imprimé et faire des encoches ; c'est particulièrement intéressant pour le modélisme et la robotique

Bref avec une fraiseuse on peut réaliser des circuits imprimés de qualité professionnelle, c'est à la fois plus précis, plus rapide et moins fastidieux

A bientôt
 
E

electroremy

Ouvrier
Bonjour,

Le travail fait pour numériser cette fraiseuse manuelle est impressionnant - notamment la partie changeur d'outil !

Je me demandes quand même, au vu des moyens nécessaires et du temps, si ça valait le coup (à moins que la personne ai pu avoir accès à une CNC dans son travail pour pas trop cher)

Pour répondre à ta question, oui mon programme est fait en Visual Basic .NET 2010.

Il permet, sous forme d’assistant, d'usiner une pièce en 2.5D à partir d'une image BMP en dix étapes.
Mon programme se veux complet et simple à utiliser, en générant des fichiers GCODE n'ayant pas besoin de retouches en tenant compte de toutes les contraintes.
Il est presque terminé, il me reste à faire la traduction en anglais, le fonctionnement en inch pour les américains, le mode d'emploi.
L'utilisation d'images BMP étant utile mais limité, je travail sur un éditeur vectoriel de pièces. On pourra créer ses pièces selon des cotes précises ET inclure des images.

Voici les screens shots de l'ensemble du programme :

Voici l'image BMP de départ :

LucasBmpCnc00.gif


Je rappelle le principe : 1 couleur = 1 profondeur. Une image en couleurs correspond donc à une pièce en 2.5D

Voici la fenêtre de démarrage :

LucasBmpCnc01.jpg


On lit l'image, le programme identifie les couleurs et demande à l'utilisateur de les ordonner par hauteur :

LucasBmpCnc02.jpg


Voici l'étape suivante, le lissage de l'image (un BMP est pixelisé, il faut lisser les contours)

LucasBmpCnc03.jpg


A l'étape suivante on peut visualiser le résultat, mais aussi exporter l'image au format vectoriel :

LucasBmpCnc05.jpg


LucasBmpCnc06.jpg


LucasBmpCnc07.jpg


Ensuite il faut entrer les dimensions de l'image et les profondeurs en mm :

LucasBmpCnc08.jpg


Alors le programme propose de reconnaître les perçages :

LucasBmpCnc09.jpg


Après cette étape, le programme a en mémoire une "vraie" pièce en 2.5D.
On peut exporter la pièce au format STL pour la fabriquer avec une imprimante 3D
On peut visualiser la pièce en 3D
Les choses sérieuses commence et on peut remplir les caractéristiques d'une fraiseuse CNC pour l'usinage :

LucasBmpCnc10.jpg


La visu en 3D :

LucasBmpCnc11.jpg


Les choses sérieuses continuent et il faut indiquer au logiciel comment sera fixée la pièce.
Concrètement on indique la position du repère pièce (typiquement G54) par rapport à la pièce en mémoire.
Il est possible de tourner la pièce et de la retourner.
Là se trouver une fonction intéressante de mon programme : la possibilité de fixer la pièce avec des brides et de l'usiner en deux fois.

LucasBmpCnc12.jpg


On peut positionner les deux jeux de brides avec la souris et/ou en entrant les coordonnées.
La pièce sera d'abord usinée en étant fixée avec les brides bleues.
Ensuite les brides rouges sont installées et les brides bleues sont retirées.
Alors la machine usinera les zones qui étaient précédemment inaccessibles à cause des brides bleues.

LucasBmpCnc13.jpg


Ensuite il faut sélectionner les outils.
D'abord les forêts pour le perçage.
De nombreuses options sont disponibles.
Il est notamment possible de pointer les trous avec un forêt à centrer ou une fraise à graver avant les perçages. Cela est indispensable pour la précision, notamment si les forêts sont longs et/ou que le brut n'est pas parfaitement horizontal.

LucasBmpCnc14.jpg


Un assistant permet de choisir les vitesses de coupe :

LucasBmpCnc15.jpg


Maintenant il faut choisir les outils pour le perçage.
La aussi de nombreuses options sont disponibles.

LucasBmpCnc16.jpg


Un assistant pour les vitesses de coupe est également disponible comme pour le perçage.

Le programme effectue tous les calculs, en gérant tous les paramètres et aussi les collisions et la correction de rayon d'outil.
Les fichiers GCODE obtenus ne nécessitent pas de retouche.

Il est possible de visualiser le résultat global.
Le programme permet de voir d'un coup d'oeil si les fraises ne sont pas assez petites pour tout usiner.

Il est aussi possible de visualiser l'ensemble des passes pour chaque outil, chaque couche et chaque étape de bridage :

LucasBmpCnc18.jpg



Le programme écrit le ou les fichiers GCODE.
Les fichiers sont soigneusement nommées, numérotés et comportent des commentaires utiles :

LucasBmpCnc20.jpg


Le programme permet de visualiser pas à pas l'ensemble du contenu des fichiers GCODE, on peut ainsi vérifier "en simulation" ce qu'il se passe :

Ici une passe d'usinage :

LucasBmpCnc21.jpg


Ici un mouvement rapide (on peut voir comment le programme gère les collisions avec les brides) :

LucasBmpCnc22.jpg


Je compte sortir mon programme au 1er semestre 2017.

Je travaille dessus depuis 2011, date à laquelle j'ai acheté ma fraiseuse CNC...

A bientôt
 

Sujets similaires

R
Réponses
2
Affichages
408
laurent12100
L
esloch
Réponses
0
Affichages
796
esloch
esloch
L
Réponses
0
Affichages
15 334
Lexugeot
L
PL50
Réponses
25
Affichages
1 277
dh42
B
Réponses
3
Affichages
1 481
dh42
D
Réponses
1
Affichages
11 933
Remyje66
R
M
Réponses
14
Affichages
1 714
Mika2A
M
J
Réponses
9
Affichages
25 133
Clara
C
B
Réponses
2
Affichages
7 330
Bambi
B
Haut