Reso-nance numérique

Arts et cultures libres

Outils du site


projets:cnc-modulaire:accueil

CNC modulaire

Description

L'idée est de réaliser un axe robotisé que l'on retrouve souvent dans les machines à commandes numérique (CNC), comme les fraiseuses numériques et autres imprimantes 2D ou 3D (voir notre page fabrication numérique). Le premier test est pédagogique, il consiste à utiliser des composants pour la plupart basiques et à montrer comment ça marche. Ensuite, on pourrait perfectionner le modèle et obtenir des axes modulaires pour réaliser des choses en 2D ou en 3D, comme sur cette vidéo.

Dans cette vidéo, un buste imprimé en 3D (de notre super stagiaire) se déplace de haut en bas.

Matériaux

CNC-modulaire composants

Tutoriel

Dessin 2D

Pour la conception 2D, on a ajouté un créneau dans la matière pour incruster les deux supports des axes porteurs dans la planche contre plaqué (représentée ici sous la première pièce).

G-Code

Pour la création du G-Code on a utilisé Cambam, avec plusieurs fonctions : perçage, contour intérieur (pour les trou) et extérieur (pour découper la pièce), poche pour le créneau dans la planche. On a utilisé un outil de 3mm de diamètre.

Pour les quatre petits trous, on a utilisé le perçage pour fixer le moteur.

Pour le contour extérieur, on ajoute deux attaches pour que la pièce ne se détache pas a la fin de l'usinage.

On a ajouté 4 petits coins pour que la pièce puisse prendre le diamètre de l'outil et permettre à la pièce de bien s'imbriquer.

Fraiseuse

On a réduit à 20% ou 30% la vitesse de la fraiseuse pour ne pas abîmer la pièce ou pour ne pas la casser.

Circuit électronique

Dans un premier temps, on a essayé avec une Arduino Roméo qui a l'avantage d'avoir un pilote de moteur l298, mais cela n'a pas marché. On s'est donc reporté vers une solution plus classique : une Arduino (n'importe laquelle, pas nécessairement une Mega) et un pilote de moteur L298 de Keyes,

cnc-modulaire-connectique.jpg

Pour pouvoir faire fonctionner l'alimentation d’ordinateur on place un fil de cuivre entre le PS_ON et le COM.

Code

Voir le code complet : cnc_modular.ino

/*
 * CNC MODULAR
 * Action : une pièce posée sur un axe CNC bouge de façon aléatoire.
 * Placer la pièce au milieu de l'axe.
 */
 
#include <Stepper.h>
 
int revolution = 200;  // 200 pas pour le NEMA17
int vitesse; // de 0 a 120
int tours;
int tabTours [] = { 20, 100, 30, 70 }; // doit etre pair
int tabVitesse [] = { 20, 90, 80, 40 }; 
int compteur = 0;
int nbValues = 4;
int maxTours = 0;
 
Stepper cnc (revolution, 9, 10, 11, 12);
// steps négatif = descente, positifs = montee
 
void setup() {
  // rien !
}
 
void loop()
{
  if (compteur == nbValues ) {
    setRandomValues();
    compteur = 0;
  }
 
  // --------- MONTEE --------- //
  tours = tabTours[compteur];
  vitesse = tabVitesse[compteur];
  cnc.setSpeed(vitesse);
  cnc.step(revolution * tours);
 
  delay(random(50,3000));
 
  // --------- DESCENTE --------- //
  tours = tabTours[(nbValues - 1) - compteur];
  vitesse = tabVitesse[(nbValues - 1) - compteur];
  cnc.setSpeed(vitesse);
  cnc.step(-revolution * tours);
 
  delay(random(50,3000));
 
  compteur++;
}
 
void setRandomValues() {
  for (int i = 0; i < nbValues; i++) {
   int val = random(20, 120);
   tabVitesse[i] = val;
   tabTours[i] = map(val, 20, 120, 5, 140);
  }
}

Modèle 3D

Pour faire le modèle 3D, on a scanné notre stagiaire avec Skanect puis on l'a travaillé sur Blender et exporté en .stl pour l'imprimer en 3D.

ASCII

Galerie

projets/cnc-modulaire/accueil.txt · Dernière modification: 2014/08/03 22:12 par resonance