硬件测试方法
本文档收录常见硬件模块的最小化测试方法,用于在排障时隔离单个硬件,确认问题来自配置、线束、模块本体还是主板端口。
测试思路来自主板与工具板测试配置:使用 manual_stepper DriveN 测驱动,使用 output_pin 测低压输出,使用 temperature_sensor 测温度/ADC,使用 gcode_button 测输入信号,使用 adxl345 / lis2dw 测加速度计。
以下所有接线、插拔、整理线束、调整跳线帽或拨码开关的步骤,都必须在打印机完全断电并断开电源供应后进行。禁止带电插拔驱动模块、步进电机线、CAN 线、探针线、风扇线或加速度计模块。
本文不要求客户焊接、拆卸电源、改动市电接线、测量裸露高压/大电流端子,或使用示波器等专业仪器。涉及加热棒、热床、SSR、MOS 管、电源输入端的电气检测,请联系售后或专业人员。
使用前准备
备份原配置
- 备份当前
printer.cfg和相关include文件。 - 每次只测试一个硬件类型,避免多个模块同时影响判断。
- 测试配置通过后,再恢复原始配置继续排查整机问题。
测试配置中的引脚必须以实际主板、工具板说明书或厂家模板为准。不要直接照抄示例引脚到不同型号主板。
推荐测试顺序
- MCU 连接与主板温度。
- 温度传感器或 ADC 输入。
- 低压输出口,如风扇、RGB、蜂鸣器。
- 输入口,如限位、探针、断料检测。
- 加速度计。
- 步进驱动与电机。
- CAN 工具板通信。
MCU 与温度传感器测试
测试目的
确认 MCU 可以被 Klipper 连接,并验证主板温度、热敏电阻或 ADC 输入是否能正常显示。
最小化配置
[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxx
[temperature_sensor MCU_TEMP]
sensor_type: temperature_mcu
[temperature_sensor ADC1]
sensor_type: Generic 3950
sensor_pin: PF4
测试步骤
- 将
serial和sensor_pin改为实际主板对应值。 - 断电后确认热敏电阻插头已插牢,线材无破损。
- 上电并重启 Klipper。
- 在 Mainsail / Fluidd 温度面板查看
MCU_TEMP和ADC1是否显示合理温度。
结果判断
| 测试项 | 正常结果 | 异常表现 | 处理建议 |
|---|---|---|---|
| MCU 温度 | 显示接近环境温度或略高 | 无法连接 MCU | 检查 serial、固件和 USB/CAN 连接 |
| 热敏电阻 | 显示接近环境温度 | ADC out of range、极高或极低 | 断电后检查插头、线序和传感器型号 |
只观察温度读数,不要为了测试温度而加热喷嘴或热床。若怀疑加热回路、SSR、MOS 管或热床输出异常,请使用成品模块替换法或联系售后。
低压输出口测试
测试目的
确认风扇、RGB、蜂鸣器等低压输出口是否能被 Klipper 控制。
连接或更换风扇、RGB、蜂鸣器等低压负载前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束或触碰裸露端子。
风扇输出配置
[output_pin FAN0]
pin: PA0
pwm: True
cycle_time: 0.010
value: 0
shutdown_value: 0
测试命令
SET_PIN PIN=FAN0 VALUE=0.3
SET_PIN PIN=FAN0 VALUE=1
SET_PIN PIN=FAN0 VALUE=0
结果判断
| 测试项 | 正常结果 | 异常表现 | 处理建议 |
|---|---|---|---|
VALUE=0.3 | 风扇低速转动 | 不转或抖动 | 检查风扇规格、接口供电和 PWM 兼容性 |
VALUE=1 | 风扇全速转动 | 转速异常或异响 | 更换风扇或交叉测试端口 |
VALUE=0 | 风扇停止 | 无法关闭 | 检查配置引脚是否写错 |
异常风扇风险排查
部分风扇因内部驱动设计、反灌电压或线序异常,可能导致主板风扇 MOS 管、风扇接口或主控相关电路损坏。发现异常风扇后请立即停用,不要反复接入主板风扇口测试。
- 断电后确认风扇额定电压与风扇口电压一致。
- 断电后检查风扇正负极、插头方向和线束外观,发现破皮、压伤、烧蚀、异味或插头松动时不要继续使用。
- 优先使用已知正常风扇和成品线束进行交叉测试。
- 通电测试时只通过
SET_PIN或网页调节转速,并观察风扇是否正常启停、是否异响、是否异常发热或有异味。 - 如果低速档异常抖动或停转、高速档异响明显,或接入该风扇后主板/接口异常发热,请立即断电并停用该风扇。
- 不要使用万用表接触风扇口裸露端子测量输出;需要电气检测时请联系售后或专业人员。
RGB / LED 输出配置
[output_pin RGB]
pin: PA8
value: 0
shutdown_value: 0
SET_PIN PIN=RGB VALUE=1
SET_PIN PIN=RGB VALUE=0
HEAT0、HEAT1、BED_OUT 等加热输出口不建议客户使用 SET_PIN 直接控制。不要在未配置热敏保护的情况下点亮加热棒或热床输出;相关排查应通过完整加热器配置、温度曲线、替换成品模块或售后检测完成。
输入口测试
测试目的
确认限位、探针、断料检测、工具板 HV-IN 等输入口是否能被 Klipper 识别。
检查限位、探针、断料检测或输入按钮线序前,请完全关闭打印机并断开电源供应。通电查询时只触发开关的机械部位,不要触碰插头、端子或裸露线材。
gcode_button 输入测试
适合测试工具板上的 HV-IN、门控、断料检测或普通输入脚。
[gcode_button IO0]
pin: ^PA1
press_gcode:
# 留空,仅用于输入状态查询
QUERY_BUTTON BUTTON=IO0
- 未触发开关时执行
QUERY_BUTTON BUTTON=IO0,应返回IO0: RELEASED。 - 手动触发开关的机械部位后再次执行,应返回
IO0: PRESSED。 - 如果状态不变化,断电后检查线序、插头、上拉
^和pin配置。
普通限位测试通常会牵涉运动轴、步进、电机方向和行程范围等整机参数。硬件最小测试优先使用 gcode_button,只验证输入引脚状态。
加速度计测试
测试目的
确认工具板或外接模块上的 ADXL345 / LIS2DW 等加速度计能正常通信。
检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔传感器模块或触碰裸露引脚。
- ADXL345
- LIS2DW
[adxl345]
cs_pin: gpio13
spi_bus: spi1
axes_map: x,y,z
[lis2dw]
cs_pin: gpio12
spi_bus: spi0_gpio4_gpio3_gpio2
axes_map: x,y,z
测试命令
ACCELEROMETER_QUERY
结果判断
| 测试项 | 正常结果 | 异常表现 | 处理建议 |
|---|---|---|---|
ACCELEROMETER_QUERY | 返回 x/y/z 数据 | Invalid adxl345 id 或无数据 | 断电后检查线束,核对 cs_pin、spi_bus |
外设与驱动测试:驱动测试、CAN 工具板测试和常见异常对照表请参考 外设与驱动测试。