====== Flatcam ====== {{ :logiciels:flatcam.png|}}Flatcam est un logicel libre permettant de générer des fichier GCODE pour fraiseuse CNC afin de graver des circuit imprimés. Il permet de convertir les fichier Gerber ainsi que le fichier Excellon(de peçage) en GCODE et s'utilise donc parfaitement en complément de Kicad. ===== Avertissement ===== Cette page est rédigée pour flatCam 8.5. Avec d'autres versions, certaines options peuvent être avoir d'autres noms, être situées ailleurs ou être disfonctionnelles. Les parametres sont indiqués pour une plaque epoxy cuivre 16/10 (epaisseur 1.6 mm, epaisseur couche de cuivre 35 µm). Au FabLab, en cas de fonctionnement erratique de flatCam, ne pas hésiter à quitter le logiciel et à redémarrer l'ordinateur en session administrateur. ===== Documentation ===== La documentation fournie sur le site de [[http://flatcam.org/|flatcam]] est assez claire et complète (bien qu'en anglais). Vous pouvez aussi retrouver un petit tutoriel sur le [[http://fablab-lannion.org/wiki/index.php?title=Kicad-cnc#FlatCam_:_g.C3.A9n.C3.A9ration_du_gcode|wiki du fablab de lannion]] [[https://www.youtube.com/watch?v=IbsBCMlQB_c]] ===== Générer les G-codes pour BravoProdigy ===== ==== Charger les fichiers ==== Dans FlatCAM, nous allons transformer les fichiers générés par kicad en gcode utilisable par une fraiseuse pour usiner le circuit en gravure dite à l'anglaise (on ne supprime par tout le cuivre inutile mais on isole juste chaque pastille ou piste en usinant son contour. * Commencez par ouvrir les fichiers -B.Cu.gbr et -Edge.Cuts.gbr avec File/Open Gerber… * Ouvrez ensuite le fichier .drl avec File/Open Excellon… * Vérifier que les circuits sont bien placer par rapport à l’origine des axes, sinon retourner dans KiCad et générer l’origine des axes dans KiCad. **?? Image fraiseuse et axes** === Générer l’origine des axes sur kiCad === Dans KiCad ouvrir le fichier .kicad_pcb. Sur le Pcbnew, placer l’origine des perçages : * Menu //Place// ou //Placer// * //Drill and Place Offset// ou //Origine de Coord de Perçage et Placement// * Cliquer sur la grille à l'emplacement choisi Créer le .gbr * Menu //File// * //Plot// * Dans //Plot Format//, sélectionner //Gerber// * Cocher les layers à exporter * Dans //General Options//, cocher //use auxiliary axis as origin// * Cliquer sur le bouton //Plot// Créer les fichiers de perçage * Cliquer sur le bouton //Generate Drill Files...// * Dans //Drill Origin//, sélectionner //Auxiliary axis// * Cliquer sur le bouton //Generate Drill Files// ==== Retourner le circuit ==== Les circuits sont habituellement dessinés en vue de dessus. Pour les circuits avec des composants en surface (SMD, CMS), les pistes sont dessinées sur la face supérieure (F-Cu pour front). Ils n'ont en général, pas besoin d'être retournés. Les circuits avec des composants traversant (THT), les pistes sont dessinées sur la face inférieure (B-Cu pour back). Dans la plupart des cas (notamment s'il y a des circuits integrés), il faut retourner les fichiers B_Cu et de perçage. {{:usager:eve:mirrortool-01.png?direct|}} * Menu //Tool//, sélectionner //Double Sided PCB Tool// * Onglet //Tool//, parametrer : Bottom Layer: -B.Cu.gbr Mirror Axis: Y Axis Location: Box Point/Box: -Edge.Cuts.gbr * Cliquer sur //Mirror Object// (vérifier l’affichage) ==== Gravure ==== La gravure est réalisée avec une fraise javelot. Pour augmenter la largeur de gravure, on peut faire plusieurs passages. Ci-dessous, les diamètres d'outil pour les fraises javelots et les valeurs obtenues par tests pour des plaques de cuivre d'épaisseur 35 microns) : ^ angle ^ profondeur ^ largeur de piste ^ | 30° | 0.04 mm | 0.4 mm | | 15° | 0.04 mm | 0.2 mm | La gravure s’effectue en trois temps : - Création d’un fichier .gbr_iso - Création d’un fichier .gbr_iso_cnc - Exportation des Gcode en .tap === Création d’un fichier .gbr_iso === {{:usager:eve:b_cu_mod-01.png?direct|}} * Dans l'onglet //Project//, double cliquer sur le fichier -B.Cu.gbr. * Dans l'onglet //Selected// * verifier le nom * Dans //isolation routing//, indiquer les parametres ci-dessous. * Cliquer sur //Generate Geometry// FlatCAM calcule les tracés de gravure à l'anglaise (tracé du contour des pistes afin de les isoler) et les affiche en rouge sur l'aperçu. | ^ 1 pass. ^ 2 pass. ^ ^ Tool Dia | 0.4 | 0.4 | ^ Width (# passes ) | 1 | 2 | ^ Pass Overlap | | 0.25 | ^ Combine Pass | | coché | === Création d’un fichier .gbr_iso_cnc === {{:usager:eve:b_cu_2_mod-01.png?direct|}} * Dans l'onglet //Project//, double cliquer sur le .gbr_iso * Dans l'onglet //Selected// * Vérifier le nom du fichier * Dans //Create CNC job//, indiquer les parametres ci-dessous * Cliquer sur //Generate// ^ Cut Z | -0.05 | profondeur de coupe | ^ Travel Z | 1 | hauteur de la fraise qui se déplace en dehors de la matière | ^ FeedRate | 60 à 80 | feed rate la vitesse d'avance | ^ Tool dia | 0.4 | | Les zones de cuivre qui seront retirées apparaissent en bleu. En examinant attentivement le circuit, on peut alors vérifier qu'il n'y a pas d'endroit où deux pistes seraient trop proches et que les pistes ne seraient pas séparées. Si c'est le cas, il faut modifier la conception du circuit dans kicad. === Exportation des Gcode en .tap === * Dans l'onglet "Project", double-cliquer sur le fichier //-B.Cu.gbr_iso_cnc// * Cliquer sur //Export G-Code// * Enregistrer le fichier en sous le nom //-bcu.tap// par exemple * Ouvrir le fichier un logiciel de texte (bloc-note * Modifier la dernière ligne //M05// en //M30// ==== Découpe ==== S’effectue en trois temps : - Création d’un fichier .gbr_cutout - Création d’un fichier .gbr_cutout_cnc - Exportation des Gcode en .tap === Création d’un fichier .gbr_cutout === {{:usager:eve:edgecut_mod-01.png?direct|}} * Dans l'onglet //Project//, double cliquer sur le fichier //-edgecut.gbr// * Dans l'onglet //Selected// * vérifier le nom * Dans //Board cutout//, parametrer ^ Tool Dia | 1.5 | ^ Margin | 0 | ^ Gap size | 1.5 | ^ Gaps | 2 (T/B) | Les gaps sont de petites attaches qui évitent que le circuit ne se désolidarise de la plaque de cuivre (ici : top and bottom) * Cliquer sur //Generate Geometry// Sur l’aperçu, le tracé de l’outil apparait en rouge === Création d’un fichier .gbr_cutout_cnc === {{:usager:eve:edgecut_2_mod-01.png?direct|}} * Dans l'onglet //Project//, double cliquer sur le fichier .gbr_cutout * Dans l'onglet //Selected// * Vérifier le nom du fichier * Dans //Create CNC job//, parametrer : ^ Cut Z | -1.6 | ^ Travel Z | 1 | ^ FeedRate | 60 à 80 | ^ Tool dia | 1.5 | ^ Multi-Depth | coché | ^ Depth/pass | 0.6 | * Cliquer sur //Generate// Sur l’aperçu, les zones quis seront retirées apparaissent en bleu Vérifier que les attaches sont bien présentes === Exportation des Gcode en .tap === Comme pour la gravure. ==== Perçage ==== Elle s'effectue en deux temps : - Création d’un fichier .gbr_iso - Exportation des Gcode en .tap Il faut générer un fichier .tap par diamètre de perçage. === Création d’un fichier .gbr_iso === {{:usager:eve:drill_mod-01.png?direct|}} * Dans l'onglet //Project//, double cliquer sur le fichier //.drl// * Dans l'onglet //Selected// * Vérifier le nom * Dans //Tools//, sélectionner le diamètre de perçage. * Dans //Create CNC Job//, parametrer : ^ Cut Z | -1.5 à -1.7| ^ Travel Z | 1 | ^ FeedRate | 30 à 50 | * Cliquer sur //Generate// === Exportation des Gcode en .tap === Faire comme pour la gravure ===== Installation de Flatcam ===== == Sous linux == Se placer dans le répertoire où l'on veut installer Flatcam. Importer le dépôt en faisant : git clone https://bitbucket.org/jpcgt/flatcam.git ou télécharger un .zip de [[https://bitbucket.org/jpcgt/flatcam/downloads/]] et le décompresser. Installer ensuite les éléments requis en ligne de commande avec : sudo setup_ubuntu.sh Flatcam se lance en tapant: python FlatCAM.py Il est également possible de créer un raccourci dans le menu sous Linux Mint en ajoutant un fichier flatcam.desktop dans le répertoire /usr/share/applications (droits administrateur requis) contenant: [Desktop Entry] Type=Application Name=FlatCAM GenericName=FlatCAM Comment=Gcode generator Exec=python /FlatCAM.py Icon=/share/flatcam_icon48.ico Terminal=false Categories=Electronics; == Sous Windows == voir [[http://flatcam.org/manual/installation.html]]