Aller au contenu principal

Homing Override - Configuration de remplacement de la mise à l'origine

Aperçu

Cette page fournit deux configurations de référence pour le remplacement de la mise à l'origine (Homing Override) de Klipper, afin d'optimiser le processus de mise à l'origine de l'imprimante 3D, améliorant la sécurité et la précision.

Liste des configurations

ConfigurationDescription de la fonctionScénario d'application
Configuration 1Remplacement de base de la mise à l'origine + centrage du lit chauffantOptimisation du processus standard de mise à l'origine
Configuration 2Vérification de la température de la buse + mise à l'origine sécuriséeMise à l'origine sécurisée dans des environnements à haute température

Configuration 1 : Remplacement de base de la mise à l'origine

Description de la fonction

  • Détection automatique si l'axe Z est déjà mis à l'origine, définit une position Z virtuelle si ce n'est pas le cas
  • Déplacement automatique au centre du lit chauffant avant la mise à l'origine de l'axe Z
  • Prise en charge des commandes de mise à l'origine indépendantes pour X, Y, Z
  • Utilise printer.configfile.config pour lire la course maximale 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 mis à l'origine, définir une position virtuelle et 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 lit chauffant [Important] pour éviter les collisions lors de la mise à l'origine de 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

Cette ligne de code déplace la buse au centre du lit chauffant avant la mise à l'origine de l'axe Z.

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

Pourquoi se déplacer au centre du lit chauffant ?

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

Comment modifier la vitesse de déplacement ?

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

Exemple d'utilisation

G28 ; Mise à l'origine complète → Vérifier Z → Mettre XY à l'origine → Déplacer au centre → Mettre Z à l'origine → Soulever

Configuration 2 : Remplacement de la mise à l'origine avec protection thermique

Description de la fonction

  • Inclut toutes les fonctionnalités de la configuration 1
  • Ajoute la vérification de la température de la buse
  • Réduit automatiquement la température à un niveau sûr si elle est trop élevée
  • Rétablit les paramètres de température d'origine après la mise à l'origine

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 %} ; Sauvegarder la température cible
{% set fan_speed = printer.fan.speed %} ; Sauvegarder la vitesse du ventilateur

; Si l'axe Z n'est pas mis à l'origine, définir une position virtuelle et 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] Remplacez 150 par votre seuil de température
{% if e_target >= 150 or printer.extruder.temperature >= 150 %}
M106 S255 ; Allumer le ventilateur pour aider à refroidir
M109 S150 ; Attendre le refroidissement à 150°C [Modifiable]
{% endif %}
M106 S0 ; Éteindre le ventilateur

; Se déplacer au centre du lit chauffant [Important] pour éviter les collisions lors de la mise à l'origine de Z
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000

; Rétablir 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étermine 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 pour préparer la mise à l'origine
  5. Exécuter la mise à l'origine : Déplacer au centre → Mettre Z à l'origine → Soulever
  6. Rétablir l'état : Revenir à la température cible et à 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 endroits doivent être modifiés simultanément avec la même valeur
  4. Sauvegardez et redémarrez Klipper

Exemple d'utilisation

G28 ; Mise à l'origine complète → Vérifier température → Refroidir (si nécessaire) → Déplacer au centre → Mettre Z à l'origine → Rétablir la température

Ressources associées


Loading...