Graver des informations dans le plan de masse avec DesignPro
- parentpages:
- Fraiseuse de circuits imprimés
- documentation:
Présentation
Vue d'ensemble
Quand on fait du prototypage, on réalise une pièce souvent unique, et non en série, et il faut minimiser le nombre d'étapes de réalisation pour ne pas perdre trop de temps.
Dans le cadre du fraisage de circuits imprimés, on laisse souvent de côté la couche Silkscreen, car elle est complexe et longue à réaliser. De plus, à apprentiLAB, nous n'avons pas le matériel nécessaire pour faire de la sérigraphie.
Or, cette couche Silkscreen peut être très utile car elle apporte des informations utiles (valeurs et références des composants, licence, autres textes, dessins…), et on devra garder l'aperçu de la carte ou une impression papier du Silkscreen au moment de souder (pour savoir quel composant va où), et au moment de regarder la carte pour la dépanner.
On peut néanmoins graver ces informations en négatif, dans les zones où il reste du cuivre, ce qui ne prend pas beaucoup de temps d'usinage en plus mais peut apporter de la clarté au circuit.
C'est possible en prenant en compte quelques contraintes avant l'export de Gerber dans KiCAD, et en faisant quelques manipulations dans DesignPro/Converter. Il existe aussi une autre méthode, plus complexe, d'édition manuelle du code du Gerber, que nous détaillerons à la fin pour information, mais qui n'est pas la plus simple.
Objectif
Dans ce tuto, on va utiliser un fichier démo de PCB assez simple de KiCAD, le modifier pour générer avec DesignPro des parcours de gravure des valeurs des composants, pour enfin graver le circuit sur une plaque de cuivre monocouche.
On apprendra donc comment réaliser des gravures en négatif afin de graver des informations en plus sur le circuit, tout en se perfectionnant sur KiCAD et DesignPro.
Lexique
Voir lexique des pages Fraiseuse de circuits imprimés
- CMS / SMD : Composant Monté en Surface / Surface Mounted Device. À l'opposé des composants traversants, les composants montés en surface sont soudés d'un seul côté de la carte, ils ne nécessitent pas de trous de perçage et sont plus petits, ce qui permet un gain de place sur le circuit mais est plus minutieux à souder (on dispose pour cela de pannes de fer à souder fines, ou d'un four à refusion).
- PCB : Printed Circuit Board, circuit imprimé.
- Gerber : format de fichier standard pour les circuits imprimés. C'est un export, couche par couche, des formes du circuit : pistes, pastilles, textes… C'est ce type de fichier qu'on envoie à un fabricant pour réaliser notre circuit, ou qu'on importe sur le logiciel de la fraiseuse pour générer les parcours d'outils.
- Gravure “à l'anglaise” : en fabrication de PCB artisanale, désigne le mode de fabrication avec une fraiseuse, par opposition au perchlorure de fer.
- CI : Circuit Intégré, puce électronique à base de semi-conducteurs réalisant une fonction plus ou moins complexe : porte logique, compteur, mémoire, traitement du signal, communication série, micro-processeur, etc.
et KiCAD
- PCB : Printed Circuit Board / Circuit Imprimé
- BOM: Bill Of Materials / liste des composants ou pièces nécessaires à la réalisation d'un projet. On peut l'exporter automatiquement dans KiCAD, et avoir ainsi un tableau avec les références, valeurs, boitiers et quantités des composants utilisés sur la carte.
- Routage : quand on conçoit un circuit imprimé, on dessine des pistes pour relier plusieurs points qui partagent une même tension, un même signal. Ces pistes permettent de remplacer des fils électriques et donc de gagner en place et en lisibilité du circuit. On appelle cette action de conception, où on trace des pistes, le routage.
Ce sur quoi ce tutoriel s'appuie
Prérequis :
- Concevoir un circuit imprimé avec KiCAD
- Utiliser la fraiseuse de circuits imprimés AutoLAB, et son logiciel DesignPro.
Ressources :
- Manuels (voir pages de doc précédentes)
Ce dont j'ai besoin pour faire ce tutoriel
Matériel :
Fichiers :
- Projet démo ECC83 installé de base avec KiCAD, dans :
Program Files\KiCad\share\kicad\demos\ecc83
(Windows), ou tout autre projet assez simple (monocouche, traversant, gravure assez large)
Étapes du tutoriel
Méthode directe : dans KiCAD + DesignPro
Préparer les éléments dans KiCAD
Éditer un élément texte
Ouvrir le circuit dans KiCAD, en enregistrer une nouvelle version (on veut garder la version normale si on commande en usine).
On va voir comment éditer tous les éléments qu'on veut graver dans le plan de masse afin qu'ils soient au bon endroit et à la bonne taille.
On va aussi les placer dans une couche non-utilisée, par exemple Eco1.User, afin de les séparer des informations qu'on ne veut pas graver (par exemple certaines infos redondantes, les dessins des composants…), qui sont souvent dans les couches Silkscreen, Fab, etc. Ce serait mieux dans l'idéal de les dupliquer, mais ce n'est pas possible de le faire pour un groupe d'éléments actuellement (KiCAD 5.1.10).
Éditer un texte de façon isolée : sélectionner le texte (pas le composant entier), et cliquer sur E pour afficher les propriétés. Changer de couche (par exemple Eco1.User), d'épaisseur de texte, ainsi que de largeur/hauteur dans le cas d'un texte si le résultat devient trop tassé à cause de l'épaisseur.
L'épaisseur du trait doit être supérieur à la largeur de gravure
Sinon le logiciel DesignPro plante au moment de la génération des Milling Outlines…Si par exemple on sait qu'on va graver à 0.3 mm, régler l'épaisseur un peu au-dessus (0.4).
Remarques :
- on réalise ici d'une carte monocouche, on n'a donc qu'une face (le dessous), et du texte uniquement sur celle-ci. Dans le cas d'un circuit bicouche, on pourra vouloir mettre du texte d'un seul côté, mais si on en met sur les deux faces on devra générer deux couches distinctes (Eco1.User et Eco2.User), et répéter les opérations.
- on ne grave ici que du texte. Si on veut ajouter des dessins qui étaient dans la couche Silkscreen, la technique est similaire, il faut vérifier que le trait est assez large et que le dessin n'empiète sur aucune piste ou pastille. On n'a pas en général besoin d'éditer les dessins en lot avec le menu Edit Text and Graphic Properties, il vaut mieux faire au coup par coup pour avoir plus de contrôle et de visibilité sur nos modifications. Vérifier les apertures quand on charge le fichier Gerber : ce sont les diamètres et largeurs de trait, qui ne doivent pas être trop fins.
Éditer plusieurs éléments texte
Éditer des textes (valeurs, références de composants) de façon groupée : aller dans Edit/Edit Text and Graphic properties.
Cocher les éléments désirés (Footprint references et/ou Footprint values, en général il vaut mieux ne garder que l'un ou l'autre sinon ça prend trop de place), et cocher le menu Action/Set to specified values.
- Layer : La couche où on les déplace, par exemple Eco1.User
- Line thickness : laisser la valeur par défaut (vide) si on ne s'occupe que de texte.
- Text Width : comme on va épaissir le texte, il vaut mieux l'agrandir aussi, sinon il sera tassé…
- Text Height : idem.
- Text Thickness : épaisseur de texte, doit être supérieure à la largeur de gravure comme vu précédemment.
- Visible : laisser la valeur par défaut (carré = ne change pas). Si on clique, on peut soit cocher la case (rendre tous les éléments sélectionnés visibles), ou décocher (les rendre tous invisibles). Ici, on veut en général tous les garder visibles, quitte à revenir dans ce menu si on veut masquer toutes les références ou toutes les valeurs.
- Italic : laisser la valeur par défaut (carré)
- Keep upright : laisser la valeur par défaut (carré)
Réduire et positionner les éléments
On a ainsi grossi tous les textes, on peut alors cacher/afficher ceux qu'on veut garder ou pas en allant dans leurs propriétés individuelles.
Reste ensuite à les déplacer (déplacer : M, tourner : R) afin qu'ils soient dans le plan de masse, et non à cheval sur une piste ou une pastille (sinon on va les enlever en les gravant).
Ce ne sera pas toujours possible, il faudra parfois sacrifier certains textes, ou encore les raccourcir (par exemple changer “POWER” en “PWR”, en allant dans les propriétés du texte).
Exporter les couches à graver
Enfin, exporter les Gerber des couches nécessaires (Edge cuts, Cu) ainsi que de la couche en plus (Eco1.User). Exporter aussi le fichier Drill bien entendu.
Optionnel : préparer les éléments dans DesignPro
Changer l'épaisseur, la taille ou la position d'un élément dans DesignPro
DesignPro permet aussi de changer l'épaisseur des traits, la taille des éléments, et leur emplacement, mais c'est très peu ergonomique. On peut utiliser ces méthodes si on a déjà commencé à travailler dans DesignPro, et qu'on n'a pas envie de retourner dans KiCAD, de réexporter/importer les Gerber… À garder pour des petites modifications mineures donc.
Dans DesignPro, importer les Gerber qu'on vient d'exporter avec KiCAD.
Changer l'épaisseur d'un texte : il faut modifier l'aperture, c'est-à-dire la forme utilisée pour créer le trait, souvent un rond mais parfois un rectangle. Aller dans le deuxième menu déroulant en haut à gauche de Converter et trouver un diamètre suffisant (par exemple 0.4 ou 0.5mm si on fraise en 0.3).
Changer la taille d'un élément : épaissir le texte ne va pas changer sa largeur et sa hauteur, on va souvent se retrouver avec un résultat boudiné et illisible. Sélectionner l'élément et utiliser le bouton “Makes size larger or smaller” (dans la barre d'outil après les boutons d'import de Gerber, en survolant les boutons on voit apparaître un texte de description). Entrer un ratio, par exemple 2 pour doubler.
Déplacer un élément : sélectionner l'élément et cliquer sur “Move selected data” (un peu après “Makes size larger or smaller”). Le logiciel va ensuite nous demander un vecteur de déplacement (“1. Select base point”, écrit en bas à gauche de la fenêtre) : cliquer n'importe où, par exemple sur l'élément pour définir le point d'origine, puis déplacer la souris, on voit apparaître en pointillé notre vecteur (“2. Select destination point”), et le tracé de l'élément qu'on déplace, cliquer quand l'aperçu correspond à ce qu'on veut déplacer. Ça peut être ambigu car les points où on clique ne sont pas forcément les points où on déplace l'objet, se baser sur l'aperçu.
Générer la gravure dans DesignPro/Converter
Générer les parcours d'outils standards : drill et Cu
Si ce n'est pas déjà fait, importer les Gerber dans DesignPro.
Sauvegarder votre fichier au cas où le logiciel plante.
Générer l'autodrill et les milling outlines “classiques”, celles de la couche Cu.
Générer la gravure des textes en négatif
Puis, générer les milling outlines en assignant la couche Eco1.User (ou Eco2 ou autre) à Pattern Top ou Bottom (selon si elle est dessus ou dessous).
Sélectionner un diamètre d'outil inférieur à l'épaisseur des éléments, tout en étant faisable : min 0.2mm, et si possible un diamètre qu'on va réutiliser pour le reste de la gravure, sinon on devra refaire les manips de réglage de largeur de gravure, qui prennent un peu de temps.
Cliquer sur “Negative Data” (deuxième onglet Detail), option PCB outline layer et pas rectangle.
Une fenêtre s'ouvre pour nous demander si on veut écraser les données de gravure déjà générées, cliquer sur Don't clear.
Nettoyer les parcours inutiles, générer celui de découpe, vérifier
On peut enlever certains parcours d'outil, par exemple le contour de carte n'a pas forcément besoin d'être gravé alors qu'il va être découpé.
Générer la découpe (routing data), sauvegarder et vérifier le résultat en masquant les couches des gerber et ne gardant que celles des parcours d'outils (drill, mill, routing).
Graver !
Voir la page machine pour plus d'instructions sur le fraisage.
Annexe : méthode alternative d'édition manuelle du code Gerber
Une autre méthode consiste à générer un Gerber de la couche de cuivre contenant directement les zones négatives.
C'est assez complexe et long, mais voici les instructions pour info.
Il faut éditer le fichier Gerber à la main car KiCAD (v5.1.10) ne permet pas de donner des éléments comme étant “en négatif”, alors que la norme Gerber définit cette possibilité, à travers une ligne de code de polarité : Dark ou Clear.
Il va falloir mettre nos éléments dans une autres couche (par exemple Eco1.User, comme avec l'autre méthode), les mettre à la bonne taille et bien les disposer… Exporter les Gerbers. En fait on répète toute l'étape du paragraphe preparer_les_elements_dans_kicad.
Ouvrir maintenant les deux gerbers : bottom_cu et Eco1.User. Enregistrer une copie du gerber bottom_cu car on va le modifier.
S'y retrouver dans la structure d'un Gerber créé par KiCAD :
- En-tête : attributs du fichier (lignes commençant par
%TF
), commentaires (G04
), définition des unités (%MOMM*%
) - Polarité :
%LPD*%
(Dark) /%LPC*%
(Clear) - Mode : (
G01
: linéaire) - Liste des apertures (formes de base pour graver notre circuit (ronds, rectangle…) avec leur numéro, leurs caractéristiques.) qui seront utilisées dans le fichier. Ex :
%ADD10C,0.300000*%
- Liste des instructions de dessin :
- commençant toujours par une ligne
D##
(avec un nombre à la place du ##, correspondant aux numéros d'apertures configurés précédemment) - puis liste des tracés pour cet aperture (
X########Y########D##
), avec les coordonnées X et Y, D pour le mode d'interpolation
MO2*
: fin du fichier
Ouvrir le fichier gerber qu'on veut passer en négatif (par exemple Eco1.User), le copier dans le fichier Cu, juste avant la dernière ligne (M02), en laissant des espaces avant et après pour bien identifier la section ajoutée (ne pas toucher à la section initiale du fichier Cu !!!). Viennent alors les modifications sur cette fameuse section à soustraire :
- Supprimer l'en-tête (jusqu'à
%MOMM%
inclus) - Changer la ligne
%LPD*%
en%LPC*%
: tout ce qui sera dessous sera considéré comme des formes à soustraire. - Changer les numéros des apertures pour qu'ils ne soient pas redondants avec ceux définis dans le fichier initial. Par exemple ADD110… au lieu de ADD10… Ne pas oublier de modifier aussi les codes D10… en D110.
- Ne pas toucher aux lignes X####Y####D##…
- S'il y a des lignes non-détaillées précédemment, se reporter à la doc Gerber : https://www.ucamco.com/files/downloads/file_en/436/gerber-layer-format-specification-revision-2021-04_en.pdf
Vérifier le résultat dans KiCAD:GerberView, on est censé bien voir une zone de cuivre avec les textes en négatif. Attention, sur DesignPro:Converter ça ne va pas ressembler à des trous, mais c'est sensé marcher quand même.
Technique trouvée sur ce forum : https://kicad-users.yahoogroups.narkive.com/ks5MTNhh/text-in-copper-plane