Après plusieurs mois fabriquer des PCB, j’ai enfin franchi un cap : la création de PCB double face ! Pour tout vous dire, c’est pas vraiment compliqué, mais ça reste quand même un peu tricky 😉
Ce qui est important c’est de définir un processus de production … et de s’y tenir.

Disclaimer : Je décris ici des actions que j’ai réalisées chez moi, sur mon matériel. Je ne peux pas être tenu responsable de tout dommage causé en tentant de reproduire cela chez vous (dommages matériels ou corporels). Vous êtes responsables de vos actions !

Les outils utilisés

Pour créer mes PCB voici les outils que j’utilise :

  • KiCad pour la création du schéma électronique et la conception du PCB. jusque là, rien d’extraordinaire
  • FlatCam pour la génération des GCode. C’est lui qui va nous permettre d’aligner les faces du PCB
  • Candle pour piloter la CNC. Il m’est devenu indispensable pour la fonction de compensation de la planéité (heatmap).

Les deux méthodes pour produire un PCB double face

FlatCam dispose d’une fonctionnalité native pour la création de PCB double face : il ajoute sur chaque face des trous dédiés à l’alignement. Ainsi, au moment de graver le PCB, il suffit de le retourner et de le placer dans les encoches percées par la face précédente. C’est une méthode très simple et efficace, mais elle provoque une usure plus rapide de la planche martyr. C’est pourquoi j’ai préféré utiliser une autre approche.

La seconde approche consiste à créer point fixe sur la CNC qui deviendra la référence pour y placer le coin du PCB. Pour que cela fonctionne, il va cependant falloir ruser un peu … enfin je veux dire : intégrer la symétrie du PCB dans l’ensemble du processus de production. Je m’explique.

Version courte

Lors de la conception dans Kicad, il va falloir tracer et exporter l’empreinte du PCB qui sera utilisé par la CNC (j’utilise la couche user1) et l’exporter au même titre que le EdgeCut et les faces Front et Back.

Dans FlatCam, il faut définir le point zéro afin qu’il corresponde au point Working Coordinates (0,0) que l’on configure sur la CNC. Ensuite, peut sélectionner la face Back et le contour du PCB et faire une symétrie pour inverser la gravure.

Sur la CNC il faut placer un support fixe permettant de placer de manière fiable et reproductible le PCB à l’emplacement attendu. Et c’est bien là la difficulté : on ne peux pas utiliser les coordonnées 0,0 de la CNC car on ne peux pas fixer correctement le PCB sur un bord. il faut donc faire des essais jusqu’à trouver les bonnes coordonnées et définir un point de référence parfait par rapport au coin du PCB.

Enfin on peux graver le circuit : la face Back, puis on retourne le PCB et on grave le reste (Front, trous, EdgeCuts). Et tada !

Note : Normalement, on devait utiliser le coin du PCB comme repère 0,0. C’est en effet, plus logique et plus simple, mais c’était sans compter sur Candle 🙁 En effet, la fonction de Heatmap de Candle commence toujours par faire un probe du point point 0,0 même si il est en dehors de la zone de probing définie ! Il convient donc d’inclure un décalage du point 0,0 par rapport au coin du PCB. Typiquement, j’ajoute 10mm en X et en Y.

Version Longue

Préparation de la CNC

Dans cette étape nous allons fabriquer un nouveau point d’origine pour les gravures de la CNC dédié aux PCB.

Tout d’abord, on va installer un support dédié aux PCB sur la CNC. Je m’en suis créé un moi-même, imprimé en 3D et au dimensions de ma CNC3018 pour utiliser les trous de fixation de la plaque d’origine. Ainsi mes PCB seront toujours placés au même endroit même lorsque je les retourne.

Ensuite il faut trouver quelles sont les nouvelles coordonnées du point d’origine, c’est-à-dire le point en bas à gauche de mon PCB. Ici, je n’ai pas de méthode miracle. J’ai créé un PCB double face avec une pastille de chaque coté reliées par un trou. Et j’ai fait des essais jusqu’à trouver les bonnes coordonnées. Cela ne vous servira à rien, mais dans mon cas il s’agit de X=81,2mm Y=40,8mm. Il faut garder ces valeurs bien au chaud car on en aura besoin plus tard dans Candle 🙂

Préparation du PCB (KiCad)

Ici on va créer son PCB comme d’habitude dans KiCad, à deux subtilités près.

  1. On va utiliser la couche User.Drawings pour tracer le PCB brut qui sera posé sur la CNC. Dans mon cas, un PCB standard de 10cm x 7cm. Ensuite, on trace la découpe finale du PCB avec la couche Edge.Cuts.
    Le contour du PCB brut est indispensable pour « retourner » la face back dans FlatCam tout en restant aligné à la face Front.
  2. On va placer le point d’origine des « coordonnées de perçage/placement » à 1cm du bord bas/gauche du PCB. C’est très important pour la suite. Il ne faut pas placer l’origine des coordonnées sur un bord du PCB sinon on va endommager la pointe de la CNC au moment de créer la HeatMap !

Lors de la génération des fichiers de traçage et de perçage, ne pas oublier de cocher « Utiliser origine de perçage/placement ».

Préparation du GCode (FlatCam)

La première étape est de charger tous les fichiers :

  • les 4 fichiers Gerber (Front, Back, Edge.Cuts et User.Drawings)
  • les 2 fichiers Excellon (PHT et NPTH)

On obtient alors un affichage équivalent à Kicad. Mais ça ne va pas !
Pour graver la face Back correctement, il faut la retourner.
Il suffit de sélectionner les fichiers User.Drawings et Back, d’aller dans l’onglet « Transform Tool », et de cliquer sur « Mirror (Flip) » > « Flip on Y ».

On peut alors générer les fichiers GCode comme d’habitude.

Attention : seule la face Back a été retournée, il faudra donc commencer la gravure CNC par la face Back puis retourner le PCB pour graver le Front ainsi que les trous de perçage et la découpe du PCB.

Back

Front et perçages

Gravure du circuit avec Candle

Le premier point critique est calibrer la nouvelle position Home de la CNC en tenant compte du support de PCB installé et des 1cm de décalage du point 0,0 qui a été définit dans KiCad !

Dans candle, on va commencer par créer une fonction custom qui va permettre la configuration automatique de l’origine XY. Pour cela, on va dans le menu : Service > Settings > User Commands.
Et on ajoute une nouvelle commande:

$H ; Homing XYZ complet (machine)
G90 ; Mode positionnement absolu
G92 X0 Y0
G0 X91.2 Y50.8 ; Déplacement vers la position cible (j'ai ajouté 10mm en X et Y par rapport à mes valeurs d'origine pour ne pas tomber dans le coin)
G92 X0 Y0 ; Définit cette position comme l’origine XY des "work coordinate"

On peut alors fixer le PCB et lancer le Homing de la CNC avec cette nouvelle fonction.

Ensuite on va charger le Gcode de la face « Back » et faire la Heatmap, puis lancer la gravure des pistes de la face « Back ». Ne rien graver d’autre pour l’instant.

Retourner le PCB et finir la gravure

Retourner le PCB en plaçant le coin au fond à gauche de la CNC au bord à gauche. Cela revient à retourner le PCB en suivant l’axe X de la CNC. Pour ma part, c’est le coin au bord à gauche qui sert de référentiel.

Maintenant, on peut faire la heatmap de la face « Front » puis lancer successivement :

  • les pistes de la face « Front »
  • les trous NPTH
  • les trous PTH
  • le contour du PCB (Edge)

Conclusion

Voici la méthode que j’utilise pour réaliser les PCB double face. En synthèse :

Avantages:

  • Ne nécessite pas d’actions complexes sur la CNC
  • Résultats rapides et reproductibles
  • Pas d’usure prématurée des planches martyr

Inconvénients:

  • Premier étalonnage laborieux pour trouver l’origine du PCB
  • Nécessite une prise en compte des contraintes d’origine à toutes les étapes
    • Placement de l’origine dans Kicad et du contour du PCB source (pour le retournement)
    • Actions spécifiques dans Flatcam pour retourner la face back
    • Besoin d’un support fixe sur la CNC

By Kevin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *