Fraisage CNC avec un logiciel open source

Je suis toujours à la recherche de nouveaux projets à créer avec mon imprimante 3D. Lorsque j’ai récemment vu un nouveau design pour une fraiseuse à code numérique informatisé (CNC) qui utilise principalement des pièces imprimées en 3D, j’ai été intrigué. Quand j’ai vu que la machine fonctionne avec un logiciel open source et que le contrôleur est un Arduino exécutant un logiciel open source, j’ai su que je devais en fabriquer une.

Les fraiseuses CNC sont des outils de coupe de précision utilisés pour créer des matrices, des gravures et des modèles. Contrairement aux autres outils de fraisage, les machines CNC peuvent se déplacer sur trois axes : l’axe Z se déplace verticalement, l’axe X se déplace horizontalement et l’axe Y se déplace en avant et en arrière.

DIY your CNC

Bien que de nombreux composants de cette machine CNC soient imprimés en 3D, plusieurs pièces doivent être commandées pour la faire fonctionner. Son créateur, Nikodem Bartnik, a une liste de pièces sur la page Thingiverse du projet, ainsi que des liens pour télécharger les fichiers STL des pièces imprimées en 3D.

J’ai commandé les pièces nécessaires et commencé l’attente. Elles ont été expédiées depuis l’étranger, donc certaines d’entre elles ont mis environ un mois à arriver. Pendant ce temps, j’ai imprimé en 3D les autres pièces.

La machine CNC est construite sur un contrôleur Arduino exécutant le logiciel open source de contrôle de mouvement GRBL. Le contrôleur GRBL reçoit le G-code CNC (une liste d’instructions en texte pour la fraiseuse CNC) et le traduit en mouvement en pilotant les moteurs pas à pas. La machine a un moteur pas à pas pour l’axe Z (haut et bas), un moteur pas à pas pour l’axe X (gauche et droite), et deux moteurs pas à pas pour l’axe Y (avant et arrière). Le site Web de GRBL dispose d’une documentation pour le chargement de GRBL sur la carte Arduino.

Je ne vais pas entrer dans les détails de l’assemblage matériel de la CNC, car Nikodem a une série de vidéos qui l’expliquent en détail. Au lieu de cela, je vais me concentrer sur les logiciels open source qui peuvent être utilisés pour créer des conceptions pour et faire fonctionner la machine CNC. Avec Fedora comme système d’exploitation de base, les autres logiciels open source que j’ai utilisés sont GRBL, Inkscape, jscut et CNCjs.

Pour ce tutoriel, je vais expliquer comment créer une version en bois, fraisée par CNC, du logo Linux Tux de Larry Ewing.

Fabriquez vos fichiers

La première étape vers la fabrication d’un Tux en bois consiste à télécharger une version en noir et blanc du logo au format PNG sur Wikimedia Commons.

cnc_bw-tux.png

Motif Tux de Wikimedia Commons

Le point de départ du projet, une image PNG de Tux de Wikimedia Commons, réalisée par gg3po, sous licence GPL v2.

Pour que le logo de Tux puisse fonctionner sur la machine CNC, convertissez le fichier PNG de Tux en un fichier SVG avec Inkscape en faisant glisser et en déposant le fichier PNG dans la fenêtre Inkscape. Utilisez ensuite l’option Trace Bitmap d’Inkscape pour convertir l’image en chemins SVG. Cela crée des copies doubles de l’image – l’une est constituée de chemins, l’autre est un bitmap – supprimez la copie bitmap. Utilisez l’option Break Apart et supprimez la propriété Fill pour le contour de Tux et la bouche de Tux ; vous obtiendrez une image SVG qui ressemble à l’inverse de l’image originale.

cnc_inverse-svg.png

Fichier Tux inversé créé dans Inkscape

Tux inversé créé dans Inkscape. Les sections noires seront fraisées par la machine CNC.

Puis, il faut convertir le fichier SVG en G-code CNC, qui est une liste d’instructions indiquant à la machine CNC comment créer le design souhaité. J’ai utilisé le logiciel open source jscut, qui est un programme de fabrication assistée par ordinateur (FAO) basé sur le Web. Vous pouvez télécharger le logiciel et l’exécuter sur votre machine locale ou utiliser la version web sur jscut.org, ce que j’ai fait.

Ouvrir le fichier SVG sur jscut.org en utilisant le menu déroulant Ouvrir SVG. Ensuite, cliquez sur une ou plusieurs parties de l’image SVG, puis cliquez sur Créer une opération. Choisissez le type d’opération (gravure, extérieur, poche, etc.) et la profondeur de la coupe, puis cliquez sur Générer. Les différents types d’opérations définissent l’endroit où la découpe est effectuée ; vous pouvez voir les effets des différentes opérations en allant dans l’onglet Simuler GCODE, qui montre un aperçu de ce à quoi ressemblera la découpe. Pour Tux, j’ai créé plusieurs opérations pour diverses parties du design.

cnc-jscut.png

Générer le G-code CNC de Tux avec jscut

Générer le G-code CNC de Tux avec jscut.

Définissez les propriétés de votre mèche de coupe dans la section Outil ; il s’agit notamment de spécifier le diamètre de la mèche et la vitesse à laquelle la coupe doit être effectuée. Une limitation de jscut est que vous ne pouvez pas spécifier différentes tailles de mèches pour différentes opérations. Pour créer Tux, j’ai dû utiliser deux mèches différentes : une mèche plus petite pour graver les détails comme les yeux, le nez et la bouche, et une mèche plus grande pour découper le contour de Tux sur toute la longueur de la planche de bois. J’ai utilisé jscut deux fois pour générer deux fichiers G-code différents : un pour faire les gravures avec le plus petit embout et un autre pour découper le contour de Tux avec le plus grand embout.

Après avoir créé les deux fichiers G-code, la tâche suivante consiste à obtenir le logiciel de contrôleur CNC. J’ai utilisé le logiciel libre CNCjs. CNCjs est basé sur le web, facile à utiliser et prend en charge l’interfaçage avec les contrôleurs GRBL. Après son installation, accédez à CNCjs dans un navigateur web et connectez-le à votre contrôleur Arduino GRBL.

Cliquez sur Upload G-Code et indiquez le fichier que vous avez créé avec jscut. Tout d’abord, j’ai chargé le fichier G-code qui fait les gravures sur le dessus de Tux.

Préparation de la découpe

Vous êtes presque prêt à commencer la découpe ! Puisque vous allez couper tout le long du bois, il est intelligent d’utiliser une  » planche à déchets  » – une planche qui se trouve sur le dessus de cette machine CNC et dans laquelle cela ne vous dérange pas de couper. En effet, lorsque la machine découpe Tux, elle traverse entièrement le bois et pénètre dans la planche située en dessous. La planche de déchets peut être remplacée au besoin.

cnc-wasteboard.jpg

Planche de déchets

Planche de déchets montrant les coupes précédentes.

Fixez solidement la planche de déchets à votre machine CNC pour éviter tout mouvement, puis fixez le morceau de bois que vous utiliserez pour Tux. Il y a plusieurs façons de fixer le bois – j’utilise du ruban adhésif double face pour moquette très résistant.

La dernière étape avant de couper est d’aligner la mèche sur la broche avec le morceau de bois que vous coupez. Utilisez les boutons Axes de CNCjs pour déplacer physiquement la broche afin que les coordonnées X, Y et Z de la mèche soient alignées avec le coin supérieur gauche de votre bois. L’axe Z devrait être juste au-dessus du bois ; vous devriez pouvoir glisser un morceau de papier entre le bois et la mèche mais sentir la mèche traîner sur le papier en glissant.

Une fois que tout est aligné, réglez les décalages de position de travail pour les axes X, Y et Z à zéro en cliquant sur le bouton Set pour chacun.

cn-set-axes.png

Mise à zéro de la position de travail des axes

Mise à zéro de la position de travail pour les axes X, Y et Z.

Appuyez sur le bouton Z+ dans CNCjs pour relever un peu la mèche afin que la broche ne fasse pas de marque dans le bois lorsqu’elle est mise en marche.

Pour commencer à couper, mettez vos lunettes de sécurité, votre protection auditive et un masque anti-poussière. Ensuite, allumez la broche et cliquez sur le bouton Play dans CNCjs.

Surveillez attentivement la machine pendant la découpe et ayez un plan pour couper rapidement l’alimentation de la machine CNC et de la broche si nécessaire. Soyez également prêt avec un aspirateur, car cela va créer beaucoup de sciure de bois.

Après que le premier fichier de code G ait terminé les gravures sur Tux, éteignez la broche et appuyez sur le bouton X0Y0 dans CNCjs pour ramener la broche à la position de travail de l’axe X et Y de départ. Ensuite, passez à la plus grande mèche, téléchargez le fichier de code G qui découpera le contour de Tux, et suivez le même processus pour l’exécuter.

.