Homing Override - Configuration de remplacement de la prise d’origine
Aperçu
Cette page fournit deux configurations de remplacement de la prise d’origine (Homing Override) pour Klipper, visant à optimiser le processus de prise d’origine des imprimantes 3D et à améliorer la sécurité ainsi que la précision.
Liste des configurations
| Configuration | Description fonctionnelle | Scénario d’application |
|---|---|---|
| Configuration 1 | Remplacement de base de la prise d’origine + centrage du lit | Optimisation du processus de prise d’origine standard |
| Configuration 2 | Vérification de la température de la buse + prise d’origine sécurisée | Prise d’origine sécurisée en environnement à haute température |
Configuration 1 : Remplacement de base de la prise d’origine
Description fonctionnelle
- Détection automatique si l’axe Z est déjà pris d’origine ; si ce n’est pas le cas, définit d’abord une position Z virtuelle
- Déplacement automatique vers le centre du lit avant de prendre l’origine de l’axe Z
- Prise en charge des commandes de prise d’origine indépendantes pour X, Y, Z
- Utilisation de 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 pris d’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 %}
; Déplacer vers le centre du lit【Important】pour éviter les collisions lors de la prise d’origine 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 a pour but de déplacer la buse vers le centre du lit avant de prendre l’origine de 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 lit)Y{max_y / 2}: Déplacement de 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 est-il nécessaire de se déplacer vers le centre du lit ?
- Éviter les collisions : Empêche la buse de heurter les molettes de nivellement ou d’autres obstacles lors de la prise d’origine en bordure du lit.
- Améliorer la précision : Le centre du lit est généralement la zone la plus plane, offrant une prise d’origine plus précise.
- Compatibilité : Prend en charge divers palpeurs tels que ALPS, BL-Touch, EDDY, etc.
Comment modifier la vitesse de déplacement ?
- Trouver la ligne
G0 X{max_x / 2} Y{max_y / 2} F3600 - Remplacer
F3600par la valeur de vitesse souhaitée - Plage recommandée : F1800 à F3600 (30-60 mm/s)
Exemple d’utilisation
G28 ; Prise d’origine totale → Vérification Z → Prise d’origine XY → Déplacement au centre → Prise d’origine Z → Soulever
Configuration 2 : Remplacement de la prise d’origine 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
- Refroidit automatiquement à une température sécurisée en cas de température trop élevée
- Rétablit les réglages de température d’origine une fois la prise d’origine terminée
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 pris d’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】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
; Déplacer vers le centre du lit【Important】pour éviter les collisions lors de la prise d’origine 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
- Vérification de la température : Détermine si la température cible ou réelle de la buse est ≥ 150°C.
- Allumer le ventilateur : M106 S255 active le ventilateur de refroidissement à pleine vitesse.
- Attendre le refroidissement : M109 S150 attend que la buse refroidisse à 150°C.
- Éteindre le ventilateur : M106 S0 éteint le ventilateur avant la prise d’origine.
- Exécuter la prise d’origine : Déplacement au centre → Prise d’origine Z → Soulever.
- Restaurer l’état : Rétablir la température cible et la vitesse du ventilateur d’origine.
Comment modifier le seuil de température
- Trouver les deux endroits marqués 【Modifiable】
- Remplacer
150par la valeur de température souhaitée - Les deux endroits doivent être modifiés simultanément avec la même valeur
- Sauvegarder et redémarrer Klipper
Exemple d’utilisation
G28 ; Prise d’origine totale → Vérification de la température → Refroidissement (si nécessaire) → Déplacement au centre → Prise d’origine Z → Restauration de la température
Ressources associées
- Documentation officielle Klipper - Homing Override
- Documentation officielle Klipper - Force Move
- Référence des commandes G-code
Loading...