Перейти к основному содержимому

Аварийное отключение питания и возобновление печати после сбоя питания

Важно знать

1. Концепция функций и процесс

  • Аварийное отключение питания

    • Концепция: При обнаружении аномального отключения питания система не сохраняет текущее состояние печати, а немедленно выполняет безопасное выключение.
    • Процесс восстановления: После восстановления питания устройство автоматически перезагрузится и перейдет в режим ожидания. Предыдущая задача печати прервана, вам необходимо вручную начать новую печать.
  • Возобновление печати после сбоя питания

    • Концепция: При обнаружении аномального отключения питания система немедленно сохраняет текущий прогресс печати (например, позицию, высоту слоя), а затем выключается.
    • Процесс восстановления: После восстановления питания обычно требуется подтверждение пользователя, после чего устройство может продолжить незавершенную печать с точки прерывания.

2. Основные правила

  • Функции аварийного отключения питания и возобновления печати после сбоя питания являются взаимоисключающими и не могут быть включены одновременно.
  • Если включена функция аварийного отключения питания, функция возобновления печати после сбоя питания автоматически отключается.

3. Как выбрать

  • Выберите "Аварийное отключение питания": Если вы больше заботитесь о безопасности использования электроэнергии или хотите, чтобы устройство автоматически запускалось и переходило в режим ожидания после восстановления питания, без необходимости возобновления прерванной печати, включите эту функцию.
  • Выберите "Возобновление печати после сбоя питания": Если вы часто выполняете длительные и критически важные задачи печати и хотите иметь возможность продолжить печать с точки прерывания после сбоя питания, включите эту функцию.

Настройка

Отключение выключения при отключении питания

Важно знать
  • Необходимо отключить выключение при отключении питания, иначе невозможно использовать возобновление печати после отключения питания.
  • В функции возобновления печати после отключения питания есть функция автоматического выключения после сохранения прогресса.
  • Убедитесь, что к верхнему компьютеру не подключено другое питание, иначе он не включится.
  • Введите IP-адрес устройства в адресную строку браузера, например: http://192.168.6.179

  • Перейдите на страницу конфигурации

    • Откройте IP-адрес устройства в браузере, например: http://192.168.1.2/
    • В fluidd, как показано на левом рисунке ниже, снимите галочку -> Скрыть скрытые файлы и папки.
    • В mainsail, как показано на правом рисунке ниже, поставьте галочку -> Показать скрытые файлы.
    Loading...
    Loading...
    • Теперь вы увидите папку .flyos-config, войдите в эту папку, там будет файл sys-config.conf.
    • Файл sys-config.conf — это символическая ссылка на файл конфигурации config.txt на съемном диске FlyOS-Conf.
    Loading...
    • Откройте файл sys-config.conf, найдите настройки shutdown_pin_state и shutdown_pin=
    • Добавьте символ # перед этими настройками
    • Затем сохраните -> закройте и перезагрузите устройство
    Loading...

Файл конфигурации plr.cfg

  • На странице конфигурации принтера найдите файл plr.cfg.
  • Очистите его содержимое и вставьте приведенную ниже конфигурацию.
  • Содержимое конфигурационного файла:
[mcu host]
serial: /tmp/klipper_host_mcu

[power_loss_resume]
power_pin: host:gpiochip1/gpio8
is_shutdown: True # Выполнять ли операцию выключения, по умолчанию включено
paused_recover_z: -2.0 # Если остановка была приостановкой печати, расстояние перемещения Z при возобновлении, по умолчанию не перемещается
start_gcode:
# G-код, выполняемый перед началом возобновления печати
# Все параметры, сохраненные до отключения питания, доступны через {PLR}
# Можно использовать M118 {PLR} для вывода всех доступных параметров
# M118 {PLR}
M118 Начало возобновления печати: {PLR.print_stats.filename}
M118 Позиция прерывания: X:[{PLR.POS_X}] Y:[{PLR.POS_Y}] Z:[{PLR.POS_Z}] E:[{PLR.POS_E}]
# Восстановление температуры всех нагревателей
{% for name, heater in PLR.heaters.items() %}
{% if heater.target > 0 %}
M118 Установка целевой температуры нагревателя[{heater.name}]: {heater.target}
SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target}
{% endif %}
{% endfor %}
# Ожидание температуры экструдера
{% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %}
{% set extruder = PLR.heaters[PLR.toolhead.extruder] %}
M118 Ожидание достижения целевой температуры [{extruder.name}]: {extruder.target}
TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5}
{% endif %}
G91 ; Относительные координаты
G1 Z2 F100 ; Поднять Z, подготовка к обнулению X,Y
G90 ; Абсолютные координаты
G28 X Y ; Обнулить XY
M83 ; Относительная экструзия
# G1 E0.5 F400 ; Выдавить немного
layer_count: 2 # После печати указанного количества слоев выполнить layer_change_gcode
layer_change_gcode:
# G-код, выполняемый после печати {layer_count} слоев при возобновлении
M118 Восстановление скорости печати
M106 S{PLR.fan_speed} ; Включить вентилятор обдува
M220 S{PLR.move_speed_percent} ; Установить процент запрашиваемой скорости перемещения
M221 S{PLR.extrude_speed_percent} ; Установить процент запрашиваемой скорости экструзии
shutdown_gcode:
# G-код, выполняемый перед выключением
M118 Низкое напряжение питания, выключение
# M112 ; Аварийная остановка
  • После сохранения приведенного выше конфигурационного файла

  • Откройте файл printer.cfg и добавьте следующее содержимое в самое начало файла:


    [include plr.cfg]

  • Нажмите "Сохранить и перезагрузить" в правом верхнем углу.

  • На этом настройка функции возобновления печати после отключения питания в Klipper завершена.

Объяснение [homing_override]

Внимание
  • Обратите внимание: если используется [homing_override], нельзя произвольно устанавливать позицию возврата в [homing_override]`. За сбой возобновления печати после отключения питания ответственность не несется.
  • Ниже приведены инструкции по настройке [homing_override].
  • Пояснения
    • [force_move]: Включает функцию принудительного перемещения, позволяя принудительно перемещаться в указанную позицию.
    • [force_move] заменяет функцию set_position_z в [homing_override]. Если не следовать этой конфигурации, это может привести к сбою возобновления печати после отключения питания.
    • Конфигурация [homing_override] ниже предназначена для правильного возврата оси Z при возобновлении печати после отключения питания.
[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 %}

  • Пояснение о подъеме
    • Эта конфигурация выполняется только если ось Z не была возвращена в исходное положение. Она не влияет на нормальное использование.
      {% if 'z' not in printer.toolhead.homed_axes %}
      SET_KINEMATIC_POSITION Z=0
      G90
      G0 Z5 F600
      {% endif %}

Пояснение конфигурации [gcode_macro _CLIENT_VARIABLE]

  • Когда ваша конфигурация содержит макрос [gcode_macro _CLIENT_VARIABLE] и установлены следующие переменные:
  • Справка
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos: True # Включить пользовательскую позицию
variable_custom_park_dz: 5 # Установить смещение высоты парковки
  • Вы должны соответствующим образом настроить параметр paused_recover_z в модуле [power_loss_resume], чтобы его значение было противоположным по знаку указанному выше смещению.

Соответствие конфигураций

Переменная макросаПараметр модуля паузы/возобновленияСоответствие
variable_custom_park_dz: 5paused_recover_z: -5Противоположные знаки, одинаковые значения
variable_custom_park_dz: -3paused_recover_z: 3Противоположные знаки, одинаковые значения

Пример конфигурации

[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos: True
variable_custom_park_dz: 5

[power_loss_resume]
paused_recover_z: -5

Важно: Если не соблюдать это соответствие, может произойти ошибка расчета высоты оси Z при возобновлении печати после отключения питания или при паузе, что повлияет на печать.

Тестирование

Первый шаг тестирования: Имитация отключения питания через аварийную остановку

  1. Начните печать любого файла, во время печати нажмите кнопку Аварийная остановка, чтобы имитировать отключение питания.
  2. Снова нажмите Перезагрузка прошивки, дождитесь повторного подключения Klipper и восстановления нормальной работы.
  3. Наблюдайте, появится ли всплывающее окно в веб-интерфейсе. Если появится, значит функция возобновления печати после отключения питания работает нормально.
  4. В дальнейшем можно дополнительно протестировать реальное отключение питания, чтобы проверить надежность функции.

Второй шаг тестирования: Имитация реального отключения питания и проверка функциональности

  1. Подготовка к тесту: После нормального запуска системы и подключения Klipper сначала проверьте состояние индикатора рядом с хост-компьютером. Обычно есть LED, который мигает во время работы системы. Этот индикатор является ключевым для последующего наблюдения.
  2. При нормальной работе устройства и подключенном Klipper напрямую отключите питание, имитируя реальный сценарий отключения питания.
  3. Немедленно проверьте, полностью ли погас индикатор рядом с хост-компьютером в течение 5 секунд.
    • Если погас: значит функция автоматического выключения при отключении питания работает нормально, продолжайте следующие шаги.
    • Если не погас: значит функция автоматического выключения не сработала, обычно из-за ошибки в соответствующей конфигурации (например, подключение или конфигурация kppm). Необходимо тщательно проверить и устранить неисправность.
  4. Подождите не менее 5 секунд, затем снова включите питание и наблюдайте, сможет ли Klipper автоматически переподключиться и восстановить нормальную работу. (Сохранение данных и выключение занимает 3-5 секунд).
  5. Проверьте веб-интерфейс
    • Если появится всплывающее окно: значит функция возобновления печати после отключения питания успешно активирована и работает нормально.
    • Если никаких сообщений нет: значит функция возобновления печати после отключения питания не запустилась, как ожидалось. Пожалуйста, систематически проверьте соответствующую конфигурацию, исходя из вышеуказанных явлений.

Loading...