Gravure Mécanique PCB : Différence entre versions

De L'abscisse - FabLab et Hackerspace de Dijon
Aller à : navigation, rechercher
(Installation)
(Ebavurage et polissage)
 
(13 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
Mode d'emploi de la gravure d'un PCB simple couche avec la fraiseuse du laboratoire LAB6.
 +
 
==Présentation==
 
==Présentation==
  
Graver un PCB avec la fraiseuse du fab
+
Le modèle de CNC disponible au fablab est ???
 +
 
 +
{{fixme}} modèle et photo
  
 
==Niveau de difficulté==
 
==Niveau de difficulté==
  
[[Fichier:vert.png]]  
+
[[Fichier:orange.png]]  
  
 
==Installation==
 
==Installation==
Ligne 38 : Ligne 42 :
  
 
   git clone https://gitlab.com/Pilatomic/g-commander.git
 
   git clone https://gitlab.com/Pilatomic/g-commander.git
 +
  sudo apt-get install libqt5serialport5-dev
 
   cd g-commander/
 
   cd g-commander/
 
   qmake
 
   qmake
Ligne 43 : Ligne 48 :
  
 
==Utilisation==
 
==Utilisation==
 +
La CNC du fab fonctionne avec des fichiers G-code.
 +
Pour la réalisation de la gravure d'une carte simple face, trois fichiers sont nécessaires :
 +
* Fichier de détourage des pistes (calque ''B.Cu'')
 +
* Fichier de contours de la carte (calque ''Edge Cuts'')
 +
* Fichier de perçage
 +
 +
Voici en résumé les étapes pour créer ses fichiers et utiliser la CNC :
 +
# Réalisation du schéma de la carte avec Kicad Pcbnew
 +
# Exporter le fichier PCB Kicad au format Gerber
 +
# Exporter le fichier de perçage Kicad au format Excellon
 +
# Transformer les Gerber et Excellon en fichiers G-code
 +
# Réaliser la carte
 +
 +
===Réaliser sa carte avec Kicad Pcbnew===
 +
Reportez-vous à cette page pour prendre en main ce module de Kicad :
 +
[https://fablab.coagul.org/Aide_%C3%A0_l%27utilisation_du_logiciel_Pcbnew_de_la_suite_Kicad Utilisation de Kicad Pcbnew]
 +
 +
Avant de se lancer dans l'export, vérifier que votre projet de carte respecte les prérequis suivants :
 +
{| class="wikitable centre" width="80%"
 +
|+ Paramètres Kicad
 +
|-
 +
! scope=col | Distance
 +
! scope=col | Valeur minimale (mm)
 +
|-
 +
| width="50%" |
 +
Largeur de piste
 +
| width="50%" |
 +
1 mm
 +
|-
 +
| width="50%" |
 +
Ecart entre deux pads
 +
| width="50%" |
 +
0,5 mm
 +
|-
 +
| width="50%" |
 +
Ecart entre deux pistes
 +
| width="50%" |
 +
0,5 mm
 +
|-
 +
|}
 +
 +
* Le tracé des pistes aura été réalisé sur le calque ''B.Cu'' (coté cuivre de la plaque à graver)
 +
* La carte dispose d'un plan de masse. La CNC va détourer uniquement les pistes dessinées sans enlever le cuivre du plan de masse
 +
* Le projet dispose d'un contour dessiné dans le calque ''Edge.Cuts''
 +
 +
===Exporter le tracé des pistes au format Gerber===
 +
Depuis le module Pcbnew de Kicad, cliquer sur le bouton ''Plot'' dans la barre d'outil ou menu ''File'' puis ''Plot''.<br>
 +
[[Fichier:Kicad_plot.png]]
 +
 +
Dans la boîte de dialogue, vérifier que :
 +
* Le format d'export est bien '''Gerber'''
 +
* Sélectionner un répertoire où seront enregistrés les fichiers créés
 +
* Les options cochées sont bien identiques à la capture suivante :
 +
[[Fichier:Kicad plot options.png]]
 +
 +
Cliquer sur le bouton ''Plot'' au bas de la fenêtre.
 +
 +
Kicad va créer autant de fichiers Gerber que de couches sélectionnées.
 +
Les couches à exporter impérativement sont :
 +
* ''B.Cu'' : Cuivre arrière, là où sera gravé le circuit
 +
* ''Edge.Cuts'' : Contour de la plaque
 +
 +
===Exporter le fichier des perçages===
 +
Le fichier contenant les positions et les diamètres des perçages (''drill file'') est au format Excellon.
 +
* Cliquer sur le bouton ''Generate Drill File'' de la boite de dialogue ''Plot'' précédente
 +
* Sélectionner les répertoire où sera enregistré le fichier de perçage
 +
* Vérifier que les options cochées soient identiques à la capture suivante :
 +
[[Fichier:Kicad_plot_drill.png]]
 +
* Cliquer sur le bouton ''Drill File''
 +
Kicad va générer un fichier portant l'extension '''.drl''' dans le répertoire de destination.
 +
 +
A ce niveau d'avancement, vous disposez de l'ensemble des fichiers nécessaires pour la gravure de la carte mais pas au format interprété par la CNC. L'étape suivante va permettre la conversion de ces fichiers au format G-code.
 +
 +
===Du format Gerber et Excellon vers le format G-code===
 +
Pour cela, on utilise le programme '''pcb2gcodeGUI'''.
 +
A la première utilisation, il va falloir créer le fichier de configuration stockant les options nécessaires au bon fonctionnement du programme pour la CNC du fab.
 +
 +
Créer un fichier texte avec le contenu suivant :
 +
{{fixme}}
 +
[[:Fichier:pcb2gcodeGUI.cfg |Paramètres de configuration de pcb2gcodeGUI]]
 +
 +
<syntaxhighlight lang="bash">
 +
# Configuration file generated by pcb2gcodeGUI version 0.1 on ven. oct. 28 22:22:49 2016
 +
 
 +
# Common options
 +
#@#dpi=1000
 +
metric=true
 +
metricoutput=true
 +
mirror-absolute=false
 +
nog64=true
 +
optimise=true
 +
tile-x=1
 +
tile-y=1
 +
tolerance=0.0100
 +
vectorial=true
 +
zchange=10.0000
 +
zero-start=true
 +
zsafe=5.0000
 +
 +
# Mill options
 +
#@#extra-passes=0
 +
mill-feed=600
 +
mill-speed=10000
 +
#@#offset=0.1500
 +
voronoi=true
 +
zwork=-0.0500
 +
 +
# Drill options
 +
drill-feed=50
 +
drill-side=auto
 +
drill-speed=10000
 +
milldrill=false
 +
#@#milldrill-diameter=3.0000
 +
nog81=true
 +
nog91-1=true
 +
onedrill=false
 +
zdrill=-2.5000
 +
 +
# Outline options
 +
bridges=0.5000
 +
bridgesnum=2
 +
cut-feed=600
 +
cut-infeed=10.0000
 +
cut-side=auto
 +
cut-speed=10000
 +
cutter-diameter=3.0000
 +
fill-outline=true
 +
#@#outline-width=0.2000
 +
zbridges=-0.6000
 +
zcut=-2.5000
 +
 +
# Autoleveller options
 +
al-back=false
 +
al-front=false
 +
#@#al-probecode=G31
 +
al-probefeed=100
 +
#@#al-probevar=2002
 +
#@#al-setzzero=G92Z0
 +
al-x=15.0000
 +
al-y=15.0000
 +
software=LinuxCNC
 +
 +
 +
</syntaxhighlight>
 +
 +
Lancer pcb2gcodeGUI
 +
 +
  pcb2gcodeGUI
 +
 +
Puis cliquer sur File, load configuration file, et sélectionner le fichier précédemment créé.
 +
 +
[[Fichier:Pcb2gcode_input_tab.png]]<br>
 +
Sur le premier onglet ''Input/output'' :
 +
* Dans la zone ''Back'', sélectionner le fichier Gerber contenant le calque B.Cu généré par Kicad
 +
L'application peu afficher un message inquiétant :<br>
 +
[[Fichier:Pcb2gcode error voronoi.png]]<br>
 +
Il essaye de vous expliquer avec ces mots à lui que l'algorithme qui va convertir le tracé dessiné sous Kicad en zones délimitées en vue de la gravure a besoin d'avoir une bordure extérieure pour fonctionner. On va la lui fournir.
 +
* Cliquer sur Ok pour acquitter le message
 +
* Dans la zone ''Outline'', sélectionner le fichier Gerber contenant le calque Edge.cuts
 +
* Dans la zone ''Drill'', sélectionner le fichier Excellon (.drl) contenant le détail des perçages
 +
* Dans la dernière zone ''Output folder'', choisir un répertoire où seront exportés les fichiers G-code
 +
La prévisualisation à droite donne une idée du rendu.
 +
* Cliquer sur le bouton '''Start''' au bas de la fenêtre pour démarrer la conversion en G-code.
 +
 +
Pcb2gcode va créer des fichiers d'extensions '''.ngc''' :
 +
{| class="wikitable centre" width="80%"
 +
|-
 +
| width="50%" |
 +
back.ngc
 +
| width="50%" |
 +
Tracé des pistes
 +
|-
 +
| width="50%" |
 +
outline.ngc
 +
| width="50%" |
 +
Contour extérieur de la carte
 +
|-
 +
| width="50%" |
 +
drill.ngc
 +
| width="50%" |
 +
Position des perçages
 +
|-
 +
|}
 +
 +
A la fin de cette étape, les fichiers sont prêts pour la gravure de la carte par la CNC.
 +
 +
===Réalisation de la carte===
 +
====Préparation de la CNC====
 +
Le soin apporté à cette étape de préparation va grandement conditionner la qualité de la réalisation de la carte !
 +
* Débrancher électriquement la CNC
 +
* S'assurer de la propreté du martyr (surface de gravure) de la machine ainsi que la plaque : un déchet d'une épaisseur infime peut créer une bosse ou relever légèrement un coin de la carte à graver et nuire à la qualité générale de la gravure.
 +
* Coller la carte époxy au martyr avec de l'adhésif double-face,la face cuivrée visible
 +
L'adhésif doit couvrir au moins les trois quarts de la surface de la carte
 +
 +
Astuce : Si vous recycler des plaques photosensibles, utiliser de l'acétone ou de l'alcool à brûler (moins nocif) pour retirer la couche superflue.<br>
 +
[[Fichier:Plaque photosensible avant.png]]
 +
[[Fichier:Plaque photosensible apres.png]]
 +
<br>
 +
* Monter une pointe javelot sur la pince de l'axe de la broche
 +
[[Fichier:Pointe javelot.png]]
 +
'''Attention :''' L'outil est tranchant !
 +
* A partir de ce moment, il est fortement recommandé de porter des lunettes de protection pour le cas où la pointe de l'outil viendrait à casser.
 +
* Vérifier que l'interrupteur de la broche est sur 0 (petit interrupteur en bas).
 +
* Brancher l'alimentation électrique de la CNC et le cordon USB au PC.
 +
[[Fichier:CNC interrupteurs.png]]
 +
====Initialisation de la CNC====
 +
Allumer la CNC (uniquement la machine, interrupteur du haut)
 +
Démarrer le programme G-Commander
 +
g-commander
 +
L'interface se découpe en plusieurs panneaux qui peuvent être réorganisés à votre goût
 +
* Le panneau ''Board'' gère la connexion à la carte contrôleur de la CNC
 +
* Le panneau ''GCode Project'' va permettre l'ouverture du fichier G-code à tracer
 +
* Le panneau ''Controls'' pour les modes de fonctionnement de la machine
 +
* Le panneau ''Movements'' autorise les déplacements
 +
* Le panneau ''Position''affiche les coordonnées de l'outil et permet aussi d'enregistrer l'origine relative (coin de la carte) pour débuter la gravure
 +
* Le panneau ''Visualizer'' donne la vue 3D de la position de la broche et du tracé de la carte
 +
[[Fichier:G-commander capture.png]]
 +
====Etablir la connexion avec la CNC====
 +
Panneau ''Board'', sélectionner le port USB et la vitesse de communication (115200) de la CNC.<br>
 +
[[Fichier:G-commander board.png]]
 +
<br>
 +
Cliquer sur le bouton rouge pour établir la connexion. Il passe au vert et le champ Status doit afficher "On line".<br>
 +
[[Fichier:G-commander board online.png]]
 +
====Charger un fichier G-code====
 +
Depuis le panneau ''Gcode Project'', cliquer sur le bouton "Open" et chercher le fichier G-code ''back.ngc'' généré à l'étape précédente.
 +
La zone ''Visualizer'' se met à jour et rend un aperçu 3D du travail à accomplir par la machine.
 +
Vous pouvez interagir avec la zone d'aperçu :
 +
* Clic gauche : Rotation 3D autour de la scène
 +
* Roulette : Zoom
 +
* Clic droit : Déplacements latéraux
 +
[[Fichier:G-commander 3d.png]]
 +
====Simuler les jobs====
 +
Cette étape permet de vérifier que la syntaxe des fichiers G-code du projet sera bien comprise par la CNC. Concrètement, G-commander va envoyer les instructions G-code à la carte CNC qui va acquitter la connexion et accepter les commandes transmises.<br>
 +
Si une instruction est erronée, un message d'avertissement vous indiquera qu'une correction est à apporter au préalable de la réalisation de la carte.
 +
Dans le panneau ''Controls'', basculer en mode Simulation avec le bouton bien nommé "Simu mode". Bouton "Simu mode" enfoncé, cliquer ensuite sur le bouton "Go" du panneau ''GCode project''. Les instructions G-code vont défiler à grande vitesse et le programme vous informera d'éventuelles erreurs de syntaxe rencontrées.<br>
 +
Répéter l'opération pour l'ensemble des fichiers G-code que vous allez graver. Il est important de réaliser cette opération AVANT d'avoir initialisé les origines.<br>
 +
<br>
 +
Correction des erreurs :
 +
Si vous rencontrez un message d'avertissement de ce type :<br>
 +
[[Fichier:G-commander simumode erreur.png]]<br>
 +
Pour corriger l’erreur, il faut éditer le fichier G-code (éditeur de texte basique) et supprimer la ligne en erreur.<br>
 +
Enregistrer le fichier.<br>
 +
Depuis G-Commander, charger à nouveau le fichier et relancer la simulation.
 +
[[Fichier:G-commander correction erreur.png]]<br>
 +
Quand tous les fichiers G-code sont simulés sans erreur, cliquer à nouveau sur le bouton "Simu mode" pour sortir et revenir au monde réel.
 +
====Exécution de la gravure====
 +
On y est, cette étape va lancer la gravure à proprement parlé.<br>
 +
Ouvrir le fichier G-code ''back.ngc ''.<br>
 +
Vous pouvez suivre l’évolution du job dans la vue 3D :<br>
 +
La pointe orange indique la position de l’outil.<br>
 +
Le contour du tracé est :
 +
* gris pour l’aperçu
 +
* devient bleu quand les instructions du tracé sont parvenues dans la mémoire de la CNC (commandes acceptées en attente de réalisation par la carte)
 +
* vert quand le tracé est physiquement gravé
 +
=====Prise des origines=====
 +
Il va falloir apprendre à la machine où se trouve la carte à graver. Pour cela, il faut initialiser l’origine des trois axes.<br>
 +
Dans la vue 3D, en bas à gauche de la gravure sous l’outil est dessiné un repère qui montre la position de l’outil à son origine. On va faire coïncider ce repère virtuel avec le coin inférieur gauche de la carte positionnée sur le martyr.
 +
[[Fichier:G-commander repere virtuel.png]]<br>
 +
On va commencer par positionner l’origine des axes X et Y qui sont ceux présents dans le plan du martyr :<br>
 +
On va déplacer le martyr et la broche. Assurez vous que la pointe javelot soit suffisamment haute pour éviter une collision fâcheuse avec la carte à graver.<br>
 +
Dans le panneau ''Movements'', utiliser les boutons X+/- et Y+/- pour déplacer la pointe javelot dans le coin inférieur gauche de la carte à graver. Garder à l’esprit que le collage de votre carte sur le martyr n’est pas strictement parallèle aux bords. Conserver une marge intérieure suffisante pour pallier ce défaut d’alignement.<br>
 +
La zone de saisie ''Distance'' permet d’ajuster le pas de déplacement. La mesure indiquée est exprimée en mm. Conserver une valeur importante pour les déplacements longs, diminuer la valeur pour un ajustement précis. Toujours sortir de la zone de saisie par une tabulation pour s'assurer que la valeur saisie soit appliquée par le programme.<br>
 +
[[Fichier:G-commander-board movement.png]]<br>
 +
Au niveau de la vue 3D, vous observerez que l’outil s’est déplacé au loin de votre plaque.<br>
 +
Une fois la position idéale trouvée, cliquer sur les boutons "Set to 0" des axes X et Y dans le panneau ''Position''.<br>
 +
[[Fichier:G-commander setTo0XY.png]]<br>
 +
La machine a enregistré que le job de gravure démarrera à cette position. Reste à lui initialiser l’origine de l’axe Z.
 +
Pour y parvenir, on va utiliser un multimètre en testeur de continuité (vous savez le bip agaçant quand les deux fils se touchent).
 +
L’idée est de considérer comme origine de l’axe Z, la position à partir de laquelle la pointe javelot est en contact avec la carte à graver. Il est bien précisé que la pointe doit être en contact avec la carte, la pointe ne doit pas perforer la carte surtout quand la broche ne tourne pas !
 +
Pour éviter la casse de l’outil, diminuer la valeur dans la zone ''Distance'' à 0,1 mm, puis descendez petit à petit la pointe vers la carte avec le bouton Z-. Lorsque le contact est proche, utiliser le multimètre qui vous indiquera bruyamment si celui-ci est effectif : Positionner une pointe de touche sur le cuivre de la carte à graver et l’autre pointe de touche sur la pince de la broche ou le châssis de la broche. On considère que la position est trouvée quand le multimètre bipe sans discontinuité marquant ainsi un contact franc entre l’outil et la carte.<br>
 +
[[Fichier:CNC origineZ multimetre.png]]<br>
 +
Cliquer sur le bouton ''Set to 0'' de l’axe Z du panneau ''Position''.
 +
Remonter l’axe Z de 1 ou 2 mm.
 +
La prise des origines est maintenant terminée. Tant que la gravure de la carte n’est pas terminée (détourage des pistes + contour extérieur + pointage des perçages), ne touchez plus les boutons ''Set to 0''. L’origine doit rester la même pour la gravure de tous les fichiers du projet.
 +
Pour vérification de la planéité de votre carte sur le martyr, vous pouvez remonter l’outil avec le bouton Z+, déplacer l’outil pour aller jusqu’au coin opposé de la carte avec les boutons X+/- et Y+/-. Cliquer ensuite sur le bouton ''Go to Z0'' et vérifier que la pointe javelot est en contact franc (merci copain multimètre) avec la carte. Si ce n’est pas le cas, soit la carte est bancale (aspérité qui crée une bosse entre le martyr et la carte) soit le martyr n’est plus plan pas rapport à la broche, soit la géométrie de la machine est faussée…
 +
Si le pointage est correct, remonter légèrement la broche (1 ou 2 mm) avec la bouton Z+ puis cliquer sur le bouton ''Go to X0 Y0''.<br>
 +
[[Fichier:G-commander originesOK.png]]<br>
 +
Tout est prêt maintenant pour faire du bruit et de la poussière.
 +
 +
=====Gravure de la carte=====
 +
Rappel : le port de lunettes de protection est vivement recommandé.
 +
Mettre la broche en rotation (interrupteur du bas sur le coté de la machine)
 +
Cliquer ensuite sur le bouton ''Go'' du panneau ''GCode Project'' and enjoy…
 +
Pour estimer si la gravure se passe correctement, la pointe javelot doit retirer le cuivre de la plaque mais sans trop attaquer la couche de bakélite. Donc un peu de poussière de cuivre et pas beaucoup de poussière blanche sont de bons indicateurs d'une gravure qui se déroule bien.<br>
 +
[[Fichier:CNC gravureEnCours.png]]
 +
[[Fichier:CNC gravureEnCours2.png]]<br>
 +
Vous pouvez suivre la progression de la gravure en simultané sur la vue 3D.
 +
Lorsque la gravure est terminée avec succès, la broche s'immobilise en position haute et une pop-up vous indique la fin de job. Arrêter la broche par son interrupteur.
 +
Dépoussiérer au besoin sans bouger ni la carte ni la broche et en prenant garde à la pointe javelot.
 +
====Pointage des trous de perçage====
 +
Lorsque la gravure des pistes et du contour est terminée, on enchaîne avec le pointage des trous pour les perçages. A l'heure actuelle, le fab ne dispose pas de fraises permettant le perçage et le détourage des cartes réalisées. L'opération réalisée à cette étape sera le pointage des trous avec la fraise javelot pour faciliter ensuite leurs perçages avec la mini-perceuse et les forêts adéquats.
 +
Il est primordial de laisser la carte collée au martyr telle qu'à l'étape précédente et de ne pas toucher aux origines machine paramétrées dans le panneau ''Position''. La position physique de la carte et les origines sont les mêmes pour le pointage.
 +
Ouvrir maintenant le fichier G-code contenant les perçages (drill.ngc) depuis le panneau ''GCode project''.
 +
La vue 3D vous montre l'aperçu du job a réaliser.
 +
Lancer la gravure sans l'étape de simulation sinon les origines seront perdues. (défaut du logiciel corrigé à l'occasion d'une version ultérieure)
 +
Lorsque la gravure est terminée, arrêter la broche et décoller la plaque.<br>
 +
[[Fichier:CNC pointagePercages.png]]<br>
 +
Voici le résultat vu par transparence :<br>
 +
[[Fichier:CNC carteTerminee parTransparence.png]]<br>
 +
====Remise en état de la CNC====
 +
* Ramener la machine à une position proche de son origine
 +
* Arrêter et débrancher électriquement la machine
 +
* Démonter la pointe javelot ou remettre son étui caoutchouc de protection
 +
* Nettoyer la machine avec un aspirateur et dégager poussières et copeaux du châssis et du martyr avec un pinceau. Le nettoyage ne se limite pas à la machine, les abords en font partie aussi…
  
 +
===Finitions===
 +
La carte est maintenant gravée, les trous pointés. Il faut la terminer pour pouvoir implanter les composants.
 +
Penser à porter des lunettes de protection : un forêt qui casse, une bavure qui saute est toujours possible !
 +
====Perçage====
 +
Le pointage des trous va faciliter grandement le perçage. En effet, la couche de cuivre ayant été perforée, le forêt ne va pas riper.
 +
Monter un forêt de diamètre de 0,8 mm sur la mini perceuse à colonne. Positionner un martyr avec un trou large sous la colonne.<br>
 +
[[Fichier:Mini-perceuse martyr.png]]<br>
 +
Percer les trous pointés avec le forêt de 0,8 mm.
 +
Il est possible que votre réalisation nécessite des trous plus larges pour certains composants notamment de puissance. Démonter le forêt de 0,8 mm et monter un forêt de diamètre supérieur et agrandir les trous au besoin.<br>
 +
[[Fichier:Mini-perceuse enAction.png]]<br>
 +
====Ebavurage et polissage====
 +
Cette dernière étape a pour objectif d’éliminer tous copeaux de cuivre qui pourrait rester au fond d’une piste et créer un court circuit entre deux zones. Elle permet aussi adoucir les contours des trous de perçage.
 +
Pour cela, monter une brosse métallique sur la mini perceuse.<br>
 +
[[Fichier:Mini-perceuse brosse.png]]<br>
 +
Brosser et polir la carte sans trop forcer : le contact avec la brosse génère beaucoup de frottements, vous risquez de bloquer le moteur de la perceuse en appuyant trop fort.<br>
 +
[[Fichier:Mini-perceuse brosse enAction.png]]<br>
 +
A l’issue de cette étape, vous devriez avoir un rendu de ce type là :<br>
 +
[[Fichier:PCB termine1.png]]
 +
[[Fichier:PCB termine2.png]]<br>
 +
Il ne reste plus qu'à souder les composants maintenant...
  
 
==Auteurs==  
 
==Auteurs==  

Version actuelle datée du 25 avril 2017 à 11:24

Mode d'emploi de la gravure d'un PCB simple couche avec la fraiseuse du laboratoire LAB6.

Présentation

Le modèle de CNC disponible au fablab est ???

Dialog-warning.png Fix Me !

Vous pouvez ajouter les informations manquantes !!! modèle et photo

Niveau de difficulté

Orange.png

Installation

PCB2GCODE

Outil de conversion Gerber vers G-code

cf https://github.com/pcb2gcode/pcb2gcode

 sudo apt-get update
 sudo apt-get install build-essential automake autoconf autoconf-archive libtool libboost-program-options-dev libgtkmm-2.4-dev gerbv git
 git clone https://github.com/pcb2gcode/pcb2gcode.git
 cd pcb2gcode
 autoreconf -fvi
 ./configure
 make
 sudo make install

PCB2GCODEGUI

Interface graphique pour pcb2gcode

cf https://github.com/pcb2gcode/pcb2gcodeGUI

 sudo apt-get install build-essential git qt5-default libqt5svg5-dev
 git clone https://github.com/pcb2gcode/pcb2gcodeGUI.git
 cd pcb2gcodeGUI/
 qmake
 make
 sudo make install

g-commander

Logiciel de contrôle de la fraiseuse

 git clone https://gitlab.com/Pilatomic/g-commander.git
 sudo apt-get install libqt5serialport5-dev
 cd g-commander/
 qmake
 make

Utilisation

La CNC du fab fonctionne avec des fichiers G-code. Pour la réalisation de la gravure d'une carte simple face, trois fichiers sont nécessaires :

  • Fichier de détourage des pistes (calque B.Cu)
  • Fichier de contours de la carte (calque Edge Cuts)
  • Fichier de perçage

Voici en résumé les étapes pour créer ses fichiers et utiliser la CNC :

  1. Réalisation du schéma de la carte avec Kicad Pcbnew
  2. Exporter le fichier PCB Kicad au format Gerber
  3. Exporter le fichier de perçage Kicad au format Excellon
  4. Transformer les Gerber et Excellon en fichiers G-code
  5. Réaliser la carte

Réaliser sa carte avec Kicad Pcbnew

Reportez-vous à cette page pour prendre en main ce module de Kicad : Utilisation de Kicad Pcbnew

Avant de se lancer dans l'export, vérifier que votre projet de carte respecte les prérequis suivants :

Paramètres Kicad
Distance Valeur minimale (mm)

Largeur de piste

1 mm

Ecart entre deux pads

0,5 mm

Ecart entre deux pistes

0,5 mm

  • Le tracé des pistes aura été réalisé sur le calque B.Cu (coté cuivre de la plaque à graver)
  • La carte dispose d'un plan de masse. La CNC va détourer uniquement les pistes dessinées sans enlever le cuivre du plan de masse
  • Le projet dispose d'un contour dessiné dans le calque Edge.Cuts

Exporter le tracé des pistes au format Gerber

Depuis le module Pcbnew de Kicad, cliquer sur le bouton Plot dans la barre d'outil ou menu File puis Plot.
Kicad plot.png

Dans la boîte de dialogue, vérifier que :

  • Le format d'export est bien Gerber
  • Sélectionner un répertoire où seront enregistrés les fichiers créés
  • Les options cochées sont bien identiques à la capture suivante :

Kicad plot options.png

Cliquer sur le bouton Plot au bas de la fenêtre.

Kicad va créer autant de fichiers Gerber que de couches sélectionnées. Les couches à exporter impérativement sont :

  • B.Cu : Cuivre arrière, là où sera gravé le circuit
  • Edge.Cuts : Contour de la plaque

Exporter le fichier des perçages

Le fichier contenant les positions et les diamètres des perçages (drill file) est au format Excellon.

  • Cliquer sur le bouton Generate Drill File de la boite de dialogue Plot précédente
  • Sélectionner les répertoire où sera enregistré le fichier de perçage
  • Vérifier que les options cochées soient identiques à la capture suivante :

Kicad plot drill.png

  • Cliquer sur le bouton Drill File

Kicad va générer un fichier portant l'extension .drl dans le répertoire de destination.

A ce niveau d'avancement, vous disposez de l'ensemble des fichiers nécessaires pour la gravure de la carte mais pas au format interprété par la CNC. L'étape suivante va permettre la conversion de ces fichiers au format G-code.

Du format Gerber et Excellon vers le format G-code

Pour cela, on utilise le programme pcb2gcodeGUI. A la première utilisation, il va falloir créer le fichier de configuration stockant les options nécessaires au bon fonctionnement du programme pour la CNC du fab.

Créer un fichier texte avec le contenu suivant : Dialog-warning.png Fix Me !

Vous pouvez ajouter les informations manquantes !!! Paramètres de configuration de pcb2gcodeGUI

# Configuration file generated by pcb2gcodeGUI version 0.1 on ven. oct. 28 22:22:49 2016
  
# Common options
#@#dpi=1000
metric=true
metricoutput=true
mirror-absolute=false
nog64=true
optimise=true
tile-x=1
tile-y=1
tolerance=0.0100
vectorial=true
zchange=10.0000
zero-start=true
zsafe=5.0000

# Mill options
#@#extra-passes=0
mill-feed=600
mill-speed=10000
#@#offset=0.1500
voronoi=true
zwork=-0.0500

# Drill options
drill-feed=50
drill-side=auto
drill-speed=10000
milldrill=false
#@#milldrill-diameter=3.0000
nog81=true
nog91-1=true
onedrill=false
zdrill=-2.5000

# Outline options
bridges=0.5000
bridgesnum=2
cut-feed=600
cut-infeed=10.0000
cut-side=auto
cut-speed=10000
cutter-diameter=3.0000
fill-outline=true
#@#outline-width=0.2000
zbridges=-0.6000
zcut=-2.5000

# Autoleveller options
al-back=false
al-front=false
#@#al-probecode=G31
al-probefeed=100
#@#al-probevar=2002
#@#al-setzzero=G92Z0
al-x=15.0000
al-y=15.0000
software=LinuxCNC

Lancer pcb2gcodeGUI

 pcb2gcodeGUI

Puis cliquer sur File, load configuration file, et sélectionner le fichier précédemment créé.

Pcb2gcode input tab.png
Sur le premier onglet Input/output :

  • Dans la zone Back, sélectionner le fichier Gerber contenant le calque B.Cu généré par Kicad

L'application peu afficher un message inquiétant :
Pcb2gcode error voronoi.png
Il essaye de vous expliquer avec ces mots à lui que l'algorithme qui va convertir le tracé dessiné sous Kicad en zones délimitées en vue de la gravure a besoin d'avoir une bordure extérieure pour fonctionner. On va la lui fournir.

  • Cliquer sur Ok pour acquitter le message
  • Dans la zone Outline, sélectionner le fichier Gerber contenant le calque Edge.cuts
  • Dans la zone Drill, sélectionner le fichier Excellon (.drl) contenant le détail des perçages
  • Dans la dernière zone Output folder, choisir un répertoire où seront exportés les fichiers G-code

La prévisualisation à droite donne une idée du rendu.

  • Cliquer sur le bouton Start au bas de la fenêtre pour démarrer la conversion en G-code.

Pcb2gcode va créer des fichiers d'extensions .ngc :

back.ngc

Tracé des pistes

outline.ngc

Contour extérieur de la carte

drill.ngc

Position des perçages

A la fin de cette étape, les fichiers sont prêts pour la gravure de la carte par la CNC.

Réalisation de la carte

Préparation de la CNC

Le soin apporté à cette étape de préparation va grandement conditionner la qualité de la réalisation de la carte !

  • Débrancher électriquement la CNC
  • S'assurer de la propreté du martyr (surface de gravure) de la machine ainsi que la plaque : un déchet d'une épaisseur infime peut créer une bosse ou relever légèrement un coin de la carte à graver et nuire à la qualité générale de la gravure.
  • Coller la carte époxy au martyr avec de l'adhésif double-face,la face cuivrée visible

L'adhésif doit couvrir au moins les trois quarts de la surface de la carte

Astuce : Si vous recycler des plaques photosensibles, utiliser de l'acétone ou de l'alcool à brûler (moins nocif) pour retirer la couche superflue.
Plaque photosensible avant.png Plaque photosensible apres.png

  • Monter une pointe javelot sur la pince de l'axe de la broche

Pointe javelot.png Attention : L'outil est tranchant !

  • A partir de ce moment, il est fortement recommandé de porter des lunettes de protection pour le cas où la pointe de l'outil viendrait à casser.
  • Vérifier que l'interrupteur de la broche est sur 0 (petit interrupteur en bas).
  • Brancher l'alimentation électrique de la CNC et le cordon USB au PC.

CNC interrupteurs.png

Initialisation de la CNC

Allumer la CNC (uniquement la machine, interrupteur du haut) Démarrer le programme G-Commander

g-commander

L'interface se découpe en plusieurs panneaux qui peuvent être réorganisés à votre goût

  • Le panneau Board gère la connexion à la carte contrôleur de la CNC
  • Le panneau GCode Project va permettre l'ouverture du fichier G-code à tracer
  • Le panneau Controls pour les modes de fonctionnement de la machine
  • Le panneau Movements autorise les déplacements
  • Le panneau Positionaffiche les coordonnées de l'outil et permet aussi d'enregistrer l'origine relative (coin de la carte) pour débuter la gravure
  • Le panneau Visualizer donne la vue 3D de la position de la broche et du tracé de la carte
G-commander capture.png

Etablir la connexion avec la CNC

Panneau Board, sélectionner le port USB et la vitesse de communication (115200) de la CNC.
G-commander board.png
Cliquer sur le bouton rouge pour établir la connexion. Il passe au vert et le champ Status doit afficher "On line".
G-commander board online.png

Charger un fichier G-code

Depuis le panneau Gcode Project, cliquer sur le bouton "Open" et chercher le fichier G-code back.ngc généré à l'étape précédente. La zone Visualizer se met à jour et rend un aperçu 3D du travail à accomplir par la machine. Vous pouvez interagir avec la zone d'aperçu :

  • Clic gauche : Rotation 3D autour de la scène
  • Roulette : Zoom
  • Clic droit : Déplacements latéraux

G-commander 3d.png

Simuler les jobs

Cette étape permet de vérifier que la syntaxe des fichiers G-code du projet sera bien comprise par la CNC. Concrètement, G-commander va envoyer les instructions G-code à la carte CNC qui va acquitter la connexion et accepter les commandes transmises.
Si une instruction est erronée, un message d'avertissement vous indiquera qu'une correction est à apporter au préalable de la réalisation de la carte. Dans le panneau Controls, basculer en mode Simulation avec le bouton bien nommé "Simu mode". Bouton "Simu mode" enfoncé, cliquer ensuite sur le bouton "Go" du panneau GCode project. Les instructions G-code vont défiler à grande vitesse et le programme vous informera d'éventuelles erreurs de syntaxe rencontrées.
Répéter l'opération pour l'ensemble des fichiers G-code que vous allez graver. Il est important de réaliser cette opération AVANT d'avoir initialisé les origines.

Correction des erreurs : Si vous rencontrez un message d'avertissement de ce type :
G-commander simumode erreur.png
Pour corriger l’erreur, il faut éditer le fichier G-code (éditeur de texte basique) et supprimer la ligne en erreur.
Enregistrer le fichier.
Depuis G-Commander, charger à nouveau le fichier et relancer la simulation. G-commander correction erreur.png
Quand tous les fichiers G-code sont simulés sans erreur, cliquer à nouveau sur le bouton "Simu mode" pour sortir et revenir au monde réel.

Exécution de la gravure

On y est, cette étape va lancer la gravure à proprement parlé.
Ouvrir le fichier G-code back.ngc .
Vous pouvez suivre l’évolution du job dans la vue 3D :
La pointe orange indique la position de l’outil.
Le contour du tracé est :

  • gris pour l’aperçu
  • devient bleu quand les instructions du tracé sont parvenues dans la mémoire de la CNC (commandes acceptées en attente de réalisation par la carte)
  • vert quand le tracé est physiquement gravé
Prise des origines

Il va falloir apprendre à la machine où se trouve la carte à graver. Pour cela, il faut initialiser l’origine des trois axes.
Dans la vue 3D, en bas à gauche de la gravure sous l’outil est dessiné un repère qui montre la position de l’outil à son origine. On va faire coïncider ce repère virtuel avec le coin inférieur gauche de la carte positionnée sur le martyr. G-commander repere virtuel.png
On va commencer par positionner l’origine des axes X et Y qui sont ceux présents dans le plan du martyr :
On va déplacer le martyr et la broche. Assurez vous que la pointe javelot soit suffisamment haute pour éviter une collision fâcheuse avec la carte à graver.
Dans le panneau Movements, utiliser les boutons X+/- et Y+/- pour déplacer la pointe javelot dans le coin inférieur gauche de la carte à graver. Garder à l’esprit que le collage de votre carte sur le martyr n’est pas strictement parallèle aux bords. Conserver une marge intérieure suffisante pour pallier ce défaut d’alignement.
La zone de saisie Distance permet d’ajuster le pas de déplacement. La mesure indiquée est exprimée en mm. Conserver une valeur importante pour les déplacements longs, diminuer la valeur pour un ajustement précis. Toujours sortir de la zone de saisie par une tabulation pour s'assurer que la valeur saisie soit appliquée par le programme.
G-commander-board movement.png
Au niveau de la vue 3D, vous observerez que l’outil s’est déplacé au loin de votre plaque.
Une fois la position idéale trouvée, cliquer sur les boutons "Set to 0" des axes X et Y dans le panneau Position.
G-commander setTo0XY.png
La machine a enregistré que le job de gravure démarrera à cette position. Reste à lui initialiser l’origine de l’axe Z. Pour y parvenir, on va utiliser un multimètre en testeur de continuité (vous savez le bip agaçant quand les deux fils se touchent). L’idée est de considérer comme origine de l’axe Z, la position à partir de laquelle la pointe javelot est en contact avec la carte à graver. Il est bien précisé que la pointe doit être en contact avec la carte, la pointe ne doit pas perforer la carte surtout quand la broche ne tourne pas ! Pour éviter la casse de l’outil, diminuer la valeur dans la zone Distance à 0,1 mm, puis descendez petit à petit la pointe vers la carte avec le bouton Z-. Lorsque le contact est proche, utiliser le multimètre qui vous indiquera bruyamment si celui-ci est effectif : Positionner une pointe de touche sur le cuivre de la carte à graver et l’autre pointe de touche sur la pince de la broche ou le châssis de la broche. On considère que la position est trouvée quand le multimètre bipe sans discontinuité marquant ainsi un contact franc entre l’outil et la carte.
CNC origineZ multimetre.png
Cliquer sur le bouton Set to 0 de l’axe Z du panneau Position. Remonter l’axe Z de 1 ou 2 mm. La prise des origines est maintenant terminée. Tant que la gravure de la carte n’est pas terminée (détourage des pistes + contour extérieur + pointage des perçages), ne touchez plus les boutons Set to 0. L’origine doit rester la même pour la gravure de tous les fichiers du projet. Pour vérification de la planéité de votre carte sur le martyr, vous pouvez remonter l’outil avec le bouton Z+, déplacer l’outil pour aller jusqu’au coin opposé de la carte avec les boutons X+/- et Y+/-. Cliquer ensuite sur le bouton Go to Z0 et vérifier que la pointe javelot est en contact franc (merci copain multimètre) avec la carte. Si ce n’est pas le cas, soit la carte est bancale (aspérité qui crée une bosse entre le martyr et la carte) soit le martyr n’est plus plan pas rapport à la broche, soit la géométrie de la machine est faussée… Si le pointage est correct, remonter légèrement la broche (1 ou 2 mm) avec la bouton Z+ puis cliquer sur le bouton Go to X0 Y0.
G-commander originesOK.png
Tout est prêt maintenant pour faire du bruit et de la poussière.

Gravure de la carte

Rappel : le port de lunettes de protection est vivement recommandé. Mettre la broche en rotation (interrupteur du bas sur le coté de la machine) Cliquer ensuite sur le bouton Go du panneau GCode Project and enjoy… Pour estimer si la gravure se passe correctement, la pointe javelot doit retirer le cuivre de la plaque mais sans trop attaquer la couche de bakélite. Donc un peu de poussière de cuivre et pas beaucoup de poussière blanche sont de bons indicateurs d'une gravure qui se déroule bien.
CNC gravureEnCours.png CNC gravureEnCours2.png
Vous pouvez suivre la progression de la gravure en simultané sur la vue 3D. Lorsque la gravure est terminée avec succès, la broche s'immobilise en position haute et une pop-up vous indique la fin de job. Arrêter la broche par son interrupteur. Dépoussiérer au besoin sans bouger ni la carte ni la broche et en prenant garde à la pointe javelot.

Pointage des trous de perçage

Lorsque la gravure des pistes et du contour est terminée, on enchaîne avec le pointage des trous pour les perçages. A l'heure actuelle, le fab ne dispose pas de fraises permettant le perçage et le détourage des cartes réalisées. L'opération réalisée à cette étape sera le pointage des trous avec la fraise javelot pour faciliter ensuite leurs perçages avec la mini-perceuse et les forêts adéquats. Il est primordial de laisser la carte collée au martyr telle qu'à l'étape précédente et de ne pas toucher aux origines machine paramétrées dans le panneau Position. La position physique de la carte et les origines sont les mêmes pour le pointage. Ouvrir maintenant le fichier G-code contenant les perçages (drill.ngc) depuis le panneau GCode project. La vue 3D vous montre l'aperçu du job a réaliser. Lancer la gravure sans l'étape de simulation sinon les origines seront perdues. (défaut du logiciel corrigé à l'occasion d'une version ultérieure) Lorsque la gravure est terminée, arrêter la broche et décoller la plaque.
CNC pointagePercages.png
Voici le résultat vu par transparence :
CNC carteTerminee parTransparence.png

Remise en état de la CNC

  • Ramener la machine à une position proche de son origine
  • Arrêter et débrancher électriquement la machine
  • Démonter la pointe javelot ou remettre son étui caoutchouc de protection
  • Nettoyer la machine avec un aspirateur et dégager poussières et copeaux du châssis et du martyr avec un pinceau. Le nettoyage ne se limite pas à la machine, les abords en font partie aussi…

Finitions

La carte est maintenant gravée, les trous pointés. Il faut la terminer pour pouvoir implanter les composants. Penser à porter des lunettes de protection : un forêt qui casse, une bavure qui saute est toujours possible !

Perçage

Le pointage des trous va faciliter grandement le perçage. En effet, la couche de cuivre ayant été perforée, le forêt ne va pas riper. Monter un forêt de diamètre de 0,8 mm sur la mini perceuse à colonne. Positionner un martyr avec un trou large sous la colonne.
Mini-perceuse martyr.png
Percer les trous pointés avec le forêt de 0,8 mm. Il est possible que votre réalisation nécessite des trous plus larges pour certains composants notamment de puissance. Démonter le forêt de 0,8 mm et monter un forêt de diamètre supérieur et agrandir les trous au besoin.
Mini-perceuse enAction.png

Ebavurage et polissage

Cette dernière étape a pour objectif d’éliminer tous copeaux de cuivre qui pourrait rester au fond d’une piste et créer un court circuit entre deux zones. Elle permet aussi adoucir les contours des trous de perçage. Pour cela, monter une brosse métallique sur la mini perceuse.
Mini-perceuse brosse.png
Brosser et polir la carte sans trop forcer : le contact avec la brosse génère beaucoup de frottements, vous risquez de bloquer le moteur de la perceuse en appuyant trop fort.
Mini-perceuse brosse enAction.png
A l’issue de cette étape, vous devriez avoir un rendu de ce type là :
PCB termine1.png PCB termine2.png
Il ne reste plus qu'à souder les composants maintenant...

Auteurs

Pila