Logiciel utilisé : Inkscape
Machine utilisée : Sienci Mill One
Temps de réalisation : ~30′-60′ selon la complexité (hors conception et assemblage).
Prix : ~2.- pour une plaque de 75×100 mm
Résumé :
Réalisation d’une plaque pour un circuit électronique à partir d’un plan. La préparation est réalisé sous Inkscape et le fraisage effectué sur la Mill One du SEM Lab.
Avant propos :
Cet article ne parle pas de la conception du circuit électronique et la façon d’élaborer le plan. Celui-ci peut être réalisé sous différents logiciels (Eagle, Fritzing, TinkerCAD, etc.).
La préparation de la fabrication peut se faire sous différents logiciels. FlatCAM et un excellent logiciel libre qui permet de le faire directement à partir des fichiers .GBR, mais il n’est pas installé sur les postes pédagogiques et son utilisation est difficile (voir le tutoriel sur YouTube). De plus, la fraiseuse du SEM Lab ne peut pas (encore) assurer une précision suffisante pour réutiliser directement la plupart des schémas. Ici, la préparation se fait donc sous Inkscape à partir d’un fichier PDF.
Étapes de « CAO » :
Remarques : Afin de faciliter la soudure des composants, ceux-ci devraient se retrouver sur la face opposée de la plaque et donc le plan de découpe doit être inversé (miroir) par rapport à celui de l’assemblage.
0 – Ouverture d’Inkscape et préparation des dimensions. Après avoir démarré Inkscape, réglez les dimensions du document dans « propriétés du fichier » (Maj+Ctrl+D) selon celles de votre plaque. Assurez-vous que les unités soient bien en mm et que l’échelle soit bien de 1.
1 – Importation du plan. Importez votre plan sous Inkscape. Vérifiez les dimensions du circuit (si besoin à l’aide de l’outil règle – « M ») puis positionnez-le correctement sur votre document avec l’outil de « Sélection générale » (F1). Gardez si possible une marge minimale de 5mm.
2 – Préparation des pistes. Sur un nouveau calque, tracez les lignes de découpes avec l’outil « Rectangle » (F4) et celui de « Tracer des courbes de Bézier » (Maj+F6) en vous servant de l’image importée comme guide. Sélectionnez une épaisseur de contour de 1mm dans l’onglet « Style de contour » de la boîte « Fond et Contour » (Maj+Ctrl+F). Pour accélérer le processus, n’hésitez pas à copier-coller les tracés similaires, et les aligner avec la boîte d’Alignement (Maj+Ctrl+A). Après une sélection générale (Ctrl+A), convertissez tous les objets en chemin (Maj+Ctrl+C).
3 – Préparation des trous. Sur un nouveau calque, créez une ligne droite avec l’outil de « Tracer de courbe de Bézier » (Maj+F6). Avec l’outil d’édition des nœuds (F2) et l’aide du magnétisme, amenez le deuxième point sur la position du premier. Avant de désélectionner ce point, modifiez sa coordonnée X (ou Y) de 0,01mm (située juste sous la barre des menus). Si les 2 points sont situés exactement au même endroit, il est très difficile de sélectionner l’objet, d’où la nécessité de correction. Avec la boîte « Fond et Contour » (Maj+Ctrl+F), définissez une largeur de contour de 1mm et des extrémités arrondies. Votre droite devrait maintenant ressembler à un cercle de 1mm de diamètre. Copier-coller cet objet à l’emplacement de tous les trous à percer. La boîte d’alignement (Maj+Ctrl+A) peut vous aider à les aligner rapidement.
4 – Préparation pour l’exportation G-code. Sur un nouveau calque, ajoutez des « points d’orientation » par le menu « Extensions -> Gcodetools ». Définissez la profondeur à -0,4mm en mode 2-points. Vous devriez voir apparaître 2 coordonnées sur votre dessin. Puis, toujours dans le menu « Extensions -> Gcodetools », ajoutez un outil cylindrique à partir de la « Bibliothèque d’outils ». Une fois l’outil apparu sur votre dessin, corrigez les valeurs à l’aide de l’outil « Texte » (F8) pour obtenir les valeurs suivantes : Feed=400 et Penetration Feed = 450, Depth Step = 2. Vous pouvez corriger également les autres valeurs, mais celles-ci n’impacteront pas la fabrication. Sauvegardez votre fichier.
5 – Export du G-code pour le fraisage. Cachez les calques inutiles (image importée et trous) puis sélectionnez les pistes (Ctrl+A après avoir sélectionné le calque en question). Dans le menu « Extensions -> Gcodetools », choisissez « Chemin vers Gcode » et entrez les valeurs suivantes :
- Onglet « Chemin vers Gcode » : Tolérance et Profondeur à 0. Fonction de profondeur = d
- Onglet « Option » : Échelle = 1 et Décalage = 0
- Onglet « Préférence » : Hauteur Z sûre = 8 et unité en « mm ». Assurez-vous que le dossier soit accessible en écriture. (Sous Linux /home/xxx/ où xxx est le nom d’utilisateur)
Avant de cliquer sur « Appliquer », resélectionnez l’onglet « Chemin vers Gcode ». Une fois terminé, fermez la boite de dialogue et annulez la dernière opération (Ctrl+Z). Si vous n’annulez pas l’opération, le fichier SVG sera sérieusement alourdi et générera des erreurs ultérieures. Vérifiez que le fichier G-code a été correctement produit (p.ex avec un logiciel comme CAMotics).
6 – Export du G-code pour le perçage. Cachez le calque des pistes et affichez celui des trous. Modifiez les paramètres suivants de l’outil cylindrique avec l’outil Texte (F8) : Penetration Feed = 200. Corrigez également la dernière coordonnée du point d’orientation (de -0.4 à -2). A notez que ces modifications peuvent également être effectuées à posteriori sur le fichier G-code, comme indiqué dans ce tutoriel ou ci-dessous dans l’exemple. Sélectionnez tous les trous (Ctrl+A sur le bon calque) puis relancez la création du G-code comme précédemment, en vous assurant de changer le nom du fichier de destination. Comme avant, supprimez la dernière opération (Ctrl+Z) et vérifiez le fichier G-code produit.
Exemple :
Pour cet exemple, j’ai choisi le circuit du jeu du Simon réalisé lors d’un projet avec les élèves. Le schéma a été créé sous Fritzing par E. von Aarburg pour accueillir un Arduino Nano et les différents composants du jeu, disposés sur des barrettes pour un montage/démontage facile des composants. Le fichier fourni est un PDF du schéma en miroir. Aucune transformation n’est donc nécessaire avant préparation des découpes.
Remarques : Pour améliorer la précision du fraisage sur la « Mill One », celui-ci devrait se faire en mode « portrait », mais pour améliorer la lisibilité de ce tutoriel, tout ce qui suit a été réalisé en mode « paysage ». Sur une plaque de 75x100mm la différence de précision reste toutefois faible. Tous les tracés seront repérés par un contour de 1mm de large. La pointe à graver qui sera utilisée possède un diamètre inférieur, mais le manque de précision de la fraiseuse ne me permet pas de garantir mieux que ce millimètre.
Je commence donc par ouvrir Inkscape et dimensionner correctement mon document à 75x100mm. Je désactive le magnétisme pour me faciliter le travail ultérieur.J’importe le PDF sur un calque, le positionne au centre du document (en conservant au moins 5mm de marge) et je vérifie que les dimensions soient correctes à l’aide de la règle (M).
Je crée un nouveau calque que j’appelle « Fraisage » et j’utilise l’outil « Rectangle » (F4) pour créer le détourage d’une des pistes en me servant de l’image importée comme référence. Je vérifie que le contour est bien de 1mm et qu’il n’y a pas de fond grâce à la boîte « Fond et contour » (Ctrl+Maj+F). La couleur du contour n’a pas d’importance mais pour bien visualiser mon travail je choisi le rouge, qui se démarque clairement du noir de l’image de référence.
Pour gagner du temps, je copie-colle mon rectangle sur les pistes de mêmes dimensions, mais seulement une sur deux (un tracé ultérieur isolera les autres). J’utilise l’outil d’alignement (Ctrl+Maj+A) pour les aligner et les distribuer le plus rapidement et correctement possible.
Une fois mes rectangles terminés, je passe aux tracés par « courbes de Bézier » (Maj+F6). Cela me permet d’isoler les pistes restantes et de réaliser les pistes plus « compliquées ». J’utilise la touche « Ctrl » lors de mon tracé pour conserver des lignes le plus horizontal et vertical possible. Je corrige certains segments avec l’outil d’édition des nœuds (F2) après avoir réactivé le magnétisme, afin d’avoir un alignement « parfait ». Sur la photo ci-contre, le tracé est en rose et plus fin que les rectangles, afin de bien le différencier des autres. L’épaisseur et la couleur n’ont aucune influence sur la génération du G-code et le fraisage final. On constate également que je repasse sur certaines découpes, car il n’y a aucun gain à s’assurer d’avoir des segments isolés. En effet, le fraisage ne sera pas plus rapide (car la montée/descente de la fraise est plus lente que le simple déplacement horizontal), et cela me permet d’assurer que les pistes soient bien isolées (la précision de la fraiseuse n’étant pas garantie au dixième de millimètre).
On notera également qu’il n’est pas nécessaire de respecter « à la lettre » le tracé original. En effet, seuls les points de départ et d’arrivée sont imposés. Tant qu’une piste n’en coupe pas une autre, le tracé exacte importe peu. Je me permets également d’ajouter du texte avec l’outil « Texte » (F8) dans l’espace « vide » pour signer la plaque et indiqué qu’il s’agit du jeu du Simon. Je sélectionne tous les objets du calque « Fraisage » par un Ctrl+A puis je les converti en chemin (Maj+Ctrl+C).
Je sauve mon fichier et ajoute un nouveau calque que je nomme « Perçage ». Avec l’outil de « tracer de courbes de Bézier » (Maj+F6), je crée un petit segment en dehors de tout autre tracé. Avec la boîte « Fond et contour » (Maj+Ctrl+F), je paramètre le contour à 1mm et la forme des débuts/fins de tracés en arrondi. Puis je sélectionne l’un des 2 points avec l’outil de sélection des noeuds (F2) et, après avoir vérifié que mon magnétisme était bien activé, j’amène ce point vers l’autre point du segment. Avant de déselectionner le point, je viens corriger sa coordonnée X de 0,01mm afin que les 2 points ne soient pas tout à fait superposés. Ce segment ressemble désormais à un cercle de 1mm de diamètre.
Après l’avoir sélectionné avec l’outil de sélection générale (F1), je le coupe (Ctrl+X) puis le colle (Ctrl+V) dans chacun des « trous » à prévoir. J’utilise la boîte d’Alignement (Maj+Ctrl+A) pour aligner et distribuer correctement ces segments sur les longs enchaînements, en particulier si mon positionnement lors du collage laisse trop à désirer.
Les étapes de « conception » sont maintenant terminées et m’ont pris moins de 10 minutes. En cachant sélectivement les calques, je vérifie que chacun contient bien ce qu’il doit contenir et j’effectue une sauvegarde.
On passe ensuite à la création des fichiers pour la fraiseuse CNC. Je commence par créer un nouveau calque que j’appelle « CNC ». J’y ajoute les points d’orientation par le menu « Extensions -> Gcodetools -> Points d’orientation ». J’entre les paramètres corrects (mode 2-points et profondeur à -0.4) et je confirme. Une fois ceux-ci ajoutés, je ferme la boite de dialogue et je vérifie qu’ils soient correctement placés (le point <0;0> représente l’origine et le point <100;0> doit être situé 10cm plus à droite).
J’ajoute maintenant un « outil cylindrique » à partir du menu « Extensions -> Gcodetools -> Bibliothèque d’outils ». Après l’ajout de celui-ci, je ferme la boite de dialogue et sélectionne l’outil « Texte » (F8). Je double-clique dans les valeurs à corriger et j’entre au clavier les bonnes valeurs (voir précédemment). On remarque que je n’ai pas choisi des valeurs identiques pour la pénétration et le déplacement. Cette différence n’a pratiquement pas d’influence sur la fabrication, par contre elle me permettra de facilement rechercher sélectivement ces paramètres avec un éditeur de texte lors des prochaines étapes.
Je vais commencer par créer le fichier pour le fraisage. Je m’assure donc que seuls les calques « CNC » et « Fraisage » soient visibles (les autres étant cachés). Je sélectionne tous les chemins du calque « Fraisage » par un Ctrl+A et je vérifie qu’il n’y a pas d’éléments sélectionnés en dehors de ceux d’intérêts. Puis j’ouvre la boîte de dialogue à partir du menu « Extensions -> Gcodetools -> Chemin vers Gcode ».
En commençant par l’avant-dernier onglet, j’entre les paramètres pertinents (voir précédemment), en particulier je nomme le fichier gcode « Simon-fraisage.nc ». Puis une fois tous les paramètres rentrés, je clique sur Appliquer. Une fois la génération terminée, je ferme la boite de dialogue puis j’annule la dernière opération par un Ctrl+Z. Les flèches qui sont apparues vont alors disparaître, mais le fichier g-code est toujours bien là, à l’emplacement sauvegardé. J’en profite pour ouvrir le fichier g-code avec CAMotics, délaissant un temps Inkscape pour vérifier le g-code généré. Tout étant bon, je peux passer à la suite.
Je cache le calque « Fraisage » et fait apparaître le calque « Perçage ». Je sélectionne tous les objets et je génère le fichier g-code comme précédemment (en le nommant cette fois « Simon-percage.nc »). Je n’effectue pas la correction initiale des paramètres de vitesse et de profondeur, car celle-ci sera faite plus rapidement sous un éditeur de texte. Encore une fois, j’annule la dernière opération puis je vérifie mon fichier g-code avec CAMotics. Tout étant bon, je sauve le fichier Inkscape et je quitte le logiciel.
Il me faut maintenant corriger les valeurs dans le fichier « Simon-percage.nc ». J’ouvre le fichier dans un éditeur de texte (comme gedit ou kate). J’utilise la fonction « Trouver et Remplacer » pour effectuer (tous!) les remplacements suivants, avant d’enregistrer le fichier :
- « F450 » -> « F200 »
- « Z-0.4 » -> « Z-2 »
Mes deux fichiers g-code sont désormais prêts. Cette partie m’aura prise 5 minutes, et j’en ai eu en tout pour une quinzaine de minutes de CAO.
Étapes de FAO :
Remarques :
Les fraiseuses numériques du SEM Lab, dont la « Mill One » ici utilisée, sont composées de 3 éléments ayant chacun leur alimentation et leurs boutons : Le Raspberry Pi disposant d’un écran tactile et d’un clavier ; Le système motorisé de déplacement de la fraiseuse, que nous nommerons « CNC » par la suite ; Une affleureuse montée sur une fixation, faisant tournée les fraises et que nous nommerons « fraiseuse ».
Il est important de bien positionner la plaque de cuivre sur le plateau de la CNC. Pour cela, il suffit d’utiliser les lignes du plateau ou le gabarit à disposition. Le gabarit est plus long à installer, mais il permet d’enchaîner les fraisages de plaques sans devoir réinitialiser tous les paramètres entre les différentes pièces.
Les fraiseuses sont des outils pouvant occasionner des blessures en cas de mauvaise utilisation. Seuls les enseignants sont autorisés à démarrer les fraiseuses, en aucun cas les élèves.
0 – Copie des fichiers G-code sur une clé USB. Les Raspberry Pi pilotant les CNC du SEM Lab n’étant pas sur le réseau, il est nécessaire de copier les fichier g-code (.nc ou .ngc) sur une clé USB.
1 – Préparation de la fraiseuse. Allumez le Raspberry Pi (RPi) pilotant la CNC « Mill One ». Une fois démarré, branchez la clé USB (il n’est pas nécessaire d’effectuer une copie des fichiers sur le bureau, mais pour les fraisages très long, il est recommandé de le faire). Démarrez le logiciel bCNC grâce à l’icône sur le bureau et cliquez sur « Exécuter » lorsque vous y êtes invité. Une fois le logiciel démarré, initialisez la connexion avec la CNC en cliquant sur l’icône USB « Ouvrir ». Une fois la connexion établie, vous pouvez brancher la prise électrique de la CNC sur le secteur (le ventilateur de la CNC doit alors démarrer) et vérifiez qu’elle réponde bien en utilisant les flèches du clavier du RPi (la fraiseuse doit alors bouger).
2 – Installation de la plaque, de la pointe à graver et mise à zéro. Placez la plaque sur le plateau de la CNC, surface cuivrée vers le haut et fixez-la (p.ex. avec le gabarit). Installez ensuite la pointe à graver dans la fraiseuse et faite-la tourner pour vous assurez que tout est en ordre. Positionnez la fraiseuse sur le coin inférieur gauche de la plaque cuivrée et effectuez une mise à zéro des coordonnées de travail X-Y (bouton « XY=0 » dans l’onglet « Contrôle » de bCNC). Positionnez ensuite la fraiseuse au centre de la plaque cuivrée et descendez-la (avec la touche 3 du pavé numérique) pour que la pointe touche la surface cuivrée. Effectuez la mise à zéro de la coordonnée de travail Z (bouton Z=0 dans bCNC) puis remontez la fraiseuse (touche 9 du pavé numérique).
3 – Fraisage des pistes. Dans l’onglet « Fichier » de bCNC, ouvrez votre fichier g-code pour les pistes. Vérifiez que le tracé qui apparaît soit correct. Réglez la fraiseuse sur 20’000 rpm (position 3,5) et allumez-la. Puis dans l’onglet « Contrôl », appuyez sur le bouton de démarrage. Une fois le fichier exécuté, éteignez la fraiseuse.
4 – Installation de la mèche et remise à zéro du Z. Levez la fraiseuse (touche 9 du pavé numérique) puis désinstaller la pointe à graver. Installez la mèche de 1mm et vérifiez la rotation comme précédemment. Effectuez une nouvelle mise à zéro de la coordonnée de travail Z (comme précédemment) puis remontez la fraiseuse (touche 9 du pavé numérique).
5 – Fraisage des trous et extinction. Comme précédemment, chargez le fichier g-code adéquat et vérifiez-le. Démarrez la fraiseuse et lancez le programme. Une fois terminé, éteignez la fraiseuse, démontez la mèche et désinstallez la plaque de cuivre. Débranchez l’alimentation de la CNC et fermez la connexion dans bCNC. Quittez le logiciel et éteignez le RPi. Effectuez un rapide nettoyage de la machine avec l’aspirateur.
Exemple :
Muni d’une clé USB avec mes deux fichiez g-code, je me rend vers la machine que j’allume selon la procédure : d’abord le Rasberry Pi (sur lequel je copie mes fichiers et démarre bCNC), puis la CNC (une fois l’appariement effectué).
Je déplace la fraiseuse à l’aide des flèches du clavier pour monter ma plaque de cuivre à l’aide du gabarit (surface cuivrée vers le haut) sans être gêné. J’installe ensuite la pointe à graver dans la fraiseuse en me servant des clés à disposition puis j’allume brièvement la fraiseuse pour m’assurer que la fraise est bien installée.
Je positionne la fraiseuse sur le repère du gabarit (d’abord avec les flèches du clavier puis en tournant manuellement les axes de la CNC) puis j’effectue une mise à zéro des coordonnées de travail X-Y (bouton « XY=0 » dans l’onglet « Contrôle » de bCNC). Je positionne ensuite la fraiseuse vers le centre de la plaque cuivrée (avec les flèches du clavier) puis je la descend (avec la touche 3 du pavé numérique) pour que la pointe touche presque la surface cuivrée. Je finalise la position manuellement en tournant l’axe de la CNC puis j’effectue la mise à zéro de la coordonnée de travail Z (bouton Z=0 dans bCNC). Je remonte de quelques millimètres la fraiseuse (avec la touche 9 du pavé numérique).
Je charge le fichier « Simon-Fraisage.nc » sur bCNC, j’allume la fraiseuse après avoir réglé la vitesse sur 3,5. Je démarre le programme avec le bouton « Play » dans bCNC. Ce fraisage dure environ 6 minutes.
Une fois le fraisage terminé, j’éteins la fraiseuse puis je la relève (touche 9 du pavé numérique). Je désinstalle la pointe à graver que je remplace par la mèche de 1mm et je vérifie la rotation (en allumant brièvement la fraiseuse). Avec les flèches du clavier (exclusivement !), je déplace la fraiseuse pour me positionner vers le centre de la plaque, dans une zone sans gravure, puis je redescends (d’abord avec la touche 3 avant de poursuivre manuellement). Je prend garde à ne surtout pas toucher manuellement les axes X et Y, je ne corrige que l’axe Z. Je remets à zéro la coordonnée Z avec le bouton adéquat de bCNC (Z=0). Je remonte la fraise de quelques millimètres comme avant.
Je charge le fichier « Simon-percage.nc » dans bCNC et après avoir allumé la fraiseuse, je lance le perçage avec le bouton « Play ». Ce fraisage prend environ 5 minutes.
J’éteins alors la fraiseuse et je démonte la mèche après avoir relevé la tête de quelques centimètres avec la touche 9. Je démonte le gabarit et récupère ma plaque. Comme celle-ci est correctement réalisée et que je n’en ai pas d’autre à faire, je débranche l’alimentation de la CNC puis je désapparie celle-ci sous bCNC. Je quitte le logiciel et j’éteins le RPi. Je nettoie la machine.
On remarque que les trous ne sont pas parfaitement alignés , mais que le tout se situe dans la marge de tolérance. La soudure pourra donc être effectuée sans grande difficulté.
Les phases d’installation et de nettoyage m’auront prises environ 10 minutes, ce qui ajouté au 11 minutes de fraisage, porte cette partie à 20-25minutes au final.