外置驱动问题排查
本页用于排查外置驱动配置后出现的不转、只单向转、振动、丢步、模型倾斜和 5V 升压模块异常等问题。
接线与配置:外置驱动使用教程
快速判断
若出现以下现象,通常与模块类型、信号电平、enable_pin、step_pulse_duration、脉冲极性或线序有关:
- 电机完全不转
- 电机只单向转,反向命令无效
- 电机振动、异响或方向异常
- 打印模型偏移、层错位
- 模型倾斜,尤其是换向后位置不稳定
- 使用 5V 升压模块后控制台命令报错或模块外观异常
- 配置中仍保留了对应轴的 TMC 驱动配置节
检查外置驱动器、5V 升压模块、插头、线序或更换线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔升压模块、外置驱动器信号线或触碰裸露端子。
TMC配置残留检查
使用外置驱动后,对应轴只需要保留 [stepper_*] 配置。请删除或整段注释同一个轴的 TMC 配置节:
[stepper_x]
step_pin: PA2
dir_pin: PA3
enable_pin: !PA8
microsteps: 16
step_pulse_duration: 0.000005
# 以下 TMC 配置不再使用,请删除或整段注释
#[tmc2209 stepper_x]
#uart_pin: PA10
#run_current: 0.8
常见需要检查的配置节包括:
[tmc2209 stepper_x][tmc5160 stepper_x][tmc2209 stepper_y][tmc5160 stepper_y][tmc2209 extruder][tmc5160 extruder]
如果保留了对应轴的 TMC 配置,Klipper 会继续尝试初始化该 TMC 驱动,可能导致通信报错、配置报错或电机无法正常工作。
模块类型与信号电平检查
外置驱动转接模块有两种常见类型,请先确认实际使用的是哪一种:
| 模块类型 | 输出电平 | 适用情况 |
|---|---|---|
| 普通直通模块 | 主板原本输出 3.3V,模块仍输出 3.3V;主板原本输出 5V,模块仍输出 5V | 适用于主板信号电平已满足外置驱动器输入要求的情况 |
| 5V升压模块 | 主板原本输出 3.3V 时升为 5V;主板原本输出 5V 时仍为 5V | 适用于外置驱动器需要 5V 输入、但主板驱动信号为 3.3V 的情况 |
如果外置驱动器不能稳定识别 3.3V 的 STEP、DIR 或 EN 信号,可能出现电机不转、只单向转、方向不受控或偶发丢步。D系列、C系列主板使用外置驱动时,若驱动器要求 5V 输入,应使用 5V 升压模块;普通直通模块不会把 3.3V 信号升到 5V。
如需测量 STEP、DIR、EN 低压信号,请避免表笔短接相邻引脚。若不熟悉测量方法,请优先通过模块型号、主板说明和替换成品模块确认,不要接触裸露端子。
5V模块测试说明
此检查仅针对使用5V升压模块的用户(D系列、C系列主板)。普通模块用户请跳过此节。
普通用户不要在通电状态下用表笔接触模块或主板裸露引脚。裸露引脚的电气检测请联系售后或由具备电气经验的人员处理。
在安装 5V 升压模块到主板后,请勿立即连接外置驱动器,请先按照以下步骤确认模块、配置和线束无明显异常。
添加测试配置
将以下配置添加到 printer.cfg 文件中,注意修改引脚为对应的驱动口引脚:
[output_pin STEP]
pin: PC14
[output_pin DIR]
pin: PC13
[output_pin EN]
pin: PC15
- 请将示例中的
PC14、PC13、PC15替换为实际使用的驱动口引脚。 - 例如使用 X 轴驱动口时,请查阅主板原理图找到对应的 STEP、DIR、EN 引脚编号。
断电检查模块与线束
- 确认 5V 升压模块安装方向与主板丝印、说明书一致。
- 确认 EN、PUL、DIR、GND 等线序与所选接线方式一致。
- 优先使用厂家提供的成品模块和成品线束,不要自行改线。
- 暂时不要连接外置驱动器,避免配置或线序错误时损坏驱动器。
软件输出检查
- 在 Mainsail 或 Fluidd 界面中进入控制台。
- 确认此时没有连接外置驱动器和其他执行设备,然后依次执行以下命令,确认控制台无报错:
SET_PIN PIN=EN VALUE=1
SET_PIN PIN=EN VALUE=0
SET_PIN PIN=STEP VALUE=1
SET_PIN PIN=STEP VALUE=0
SET_PIN PIN=DIR VALUE=1
SET_PIN PIN=DIR VALUE=0
- 如果命令报错,请先核对
printer.cfg中的引脚名称和实际驱动口是否一致。
测试结果判断
| 检查项 | 正常结果 | 异常结果 | 处理建议 |
|---|---|---|---|
| 模块方向与线序 | 与主板丝印、说明书一致 | 插反、错位或线序不一致 | 完全断电后重新安装或更换成品线束 |
| 控制台命令 | SET_PIN 命令无报错 | 引脚不存在或命令失败 | 核对 printer.cfg 引脚配置 |
| 模块/线束外观 | 无发热、异味、破损或松动 | 发热、异味、破损、松动 | 立即断电,更换模块或线束 |
确认外观、线序和配置均正常后,先完全断电,再进行正式的驱动器接线。
使能引脚判断方法
外置驱动器的 EN(Enable)引脚有效电平各不相同,配置前需确认:
| 接线情形 | enable_pin 写法 | 说明 |
|---|---|---|
| EN- 接主板信号线,驱动器低电平使能 | Loading... | 多数外置驱动器为低电平使能,需加 ! |
| EN- 接主板信号线,驱动器高电平使能 | Loading... | 少数驱动器为高电平使能,不加 ! |
| EN+ 已接共阳/VCC,一上电即使能 | 删除 enable_pin 整行 | 驱动器始终使能,无需软件控制 |
enable_pin 默认表示高电平使能,前面的 ! 表示低电平使能。许多外置驱动器的 EN 为低电平有效(Active Low),这类驱动器通常需要写成 enable_pin: !PA8;若驱动器为高电平有效(Active High),则写成 enable_pin: PA8。
step_pulse_duration 与方向时序
Klipper 对非 TMC 驱动默认 step_pulse_duration: 0.000002(2µs)。该参数同时约束 step 脉冲宽度和 dir 方向切换延时,dir 时序始终以 step 脉冲上升沿为基准。
若驱动器要求 step 上升沿到 dir 变化之间至少间隔 10µs,则需设置:
step_pulse_duration: 0.000010
取值建议:
- 查阅外置驱动器说明书中
Minimum Step Pulse Width或Direction Setup Time参数。 - 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量。
- 若说明书未标注,可从
0.000005起逐步调大测试。
常见现象处理
层错位 / 丢步
可能原因:step_pulse_duration 过短,外置驱动器未能可靠识别 step 脉冲。
处理方法:
- 先尝试 Loading...
- 若仍有问题,调至 Loading...
- 仍无效则继续调至 或Loading...Loading...
每次调整后保存配置并重启 Klipper(FIRMWARE_RESTART),然后测试打印效果。
模型倾斜(换向异常)
可能原因:DIR 方向信号没有被外置驱动器稳定识别,或 step_pulse_duration 太短导致换向时序不稳定。
处理方法:
- 确认模块类型正确,参考上方模块类型与信号电平检查。
- 若主板输出为
3.3V且驱动器要求5V输入,请更换为 5V 升压模块。 - 断电检查 DIR 线序是否接到驱动器 DIR 对应端子。
- 核对
dir_pin引脚是否为实际使用驱动口的方向引脚。 - 适当增大
step_pulse_duration,再保存配置并重启 Klipper 测试。
只单向转 / 方向不受控
可能原因:DIR 方向信号没有被外置驱动器稳定识别,常见于模块类型不匹配、3.3V 信号未升压、DIR 线序错误或 dir_pin 配置错误。
排查顺序:
- 确认模块类型正确,参考上方模块类型与信号电平检查。
- 若主板输出为
3.3V且驱动器要求5V输入,请更换为 5V 升压模块。 - 断电检查 DIR 线序是否接到驱动器 DIR/PUL 对应端子。
- 核对
dir_pin引脚是否为实际使用驱动口的方向引脚。 - 再根据实际方向添加或移除
dir_pin前的!。
电机不转 / 振动
排查顺序:
- 确认模块类型正确,参考上方模块类型与信号电平检查。
- 确认
enable_pin极性正确,参考上方使能引脚判断方法。 - 确认对应轴的 TMC 配置已经删除或整段注释,参考上方TMC配置残留检查。
- 确认
step_pulse_duration已调大。 - 确认驱动器拨码细分与 Klipper
microsteps一致。 - 断电检查 PUL/DIR/EN 线序是否与所选接线方式匹配。