Je voulais faire un circuit imprimé pour le CoreXY, pour pouvoir ranger mon petit bazar dans un boitier propre et libérer ma plaque d'essais.

Le truc, c'est que ma fraiseuse CNC souffre d'imprécision... Et comme je dois tracer des pistes et pastilles pour les Pololu (connecteurs espacés de 2.54mm), j'ai un peu peur du résultat...

Et je n'ai toujours pas envie d'utiliser des produits chimiques.

Alors j'ai investigué et j'ai trouvé une technique redoutable de production de PCB, qui devrait être capable de compenser l'imprécision de la machine : les diagrammes de Voronoï.

L'idée est, plutôt que de tracer les contours précis de chaque piste et pastille, d'aller "au plus large", et isoler uniquement les zones nécessaires. Un dessin vaut mieux qu'une longue histoire:

image
Le circuit à graver

Les lignes fines qu'on voit entre les pistes sont celles qui vont être fraisées. Après tout, on n'a pas besoin de faire le tour de toutes les pistes avec précision pour les isoler les unes des autres.

1. Conception du circuit

J'ai tout d'abord conçu mon petit montage avec Fritzing.imageJ'y ai mis mes deux pololu, des connecteurs pour les moteurs, les alimentations et le signal.

On bascule en mode "circuit imprimé", simple couche. Avec l'autoroutage (ou pas... mon circuit était autorouté d'une façon très bizarre), on met en place les pistes de cuivre.

image
Je n'ai pas pu éviter un jumper...

2. Export au format Gerber

Depuis le menu fichier>exporter pour la production>gerber étendu, nous pouvons exporter le circuit imprimé au format Gerber. On obtient un répertoire avec une tapée de fichiers, dont deux nous intéressent particulièrement : pcb_corexy_copperBottom.gbl et pcb_corexy_drill.txt.

Le premier contient les traces du circuit imprimé, et le second les coordonnées des trous à percer (en pouces... sympa les gars).

3. Traitement du fichier Gerber avec Visolate

Traumflug, un membre très actif de la communauté Reprap et coauteur de Teacup, a écrit un programme en java qui permet de générer des zones de Voronoi à partir d'un fichier Gerber.

Après avoir téléchargé Visolate, ouvrons notre fichier gbl.

image

Les pistes et les pastilles apparaissent, avec des couleurs j'te dis même pas. Bariolées. Chaque couleur correspondra à une zone de Voronoi. La première étape est donc de réunir ce qui doit être réuni, avec le bouton "fix topology". Avant de cliquer, il faut zoomer un peu avec le slider "dpi". Le programme va scanner le circuit et réunir les zones de notre circuit imprimé.

imageCool! Maintenant, cliquons sur "make toolpaths": Visolate génère les parcours d'outil pour fraiser les zones de Voronoi. Il n'y a plus qu'à enregistrer le fichier avec "save G-Code" et on est paré. Enfin presque.

![image](visolate-3.png)

4. Génération du G-Code de perçage

Comme je le disais au-dessus, Fritzing génère les coordonnées des perçages en pouces. Il faut faire la conversion en mm. Ou basculer la machine en mode pouces. J'ai opté pour la conversion en mm.

Le fichier des perçages a cette allure:

[code]

; NON-PLATED HOLES START AT T1 ; THROUGH (PLATED) HOLES START AT T100 M48 INCH T100C0.038000 T101C0.041667 T102C0.035000 % T100 X015681Y004991 X017681Y012991 X015681Y014991 X017681Y009991 X015681Y005991 X017681Y013991 X015681Y015991

etc.

[/code]

J'ai fait un programme qui convertit cette suite de coordonnées en G-Code, et en millimètres s'il vous plait : GerberDrill.

Désolé pour l'interface utilisateur toute pourrie... Le principe est simple: parcourir pour aller chercher le fichier drill.txt, définir le code à générer pour chaque trou et cliquer sur "Process drill file". Le programme génère du G-Code pour se rendre à l'emplacement du trou, et percer à la profondeur indiquée.

5. Concaténation des deux fichiers G-Code et miroir

Je voulais tout faire d'une traite, c'est à dire fraiser les zones de Voronoi et marquer les points de perçage (puis percer à la main avec une mèche de 1mm avec la Dremel).

Donc dans un fichier texte, j'ai mis à la suite le G-Code généré par Visolate et celui généré par mon programme GerberDrill.

Etape importante : il faut mettre un effet miroir sur le G-Code, car la gravure va se faire sur la face inférieur du circuit. Pour cela, dans le fichier G-Code, remplacer tous les "X" par "X-".

On enregistre le fichier et zou! balance la purée papa!

Le jeu de ma machine se remarque particulièrement au niveau des points de perçage, lorsqu'ils sont près d'une trace. J'ai dû les arranger à la cochon en en élargissant quelques uns... Hélas je n'ai pas pris de photo de la plaque juste après la gravure, mais voici la vue de dessous une fois les éléments soudés:

image
Désolé pour les soudures dégueulasses...

La prochaine fois je pense que je marquerai les perçages avant de faire les isolations. En tout cas j'ai bien contrôlé au multimètre et ça a l'air bon.

image
Les connecteurs soudés
image
Les pololu montés

On peut voir à gauche les connecteurs pour les signaux step et direction. A droite les deux connecteurs de moteurs, et les deux connecteurs d'alimentation (5V en haut pour la logique, et 12V en bas pour les moteurs).

Il n'y a plus qu'à connecter la carte, mettre le jus et en avant!

Article précédent Article suivant