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
| Configuration | Description fonctionnelle | Scénario d'application |
|---|---|---|
| Configuration 1 | Surcharge d'origination de base + Centrage du plateau chauffant | Optimisation du processus d'origination standard |
| Configuration 2 | Vérification de la température de la buse + Origination sécurisée | Origination 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.configpour 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 ?
- É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.
- Améliorer la précision : Le centre du plateau est généralement la zone la plus plane, permettant une origination plus précise.
- 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
F3600par 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
- Vérifier la température : Déterminer si la température cible ou réelle de la buse est ≥ 150°C
- Allumer le ventilateur : M106 S255 allume 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 l'origination
- Exécuter l'origination : Déplacement centre → Origination Z → Soulèvement
- Restaurer l'état : Restauration de la température cible et de la vitesse du ventilateur d'origine
Comment modifier le seuil de température
- Trouvez les deux endroits marqués 【Modifiable】
- Remplacez
150par la valeur de température souhaitée - Les deux valeurs doivent être modifiées simultanément et être identiques
- 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
- Documentation officielle Klipper - Homing Override
- Documentation officielle Klipper - Force Move
- Référence des commandes G-code
Loading...