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
| Configuration | Description de la fonction | Scénario d'application |
|---|---|---|
| Configuration 1 | Remplacement de base de la mise à l'origine + centrage du lit chauffant | Optimisation du processus standard de mise à l'origine |
| Configuration 2 | Vérification de la température de la buse + mise à l'origine sécurisée | Mise à 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.configpour 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 ?
- Éviter les collisions : Empêche la buse de heurter les molettes de nivellement ou d'autres obstacles en bordure du lit
- 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
- 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
F3600par 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
- Vérifier la température : Détermine 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 pour préparer la mise à l'origine
- Exécuter la mise à l'origine : Déplacer au centre → Mettre Z à l'origine → Soulever
- Rétablir l'état : Revenir à la température cible et à 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 endroits doivent être modifiés simultanément avec la même valeur
- 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
- Documentation officielle Klipper - Homing Override
- Documentation officielle Klipper - Force Move
- Référence des commandes G-code
Loading...