常用调试指令
提示
- 本教程以Fluidd网页为主
- 本教程适用于已正常连接打印机后的调试
- 本教程提供常用的指令,可能因各种原因收录不完全
驱动相关
须知
- 未配置或存在问题的驱动无法被检查
- 请确保所有驱动供电正常、主板供电正常、驱动跳线和配置均无误
检查驱动状态
-
此命令用于验证TMC驱动在SPI/UART模式下的通信状态,在控制台中执行:
DUMP_TMC STEPPER=stepper_x
DUMP_TMC STEPPER=stepper_y
DUMP_TMC STEPPER=stepper_z
DUMP_TMC STEPPER=extruder
提示
如果有多个同轴电机(如stepper_x1、stepper_z1等),请按实际配置名称替换。
驱动强制移动
-
首先在
printer.cfg中添加以下配置:[force_move]
enable_force_move: true -
然后在控制台执行
STEPPER_BUZZ命令,电机会来回运动1mm:STEPPER_BUZZ STEPPER=stepper_x
STEPPER_BUZZ STEPPER=stepper_y
STEPPER_BUZZ STEPPER=stepper_z
STEPPER_BUZZ STEPPER=extruder -
开启
force_move后也可以通过网页控制面板强制移动 -
请注意一次性只能移动一个电机
-
如果是多轴(如两个Z轴),需要归位后才可以控制
Loading...
强制设定打印头位置
-
控制台输入下方命令即可强制设定打印头位置,设置后可直接控制移动:
SET_KINEMATIC_POSITION x=100 y=100 z=100
挤出机步进值校准
-
校准前需确认:
- 挤出机驱动可以正常工作
full_steps_per_rotation与gear_ratio配置正确
-
参考配置:
full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度)
gear_ratio: 50:10 # 减速比(BMG为50:17,输出轴在前,输入轴在后)
rotation_distance: 22.522 # 主动带轮周长mm -
校准公式:
新rotation_distance = 旧rotation_distance * 实际挤出长度 / 请求的挤出长度 -
得到新的
rotation_distance后需取整到小数点后3位
加热相关
PID校准
提示
TARGET=后面是设定温度,请设定平常打印使用的温度- 如果有多个加热设备,按实际名称替换
HEATER=后面的值
-
挤出机:
PID_CALIBRATE HEATER=extruder TARGET=245 -
热床:
PID_CALIBRATE HEATER=heater_bed TARGET=100 -
PTC:
PID_CALIBRATE HEATER=PTC TARGET=70
温度误差相关
提示
- 加热等待超时可参考: M109优化
- 温度波动导致报错可参考: verify_heater优化
限位相关
普通限位
危险
- 请确保限位开关是两线的;如果是三线,需要确定线序是否正确,否则可能损坏主板!
-
查询限位状态:
QUERY_ENDSTOPS -
确保限位处于正常打开状态(未被触碰),执行后应返回如下信息:
Loading... -
手动按下限位后再次执行
QUERY_ENDSTOPS,限位状态应发生变化:Loading... -
限位状态变化则代表接线正确
无限位(Sensorless Homing)
-
无限位的默认状态应为打开(open),如果不是则说明配置或接线有问题
-
查询方式与普通限位相同:
QUERY_ENDSTOPSLoading...
探针相关
BL-TOUCH
-
调试命令:
命令 功能 BLTOUCH_DEBUG COMMAND=pin_down探针弹出 BLTOUCH_DEBUG COMMAND=pin_up探针缩回 BLTOUCH_DEBUG COMMAND=touch_mode进入触摸验证模式
Probe & TAP
-
查询探针状态(正常未触发时应显示open):
QUERY_PROBE -
建议在配置pin时添加上拉
^Loading...
重复精度测试
-
默认10次采样:
PROBE_ACCURACY -
100次采样(更精确):
PROBE_ACCURACY samples=100
特殊类型
舵机
提示
舵机分180度与360度,请注意区分。
-
参考配置:
[servo my_servo]
pin: PE6 -
参考指令:
SET_SERVO SERVO=my_servo ANGLE=360
SET_SERVO SERVO=my_servo ANGLE=180
SET_SERVO SERVO=my_servo ANGLE=0
Loading...