Arrêt lors d'une coupure de courant et Reprise d'impression après coupure
1. Concepts et processus des fonctionnalités
-
Arrêt lors d'une coupure de courant
- Concept : Lorsqu'une coupure de courant anormale est détectée, le système ne sauvegarde pas l'état d'impression actuel et exécute directement un arrêt sécurisé.
- Processus de récupération : Une fois l'alimentation rétablie, l'appareil redémarre automatiquement et se met en veille. La tâche d'impression précédente a été interrompue, vous devez démarrer manuellement une nouvelle impression.
-
Reprise d'impression après coupure
- Concept : Lorsqu'une coupure de courant anormale est détectée, le système sauvegarde immédiatement la progression actuelle de l'impression (comme la position, la hauteur de couche), puis s'arrête.
- Processus de récupération : Une fois l'alimentation rétablie, une confirmation de l'utilisateur est généralement requise pour que l'appareil puisse reprendre et terminer l'impression inachevée à partir du point de coupure.
2. Règles principales
- Les fonctionnalités d'arrêt lors d'une coupure et de reprise d'impression après coupure sont mutuellement exclusives et ne peuvent pas être activées simultanément.
- Si la fonction d'arrêt lors d'une coupure est activée, la fonction de reprise d'impression après coupure est automatiquement désactivée.
3. Comment choisir
- Choisir "Arrêt lors d'une coupure de courant" : Si vous accordez plus d'importance à la sécurité électrique, ou si vous souhaitez que l'appareil redémarre automatiquement et se mette en veille après le rétablissement du courant, sans avoir à reprendre l'impression interrompue, activez cette fonction.
- Choisir "Reprise d'impression après coupure" : Si vous effectuez fréquemment des tâches d'impression longues et critiques, et que vous souhaitez pouvoir reprendre l'impression depuis le point d'interruption après une coupure, activez cette fonction.
Câblage
- Remarques concernant la fonction d'arrêt/reprise lors d'une coupure pour FLY Pi-V2
- Lors de la connexion à d'autres hôtes via USB, il est impératif de déconnecter ou isoler le fil d'alimentation 5V (par exemple en coupant le câble ou en utilisant un câble USB avec uniquement les broches de données)
- L'alimentation doit utiliser le module KPPM dédié, n'utilisez pas d'autres méthodes d'alimentation
- S'il est impossible de déconnecter la liaison 5V entre l'hôte et l'esclave, il est nécessaire d'attendre que la carte mère soit complètement hors tension avant de la rallumer, sinon cela pourrait empêcher un démarrage normal
- FLY-Pi avec câblage 5V
- FLY-Pi avec câblage USB
- FLY-Pi avec câblage 5V
Loading...
- FLY-Pi avec câblage USB
Loading...
Configuration
- Arrêt lors d'une coupure
- Reprise d'impression après coupure
Configuration de l'arrêt en cas de coupure de courant
- Méthode de configuration de l'arrêt en cas de coupure de courant
-
Saisissez l'adresse IP de l'appareil via la barre d'adresse du navigateur, par exemple :
http://192.168.6.179 -
Accédez à la page de configuration
- Ouvrez l'adresse IP de l'appareil dans le navigateur, par exemple :
http://192.168.1.2/ - Dans Fluidd, comme indiqué sur l'image de gauche ci-dessous, décochez l'option -> "Filtrer les fichiers et dossiers cachés".
- Dans Mainsail, comme indiqué sur l'image de droite ci-dessous, cochez l'option -> "Afficher les fichiers cachés".
Loading...Loading...- Vous devriez maintenant voir le dossier
.flyos-config. Entrez dans ce dossier, vous y trouverez le fichiersys-config.conf. - Le fichier
sys-config.confest un lien symbolique vers le fichier de configurationconfig.txtprésent dans le disque amovibleFlyOS-Conf.
Loading...- Ouvrez le fichier
sys-config.conf, trouvez les deux configurationsshutdown_pin_stateetshutdown_pin=, et modifiez-les comme indiqué ci-dessous. - Veuillez noter que
shutdown_pin=nonedoit être supprimé ou précédé d'un#.
- Ouvrez l'adresse IP de l'appareil dans le navigateur, par exemple :
shutdown_pin_state=1
shutdown_pin=PA21
- Ensuite
Sauvegarder->Fermerpuis redémarrez le système
Désactiver l'arrêt en cas de coupure de courant
- Il est nécessaire de désactiver l'arrêt en cas de coupure de courant, sinon la fonction d'impression continue après une coupure ne pourra pas être utilisée.
- La fonction d'arrêt automatique après la sauvegarde de la progression est présente dans la fonction d'impression continue après coupure.
- Veuillez vous assurer qu'aucune autre alimentation n'est connectée à l'ordinateur hôte, sinon l'appareil ne pourra pas s'allumer.
-
Saisissez l'adresse IP de l'appareil dans la barre d'adresse du navigateur, par exemple :
http://192.168.6.179 -
Accédez à la page de configuration
- Ouvrez l'adresse IP de l'appareil dans le navigateur, par exemple :
http://192.168.1.2/ - Dans Fluidd, décochez comme indiqué sur l'image de gauche ->
Filtrer les fichiers et dossiers cachés. - Dans Mainsail, cochez comme indiqué sur l'image de droite ->
Afficher les fichiers cachés.
Loading...Loading...- Vous devriez maintenant voir le dossier
.flyos-config, entrez dans ce dossier où vous trouverez le fichiersys-config.conf. - Le fichier
sys-config.confest un lien symbolique vers le fichier de configurationconfig.txtprésent dans la clé USB nomméeFlyOS-Conf.
Loading...- Ouvrez le fichier
sys-config.confet trouvez les paramètresshutdown_pin_stateetshutdown_pin=. - Ajoutez un
#devant ces paramètres. - Ensuite,
enregistrez->fermezet redémarrez l'appareil.
Loading... - Ouvrez l'adresse IP de l'appareil dans le navigateur, par exemple :
Fichier de configuration plr.cfg
- Sur la page de configuration de l'imprimante, trouvez le fichier
plr.cfg. - Effacez son contenu, puis collez la configuration ci-dessous.
- Le contenu du fichier de configuration est le suivant :
[mcu host]
serial: /tmp/klipper_host_mcu
[power_loss_resume]
power_pin: host:gpiochip1/gpio21
is_shutdown: True # Indique si l'arrêt doit être exécuté, activé par défaut
paused_recover_z: -2.0 # Distance de déplacement Z lors de la reprise si l'impression était en pause à l'arrêt, par défaut aucun mouvement
start_gcode:
# Gcode exécuté avant la reprise de l'impression
# Tous les paramètres sauvegardés avant la coupure de courant sont accessibles via {PLR}
# Utilisez M118 {PLR} pour afficher tous les paramètres disponibles
# M118 {PLR}
M118 Début de la reprise : {PLR.print_stats.filename}
M118 Position d'interruption : X:[{PLR.POS_X}] Y:[{PLR.POS_Y}] Z:[{PLR.POS_Z}] E:[{PLR.POS_E}]
# Restaurer les températures de tous les éléments chauffants
{% for name, heater in PLR.heaters.items() %}
{% if heater.target > 0 %}
M118 Définir la température cible de l'élément chauffant [{heater.name}] : {heater.target}
SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target}
{% endif %}
{% endfor %}
# Attendre la température d'extrusion
{% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %}
{% set extruder = PLR.heaters[PLR.toolhead.extruder] %}
M118 Attendre que [{extruder.name}] atteigne la température cible : {extruder.target}
TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5}
{% endif %}
G91 ; Coordonnées relatives
G1 Z2 F100 ; Lever Z, préparer la remise à zéro de X et Y
G90 ; Coordonnées absolues
G28 X Y ; Remise à zéro de X et Y
M83 ; Extrusion relative
# G1 E0.5 F400 ; Extruder un peu
layer_count: 2 # Exécuter layer_change_gcode après un nombre spécifié de couches reprises
layer_change_gcode:
# Gcode à exécuter après avoir repris {layer_count} couches
M118 Reprise de la vitesse d'impression
M106 S{PLR.fan_speed} ; Activer le ventilateur de refroidissement
M220 S{PLR.move_speed_percent} ; Définir le pourcentage de vitesse de déplacement demandée
M221 S{PLR.extrude_speed_percent} ; Définir le pourcentage de vitesse d'extrusion demandée
shutdown_gcode:
# Gcode exécuté avant l'arrêt
M118 Tension d'alimentation faible, arrêt
# M112 ; Arrêt d'urgence
-
Après avoir enregistré le fichier de configuration ci-dessus,
-
Ouvrez le fichier
printer.cfget ajoutez le contenu suivant au début du fichier :
[include plr.cfg] -
Cliquez sur Enregistrer et redémarrer en haut à droite.
-
La fonction de reprise après coupure de courant de Klipper est maintenant configurée.
Explications sur [homing_override]
- Attention : Si vous utilisez
[homing_override], ne définissez pas arbitrairement la position de retour à l'origine dans[homing_override]. Nous ne sommes pas responsables des échecs de reprise après coupure de courant qui en résulteraient. - La configuration de
[homing_override]est expliquée ci-dessous.
- Explications
[force_move]: Active la fonction de déplacement forcé, permettant de se déplacer de force vers une position spécifiée.[force_move]remplace la fonctionset_position_zdans[homing_override]. Si cette configuration n'est pas respectée, cela peut entraîner un échec de la reprise après coupure de courant.- La configuration
[homing_override]ci-dessous est destinée à permettre un retour à l'origine correct de l'axe Z lors de la reprise après coupure de courant.
[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 %}
{% 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 %}
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000
{% endif %}
- Explication sur le soulèvement
- Cette configuration n'est exécutée que si l'axe Z n'est pas en position d'origine. Elle n'affecte pas l'utilisation normale.
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}
- Cette configuration n'est exécutée que si l'axe Z n'est pas en position d'origine. Elle n'affecte pas l'utilisation normale.
Explication de la configuration de [gcode_macro _CLIENT_VARIABLE]
- Lorsque votre configuration inclut à la fois la macro
[gcode_macro _CLIENT_VARIABLE]et que les variables suivantes sont définies : - Référence
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos: True # Activer la position personnalisée
variable_custom_park_dz: 5 # Définir le décalage de hauteur de stationnement personnalisé
- Vous devez ajuster en conséquence la valeur du paramètre
paused_recover_zdans le module [power_loss_resume], de sorte qu'elle ait le signe opposé à la valeur de décalage ci-dessus.
Correspondance de configuration
| Variable macro | Paramètre module pause/reprise | Correspondance |
|---|---|---|
variable_custom_park_dz: 5 | paused_recover_z: -5 | Signe opposé, même valeur |
variable_custom_park_dz: -3 | paused_recover_z: 3 | Signe opposé, même valeur |
Exemple de configuration
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos: True
variable_custom_park_dz: 5
[power_loss_resume]
paused_recover_z: -5
Important : Si cette correspondance n'est pas respectée, cela peut entraîner des erreurs de calcul de la hauteur de l'axe Z lors de la reprise après coupure de courant ou de la reprise après pause, affectant l'impression.
Tests
Premier test : Simuler une coupure de courant via un arrêt d'urgence
- Commencez à imprimer n'importe quel fichier. Pendant l'impression, cliquez sur le bouton Arrêt d'urgence pour simuler une coupure de courant.
- Cliquez à nouveau sur Redémarrage du firmware, attendez que
Klipperse reconnecte et revienne à la normale. - Observez si une fenêtre contextuelle apparaît sur l'interface web. Si c'est le cas, cela signifie que la fonction de reprise après coupure de courant fonctionne correctement.
- Vous pouvez ensuite tester davantage une coupure de courant réelle pour vérifier la fiabilité de la fonction.
Deuxième test : Simulation de coupure de courant réelle et vérification de la fonction
- Préparation du test : Après le démarrage normal du système et la connexion à
Klipper, vérifiez d'abord l'état des indicateurs lumineux à côté de l'ordinateur principal. Généralement, uneLEDclignote lorsque le système fonctionne ; cet indicateur est l'indicateur clé à observer par la suite. - Lorsque l'appareil fonctionne normalement et est connecté à
Klipper, coupez directement l'alimentation pour simuler un scénario de coupure de courant réel. - Vérifiez immédiatement si l'indicateur lumineux à côté de l'ordinateur principal s'éteint complètement dans les 5 secondes.
- S'il s'éteint : Cela signifie que la fonction d'arrêt en cas de coupure de courant fonctionne correctement. Poursuivez les étapes suivantes.
- S'il ne s'éteint pas : Cela signifie que la fonction d'arrêt automatique n'a pas fonctionné, généralement en raison d'une erreur dans la configuration (par exemple, le câblage ou la configuration de
kppm). Il est nécessaire de vérifier attentivement et de résoudre le problème.
- Attendez au moins
5secondes, puis rallumez l'alimentation. Observez siKlipperpeut se reconnecter automatiquement et reprendre un fonctionnement normal. (La sauvegarde des données et l'arrêt nécessitent3-5secondes). - Vérifiez l'interface web
- Si une fenêtre contextuelle apparaît : Cela signifie que la fonction de reprise après coupure de courant a été activée avec succès et fonctionne normalement.
- Si aucune fenêtre n'apparaît : Cela indique que la fonction de reprise après coupure de courant ne s'est pas déclenchée comme prévu. Veuillez vérifier systématiquement la configuration en fonction des phénomènes ci-dessus.