La CNC #1

Le 26 août 2017

Il y a deux ans (!) je présentais sur Zeste de savoir un projet de traçeuse à commande numérique. Deux ans de prépa plus tard, je m'y suis remis, avec cette fois pour projet de réaliser une vraie fraiseuse à commande numérique. Initialement je ne pensais faire qu'un seul article pour la présenter, je me dit que finalement il y a suffisamment de matière pour faire une série d'articles ! (et ça m'évite d'aller chercher dans mes archives les photos du début de la construction :p ). Voici donc où on en est !

Le projet est découpé en 3 parties :

La mécanique

La plus grosse partie est en bois. La table est en réalité un morceau de meuble Ikéa, les pieds sont en sapin, le reste en medium. Pour ce qui est des rails, il s'agit de cornière en aluminium de 1 cm. Les rails sont tenus dans un berceau réalisé à la toupie par de la colle Époxy. Des roulements à bille montés sur de la cornière aluminium de 1,5 cm assurent le glissement des pièces. Je ne m'étends pas plus, car le prochain article traitera de la partie mécanique de la CNC.

Une petite photo de la bête

Les moteurs et leurs contrôles

Pour ajouter du piquant à l'histoire, je me suis lancé le défit de n'utiliser qu'une Arduino Uno pour parser le G-Code et commander les ponts en H. Cela m'a conduit a devoir affronter quelques bugs sympas à cause de dépassements de la RAM. Initialement je souhaitais réaliser mon propre circuit et monter les ponts en H, mais finalement pour le même prix j'ai utilisé des montages de puissance tout faits trouvés pour 4€ pièce sur ebay.

Photo de l'électronique

Pour ce qui est des moteurs ils ont tous étés récupérés sur des imprimantes usagées. Les axes X et Y sont commandés par des courroies, l'axe Z par un système vis-écrou. Enfin on notera la fonctionnalité clé de la machine : le petit buzzer qui joue la musique de Mario Bros au démarrage.

L'interface

La machine est contrôlée par l'ordinateur. L'interface est réalisée en Python et utilise Qt via PyQt. Le programme propose la prévisualisation du chemin que représente le G-Code, avec des fonctionnalités d'édition basique grâce à un préprocesseur. La deuxième partie de l'interface permet d'envoyer du G-Code par la liaison série. J'ai créé quelques commandes personnalisées pour envoyer des commandes directement en pas, avancer en continu ou envoyer des paramètres à la machine.

Prévisualisation

Préprocesseur

Liaison série

Ce projet est pour moi l'occasion de m'initier à l'écosystème Python (qui est génial btw). Ainsi le projet est sur PyPi, donc vous pouvez tester tout ça avec

pip install sivicncdriver

Cela créera une commande sivicnc. Par contre vu que tout est encore en développement, faites ça dans un environnement virtuel ! Pour ceux sous Windows qui n'ont pas Python, allez faire un tour sur le Github de l'interface, il y a des versions compilées. J'ai aussi fait mumuse avec Sphinx, donc le projet a une page pour sa documentation sur readthedoc.

Pour voir l'avancement :

À plus pour la suite !


On est sur les réseaux sociaux !