Aller au contenu principal

Arrêt en cas de coupure de courant et Reprise d'impression après coupure

À savoir

1. Concepts et processus des fonctionnalités

  • Arrêt en cas de 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 procède directement à un arrêt sécurisé.
    • Processus de reprise: Lorsque l'alimentation est rétablie, l'appareil redémarre automatiquement et se met en veille. La tâche d'impression précédente est annulée, 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 reprise: Lorsque l'alimentation est rétablie, une confirmation de l'utilisateur est généralement requise pour que l'appareil puisse reprendre et terminer l'impression interrompue à partir du point de coupure.

2. Règles principales

  • L'arrêt en cas de coupure de courant et la reprise d'impression après coupure sont des fonctionnalités mutuellement exclusives et ne peuvent pas être activées simultanément.
  • Si la fonction d'arrêt en cas de coupure de courant est activée, la fonction de reprise d'impression après coupure est automatiquement désactivée.

3. Comment choisir

  • Choisir "Arrêt en cas de 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 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 de courant, activez cette fonction.

Configuration

Désactiver l'arrêt en cas de coupure de courant

À savoir
  • Il est nécessaire de désactiver l'arrêt en cas de coupure de courant, sinon la reprise après coupure ne pourra pas être utilisée.
  • La fonction de reprise après coupure inclut un arrêt automatique après sauvegarde de la progression.
  • Assurez-vous qu'aucune autre alimentation n'est connectée à l'unité supérieure, sinon elle ne pourra pas démarrer.
  • Entrez 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, comme indiqué sur l'image de gauche, décochez -> Masquer les fichiers et dossiers filtrés.
    • Dans mainsail, comme indiqué sur l'image de droite, cochez -> Afficher les fichiers cachés.
    Loading...
    Loading...
    • Vous devriez maintenant voir le dossier .flyos-config. En y accédant, vous trouverez le fichier sys-config.conf.
    • Le fichier sys-config.conf est un lien symbolique vers le fichier de configuration config.txt situé sur le disque amovible FlyOS-Conf.
    Loading...
    • Ouvrez le fichier sys-config.conf, recherchez les configurations shutdown_pin_state et shutdown_pin=
    • Ajoutez un # devant ces deux configurations
    • Ensuite, enregistrez -> fermez et redémarrez
    Loading...

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/gpio8
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, pas de déplacement par défaut
start_gcode:
# Gcode exécuté avant de reprendre 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 Reprise de l'impression : {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 XY
M83 ; Extrusion relative
# G1 E0.5 F400 ; Extruder un peu
layer_count: 2 # Exécuter layer_change_gcode après avoir imprimé un nombre spécifié de couches
layer_change_gcode:
# Gcode à exécuter après avoir imprimé {layer_count} couches
M118 Restaurer 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 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.cfg et ajoutez le contenu suivant au début du fichier :


    [include plr.cfg]

  • Cliquez sur Enregistrer en haut à droite et redémarrez.

  • La fonction de reprise après coupure de courant de Klipper est maintenant configurée.

Explications sur [homing_override]

Attention
  • 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 fonction set_position_z dans [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 %}

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_z dans le module [power_loss_resume], de sorte qu'elle ait le signe opposé à la valeur de décalage ci-dessus.

Correspondance de configuration

Variable macroParamètre module pause/repriseCorrespondance
variable_custom_park_dz: 5paused_recover_z: -5Signe opposé, même valeur
variable_custom_park_dz: -3paused_recover_z: 3Signe 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

  1. Commencez à imprimer n'importe quel fichier. Pendant l'impression, cliquez sur le bouton Arrêt d'urgence pour simuler une coupure de courant.
  2. Cliquez à nouveau sur Redémarrage du firmware, attendez que Klipper se reconnecte et revienne à la normale.
  3. 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.
  4. 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

  1. 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, une LED clignote lorsque le système fonctionne ; cet indicateur est l'indicateur clé à observer par la suite.
  2. Lorsque l'appareil fonctionne normalement et est connecté à Klipper, coupez directement l'alimentation pour simuler un scénario de coupure de courant réel.
  3. 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.
  4. Attendez au moins 5 secondes, puis rallumez l'alimentation. Observez si Klipper peut se reconnecter automatiquement et reprendre un fonctionnement normal. (La sauvegarde des données et l'arrêt nécessitent 3-5 secondes).
  5. 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.
Loading...