Les macros Klipper : un outil puissant pour automatiser vos impressions

"La connaissance n'a de valeur que si elle est partagée"

Temps de lecture : 5 minutes

Les imprimantes 3D ont parcouru un long chemin depuis leur création, passant d’outils de niche à des appareils largement accessibles.

L’un des aspects cruciaux de l’impression 3D est la gestion du firmware de l’imprimante, qui contrôle le mouvement des moteurs, la température de la buse et une multitude d’autres paramètres.

Klipper est un firmware alternatif qui gagne en popularité dans la communauté de l’impression 3D en raison de sa flexibilité et de ses fonctionnalités avancées, notamment les macros Klipper.

Qu’est-ce que Klipper ?

Klipper est un firmware open-source pour les imprimantes 3D qui se distingue par sa conception modulaire.

Contrairement à d’autres firmwares tels que Marlin, qui sont principalement monolithiques, Klipper déplace une grande partie du traitement vers un ordinateur hôte (généralement un Raspberry Pi) tout en conservant les tâches de contrôle en temps réel sur le microcontrôleur de l’imprimante.

Cette architecture permet à Klipper d’être plus flexible et d’offrir des fonctionnalités avancées telles que les macros Klipper.

Les Macros Klipper : Qu’est-ce que c’est ?

Les macros Klipper sont des séquences de commandes pré-définies et personnalisables qui peuvent être exécutées sur votre imprimante 3D.

Elles sont écrites dans un langage spécifique à Klipper et peuvent effectuer une variété de tâches, de simples mouvements de l’extrudeur à des opérations plus complexes telles que le nivellement automatique du lit ou la purge de la buse.

Les macros permettent aux utilisateurs d’automatiser des actions fréquemment utilisées, d’accélérer le processus d’impression et de garantir une plus grande cohérence dans les résultats.

Les avantages des Macros Klipper

Automatisation des tâches courantes

Les imprimantes 3D sont souvent utilisées pour imprimer une grande variété de modèles. Les macros Klipper permettent de simplifier le processus en automatisant les étapes récurrentes.

Par exemple, au lieu d’effectuer manuellement un calibrage du lit à chaque impression, une macro Klipper peut être créée pour effectuer cette tâche en un seul clic.

Personnalisation avancée

Les macros Klipper peuvent être personnalisées pour répondre aux besoins spécifiques de chaque utilisateur.

Vous pouvez créer des macros pour gérer des filaments particuliers, ajuster la température de la buse ou même activer des accessoires externes tels que des ventilateurs ou des LED.

Gains de temps et de productivité

En utilisant des macros, vous pouvez réduire le temps nécessaire à la préparation de l’impression et minimiser les risques d’erreurs humaines.

Cela vous permet de gagner du temps et d’améliorer la productivité de votre imprimante 3D.

Répétabilité et cohérence

Les macros garantissent une exécution cohérente des tâches, ce qui réduit les variations dans la qualité d’impression.

Cela est particulièrement utile pour les utilisateurs qui produisent en série des pièces identiques.

Comment créer des Macros Klipper ?

La création de macros Klipper nécessite une compréhension de base du langage de script Klipper et des commandes G-code.

Vous pouvez les créer manuellement en éditant le fichier de configuration de Klipper.

Quelques exemple de Macros Klipper

macro start_print, cette macro sera lancée au démarrage de chaque impression, elle met en chauffe les différents éléments et imprime un ligne de purge.

######################################################################
# Start Print                                                        #
######################################################################

# Remplcer les section Start et End g-code script de votre slicer par :
# START_PRINT and END_PRINT.
# gcode valide pour PrusaSlicer (à adapter/modifier pour Cura)

[gcode_macro START_PRINT]
gcode:
    {% set BED_TEMP = params.BED_TEMP|default(50)|float %}
    {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(190)|float %}

    # Start bed heating
      M140 S{BED_TEMP}
    
    # Coordonées absolues
      G90
    
    # Reset the G-Code Z offset (adjust Z offset if needed)
    # SET_GCODE_OFFSET Z=0.0
    
    # Home
      G28
    
    # Chargement du profile Bed Mesh
      BED_MESH_PROFILE LOAD=default  

    # Attend que le Bed soit à température
      M190 S{BED_TEMP}

    # Chauffe de la buse et attend la mise en température
      M109 S{EXTRUDER_TEMP}
    
    # Impression des deux premières lignes
      G92 E0 ; reset extruder
      G1 Z1.0 F3000 ; move z up little to prevent scratching of surface
      G1 X2 Y25 Z0.3 F5000.0 ; move to start-line position
      G1 X2 Y275.0 Z0.3 F1500.0 E40 ; draw 1st line
      G1 X2.5 Y275.0 Z0.3 F5000.0 ; move to side a little
  
      G92 E0 ; reset extruder
  
      G1 X2.5 Y25 Z0.3 F1500.0 E40 ; draw 2nd line

      G92 E0 ; reset extruder

      G1 Z1.0 F3000 ; move z up little to prevent scratching of surface

Macro End_print, cette macro est lancée à la fin de l’impression pour stopper les éléments de chauffe et déplacer la buse à distance du print

######################################################################
# End Print                                                          #
######################################################################

# Remplcer les section Start et End g-code script de votre slicer par :
# START_PRINT and END_PRINT.
# gcode valide pour PrusaSlicer (à adapter/modifier pour Cura)

[gcode_macro END_PRINT]
gcode:
     # Extinction du bed, extrudeur et ventilateur
        M140 S0
        M104 S0
        M106 S0
     #Move nozzle away from print while retracting
		G90
       G1 X0 Y300 E-3 F300
     
     #Raise nozzle by 10mm
		G91
        {% if printer.gcode_move.position.z < 385 %}
          G1 Z10 F3000
        {% endif %}
        G90
     #Disable steppers
        M84

Petite Macro inutile mais fun qui permet de contrôler la led de l’extrudeur sur un imprimante Artillery Sidewinder x2.

######################################################################
# Macro ALLUMER ETEINDRE LA LED EXTRUDEUR                            #
######################################################################

[gcode_macro LED_ON]
description: Allume la LED extrudeur en BLANC
gcode:
  SET_LED LED=extruder RED=1 GREEN=1 BLUE=1 WHITE=1 transmit=1

[gcode_macro LED_OFF]
description: Etteind la LED extrudeur
gcode:
  SET_LED LED=extruder RED=0 GREEN=0 BLUE=0 WHITE=0 transmit=1

[gcode_macro LED_CHOIX_COULEUR]
description: Allume la led de la couleur choisie
gcode:
    {% set red = params.RED|default(0)|float %}
    {% set green = params.GREEN|default(0)|float %}
    {% set blue = params.BLUE|default(0)|float %}
    {% set white = params.WHITE|default(0)|float %}
    
    SET_LED LED=extruder red={red} green={green} blue={blue} white={white} transmit=1

Conclusion

Les macros Klipper sont un élément essentiel de la personnalisation avancée de votre imprimante 3D.

En automatisant les tâches courantes, en offrant une personnalisation poussée et en améliorant l’efficacité, elles permettent aux utilisateurs d’explorer de nouvelles possibilités et d’obtenir des résultats plus cohérents.

Si vous utilisez Klipper comme firmware sur votre imprimante 3D, il vaut la peine d’explorer l’utilisation des macros pour tirer le meilleur parti de votre machine.