Ceci est une ancienne révision du document !
FlatCAM
FlatCam est un logiciel, OpenSource écrit en Python, permettant à partir des fichiers Gerber et Excellon décrivant un PCB de générer le fichier gCode pour sa gravure à l'anglaise.
Aller plus loin
- Générer un schéma électrique avec Kicad
- Générer un PCB avec kicad
- Générer le fichier de gravure à l'anglaise avec FlatCAM
Problèmes dus à la gravure à l'Anglaise
Les principaux problèmes sont dus :
- à la faible épaisseur à enlever (35 µm ou 70 µm) de la couche de cuivre sur une plaque généralement de 1.57 mm.
- aux défauts de surfaçage du plateau martyr souvent supérieurs à la couche de cuivre.
- aux outils utilisés, pointe javelot, car les fraises < 1 mm sont trop fragiles.
L'origine doit être prise sur la plaque. Sinon tenir compte du brut (Épaisseur plaques : 1.4 mm, 1.6 mm).
Pour obtenir une largeur de gravure avec une pointe javelot il faut calculer la profondeur à graver en fonction de l'angle de la pointe. Z = -tang((90-A)*Pi/180)*(L/2) avec Z profondeur, A angle au sommet et L largeur désirée. De plus grandes largeurs que le diamètre de l’outil peuvent être obtenus en 2 ou 3 passes.
Le nombre de passe permet aussi de limiter la profondeur de passe et de ne pas trop diminuer la largeur de la piste si un défaut de planéité nécessite d'augmenter la profondeur de passe. Prévoir un recouvrement des passes de 35 à 50%.
Correspondances largeur/profondeur passe
| Angle | 45° | 60° | 90° | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Largeur (mils) | 10 | 12 | 14 | 16 | 10 | 12 | 14 | 16 | 10 | 12 | 14 | 16 |
| Largeur (mm) | 0.2540 | 0.3048 | 0.3556 | 0.4064 | 0.2540 | 0.3048 | 0.3556 | 0.4064 | 0.2540 | 0.3048 | 0.3556 | 0.4064 |
| Profondeur (mm) | -0.31 | -0.37 | -0.43 | -0.49 | -0.22 | -0.26 | -0.31 | -0.35 | -0.13 | -0.15 | -0.18 | -0.20 |
Utilisation
Charger les fichiers utiles, créer les traces d'usinage puis indiquer les paramètres de gravure et enfin générer le gcode.
Préparation
Ouvrir un nouveau projet et charger les fichiers utiles issus de Kicad.
- [Gerber] la couche de cuivre (verte, B.Cu.gbr),
- [Gerber] les découpes (jaune, Edge.Cuts.gbr),
- [Excellon] les perçages (PTH.drl).
Une couche cuivre (rouge, F.Cu.gbr) peut être utilisée pour les circuits double face. Elle devra être retournée avant d'être gravée. Prévoir un repositionnement précis de la plaque avant la gravure.
Si la gravure doit être retournée
L'utilisation de l'axe auxiliaire dans Kicad nous à positionné sur l'origine. La couche de cuivre étant située sous le dessous, il faut retourner le circuit et actualiser l'affichage.
- Menu “Tool - Double-Sided” et voir ci contre
- Icône “Replot”.
- Sauvegarder le projet mis à jour.
Si la gravure doit être rapprochée de l'origine
L'utilisation de l'axe auxiliaire dans Kicad suffit. Sinon, sélectionner le fichier puis corriger l'origine dans la zone “Offset:Vector” pour se rapprocher du (0,0) et validez la.
Couche de cuivre
Le diamètre de l'outil est déterminé à partir de la table ci-dessus (largeur désiré et profondeur de cuivre). Le nombre de passe permet d'augmenter la largeur (combiner alors les traces dans le même fichier et les superposer un peu.
X_Cu.gbr
Isolation Routing :
- Tool dia : Largeur de la passe trouvé dans le tableau
- Width : Nombre de passe autour de la piste
- Pass overlap : Chevauchement des passes sous forme de rapport
- Combine pass : Tous les tracés des passes sont regroupées dans le même fichier
- Generate Geometry : Génération du fichier
X_Cu.gbr_iso
Create CNC job :
- Cut Z : Profondeur de la passe trouvé dans le tableau
- Travel Z : Hauteur de dégagement hors matière (tenir compte de la planéité, généralement 1 mm suffit)
- Feed Rate : Vitesse de déplacement en mm/min (généralement 250 mm/min)
- Tool dia : Ø outil correspondant à la passe
- Spindle speed : Vitesse de broche en tour/min (généralement 9600)
- Generate : Génération du fichier
X_Cu.gbr_iso_cnc
Export G-code :
- Prepend : Je me place au dessus de l'origine pièce et indique l'outil utilisé
- %
- G0 X0.0 Y0.0 Z100.0
- T1
- M5
- M6
- (MSG, Change to tool Pointe javelot 60)
- M0
- Append : Retourne au dessus de l'origine
- G0 X0.0 Y0.0 Z100.0
- M2
- %
- Dwell : Pause pour lancer la broche
- Export g_code : Génère le fichier
Perçages
.drl
Tools : indique les diamètre de perçage prévus (N° d'outils). Pour limiter les changements d'outils on peut n'en sélectionner que certains.
Create CNN job :
- Cut Z : Profondeur du perçage (Généralement -1.6 mm)
- Travel Z : Hauteur de dégagement hors matière (tenir compte de la planéité, généralement 1 mm suffit)
- Feed rate : Vitesse de déplacement en mm/min (généralement 150 mm/min)
- Tool change : Indique les changement d'outils
- Tool change Z : Hauteur du changement d'outil
- Spindle speed : Vitesse de broche en tour/min (généralement 9600)
- Generate
.drl_cnc
Export G-code :
- Prepend : Je me place au dessus de l'origine pièce (l'outil utilisé sera indiqué par son numéro)
- %
- G0 X0.0 Y0.0 Z100.0
- Append : Retourne au dessus de l'origine
- G0 X0.0 Y0.0 Z100.0
- M2
- %
- Dwell : Pause pour lancer la broche
- Export g_code : Génère le fichier
Plaque
Edge_Cuts.gbr
- Board cutout : Tool dia : 2 ; Margin 0 ; Gap size 1 ; Gaps 4 ; Generate Geometry
Edge_Cuts.gbr_cutout
- Create CNC Job : Cut Z -1.6 ; Travel Z 0.1 ; Feed Rate 150 ; Tool dia 2 ; Spindle speed 9600 ; Multi-Depth Yes ; Depth/pass 0.8 ; Generate
Edge_Cuts.gbr_cutout_cnc
Export G-code :
- Prepend : Je me place au dessus de l'origine pièce (l'outil utilisé sera indiqué par son numéro)
- %
- G0 X0.0 Y0.0 Z100.0
- T1
- M5
- M6
- (MSG, Change to tool Fraise diametre 2)
- M0
- Append : Retourne au dessus de l'origine
- G0 X0.0 Y0.0 Z100.0
- M2
- %
- Dwell : Pause pour lancer la broche
- Export g_code : Génère le fichier
Exemple de fichier Gcode
Exemple de fichier gcode pour les pistes
| M6 T1 | Changement d'outil pour celui en position 1 |
| G21 | Programmation en mm |
| G90 | Mode absolu |
| G94 | Déplacement en mm par minute |
| F250.00 | Vitesse de déplacement |
| G00 Z1.0000 | Déplacement rapide hauteur de sécurité |
| M03 S9600 | Broche sens horaire, Vitesse de broche (t/mn) |
| G4 P1 | Arrêt programme 1s |
Piste 1
| G00 X1.6875Y-3.4399 | Déplacement rapide position de départ |
| G01 Z-0.5000 | Interpolation linéaire (déplacement normal) profondeur de départ |
| G01 X3.3900Y-3.4400 | Interpolation linéaire (déplacement normal) position suivante |
| … | |
| G01 X1.6875Y-3.4399 | Interpolation linéaire (déplacement normal) dernière position |
| G00 Z1.0000 | Déplacement rapide hauteur de sécurité |
Piste 2
| G00 X1.6851Y-3.4899 | |
| G01 Z-0.5000 | |
| G01 X1.6657Y-3.4870 | |
| … | |
| G01 X5.3012Y-3.4100 | |
| G00 Z1.0000 | |
| G00 Z1.000 |
| G00 X0Y0 | Déplacement rapide origine sélectionnée |
| M05 | Arrêt de broche |
| G28 | Retour à la position d'origine |
Sources
- FlatCam génération de gCode pour gravure à l'anglaise de PCB]]
