Отключение питания и возобновление печати после сбоя питания
1. Концепция функций и процесс
-
Отключение питания
- Концепция: При обнаружении аварийного отключения питания система не сохраняет текущее состояние печати и немедленно выполняет безопасное выключение.
- Процесс восстановления: После восстановления питания устройство автоматически перезагрузится и перейдет в режим ожидания. Предыдущая задача печати прервана, вам необходимо вручную начать новую печать.
-
Возобновление печати после сбоя питания
- Концепция: При обнаружении аварийного отключения питания система немедленно сохраняет текущий прогресс печати (например, позицию, высоту слоя), а затем выключается.
- Процесс восстановления: После восстановления питания обычно требуется подтверждение пользователя, после чего устройство может продолжить незавершенную печать с точки отключения.
2. Основные правила
- Функции отключения питания и возобновления печати после сбоя питания являются взаимоисключающими и не могут быть включены одновременно.
- Если включена функция отключения питания, функция возобновления печати после сбоя питания автоматически отключается.
3. Как выбрать
- Выберите "Отключение питания": Если вы больше заботитесь о безопасности использования электроэнергии или хотите, чтобы устройство автоматически запускалось и переходило в режим ожидания после восстановления питания, без необходимости возобновления прерванной печати, включите эту функцию.
- Выберите "Возобновление печати после сбоя питания": Если вы часто выполняете длительные и критически важные задачи печати и хотите иметь возможность продолжить печать с точки прерывания после отключения питания, включите эту функцию.
Подключение
- Важные моменты для функции отключения питания/возобновления печати FLY Pi-V2
- При подключении к другому хост-компьютеру через USB необходимо отключить или изолировать линию питания 5В (например, перерезав кабель или используя USB-кабель только с контактами данных)
- Для питания необходимо использовать специальный модуль KPPM, не используйте другие способы питания
- Если невозможно отключить соединение 5В между подчиненным и хост-компьютером, необходимо полностью отключить питание основной платы перед повторным включением, иначе возможны проблемы с нормальной загрузкой
- FLY-Pi, подключение 5В
- FLY-Pi, подключение USB
- FLY-Pi, подключение 5В
Loading...
- FLY-Pi, подключение USB
Loading...
Настройка
- Отключение питания
- Возобновление печати после сбоя питания
Настройка выключения питания
- Способ настройки выключения питания
-
Введите IP-адрес устройства в адресной строке браузера, например:
http://192.168.6.179 -
Перейдите на страницу настройки
- Откройте IP-адрес устройства в браузере, например:
http://192.168.1.2/ - В интерфейсе fluidd, как показано на левом рисунке ниже, снимите галочку с ->
Фильтровать скрытые файлы и папки. - В интерфейсе mainsail, как показано на правом рисунке ниже, поставьте галочку с ->
Показывать скрытые файлы.
Loading...Loading...- Теперь вы можете увидеть папку
.flyos-config, откройте эту папку, там будет файл конфигурацииsys-config.conf.
Loading...- Откройте файл
sys-config.conf, найдите параметрыshutdown_pin_stateиshutdown_pin=, измените их согласно приведенной ниже конфигурации. - Обратите внимание, что
shutdown_pin=noneнужно либо удалить, либо добавить перед ним#.
- Откройте IP-адрес устройства в браузере, например:
shutdown_pin_state=1
shutdown_pin=PA21
- Затем
Сохранить->Закрытьи перезагрузить систему.
Отключение выключения питания
- Необходимо отключить выключение питания, иначе функция продолжения печати после отключения питания работать не будет.
- В функции продолжения печати после отключения питания есть возможность автоматического выключения после сохранения прогресса.
- Убедитесь, что к основному компьютеру не подключено другое питание, иначе он не включится
-
Введите 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... - Откройте IP-адрес устройства в браузере, например:
Файл конфигурации 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 %}
- Эта конфигурация выполняется только если ось Z не была возвращена в исходное положение. Она не влияет на нормальное использование.
Пояснение конфигурации [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: 5 | paused_recover_z: -5 | Противоположные знаки, одинаковые значения |
variable_custom_park_dz: -3 | paused_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 при возобновлении печати после отключения питания или при паузе, что повлияет на печать.
Тестирование
Первый шаг тестирования: Имитация отключения питания через аварийную остановку
- Начните печать любого файла, во время печати нажмите кнопку Аварийная остановка, чтобы имитировать отключение питания.
- Снова нажмите Перезагрузка прошивки, дождитесь повторного подключения
Klipperи восстановления нормальной работы. - Наблюдайте, появится ли всплывающее окно в веб-интерфейсе. Если появится, значит функция возобновления печати после отключения питания работает нормально.
- В дальнейшем можно дополнительно протестировать реальное отключение питания, чтобы проверить надежность функции.
Второй шаг тестирования: Имитация реального отключения питания и проверка функциональности
- Подготовка к тесту: После нормального запуска системы и подключения
Klipperсначала проверьте состояние индикатора рядом с хост-компьютером. Обычно естьLED, который мигает во время работы системы. Этот индикатор является ключевым для последующего наблюдения. - При нормальной работе устройства и подключенном
Klipperнапрямую отключите питание, имитируя реальный сценарий отключения питания. - Немедленно проверьте, полностью ли погас индикатор рядом с хост-компьютером в течение 5 секунд.
- Если погас: значит функция автоматического выключения при отключении питания работает нормально, продолжайте следующие шаги.
- Если не погас: значит функция автоматического выключения не сработала, обычно из-за ошибки в соответствующей конфигурации (например, подключение или конфигурация
kppm). Необходимо тщательно проверить и устранить неисправность.
- Подождите не менее
5секунд, затем снова включите питание и наблюдайте, сможет лиKlipperавтоматически переподключиться и восстановить нормальную работу. (Сохранение данных и выключение занимает3-5секунд). - Проверьте веб-интерфейс
- Если появится всплывающее окно: значит функция возобновления печати после отключения питания успешно активирована и работает нормально.
- Если никаких сообщений нет: значит функция возобновления печати после отключения питания не запустилась, как ожидалось. Пожалуйста, систематически проверьте соответствующую конфигурацию, исходя из вышеуказанных явлений.