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

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

Важно знать

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...