Aller au contenu principal

Arrêt sur coupure et Reprise après coupure

À savoir

1. Concepts et processus des fonctionnalités

  • Arrêt sur coupure

    • Concept : Lorsqu'une coupure de courant anormale est détectée, le système ne sauvegarde pas l'état d'impression en cours et exécute 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 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 utilisateur est généralement requise pour que l'appareil puisse reprendre et terminer l'impression inachevée à partir du point d'interruption.

2. Règles principales

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

3. Comment choisir

  • Choisir "Arrêt sur coupure" : Si vous accordez plus d'importance à la sécurité électrique, ou si vous souhaitez que l'appareil démarre automatiquement et se mette en veille après le rétablissement du courant, sans reprendre l'impression interrompue, activez cette fonction.
  • Choisir "Reprise 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.

Configuration

Désactivation de 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 d'impression après coupure ne pourra pas être utilisée.
  • La fonction de reprise d'impression après coupure inclut un arrêt automatique après sauvegarde de la progression.
  • Veillez à ce qu'aucune autre alimentation électrique ne soit connectée au contrôleur principal, sinon il ne pourra pas démarrer.
  • 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, comme indiqué sur l'image de gauche ci-dessous, décochez -> Filtrer les fichiers et dossiers cachés.
    • Dans mainsail, comme indiqué sur l'image de droite ci-dessous, 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, puis redémarrez l'appareil.
    Loading...

Fichier de configuration plr.cfg

  • Sur la page de configuration de l'imprimante, localisez le fichier plr.cfg.
  • Effacez son contenu, puis collez-y 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:gpiochip0/gpio260
is_shutdown: True # Indique s'il faut effectuer une procédure d'arrêt, activé par défaut
paused_recover_z: -2.0 # Distance de déplacement en Z lors de la reprise si l'impression était en pause, par défaut aucun mouvement
start_gcode:
# G-code 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 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}]
# Restauration des températures de tous les éléments chauffants
{% for name, heater in PLR.heaters.items() %}
{% if heater.target > 0 %}
M118 Définition de la température cible pour l'élément chauffant [{heater.name}] : {heater.target}
SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target}
{% endif %}
{% endfor %}
# Attente de la température de l'extrudeuse
{% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %}
{% set extruder = PLR.heaters[PLR.toolhead.extruder] %}
M118 Attente de la température cible pour [{extruder.name}] : {extruder.target}
TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5}
{% endif %}
G91 ; Coordonnées relatives
G1 Z2 F100 ; Élévation de Z, préparation pour la mise à zéro de X et Y
G90 ; Coordonnées absolues
G28 X Y ; Mise à zéro de X et Y
M83 ; Extrusion relative
# G1 E0.5 F400 ; Extrusion d'une petite quantité
layer_count: 2 # Nombre de couches à imprimer avant d'exécuter layer_change_gcode
layer_change_gcode:
# G-code à exécuter après l'impression de {layer_count} couches
M118 Rétablissement de la vitesse d'impression
M106 S{PLR.fan_speed} ; Activation du ventilateur de refroidissement
M220 S{PLR.move_speed_percent} ; Définition du pourcentage de vitesse de déplacement
M221 S{PLR.extrude_speed_percent} ; Définition du pourcentage de vitesse d'extrusion
shutdown_gcode:
# G-code 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 et redémarrer" en haut à droite.

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

Explications concernant [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 vous ne suivez pas cette configuration, 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 concernant le relèvement
    • Cette configuration n'exécute l'action que si l'axe Z n'est pas en position d'origine. Cette configuration n'affecte pas l'utilisation normale.
      {% if 'z' not in printer.toolhead.homed_axes %}
      SET_KINEMATIC_POSITION Z=0
      G90
      G0 Z5 F600
      {% endif %}

Explications 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] pour qu'elle ait un signe opposé à la valeur de décalage ci-dessus.

Correspondance de configuration

Variable macroParamètre du module pause/repriseCorrespondance
variable_custom_park_dz: 5paused_recover_z: -5Signe opposé, valeur identique
variable_custom_park_dz: -3paused_recover_z: 3Signe opposé, valeur identique

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 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 normalement.
  4. Vous pouvez ensuite tester davantage avec une véritable coupure de courant 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 de Klipper, vérifiez d'abord l'état de l'indicateur à côté de l'ordinateur hôte. 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 que Klipper est connecté, débranchez directement l'alimentation pour simuler un scénario de coupure de courant réel.
  3. Vérifiez immédiatement si l'indicateur à côté de l'ordinateur hôte 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 normalement. Veuillez poursuivre 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 connexe (par exemple, le câblage ou la configuration de kppm). Il est nécessaire de vérifier et de résoudre le problème de manière prioritaire.
  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 aucun message 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 connexe en fonction des phénomènes ci-dessus.
Loading...