断电关机与断电续打
重要须知
- 断电关机与断电续打功能互相冲突,无法同时启用
- 若仅启用断电关机功能,则将无法使用断电续打功能
- 必须正确配置并保持Klipper连接,断电续打功能方能生效。该功能触发后,将自动进入关机流程
功能配置
- 断电关机
- 断电续打
配置断电关机
须知
请按照以下步骤配置断电关机功能
-
访问设备配置页面
- 在浏览器地址栏输入设备IP地址,例如:
http://192.168.1.2/
- 在浏览器地址栏输入设备IP地址,例如:
-
显示隐藏文件
- Fluidd:取消勾选"筛选隐藏的文件和文件夹"
- Mainsail:勾选"显示隐藏文件"


-
编辑配置文件
- 找到并进入
.flyos-config文件夹 - 打开
sys-config.conf文件(该文件是FlyOS-Conf磁盘中config.txt的软链接)

- 找到并进入
-
修改配置参数
- 找到
shutdown_pin_state与shutdown_pin配置项 - 修改为以下配置:
shutdown_pin_state=1
shutdown_pin=xxxxx- 确保
shutdown_pin=none已被删除或注释(前面加#) - 其中
xxxxx为实际使用的GPIO编号,请根据您的设备型号选择正确的GPIO:
- 找到
-
保存并重启
- 保存修改后的配置文件
- 关闭文件并重启系统

关闭断电关机功能
须知
- 需要关闭断电关机,否则无法使用断电续打功能
- 断电续打中有保存进度后自动关机功能
- 请保证没有其他供电接到上位机上,否则无法正常关机
-
访问设备配置页面
- 在浏览器地址栏输入设备IP地址,例如:
http://192.168.1.2/
- 在浏览器地址栏输入设备IP地址,例如:
-
显示隐藏文件
- Fluidd:取消勾选"筛选隐藏的文件和文件夹"
- Mainsail:勾选"显示隐藏文件"


-
编辑配置文件
- 找到并进入
.flyos-config文件夹 - 打开
sys-config.conf文件
- 找到并进入

-
注释断电关机配置
- 找到
shutdown_pin_state与shutdown_pin配置项 - 在这两个配置前面添加
#进行注释
- 找到
-
保存并重启
- 保存修改后的配置文件
- 关闭文件并重启系统

配置断电续打功能
-
编辑plr.cfg配置文件
- 在打印机配置页面中,找到或创建
plr.cfg文件 - 清空文件内容,粘贴以下配置:
- 请注意根据实际使用的GPIO编号修改
power_pin参数
[mcu host]
serial: /tmp/klipper_host_mcu
[power_loss_resume]
power_pin: xxxx
is_shutdown: True # 是否执行关机操作,默认为启用
paused_recover_z: -2.0 # 如果停机时为暂停打印,续打时Z移动距离,默认为不移动
start_gcode:
# 开始续打前执行的gcode
# 断电前保存的所有参数均可通过{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}]
{% if PLR.bed.target > 0 %}
M140 S{PLR.bed.target} ; 设置热床温度
{% endif %}
{% if PLR.extruder.target > 50 %}
M104 S{PLR.extruder.target - 10} ; 等待挤出头加热到设定温度
{% endif %}
G91 ; 相对坐标
G1 Z2 F100 ; 抬升Z,准备X,Y归零
G90 ; 绝对坐标
G28 X Y ; 归零XY
{% if PLR.bed.target > 0 %}
M190 S{PLR.bed.target} ; 等待热床加热到设定温度
{% endif %}
{% if PLR.extruder.target > 0 %}
M109 S{PLR.extruder.target} ; 等待挤出头加热到设定温度
{% endif %}
M83 ; 相对挤出
# G1 E0.5 F400 ; 挤出一点
layer_count: 2 # 续打指定层数后执行layer_change_gcode
layer_change_gcode:
# 续打了{layer_count}层后要执行的gcode
M118 恢复打印速度
M106 S{PLR.fan_speed} ; 开启吹料风扇
M220 S{PLR.move_speed_percent} ; 设置请求速度百分比
M221 S{PLR.extrude_speed_percent} ; 设置请求挤出速度百分比
shutdown_gcode:
# 关机前执行的gcode
M118 电源电压低,关机
# M112 ; 紧急停止 - 在打印机配置页面中,找到或创建
-
包含配置文件
- 打开
printer.cfg文件,在文件最前面添加:
[include plr.cfg]- 点击右上角保存并重启
- 打开
配置归位覆盖(Homing Override)
重要注意事项
- 如果使用
[homing_override],不能在配置中随意设置归位位置 - 不正确的配置可能导致断电续打失败
配置说明
[force_move]:开启强制移动功能,允许强制移动到指定位置[force_move]代替了[homing_override]中的set_position_z功能- 以下配置确保断电续打时能够正确归位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轴抬升说明 此配置仅在Z轴未归位时执行,不影响正常使用:
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}
功能测试
第一步:模拟断电测试
- 开始打印任意文件
- 在打印过程中点击紧急停机按钮,模拟断电情况
- 点击固件重启,等待Klipper重新连接
- 观察网页界面是否出现弹窗提示(如有提示说明功能正常)
- 后续可进行真实断电测试验证功能可靠性
第二步:真实断电测试
- 测试准备:确认上位机旁的指示灯状态(正常运行时应有LED闪烁)
- 断电测试:在设备正常运行状态下直接断开电源
- 指示灯检查:观察指示灯是否在5秒内完全熄灭
- 熄灭:断电关机功能正常
- 未熄灭:自动关机功能未生效,需检查配置
- 恢复测试:等待至少5秒后重新接通电源
- 功能验证:
- 出现弹窗:断电续打功能正常
- 无提示:断电续打功能未启动,需检查配置
Loading...