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

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

Важно знать

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

  • Отключение питания

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

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

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

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

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

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

Подключение

Важные примечания
  • Примечания по функциям отключения питания/возобновления печати для FLY Pi-V2
  • При подключении другого хоста через USB необходимо отключить или изолировать линию питания 5В (например, обрезать кабель или использовать USB-кабель только с контактами данных)
  • Для питания необходимо использовать специальный модуль KPPM, не используйте другие способы питания
  • Если невозможно отключить соединение 5В между подчиненным устройством и хостом, необходимо полностью отключить питание основной платы перед повторным включением, иначе может не произойти нормальный запуск
  • FLY-Pi с подключением 5В
    Loading...

Конфигурация

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

Важно
  • Необходимо отключить выключение питания, иначе нельзя использовать возобновление печати после отключения.
  • Функция возобновления печати после отключения включает автоматическое выключение после сохранения прогресса.
  • Убедитесь, что к верхнему компьютеру не подключено другое питание, иначе он не включится.
  • Введите 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/gpio21
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...