Accueil Home

Une machine à commande numérique : un projet à bas coût ?

A CNC Machine: A Low-Cost Project?

Voici, en projet, une machine à commande numérique 3 axes, qui pourrait être motorisée par le moteur pas-à-pas de la rubrique Electronique de ce site... et qui pourrait être construite à frais réduits.
Cette machine pourrait être pilotée par le montage électronique de la rubrique Electronique, répliqué en 3 exemplaires pour les 3 axes de la machine. Ces montages pourraient eux-mêmes être contrôlés par un microcontrôleur de type PIC18, qui serait lui-même commandé via USB par un PC. Microchip, le constructeur de ces microcontrôleurs, fournit bon nombre d'exemples pour mettre en oeuvre une interface USB, ainsi qu'un environnement de développement gratuit.
Il faudra ensuite réaliser un logiciel de commande numérique qui tournera sur PC, pour calculer la trajectoire de l'outil de coupe afin de pouvoir usiner la forme souhaitée.
Encore pas mal de travail en perspective, même si la conception de la mécanique est maintenant terminée, et les plans prêts à être imprimés :

Here is, as a project, a 3-axis CNC machine, which could be powered by the stepper engines mentioned in the Electronics section of this site... and which might be built at a very low cost.
This machine could be driven by 3 copies of the stepper engine controller described in the Electronics section as well. These controllers could themselves be driven by a Microchip PIC18 microcontroller, monitored from a PC through a USB cable. Microchip provides a large set of examples to implement a USB interface, and also a comprehensive and free development environment.
I will then have to develop a CNC software that will execute on the PC, in order to compute the moves of the cutting tool, in order to machine the desired shape.
Well, still some work to do, even though the design is now completed, and the drawings ready to be printed:

Machine à commande numérique : c'est parti !

J'ai acheté le bois et la quincaillerie pour démarrer la construction, advienne que pourra. Le panneau de bois, du latté-collé en chêne, était bradé à 5 euros. Une affaire à saisir !

Ci-dessous, deux chutes après la découpe de la vingtaine de pièces de bois qui constitueront la machine.

CNC Machine: let's start!

I have bough the wood and the hardware to start building, let's see what it will lead to... The wood was given for 5 euros : a really good deal!

Montage : fin de la partie menuiserie

Après quelques heures de sciage, ponçage, défonçage, fraisage, perçage, vissage, ajustage, voici la machine montée :

Building: end of the woodworking part

After a few hours sawing, sanding, milling, drilling, screwing and adjusting, here is the machine assembled:

Les 3 chariots X, Y et Z sont montés sur des glissières de tiroir trouvés en "GSB" (grande surface de bricolage). J'ai dû les adapter à la fraiseuse en taraudant plusieurs trous afin de pouvoir les visser sur le chassis et les chariots, sans que les vis ne gênent leur fonctionnement.

Comme il y a deux glissières par chariot, le point délicat est que celles-ci soient rigoureusement parallèles, sans quoi le coulissement n'est pas possible.

Il a par ailleurs fallu fraiser à la défonceuse des logements pour les têtes de vis.

Détail des deux chassis superposés X et Y :

Les planchettes disposées en bout de course de chaque axe sont les supports de chaque moteur, qui assureront la translation des chariots par le biais d'une tige filetée et d'un écrou fixé sous chaque chariot.

Fin de la partie menuiserie (2)

On voit ici un gros plan sur l'arrière de la machine et sur l'axe Z.

Ci-dessous, le moteur dans sa position définitive, mais pas encore fixé. L'axe du moteur est cylindrique et sans aucun méplat, par conséquent, pour l'accoupler avec une tige filetée, je vais devoir fabriquer une pièce spéciale en acier, avec un filetage d'un côté, et un alésage de l'autre, pourvu d'une vis de serrage. Comme en plus, le diamètre de l'axe est de 6,35mm (1/4 de pouce), j'ai dû me procurer un foret spécial ayant ce diamètre d'outre-manche.

Pour finir, une photo de mon atelier de menuiserie. Un jour, je rangerai...

Prochaine partie : la mécanique. Au programme :

Microcontrôleur Microchip

J'ai reçu la carte d'expérimentation Microchip USB que j'ai commandée il y a 2 jours, la voici en photo :

Cette carte va servir à recevoir les consignes de déplacement des trois moteurs en provenance de l'ordinateur, et à les convertir en déplacements élémentaires pour chacun des moteurs, par un algorithme de Bresenham 3D.

Les signaux en sortie de cette carte seront ensuite envoyés à la carte que j'ai construite à base de L297 (cf. vidéo), pour être convertis en signaux 4 phases pour chacun des moteurs, puis amplifiés pour alimenter les bobines des moteurs.

L'appareil "PICkit" présent sur la photo permet, une fois branché à la carte d'expérimentation, de programmer le micro-contrôleur directement depuis le PC, sans avoir à le retirer de son support. Ce micro-contrôleur est un PIC18F14K50.

Programmation sur PC

Afin de tester la communication entre le PC et la carte Microchip, j'ai développé :

Un peu de mécanique...

Voici les pièces en acier que j'ai usinées :

Ci-dessous, une photo de l'accouplement de l'axe Z après assemblage. La partie supérieure est alésée à 6,35mm (diamètre de l'arbre du moteur), la partie inférieure est taraudée à 6mm (diamètre de la tige filetée).

Pour l'instant, il y a des passages où le moteur se bloque en raison de différents frottements :

Il me reste à peaufiner tout cela pour arriver à un ensemble qui se déplace sans problème d'un bout à l'autre de la course. Il faudra en plus qu'il reste un peu de puissance au moteur pour déplacer la fraise en plein travail (ce qui occasionnera des efforts supplémentaires à compenser par le moteur).

Carte de commande des moteurs

J'ai rajouté une voie "Y" à la carte qui contrôle les moteurs pas-à-pas :

En haut de la photo, on voit les 2 circuits intégrés L297.

En dessous, on aperçoit 2 séries de 4 transistors BD139 et de 4 diodes roue-libre pour alimenter les 4 phases des moteurs.

J'ai également ajouté des borniers pour fiabiliser l'ensemble.

Il me reste à faire la voie Z, et cette carte sera alors terminée.

Elle pourra ensuite être connectée à la carte Microchip par 8 fils : une masse, et pour chacun des 3 moteurs : un signal d'impulsion et un signal de sens de rotation. Ajoutons pour finir un fil permettant de choisir entre les modes full-step et half-step.

L'ensemble sera donc constitué de la chaîne suivante :

PC ---(USB)---> Carte Microchip ---(8 fils)---> Carte L297 ---> 3 moteurs ---> chariots machine.

Pour l'alimentation, la carte Microchip est alimentée par le port USB du PC. De même pour la partie basse tension de la carte L297. La partie "haute tension" (12V) de cette dernière requiert en revanche une alimentation spécifique, pouvant débiter 12 V x 1 A. C'est justement le rôle de l'alimentation que j'ai construite avant ce projet.

Premiers essais

Première difficulté lors de la mise en mouvement des moteurs : la rotation est régulièrement interrompue en raison des frottements trop importants. Voici quelques remèdes qui ont porté leurs fruits :


Voici un aperçu de la carte de contrôle des moteurs. J'ai ajouté la 3ème voie pour l'axe Z. On la voit ici connectée à la carte du PIC par un cable en nappe, qui véhicule les signaux d'horloge de chaque axe, ainsi que les signaux de sens de rotation, pour chaque axe également.

Et maintenant, la machine peut commencer à travailler. Ci-dessous, quelques dessins (2D) :

Il subsiste des problèmes de jeu, qui posent problème lorsqu'on change de sens de déplacement sur un axe. Le jeu est de l'ordre de 2 millimètres, il résulte :

Détail du logement de roulement à bille

La photo ci-dessous montre le logement du roulement à bille

Le logement est usiné dans de l'aluminium.

Le roulement est logé dans un alésage de diamètre 16mm, profondeur 5mm (soit les dimensions du roulement).

Il est bloqué en translation par deux vis M3 et leur rondelle.

Le logement est fixé au chassis de la machine par deux vis M4.

Le roulement à bille est fixé à la tige filetée par une rondelle et un écrou de chaque côté. Comme la tige est de diamètre 6mm, et que le roulement a un diamètre intérieur de 8mm, j'ai dû réaliser au tour une bague d'adaptation en acier.

Vue d'ensemble de la machine avec ses moteurs


Photos complémentaires (détails)

Détail du logement de roulement à billes (longeur 50mm) :


Le roulement à bille (extérieur 16mm, intérieur 8mm, hauteur 5mm) et sa bague d'adaptation maison 8mm x 6mm :




La machine en action !

Montage des axes X et Y sur roulements

J'ai terminé l'usinage des logements des roulements pour les axes X et Y.

On voit sur cette photo :

Pièces sur mesure

Cette photo montre les pièces usinées sur mesure pour la machine :

Machine et perceuse

La perceuse de modéliste, fixée par un support sur le chariot de l'axe Z, porte une fraise sphérique de diamètre 2,5mm.

Premiers usinages

J'ai fait les premiers essais d'usinage sur une chute de bois, avec un forêt de 0,8mm.

Motif réalisé : 10 trous de 5mm de profondeur, répartis sur un cercle de diamètre 20mm.

Même motif sur l'autre face, ainsi qu'un test de fraisage de pentagone.

Fraisage d'une hémisphère - Milling a hemisphere

Fraisage en cours d'une sphère de diamètre 20mm, au sein d'un carré de 20x20mm.
Dans la video, on voit la fraise faire des allers-retours suivant Y. A chaque fin de course sur Y, la fraise se déplace sur X de 0,3mm pour la passe suivante. Pendant le parcours, la fraise monte puis redescend pour usiner le profil de la sphère.

Usinage d'une cavité - Milling a hole

Après avoir modélisé la forme à usiner dans un outil de CAO, je peux avec le logiciel que j'ai développé, la positionner précisément sur la fraiseuse, et déclencher l'usinage en coordination avec la visualisation à l'écran.

Ci-dessous, la video de la pièce en cours d'usinage, dans une passe d'ébauche :

Et ci-dessous, la passe de finition (vitesse réduite, passages tous les 2/10 de millimètre) :