Mise en route de la MiniCNC

Cette page donne quelques informations et conseils sur l'utilisation de la MiniCNC que nous avons fabriquée. Voir www.repairablemachines.com pour les plans et autres informations.

 

Chaine logicielle

1. Fichier SVG : Inkscape va bien pour créer des fichiers vectoriels, exportés ensuite en SVG. Inkscape peut également vectoriser les images. LibreOffice/OpenOffice export aussi en SVG. Les solutions ne manquent pas pour travailler à partir de ce format. Sinon à partir de modèles 3D convertis en STL (Blender, OpenSCAD, etc), expérimentations en court...

2. Convertion du SVG/STL en GCode avec PyCAM. Permet également de modifier la taille du modèle, le déplacer en (0, 0, 0) ou autres opérations. Aperçu 3D disponible et simulation du fraisage, ce qui facilite bien le travail avant de casser des fraises...

3. Filtrage du GCode pour le rendre compatible avec le firmware RepRap (notamment suppression de codes non reconnus).

4. Envoi du GCode vers la CNC avec ReplicatorG.

 

Script de filtrage GCode pour RepRap

#!/bin/bash
# Usage: ./gcode-cleaner.sh FICHIER
# Filtre FICHIER et enregistre sous FICHIER.cleaned.gcode

DEST="$1.cleaned.gcode"

cat "$1" | \
sed '
  1i \
G21\
G90\
G92 X0 Y0 Z0
  s/^ X/G01 X/
  s/^G1 /G01 /
  s/^G0 /G00 /
  s/^ Y/G01 Y/
  /^[SFTM].*$/ d
  /^$/ d
  /^G90/ d
  /^G21/ d
  /^G04/ d
  /^G[45678]/ d' > "$DEST"
echo "G01 X0 Y0" >> "$DEST"

# pour supprimer les commentaires ajouter :
#   /^[;].*$/ d
#   s/(.*//

Copier dans gcode-cleaner.sh (ou télécharger gcode-cleaner.sh) puis chmod u+x gcode-cleaner.sh. Usage :

$ ./gcode-cleaner.sh fichier-gcode.ngc
$ ls
fichier-gcode.ngc
fichier-gcode.ngc.cleaned.gcode

La CNC en traceur pour les tests

Comme le fraisage fait du bruit et de la poussière, nous avons monté un stylo à la place de la Dremel. Cela permet de tracer des fichiers SVG au lieu de graver...

Il faut modifier le stylo de façon à mettre la mine sur ressort... Pour ça il faut mettre 2 ressorts et les étirer.

 

Voici le fichier de configuration de PyCAM (renommer vers pycam.cfg) que nous utilisons. Il définit un outil 'Stylo', un processus 'Tracer', des marges à 3%, et une tâche 'Dessiner' qui fait le lien avec l'ensemble. Ce fichier de config peut être chargé au démarrage de PyCAM (Settings->Preferences).

ReplicatorG

Nous utilisons la dernière version (0037). http://replicat.org

ReplicatorG a un bug concernant l'interface de pilotage manuelle de la CNC. Si la configuration de la machine ne déclare pas d'outil (tête d'extrusion), impossible d'afficher le panneau de commande. Et quand un outil est défini sans qu'il existe, l'impression ne se lance pas... Pour contourner le bug nous déclarons une machine qui ne sert qu'à lancer le panneau de commande manuelle.

Nous avons également ajusté la vitesse maximale de fonctionnement en faisant des essais. Du coup nous avons 4 configurations différentes :

  • vitesse lente (80 mm/min) (pour graver les matériaux durs)
  • vitesse normale (150 mm/min)
  • vitesse rapide (175 mm/min). Au dessus les moteurs se sentent mal dans certaines conditions, surtout l'axe des X, qui est démultiplié.
  • mode déplacement manuel.

Fichier de config à coller dans le dossier machines de ReplicatorG (renommer vers MiniCNC.xml).

Procédure pour graver un modèle 2D

  • Créer un SVG, de préférence avec Inkscape. Voir les restrictions et bonnes pratiques dans la doc de PyCAM.
  • Ouvrir le SVG dans PyCAM.
  • Dimensionner le modèle à la taille désirée (l'aperçu indique le delta-x, delta-y, delta-z, c-a-d ses dimensions)
  • Amener le modèle en 0,0,0 (To Origin).
  • Déplacer le modèle sur l'axe Z pour choisir la profondeur de gravage. Ex. Move model / Z -2.0 pour graver à 2mm.
  • Créer et exporter le GCode.
  • Installer le stylo sur la tête ou la Dremel avec une fraise.
  • Lancer ReplicatorG, ouvrir le fichier GCode, connecter la CNC.
  • Amener la tête de la CNC en bas à gauche (0,0) à l'aide de ReplicatorG et de son panneau de contrôle manuel (choisir la config adequat dans menu Machine -> Machine Type (Driver) -> miniCNC Control Panel). Si les moteurs ont été câblés correctement, l'électronique se trouve au fond, X0 Y0 est en bas à gauche X200 Y200 en haut à droite, Y0 sur la table et Y50 vers le haut (cf. tout en haut de l'article).
  • Amener la pointe du stylo ou de la fraise à raz du support à graver, en tournant la tige filetée de l'axe Y. Ce sera la position Z=0. Pour le stylo, il faut que cette position soit la position d'écriture, c'est à dire qu'il faut faire appliquer un effort sur la pointe pour qu'elle écrive (environ 2 mm après le contact avec le support).
  • Lancer la CNC

Note : ReplicatorG est pas toujours très obeissant... ne pas hésiter à quitter et relancer...

 

Triangles de Koch (SVG / GCode)

 

Le gnou GNU (SVG / GCode)

 

Logo du FormaLab (SVG / GCode)

 

Labyrinthe aztec :

Mac, PC ou Linux ?

Linux est certainement la solution la plus simple et la plus documentée. Sur Mac il est plus commode de passer par VirtualBox ou autre solution de virtualisation, et d'installer une distrib Linux genre Ubuntu. La gestion de l'USB ne pose aucun problème. Il suffit d'attacher le port USB dans la config de VirtualBox pour qu'il soit directement reconnu par le linux hébergé. Penser cependant à ajouter l'utilisateur dans le groupe dialout avec par exemple la commande sudo adduser $USER dialout

Tags: 

Partager l'article