BMP2Gcode

De wiki jackbot
Sauter à la navigation Sauter à la recherche


Ajouter un laser à une imprimante 3D pour obtenir un outil multifonction à de nombreux avantages. Cependant, contrairement à une graveuse laser il est nécessaire de déterminer de nombreux paramètres afin d'obtenir une qualité de gravure satisfaisante.

La focale

Dans le cas où le laser n'est pas collimaté, c'est à dire qu'on parle d'un faisceau bien parallèle, il est nécessaire de connaître la distance focale. Car c'est au point focal que le diamètre du laser sera le plus petit et donc la précision sera maximale.

C'est pour déterminer la distance focale que j'ai écris le script : calibration_focale.sh. Pour des raisons pratiques ce script fait appel à openscad et dxf2gcode afin de créer la numérotation, ainsi on pourra lire directement la distance focale sur le résultat.

Diamètre du point focal

Une fois qu'on a déterminé la distance focal, on peut chercher le diamètre minimum du laser. Pour ce faire le script diametre_laser.sh va tracer des paquets de lignes plus ou moins éloignés. De même qu'avant ce script fait appel à openscad et dxf2gcode.

Mire de calibration

Maintenant que la focale ainsi que le diamètre du laser sont connu, la mire de calibration (mire.sh) va créer un damier en changeant la puissance du laser sur chaque case. Il sera donc possible de déterminer l'étendu des niveaux de gris accessibles. Il faudra faire varier la vitesse de gravure afin de maximiser le nombre de niveau de gris différents.

BMP2Gcode

Ce programme va parcourir le fichier BMP fournit en entrée et générer un Gcode qui va balayer ligne après ligne en modulant la puissance du laser pour rendre les niveaux de gris. Pour un bon résultat il est nécessaire de spécifier les bon paramètres dans le fichier laser.conf

Exemple :

taille_laser(mm) 0.2
puissance_min 5
puissance_max 220
vitesse(mm/s) 50
taille_image_x(mm) 75
  • "puissance_min" correspond à la puissance du laser en-dessous de laquelle le laser n'a aucun effet sur la surface.
  • "puissance_max" correspond à la puissance du laser au-dessus de laquelle on ne voit plus de différence. Par exemple quand on grave sur du bois, il existe une puissance à partir de laquelle le bois est noircit et ne deviendra pas plus sombre.
  • "vitesse" correspond à la vitesse qui permet de maximiser le nombre de niveaux de gris différents
  • "taille_image_x" est la largeur de l'image une fois gravée.

Lors de l'exécution ce programme affichera dans la console le paramètre "taille pixel", la valeur de ce résultat peut poser problème. S'il est trop faible, alors la puissance du laser devra changer très rapidement lors du balayage. De ce fait l'imprimante 3D devra gérer une grande quantité d'information très rapidement et risque de ralentir, le paramètre "vitesse" ne sera donc plus respecté.