跳到主要内容

断电关机与断电续打

重要须知
  • 断电关机断电续打功能互相冲突,无法同时启用
  • 若仅启用断电关机功能,则将无法使用断电续打功能
  • 必须正确配置并保持Klipper连接,断电续打功能方能生效。该功能触发后,将自动进入关机流程

功能配置

关闭断电关机功能

须知
  • 需要关闭断电关机,否则无法使用断电续打功能
  • 断电续打中有保存进度后自动关机功能
  • 请保证没有其他供电接到上位机上,否则无法正常关机
  1. 访问设备配置页面

    • 在浏览器地址栏输入设备IP地址,例如:http://192.168.1.2/
  2. 显示隐藏文件

    • Fluidd:取消勾选"筛选隐藏的文件和文件夹"
    • Mainsail:勾选"显示隐藏文件"
  3. 编辑配置文件

    • 找到并进入.flyos-config文件夹
    • 打开sys-config.conf文件
  1. 注释断电关机配置

    • 找到shutdown_pin_stateshutdown_pin配置项
    • 在这两个配置前面添加#进行注释
  2. 保存并重启

    • 保存修改后的配置文件
    • 关闭文件并重启系统

配置断电续打功能

  1. 编辑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 ; 紧急停止
  2. 包含配置文件

    • 打开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 %}

功能测试

第一步:模拟断电测试

  1. 开始打印任意文件
  2. 在打印过程中点击紧急停机按钮,模拟断电情况
  3. 点击固件重启,等待Klipper重新连接
  4. 观察网页界面是否出现弹窗提示(如有提示说明功能正常)
  5. 后续可进行真实断电测试验证功能可靠性

第二步:真实断电测试

  1. 测试准备:确认上位机旁的指示灯状态(正常运行时应有LED闪烁)
  2. 断电测试:在设备正常运行状态下直接断开电源
  3. 指示灯检查:观察指示灯是否在5秒内完全熄灭
    • 熄灭:断电关机功能正常
    • 未熄灭:自动关机功能未生效,需检查配置
  4. 恢复测试:等待至少5秒后重新接通电源
  5. 功能验证
    • 出现弹窗:断电续打功能正常
    • 无提示:断电续打功能未启动,需检查配置

Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
Loading...