Aller au contenu principal

Homing Override - Configuration de surcharge d'origination

Vue d'ensemble

Cette page fournit deux configurations de référence pour la surcharge d'origination (Homing Override) Klipper, destinées à optimiser le processus d'origination des imprimantes 3D, améliorant ainsi la sécurité et la précision.

Liste des configurations

ConfigurationDescription fonctionnelleScénario d'application
Configuration 1Surcharge d'origination de base + Centrage du plateau chauffantOptimisation du processus d'origination standard
Configuration 2Vérification de la température de la buse + Origination sécuriséeOrigination sécurisée en environnement à haute température

Configuration 1 : Surcharge d'origination de base

Description fonctionnelle

  • Détection automatique de l'état d'origination de l'axe Z, définition d'une position Z virtuelle si non originairement
  • Déplacement automatique au centre du plateau chauffant avant l'origination de l'axe Z
  • Prise en charge des commandes d'origination indépendantes pour X, Y, Z
  • Utilisation de printer.configfile.config pour lire les courses maximales de l'imprimante

Configuration complète

[force_move]
enable_force_move: true

[homing_override]
axes: z
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}

; Si l'axe Z n'est pas originairement, définir une position virtuelle et le soulever
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}

{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}

{% if home_all or 'X' in params %}
G28 X
{% endif %}

{% if home_all or 'Y' in params %}
G28 Y
{% endif %}

{% if home_all or 'Z' in params %}
; Se déplacer au centre du plateau chauffant 【Important】 pour éviter les collisions lors de l'origination Z
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000
{% endif %}

Explication du code clé

G0 X{max_x / 2} Y{max_y / 2} F3600

Le rôle de cette ligne de code est de déplacer la buse au centre du plateau chauffant avant d'originairement l'axe Z.

  • X{max_x / 2} : Déplacement de l'axe X à la moitié de la course maximale (coordonnée X du centre du plateau)
  • Y{max_y / 2} : Déplacement de l'axe Y à la moitié de la course maximale (coordonnée Y du centre du plateau)
  • F3600 : Vitesse de déplacement de 3600 mm/min (60 mm/s), déplacement rapide

Pourquoi se déplacer au centre du plateau chauffant ?

  1. Éviter les collisions : Empêche la buse de heurter les molettes de nivellement ou d'autres obstacles en bordure de plateau lors de l'origination.
  2. Améliorer la précision : Le centre du plateau est généralement la zone la plus plane, permettant une origination plus précise.
  3. Compatibilité : Prend en charge divers capteurs comme ALPS, BL-Touch, EDDY, etc.

Comment modifier la vitesse de déplacement ?

  • Trouvez la ligne G0 X{max_x / 2} Y{max_y / 2} F3600
  • Remplacez F3600 par la valeur de vitesse souhaitée
  • Plage recommandée : F1800-F3600 (30-60 mm/s)

Exemple d'utilisation

G28 ; Origination complète → Détection Z → Origination XY → Déplacement centre → Origination Z → Soulèvement

Configuration 2 : Surcharge d'origination avec protection thermique

Description fonctionnelle

  • Inclut toutes les fonctionnalités de la Configuration 1
  • Ajoute une vérification de la température de la buse
  • Refroidissement automatique à une température de sécurité si la température est trop élevée
  • Restauration des paramètres de température d'origine après l'origination

Configuration complète

[force_move]
enable_force_move: true

[homing_override]
axes: z
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set e_target = printer.extruder.target %} ; Sauvegarde de la température cible
{% set fan_speed = printer.fan.speed %} ; Sauvegarde de la vitesse du ventilateur

; Si l'axe Z n'est pas originairement, définir une position virtuelle et le soulever
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}

{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}

{% if home_all or 'X' in params %}
G28 X
{% endif %}

{% if home_all or 'Y' in params %}
G28 Y
{% endif %}

{% if home_all or 'Z' in params %}
; Vérification de la température 【Modifiable】 Remplacer 150 par votre seuil de température
{% if e_target >= 150 or printer.extruder.temperature >= 150 %}
M106 S255 ; Allumer le ventilateur pour aider au refroidissement
M109 S150 ; Attendre le refroidissement à 150°C 【Modifiable】
{% endif %}
M106 S0 ; Éteindre le ventilateur

; Se déplacer au centre du plateau chauffant 【Important】 pour éviter les collisions lors de l'origination Z
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000

; Restaurer la température et la vitesse du ventilateur
M109 S{e_target}
M106 S{fan_speed}
{% endif %}

Logique de protection thermique

  1. Vérifier la température : Déterminer si la température cible ou réelle de la buse est ≥ 150°C
  2. Allumer le ventilateur : M106 S255 allume le ventilateur de refroidissement à pleine vitesse
  3. Attendre le refroidissement : M109 S150 attend que la buse refroidisse à 150°C
  4. Éteindre le ventilateur : M106 S0 éteint le ventilateur avant l'origination
  5. Exécuter l'origination : Déplacement centre → Origination Z → Soulèvement
  6. Restaurer l'état : Restauration de la température cible et de la vitesse du ventilateur d'origine

Comment modifier le seuil de température

  1. Trouvez les deux endroits marqués 【Modifiable】
  2. Remplacez 150 par la valeur de température souhaitée
  3. Les deux valeurs doivent être modifiées simultanément et être identiques
  4. Sauvegardez et redémarrez Klipper

Exemple d'utilisation

G28 ; Origination complète → Vérification température → Refroidissement (si nécessaire) → Déplacement centre → Origination Z → Restauration température

Ressources associées


Loading...