• slidebg1
    MINI CNC PLOTTER

    Ce projet propose la réalisation
    d’une mini-traceuse CNC
    à partir de vieux lecteurs CD/DVD,
    d'un Arduino et d'un Shield moteur L293A.

Commande Numérique

Les machines CNC représentent la base de la machinerie d'un atelier de fabrication numérique. Celles-ci sont souvent onhéreuses et apprendre à les fabriquer peut permettre de réaliser de grosses économies.


Téléchargements :


AFMotor.zip
AccelStepper.zip
miniCNC.ino
gctrl.zip
declencheur3d.zip
Inkscape 0.48.5
Plugin Inkscape Unicorn

Les imprimantes 3D sont présentées comme l'innovation majeure de ces dernières années, cependant leur fonctionnement reste très simple à comprendre. Sur le plan physique, elle dispose quasiment de la même structure que les autres machines CNC (c'est à dire un moteur pas-à-pas par axe). Durant ce projet vous apprendrez à récupérer et réutiliser des moteurs pas-à-pas à l'aide d'un shield conçu pour l'Arduino. Ce projet constitue un bon exercice d'initiation avant de se lancer dans la fabrication d'une machine CNC de taille réelle.

Inventaire :

  • Arduino Uno
  • Shield moteur L293A
  • Mini servo moteur
  • x2 Lecteur CD/DVD
  • x2 Grande équerre
  • x4 Petite équerre
  • Alimentation 9V
  • Ressort de stylo
  • Petite tige metallique

ÉTAPE 1 : LE DÉMONTAGE

La première étape consiste à démonter nos deux lecteurs de disque pour en récupérer les rails à lentille. Ces derniers sont souvent la seule partie métallique à l’intérieur des lecteurs et sont donc faciles à identifier. Nous récupérons également les petits moteurs, qui servent à ouvrir le tiroir du lecteur et à faire tourner le disque, pour de futurs projets. Attention à ne pas forcer sur les rails pour ne pas les tordres.

ÉTAPE 2 : LA STRUCTURE

Une fois les deux rails récupérés, il s’agit de les assembler de manière perpendiculaire et dans des sens opposés tout en s’assurant qu’il n’y aura pas de problème de collision une fois le support d’impression fixé à l’axe z. Pour obtenir des tenants verticaux bien perpendiculaires à la base, il est recommandé d’utiliser des équerres à meuble. Nous utilisons les petites équerres pour combler l'écart avec l'axe z.

ÉTAPE 3 : LE DÉCLENCHEUR

Si vous n’avez pas la possibilité d’imprimer en 3D le déclencheur, il reste tout de même possible de bricoler un système similaire. Il vous faudra dans un premier temps un support plat pouvant être collé sur l’axe x. Ce support vient accueillir le servo moteur et le porte stylo via un axe vertical sous ressort. Le servo moteur doit être combiné au support de manière à pouvoir faire monter ou descendre le porte-stylo sur son axe. Ajouter un anti-basculement pour maintenir le stylo droit sur toute sa longueur.

ÉTAPE 4 : LE SUPPORT D'IMPRESSION

Le support d’impression doit être plus grand que la zone d’impression (400x400mm) et ne doit pas excéder l’espacement des deux tenants verticaux. Il doit également être fixé de manière à ce qu’il se trouve en dessous du déclencheur, quelque soit la position des deux axes. En fonction de l’épaisseur du support, il est peut-être nécessaire de réajuster la hauteur du déclencheur. Utiliser des rondelles en métal et de la colle chaude pour mettre à niveau.

ÉTAPE 5 : BRANCHER LES MOTEURS

Il est possible de réaliser soi-même l’équivalent du shield permettant le contrôle des moteurs mais par soucis de commodité nous utiliserons ici un shield déja monté. Le shield L293A et les librairies AFMotor et AccelStepper contrôle les moteurs pas-à-pas via les sorties M1/M2 et M3/M4, et les servo moteurs via les broches SERVO_01 et SERVO_02. Les entrées EXT_PWR servent quant-à-elles à l’alimentation des moteurs. Les moteurs pas-à pas que nous utilisons disposent de 4 fils qui constituent 2 bobines. Il s’agit ici de reconnaître les deux paires de fils afin d’effectuer le bon branchement avec les sorties M1/M2 et M3/M4. Avec l’aide du code test, vérifiez que vos moteurs pas-à-pas fonctionnent correctement, sinon essayez une autre combinaison entre vos 4 fils. Lorsque les moteurs se mettent à tourner, c’est que votre branchement est réussi.

// MultiStepper
// -*- mode: C++ -*-
//
// Control both Stepper motors at the same time with different speeds
// and accelerations. 
// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library)
// And AccelStepper with AFMotor support (https://github.com/adafruit/AccelStepper)
// Public domain!

#include <AccelStepper.h>
#include <AFMotor.h>

// two stepper motors one on each port
AF_Stepper motor1(200, 1);
AF_Stepper motor2(200, 2);

// you can change these to DOUBLE or INTERLEAVE or MICROSTEP!
// wrappers for the first motor!
void forwardstep1() {  
  motor1.onestep(FORWARD, SINGLE);
}
void backwardstep1() {  
  motor1.onestep(BACKWARD, SINGLE);
}
// wrappers for the second motor!
void forwardstep2() {  
  motor2.onestep(FORWARD, SINGLE);
}
void backwardstep2() {  
  motor2.onestep(BACKWARD, SINGLE);
}

// Motor shield has two motor ports, now we'll wrap them in an AccelStepper object
AccelStepper stepper1(forwardstep1, backwardstep1);
AccelStepper stepper2(forwardstep2, backwardstep2);

void setup()
{  
    stepper1.setMaxSpeed(200.0);
    stepper1.setAcceleration(100.0);
    stepper1.moveTo(24);
    
    stepper2.setMaxSpeed(300.0);
    stepper2.setAcceleration(100.0);
    stepper2.moveTo(1000000);
    
}

void loop()
{
    // Change direction at the limits
    if (stepper1.distanceToGo() == 0)
  stepper1.moveTo(-stepper1.currentPosition());
    stepper1.run();
    stepper2.run();
}

ÉTAPE 6 : TÉLÉVERSER LE CODE

Une fois le circuit et les branchements vérifiés, vous pouvez désormais téléverser le code qui transformera votre arduino en machine CNC. Une fois le code téléversé dans votre arduino, le déclencheur devrait se mettre en position haute. Si ce n’est pas le cas, inversez dans le code, les variables penUp et penDown qui servent à contrôler le servo moteur.

ÉTAPE 7 : PRÉPARER DES FICHIERS G-CODE

Pour faire fonctionner notre machine CNC, il faut désormais lui envoyer des fichiers g-code. Téléchargez gctrl.zip sur la page du tutoriel et décompressez le.

Si vous êtes sur Windows, lancez le fichier gptrl.exe. Pour les utilisateurs MacOs, téléchargez Processing et lancez le fichier gctrl.pde qui se trouve dans le dossier Une fois le programme lancé, une console apparait avec les commandes disponibles. Sélectionnez le port sur lequel est branché l'Arduino avec "P" et envoyez un fichier g-code avec "G". Avant de commencer une impression, assurez vous que les rails soient bien à leur origine.

Pour préparer un fichier g-code, utilisez InkScape 0.48.5 et son plugin Unicorn pour convertir votre image en «chemin» (vecteur) dans le quart supérieur gauche d’un espace de travail de 80x80mm.

Ce tutoriel a été inspiré par :

http://www.instructables.com/id/Mini-CNC-Plotter-Arduino-Based/
http://www.ardumotive.com/cnc-plotter.html