跳到主要内容

配置引脚替换说明

本页用于指导用户把已有 Klipper 配置改成当前 FLY 主板可用的引脚。很多网上配置只能作为结构参考,不能直接照抄使用;正式使用前,需要按实际主板型号、接口位置和接线方式替换对应引脚。

断电操作

开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。

适用说明
  • 本文只说明如何查找并替换配置中的引脚,不提供某一台机器的完整成品配置。
  • position_maxrotation_distancemicrostepsrun_currentsensor_type 等参数需要按实际机器和硬件确认,不要因为更换主板就盲目照抄。
  • 主板引脚请以对应 FLY 产品文档、主板丝印和官方参考配置为准。

修改思路

修改配置时建议按下面顺序处理:

  1. 确认当前使用的 FLY 主板型号。
  2. 打开对应主板产品文档,找到驱动口、限位口、风扇口、加热口、热敏口等引脚说明。也可直接参考对应主板的 Klipper 参考配置
  3. printer.cfg 和所有 [include] 文件中找到需要修改的功能段。
  4. 搜索准备使用的新引脚,确认它没有被其他已启用配置占用。
  5. 只替换与主板接口相关的引脚项,并保留必要的 !^~ 符号。
  6. 保存配置并重启 Klipper。
  7. 按单项功能逐个测试,不要一次性上电测试全部外设。

常见功能段

功能常见配置段常见需要替换的项目
X / Y / Z 电机[stepper_x][stepper_y][stepper_z]step_pindir_pinenable_pinendstop_pin
挤出机电机[extruder]step_pindir_pinenable_pin
TMC 驱动通信[tmc2209 stepper_x][tmc5160 stepper_x]uart_pincs_pinspi_software_mosi_pinspi_software_miso_pinspi_software_sclk_pindiag_pin
热端加热[extruder]heater_pinsensor_pin
热床加热[heater_bed]heater_pinsensor_pin
风扇[fan][heater_fan xxx][fan_generic xxx]pintachometer_pin
限位开关[stepper_x][stepper_y][stepper_z]endstop_pin
探针[probe][bltouch]pinsensor_pincontrol_pin
LED / 蜂鸣器[output_pin xxx][neopixel xxx]pin

查找对应配置

如果不确定配置在哪个文件中,推荐通过网页配置界面查找。

  1. 在浏览器打开打印机 Web 界面,例如 Fluidd 或 Mainsail。
  2. 进入配置文件页面,打开 printer.cfg
  3. 使用浏览器或编辑器搜索功能,搜索下方关键词。
  4. 如果看到 [include xxx.cfg],说明部分配置被拆分到其他文件中,需要打开对应 include 文件继续查找。

常见查找方式:

  • 查找 X 轴:搜索 [stepper_x]
  • 查找 Y 轴:搜索 [stepper_y]
  • 查找 Z 轴:搜索 [stepper_z]
  • 查找挤出机:搜索 [extruder]
  • 查找热床:搜索 [heater_bed]
  • 查找风扇:搜索 [fan][heater_fan[fan_generic
  • 查找驱动:搜索 [tmc2209[tmc5160[tmc2240
  • 查找引脚项:搜索 step_pindir_pinenable_pinheater_pinsensor_pinendstop_pinuart_pincs_pin
查找建议

配置通常不会全部写在 printer.cfg 一个文件里。看到 [include mainsail.cfg][include fluidd.cfg][include printer/*.cfg][include xxx.cfg] 这类内容时,需要进入对应文件查看实际配置。

检查引脚是否冲突

替换引脚前,请先搜索准备使用的新引脚,确认它没有被其他功能重复占用。Klipper 中同一个物理 GPIO 通常只能分配给一个功能,如果重复使用,可能会出现 pin xxx used multiple times in config 报错。

搜索时请去掉引脚前的修饰符。例如准备使用 !PA15,应搜索 PA15;准备使用 ^PD9,应搜索 PD9

搜索到的位置是否需要处理说明
同一个功能段里的同一项通常不用处理例如正在修改的 [stepper_x] 中出现 step_pin
已注释的示例行通常不用处理行首有 # 的示例不会生效
其他已启用功能段需要处理同一个引脚不能同时给风扇、加热、限位、探针等多个功能使用
TMC 驱动的 diag_pin 与物理限位共用需要二选一使用物理限位时不要同时启用同一引脚的 diag_pin;使用无限位归位时,endstop_pin 应改为对应驱动的 virtual_endstop
多 MCU 引脚需要确认前缀toolboard:PA0 和主板 PA0 不是同一个 MCU,但前缀必须与 [mcu toolboard] 名称一致
重复引脚

如果保存后出现 pin xxx used multiple times in config,请回到网页配置界面,在 printer.cfg 和所有 include 文件中搜索报错里的 xxx,保留正确功能,删除、注释或改掉其他重复占用项。

引脚符号说明

Klipper 引脚前可能带有特殊符号,替换引脚时不要随意删除:

符号含义常见位置
!反转电平dir_pinenable_pinendstop_pin
^启用上拉机械限位、探针输入
~启用下拉少数输入信号
mcu1:PA0指定某个 MCU 的引脚多 MCU 或工具板配置

例如:

enable_pin: !PC3
endstop_pin: ^PA1
sensor_pin: toolboard:PA0

!PC3 中的实际引脚是 PC3! 只表示电平取反。替换到新主板时,应根据新主板引脚写成类似 !<new_enable_pin>,不要直接把 ! 删除。

替换示例

假设旧配置中的 X 轴使用了其他主板引脚:

修改前
[stepper_x]
step_pin: PA3
dir_pin: PA2
enable_pin: !PA1
endstop_pin: ^PB10

下面以 FLY-C8P 的 X 轴驱动位为例。查看 C8P 主板资料后,可以把 X 轴驱动口和 X 限位口改成对应引脚。修改前请先搜索 PE5PA8PA15PD9,确认这些引脚没有被其他已启用配置占用。

修改后
[stepper_x]
step_pin: PE5
dir_pin: !PA8
enable_pin: !PA15
endstop_pin: ^PD9

如果 X 轴使用 TMC2209 驱动,还需要检查对应驱动通信引脚:

修改后
[tmc2209 stepper_x]
uart_pin: PC9
run_current: 0.800
示例说明

上方示例只表示 FLY-C8P 的 X 轴驱动位写法。如果你的电机接在其他驱动位,或使用的不是 C8P,请按实际主板文档和实际接线位置填写,不要直接照抄。

如果电机方向相反,通常只需要添加或删除 dir_pin 前面的 !。例如当前为 dir_pin: !PA8,改为 dir_pin: PA8;反之亦然。

如果限位状态相反,通常检查 endstop_pin 前面的 !^ 是否符合实际接线方式:

endstop_pin: ^!PD9

按功能替换

电机与驱动

同一个电机通常需要同时检查 [stepper_x][tmc2209 stepper_x] 两个配置段(完整示例见上方「替换示例」)。替换引脚时还需注意以下几点:

驱动型号

[tmc2209 stepper_x][tmc5160 stepper_x][tmc2240 stepper_x] 等配置段必须与实际驱动型号一致。更换主板时不要只改引脚,还要确认驱动型号、通信方式和采样电阻参数是否匹配。

无限位归位

C8P 的 X 限位口示例为 PD9。如果使用无限位归位,不应继续使用 endstop_pin: ^PD9,而应按驱动型号改为 virtual_endstop,并在 TMC 配置中启用对应 diag_pin。物理限位和无限位归位不要混用同一个限位引脚。

无限位归位示例
[stepper_x]
endstop_pin: tmc2209_stepper_x:virtual_endstop
homing_speed: 40
homing_retract_dist: 0

[tmc2209 stepper_x]
uart_pin: PC9
diag_pin: ^PD9
run_current: 0.800

加热与温度

热端加热一般在 [extruder] 中:

printer.cfg
[extruder]
heater_pin: PD12
sensor_pin: PC2
sensor_type: Generic 3950

热床加热一般在 [heater_bed] 中:

printer.cfg
[heater_bed]
heater_pin: PB0
sensor_pin: PC5
sensor_type: Generic 3950

上方是 C8P 的常见热端与热床示例。heater_pin 对应加热输出口,sensor_pin 对应热敏输入口。两者不要填反,也不要把同一个热敏引脚同时写到多个温度传感器中。sensor_type 示例为 Generic 3950,请以实际热敏型号为准(常见还有 ATC Semitec 104GT-2PT1000 等)。

风扇

普通模型风扇常见写法:

printer.cfg
[fan]
pin: PA0

热端散热风扇常见写法:

printer.cfg
[heater_fan hotend_fan]
pin: PA1
heater: extruder
heater_temp: 50.0

上方是 C8P 的风扇口示例。替换前请先搜索 PA0PA1,确认这些引脚没有同时被 [output_pin][fan_generic] 或其他风扇配置占用。如果主板风扇口分为常开口和可控口,请确认文档中对应风扇口是否支持 PWM 控制。

探针与限位

机械限位常见写法:

printer.cfg
[stepper_x]
endstop_pin: ^PD9

普通探针常见写法:

printer.cfg
[probe]
pin: ^PC0

BLTouch 类探针常见写法:

printer.cfg
[bltouch]
sensor_pin: ^PC0
control_pin: PE6
输入信号

上方是 C8P 的限位与探针口示例。普通 [probe][bltouch] 只选择实际使用的一种,不要同时启用同一个探针信号脚。限位、探针等输入信号是否需要 ^!,取决于模块类型和接线方式。修改前请先搜索 PD9PC0PE6,确认没有重复占用;修改后应先在 Web 控制台使用 QUERY_ENDSTOPSQUERY_PROBE 等命令查看触发状态,再进行归位或调平。

保存与验证

修改完成后,点击网页右上角的 SAVE & RESTART 保存并重启 Klipper。如果修改涉及 MCU 连接、驱动通信等底层配置,可能需要在控制台执行 FIRMWARE_RESTART 而不是普通 RESTART

建议按以下顺序验证:

  1. 查看 Klipper 是否能正常启动,没有 Unknown pin chip namePin is not a valid pin nameUnable to parse option 等配置报错。
  2. 如果出现 pin xxx used multiple times in config,先搜索并处理重复占用的 xxx,不要继续测试。
  3. 在 Web 控制台使用 QUERY_ENDSTOPS 检查限位状态是否正常。
  4. 单独测试风扇、加热和探针,不要同时测试多个外设。
  5. 使用小距离移动测试电机方向,例如先移动 1mm5mm
  6. 确认方向、限位、温度、风扇都正常后,再进行归位和打印测试。

常见问题

现象常见原因处理方向
电机不动enable_pin 电平错误、驱动通信引脚错误、驱动型号配置不匹配检查 enable_pin 是否需要 !,核对 TMC 配置段
电机方向相反dir_pin 电平方向不匹配添加或删除 dir_pin 前面的 !
限位一直触发endstop_pin 反相或上拉配置不匹配检查 ^!,执行 QUERY_ENDSTOPS 验证
保存后提示引脚重复同一个 GPIO 被多个功能同时使用搜索报错里的引脚名,删除、注释或改掉重复占用项
TMC 通信报错uart_pin / cs_pin / SPI 引脚错误,或驱动型号不一致按主板驱动位重新核对通信引脚
加热无反应heater_pin 填错,或接到了不可控输出口核对加热口编号和主板资料
温度显示异常sensor_pinsensor_type 不匹配核对热敏口和热敏类型
风扇不可控pin 填错,或接到了常开风扇口换到支持控制的风扇口并修改配置

更多主板安装注意事项请参考:主板常见注意事项

引脚报错排查Unknown pin / pin used multiple times

Loading...