FlatCAM¶
Ce logiciel permet d'importer des fichiers Gerber .GBR, générés avec KiCAD, et de les convertir en GCode pour la fraiseuse de PCB. Il accepte aussi les fichiers .SVG.Il existe deux versions de ce logiciel :
- la 8.5, développée par Juan Pablo Caram : plus de mise à jour depuis 2016. http://flatcam.org/
- la 8.994 beta, développée par Marius Stanciu, semble avoir pris le relais depuis 2020. https://bitbucket.org/jpcgt/flatcam/src/master/
Certaines informations sur cette page sont valables quelle que soit la version, toutes les autres concernent la version 8.994 beta.
Téléchargement et installation :¶
- Pour Windows :
Les deux versions sont disponibles sur cette page de téléchargement : https://bitbucket.org/jpcgt/flatcam/downloads/
Pour la version 8.994 beta, il faut suivre les instructions contenues dans le fichier "FlatCAM_beta_8.994_installers.txt".
- Pour les autres OS et la version 8.5 :
Suivre les instructions de cette page
La documentation officielle de la version 8.5¶
http://flatcam.org/manual/introduction.html
Autres tutos¶
Un très bon tutoriel pour démarrer avec la version 8.5, à lire jusqu'au bout :
https://dirtymarmotte.net/blog/tuto-flatcam-fabrication-circuit-imprime-gerber-flatcam
Un tuto du Carrefour du numérique avec des paramètres :
http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=logiciels:flatcam
A faire¶
- Procédure pour le double face !
Les principales étapes¶
- Importer les fichiers de fabrication : au moins un fichier Gerber pour la gravure des pistes, un fichier Gerber pour la découpe du contour du circuit, un fichier de perçage Excellon.
- Générer les géométries pour chacun de ces fichiers.
- Générer les fichiers Gcode pour chaque géométrie.
- Enregistrer ces fichiers pour ensuite les importer dans un "Gcode sender", par exemple bCNC
Attention avec les images suivantes ! nous avons oublié de mettre en miroir la gravure et les perçages !¶
Pour la gravure du cuivre¶
Une fois les fichiers importés, ils apparaissent dans la vue principale et dans le menu de gauche dans "Gerber".
Il est possible de masquer/afficher les objets en les sélectionnant dans le menu de gauche et en appuyant sur la touche Espace.
Dans l'onglet "Properties" , l'outil "Transformations" permet, entre autres, de modifier l'échelle "Scale" , la position de l'objet dans le plan XY "Offset" et de mettre en miroir "Mirror (flip)" : indispensable pour les circuits imprimés avec des composants traversants !
La position de l'objet par rapport à l'origine est la même que celle dans l'éditeur de PCB de KiCAD. Ce sera aussi la même dans le fichier Gcode exporté et donc pour la fraiseuse. Ainsi, il est préférable de choisir une origine située proche d'un des coins du PCB.
Ensuite, il faut cliquer sur Isolation Routing :
On choisit le type d'outil "Type Tool" ("TT"), en "V" pour une pointe javelot, et son diamètre. Il est possible d'importer des paramètres d'outils depuis une base de donnée.
Ces paramètres peuvent être modifiés plus tard.
"Passes" permet de modifier le nombre de passages d'outil autour des pistes, dans le plan XY et "Overlap" pour régler le chevauchement entre ces passages.
On clique enfin sur "Generate Geometry" pour ... générer la géométrie !
Avec une pointe javelot (outil "V-shape"), Flatcam détermine la profondeur de passe "Cut Z" en fonction du diamètre de la pointe "V-Tip Dia", de son angle "V-Tip angle" et du diamètre de l'outil "Dia" dans "Tools Table".
Ce diamètre correspond à la largeur de la gravure au niveau de la surface du PCB. Ainsi il faut calculer ce diamètre en fonction de la profondeur de passe souhaitée. Pour cela, Flatcam propose un calculateur : menu Tool -> Calculators :
Dans notre cas, on désire une profondeur de passe de 0.05 mm, avec un outil de diamètre 0.2 mm à la pointe et un angle de 15°, ce qui donne un diamètre de 0.2132 mm.
L'épaisseur de cuivre standard d'un PCB est de 35 µm : graver à 50 µm permet d'avoir une marge de sécurité.
On reporte cette valeur de 0.2132 mm dans la colonne "Dia" de la "Tools Table".
Le paramètre "Travel Z" correspond à la hauteur à laquelle se place l'outil au-dessus de la plaque pour aller d'un point à un autre : par défaut 2 mm.
Le "Feedrate X-Y" correspond à la vitesse d'avance dans la matière : par défaut 120 mm/min.
Le "Feedrate Z" correspond à la vitesse de plongée dans la matière après un déplacement : par défaut 60 mm/min.
Le "Spindle speed" est la vitesse de rotation de la broche : par défaut à 0 tour/minute, nous l'avons paramétré à 8000 tours/min, sinon il faut la lancer manuellement au moment de l'usinage dans bCNC.
Enfin on clique sur "Generate CNCJob object" pour générer le fichier Gcode.
La vue principale affiche maintenant les déplacements d'outil avec une numérotation indiquant l'ordre et en bleu la largeur des gravures.
L'icône "Save CNC code" permet de sauvegarder dans un fichier le Gcode qui sera utilisé pour l'usinage dans bCNC.
Rappel des principaux paramètres (qui fonctionnent !) :¶
Type d'outil | pointe javelot "V-shape" |
Nombre de passe autour des pistes | 1 |
Diamètre de l'outil calculé | 0.2132 mm |
Diamètre de la pointe "V-Tip" | 0.2 mm |
Angle de la pointe "V-angle" | 15° |
Profondeur de gravure "Cut Z" | -0.05 mm |
Hauteur de déplacement "Travel Z" | 2 à 5 mm |
Vitesse d'avance "Feedrate X-Y" | 120 mm/min |
Vitesse de descente "Feedrate Z" | 60 mm/min |
Vitesse de rotation de la broche "Spindle speed" | 8000 tours/min (le max) |
Pour les perçages¶
Comme pour la gravure, on importe le fichier de perçage au format Excellon .DRL et il apparaît dans le menu de gauche et sur l'affichage principale sous forme de ronds rouges.
On clique sur "Properties" pour pouvoir accéder à l'outil "Transformations" pour éventuellement mettre l'objet en miroir, le replacer par rapport à l'origine et le redimensionner :
Dans notre exemple, on voit qu'il y 4 outils de différents diamètre, correspondant aux empreintes des composants. Pour modifier ces diamètres, il faut cliquer sur "Excellon Editor" :
Pour chacun des outils, il suffit de double cliquer sur les cellules de la colonne "Diameter" et rentrer 1 mm. Il ne restera plus qu'un seul outil de diamètre 1 mm pour percer les 53 trous, puis de cliquer sur "Exit Editor" et sauvegarder. Cela crée un nouveau fichier de perçage.
De retour dans le menu "Excellon object" , on clique sur "Drilling Tool" :
Paramétrer la vitesse de rotation de la broche "Spindle speed" à 8000 tour/min
L'épaisseur standard d'une plaque de PCB est 0.063 pouces ou 1.57 mm. En choisissant une profondeur de perçage de -1.7 mm, on s'assure que la plaque est bien percée jusqu'au bout.
Comme pour la partie gravure "Travel Z" est la hauteur à laquelle remonte l'outil pour se déplacer d'un point à un autre avant de redescendre (2 mm) et "Feedrate Z" est la vitesse de descente (300 mm/min).
Il faut ensuite cliquer sur "Generate CNCJob object" :
On visualise à présent le parcours d'outil. Il ne reste qu'à cliquer sur "Save CNC Code" pour sauvegarder le fichier Gcode de perçage, à importer dans bCNC.
Rappel des principaux paramètres (qui fonctionnent !) :¶
Type d'outil | Foret Ø0.8 |
Profondeur de perçage "Cut Z" | -1.7 mm |
Hauteur de déplacement "Travel Z" | 2 mm |
Vitesse de descente "Feedrate Z" | 300 mm/min |
Vitesse de rotation de la broche "Spindle speed" | 8000 tours/min (le max) |
Retour d'expérience¶
Lorsque le forêt plonge dans la matière, il subit du flambement. Il faudrait tester avec une vitesse de descente plus faible : entre 100 et 200 mm/min.
Pour la découpe du contour¶
Comme précédemment, on importe le fichier Gerber de découpe du contour "Edge_Cuts" et il apparaît dans le menu de gauche et sur l'affichage principale avec des contours verts.
On clique sur "Properties" pour pouvoir accéder à l'outil "Transformations" pour éventuellement mettre l'objet en miroir, le replacer par rapport à l'origine et le redimensionner :
On clique ensuite sur "Isolation Routing" et on choisit un outil de diamètre 2mm et de profil circulaire "C1" :
On clique ensuite sur "Generate Geometry" :
Cela fait apparaître des contours rouges à l'intérieur et à l'extérieur de chaque contour vert : cela signifie que l'outil fraisera des 2 côtés des contours, ce qui ne nous intéresse pas. Pour modifier cela, il faut cliquer sur "Geometry Editor" et on sélectionne tous les éléments à supprimer (colorés en bleu) :
Une fois ces éléments supprimés :
On clique sur "Exit Editor" et on sauvegarde la nouvelle géométrie :
On paramètre une profondeur de d'usinage "Cut Z" à -1.7 mm avec une profondeur de passe de 1 mm : pour cela il faut cocher la case "Multi-Depth" avec une valeur de 1mm.
On règle la vitesse de rotation de la broche "Spindle speed" à 8000 tour/min et on laisse les autres paramètres par défaut.
On clique sur "Generate CNCjob Object" et on visualise le parcours d'outil, en bleu pour le fraisage et jaune au-dessus de la plaque :
Il ne reste plus qu'à cliquer sur "Save CNC Code" pour sauvegarder le fichier Gcode.
Rappel des principaux paramètres (qui fonctionnent !) :¶
Type d'outil | Fraise Ø2 |
Profondeur d'usinage "Cut Z" | -1.7 mm |
Profondeur de passe "Multi-depth" | 1 mm |
Hauteur de déplacement "Travel Z" | 2 mm |
Vitesse d'avance "Feedrate X-Y" | 120 mm/min |
Vitesse de descente "Feedrate Z" | 60 mm/min |
Vitesse de rotation de la broche "Spindle speed" | 8000 tours/min (le max) |
A vérifier quand on utilise FlatCAM¶
- Vérifier à l'aide de la règle que les dimensions du circuit imprimé dans FlatCAM correspondent aux dimensions établies dans KiCAD, au cas où il y ait un changement d'échelle.
- Le Gerber importé arrive avec un placement en XY qui correspond au placement du circuit imprimé sur la feuille dans l'éditeur de PCB de KiCAD. Il faut commencer par le repositionner proche de l'origine pour éviter d'avoir un GCode qui démarre dans un coin de la CNC ...
- Ne pas oublier de retourner la pièce en miroir pour les PCB avec des composants traversants ! (cf tuto du carrefour du numérique)
- Le nom du fichier .GBR et/ou son chemin d'accès ne doivent pas être trop longs ! si non, FlatCAM ne peut ouvrir le fichier et ne renvoie aucun message d'erreur !
- FlatCAM est un "modeste" logiciel qui n'a pas de fonction "annuler" Ctrl-z !
Lien vers les documents¶
On y retrouve les fichiers de test de finesse de la gravure : le fichier SVG de construction et le GCode généré avec FlatCAM
https://projets.cohabit.fr/redmine/documents/355
Pour tout savoir sur le code GERBER¶
Modèle pointe javelot¶
Nous utilisons ce modèle :
Angle = 15°
Diamètre pointe = 0.2 mm
Diamètre queue = 3.175 mm
Source : https://www.cncfraises.fr/pointes-javelots-carbures/230-pointe-javelot-15-degres-carbure.html
Paramètres extraits du document https://www.cncfraises.fr/content/25-gravure-pcb-fraiseuse-cnc¶
C'est dans FlatCAM que l'on définit les paramètres de la CNC. En voici un exemple :- Vitesse de rotation : broche à fond (env 8.000 tr/min sur la CNC3018)
- Vitesse d'avance en matière : 120mm/min
- Vitesse de pénétration en Z : 100mm/min
- Ce qui correspond à une avance par dent (fz = vf/(Z*n)) de : 0.015 mm/dent.