# FLY Product Klipper Documentation > Complete reference documentation for FLY Products Klipper ## search - [在文档中搜索](https://mellow.klipper.cn/search) ## docs ### category #### 01-快速开始 - [01 快速开始](https://mellow.klipper.cn/docs/category/01-快速开始) #### 02-固件与-mcu - [02 固件与 MCU](https://mellow.klipper.cn/docs/category/02-固件与-mcu) #### 03-klipper-配置参考 - [03 Klipper 配置参考](https://mellow.klipper.cn/docs/category/03-klipper-配置参考) #### 04-常见问题与排障 - [04 常见问题与排障](https://mellow.klipper.cn/docs/category/04-常见问题与排障) #### 05-插件与扩展 - [05 插件与扩展](https://mellow.klipper.cn/docs/category/05-插件与扩展) #### airclick - [AirClick](https://mellow.klipper.cn/docs/category/airclick) #### alps-压力调平模块- - [ALPS 压力调平模块 🔥](https://mellow.klipper.cn/docs/category/alps-压力调平模块-) #### bdsensor - [BDsensor](https://mellow.klipper.cn/docs/category/bdsensor) #### bdsensor-m - [BDsensor-m](https://mellow.klipper.cn/docs/category/bdsensor-m) #### cluster_control群控工具 - [Cluster_control群控工具](https://mellow.klipper.cn/docs/category/cluster_control群控工具) #### config-myprint烧录工具 - [Config Myprint烧录工具](https://mellow.klipper.cn/docs/category/config-myprint烧录工具) #### d5下位机固件烧录与id查询 - [D5下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/d5下位机固件烧录与id查询) #### d7下位机固件烧录与id查询 - [D7下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/d7下位机固件烧录与id查询) #### d8-pro下位机固件烧录与id查询 - [D8-Pro下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/d8-pro下位机固件烧录与id查询) #### d8下位机固件烧录与id查询 - [D8下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/d8下位机固件烧录与id查询) #### dp5下位机固件烧录与id查询 - [DP5下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/dp5下位机固件烧录与id查询) #### e3-v2固件编译与烧录 - [E3 V2固件编译与烧录](https://mellow.klipper.cn/docs/category/e3-v2固件编译与烧录) #### ercf-v2固件编译与烧录 - [ERCF V2固件编译与烧录](https://mellow.klipper.cn/docs/category/ercf-v2固件编译与烧录) #### ercf固件编译与烧录 - [ERCF固件编译与烧录](https://mellow.klipper.cn/docs/category/ercf固件编译与烧录) #### fly-12864 - [FLY-12864](https://mellow.klipper.cn/docs/category/fly-12864) #### fly-43--70-marlin屏幕 - [FLY-4.3 & 7.0 Marlin屏幕](https://mellow.klipper.cn/docs/category/fly-43--70-marlin屏幕) #### fly-7040鼓风机 - [FLY-7040鼓风机](https://mellow.klipper.cn/docs/category/fly-7040鼓风机) #### fly-9轴 - [FLY-9轴](https://mellow.klipper.cn/docs/category/fly-9轴) #### fly-adxl - [FLY-ADXL](https://mellow.klipper.cn/docs/category/fly-adxl) #### fly-c-系列主板 - [FLY-C 系列主板](https://mellow.klipper.cn/docs/category/fly-c-系列主板) #### fly-c5 - [FLY-C5](https://mellow.klipper.cn/docs/category/fly-c5) #### fly-c5下位机固件烧录与id查询 - [Fly-C5下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/fly-c5下位机固件烧录与id查询) #### fly-c8 - [FLY-C8](https://mellow.klipper.cn/docs/category/fly-c8) #### fly-c8p - [FLY-C8P](https://mellow.klipper.cn/docs/category/fly-c8p) #### fly-c8p下位机固件烧录与id查询 - [Fly-C8P下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/fly-c8p下位机固件烧录与id查询) #### fly-c8下位机固件烧录与id查询 - [Fly-C8下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/fly-c8下位机固件烧录与id查询) #### fly-canbus - [FLY-CANBUS](https://mellow.klipper.cn/docs/category/fly-canbus) #### fly-cdy - [FLY-CDY](https://mellow.klipper.cn/docs/category/fly-cdy) #### fly-cdy-系列主板 - [FLY-CDY 系列主板](https://mellow.klipper.cn/docs/category/fly-cdy-系列主板) #### fly-cm4-扩展板 - [FLY-CM4 扩展板](https://mellow.klipper.cn/docs/category/fly-cm4-扩展板) #### fly-d-系列主板 - [FLY-D 系列主板](https://mellow.klipper.cn/docs/category/fly-d-系列主板) #### fly-d5 - [FLY-D5](https://mellow.klipper.cn/docs/category/fly-d5) #### fly-d7 - [FLY-D7](https://mellow.klipper.cn/docs/category/fly-d7) #### fly-d8-f407 - [FLY-D8 (F407)](https://mellow.klipper.cn/docs/category/fly-d8-f407) #### fly-d8-pro-h723 - [FLY-D8-PRO (H723)](https://mellow.klipper.cn/docs/category/fly-d8-pro-h723) #### fly-dfu烧录工具 - [FLY DFU烧录工具](https://mellow.klipper.cn/docs/category/fly-dfu烧录工具) #### fly-dp5 - [FLY-DP5](https://mellow.klipper.cn/docs/category/fly-dp5) #### fly-dsi-屏幕 - [FLY-DSI 屏幕](https://mellow.klipper.cn/docs/category/fly-dsi-屏幕) #### fly-e3-pro - [FLY-E3 Pro](https://mellow.klipper.cn/docs/category/fly-e3-pro) #### fly-e3-ultra - [FLY-E3 Ultra](https://mellow.klipper.cn/docs/category/fly-e3-ultra) #### fly-e3-v2 - [FLY-E3 v2](https://mellow.klipper.cn/docs/category/fly-e3-v2) #### fly-e3-系列主板 - [FLY-E3 系列主板](https://mellow.klipper.cn/docs/category/fly-e3-系列主板) #### fly-eddy - [FLY-EDDY](https://mellow.klipper.cn/docs/category/fly-eddy) #### fly-ercf - [FLY-ERCF](https://mellow.klipper.cn/docs/category/fly-ercf) #### fly-ercf-v2 - [FLY-ERCF V2](https://mellow.klipper.cn/docs/category/fly-ercf-v2) #### fly-ercf系列 - [FLY-ERCF系列](https://mellow.klipper.cn/docs/category/fly-ercf系列) #### fly-filguard-断堵料传感器 - [FLY-FilGuard-断堵料传感器](https://mellow.klipper.cn/docs/category/fly-filguard-断堵料传感器) #### fly-g2t - [FLY-G2T](https://mellow.klipper.cn/docs/category/fly-g2t) #### fly-gemini-v2 - [FLY-Gemini-V2](https://mellow.klipper.cn/docs/category/fly-gemini-v2) #### fly-gemini-v3 - [FLY-Gemini-V3](https://mellow.klipper.cn/docs/category/fly-gemini-v3) #### fly-gemini-系列主板 - [FLY-Gemini 系列主板](https://mellow.klipper.cn/docs/category/fly-gemini-系列主板) #### fly-halo - [FLY-HALO](https://mellow.klipper.cn/docs/category/fly-halo) #### fly-hdmi-屏幕 - [FLY-HDMI 屏幕](https://mellow.klipper.cn/docs/category/fly-hdmi-屏幕) #### fly-kppm-安全关机模块 - [FLY-KPPM-安全关机模块](https://mellow.klipper.cn/docs/category/fly-kppm-安全关机模块) #### fly-lcd系列 - [FLY-LCD系列](https://mellow.klipper.cn/docs/category/fly-lcd系列) #### fly-lite-2 - [FLY-Lite 2](https://mellow.klipper.cn/docs/category/fly-lite-2) #### fly-lite-2-1 - [FLY-Lite-2](https://mellow.klipper.cn/docs/category/fly-lite-2-1) #### fly-lite-21 - [FLY-Lite-2.1](https://mellow.klipper.cn/docs/category/fly-lite-21) #### fly-lll-flux-buffer-自动续料系统 - [FLY-LLL Flux Buffer 自动续料系统](https://mellow.klipper.cn/docs/category/fly-lll-flux-buffer-自动续料系统) #### fly-lll-plus-缓冲器 - [FLY-LLL PLUS 缓冲器](https://mellow.klipper.cn/docs/category/fly-lll-plus-缓冲器) #### fly-lll缓冲器 - [FLY-LLL缓冲器](https://mellow.klipper.cn/docs/category/fly-lll缓冲器) #### fly-m2we - [FLY-M2WE](https://mellow.klipper.cn/docs/category/fly-m2we) #### fly-micro-系列主板 - [FLY-Micro 系列主板](https://mellow.klipper.cn/docs/category/fly-micro-系列主板) #### fly-micro4 - [FLY-Micro4](https://mellow.klipper.cn/docs/category/fly-micro4) #### fly-mini-pad - [FLY-MINI Pad](https://mellow.klipper.cn/docs/category/fly-mini-pad) #### fly-miniab-集线板 - [FLY-MiniAB 集线板](https://mellow.klipper.cn/docs/category/fly-miniab-集线板) #### fly-mmu - [FLY-MMU](https://mellow.klipper.cn/docs/category/fly-mmu) #### fly-mmu-1 - [FLY-MMU](https://mellow.klipper.cn/docs/category/fly-mmu-1) #### fly-pi - [FLY-Pi](https://mellow.klipper.cn/docs/category/fly-pi) #### fly-pi-v2 - [FLY-Pi-V2](https://mellow.klipper.cn/docs/category/fly-pi-v2) #### fly-pi-v3 - [FLY-Pi-V3](https://mellow.klipper.cn/docs/category/fly-pi-v3) #### fly-pro-x10 - [FLY-Pro-X10](https://mellow.klipper.cn/docs/category/fly-pro-x10) #### fly-pro-系列主板 - [FLY-Pro 系列主板](https://mellow.klipper.cn/docs/category/fly-pro-系列主板) #### fly-rpfmex - [FLY-Rpfmex](https://mellow.klipper.cn/docs/category/fly-rpfmex) #### fly-sb2040-pro - [FLY-SB2040-PRO](https://mellow.klipper.cn/docs/category/fly-sb2040-pro) #### fly-sb2040-pro-v3 - [FLY-SB2040-PRO-V3](https://mellow.klipper.cn/docs/category/fly-sb2040-pro-v3) #### fly-sb2040-v1v2 - [FLY-SB2040 V1/V2](https://mellow.klipper.cn/docs/category/fly-sb2040-v1v2) #### fly-sb2040-v3 - [FLY-SB2040-V3](https://mellow.klipper.cn/docs/category/fly-sb2040-v3) #### fly-sb2040系列 - [FLY-SB2040系列](https://mellow.klipper.cn/docs/category/fly-sb2040系列) #### fly-screen - [FLY Screen](https://mellow.klipper.cn/docs/category/fly-screen) #### fly-sht36-lis3dh - [FLY-SHT36-LIS3DH](https://mellow.klipper.cn/docs/category/fly-sht36-lis3dh) #### fly-sht36-pro - [FLY-SHT36-PRO](https://mellow.klipper.cn/docs/category/fly-sht36-pro) #### fly-sht36-v2 - [FLY-SHT36-V2](https://mellow.klipper.cn/docs/category/fly-sht36-v2) #### fly-sht36-v3 - [FLY-SHT36-V3](https://mellow.klipper.cn/docs/category/fly-sht36-v3) #### fly-sht3642 - [FLY-SHT36/42](https://mellow.klipper.cn/docs/category/fly-sht3642) #### fly-sht36系列 - [FLY-SHT36系列](https://mellow.klipper.cn/docs/category/fly-sht36系列) #### fly-super-系列主板 - [FLY-Super 系列主板](https://mellow.klipper.cn/docs/category/fly-super-系列主板) #### fly-super5-pro - [FLY-Super5 Pro](https://mellow.klipper.cn/docs/category/fly-super5-pro) #### fly-super8 - [FLY-Super8](https://mellow.klipper.cn/docs/category/fly-super8) #### fly-super8-pro - [FLY-Super8 Pro](https://mellow.klipper.cn/docs/category/fly-super8-pro) #### fly-tap - [FLY-TAP](https://mellow.klipper.cn/docs/category/fly-tap) #### fly-u-ip - [FLY U-IP](https://mellow.klipper.cn/docs/category/fly-u-ip) #### fly-usb加速度计 - [FLY-USB加速度计](https://mellow.klipper.cn/docs/category/fly-usb加速度计) #### fly-utoc - [FLY-UTOC](https://mellow.klipper.cn/docs/category/fly-utoc) #### fly-utor - [FLY-UTOR](https://mellow.klipper.cn/docs/category/fly-utor) #### fly-voltup-power - [FLY-VoltUp Power](https://mellow.klipper.cn/docs/category/fly-voltup-power) #### fly-wiscreen-5寸屏 - [FLY-WiScreen 5寸屏](https://mellow.klipper.cn/docs/category/fly-wiscreen-5寸屏) #### fly-wiscreen-7寸屏 - [FLY-WiScreen 7寸屏](https://mellow.klipper.cn/docs/category/fly-wiscreen-7寸屏) #### fly-驱动系列 - [FLY-驱动系列](https://mellow.klipper.cn/docs/category/fly-驱动系列) #### gemini-v2下位机固件烧录与id查询 - [Gemini-V2下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/gemini-v2下位机固件烧录与id查询) #### gemini-v3下位机固件烧录与id查询 - [Gemini-V3下位机固件烧录与ID查询](https://mellow.klipper.cn/docs/category/gemini-v3下位机固件烧录与id查询) #### klipper-cloud-远程代理 - [Klipper Cloud 远程代理](https://mellow.klipper.cn/docs/category/klipper-cloud-远程代理) #### lite21上位机部署与使用 - [LITE2.1上位机部署与使用](https://mellow.klipper.cn/docs/category/lite21上位机部署与使用) #### lite21的扩展功能与进阶配置 - [LITE2.1的扩展功能与进阶配置](https://mellow.klipper.cn/docs/category/lite21的扩展功能与进阶配置) #### lite2上位机部署与使用 - [LITE2上位机部署与使用](https://mellow.klipper.cn/docs/category/lite2上位机部署与使用) #### lite2的扩展功能与进阶配置 - [LITE2的扩展功能与进阶配置](https://mellow.klipper.cn/docs/category/lite2的扩展功能与进阶配置) #### mdm-断堵料285材料传感器- - [MDM-断堵料2.85材料传感器 🔥](https://mellow.klipper.cn/docs/category/mdm-断堵料285材料传感器-) #### mdm-断堵料传感器- - [MDM-断堵料传感器 🔥](https://mellow.klipper.cn/docs/category/mdm-断堵料传感器-) #### micro4-固件编译与烧录 - [Micro4 固件编译与烧录](https://mellow.klipper.cn/docs/category/micro4-固件编译与烧录) #### minipad上位机部署与使用 - [MINIPAD上位机部署与使用](https://mellow.klipper.cn/docs/category/minipad上位机部署与使用) #### minipad的扩展功能与进阶配置 - [MINIPAD的扩展功能与进阶配置](https://mellow.klipper.cn/docs/category/minipad的扩展功能与进阶配置) #### mmu固件编译与烧录 - [MMU固件编译与烧录](https://mellow.klipper.cn/docs/category/mmu固件编译与烧录) #### nova35屏幕 - [Nova35屏幕](https://mellow.klipper.cn/docs/category/nova35屏幕) #### pi-v2上位机部署与使用 - [PI-V2上位机部署与使用](https://mellow.klipper.cn/docs/category/pi-v2上位机部署与使用) #### pi-v2的扩展功能与进阶配置 - [PI-V2的扩展功能与进阶配置](https://mellow.klipper.cn/docs/category/pi-v2的扩展功能与进阶配置) #### pi-v3上位机部署与使用 - [PI-V3上位机部署与使用](https://mellow.klipper.cn/docs/category/pi-v3上位机部署与使用) #### pi-v3的扩展功能与进阶配置 - [PI-V3的扩展功能与进阶配置](https://mellow.klipper.cn/docs/category/pi-v3的扩展功能与进阶配置) #### pi上位机部署与使用 - [PI上位机部署与使用](https://mellow.klipper.cn/docs/category/pi上位机部署与使用) #### pi的扩展功能与进阶配置 - [PI的扩展功能与进阶配置](https://mellow.klipper.cn/docs/category/pi的扩展功能与进阶配置) #### pro-x10固件编译与烧录 - [Pro X10固件编译与烧录](https://mellow.klipper.cn/docs/category/pro-x10固件编译与烧录) #### sb2040-pro-v3-固件编译与烧录 - [SB2040 PRO V3 固件编译与烧录](https://mellow.klipper.cn/docs/category/sb2040-pro-v3-固件编译与烧录) #### sb2040-pro固件编译与烧录 - [SB2040 PRO固件编译与烧录](https://mellow.klipper.cn/docs/category/sb2040-pro固件编译与烧录) #### sb2040-v3-固件编译与烧录 - [SB2040 V3 固件编译与烧录](https://mellow.klipper.cn/docs/category/sb2040-v3-固件编译与烧录) #### sb2040固件编译与烧录 - [SB2040固件编译与烧录](https://mellow.klipper.cn/docs/category/sb2040固件编译与烧录) #### sht36-lis3dh固件编译与烧录 - [SHT36 LIS3DH固件编译与烧录](https://mellow.klipper.cn/docs/category/sht36-lis3dh固件编译与烧录) #### sht36-pro固件编译与烧录 - [SHT36 PRO固件编译与烧录](https://mellow.klipper.cn/docs/category/sht36-pro固件编译与烧录) #### sht36-v2固件编译与烧录 - [SHT36 V2固件编译与烧录](https://mellow.klipper.cn/docs/category/sht36-v2固件编译与烧录) #### sht3642固件编译与烧录 - [SHT36/42固件编译与烧录](https://mellow.klipper.cn/docs/category/sht3642固件编译与烧录) #### stealthburner_led - [StealthBurner_LED](https://mellow.klipper.cn/docs/category/stealthburner_led) #### super5-pro固件编译与烧录 - [Super5 Pro固件编译与烧录](https://mellow.klipper.cn/docs/category/super5-pro固件编译与烧录) #### super8-pro-固件编译与烧录 - [Super8 PRO 固件编译与烧录](https://mellow.klipper.cn/docs/category/super8-pro-固件编译与烧录) #### super8-固件编译与烧录 - [Super8 固件编译与烧录](https://mellow.klipper.cn/docs/category/super8-固件编译与烧录) #### tft屏幕 - [TFT屏幕](https://mellow.klipper.cn/docs/category/tft屏幕) #### tool-lite - [TOOL-LITE](https://mellow.klipper.cn/docs/category/tool-lite) #### tool-lite-232 - [TOOL-LITE-232](https://mellow.klipper.cn/docs/category/tool-lite-232) #### tool-lite-can - [TOOL-LITE-CAN](https://mellow.klipper.cn/docs/category/tool-lite-can) #### usb加速度计adxl345 - [USB加速度计(ADXL345)](https://mellow.klipper.cn/docs/category/usb加速度计adxl345) #### usb加速度计lis2dw - [USB加速度计(LIS2DW)](https://mellow.klipper.cn/docs/category/usb加速度计lis2dw) #### voron模型与支架 - [VORON模型与支架](https://mellow.klipper.cn/docs/category/voron模型与支架) #### 上位机类 - [上位机类](https://mellow.klipper.cn/docs/category/上位机类) #### 主板模型与支架 - [主板模型与支架](https://mellow.klipper.cn/docs/category/主板模型与支架) #### 主板类 - [主板类](https://mellow.klipper.cn/docs/category/主板类) #### 优化宏 - [优化宏](https://mellow.klipper.cn/docs/category/优化宏) #### 使用指南与注意事项 - [使用指南与注意事项](https://mellow.klipper.cn/docs/category/使用指南与注意事项) #### 各类主板支架与热端支架 - [各类主板支架与热端支架](https://mellow.klipper.cn/docs/category/各类主板支架与热端支架) #### 固件烧录与id搜索 - [固件烧录与ID搜索](https://mellow.klipper.cn/docs/category/固件烧录与id搜索) #### 固件编译与烧录 - [固件编译与烧录](https://mellow.klipper.cn/docs/category/固件编译与烧录) #### 工具板类 - [工具板类](https://mellow.klipper.cn/docs/category/工具板类) #### 拓竹模型与支架 - [拓竹模型与支架](https://mellow.klipper.cn/docs/category/拓竹模型与支架) #### 显示屏类 - [显示屏类](https://mellow.klipper.cn/docs/category/显示屏类) #### 机器调整方法 - [机器调整方法](https://mellow.klipper.cn/docs/category/机器调整方法) #### 机型与功能参考配置 - [机型与功能参考配置](https://mellow.klipper.cn/docs/category/机型与功能参考配置) #### 模块--扩展板类 - [模块 & 扩展板类](https://mellow.klipper.cn/docs/category/模块--扩展板类) #### 热端模型与支架 - [热端模型与支架](https://mellow.klipper.cn/docs/category/热端模型与支架) #### 系统镜像 - [系统镜像](https://mellow.klipper.cn/docs/category/系统镜像) #### 缓冲器接线与配置 - [缓冲器接线与配置](https://mellow.klipper.cn/docs/category/缓冲器接线与配置) #### 软件类 - [软件类](https://mellow.klipper.cn/docs/category/软件类) #### 辅助工具与软件 - [辅助工具与软件](https://mellow.klipper.cn/docs/category/辅助工具与软件) ### debug-doc 此文档为FLY产品的Klipper调试文档 - [调试文档](https://mellow.klipper.cn/docs/debug-doc): 此文档为FLY产品的Klipper调试文档 ### DebugDoc #### addon - [通过插件扩展控制驱动LED](https://mellow.klipper.cn/docs/DebugDoc/addon/led): 原文档 - [Klippain Shake&Tune 共振分析插件](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune): Klippain Shake&Tune 是一个 Klipper 共振分析与输入整形校准插件,能够对加速度计采集的振动数据生成可视化图表,帮助排查机械问题并优化 Input Shaper 滤波器。 - [延迟摄影](https://mellow.klipper.cn/docs/DebugDoc/addon/timelapse): 延迟摄影由 Moonraker 的 moonraker-timelapse 组件负责采集帧并合成为视频。不同系统只需要替换摄像头快照地址和视频保存路径,其他拍摄方法相同。 #### baodian - [配置引脚替换说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/config-pin-replace): 本页用于指导用户把已有 Klipper 配置改成当前 FLY 主板可用的引脚。很多网上配置只能作为结构参考,不能直接照抄使用;正式使用前,需要按实际主板型号、接口位置和接线方式替换对应引脚。 - [固件编译说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware): 为确保系统稳定运行,请务必遵循以下固件使用原则: - [Fly 上位机安装与使用指南](https://mellow.klipper.cn/docs/DebugDoc/baodian/host): 准备工作 - [下载 klippy.log](https://mellow.klipper.cn/docs/DebugDoc/baodian/klippy): 使用前注意 - [主板常见注意事项](https://mellow.klipper.cn/docs/DebugDoc/baodian/mainBoard): 使用前总则 - [MCU 连接指南](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu): 本指南用于排查主 MCU 无法与 Klipper 正常连接的问题。如果设备能够正常连接,只需要更换或补填 MCU ID,请直接查看 MCU ID 配置,无需清空现有配置。 - [工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard): 本页用于主 MCU 已连接成功后,添加工具板、验证多 MCU 状态及配置跨板引脚。如果你尚未完成主 MCU 的连接验证,请先完成 MCU 连接指南。 - [STM32 与 APM32 固件更新教程](https://mellow.klipper.cn/docs/DebugDoc/baodian/programming): - 本教程仅适用于 FLY 系列产品,其他品牌或型号的设备不兼容,请勿尝试 #### BasicTutorial - 此文档仅适用于 FLY 上位机,其他设备仅供参考。 - [通过SSH连接上位机](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/): - 此文档仅适用于 FLY 上位机,其他设备仅供参考。 - [备份配置方法](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/backup): * 本教程适用于FLY-Pi、树莓派、香橙派等上位机 - [添加 USB 摄像头](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/camera): - 需要免驱即插即用摄像头,可在 Linux、Armbian 等系统下的 Klipper 使用,无需另外安装驱动。 - [常用指令](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/command): 本文档整理了在 Klipper 系统 中常用的 Linux 命令,主要用于: - [通过 SSH 连接网络](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/internet): - 请确保系统已经启动,并已通过串口 SSH 连接到上位机。推荐使用 MobaXterm_Personal。 - [KlipperScreen 扩展功能](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/klipperscreen): 打开KlipperScreen鼠标光标的方法 - [网页上传大文件配置](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/moonraker): 注意事项 - [修改系统时区](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/timedatectl): 请注意FLY上位机如果使用FLY OS 3.3.4版本可以直接使用FLY-Tools修改时区 #### faq - [BLTouch 配置与排查](https://mellow.klipper.cn/docs/DebugDoc/faq/bltouch): bltouch-guide} - [EDDY 传感器常见问题](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy): 归位时报错 Error during homing z: Eddy current sensor error - [EDDY I2C 引脚与配置说明](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-i2c): 本文说明 FLY-EDDY 系列(EDDY-M / EDDY-F)传感器的 I2C 引脚定义、两种连接方式的引脚对照与接线步骤,以及 probeeddycurrent 所需的 I2C 相关配置项。 - [EDDY TAP 模式调试](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap): 本页面用于 EDDY 在 TAP 模式下的调试流程、检查顺序和常见问题排查。TAP 模式通过喷嘴轻触床面判断触发阈值,调试时需留意喷嘴、热床和 Z 轴运动状态。 - [硬件测试方法](https://mellow.klipper.cn/docs/DebugDoc/faq/hardware-testing): 本文档收录常见硬件模块的最小化测试方法,用于在排障时隔离单个硬件,确认问题来自配置、线束、模块本体还是主板端口。 - [外设与驱动测试](https://mellow.klipper.cn/docs/DebugDoc/faq/hardware-testing-io): 本文用于验证步进驱动、CAN 工具板等外设模块是否正常工作。测试思路与基础 I/O 测试一致,使用最小化 Klipper 配置隔离单个硬件。 - [Klipper 归位超时问题](https://mellow.klipper.cn/docs/DebugDoc/faq/hometimeout): 问题描述 - [CAN 网络配置与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can): 本文用于处理 CAN 网络配置、CAN0 状态确认、CAN UUID 搜索以及常见 CAN 报错排查。 - [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot): 本文用于处理 CAN 网络常见报错、通信异常排查以及搜索不到 CAN ID 时的排查流程。 - [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl): 依赖包安装 - [Klipper 圆弧拟合与 G2/G3 建议](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-arc-fitting): 本文用于说明 Klipper 中 [gcode_arcs]、G2 / G3 圆弧指令和切片器圆弧拟合的取舍。日常 3D 打印不建议把 Klipper 端圆弧拟合作为提升质量或性能的主要方案。 - [常用调试指令入口](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-directives): 常用 Klipper 控制台调试命令已统一维护到参考配置目录,避免 FAQ 与配置参考出现重复内容。 - [常见报错总览](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err): 本页用于快速定位 Klipper 常见报错。请先在 klippy.log 中找到完整报错关键词,再进入对应分类页面处理。 - [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config): 本页集中整理配置段冲突、参数拼写、include 文件和 SAVE_CONFIG 相关问题。修改配置后请先看 klippy.log 中第一条配置错误,再逐项处理。 - [运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion): 本页整理移动范围、归位、限位、探针、网床和多 Z 调平相关报错。涉及接线、插头、手动机械调整时,请先断电再操作。 - [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa): 本页整理 Input Shaper(共振补偿)和 Pressure Advance(压力提前)相关的配置错误与调优异常。加速度计硬件连接与通信报错请参考 加速度计测试与校准。 - [系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system): 本页整理归位通信超时、MCU 定时错误、上位机性能、固件刷写和 Klipper 服务启动相关问题。 - [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude): 本页整理温度传感器、加热器、热床、挤出和断料检测相关报错。温度保护类报错应先确认硬件和温度曲线,不要通过关闭保护来绕过问题。 - [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc): 技术背景 - [Load Cell 探针排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-load-cell): 本文用于记录 Klipper loadcell / loadcell_probe 相关关键词和基础排查方向。Load Cell 探针仍属于相对新的方案,普通用户不要按零散社区配置自行改装压力传感器;请优先使用产品文档、官方 Klipper 文档或厂家提供的完整配置。 - [MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config): 本页用于集中说明 Klipper 中主板、工具板、CAN 设备和上位机 MCU 的 ID 填写规则。配置连接类问题时,请先确认通信方式,再填写对应的 serial。 - [RP2040 固件不启动修复](https://mellow.klipper.cn/docs/DebugDoc/faq/rp2040-not-boot): 适用于使用 RP2040 主控的 FLY 工具板(FLY-SHT36、FLY-SB2040、FLY-MMU 等)在自行编译 Katapult / Klipper 固件后出现不启动、启动不稳定问题时的修复方法。出厂固件由厂家提供,仅在自行编译固件遇到问题时才需要参考本页。 - [外置驱动问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive): 本页用于排查外置驱动配置后出现的不转、只单向转、振动、丢步、模型倾斜和 5V 升压模块异常等问题。 #### reference_configuration - [C8P 抱闸/刹车电机参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/brake-motor): 本页用于 FLY-C8P 的特定抱闸(电磁刹车)电机接法:让步进电机使能时同时释放抱闸,步进电机失能时同时抱闸。示例只适用于将电机接在 C8P DRIVER2、并按本页使用 PD12 抱闸输出的情况,不能直接套用到其他主板或其他驱动位。 - [挤出机参考相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/extruder): 本页面收录常见挤出机的参考参数,主要用于快速建立初始配置。 - [风扇参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/fan): 本页面整理常见风扇配置方式,包括驱动风扇、7040 风扇和多风扇共用引脚。示例中的引脚需要按实际主板修改。 - [Homing Override - 归位覆盖配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/homing_override): 概述 - [i3 单 Z 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/i3): - 本页面为 i3 / Cartesian 单 Z 机器的 Klipper 参考配置模板,不是直接可用的成品配置。 - [SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config): 硬件 SPI(推荐) - [多 Z 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/stepper_z): 本页面整理双 Z 电机的常见配置方式。示例中的引脚、行程和方向需要根据实际主板与机器结构修改。 - [热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor): 本页面整理 Klipper 中常见温度传感器配置方式,包括热端、热床、仓温、主板温度、上位机温度、PT1000 直连、MAX31865 和 K 型热电偶。示例中的引脚、传感器型号、上拉电阻和温度范围都需要按实际硬件修改。 - [VORON Trident 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/trident): - 本页面为 VORON Trident 的 Klipper 参考配置模板,不是直接可用的成品配置。 - [VORON 0.2 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/voron0): - 本页面为 VORON 0.2 的 Klipper 参考配置模板,不是直接可用的成品配置。 - [VORON 2.4 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/voron2.4): - 本页面为 VORON 2.4 的 Klipper 参考配置模板,不是直接可用的成品配置。 - [VZBOT 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/vzbot): - 本页面为 VZBOT / VZBOT AWD 的 Klipper 参考配置模板,不是直接可用的成品配置。 - [断料传感器](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/filament-switch-sensor): 功能说明 - [暂停与取消打印自定义位置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/fuidd): 本页面用于配置 Mainsail / Fluidd 客户端宏中的 CLIENTVARIABLE,控制暂停、恢复、取消打印时的停靠位置、回抽长度和移动速度。 - [优化 M109 / M190 温度等待](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109): 功能说明 - [加热容差配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/verify_heater): 功能说明 - [机器调试指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/): - 本文适用于已完成基础组装、准备首次调试的打印机。 - [机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration): 挤出机旋转距离校准 - [配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config): 本页面汇总修改 Klipper 配置时最常见的格式问题。修改配置后请保存并重启 Klipper,根据报错信息定位问题。 - [归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28): 电机接线检查 - [加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat): 本页用于说明加热功能检查、PID 校准和加热检测参数。若已经出现 Klipper shutdown,请优先参考 温度、加热与挤出报错。 - [常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives): * 本教程以 Fluidd 网页界面为主要操作环境。 - [进阶指令与系统操作](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives-advanced): 本文收录挤出、运动控制、网床、共振补偿、系统控制和特殊类型模块的常用调试指令。 - [宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros): 本页面提供常用开始宏、结束宏,以及切片软件中调用宏的位置示例。宏名称可以自定义,但需要与切片软件中的开始/结束 G-code 保持一致。 - [LED 警示灯配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/rgb_led): LED 警示灯(三色信号灯)用于直观显示打印机运行状态。本文介绍其接线方法和 Klipper 配置。 - [限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop): 本页面说明常见限位方式的接线、配置和状态检查方法。首次归位前,请先完成限位状态检查,确认触发逻辑正确。 - [无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions): 无限位归位也称 Sensorless Homing,通过 TMC 驱动的 DIAG 信号判断电机堵转,从而替代物理限位开关。 - [电源接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/wiring): - 所有接线操作必须在断电状态下进行 ### down 请从左侧导航栏选择对应类型的资源进行下载。 - [资源下载](https://mellow.klipper.cn/docs/down): 请从左侧导航栏选择对应类型的资源进行下载。 ### flyos-doc FLYOS 是面向 FLY 上位机和一体化主板提供的 Klipper 系统系列。本区域集中维护系统介绍、镜像烧录、功能配置、系统服务、维护排障和插件扩展文档。 - [FLYOS 文档](https://mellow.klipper.cn/docs/flyos-doc): FLYOS 是面向 FLY 上位机和一体化主板提供的 Klipper 系统系列。本区域集中维护系统介绍、镜像烧录、功能配置、系统服务、维护排障和插件扩展文档。 ### FLYOS #### flyos-fast 这里按实际使用场景整理 FLYOS-FAST 文档。新用户建议先完成“入门与系统配置”,再按需展开其他分类。 - [FLYOS-FAST 系统文档中心](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/): 这里按实际使用场景整理 FLYOS-FAST 文档。新用户建议先完成“入门与系统配置”,再按需展开其他分类。 - [06 测试功能](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/experimental) - [AI Guard 扩展说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/experimental/ai-guard): ai-guard} - [03 打印功能与数据保护](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features) - [堵料检测优化](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/filament_blockage): 功能说明 - [断电关机与断电续打](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume): - 断电关机与断电续打功能互相冲突,无法同时启用。 - [FAST 系统 U盘备份指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup): 本文档介绍如何使用 U 盘备份系统配置,确保打印机设置和重要文件安全存储。 - [U 盘打印功能使用指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print): usb-print} - [01 入门与系统配置](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started) - [FAST系统镜像烧录](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/flash): FLYOS-FAST v1.4.0 下载 - [FlyOS-Fast 系统介绍](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) - [FLYOS-FAST 系统配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start): 本指南用于设置 FLYOS-FAST 的设备平台、网络、打印环境、屏幕、摄像头和 CAN 通信。H3、H5、H618 的系统服务使用方式相近,但硬件相关选项不能跨平台复制。 - [通过 SSH 连接 FLYOS-FAST](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/ssh): SSH 用于从电脑远程登录 FLYOS-FAST 上位机,执行系统配置、固件编译、日志查看和维护命令。日常操作应优先使用网络 SSH;串口终端主要用于设备尚未联网或网络异常时的应急登录。 - [静态IP设置](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/static_ip): FlyOS-Fast v1.3.9 起,有线网口支持自动识别直连 PC 或路由器。若设备网口直连 PC,可等待约 15 秒后通过 10.10.10.1 访问设备;一般不需要再为直连场景手动配置静态 IP。 - [世界时区对照表](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone): - 时区设置将时区ID填入localtime配置项中,例如:Asia/Shanghai。 - [04 更新与维护](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance) - [系统更新日志](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/Changelog): v1.4.0(测试版) - [OTA 系统更新指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota): 本文档详细介绍 FlyOS-Fast 系统的 OTA(Over-The-Air)更新功能,帮助您安全、便捷地升级系统。 - [使用 TF 卡为 M2WE 烧录系统](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/tf): - FLY-FAST 系统不支持通过此方式迁移至 M2WE。 - [插件安装说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/): - 这是参考方法。 - [安装扫床插件方法](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/eddy): 安装 Beacon - [安装 Happy-Hare 插件](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/happy): Happy-Hare 会修改 Klipper 和 Moonraker 配置。安装前请备份 /usr/share/printer_data/config,并根据实际 MMU 硬件回答安装脚本的问题。 - [切换 Klipper 版本指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/klipper): 本文档仅适用于 FLYOS-FAST。以下操作用于兼容确实要求第三方 Klipper 分支的插件,不建议作为常规升级方式。 - [安装 klipper-toolchanger 插件](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/klipper-toolchanger): klipper-toolchanger 更新较快,升级前请备份打印机配置并阅读上游变更记录。上游安装脚本拒绝使用 root 运行,而且默认使用 ~/klipper,因此不能直接用于 FLYOS-FAST。 - [Klippain Shake&Tune 共振分析插件](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune): Klippain Shake&Tune 是一个 Klipper 共振分析与输入整形校准插件,能够对加速度计采集的振动数据生成可视化图表,帮助排查机械问题并优化 Input Shaper 滤波器。 - [02 摄像头与远程服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services) - [摄像头连接与使用](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera): FLYOS-FAST v1.4.0 测试版镜像也可使用 GoCam。它支持通过 8080 端口实时调整 UVC 摄像头参数,使用方法请查看 GoCam 摄像头服务。v1.3.10 正式版及不包含 GoCam 的平台镜像继续使用本页的 Crowsnest 方法。 - [GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam): gocam} - [Klipper Cloud 远程代理](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/klipper-cloud): klipper-cloud} - [延迟摄影功能(Timelapse)](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse): FLYOS-FAST 当前使用 Fluidd。完成本页配置后,可以在 Fluidd 左侧菜单打开“延迟摄影”页面(地址中的 #/timelapse)查看帧、渲染视频和调整支持的参数。控制台命令和切片器配置方法请参阅延迟摄影使用方法。 - [延迟摄影使用方法](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse-use): 完成延迟摄影功能配置并重启 Klipper、Moonraker。FLYOS-FAST 使用 GoCam 时,快照地址为 http8080/snapshot,视频默认保存在 /usr/share/printer_data/timelapse/。 - [05 常见问题与排障](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting) - [FLYOS-FAST 常见问题与排障](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq): faq} - [FLYOS-FAST 固件编译说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/firmware-compile): FLYOS-FAST 预置了 Klipper 源码和编译环境,固件应在当前设备上按照所使用主板的产品文档进行配置和编译。 ### intro --- - [🖐 欢迎来到 Mellow 🎉️](https://mellow.klipper.cn/docs/intro): --- ### ProductDoc #### ExtensionBoard - [BDsensor](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/): BD传感器是一个可以与3D打印机配合使用的距离传感器,可以实时进行快速床调平和调整Z轴。 - [安装 BDsensor](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/kliper): 将传感器电缆连接到主板或CAN总线工具头板。 - [Klipper安装喷嘴碰撞](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/klipperpz): 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本)为V1.1b、大于V1.2b或者在2024年3月之后购买的版本,否则您需要使用外部硬件工具(如STlink)将固件刷入BD传感器。 - [BD sensor尺寸](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/line): BDsensor可以直接使用主板和工具板的BL-TOUCH*接口 - [安装 BDsensor](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/marlin): 将传感器电缆连接到主板或CAN总线工具头板。 - [Marlin的碰撞感应](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/marlinpz): 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本) - [BDsensor-m](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/): BD传感器是一个可以与3D打印机配合使用的距离传感器,可以实时进行快速床调平和调整Z轴。 - [安装 BDsensor-m](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/kliper): 将传感器电缆连接到主板的EXP1接口 - [Klipper安装喷嘴碰撞](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/klipperpz): 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本)为V1.1b、大于V1.2b或者在2024年3月之后购买的版本,否则您需要使用外部硬件工具(如STlink)将固件刷入BD传感器。 - [BDsensor-m尺寸](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/line): BDsensor-m可以直接使用主板的EXP1和BL-TOUCH*接口 - [安装 BDsensor-m-m](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/marlin): 将传感器电缆连接到主板的EXP1接口 - [Marlin的碰撞感应](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/marlinpz): 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本) - [WS 7040](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-7040/): 产品特点 - [7040 故障排查](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-7040/faq): WS 7040 驱动板上带有两个状态指示灯:LED1(电源指示) 和 LED2(电机指示)。可通过它们的亮灭与闪烁模式判断当前工作状态与故障类型。 - [7040接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-7040/wiring): 驱动板 - [ADXL345](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-adxl/): 产品特点 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-adxl/klipper) - [主板接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-adxl/wiring): * 本教程以PI V2为例 - [AirClick 无线按钮](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/): 产品特点 - [连接到BambuLab](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/bambulab): * AirClick必须与目标打印机连接到同一网络 - [无线按钮添加](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/button): * 无线按钮需要将电池安装上,电池型号是CR927 - [AirClick 固件更新与烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/flash): 出厂已经预刷好固件。 - [连接到Klipper](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/klipper): * AirClick必须与目标打印机连接到同一网络 - [有线连接Klipper配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/offline-operation-support): * 需要给STM32F072刷固件后连接到Klipper否则不支持有线连接操作 - [连接到RRF](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/rrf): * AirClick必须与目标打印机连接到同一网络 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/schematic): AirClick三维模型 - [连接WiFi](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/wifi): * 本产品板载天线只能用于接受,发送天线需要自己安装上,天线端子为ipex3 - [简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/): * ALPS 压力模块是一款基于 ADS131M02 设计的压力传感解决方案,专为 3D 打印机自动 Z 轴归位(Home)和网床(Mesh Bed Leveling)调平开发。通过高灵敏度压力检测与实时信号处理,模块可精准感知打印头与网床的接触状态,实现毫米级调平精度,消除传统机械限位校准的误差,显著提升首层打印成功率。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/3dmodel): * 本文档提供以下几种 - [如何调整模块触发值](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/alpsfz): 本文档介绍如何调整 FLY-Alps 压力传感器的触发灵敏度,确保调平精度和可靠性。 - [常见问题 (FAQ)](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/faq): 发送 SETPIN PIN=probe_ready VALUE=0 后,传感器端的灯不会亮(无论何种情况)。如果灯亮或闪烁,说明 EN 引脚的接线或配置存在问题。 - [FLY-ALPS 固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/flash): 此文档适用于固件版本低于 v2.0.0 的设备。如果您的固件版本已达到或超过此版本,请参考 固件更新 文档,通过网页工具直接更新,无需进入 DFU 模式。 - [Klipper配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/klipper): ALPS示例配置文件 - [Marlin配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/marlin): * 本文档提供以下几种 - [RRF配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/rrf): * 本文档提供以下几种 - [FLY-ALPS 固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/update): 此文档适用于固件版本 >= v2.0.0 的设备。此版本可直接通过网页工具更新,无需进入 DFU 模式。如果您的固件版本低于此版本,请参考 固件烧录 文档。 - [接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/wiring): * ALPS有多种接线方法 - [FLY-LLL Flux Buffer 自动续料系统](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/): FLY-LLL Flux Buffer 是一套双通道自动续料系统。每个电机通道包含进料和出料两个传感器,缓冲器包含 4 个位置传感器,用于控制送料、停止、回抽和通道续接。 - [常见问题](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/faq): 涉及线束、端子、传感器安装或缓冲器机械结构的检查前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 - [按键与指示灯](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/operation): 按钮操作 - [三维模型与安装手册](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/schematic): FLY-LLL Flux Buffer 资料 - [传感器校准与测试](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/sensor-test): 本页用于测试两条电机通道的 S1/S2 和缓冲器的 B1/B2/B3/B4 共 8 个霍尔传感器。未连接缓冲器的多主控从控只需测试 4 个电机传感器,跳过 B1-B4。 - [简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/): 产品概述 - [Fly Buffer Plus 固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/flash): 此文档适用于固件版本低于 v2.0.0 的设备。如果您的固件版本已达到或超过此版本,请参考 固件更新 文档,通过网页工具直接更新,无需进入 DFU 模式。 - [三维模型与安装手册](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/schematic): * 本文档提供以下几种 - [Fly Buffer Plus 固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/update): 此文档适用于固件版本 >= v2.0.0 的设备。此版本可直接通过网页工具更新,无需进入 DFU 模式。如果您的固件版本低于此版本,请参考 固件烧录 文档。 - [引脚图](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/wiring-configuration/) - [基础接线与断料检测](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/wiring-configuration/basic-wiring): 功能概述 - [主板信号控制缓冲器](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/wiring-configuration/board-signal-control): 功能概述 - [按钮信号触发配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/wiring-configuration/button-control): 功能概述 - [MDM模块堵料检测](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/wiring-configuration/mdm-module-integration): 功能简介 - [简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer/): LLL耗材缓冲器是一款专为3D打印机远程送丝设计的设备,旨在简化耗材的装载和卸载操作。该缓冲器配备了两个按钮,分别用于进料和退料,允许用户进行电动进料和退料操作。 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer/schematic): * 本文档提供以下几种 - [CANBUS](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-canbus/): 产品特点 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-canbus/schematic): * 本文档提供以下几种 - [参考接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-canbus/wiring): 支架三维模型下载 - [FLY-EDDY](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/): FLY-EDDY 是基于 Klipper probeeddycurrent 模块开发的 EDDY 扫床(探针)传感器,采用 TI LDC1612 芯片,通过 I2C 接口与工具板或主板连接,实现非接触式高速网床扫描与 Z 轴探测。 - [FLY-EDDY 校准](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/calibration): Klipper 官方近期对 Eddy 探针功能进行了优化,建议更新至最新版本使用: - [FLY-EDDY 参考配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/cfg): 以下配置参考 SHT36V3 工具板的 EDDY 配置写法,仅将 I2C 地址改为 FLY-EDDY 的 0x42(42)。i2cmcu、i2cbus 以及 xoffset、yoffset、descend_z 需按实际连接的 MCU 与安装位置修改。 - [FLY-EDDY 接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/wiring): FLY-EDDY 通过 I2C 接口与工具板或主板连接,5P 线束中包含 4 根 I2C 信号线(VCC、GND、SDA、SCL)和 1 根温度检测线(TEMP,板载热敏电阻)。两种型号信号定义一致,适配平台不同: - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-filguard-filament-detector/): FilGuard Filament detector兼容VZ-Hextrudort-Low挤出机,支持断料检测,堵料检测,并且带可自定义编辑的按钮。 - [FLY-G2T](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-g2t/): FLY-G2T多功能扩展板是为了扩展树莓派与FLY上位机功能而设计的高性能模块。它支持UART通信,集成了FPC接口可外接TFT-V2,并且还支持5V风扇控制。这使得它成为一个理想的解决方案,用于增强树莓派在各种应用中的互动性和可用性,例如在工业自动化、3D打印机、家庭自动化、机器人控制或任何需要人机界面和外部通信的场合。 - [FLY上位机使用说明](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-g2t/fly): 注意事项: - [树莓派使用说明](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-g2t/rpi): 注意事项: - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-g2t/schematic): * 本文档提供以下几种 - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/): * 主控采用ESP32-S3R8,性能比ESP32更强。拥有8MB PSRAM和16MB Flash屏幕是IPS屏幕,解析度高,亮度高,可视角度大,色彩细腻。支持电容触摸。 - [固件下载](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/firmware): 1. FLY-Halo发布版全量升级固件 - [FLY_halo](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/function): 1. 首页 - [install](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/install): 安装指南 - [Halo页面操作介绍](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/pages): 页面结构 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/schematic): * 本文档提供以下几种 - [使用教程](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/tutorial): 注意事项 - [Halo 固件升级](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/update): 增量升级(OTA) - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-kppm/): KPPM安全关机模块——Klipper系统专用电源保护方案 - [Klipper 断电续打](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-kppm/power_resume): * FLY上位机可以使用flyos-fast系统 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-kppm/schematic): * 本文档提供以下几种 - [使用KPPM](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-kppm/use): FLY-KPPM安装关机模块是专为树莓派等开发板设计的安全模块,旨在防止停电导致数据丢失的问题。采用先进的技术,当停电发生时能自动切换至电容电源,确保开发板能在停电情况下依然稳定运行15秒,保障数据有效保存。小巧方便,安装简单。 - [FLY-M2WE](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-m2we/): 注意事项 - [系统镜像烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-m2we/flash): 系统烧录前准备 - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm/): - MDM断堵料传感器,体积小巧,使用简单,触发灵敏。 - [模型下载与打印组装](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm/build): 模型下载与说明 - [Klipper配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm/klipper): 断料功能配置 - [Marlin配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm/marlin): 断料及堵料功能配置 - [RRF配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm/rrf): 断料及堵料功能配置 - [接线图](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm/wiring): - 输入电源只支持 DC 3.3V/5V,接线时注意分清正负极,接线过程必须在断电状态下进行,确认接线无误方可上电;因接线有误造成的损失,我司不予负责。 - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm2.85/): - MDM断堵料传感器,体积小巧,使用简单,触发灵敏。 - [模型下载与打印组装](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm2.85/build): 模型下载与说明 - [Klipper配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm2.85/klipper): 断料功能配置 - [Marlin配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm2.85/marlin): 断料及堵料功能配置 - [RRF配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm2.85/rrf): 断料及堵料功能配置 - [接线图](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-mdm2.85/wiring): - 输入电源只支持 DC3.3V/5V,接线时注意分清正负极,接线过程必须在断电状态下进行,确认接线无误方可上电;因接线有误造成的损失,我司不予负责。 - [FLY-MiniAB集线板](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-miniab/): 接线说明 - [FLY VoltUp Power](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-power/): FLY-VoltUp Power该升压模块专为高压驱动设计,用户无需额外购买高压电源即可实现高压驱动,有助于在设计3D打印机时节省空间 - [跳线帽选择](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-power/wiring): 模块接线参考 - [VORON_StealthBurner_LED](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-sb-led/): * 适用VORON_StealthBurner的LED灯珠 - [参考接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-sb-led/wiring): Klipper配置 - [TAP](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-tap/): TAP接线示意图! - [FLY U-IP](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-uip/): 本产品是一款基于树莓派RP2040微控制器的多功能状态监控模块,集成Type-A公头与Type-C母口,支持即插即用(Windows/本产品是一款基于树莓派RP2040微控制器的嵌入式状态监控模块,集成1.14寸全视角IPS屏幕(240x135分辨率),配备Type-A公头与Type-C母口,支持即插即用(Windows/Linux免驱)。专为3D打印、物联网设备及网络调试场景设计,通过屏幕直接显示设备网络信息、系统资源占用率及服务运行状态,无需额外终端工具,操作直观便捷。 - [固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-uip/firmware): - 需要 Windows 系统配合才能使用 - [开机界面](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-uip/ui): 第一界面 - [使用方法](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-uip/usage): 连接方法 - [FLY-UTOC](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-utoc/): FLY-UTOC 是一款 USB 转 CAN 总线模块, 可使支持 USB 的主机设备扩展 CAN 总线通信功能。模块提供多种形态的 CAN 接口, 方便连接不同的开发板或设备。 - [FLY-UTOC 固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-utoc/firmware): UTOC 出厂已经预刷好固件,仅在需要更新固件时按本文操作。 - [接口功能](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-utoc/wiring): UTOC-1 接线说明 - [FLY-UTOR](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-utor/): FLY-UTOR是一款高性能、多用途的接口扩展解决方案,旨在为用户提供额外的USB接口和电源扩展能力,同时支持UART转RS232通信。该扩展板设计紧凑,易于安装,适用于需要额外接口和电源输出的各种应用场景。 - [参考接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-utor/wiring) #### MainBoard - [FLY-C5 主板简介](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/): = v1.2.0-2-gf71af68 的设备。此版本可直接通过网页工具更新,无需进入 DFU 模式。如果您的固件版本低于此版本,请参考 固件烧录 文档。 - [FLY-HDMI 屏幕接线指南](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/wiring): 注意事项 - [简介](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-lcd/): * 分体式设计,支持多种核心板DSI与HDMI - [DSI使用](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-lcd/dsi): 本教程使用树莓派4B为例 - [屏幕接线与配置](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-lcd/hdmi): FLY上位机使用教程 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-lcd/schematic): * 本文档提供以下几种 - [简介](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/): Fly_WiScreen 5 是广州镁伦电子科技有限公司(FLY3D)研发的 Klipper 控制屏幕。它支持 WIFI 固件 与 串口固件 两种模式:既可通过 WIFI 连接局域网内的 Klipper 上位机,也可通过串口直接与 FlyOS-FAST 等系统通信。屏幕配备 5 英寸 IPS 电容触摸屏,并支持通过 USB 或 TF 卡进行文件传输和固件更新。 - [开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/flash): 本页用于修改 Fly-WiScreen 5 寸屏的开机 LOGO、首页图片和打印界面图片。该操作只替换 WiScreen 5 屏幕资源图片,不会修改 Klipper、FlyOS-FAST 或屏幕固件程序。 - [klipper](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/klipper): 出厂已经预先刷好固件,但是建议手动更新一次 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/schematic): * 本文档提供以下几种 - [串口屏幕使用](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/serial_usage): 本页用于说明 Fly-WiScreen 5 寸屏刷写串口固件后的日常使用方式。WiScreen 5 寸屏与 WiScreen 7 寸屏的串口屏幕使用教程几乎一样,主要区别是屏幕尺寸、图片资源规格和少量界面布局差异。 - [固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/updata): 串口固件下载 - [简介](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/): Fly_WiScreen是广州镁伦电子科技有限公司(FLY3D)研发的一款高端Klipper控制屏幕。它支持两种固件模式(WIFI/串口), 为用户提供灵活的连接选择: 既可通过WIFI连接Klipper上位机, 也可通过串口直接与FlyOS-FAST等系统通信。屏幕响应迅速, 配备7英寸IPS电容触摸屏, 并支持通过USB或TF卡传输文件, 带来流畅高效的操作体验。 - [开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/flash): 本页用于修改 Fly-WiScreen 7 寸屏的开机 LOGO、首页图片和打印界面图片。该操作只替换 WiScreen 7 屏幕资源图片,不会修改 Klipper、FlyOS-FAST 或屏幕固件程序。 - [klipper](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/klipper): 出厂已经预先刷好固件,但是建议手动更新一次 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/schematic): * 本文档提供以下几种 - [串口屏幕使用](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/serial_usage): 本页用于说明 Fly-WiScreen 7 寸屏刷写串口固件后的日常使用方式。WiScreen 7 寸屏与 WiScreen 5 寸屏的串口屏幕使用教程几乎一样,主要区别是屏幕尺寸、图片资源规格和少量界面布局差异。 - [下载源码及IDE](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/source_code): 下载屏幕源码 - [项目结构介绍](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/source_code1): 介绍 - [自定义按钮](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/source_code2): 添加按钮 - [生成升级文件](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/source_code3): * 点击按钮即可生成文件 - [固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/updata): 串口固件下载 - [4.3 & 7.0 Marlin屏幕](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/): 本控制屏适配 Marlin 固件,采用串口通信,专为 3D 打印设备打造,支持以下高级功能: - [断电续打](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/break_point_continuation): 配置方法 - [固件更新](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/firmware): * 需要内存卡一张,杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 - [特别功能](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/special_function): * 下方功能都是FLY的屏幕定制功能,已经默认支持 - [WiFi使用说明](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/wifi): 注意事项 - [Fly_Nova 3.5 屏幕](https://mellow.klipper.cn/docs/ProductDoc/Screen/nova35/): Fly_Nova 3.5 是面向 Klipper 上位机系统设计的串口触摸屏,用于在打印机本机端查看状态、执行常用控制并完成基础操作。屏幕通过 UART 与上位机通信,不需要占用 HDMI 或 USB 显示设备资源。 - [使用说明](https://mellow.klipper.cn/docs/ProductDoc/Screen/nova35/fly): | 项目 | 说明与参数 | - [使用说明](https://mellow.klipper.cn/docs/ProductDoc/Screen/nova35/rpi): 本教程用于在树莓派系统中安装并配置 moon2uart,让 Nova 3.5 串口屏可以通过 UART 与 Klipper 上位机通信。 - [简介](https://mellow.klipper.cn/docs/ProductDoc/Screen/tft/): 电容屏接线说明 - [三维模型](https://mellow.klipper.cn/docs/ProductDoc/Screen/tft/schematic): * 本文档提供以下几种 #### Software - [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/): FLY DFU-AUTO 是一款基于 dfu-util 开发的固件烧录软件,可在 Windows 系统下运行。通过 USB 连接设备,即可自动检测 DFU 设备并完成固件的擦除、烧录等操作,无需依赖上位机命令行。 - [下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download): 本页提供 FLY DFU-AUTO 的下载地址与详细使用说明。 - [Config Myprint](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/): - Config Myprint 是一款基于 FLY 系统的打印机管理软件,旨在为用户提供一站式的 3D 打印机管理与维护体验。无论您是桌面级用户还是农场级部署,Config Myprint 都能帮助您轻松实现设备的远程监控、高效任务管理以及灵活的系统配置。 - [下载与安装](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download): 下载 Config Myprint - [系统镜像烧录与配置指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/system_burning) - [使用教程](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/user_guide): 语言切换 - [Fly_Cluster_control](https://mellow.klipper.cn/docs/ProductDoc/Software/Fly_Cluster_control/): FlyClustercontrol 是一款基于 Klipper 的打印机管理软件,旨在为用户提供高效、便捷的打印机监控与管理体验。无论是单台设备还是多机集群,FlyClustercontrol 都能帮助您轻松掌握打印任务进度、实时监控设备状态,并支持灵活的设备接入方式。 - [下载与安装](https://mellow.klipper.cn/docs/ProductDoc/Software/Fly_Cluster_control/download): 下载FlyClustercontrol - [FLY Screen](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/): FLY Screen 是 FlyOS-FAST 中用于本机屏幕操作界面的显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 - [启用配置](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/config): 配置方法 - [图片替换](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/image): FLY Screen 支持替换首页图片和打印界面图片。图片规格与 FlyScreen 项目内置资源一致,通过浏览器访问系统文件管理界面上传文件后,会自动替换对应图片资源。 - [其他上位机安装](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/install): 本页适用于非 FlyOS-FAST 的普通 Linux 上位机,例如树莓派、FLY 派等已自行安装 Klipper 的系统。 - [使用教程](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage): 本页介绍 FLY Screen 的日常使用流程,适用于已启用 FLY Screen 的 FLY-TFT、HDMI 等本机屏幕场景。 - [Klipper Cloud 远程代理](https://mellow.klipper.cn/docs/ProductDoc/Software/klipper-cloud/): klipper-cloud} #### ToolBoard - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/): FLY-ERCF 是一款基于 RP2040 的 3D 打印机多色控制板,主要用于 Enraged Rabbit 项目。它也可以用于其他两轴步进电机控制情况。 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/): * ERCF出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-ERCF Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/bl): FLY-ERCF 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/firmware): 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/pin): - 本页列出 FLY-ERCF 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [重要说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/read-id): 本教程专门介绍工具板*的接线与搜索ID,相关步骤不适用于主板,请注意区分。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/schematic): * 本文档提供以下几种 - [ERCF](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/): FLY-ERCF 是一款基于 RP2040 的 3D 打印机多色控制板,主要用于 Enraged Rabbit 项目。它也可以用于其他两轴步进电机控制情况。 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/): * ERCF V2出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-ERCF V2 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/bl): FLY-ERCF V2 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/firmware): 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/pin): - 本页列出 FLY-ERCF V2 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [重要说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/read-id): 本教程专门介绍工具板*的接线与搜索ID,相关步骤不适用于主板,请注意区分。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/schematic): * 本文档提供以下几种 - [ERCF](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! - [产品简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/): Fly-MMU多功能工具板是一款高性能控制板,专为3D打印机和自动化设备设计。它集成了强大的H723微控制器,支持多达4个TMC步进电机驱动器,并且支持高压驱动,自带11个限位开关输入而且可通过FPC扩展出16个限位,以及4个舵机控制输出。该工具板兼容Klipper固件,并提供CAN总线和RS232连接选项,以实现灵活的通信和控制方案。 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/): * MMU 提供USB与CAN连接的Katapult固件,有需要可以自行烧录 - [FLY-MMU Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/bl): FLY-MMU 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [板载拨码介绍](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/dip_switch): RS232模式 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/firmware): MMU 支持 USB、CAN 和 RS232 三种连接方式。请根据实际连接方式选择对应固件,选择后才会显示完整的编译与烧录步骤。 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/pin): - 本页列出 FLY-MMU 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [重要说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/read-id): 本教程专门介绍工具板*的接线与搜索ID,相关步骤不适用于主板,请注意区分。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/schematic): * 本文档提供以下几种 - [主板接线](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择 图片另存为 ,将图片保存到桌面再查看!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/): FLY SB2040 PRO V3是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于stealthburner与afterburner,其集成了CAN收发器、RS232收发器、USB口、TMC2240驱动、LIS2DW加速度传感器,三个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 - [Eddy 使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/1612): * 使用前确保自己的打印机没有漏电 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/cfg) - [板载拨码介绍](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/dip_switch): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择 图片另存为 ,将图片保存到桌面再查看!!! - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/flash/): * SB2040 PRO V3出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-SB2040 Pro V3 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/flash/bl): FLY-SB2040 Pro V3 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/flash/firmware): 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/pin): - 本页列出 FLY-SB2040 Pro V3 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/read-id): 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 或 RS232 线束、调整拨码或触碰端子。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/schematic): * 本文档提供以下几种 - [驱动欠压解决方法](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/undervoltage): 方法一 - [SB2040 V3](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/): FLY SB2040 PRO 是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于stealthburner与afterburner,其集成了CAN收发器、USB口、TMC2240驱动、ADXL345加速度传感器,三个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/flash/): * SB2040 PRO出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-SB2040 Pro Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/flash/bl): FLY-SB2040 Pro 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [CAN 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/flash/can): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/pin): - 本页列出 SB2040-PRO 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/read-id): * 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/schematic): * 本文档提供以下几种 - [驱动欠压解决方法](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/undervoltage): 方法一 - [wiring](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/wiring): Pin脚说明 - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/): FLY SB2040 V3是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于stealthburner与afterburner,其集成了CAN收发器、RS232收发器、USB口、TMC2209驱动、LIS2DW加速度传感器,三个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 - [Eddy 使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/1612): * 使用前确保自己的打印机没有漏电 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/cfg) - [板载拨码介绍](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/dip_switch): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择 图片另存为 ,将图片保存到桌面再查看!!! - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/flash/): * SB2040 V3出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-SB2040 V3 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/flash/bl): FLY-SB2040 V3 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/flash/firmware): 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/pin): - 本页列出 FLY-SB2040 V3 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/read-id): 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 或 RS232 线束、调整拨码或触碰端子。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/schematic): * 本文档提供以下几种 - [SB2040 V3](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/): * V1 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/flash/): * SB2040出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-SB2040 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/flash/bl): FLY-SB2040 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [CAN 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/flash/can): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/pin): - 本页列出 FLY-SB2040 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/read-id): * 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/schematic): * 本文档提供以下几种 - [主板接线](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/wiring): * 散热片是贴到驱动上! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/): FLY-SHT36-LIS3DH是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。FLY-SHT36-LIS3DH适用于36步进电机,其集成了CAN收发器、USB口、TMC2209驱动、LIS3DH加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/adxl): 更新Klipper - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/flash/): * SHT36 LIS3DH出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-SHT36 LIS3DH Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/flash/bl): FLY-SHT36 LIS3DH 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [CAN 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/flash/can): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/pin): - 本页列出 FLY-SHT36 (LIS3DH) 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/read-id): * 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/schematic): * 本文档提供以下几种 - [SHT36 LIS3DH](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/wiring): 赠送的蓝色散热片,请粘贴到驱动上!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/): FLY-SHT36-PRO是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。FLY-SHT36-PRO适用于36步进电机,其集成了CAN收发器、USB口、TMC5160驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/flash/): * SHT36 PRO出厂预刷CAN连接的Katapult固件,速率为1M - [FLY-SHT36 Pro Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/flash/bl): FLY-SHT36 Pro 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [CAN 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/flash/can): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/pin): - 本页列出 FLY-SHT36 PRO 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/read-id): * 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/schematic): * 本文档提供以下几种 - [板载5160驱动使用不了](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/spi): 具体原因 - [SHT36 Pro](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/wiring): 赠送的蓝色散热片,请粘贴到驱动上!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/): 产品简介 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/cfg): 请不要在打开网页翻译时修改配置 - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/): * SHT36 V2提供USB与CAN连接的Katapult固件,有需要可以自行烧录 - [FLY-SHT36 V2 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/bl): FLY-SHT36 V2 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复或明确需要更新 Katapult 的场景。 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/firmware): SHT36 V2 使用不同主控,请根据板载芯片选择对应版本: - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/pin): - 本页列出 FLY-SHT36 V2 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/read-id): * 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/schematic): * 本文档提供以下几种资料 - [SHT36 V2](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/wiring): 赠送的蓝色散热片,请粘贴到2209驱动上!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/): FLY SHT36 V3是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SHT36 V3适用于36步进电机,其集成了CAN收发器、RS232收发器、Type-C口、TMC2209驱动、LIS2DW加速度传感器,2个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 - [板载 MAX31865 使用说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/31865): SHT36-V3 的普通热敏接口仅支持 PT1000*。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/cfg): 请不要在打开网页翻译时修改配置 - [EDDY 使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/eddy): * 使用前确保自己的打印机没有漏电 - [固件编译与烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/): 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 - [FLY-SHT36 V3 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/bl): FLY-SHT36 V3 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/read-id): 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 或 RS232 线束、调整拨码或触碰端子。 - [RRF 固件刷写与配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/rrf): 如何判断工具板是否支持RRF-CAN - [SHT36 V3 板载拨码与固件说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/switch): 选择固件类型 - [Fly-SHT36-V3 工具板文档](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/getting_started): 快速导航 - [SHT36 V3](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/interfaces): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! - [CAN固件连接注意事项](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/can): 接线说明 - [EDDY 传感器常见问题解决指南](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/eddy) - [工具板常见问题解答](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/faq): 🌀 风扇控制问题 - [RS232固件连接指南](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/rs232): 固件准备 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/pin): - 本页列出 FLY-SHT36 V3 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/schematic): * 本文档提供以下几种 - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/): FLY SHT36/42是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SHT36适用于36步进电机,SHT42适用于42步进电机,其集成了CAN收发器、USB口、TMC2209驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/cfg) - [固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/flash/): * SHT36/42出厂没有预刷CAN连接的Katapult固件 - [FLY-SHT36/42 Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/flash/bl): FLY-SHT36/42 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [072版本CAN固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/flash/can): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/pin): - 本页列出 FLY-SHT36 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/read-id): * 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/schematic): * 本文档提供以下几种 - [SHT36/42接线](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/wiring): 赠送的蓝色散热片,请粘贴到2209驱动上!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-adxl/): 阅读此文档前请注意买的是ADLX345版本还是LIS2DW - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-adxl/adxl345): 使用教程 - [Klipper参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-adxl/cfg): * 参考配置 - [固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-adxl/flash): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-adxl/pin): - 本页列出 FLY-USB-ADXL 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-adxl/read-id) - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/): 阅读此文档前请注意买的是ADLX345版本还是LIS2DW - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/adxl345): 使用教程 - [Klipper参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/cfg): * 参考配置 - [固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/flash): 开始编译 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/pin): - 本页列出 FLY-USB-LIS2DW 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/read-id) - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/): FLY TOOL-LITE-232是广州镁伦电子科技有限公司针对3D打印机设计的工具板,该工具板提供了xt30/kf接口,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。TOOL-LITE-232适用于36/42步进电机,其集成了RS232收发器、Type-C口、TMC2209驱动、LIS2DW加速度传感器,2个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/adxl): 使用教程 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/cfg): 请不要在打开网页翻译时修改配置 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/pin): - 本页列出 FLY Tool-Lite 232 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/read-id): 请不要在打开网页翻译时修改配置 - [RS232 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/rs232): 开始编译 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/schematic): * 本文档提供以下几种资料 - [TOOL-LITE](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-232/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! - [简介](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/): FLY TOOL-LITE-CAN是广州镁伦电子科技有限公司针对3D打印机设计的工具板,该工具板提供了xt30/kf接口,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。TOOL-LITE-CAN适用于36/42步进电机,其集成了CANBus收发器、Type-C口、TMC2209驱动、LIS2DW加速度传感器,2个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 - [加速度计使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/adxl): 使用教程 - [FLY-TOOL-LITE CAN Bootloader(Katapult)恢复](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/bl): FLY-TOOL-LITE CAN 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 - [CAN 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/can): 开始编译 - [参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/cfg): 请不要在打开网页翻译时修改配置 - [引脚分布](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/pin): - 本页列出 FLY Tool-Lite CAN 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 - [工具板ID读取查看](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/read-id): 请不要在打开网页翻译时修改配置 - [三维模型与原理图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/schematic): * 本文档提供以下几种资料 - [TOOL-LITE](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/tool-lite/tool-lite-can/wiring): 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! ### ResDownload #### 3d_mod - [各类支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Bambulab/): * 正在更新,可能有遗漏 - [热端支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Hot_end_bracket/): 适用VORON2.4与VORON Trident - [主板支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Motherboard_bracket/): * 正在更新,可能有遗漏 - [扩展板支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Motherboard_bracket/extensionboard): * 正在更新,可能有遗漏 - [上位机支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Motherboard_bracket/sbc): * 正在更新,可能有遗漏 - [屏幕支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Motherboard_bracket/screen): * 正在更新,可能有遗漏 - [工具板支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/Motherboard_bracket/toolboard): * 正在更新,可能有遗漏 - [VORON支架](https://mellow.klipper.cn/docs/ResDownload/3d_mod/voron/) #### auxiliary_software 上位机系统烧录 - [辅助工具与软件](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/): 上位机系统烧录 #### system-img - [FLY-C5 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-c5): ---- - [FLY-C8 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-c8): ---- - [FLY-C8P 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-c8p): ---- - [FLY-Gemini 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-gemini): ---- - [FLY-Lite2 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-lite2): * Lite2 与 Lite2.1 使用同一个系统 - [FLY-MiniPad 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-minipad): ---- - [FLY-Pi 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-pi): ---- - [FLY-Pi v2 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-pi-v2): ---- - [FLY-Pi v3 系统镜像](https://mellow.klipper.cn/docs/ResDownload/system-img/fly-pi-v3): ---- ### tools 此文档包含适配Klipper相关的各种实用工具。 - [实用工具](https://mellow.klipper.cn/docs/tools): 此文档包含适配Klipper相关的各种实用工具。 ### ToolsDoc #### firmware-parser 该工具可以从 Klipper 固件 .bin, .uf2, .dict, .elf 中提取构建信息等参数 (建议从PC端访问获得更佳体验) - [Klipper 固件解析器](https://mellow.klipper.cn/docs/ToolsDoc/firmware-parser): 该工具可以从 Klipper 固件 .bin, .uf2, .dict, .elf 中提取构建信息等参数 (建议从PC端访问获得更佳体验) #### fly-alps-tool - 固件版本 >= v2.0.0:可直接通过网页工具更新,无需进入 DFU 模式。请参考 固件更新 文档。 - [FLY-ALPS压力模块 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/fly-alps-tool): - 固件版本 >= v2.0.0:可直接通过网页工具更新,无需进入 DFU 模式。请参考 固件更新 文档。 #### fly-ams-tool 本工具通过浏览器 Web Serial API 连接 FLY-LLL Flux Buffer 控制板,读取设备信息并修改设备本地参数。串口通信使用 9600 baud。 - [FLY-LLL Flux Buffer 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/fly-ams-tool): 本工具通过浏览器 Web Serial API 连接 FLY-LLL Flux Buffer 控制板,读取设备信息并修改设备本地参数。串口通信使用 9600 baud。 #### fly-buffer-tool - 固件版本 >= v2.0.0:可直接通过网页工具更新,无需进入 DFU 模式。请参考 固件更新 文档。 - [FLY-LLL-Buffer 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/fly-buffer-tool): - 固件版本 >= v2.0.0:可直接通过网页工具更新,无需进入 DFU 模式。请参考 固件更新 文档。 #### gpio-calculator - [GPIO引脚号计算器](https://mellow.klipper.cn/docs/ToolsDoc/gpio-calculator) #### hdmi-lcd-tool - 固件版本 >= v1.2.0-2-gf71af68:可直接通过网页工具更新,无需进入 DFU 模式。请参考 固件更新 文档。 - [FLY-LCD-HDMI 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/hdmi-lcd-tool): - 固件版本 >= v1.2.0-2-gf71af68:可直接通过网页工具更新,无需进入 DFU 模式。请参考 固件更新 文档。 #### klipper-config-parser - 本地解析:上传 printer.cfg(支持 .cfg / .conf / .txt、多文件、目录上传与拖拽,自动按 [include] 展开)或 klippy.log,浏览器内即时解析 - [Klipper 配置诊断](https://mellow.klipper.cn/docs/ToolsDoc/klipper-config-parser): - 本地解析:上传 printer.cfg(支持 .cfg / .conf / .txt、多文件、目录上传与拖拽,自动按 [include] 展开)或 klippy.log,浏览器内即时解析 #### serial-terminal Windows驱动安装 - [串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal): Windows驱动安装 --- # Full Documentation Content [跳到主要内容](#__docusaurus_skipToContent_fallback) ⏰ **Multiple languages are automatically generated by AI, please pay attention to distinguish them. Especially when executing commands and configurations** [![FLY Logo](/img/logo.svg)![FLY Logo](/img/logo.svg)](https://mellow.klipper.cn/) [**Klipper Docs**](https://mellow.klipper.cn/)[产品文档](https://mellow.klipper.cn/docs/intro)[FLYOS 文档](https://mellow.klipper.cn/docs/flyos-doc)[调试文档](https://mellow.klipper.cn/docs/debug-doc)[实用工具](https://mellow.klipper.cn/docs/tools)[动态](https://mellow.klipper.cn/blog)[资源下载](https://mellow.klipper.cn/docs/down)[🎉 Shop 🥳](https://3dmellow.com/) 搜索 [简体中文](#) * [简体中文](https://mellow.klipper.cn/search?persistLocale=true) * [English](https://mellow.klipper.cn/en/search?persistLocale=true) * [日本語](https://mellow.klipper.cn/ja/search?persistLocale=true) * [Français](https://mellow.klipper.cn/fr/search?persistLocale=true) * [Русский](https://mellow.klipper.cn/ru/search?persistLocale=true) * [한국어](https://mellow.klipper.cn/ko/search?persistLocale=true) # 在文档中搜索 文档 * [产品文档](https://mellow.klipper.cn/docs/intro) * [FLYOS 文档](https://mellow.klipper.cn/docs/flyos-doc) * [调试文档](https://mellow.klipper.cn/docs/debug-doc) * [原文档站](https://mellow-old.klipper.cn) * [RRF](https://teamgloomy.github.io/) 客户服务 * [解决方案](mailto:service@3dmellow.com) * [技术支持](mailto:service@3dmellow.com) * [联系我们](mailto:service@3dmellow.com) 产品选型 * [Mellow Shop](https://3dmellow.com/) * [淘宝](https://shop126791347.taobao.com/) * [Aliexpress](https://mellow.aliexpress.com/) 社区 * [QQ Group](https://qm.qq.com/q/WtBuUgkIWC) * [Discord](https://discord.gg/qMvp24jWNw) * [Facebook](https://www.facebook.com/groups/395979321769632) * [Bilibili](https://space.bilibili.com/702717862) * [YouTube](https://www.youtube.com/@3DMELLOWPrinter) 更多 * [新闻动态](https://mellow.klipper.cn/blog) * [GitHub](https://github.com/Mellow-3D) * [cnb.cool](https://cnb.cool/3dmellow) [![Mellow Logo](/img/logo-mellow.svg)![Mellow Logo](/img/logo-mellow.svg)](https://mellow.klipper.cn) Copyright © 2025 3D Mellow, Inc. All rights reserved
[粤ICP备2022093047号-1](https://beian.miit.gov.cn/) --- ## [📄️连接SSH](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/) [- 此文档仅适用于 FLY 上位机,其他设备仅供参考。](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/) --- ## [📄️Fly 上位机安装与使用](https://mellow.klipper.cn/docs/DebugDoc/baodian/host) [准备工作](https://mellow.klipper.cn/docs/DebugDoc/baodian/host) --- ## [🗃机型与功能参考配置](https://mellow.klipper.cn/docs/category/机型与功能参考配置) [12 个项目](https://mellow.klipper.cn/docs/category/机型与功能参考配置) --- ## [📄️常见报错总览](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err) [本页用于快速定位 Klipper 常见报错。请先在 klippy.log 中找到完整报错关键词,再进入对应分类页面处理。](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err) --- ## [📄️通过插件扩展控制驱动LED](https://mellow.klipper.cn/docs/DebugDoc/addon/led) [原文档](https://mellow.klipper.cn/docs/DebugDoc/addon/led) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/) [产品特点](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/) [\* ALPS 压力模块是一款基于 ADS131M02 设计的压力传感解决方案,专为 3D 打印机自动 Z 轴归位(Home)和网床(Mesh Bed Leveling)调平开发。通过高灵敏度压力检测与实时信号处理,模块可精准感知打印头与网床的接触状态,实现毫米级调平精度,消除传统机械限位校准的误差,显著提升首层打印成功率。](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/) [BD传感器是一个可以与3D打印机配合使用的距离传感器,可以实时进行快速床调平和调整Z轴。](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/) [BD传感器是一个可以与3D打印机配合使用的距离传感器,可以实时进行快速床调平和调整Z轴。](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bdsensor-m/) --- ## [📄️介绍](https://mellow.klipper.cn/docs/ProductDoc/Software/Fly_Cluster_control/) [FlyClustercontrol 是一款基于 Klipper 的打印机管理软件,旨在为用户提供高效、便捷的打印机监控与管理体验。无论是单台设备还是多机集群,FlyClustercontrol 都能帮助您轻松掌握打印任务进度、实时监控设备状态,并支持灵活的设备接入方式。](https://mellow.klipper.cn/docs/ProductDoc/Software/Fly_Cluster_control/) --- ## [📄️介绍](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/) [- Config Myprint 是一款基于 FLY 系统的打印机管理软件,旨在为用户提供一站式的 3D 打印机管理与维护体验。无论您是桌面级用户还是农场级部署,Config Myprint 都能帮助您轻松实现设备的远程监控、高效任务管理以及灵活的系统配置。](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/) --- ## [📄️固件烧录与主板连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d5/firmware/) [上位机连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d5/firmware/) --- ## [📄️固件烧录与主板连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d7/firmware/) [上位机连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d7/firmware/) --- ## [📄️固件烧录与板载拨码说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d8-h723/firmware/) [上位机连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d8-h723/firmware/) --- ## [📄️固件烧录与板载拨码说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d8-f407/firmware/) [上位机连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d8-f407/firmware/) --- ## [📄️固件烧录与板载拨码说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-dp5/firmware/) [上位机连接说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-dp5/firmware/) --- ## [📄️固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-e3/fly-e3-v2/flash/) [\* E3 V2默认使用TF卡进行固件烧录](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-e3/fly-e3-v2/flash/) --- ## [📄️固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/) [\* ERCF V2出厂预刷CAN连接的Katapult固件,速率为1M](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/) --- ## [📄️固件烧录说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/) [\* ERCF出厂预刷CAN连接的Katapult固件,速率为1M](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/Screen/12864/) [Klipper配置](https://mellow.klipper.cn/docs/ProductDoc/Screen/12864/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/) [本控制屏适配 Marlin 固件,采用串口通信,专为 3D 打印设备打造,支持以下高级功能:](https://mellow.klipper.cn/docs/ProductDoc/Screen/marlin/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-7040/) [产品特点](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-7040/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-f407zg/) [产品特点](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-f407zg/) --- ## [📄️简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-adxl/) [产品特点](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-adxl/) --- ## [🗃FLY-C8P](https://mellow.klipper.cn/docs/category/fly-c8p) [15 个项目](https://mellow.klipper.cn/docs/category/fly-c8p) --- ## [📄️主板简介](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/) [\ chain_count: 25 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 #66CCFF [led_effect sb_nozzle_cooling] autostart: false frame_rate: 24 leds: neopixel:TP_led (9,10) layers: breathing 3 1 top (0.0, 0.0, 1.0, 0.1) [led_effect rainbow] leds: neopixel:TP_led autostart: true frame_rate: 24 layers: gradient 0.3 1 add (0.3, 0.0, 0.0),(0.0, 0.3, 0.0),(0.0, 0.0, 0.3) ``` --- # Klippain Shake\&Tune 共振分析插件 [Klippain Shake\&Tune](https://github.com/Frix-x/klippain-shaketune) 是一个 Klipper 共振分析与输入整形校准插件,能够对加速度计采集的振动数据生成可视化图表,帮助排查机械问题并优化 Input Shaper 滤波器。 FlyOS-FAST 用户 FlyOS-FAST v1.3.5 及以上版本已预装 Shake\&Tune,无需手动安装。只需在 `printer.cfg` 中添加 `[shaketune]` 配置段并重启即可使用。 完整配置参数与说明请参考:[FlyOS-FAST Shake\&Tune 插件说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) ## 安装[​](#安装 "安装的直接链接") 请使用 SSH 工具连接到上位机,并确认以下条件: 1. 上位机已安装 Klipper 固件。 2. 已安装并正确配置加速度计(ADXL345、LIS2DW 等),`ACCELEROMETER_QUERY` 能正常返回数据。 3. `printer.cfg` 中已定义 `[resonance_tester]` 段。 ### 拉取或更新插件[​](#拉取或更新插件 "拉取或更新插件的直接链接") 此步骤需要连接 GitHub。确认拉取成功后,再运行安装脚本。 ``` cd ~ if [ -d ~/klippain-shaketune/.git ]; then git -C ~/klippain-shaketune pull --ff-only else git clone https://github.com/Frix-x/klippain-shaketune.git ~/klippain-shaketune fi ``` ### 运行安装脚本[​](#运行安装脚本 "运行安装脚本的直接链接") ``` cd ~/klippain-shaketune chmod +x install.sh ./install.sh systemctl restart klipper ``` 如果使用 FlyOS-FAST 系统,安装路径应调整为 `/data/` 目录,具体请参考上方 FlyOS-FAST 专用文档。 ### 添加配置段[​](#添加配置段 "添加配置段的直接链接") 在 `printer.cfg` 中添加: ``` [shaketune] # result_folder: ~/printer_data/config/ShakeTune_results # 处理结果保存路径,文件夹不存在时自动创建 # number_of_results_to_keep: 10 # 保留的最近结果数量,超出后自动清理旧文件 # keep_raw_data: False # 设为 True 可同时保存原始 .stdata 文件,便于排查问题或提交反馈 # show_macros_in_webui: True # 在 Fluidd / Mainsail 网页中显示 Shake&Tune 宏按钮 # timeout: 600 # 图表生成超时时间(秒),低性能设备可适当增大 ``` 保存并重启 Klipper。 ### 验证安装[​](#验证安装 "验证安装的直接链接") ``` systemctl is-active klipper ``` 返回 `active` 后,在网页控制台输入 `TEST_RESONANCES` 等宏命令,确认命令可以被识别。 ## 可用宏命令[​](#可用宏命令 "可用宏命令的直接链接") 安装完成后,以下宏命令可在网页控制台或 G-code 中使用: | 宏命令 | 用途 | | ---------------------------------------- | --------------------------------------------------- | | `TEST_RESONANCES AXIS=X` | 测量 X 轴共振并生成频谱图与建议的 Input Shaper 参数 | | `TEST_RESONANCES AXIS=Y` | 测量 Y 轴共振并生成频谱图 | | `TEST_RESONANCES AXIS=X OUTPUT=raw_data` | 仅采集原始数据,不自动生成图表 | | `COMPARE_RESONANCES` | 对比最近两次共振测量结果,便于观察调整效果 | | `BELTS_SHAPER_TUNING` | 专用皮带共振测试,生成 Hanning 窗口的频谱对比图 | 每次执行完成后,Shake\&Tune 会在 `result_folder` 中生成 PNG 图表文件,可通过 Fluidd / Mainsail 的文件管理器直接查看。 ## 与 Klipper 内置命令的区别[​](#与-klipper-内置命令的区别 "与 Klipper 内置命令的区别的直接链接") Shake\&Tune 不替代 Klipper 内置的 `SHAPER_CALIBRATE`,而是在其基础上提供更丰富的可视化分析: | 功能 | Klipper 内置 | Shake\&Tune | | -------------------------- | ------------------------------- | --------------------------------- | | 自动计算 Input Shaper 参数 | `SHAPER_CALIBRATE` 直接写入配置 | `TEST_RESONANCES` 生成图表供参考 | | 频谱可视化图表 | 无 | 自动生成 PNG 频谱图 | | 皮带张力对比 | 无 | `BELTS_SHAPER_TUNING` 生成对比图 | | 多次测量对比 | 无 | `COMPARE_RESONANCES` 对比最近结果 | 内置命令适合快速自动校准;Shake\&Tune 适合需要查看详细频谱、排查机械问题或对比皮带张力的场景。 ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 图表生成超时[​](#图表生成超时 "图表生成超时的直接链接") 低性能设备生成图表时可能超时。适当增大 `[shaketune]` 中的 `timeout` 值,例如 `timeout: 900`。 ### 结果文件夹没有生成[​](#结果文件夹没有生成 "结果文件夹没有生成的直接链接") 确认 `result_folder` 路径存在且 Klipper 有写入权限。 ### 安装后 `ACCELEROMETER_QUERY` 报错[​](#安装后-accelerometer_query-报错 "安装后-accelerometer_query-报错的直接链接") Shake\&Tune 不影响加速度计底层通信。如果安装后出现通信错误,请先按 [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) 排查硬件和配置问题。 > **加速度计配置与测试**:[查看加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) > **共振补偿与 Input Shaper 调优**:[查看共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa) --- # 延迟摄影 延迟摄影由 Moonraker 的 `moonraker-timelapse` 组件负责采集帧并合成为视频。不同系统只需要替换摄像头快照地址和视频保存路径,其他拍摄方法相同。 ## Fluidd 页面[​](#fluidd-页面 "Fluidd 页面的直接链接") 使用 Fluidd 时,可以在左侧菜单打开“延迟摄影”页面,地址通常以 `#/timelapse` 结尾。在该页面可以查看已采集帧、渲染视频、下载视频以及调整页面提供的参数。使用 Mainsail 时,也可以使用其延迟摄影页面。 如果页面没有内容,请检查以下项目: 1. Moonraker 已加载 timelapse 组件。 2. `printer.cfg` 已包含 `timelapse.cfg`。 3. `[timelapse]` 中的 `snapshoturl` 能获取当前摄像头快照。 4. 切片文件中包含 `TIMELAPSE_TAKE_FRAME`。 ## 配置拍照时的停靠位置[​](#配置拍照时的停靠位置 "配置拍照时的停靠位置的直接链接") 在 Fluidd 或 Mainsail 的控制台中查看当前设置: ``` GET_TIMELAPSE_SETUP ``` 用 `_SET_TIMELAPSE_SETUP` 设置拍摄前是否移动喷头、停靠坐标、抬高高度、移动速度和停留时间。下面坐标只是假设值,必须按实际打印机尺寸修改: ``` _SET_TIMELAPSE_SETUP PARK_ENABLE=True PARK_POS=custom CUSTOM_POS_X=10 CUSTOM_POS_Y=210 CUSTOM_POS_DZ=2 TRAVEL_SPEED=80 PARK_TIME=1 ``` | 参数 | 作用 | | ------------------ | ---------------------------------------- | | `PARK_ENABLE=True` | 拍照前移动喷头;不希望移动时使用 `False` | | `PARK_POS=custom` | 使用自定义停靠位置 | | `CUSTOM_POS_X/Y` | 停靠点的绝对 X、Y 坐标,单位 mm | | `CUSTOM_POS_DZ` | 在当前 Z 高度上抬高的距离,单位 mm | | `TRAVEL_SPEED` | 停靠和返回速度,单位 mm/s | | `PARK_TIME` | 停靠动作保持时间,单位秒 | 发送设置命令不会立即移动喷头,只有执行 `TIMELAPSE_TAKE_FRAME` 时才会使用这些设置。设置后再次执行 `GET_TIMELAPSE_SETUP` 核对结果。 先测试停靠路径 示例坐标不能直接照抄。先确认打印机已经归位,并用小模型测试整个移动路径不会撞到模型、机架或限位。只想测试相机时,先执行 `_SET_TIMELAPSE_SETUP PARK_ENABLE=False`。 ## 切片器设置[​](#切片器设置 "切片器设置的直接链接") 在切片器的“层改变 G-code”或“层改变前 G-code”中添加一次: ``` TIMELAPSE_TAKE_FRAME ``` 不要同时在层改变前和层改变后重复添加,否则每层可能拍摄两次。 ## 控制台测试[​](#控制台测试 "控制台测试的直接链接") 在确认停靠位置安全后,可以在 Fluidd 控制台执行: ``` GET_TIMELAPSE_SETUP TIMELAPSE_TAKE_FRAME ``` 不希望测试时移动喷头时,先关闭停靠: ``` _SET_TIMELAPSE_SETUP PARK_ENABLE=False TIMELAPSE_TAKE_FRAME ``` 手动渲染视频: ``` TIMELAPSE_RENDER ``` 如果切片器不能插入层改变指令,可以使用按时间拍摄: ``` HYPERLAPSE ACTION=START CYCLE=30 ``` 打印结束后执行: ``` HYPERLAPSE ACTION=STOP TIMELAPSE_RENDER ``` ## 视频位置[​](#视频位置 "视频位置的直接链接") 生成的视频默认保存在: ``` /usr/share/printer_data/timelapse/ ``` 实际保存位置以 `[timelapse]` 配置中的 `output_path` 为准。 --- # 配置引脚替换说明 本页用于指导用户把已有 Klipper 配置改成当前 FLY 主板可用的引脚。很多网上配置只能作为结构参考,不能直接照抄使用;正式使用前,需要按实际主板型号、接口位置和接线方式替换对应引脚。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 适用说明 * 本文只说明如何查找并替换配置中的引脚,不提供某一台机器的完整成品配置。 * `position_max`、`rotation_distance`、`microsteps`、`run_current`、`sensor_type` 等参数需要按实际机器和硬件确认,不要因为更换主板就盲目照抄。 * 主板引脚请以对应 FLY 产品文档、主板丝印和官方参考配置为准。 ## 修改思路[​](#修改思路 "修改思路的直接链接") 修改配置时建议按下面顺序处理: 1. 确认当前使用的 FLY 主板型号。 2. 打开对应主板产品文档,找到驱动口、限位口、风扇口、加热口、热敏口等引脚说明。也可直接参考对应主板的 [Klipper 参考配置](https://mellow.klipper.cn/docs/ProductDoc/MainBoard)。 3. 在 `printer.cfg` 和所有 `[include]` 文件中找到需要修改的功能段。 4. 搜索准备使用的新引脚,确认它没有被其他已启用配置占用。 5. 只替换与主板接口相关的引脚项,并保留必要的 `!`、`^`、`~` 符号。 6. 保存配置并重启 Klipper。 7. 按单项功能逐个测试,不要一次性上电测试全部外设。 ## 常见功能段[​](#常见功能段 "常见功能段的直接链接") | 功能 | 常见配置段 | 常见需要替换的项目 | | -------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------- | | X / Y / Z 电机 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | `step_pin`、`dir_pin`、`enable_pin`、`endstop_pin` | | 挤出机电机 | `[extruder]` | `step_pin`、`dir_pin`、`enable_pin` | | TMC 驱动通信 | `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]` 等 | `uart_pin`、`cs_pin`、`spi_software_mosi_pin`、`spi_software_miso_pin`、`spi_software_sclk_pin`、`diag_pin` | | 热端加热 | `[extruder]` | `heater_pin`、`sensor_pin` | | 热床加热 | `[heater_bed]` | `heater_pin`、`sensor_pin` | | 风扇 | `[fan]`、`[heater_fan xxx]`、`[fan_generic xxx]` | `pin`、`tachometer_pin` | | 限位开关 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | `endstop_pin` | | 探针 | `[probe]`、`[bltouch]` | `pin`、`sensor_pin`、`control_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_pin`、`dir_pin`、`enable_pin`、`heater_pin`、`sensor_pin`、`endstop_pin`、`uart_pin`、`cs_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_pin`、`enable_pin`、`endstop_pin` | | `^` | 启用上拉 | 机械限位、探针输入 | | `~` | 启用下拉 | 少数输入信号 | | `mcu1:PA0` | 指定某个 MCU 的引脚 | 多 MCU 或工具板配置 | 例如: ``` enable_pin: !PC3 endstop_pin: ^PA1 sensor_pin: toolboard:PA0 ``` `!PC3` 中的实际引脚是 `PC3`,`!` 只表示电平取反。替换到新主板时,应根据新主板引脚写成类似 `!`,不要直接把 `!` 删除。 ## 替换示例[​](#替换示例 "替换示例的直接链接") 假设旧配置中的 X 轴使用了其他主板引脚: 修改前 ``` [stepper_x] step_pin: PA3 dir_pin: PA2 enable_pin: !PA1 endstop_pin: ^PB10 ``` 下面以 `FLY-C8P` 的 X 轴驱动位为例。查看 C8P 主板资料后,可以把 X 轴驱动口和 X 限位口改成对应引脚。修改前请先搜索 `PE5`、`PA8`、`PA15`、`PD9`,确认这些引脚没有被其他已启用配置占用。 修改后 ``` [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-2`、`PT1000` 等)。 ### 风扇[​](#风扇 "风扇的直接链接") 普通模型风扇常见写法: printer.cfg ``` [fan] pin: PA0 ``` 热端散热风扇常见写法: printer.cfg ``` [heater_fan hotend_fan] pin: PA1 heater: extruder heater_temp: 50.0 ``` 上方是 C8P 的风扇口示例。替换前请先搜索 `PA0`、`PA1`,确认这些引脚没有同时被 `[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]` 只选择实际使用的一种,不要同时启用同一个探针信号脚。限位、探针等输入信号是否需要 `^` 或 `!`,取决于模块类型和接线方式。修改前请先搜索 `PD9`、`PC0`、`PE6`,确认没有重复占用;修改后应先在 Web 控制台使用 `QUERY_ENDSTOPS`、`QUERY_PROBE` 等命令查看触发状态,再进行归位或调平。 ## 保存与验证[​](#保存与验证 "保存与验证的直接链接") 修改完成后,点击网页右上角的 **SAVE & RESTART** 保存并重启 Klipper。如果修改涉及 MCU 连接、驱动通信等底层配置,可能需要在控制台执行 `FIRMWARE_RESTART` 而不是普通 `RESTART`。 建议按以下顺序验证: 1. 查看 Klipper 是否能正常启动,没有 `Unknown pin chip name`、`Pin is not a valid pin name`、`Unable to parse option` 等配置报错。 2. 如果出现 `pin xxx used multiple times in config`,先搜索并处理重复占用的 `xxx`,不要继续测试。 3. 在 Web 控制台使用 `QUERY_ENDSTOPS` 检查限位状态是否正常。 4. 单独测试风扇、加热和探针,不要同时测试多个外设。 5. 使用小距离移动测试电机方向,例如先移动 `1mm` 或 `5mm`。 6. 确认方向、限位、温度、风扇都正常后,再进行归位和打印测试。 ## 常见问题[​](#常见问题 "常见问题的直接链接") | 现象 | 常见原因 | 处理方向 | | ------------------ | ----------------------------------------------------------- | ----------------------------------------------- | | 电机不动 | `enable_pin` 电平错误、驱动通信引脚错误、驱动型号配置不匹配 | 检查 `enable_pin` 是否需要 `!`,核对 TMC 配置段 | | 电机方向相反 | `dir_pin` 电平方向不匹配 | 添加或删除 `dir_pin` 前面的 `!` | | 限位一直触发 | `endstop_pin` 反相或上拉配置不匹配 | 检查 `^` 和 `!`,执行 `QUERY_ENDSTOPS` 验证 | | 保存后提示引脚重复 | 同一个 GPIO 被多个功能同时使用 | 搜索报错里的引脚名,删除、注释或改掉重复占用项 | | TMC 通信报错 | `uart_pin` / `cs_pin` / SPI 引脚错误,或驱动型号不一致 | 按主板驱动位重新核对通信引脚 | | 加热无反应 | `heater_pin` 填错,或接到了不可控输出口 | 核对加热口编号和主板资料 | | 温度显示异常 | `sensor_pin` 或 `sensor_type` 不匹配 | 核对热敏口和热敏类型 | | 风扇不可控 | `pin` 填错,或接到了常开风扇口 | 换到支持控制的风扇口并修改配置 | 更多主板安装注意事项请参考:[主板常见注意事项](https://mellow.klipper.cn/docs/DebugDoc/baodian/mainBoard)。 > **引脚报错排查**:[Unknown pin / pin used multiple times](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config#pin-name-and-conflict) --- # 固件编译说明 重要安全提示 为确保系统稳定运行,请务必遵循以下固件使用原则: * **固件编译一致性**:Klipper 固件必须由您当前使用的**上位机**进行编译。使用他人编译的或版本不匹配的固件,可能导致不可预见的系统故障。 * **硬件平台规范**:强烈建议使用标准的上位机硬件。避免采用经非官方魔改的设备(例如某些机顶盒、WiFi棒子或特定型号的红米设备),这些设备可能存在兼容性与稳定性风险。 * **虚拟化环境限制**:不建议在虚拟机中运行上位机系统,这可能会引入性能与实时性干扰,影响打印质量。 ## 固件类型说明[​](#固件类型说明 "固件类型说明的直接链接") * **`Katapult` / `HID` 模式** * **功能**:这两种模式功能相同,均可实现**无接触烧录**(无需插拔内存卡,直接通过上位机更新固件)。 * **说明**:`HID` 是 FLY 板载上位机所使用的 Bootloader,其本质与 `Katapult` 相同。 * **重要提示**:使用 `Katapult` 时,若刷入错误固件导致主板无响应,请找到主板上的**重置按键**并**快速双击**,即可重新进入 `Katapult` 模式再次烧录。 * **`Bootloader` 模式** * **功能**:传统的通过**内存卡**进行烧录的方式。 * **优点**:此方式容错性强,若不慎刷写错误,可通过重新烧录内存卡再次尝试,无需担心主板“变砖”。 ## 固件编译指南[​](#固件编译指南 "固件编译指南的直接链接") 编译准备与建议 * 为最大限度保证编译成功,推荐使用 **`MobaXterm`** 作为您的SSH客户端。据用户反馈,某些SSH工具可能导致未知的编译错误。 * **重要配置项**:在编译配置界面,请务必勾选 **`Enable extra low-level configuration options`** 选项,否则部分高级设置将不会显示。 ### 启动引脚配置 (`GPIO pins to set at micro-controller startup`)[​](#启动引脚配置-gpio-pins-to-set-at-micro-controller-startup "启动引脚配置-gpio-pins-to-set-at-micro-controller-startup的直接链接") 重要提示 * 此选项用于在微控制器启动时,强制设置特定GPIO引脚的电平状态。 * 需要切换英文输入法,否则无法编译固件 - **配置语法**: * 在引脚前添加 `!` 表示启动时将该引脚拉低(低电平),不加 `!` 则表示拉高(高电平)。 * **STM32系列**:引脚号必须使用大写格式,请按实际主板文档填写。 * **RP2040系列**:引脚号必须使用小写格式,请按实际主板文档填写。 - **多引脚配置**:如需配置多个引脚,请用英文逗号 `,` 分隔。 * 示例:`!,!,` 表示启动时将前两个引脚拉低,同时将第三个引脚拉高。 安全性说明 您配置的 `GPIO pins to set at micro-controller startup` 仅在 Klipper **启动连接前**生效。一旦 Klipper 完成连接并正常运行时,此设置**不会影响**引脚的其他任何操作,可安全使用。 ### 全局 GPIO 启动状态[​](#gpio-startup-state "全局 GPIO 启动状态的直接链接") FLYOS-Klipper 功能 `GPIO state at micro-controller startup` 是 **FLYOS-Klipper** 提供的扩展功能,标准 Klipper 版本可能没有此选项。没有主板或工具板文档的明确要求时,请保持默认的 **`Not set`**。 该选项用于在微控制器启动阶段,为大部分物理 GPIO 统一设置一个初始状态。它与上面的 `GPIO pins to set at micro-controller startup` 作用不同: | 配置项 | 作用范围 | | ---------------------------------------------- | ----------------------------------------------------- | | `GPIO pins to set at micro-controller startup` | 只设置输入框中明确填写的引脚;可用 `!` 分别指定低电平 | | `GPIO state at micro-controller startup` | 为其余可用物理 GPIO 统一设置同一种启动状态 | 以下引脚不会被全局状态覆盖: * 填入 `GPIO pins to set at micro-controller startup` 的引脚。 * 固件为 UART、USB、CAN、USB 转 CAN 等当前通信功能保留的引脚。 #### 可选状态[​](#可选状态 "可选状态的直接链接") | 选项 | 启动阶段行为 | 使用建议 | | ----------------- | ------------------------------ | -------------------------- | | `Not set` | 不统一修改其余 GPIO 的启动状态 | 默认和推荐选项 | | `Input pull-up` | 将其余 GPIO 配置为上拉输入 | 仅在硬件设计明确要求时使用 | | `Input pull-down` | 将其余 GPIO 配置为下拉输入 | 仅在硬件设计明确要求时使用 | | `Output high` | 将其余 GPIO 配置为高电平输出 | 风险较高,仅按产品文档使用 | | `Output low` | 将其余 GPIO 配置为低电平输出 | 风险较高,仅按产品文档使用 | 不要盲目设置全局输出状态 `Output high` 或 `Output low` 会在 Klipper 建立连接前改变大量 GPIO 的电平。错误选择可能使风扇、加热器、驱动使能或其他外设产生非预期动作。除非对应 FLY 产品文档明确指定,否则必须选择 `Not set`。 #### 使用方法[​](#使用方法 "使用方法的直接链接") 1. 在 `make menuconfig` 中启用 `Enable extra low-level configuration options`。 2. 如有需要,先在 `GPIO pins to set at micro-controller startup` 中填写需要单独控制的例外引脚,例如 `!gpio18`。多个引脚使用英文逗号分隔。 3. 进入 `GPIO state at micro-controller startup`: * 普通固件选择 `Not set`。 * 只有产品文档明确要求全局状态时,才选择对应的输入或输出状态。 4. 按 `Q` 退出,出现 **Save configuration** 时按 `Y` 保存,然后重新编译并按产品烧录教程更新固件。 5. 烧录完成后,将下位机完全断电,再重新上电。 `Not set` 不会关闭单独启动引脚 选择 `Not set` 只表示“不统一修改其余 GPIO”。在 `GPIO pins to set at micro-controller startup` 中填写的 `!gpio18`、`!PA15` 或其他引脚仍会按照各自配置生效。 刷写失败恢复与通用保护 * **刷错固件的保护**:`Katapult`、`HID` 和 `Bootloader` 这三类固件本身具有保护机制。只要不进入特殊的 DFU 模式进行烧录,即使刷错了主固件,它们也不会被覆盖,主板不会“变砖”。 * **刷写完成后的必要操作**:任何固件烧录完成后,请务必**将下位机彻底断电一次**(拔掉电源线),再重新上电,以确保新固件被正确加载并稳定运行。 ## 固件烧录说明[​](#固件烧录说明 "固件烧录说明的直接链接") 烧录前须知 * **设备识别**:使用 `Katapult` 烧录时,请确保上位机能识别到设备。若无法找到设备,请**快速双击主板上的重置按键**以重新进入烧录模式。或者重新烧录主板的**BL固件** * **遵循规范**:请严格遵循官方教程的烧录方法,使用其他未经验证的方式可能导致设备损坏。 * **编译检查**:烧录前,请务必确认固件**没有编译错误**,错误的固件文件将导致烧录失败或设备无法正常工作。 ### `Katapult` 固件刷错恢复[​](#katapult-固件刷错恢复 "katapult-固件刷错恢复的直接链接") 1. 找到主板上的**物理重置按钮**并**快速双击**。 2. 正常情况下,Fly主板中会有一个**LED指示灯开始闪烁**,表示已成功进入 `Katapult` 模式。 3. 此时可进入`Katapult` 模式,并重新烧录正确的 Klipper 固件。 ### `Bootloader` 固件刷错恢复[​](#bootloader-固件刷错恢复 "bootloader-固件刷错恢复的直接链接") 1. 将存有正确固件的 TF 卡重新插入主板。 2. 若无法刷入,请先**完全断电**,插入 TF 卡后再重新上电。 3. 保持通电约 **5 秒**,即可完成自动刷写。 ## `Katapult`安装烧录依赖[​](#katapult-install-deps "katapult-install-deps的直接链接") 重要 * 如果您使用的是**非Fly官方上位机**,请务必执行以下命令安装固件烧录依赖包! * 下方仓库二选一即可 - github仓库 ``` cd && git clone https://github.com/Arksine/katapult.git ``` - 中国区域镜像仓库 ``` cd && git clone https://cnb.cool/3dmellow/public/katapult ``` Loading... *** --- # Fly 上位机安装与使用指南 ## 准备工作[​](#准备工作 "准备工作的直接链接") ### 电源要求[​](#电源要求 "电源要求的直接链接") * **供电标准**: 需使用 **5V / 2A 或以上** 的独立电源适配器 * **禁止事项**:除以下特定型号外,严禁通过3D打印机主板接口供电 * **支持主板供电型号**:C8 , GEMINI, C5, C5V1.1, C8P * **风险提示**:供电不足将导致设备运行不稳定、频繁重启,长期可能造成硬件损坏 ### 存储介质选择[​](#存储介质选择 "存储介质选择的直接链接") | 存储类型 | 适用设备 | 关键说明 | | --------------- | ------------------- | ------------------------------ | | **TF 卡** | 全系列兼容 | 通用方案,需配合标准读卡器使用 | | **M2WE 固态卡** | 非Lite/MINI-PAD系列 | 专用方案,必须搭配M2SD烧录器 | **TF 卡规格建议**: * 容量: 16GB-128GB(推荐32GB/64GB) * 速度等级: Class10 或 U1/U3 * 品牌推荐:闪迪、三星等知名品牌 ### 烧录工具准备[​](#烧录工具准备 "烧录工具准备的直接链接") * **TF 卡**:标准TF卡读卡器 * **M2WE 卡**:专用M2SD烧录器(必需) ### 系统镜像匹配[​](#系统镜像匹配 "系统镜像匹配的直接链接") 根据设备主控芯片选择对应系统镜像: | 主控芯片 | 适用设备型号 | | -------- | ------------------------- | | **H618** | C8P、C5、C5-V1.1、PI-V3 | | **H5** | PI、PI-V2、GEMINI系列、C8 | | **H3** | Lite2系列、MINI-PAD系列 | **镜像下载**:[FlyOS 系统镜像下载站](https://flyos.klipper.cn) ### 配套资源[​](#配套资源 "配套资源的直接链接") * **硬件**:支持数据传输的Type-C线缆 * **软件工具包**:包含终端工具、驱动、格式化工具等 Loading... *** ## 系统安装流程[​](#系统安装流程 "系统安装流程的直接链接") 因教程较长,请参考下方链接: [系统烧录](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/flyos-fast) *** ## 设备启动与连接[​](#设备启动与连接 "设备启动与连接的直接链接") [SSH 连接教程](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/) ### 硬件连接[​](#硬件连接 "硬件连接的直接链接") * 插入已烧录系统的存储卡 * 连接独立电源适配器 * 使用Type-C数据线连接电脑 供电注意事项 首次启动系统时,**请勿连接屏幕**(TFT 或 HDMI)。屏幕会增加功耗,可能导致供电不足而使系统扩容失败。 扩容失败后无法通过其他方式修复,只能重新烧录系统。 ### 串口终端配置[​](#串口终端配置 "串口终端配置的直接链接") * 启动MobaXterm软件 * 新建Serial会话 * 选择CH340串口,波特率115200 ### 系统启动验证[​](#系统启动验证 "系统启动验证的直接链接") * 通电后观察终端日志输出 * 正常启动将显示系统运行信息 * 无输出时尝试回车键唤醒 ### 网络配置[​](#网络配置 "网络配置的直接链接") 系统启动完成后,通过命令行配置Wi-Fi连接 ## [网络连接教程](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/internet)[​](#网络连接教程 "网络连接教程的直接链接") ## 常见问题与维护指南[​](#常见问题与维护指南 "常见问题与维护指南的直接链接") ### **启动优先级**[​](#启动优先级 "启动优先级的直接链接") * **问题**:同时插入TF卡和M2WE卡时的启动顺序 * **说明**:系统始终优先从TF卡启动,但启动后不影响M2WE卡的WiFi功能使用 * **解决方案**:建议日常使用仅插入单张系统卡以避免混淆 ### **存储卡选择**[​](#存储卡选择 "存储卡选择的直接链接") * **问题**:新手如何选择存储卡类型 * **解决方案**: * **推荐方案**:TF 卡(通用性强、成本低、适合入门) * **替代方案**:M2WE 卡(自带 WiFi 功能,需专用烧录器) * **说明**:系统已预装主流 WiFi 模块驱动,TF 卡和 M2WE 卡均可直接使用 ### **M2SD接触问题**[​](#m2sd接触问题 "m2sd接触问题的直接链接") * **问题**:使用M2SD烧录器时,M2WE卡识别不稳定或无法启动 * **解决方案**: * 临时方案:使用橡皮筋加固卡体与插槽的连接 * 长期方案:安装专用固定件 * 固定件下载地址: Loading... *** ### **设备维护指南**[​](#设备维护指南 "设备维护指南的直接链接") **1. 关机流程** * 务必通过系统命令执行正常关机 * 严禁直接断开电源,以防系统损坏 **2. 系统更新** * 系统支持两种更新方式: 1. **在线更新**:在系统后台自动完成。 2. **手动更新**:本地下载更新包后,通过系统界面上传安装。 * 请注意,传统的FAST系统全盘烧录升级方式依然适用。 **3. 配置备份** * 请定期将打印机配置文件备份至本地存储设备 * 避免因系统问题造成配置丢失 **4. 电源管理** * 必须使用独立电源进行供电 * 避免因电源干扰影响设备稳定运行 **5. 存储卡保护** * 系统烧录完成后请勿再次格式化存储卡 * 防止系统文件损坏导致设备无法启动 *** ### **OTA 更新说明**[​](#ota-更新说明 "ota-更新说明的直接链接") **1. 如何执行OTA更新** * 请在浏览器中访问您的**上位机IP地址**,并在其后加上端口号 **`:9998`** 以访问OTA更新界面。 * 示例:如果上位机 IP 是 ``,则访问 `http://:9998` **2. 配置文件安全** * OTA 更新经过特殊设计,不会覆盖或修改您的个人配置文件 **3. 更新过程注意事项** * 更新期间请确保设备供电稳定 * 意外断电将导致更新失败,严重时需重新烧录系统 **4. 自定义代码处理** * 如您曾修改 Klipper 配置文件或安装自定义插件 * OTA 更新时将自动跳过相关文件,确保您的修改得以保留 **5. 重要提醒:固件更新** * 每次完成 OTA 更新后,请务必手动编译klipper固件,然后重新刷写下位机固件 * 如您使用的是 C8P、C5 或 C8 主板,可直接通过系统内置功能一键更新固件,无需手动编译 ### **Klipper 版本说明**[​](#klipper-版本说明 "klipper-版本说明的直接链接") 版本对应关系 * FlyOS 系统内置的 Klipper 会自动获取系统版本号作为自身版本(如 FlyOS 1.3.0 则 Klipper 显示为 1.3.0) * 系统基于 Klipper 上游版本进行了针对性优化和功能增强: * **稳定性优化**: 针对 FLY 硬件平台进行适配和稳定性调优 * **断电续打**: 支持意外断电后恢复打印任务 * **USB 打印**: 支持通过 USB 直接发送 G-code 进行打印 * **其他增强**: 堵料检测、断电关机等 FLY 特色功能 版本时效性 * 系统镜像打包时会锁定当时的 Klipper 版本 * 例如:2026年5月13日发布的系统,其 Klipper 包含至少 2026年5月10日 的上游功能(测试验证需要时间) * 如需获取最新 Klipper 功能,可通过 OTA 更新或手动编译 ### **屏幕显示异常解决方法**[​](#屏幕显示异常解决方法 "屏幕显示异常解决方法的直接链接") **情况一:开机显示 LOGO,但启动后无操作界面** **解决方法:** 1. 通过 SSH 连接设备并确保已联网 2. [通过浏览器进入系统配置页面](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start?tab-0=edge\&persistLocale=true) 3. 如果使用 FLY Screen,找到 `fly_screen` 配置项,将其值由 `0` 改为 `1`,并设置 `klipper_screen=0`。如果需要使用 KlipperScreen,可将 `klipper_screen` 设置为 `1`;当 `klipper_screen=1` 与 `fly_screen=1` 同时开启时,系统默认启用 KlipperScreen。 Loading... > 图中序号 ① 为屏幕序号,序号 ② 为 屏幕显示服务开关。 --- # 下载 klippy.log ## 使用前注意[​](#使用前注意 "使用前注意的直接链接") * 本教程使用 Google Chrome 浏览器进行操作,其他浏览器请根据实际界面调整。 * 请确保上位机可以正常启动。 * 请确保电脑与上位机在同一局域网内。 ## 打开浏览器[​](#打开浏览器 "打开浏览器的直接链接") 在浏览器地址栏输入上位机 IP 地址,进入上位机首页。 Loading... 请根据实际网页界面选择对应教程。 * Fluidd * Mainsail ### Fluidd[​](#fluidd "Fluidd的直接链接") 1. 点击左侧菜单栏的 `Configuration` 选项。 Loading... 2. 点击页面中的 `klippy.log`,然后右键选择 `Download` 下载。 Loading... ### Mainsail[​](#mainsail "Mainsail的直接链接") 1. 点击左侧菜单栏的 `MACHINE` 选项。 Loading... 2. 点击页面中的选项框后选择 `Logs`。 Loading... Loading... 3. 选择 `klippy.log` 后,右键点击下载图标即可下载。 Loading... ## 下载确认[​](#下载确认 "下载确认的直接链接") 下载完成后,Chrome 可能会拦截该文件。 1. 点击浏览器下载图标。 Loading... 2. 进入 `Downloads`。 Loading... 3. 找到最新下载的 `klippy.log`。如果多次下载,系统会自动重命名。 4. 点击下方图标。 Loading... 5. 选择 `Download insecure file`。 Loading... ## 结束[​](#结束 "结束的直接链接") 将下载好的 `klippy.log` 发给 FLY 售后团队。 --- # 主板常见注意事项 ## 使用前总则[​](#使用前总则 "使用前总则的直接链接") 断电操作 安装主板、插拔驱动模块、连接电机线、风扇线、限位线、探针线、加热线、热敏线、CAN/USB 线或调整跳线帽前,请完全关闭打印机并断开电源供应。禁止带电接线、带电插拔模块或触碰裸露端子。 安装建议 * 首次安装前,请核对主板型号、供电电压、驱动型号和接线图,不要混用不同型号主板的引脚说明。 * 优先使用厂家提供的成品线束、端子和转接板,不建议自行改线或改接裸露端子。 * 接线完成后先做外观检查,确认没有反插、错位、短路、压线、破皮、金属屑或螺丝掉落在主板上。 * 首次上电建议只连接必要设备,确认主板能正常连接后,再逐步接入驱动、电机、风扇、限位、探针等外设;每次新增或更换外设前都必须先断电。 ## 主板安装注意事项[​](#主板安装注意事项 "主板安装注意事项的直接链接") 1. 主板应固定在绝缘支撑柱或厂家提供的安装位置上,不要让主板背面直接接触金属框架。 2. 固定螺丝不要过长,避免顶到主板背面元件或线路。 3. 安装前清理电控仓内的金属屑、断线头和多余螺丝,避免上电后短路。 4. 保持主板散热区域通风,驱动散热片和风扇不要被线束遮挡。 5. 线束进入电控仓时应有固定和应力释放,避免拖链或外部拉扯直接作用在主板端子上。 ## 电源与供电注意事项[​](#电源与供电注意事项 "电源与供电注意事项的直接链接") 电源安全 不要拆卸电源外壳、改动市电接线或触碰电源内部结构。电源输入端、市电热床、SSR 和高压端子相关问题请联系售后或专业人员处理。 1. 主板输入电压必须与设备规格一致,常见为 24V,不要把 24V 接到 5V/12V 接口。 2. 接入电源前确认正负极无误,`VIN+` / `V+` 接电源正极,`GND` / `V-` 接电源负极。 3. 不要使用主板 5V 输出给树莓派、FLY-π 等上位机供电,除非对应产品文档明确支持。 4. 大电流负载(热床、加热棒、大功率风扇)应使用合适线径和可靠端子,端子松动、发黑、变形或有异味时不要继续使用。 5. 电源线、热床线和加热线尽量与 USB/CAN/限位/探针等信号线分开走线,减少干扰。 ## 驱动与电机接线注意事项[​](#驱动与电机接线注意事项 "驱动与电机接线注意事项的直接链接") 1. 插入驱动模块前必须断电,确认驱动方向与主板丝印一致。 2. UART/SPI 跳线帽按主板说明设置,跳线帽位置错误可能导致驱动无法通信。 3. 步进电机线不要在通电状态下插拔,带电插拔可能损坏驱动芯片。 4. 电机 A/B 相线序应按电机资料或厂家线束确认;电机只抖动、不转或异响时,应先断电检查线序和插头。 5. `sense_resistor`、`run_current` 等驱动参数应按驱动器厂家资料填写,不要只按芯片型号猜测。 ## 主板驱动引脚说明[​](#主板驱动引脚说明 "主板驱动引脚说明的直接链接") FLY 主板安装驱动与驱动跳线说明: Loading... ## 主板 PWM 接口说明[​](#主板-pwm-接口说明 "主板 PWM 接口说明的直接链接") * RGB 接口与 BL-TOUCH 中间的信号口均为 PWM 接口 * 部分 EXP 的信号口可以当 PWM 信号口使用,请以对应主板资料和引脚定义为准 * 舵机信号同样使用 PWM 口。需要注意的是,若使用的舵机大于 `MG90S`,则必须外接 5V 供电并与主板共地,否则可能损坏主板 PWM 接口注意 PWM 信号口不等于电源口。连接舵机、LED、调速模块等外设前,请确认外设供电电压、信号电平和 GND 共地要求。不要把外部电源输出直接接入主板信号脚。 ## 风扇与低压输出注意事项[​](#风扇与低压输出注意事项 "风扇与低压输出注意事项的直接链接") 1. 风扇额定电压必须与风扇口电压一致,例如 24V 风扇接 24V 风扇口,5V 风扇接 5V 风扇口。 2. 多个风扇共用一个接口前,应确认接口 MOS 管和供电线路能承受总电流。 3. 三线/四线风扇的测速线、PWM 调速线不要随意接到普通电源口或信号口。 4. 风扇线束破皮、插头松动、风扇异响、异常发热或有异味时,应立即停用。 ## 风扇说明[​](#风扇说明 "风扇说明的直接链接") 风扇风险 部分风扇因内部驱动设计、反灌电压或线序异常,长时间使用后可能导致主板风扇 MOS 管、风扇接口或主控相关电路损坏。发现异常风扇后请立即停用,不要继续接在主板风扇口上测试。 断电操作 连接、更换或检查风扇线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔风扇线、调整电压跳线或触碰裸露端子。 **安全排查建议:** 1. 断电后确认风扇额定电压与主板风扇口电压一致,例如 24V 风扇接 24V 风扇口,5V 风扇接 5V 风扇口。 2. 断电后检查风扇正负极、插头方向和线束外观,发现破皮、压伤、烧蚀、异味或插头松动时不要继续使用。 3. 优先使用厂家提供或已知正常的风扇、成品线束进行交叉测试。 4. 通电测试时只通过网页或控制台调节风扇转速,并观察风扇是否正常启停、是否异响、是否异常发热或有异味。 5. 如果低速档风扇异常抖动、停转,高速档异响明显,或接入该风扇后主板/接口异常发热,应立即断电并停用该风扇。 6. 不建议普通用户接触风扇口裸露端子进行电气检测;需要进一步检测时请联系售后或专业人员。 ## 限位信号说明[​](#限位信号说明 "限位信号说明的直接链接") 限位接线 检查或更换限位、TAP、光电限位、接近开关、断料检测等线束前,请完全关闭打印机并断开电源供应。三线限位的 `VCC`、`GND`、`Signal` 接错可能导致主板、工具板或驱动损坏。 * 部分限位开关会输出 5V 信号,可能导致工具板等产品的主控芯片损坏。 * 请务必确保限位信号电压在 **0\~3.3V** 范围内。 * 普通两线微动限位只需要接 `GND` 和 `Signal`,主板限位口上的 `5V` 通常不接。 * 使用三线限位、光电限位、霍尔限位或接近开关前,请先确认线序和输出电平,不确定时不要直接接入主板。 * 首次归位前先用 `QUERY_ENDSTOPS` 检查限位状态,状态不正确时不要执行 `G28`。 详细限位接线与配置请参考:[限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop)。 ## 探针与传感器接线注意事项[​](#探针与传感器接线注意事项 "探针与传感器接线注意事项的直接链接") 1. BLTouch、TAP、Klicky、EDDY、电感探针等探针接线前,应确认供电电压、信号电平和引脚定义。 2. 不要把 24V 探针信号直接接入只支持 3.3V/5V 的主板信号口。 3. 热敏电阻、PT100/PT1000、热电偶模块应按对应接口接入,不要与风扇口、加热口或限位口混接。 4. ADXL/LIS2DW 等加速度计模块不要在通电状态下插拔,SPI/I2C 线束应尽量短并远离电机线、加热线。 ## USB / CAN 通信接线注意事项[​](#usb--can-通信接线注意事项 "USB / CAN 通信接线注意事项的直接链接") 1. USB/CAN 通信线应尽量远离电机线、热床线、加热线和电源线。 2. CAN-H 必须接 CAN-H,CAN-L 必须接 CAN-L,不要交叉接反。 3. CAN 总线两端需要终端电阻,优先使用板载跳线帽、拨码开关或成品终端接口启用。 4. 调整 CAN 线序、终端电阻或屏蔽层前必须断电。 详细 CAN 排查请参考:[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can)。 --- # MCU 连接指南 适用说明 本指南用于排查主 MCU 无法与 Klipper 正常连接的问题。如果设备能够正常连接,只需要更换或补填 MCU ID,请直接查看 [MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config),无需清空现有配置。 ## 排查流程[​](#workflow "排查流程的直接链接") 1. 备份当前 `printer.cfg`。 2. 仅在无法进入 Klipper 时启用最小测试配置。 3. 确认主板当前运行的固件类型。 4. 查询真实 MCU ID,并写入临时配置验证连接。 5. 恢复完整配置,只更新其中的 MCU 连接项。 一次只验证一个设备 连接多个 USB/CAN 下位机时,容易把工具板 ID 误填到主板 `[mcu]`。排查阶段建议一次只验证主板,确认成功后再逐个添加工具板。 ## 第一步:备份当前配置[​](#backup-config "第一步:备份当前配置的直接链接") ### 1. 进入配置文件管理[​](#1-进入配置文件管理 "1. 进入配置文件管理的直接链接") 在浏览器中输入上位机 IP 地址。Fluidd 用户点击左侧的 `...`,Mainsail 用户点击 `机器`,然后找到 `printer.cfg`。 Loading... Loading... Loading... ### 2. 创建备份[​](#2-创建备份 "2. 创建备份的直接链接") 右键点击 `printer.cfg`,选择 **Duplicate**,将副本重命名为: ``` printer_Backup.cfg ``` Fluidd 操作示例: Loading... Mainsail 操作示例: Loading... 不要跳过备份 后续最小配置只用于连接测试,不能代替正式打印机配置。确认 `printer_Backup.cfg` 已存在且内容完整后,才能继续。 检查通配符 include 如果正式配置使用了 `[include *.cfg]`,同目录中的 `printer_Backup.cfg` 也可能被加载。请将备份移到不会被该规则匹配的子目录,或改用 `.txt` 后缀保存,避免产生重复配置段。 ## 第二步:按需启用最小测试配置[​](#minimal-config "第二步:按需启用最小测试配置的直接链接") 可以跳过的情况 如果 Klipper 当前能够正常启动和连接,只是需要修改 MCU ID,请保留完整配置并直接前往[第三步](#identify-firmware)。 当错误配置或多个下位机导致 Klipper 无法启动时,可以暂时将 `printer.cfg` 内容替换为以下最小配置: ``` [mcu] serial: /tmp/klipper_host_mcu [printer] kinematics: none max_velocity: 200 max_accel: 1000 ``` 点击 **SAVE & RESTART** 保存。此处的 `/tmp/klipper_host_mcu` 是上位机 Host MCU 的临时连接地址,仅用于让最小配置启动,不是主板的真实 USB ID。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 断电后断开暂不参与测试的工具板数据线,只保留上位机与主板之间必要的数据连接。不要拆解电源、改动市电接线或触碰裸露端子。确认连接后再重新上电。 ## 第三步:确认固件与通信方式[​](#identify-firmware "第三步:确认固件与通信方式的直接链接") 先按[SSH 连接教程](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/)进入上位机,然后执行: ``` lsusb ``` 根据输出判断设备当前模式: | `VID:PID` | 设备状态 | 下一步 | | ----------- | ------------------- | ------------------------- | | `1d50:614e` | Klipper USB 固件 | 查询 USB ID | | `1d50:606f` | USB 转 CAN 桥接固件 | 查询 CAN UUID | | `1d50:6177` | Katapult 烧录模式 | 先刷写或启动 Klipper 固件 | | `1a86:7523` | USB 串口适配器 | 查询 RS232 路径 | Loading... Loading... 若提示 `lsusb: command not found`,可安装 `usbutils`: ``` sudo apt-get update sudo apt-get install usbutils ``` `lsusb` 没有目标设备 先确认主板已经正常供电、数据线支持通信且固件模式正确。不要仅凭设备名称猜测 ID,也不要将 Katapult/Bootloader 模式的 ID 写入 `printer.cfg`。 ## 第四步:查询并填写 MCU ID[​](#query-mcu-id "第四步:查询并填写 MCU ID的直接链接") ### USB 主板[​](#usb-主板 "USB 主板的直接链接") ``` ls /dev/serial/by-id/* ``` 输出中应包含 `usb-Klipper_...`。包含 `katapult` 或 `Bootloader` 的设备仍处于烧录模式,不能作为 Klipper 运行 ID。 ### CAN 主板[​](#can-主板 "CAN 主板的直接链接") * 普通 Linux 上位机 * FlyOS-FAST / FLY 上位机 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` 只有 `Application: Klipper` 对应的 UUID 才能写入配置。若显示 `Total 0 uuids found`,请转到 [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can)继续排查。 ### RS232 设备[​](#rs232-设备 "RS232 设备的直接链接") ``` ls -l /dev/serial/by-path/ ``` 以下规则与 FAQ 共用同一份内容: ## MCU ID 配置说明[​](#mcu-id-配置说明 "MCU ID 配置说明的直接链接") Klipper 中的 MCU ID 指的是 `[mcu]` 或 `[mcu xxx]` 配置段里用于连接控制板的识别信息。不同通信方式写法不同: | 连接方式 | 配置项 | 示例 | | ---------- | -------------- | ---------------------------------------------------- | | USB 固件 | `serial:` | `serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx` | | CAN 固件 | `canbus_uuid:` | `canbus_uuid: xxxxxxxxxxxx` | | RS232 设备 | `serial:` | `serial: /dev/serial/by-path/xxxxxxxxxxxx` | | 上位机 MCU | `serial:` | `serial: /tmp/klipper_host_mcu` | **填写规则**: 1. 主板默认使用 `[mcu]`,工具板或扩展板使用 `[mcu tool]`、`[mcu toolboard]` 等自定义名称。 2. USB 固件只填写 `serial:`,CAN 固件只填写 `canbus_uuid:`,不要在同一个 `[mcu]` 中同时保留两项。 3. 多 MCU 机器中,每个 `[mcu xxx]` 都必须使用自己的真实 ID,不要复制同一个 USB ID 或 CAN UUID。 4. `[mcu xxx]` 的名称会影响引脚前缀,例如 `[mcu tool]` 的引脚应写成 `tool:gpio13`;名称大小写要保持一致。 5. 文档示例里的 `xxxxxxxx` 不能直接使用,必须替换为实际搜索到的 ID。 6. RS232 设备除 `serial:` 外,通常还需要填写 `baud: 250000` 和 `restart_method: command`;以对应产品文档为准。 **常见错误**: * 把烧录模式 ID(如包含 `katapult`、`canboot` 的 ID)当作 Klipper 固件 ID 使用。 * USB 固件配置了 `canbus_uuid:`,或 CAN 固件仍保留旧的 `serial:`。 * RS232 设备只填写路径,遗漏所需的 `baud:` 或 `restart_method:`。 * 工具板配置成 `[mcu]`,覆盖了主板 MCU 配置。 * 引脚前缀和 MCU 名称不一致,例如配置是 `[mcu toolboard]`,引脚却写 `tool:gpio13`。 > **USB ID 查询**:USB 固件可执行 `ls /dev/serial/by-id/*` 获取 ID。 > **CAN ID 查询**:[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) > **RS232 路径查询**:执行 `ls -l /dev/serial/by-path/` 获取稳定设备路径。 > **工具板配置**:[工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) > **完整查询说明和多 MCU 示例**:[MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config) ## 第五步:验证主 MCU[​](#verify-main-mcu "第五步:验证主 MCU的直接链接") 将 `[mcu]` 中的连接地址更新为刚查询到的真实 ID。如果第二步启用了最小配置,请替换其中的 `/tmp/klipper_host_mcu`;如果保留了正式配置,则只修改原有 `[mcu]` 的 `serial:` 或 `canbus_uuid:`,不要改动其他参数。 * USB 主板 * CAN 主板 ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00 ``` ``` [mcu] canbus_uuid: 688e89f0e401 ``` 点击 **SAVE & RESTART**。连接成功后: 1. 打开 Fluidd 的 `System` 页面。 2. 在 `Mcu Information` 中找到主 MCU。 3. 核对 `Micro-Controller` 与主板实际主控型号是否一致。 验证要点 * `[mcu]` 应对应主板,不应显示成工具板型号。 * 所有 MCU 固件版本应与当前 Klipper 系统兼容。 * 如果仍然无法连接,请按报错原文进入[连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#connection-issues)。 Loading... ## 第六步:恢复完整打印机配置[​](#restore-config "第六步:恢复完整打印机配置的直接链接") 必须恢复正式配置 如果第二步启用了最小配置,完成连接验证后必须恢复正式配置。不要把仅含 `[mcu]` 和 `kinematics: none` 的测试配置长期使用。 ### 使用过最小配置[​](#使用过最小配置 "使用过最小配置的直接链接") 确认主 MCU 能够连接后: 1. 将当前临时的 `printer.cfg` 重命名为 `printer_MCU_Test.txt`,保留它用于复查,同时避免被 `*.cfg` 通配符加载。 2. 复制此前的 `printer_Backup.cfg`,将副本命名为 `printer.cfg`。 3. 打开恢复后的 `printer.cfg`,找到原有 `[mcu]` 配置段。 4. 只更新 `serial:` 或 `canbus_uuid:`,不要覆盖步进电机、加热器、限位和其他打印机参数。 5. 点击 **SAVE & RESTART**,再次进入 `Mcu Information` 确认连接。 如果备份不存在或内容不完整,请先从配置历史记录恢复完整配置,不要继续覆盖当前文件。 ### 跳过了最小配置[​](#跳过了最小配置 "跳过了最小配置的直接链接") 当前 `printer.cfg` 已经是正式配置,无需重命名或恢复文件。确认 MCU 连接成功并保留第一步创建的备份即可。 ## 第七步:添加工具板[​](#add-toolboard "第七步:添加工具板的直接链接") 主 MCU 验证成功后,再逐个连接并添加工具板: > **工具板与多 MCU 配置**:[工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) --- # 工具板 MCU 添加与跨板配置 本页用于主 MCU 已连接成功后,添加工具板、验证多 MCU 状态及配置跨板引脚。如果你尚未完成主 MCU 的连接验证,请先完成 [MCU 连接指南](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu)。 ## 第一步:准备并连接工具板[​](#prepare-toolboard "第一步:准备并连接工具板的直接链接") 开始添加工具板前,请确保: * 主 MCU 已按 [MCU 连接指南](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu) 完成连接验证。 * 工具板已完成固件烧录。 * 已确认工具板使用 CAN、USB 或 RS232 中的哪一种通信方式。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 完全断电后,将工具板数据线连接到上位机或主板的对应接口。不要拆解电源、改动市电接线或触碰裸露端子。确认连接可靠后再重新上电。 多工具板逐个添加 同时连接多个同类型工具板时不容易区分 ID。建议每次只连接并记录一个工具板;每次增减工具板前都必须重新完全断电。 ## 第二步:查询并记录工具板 ID[​](#query-toolboard-id "第二步:查询并记录工具板 ID的直接链接") 工具板与主板使用相同的 MCU ID 填写规则: ## MCU ID 配置说明[​](#mcu-id-配置说明 "MCU ID 配置说明的直接链接") Klipper 中的 MCU ID 指的是 `[mcu]` 或 `[mcu xxx]` 配置段里用于连接控制板的识别信息。不同通信方式写法不同: | 连接方式 | 配置项 | 示例 | | ---------- | -------------- | ---------------------------------------------------- | | USB 固件 | `serial:` | `serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx` | | CAN 固件 | `canbus_uuid:` | `canbus_uuid: xxxxxxxxxxxx` | | RS232 设备 | `serial:` | `serial: /dev/serial/by-path/xxxxxxxxxxxx` | | 上位机 MCU | `serial:` | `serial: /tmp/klipper_host_mcu` | **填写规则**: 1. 主板默认使用 `[mcu]`,工具板或扩展板使用 `[mcu tool]`、`[mcu toolboard]` 等自定义名称。 2. USB 固件只填写 `serial:`,CAN 固件只填写 `canbus_uuid:`,不要在同一个 `[mcu]` 中同时保留两项。 3. 多 MCU 机器中,每个 `[mcu xxx]` 都必须使用自己的真实 ID,不要复制同一个 USB ID 或 CAN UUID。 4. `[mcu xxx]` 的名称会影响引脚前缀,例如 `[mcu tool]` 的引脚应写成 `tool:gpio13`;名称大小写要保持一致。 5. 文档示例里的 `xxxxxxxx` 不能直接使用,必须替换为实际搜索到的 ID。 6. RS232 设备除 `serial:` 外,通常还需要填写 `baud: 250000` 和 `restart_method: command`;以对应产品文档为准。 **常见错误**: * 把烧录模式 ID(如包含 `katapult`、`canboot` 的 ID)当作 Klipper 固件 ID 使用。 * USB 固件配置了 `canbus_uuid:`,或 CAN 固件仍保留旧的 `serial:`。 * RS232 设备只填写路径,遗漏所需的 `baud:` 或 `restart_method:`。 * 工具板配置成 `[mcu]`,覆盖了主板 MCU 配置。 * 引脚前缀和 MCU 名称不一致,例如配置是 `[mcu toolboard]`,引脚却写 `tool:gpio13`。 > **USB ID 查询**:USB 固件可执行 `ls /dev/serial/by-id/*` 获取 ID。 > **CAN ID 查询**:[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) > **RS232 路径查询**:执行 `ls -l /dev/serial/by-path/` 获取稳定设备路径。 > **工具板配置**:[工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) > **USB、CAN、RS232 查询命令与结果说明**:[MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config) 记录 ID 时同时确定一个唯一、简短的 MCU 名称,例如 `toolboard`、`toolboard1` 或 `toolboard2`,并确认: * USB ID 包含 `usb-Klipper_...`,不是 Katapult/Bootloader 烧录模式 ID。 * CAN 查询结果显示 `Application: Klipper`。 * RS232 使用 `/dev/serial/by-path/` 下的稳定路径,并按产品要求填写波特率和重启方式。 * 工具板 ID 与主板及其他工具板均不重复。 ## 第三步:添加工具板 MCU[​](#add-toolboard-mcu "第三步:添加工具板 MCU的直接链接") 获取工具板 ID 后,先备份当前完整的 `printer.cfg`,再在其中添加对应的 MCU 配置段: * USB 工具板 * CAN 工具板 * RS232 工具板 ``` [mcu toolboard] serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00 ``` ``` [mcu toolboard] canbus_uuid: 688e89f0e402 ``` ``` [mcu toolboard] serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0 baud: 250000 restart_method: command ``` 命名规则 * MCU 名称可完全自定义,例如 `toolboard`、`tool`、`extruder_mcu` 等,只需在配置中保持唯一。 * MCU 名称将用作跨板引脚的 **前缀**,例如 `[mcu toolboard]` 引用时写 `toolboard:PA0`。名称大小写要保持一致。 * 每个 MCU 的名称和 ID 都必须唯一,不能与主 MCU 或其他工具板重复。 * 配置多个工具板时,请为每个设备设置不同的名称以便区分。 配置完成后,点击 **SAVE & RESTART** 保存并重启 Klipper。 ## 第四步:验证所有 MCU 连接[​](#verify-all-mcus "第四步:验证所有 MCU 连接的直接链接") 添加工具板并重启 Klipper 后,需要确认所有 MCU 都已上线: 1. 打开 Fluidd 界面,点击左侧菜单中的 `System`。 2. 在 `Mcu Information` 下方确认主 MCU 和所有工具板都已正确识别且显示为连接状态。 Loading... ### 检查固件版本[​](#检查固件版本 "检查固件版本的直接链接") 完成所有 MCU 连接后,需要验证固件版本兼容性: 1. 打开 Fluidd 界面,点击左侧菜单中的 `System`。 2. 在 `Mcu Information` 下方找到 `Version` 字段。 3. 确认所有 MCU 的固件版本与上位机 Klipper 版本匹配。 版本兼容性说明 * 除预配置的定制设备外,所有自行编译的固件必须与上位机 Klipper 版本保持一致。 * FAST 系统的固件版本与系统版本保持一致,编译出来的 Klipper 固件与系统版本一致。 * 不同版本的固件可能导致功能异常、通信失败或系统不稳定。 ## 第五步:配置跨板引脚[​](#cross-mcu-pins "第五步:配置跨板引脚的直接链接") 当使用多个工具板时,可能会遇到引脚跨板分配的需求。例如:加热功能使用第一个工具板的加热口,但温度传感器连接到主板或第二个工具板。 核心原则 在 Klipper 多 MCU 配置中,任何配置段的引脚都可以直接通过 `:<引脚号>` 格式引用任意已定义 MCU 上的引脚,无需额外配置。Klipper 会自动通过通信总线(CAN/USB/串口)将指令发送到对应的 MCU。 ### 典型场景:加热在工具板,温度传感器在主板[​](#典型场景加热在工具板温度传感器在主板 "典型场景:加热在工具板,温度传感器在主板的直接链接") 假设系统配置如下: * **主板 MCU**:主板通过 USB 连接,温度传感器接在主板上。 * **toolboard1**:工具板,加热棒和挤出机步进接在工具板上。 示例引脚不能直接复制 下方 ``、``、`` 等内容是位置占位符。必须根据对应 FLY 主板或工具板的产品文档替换为真实引脚,并确认 `!` 取反逻辑是否适用于实际硬件。 **步骤一:定义所有 MCU** ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00 [mcu toolboard1] canbus_uuid: e51d5c71a901 ``` **步骤二:在配置中直接跨板引用引脚** ``` [extruder] # 步进和加热使用工具板引脚 step_pin: toolboard1: dir_pin: toolboard1: enable_pin: !toolboard1: heater_pin: toolboard1: # 温度传感器使用主板引脚 sensor_type: sensor_pin: # rotation_distance、温度范围等其余参数按实际硬件配置 ``` 引脚命名规则 * 工具板引脚格式为 `:<引脚号>`,例如 `toolboard1:`。 * 主 MCU 引脚可以直接写实际引脚名,无需前缀。 * 同一个配置段中的引脚可以来自不同的 MCU,Klipper 会自动处理跨板通信。 ### 更多跨板配置示例[​](#更多跨板配置示例 "更多跨板配置示例的直接链接") * 温度传感器在第二工具板 * 多挤出机分属不同工具板 * 风扇跨板控制 加热棒在第一工具板,温度传感器在第二工具板: ``` [extruder] step_pin: toolboard1: heater_pin: toolboard1: sensor_type: sensor_pin: toolboard2: ``` 两个挤出机分别连接在不同工具板上: ``` [extruder] step_pin: toolboard1: heater_pin: toolboard1: sensor_pin: toolboard1: [extruder1] step_pin: toolboard2: heater_pin: toolboard2: sensor_pin: toolboard2: ``` 挤出机在工具板,模型风扇接在主板上: ``` [fan] pin: [heater_fan throat_fan] pin: toolboard1: heater: extruder heater_temp: 50 fan_speed: 1.0 ``` 注意事项 * 跨板引用引脚时,请确保对应 MCU 已在配置文件中通过 `[mcu <名称>]` 正确定义。 * MCU 名称大小写必须一致,`[mcu ToolBoard]` 和引用 `toolboard:PA0` 会导致错误。 * 建议将功能关联紧密的设备(如加热棒和温度传感器)尽量接在同一个工具板上,以获得最佳的响应速度和可靠性。 ## 常见问题[​](#常见问题 "常见问题的直接链接") | 问题表现 | 排查方向 | | -------------------- | ------------------------------------------------------------------------------------------------------------------ | | 工具板不在线 | 断电后检查数据线连接,确认 ID 是否正确,区分 Klipper 固件 ID 与烧录模式 ID | | 多工具板名称/ID 冲突 | 每个 `[mcu]` 的名称和 ID 都必须唯一,参考 [MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config) | | 引脚前缀不匹配 | `[mcu toolboard]` 的引脚前缀应为 `toolboard:`,名称大小写需一致 | | 固件版本不兼容 | 重新编译固件使其与上位机 Klipper 版本一致 | | CAN UUID 找不到 | 参考 [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) | | RS232 通信失败 | 检查 `baud: 250000` 和 `restart_method: command` 是否已配置 | --- # STM32 与 APM32 固件更新教程 重要提示 * 本教程**仅适用于 FLY 系列产品**,其他品牌或型号的设备**不兼容**,请勿尝试 * 本教程适用于通过进入烧录模式来更新固件 * 本教程仅适用于采用 APM32,STM32 系列芯片的 FLY 产品 ## 下载固件[​](#下载固件 "下载固件的直接链接") 请根据产品类型下载对应的预编译固件: ### 主板固件[​](#主板固件 "主板固件的直接链接") * [**MainBoard/C8/C8.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/C8/C8.bin?v=0d30b531d5a4) * [**MainBoard/C8/C8\_PRO.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/C8/C8_PRO.bin?v=2400cfe9bb94) * [**MainBoard/CDY/CDYV3\_V2.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/CDY/CDYV3_V2.bin?v=4290b27ab386) * [**MainBoard/CDY/CDY.hex**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/CDY/CDY.hex?v=91ae9a64a3ef) * [**MainBoard/D/FLY\_DP5.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_DP5.bin?v=da1166929371) * [**MainBoard/D/FLY\_D8\_H723.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D8_H723.bin?v=b8dcd911d4b7) * [**MainBoard/D/FLY\_D8\_F407.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D8_F407.bin?v=0d3064a41856) * [**MainBoard/D/FLY\_D7.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D7.bin?v=da1166929371) * [**MainBoard/D/FLY\_D5.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D5.bin?v=da1166929371) * [**MainBoard/E3/E3\_V2.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/E3/E3_V2.bin?v=4290b27ab386) * [**MainBoard/E3/E3\_Ultra.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/E3/E3_Ultra.bin?v=5e74d3d8e27a) * [**MainBoard/FLYF407ZG/FLYF407ZG.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/FLYF407ZG/FLYF407ZG.bin?v=4290b27ab386) * [**MainBoard/Gemini/GeminiV3.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Gemini/GeminiV3.bin?v=0d30b531d5a4) * [**MainBoard/Gemini/GeminiV2\_V1.1\_V1.hex**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Gemini/GeminiV2_V1.1_V1.hex?v=f7f99bb4666e) * [**MainBoard/Mico/Mico\_Katapult\_USB.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Mico/Mico_Katapult_USB.uf2?v=ce5054ba5ef5) * [**MainBoard/ProX10/ProX10\_USB\_katapult.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/ProX10/ProX10_USB_katapult.bin?v=509962880e6a) * [**MainBoard/ProX10/BL.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/ProX10/BL.bin?v=5e74d3d8e27a) * [**MainBoard/Rpfmex/rpfmex.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Rpfmex/rpfmex.uf2?v=f3c1e2a766b0) * [**MainBoard/SUPER/SUPER8PRO.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/SUPER/SUPER8PRO.bin?v=5e74d3d8e27a) * [**MainBoard/SUPER/SUPER8.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/SUPER/SUPER8.bin?v=4290b27ab386) * [**MainBoard/SUPER/SUPER5PRO.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/SUPER/SUPER5PRO.bin?v=5e74d3d8e27a) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 ### 工具板固件[​](#工具板固件 "工具板固件的直接链接") * [**ToolBoard/ERCF/FLY\_ERCFV2\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_500K.uf2?v=a67163a8c116) * [**ToolBoard/ERCF/FLY\_ERCFV2\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_1M.uf2?v=d76fd3fb6b5d) * [**ToolBoard/ERCF/FLY\_ERCF\_CANBOOT\_USB.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCF_CANBOOT_USB.uf2?v=0c55de36ea03) * [**ToolBoard/ERCF/FLY\_ERCF\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCF_CANBOOT_500K.uf2?v=8edac1640646) * [**ToolBoard/ERCF/FLY\_ERCF\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCF_CANBOOT_1M.uf2?v=4a2775a22ade) * [**ToolBoard/MMU/FLY\_MMU\_CANBOOT\_USB.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/MMU/FLY_MMU_CANBOOT_USB.bin?v=1b1e4b80297f) * [**ToolBoard/MMU/FLY\_MMU\_CANBOOT\_CAN\_500K.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_500K.bin?v=c35355764888) * [**ToolBoard/MMU/FLY\_MMU\_CANBOOT\_CAN\_1M.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_1M.bin?v=73d2ad89988f) * [**ToolBoard/SB2040/FLY\_SB2040V3\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_500K.uf2?v=decf24d099fd) * [**ToolBoard/SB2040/FLY\_SB2040V3\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_1M.uf2?v=b2ad6f764ee0) * [**ToolBoard/SB2040/FLY\_SB2040PROV3\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_500K.uf2?v=decf24d099fd) * [**ToolBoard/SB2040/FLY\_SB2040PROV3\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_1M.uf2?v=b2ad6f764ee0) * [**ToolBoard/SB2040/FLY\_SB2040PRO\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_500K.uf2?v=47b17847ab0f) * [**ToolBoard/SB2040/FLY\_SB2040PRO\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_1M.uf2?v=34a03fb0e467) * [**ToolBoard/SB2040/FLY\_SB2040\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040_CANBOOT_500K.uf2?v=47b17847ab0f) * [**ToolBoard/SB2040/FLY\_SB2040\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040_CANBOOT_1M.uf2?v=34a03fb0e467) * [**ToolBoard/SHT36/FLY\_SHT36V3\_katapult\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_500K.uf2?v=decf24d099fd) * [**ToolBoard/SHT36/FLY\_SHT36V3\_katapult\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_1M.uf2?v=b2ad6f764ee0) * [**ToolBoard/SHT36/FLY\_SHT36V2\_103\_CANBOOT\_500K.BIN**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_500K.BIN?v=32f7dc729484) * [**ToolBoard/SHT36/FLY\_SHT36V2\_103\_CANBOOT\_1M.BIN**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_1M.BIN?v=086727106925) * [**ToolBoard/SHT36/FLY\_SHT36V2\_072\_CANBOOT\_500K.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.bin?v=c3f61ed4c5a0) * [**ToolBoard/SHT36/FLY\_SHT36V2\_072\_CANBOOT\_1M.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin?v=7852044cfe3e) * [**ToolBoard/SHT36/FLY\_SHT36PRO\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_500K.uf2?v=3c25e0821719) * [**ToolBoard/SHT36/FLY\_SHT36PRO\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_1M.uf2?v=a606a54398a1) * [**ToolBoard/SHT36/FLY\_SHT36LIS3DH\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_500K.uf2?v=f1742f797555) * [**ToolBoard/SHT36/FLY\_SHT36LIS3DH\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_1M.uf2?v=ac9bc44cf871) * [**ToolBoard/SHT36/FLY\_SHT36\_072\_CANBOOT\_500K.BIN**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_500K.BIN?v=c3f61ed4c5a0) * [**ToolBoard/SHT36/FLY\_SHT36\_072\_CANBOOT\_1M.BIN**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_1M.BIN?v=7852044cfe3e) * [**ToolBoard/TOOL-LITE/FLY\_TOOL-LITE\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/TOOL-LITE/FLY_TOOL-LITE_CANBOOT_CAN_1M.uf2?v=1a7d27e264ca) * [**ToolBoard/USBADXL/FLY\_USBADXL.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/USBADXL/FLY_USBADXL.uf2?v=f3c1e2a766b0) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 ### 扩展板与屏幕固件[​](#扩展板与屏幕固件 "扩展板与屏幕固件的直接链接") 请前往对应产品页面下载,页面中已提供直接下载链接。 ## 固件路径说明[​](#固件路径说明 "固件路径说明的直接链接") | 文件夹名称 | 说明 | | -------------- | ---------------------- | | ExtensionBoard | FLY 模块与扩展板类固件 | | Screen | FLY 屏幕类固件 | | MainBoard | FLY 主板类固件 | | ToolBoard | FLY 工具板类固件 | Linux 路径提示 在 Linux 中烧录时,命令里的固件路径需要补全到具体的固件文件,不能只填写文件夹路径。例如已在本地服务器或 Linux 主机拉取 `FLY-Firmware` 时,可先进入对应产品目录查看实际文件名,再将 `-D` 后的路径替换为类似 `~/FLY-Firmware/ExtensionBoard/ALPS/mergedBL/FLY-ALPS-V2.0-mergedBL.bin` 的完整路径。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 1. 准备一根支持数据传输的 Type-C 数据线 2. 确保设备已完全断电,且未连接其他设备 3. 在断电状态下,先将 Type-C 数据线插入设备 4. 按住设备的 **BOOT** 按键不放,同时将数据线的另一端插入电脑。待电脑识别到设备后,即可松开 **BOOT** 按键 ## 注意事项[​](#注意事项 "注意事项的直接链接") 1. **USB 接口兼容性**:部分设备在 USB 3.0 接口下可能无法正常识别,建议优先使用 USB 2.0 接口进行烧录。 2. **烧录失败排查步骤**:若在 USB 2.0 接口下仍无法成功烧录,请尝试以下操作: * 断开所有非必要的外接设备(如驱动、限位等); * 将电脑完全断电(拔掉电源线),等待几秒后重新启动; * 使用外接 USB 扩展坞或更换其他 USB 接口再次尝试。 ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows 烧录 * Linux 烧录 - STM32 Windows 烧录 - APM32 Windows 烧录 - DFU-AUTO 图形化烧录 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并解压 `DFUProgrammer`。 2. 手动安装工具包内的 APM32 DFU 驱动。 3. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 5. 打开 DFUProgrammer,按下图选择设备和固件。 Loading... Loading... 6. 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * STM32 Linux 烧录 * APM32 Linux 烧录 1. 安装烧录工具 * FLY上位机无需安装烧录工具 * 如果你需要安装请注意:上位机需要能上网才可以正常安装 * 如果已经安装过则无需安装 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 执行下面的命令查看是否连接成功。 ``` lsusb ``` * 如果没有DFU设备请尝试重新进入**烧录模式** * 因系统版本问题可能显示其他名字,如果有`0483:df11`则代表进入烧录模式 Loading... 3. 烧录固件 * 执行下方代码开始烧录,请将 `<固件文件完整路径>` 替换为实际固件文件路径 ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D <固件文件完整路径> ``` 4. 出现下图内容`File downloaded successfully`则烧录成功 Loading... 提示 烧录完成后,需要给主板彻底断电一次。 1. 安装烧录工具 * FLY上位机无需安装烧录工具 * 如果你需要安装请注意:上位机需要能上网才可以正常安装 * 如果已经安装过则无需安装 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 执行下面的命令查看是否连接成功。 ``` lsusb ``` * 如果没有DFU设备请尝试重新进入**烧录模式** * 因系统版本问题可能显示其他名字,如果有`314b:0106`则代表进入烧录模式 Loading... 3. 烧录固件 * 执行下方代码开始烧录,请将 `<固件文件完整路径>` 替换为实际固件文件路径 ``` sudo dfu-util -a 0 -d 314b:0106 --dfuse-address 0x08000000 -D <固件文件完整路径> ``` 4. 出现下图内容`File downloaded successfully`则烧录成功 Loading... 提示 烧录完成后,需要给主板彻底断电一次。 推荐方式 各产品文档页已提供自动化烧录命令,无需手动填写固件路径。请前往对应产品页面查看: * 主板:`/docs/ProductDoc/MainBoard/...` * 工具板:`/docs/ProductDoc/ToolBoard/...` * 扩展板:`/docs/ProductDoc/ExtensionBoard/...` * 屏幕:`/docs/ProductDoc/Screen/...` ## 常见问题[​](#常见问题 "常见问题的直接链接") **Q:电脑无法识别设备怎么办**
A:请按以下步骤排查: * 确认数据线支持数据传输(充电线不可用) * 检查设备是否已进入烧录模式(按住 BOOT 再插入 USB) * 更换电脑的 USB 接口,**建议使用 USB 2.0 接口**;若使用 USB 3.0 接口出现问题,可尝试接入 USB 2.0 接口或通过 USB 扩展坞连接 * 检查电脑是否已安装对应芯片的 USB 驱动(如 STM32 的 DFU 驱动,APM32 的虚拟串口驱动等) **Q:烧录过程中提示失败或卡住怎么办?**
A:可尝试以下方法: * 重新进入烧录模式,再次尝试烧录 * 更换 USB 接口(推荐 USB 2.0)或使用扩展坞 * 关闭其他占用 USB 资源的软件 * 确认选择的固件与设备型号匹配(如主板,屏幕,工具板等) **Q:烧录完成后设备无法启动?**
A:可能原因及解决办法: * **烧录完成后请将设备完全断电(拔掉电源)**,然后重新上电,以确保固件正常启动 * 固件版本不匹配:重新下载对应型号的固件并再次烧录 * 烧录未完成:重新进入烧录模式,再次烧录 * 硬件问题:检查电源连接是否正常,或联系技术支持 --- # 通过SSH连接上位机 注意 * 此文档仅适用于 FLY 上位机,其他设备仅供参考。 * 如果需要编译与烧录固件,请优先查看网络连接教程,而不是串口连接教程。 - 可以使用串口或 Wi-Fi 连接到设备。 - 请提前准备好 **MobaXterm\_Personal** 或其他 SSH 终端工具。 - 请确认 SD 卡或 M2WE 已烧录对应上位机的系统。 - 如果上位机不能正常启动,请先拆除驱动、限位、风扇等外设。 - 后续编译固件建议通过网络连接 SSH。 ## 供电[​](#供电 "供电的直接链接") * 使用 `USB Type-C` 线材将 FLY 上位机与电脑连接。 * 请确认 `USB Type-C` 线材支持数据传输。 * 系统启动后,设备指示灯通常会快速闪烁。 - FLY-C8 - FLY-Pi v2 - FLY-Pi - FLY-Gemini - FLY-MiniPad - FLY-Pi Lite2 Loading... Loading... Loading... Loading... Loading... Loading... * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 备份配置方法 须知 * 本教程适用于FLY-Pi、树莓派、香橙派等上位机 * 如果使用EMMC需要可以进入烧录模式,否则本教程并不适用 * 本教程在Windows系统下操作,请不要格式化未知磁盘等操作!!! * 不要格式化!!! 不要格式化!!! 不要格式化!!! ## 下载需要的软件[​](#下载需要的软件 "下载需要的软件的直接链接") * 点击进去后下载,网页会提示你电脑适合哪个版本。 * 软件为绿色版,无需安装,下载后解压即可使用。 * [DG硬盘工具](https://www.diskgenius.cn/download.php) ## 开始备份[​](#开始备份 "开始备份的直接链接") 重要提醒 * 不要格式化。 * 格式化后无法恢复。 * 如果是 TF 卡,直接接到电脑即可。 * 如果是 EMMC,需要手动进入烧录模式。 ### 连接[​](#连接 "连接的直接链接") * 将需要备份的系统接到电脑上。 * 打开 `DiskGenius.exe`。 * 如果识别正常,则会显示需要备份的磁盘。 Loading... ### 寻找[​](#寻找 "寻找的直接链接") * 左边点击主分区,再点击上方的浏览文件,最后会出现下方文件。 Loading... * 找到 `home` 并双击进入。 * 进去后一般只有一个文件夹,名称通常是系统用户名。 * 如果有两个或以上文件夹,需要自行确认哪个包含系统配置。 * 继续进入后寻找 `printer_data`。 Loading... `printer_data` 文件夹包含打印文件、Klipper 配置、Klipper 日志等,可以直接全部导出。 ### 导出配置[​](#导出配置 "导出配置的直接链接") 须知 `FAST` 系统的配置文件在 `/usr/share/printer_data` 下。 * 右键点击 `printer_data` 会出现下方提示。 Loading... * 选择需要保存的目录,或直接导出。 * 确认导出。 Loading... * 打开导出的文件,找到 `config` 文件夹。这里面是系统配置。 Loading... 导出配置已经完成。请注意,`moonraker` 文件不要随意上传到其他系统,可能因系统差异导致 Klipper 无法连接。 --- # 添加 USB 摄像头 须知 * 需要免驱即插即用摄像头,可在 Linux、Armbian 等系统下的 Klipper 使用,无需另外安装驱动。 * 本教程以 Klipper、Crowsnest、Fluidd 为例,其他方法请按实际环境调整。 * `FAST` 系统请参考:[摄像头连接与使用](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头 ID 根据系统有很多种,建议使用不会变化的固定 ID。 - 在 Fluidd 中找到配置文件,然后打开 `crowsnest.conf`。 Loading... * 找到 `device:`,将后面的 ID 配置删除。 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机。 - 点击上方 `DEVICES`,然后点击 `VIDEO`,最后点击刷新。 Loading... * 找到 `path_by_id`,复制后面一行。 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加 ID,并保存配置。 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头。 Loading... * 输入摄像头名称,并点击保存。 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 回到仪表盘,确认摄像头画面已经显示。 Loading... * 如果不显示,重启系统后再次检查。 --- # 常用指令 文档说明 本文档整理了在 **Klipper 系统** 中常用的 **Linux 命令**,主要用于: * **日常操作参考** – 提供高频命令的快速查询 * **问题排查辅助** – 在遇到常见问题时,可对应查找相关命令进行验证或修复 * **学习与备忘** – 作为 Linux 与 Klipper 交互的基础命令集 > 注意:本文档仅作命令收录与简要说明,不涉及具体的调试流程或故障分析。实际使用时请结合具体场景。 ## 设备识别[​](#设备识别 "设备识别的直接链接") ### CAN 设备 ID 查询[​](#can-设备-id-查询 "CAN 设备 ID 查询的直接链接") **普通上位机:** ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` **FLY 上位机:** ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### USB 设备 ID 查询[​](#usb-设备-id-查询 "USB 设备 ID 查询的直接链接") ``` ls /dev/serial/by-id/* ``` ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### STM32 系列 (DFU 模式)[​](#stm32-系列-dfu-模式 "STM32 系列 (DFU 模式)的直接链接") * 请注意无法烧录HEX文件 ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/<固件文件>.bin ``` ### 通过 Katapult 烧录 Klipper[​](#通过-katapult-烧录-klipper "通过 Katapult 烧录 Klipper的直接链接") #### USB 烧录[​](#usb-烧录 "USB 烧录的直接链接") **普通上位机:** ``` ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<你的主板ID> ``` **FLY 上位机:** ``` python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<你的主板ID> ``` **通用指令(需指定设备ID):** ``` cd ~/klipper/ && make flash FLASH_DEVICE=<你的主板ID> ``` #### CAN 烧录[​](#can-烧录 "CAN 烧录的直接链接") 版本说明 根据您的系统版本选择正确的指令: * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` #### CAN 重置进BL[​](#can-重置进bl "CAN 重置进BL的直接链接") **普通上位机:** ``` ~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <你的主板ID> ``` **FLY 上位机:** ``` python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <你的主板ID> ``` ### RP2040 系列[​](#rp2040-系列 "RP2040 系列的直接链接") #### 烧录 Klipper 固件[​](#烧录-klipper-固件 "烧录 Klipper 固件的直接链接") ``` cd ~/klipper/ && make flash FLASH_DEVICE=2e8a:0003 ``` #### 烧录 Bootloader[​](#烧录-bootloader "烧录 Bootloader的直接链接") **首次烧录需编译工具:** ``` cd ~/klipper/ && cd ~/klipper/lib/rp2040_flash/ && make ``` **执行烧录:** ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/<固件路径>/<文件名>.uf2 ``` ## 代码管理[​](#代码管理 "代码管理的直接链接") ### 拉取特定分支[​](#拉取特定分支 "拉取特定分支的直接链接") 将仓库的 `dev-flyos` 分支拉取到 `/data/klipper` 目录: ``` cd && git clone https://cnb.cool/3dmellow/public/klipper -b dev-flyos /data/klipper ``` ## 服务管理[​](#服务管理 "服务管理的直接链接") ### Klipper 服务[​](#klipper-服务 "Klipper 服务的直接链接") #### 重启服务[​](#重启服务 "重启服务的直接链接") ``` sudo systemctl restart klipper ``` #### 查看实时日志[​](#查看实时日志 "查看实时日志的直接链接") ``` sudo journalctl -u klipper -f ``` #### 查看服务状态[​](#查看服务状态 "查看服务状态的直接链接") ``` sudo systemctl status klipper ``` ### Moonraker 服务[​](#moonraker-服务 "Moonraker 服务的直接链接") #### 重启服务[​](#重启服务-1 "重启服务的直接链接") ``` sudo systemctl restart moonraker ``` #### 查看实时日志[​](#查看实时日志-1 "查看实时日志的直接链接") ``` sudo journalctl -u moonraker -f ``` #### 查看服务状态[​](#查看服务状态-1 "查看服务状态的直接链接") ``` sudo systemctl status moonraker ``` ### KlipperScreen 服务[​](#klipperscreen-服务 "KlipperScreen 服务的直接链接") #### 重启服务[​](#重启服务-2 "重启服务的直接链接") ``` sudo systemctl restart KlipperScreen ``` #### 查看实时日志[​](#查看实时日志-2 "查看实时日志的直接链接") ``` sudo journalctl -u KlipperScreen -f ``` #### 查看服务状态[​](#查看服务状态-2 "查看服务状态的直接链接") ``` sudo systemctl status KlipperScreen ``` --- # 通过 SSH 连接网络 * 请确保系统已经启动,并已通过串口 SSH 连接到上位机。推荐使用 **MobaXterm\_Personal**。 * 请确保上位机已经安装 **M2WE** 或 **2.4G WiFi 模块**。如果是 **Lite2** 与 **MiniPad**,则不需要安装模块。 * **2.4G WiFi 模块**、**Lite2** 与 **MiniPad** 只能使用 2.4G WiFi,无法使用 5G WiFi。 * 网络不要使用双频合一,否则可能无法正常连接。 * 请确认天线已经安装完毕。 1. 在 SSH 软件输入 `nmtui` 命令后回车,会出现下图所示界面。 Loading... 2. 回车,然后选择 **Activate a connection** 再回车。 Loading... 3. 选择需要连接的网络,回车输入 WiFi 密码,再选择 **OK** 保存连接。 Loading... 4. 连接好 WiFi 后,按几次 **Esc** 退出当前界面,然后输入 `ip a` 并回车。 图中显示的位置即为上位机的 IP 地址。 Loading... --- # KlipperScreen 扩展功能 ## 打开KlipperScreen鼠标光标的方法[​](#打开klipperscreen鼠标光标的方法 "打开KlipperScreen鼠标光标的方法的直接链接") * 打开打印机配置中的 `KlipperScreen.conf`。此文件通常会在安装 KlipperScreen 后自动生成,如果没有请自行创建。 Loading... * 将下方代码添加到配置最上方。 ``` [main] show_cursor: True ``` Loading... * 保存并重启。 ## 远程连接其他上位机[​](#远程连接其他上位机 "远程连接其他上位机的直接链接") * 打开打印机配置中的 `KlipperScreen.conf`。 Loading... * 将下方代码添加到配置最上方。 * 可以修改 `` 打印机名称与 `` 目标机器 IP 地址。 * 第二个 `[printer KlipperScreen]` 用于连接远程扩展的机器,可通过此配置进行调试或关机。 须知 请保证两台设备在同一个局域网下。 ``` [printer ] moonraker_host: moonraker_port: 7125 moonraker_api_key: False [printer KlipperScreen] moonraker_host: 127.0.0.1 moonraker_port: 7125 moonraker_api_key: False ``` --- # 网页上传大文件配置 ## 注意事项[​](#注意事项 "注意事项的直接链接") * 本教程基于 **FAST 系统** 进行操作。 * 其他系统可能因版本过旧而无法使用此教程。 ## 操作步骤[​](#操作步骤 "操作步骤的直接链接") ### 1. 打开配置文件[​](#1-打开配置文件 "1. 打开配置文件的直接链接") * 进入打印机配置界面,找到 `moonraker.conf` 文件。 > 此文件在安装 Moonraker 后自动生成。 Loading... ### 2. 修改配置[​](#2-修改配置 "2. 修改配置的直接链接") 在 `moonraker.conf` 文件中找到 `[server]` 配置段,在其下方添加: ``` max_upload_size: 2048 ``` 参数说明: * `2048` 表示允许上传的最大文件大小。 * 单位为 MB。 * 可根据实际需求调整此数值。 ### 3. 修改示例[​](#3-修改示例 "3. 修改示例的直接链接") 修改前: Loading... 修改后: Loading... ### 4. 保存并重启[​](#4-保存并重启 "4. 保存并重启的直接链接") 1. 点击 `SAVE` 保存修改 2. **重启系统** 使配置生效 3. 上传大文件测试 --- # 修改系统时区 请注意FLY上位机如果使用FLY OS 3.3.4版本可以直接使用FLY-Tools修改时区 其他上位机请看下方操作 ``` sudo timedatectl set-timezone ``` 请将``替换为您希望使用的时区代码。您可以在[iana.org](https://www.iana.org/time-zones)网站上查找时区代码。例如,如果您想将系统时区更改为北京时区(Asia/Shanghai),可以输入以下命令: ``` sudo timedatectl set-timezone Asia/Shanghai ``` 现在,你的系统时区已经成功更改为上海时间。你可以通过以下命令验证时区设置: ``` date ``` ## 太平洋地区[​](#太平洋地区 "太平洋地区的直接链接") | 时区 | 中文名 | | ----------------- | -------- | | Pacific/Majuro | 马朱罗 | | Pacific/Midway | 中途岛 | | Pacific/Honolulu | 檀香山 | | Pacific/Guam | 关岛 | | Pacific/Auckland | 奥克兰 | | Pacific/Fiji | 斐济 | | Pacific/Tongatapu | 东加塔布 | ## 美洲[​](#美洲 "美洲的直接链接") | 时区 | 中文名 | | ------------------------------- | ------------------------- | | America/Anchorage | 安克雷奇 | | America/Los\_Angeles | 美国太平洋时间 (洛杉矶) | | America/Tijuana | 美国太平洋时间 (提华纳) | | America/Phoenix | 美国山区时间 (凤凰城) | | America/Chihuahua | 奇瓦瓦 | | America/Denver | 美国山区时间 (丹佛) | | America/Costa\_Rica | 美国中部时间 (哥斯达黎加) | | America/Chicago | 美国中部时间 (芝加哥) | | America/Mexico\_City | 美国中部时间 (墨西哥城) | | America/Regina | 美国中部时间 (里贾纳) | | America/Bogota | 哥伦比亚时间 (波哥大) | | America/New\_York | 美国东部时间 (纽约) | | America/Caracas | 委内瑞拉时间 (加拉加斯) | | America/Barbados | 大西洋时间 (巴巴多斯) | | America/Manaus | 亚马逊标准时间 (马瑙斯) | | America/Santiago | 圣地亚哥 | | America/St\_Johns | 纽芬兰时间 (圣约翰) | | America/Sao\_Paulo | 圣保罗 | | America/Argentina/Buenos\_Aires | 布宜诺斯艾利斯 | | America/Godthab | 戈特霍布 | | America/Montevideo | 乌拉圭时间 (蒙得维的亚) | ## 大西洋[​](#大西洋 "大西洋的直接链接") | 时区 | 中文名 | | ----------------------- | ---------- | | Atlantic/South\_Georgia | 南乔治亚 | | Atlantic/Azores | 亚述尔群岛 | | Atlantic/Cape\_Verde | 佛得角 | | Africa/Casablanca | 卡萨布兰卡 | ## 欧洲[​](#欧洲 "欧洲的直接链接") | 时区 | 中文名 | | ---------------- | ------------------------- | | Europe/London | 格林尼治标准时间 (伦敦) | | Europe/Amsterdam | 中欧标准时间 (阿姆斯特丹) | | Europe/Belgrade | 中欧标准时间 (贝尔格莱德) | | Europe/Brussels | 中欧标准时间 (布鲁塞尔) | | Europe/Sarajevo | 中欧标准时间 (萨拉热窝) | | Europe/Athens | 东欧标准时间 (雅典) | | Europe/Helsinki | 东欧标准时间 (赫尔辛基) | | Europe/Minsk | 明斯克 | | Europe/Moscow | 莫斯科 | ## 非洲[​](#非洲 "非洲的直接链接") | 时区 | 中文名 | | ------------------ | --------------------------- | | Africa/Windhoek | 温得和克 | | Africa/Brazzaville | 西部非洲标准时间 (布拉扎维) | | Africa/Cairo | 东欧标准时间 (开罗) | | Africa/Harare | 中部非洲标准时间 (哈拉雷) | | Africa/Nairobi | 东部非洲标准时间 (内罗毕) | ## 亚洲[​](#亚洲 "亚洲的直接链接") | 时区 | 中文名 | | ------------------ | --------------------------- | | Asia/Amman | 东欧标准时间 (安曼) | | Asia/Beirut | 东欧标准时间 (贝鲁特) | | Asia/Jerusalem | 以色列时间 (耶路撒冷) | | Asia/Baghdad | 巴格达 | | Asia/Kuwait | 科威特 | | Asia/Tehran | 伊朗标准时间 (德黑兰) | | Asia/Baku | 巴库 | | Asia/Tbilisi | 第比利斯 | | Asia/Yerevan | 埃里温 | | Asia/Dubai | 迪拜 | | Asia/Kabul | 阿富汗时间 (喀布尔) | | Asia/Karachi | 卡拉奇 | | Asia/Oral | 乌拉尔 | | Asia/Yekaterinburg | 叶卡捷林堡 | | Asia/Calcutta | 加尔各答 | | Asia/Colombo | 科伦坡 | | Asia/Katmandu | 尼泊尔时间 (加德满都) | | Asia/Almaty | 阿拉木图 | | Asia/Rangoon | 缅甸时间 (仰光) | | Asia/Krasnoyarsk | 克拉斯诺亚尔斯克 | | Asia/Bangkok | 曼谷 | | Asia/Shanghai | 中国标准时间 (北京) | | Asia/Hong\_Kong | 香港时间 (香港) | | Asia/Irkutsk | 伊尔库茨克时间 (伊尔库茨克) | | Asia/Kuala\_Lumpur | 吉隆坡 | | Australia/Perth | 佩思 | | Asia/Taipei | 台北时间 (台北) | | Asia/Seoul | 首尔 | | Asia/Tokyo | 日本时间 (东京) | | Asia/Yakutsk | 雅库茨克时间 (雅库茨克) | | Asia/Vladivostok | 海参崴时间 (符拉迪沃斯托克) | | Asia/Magadan | 马加丹时间 (马加丹) | ## 大洋洲[​](#大洋洲 "大洋洲的直接链接") | 时区 | 中文名 | | ------------------ | -------- | | Australia/Adelaide | 阿德莱德 | | Australia/Darwin | 达尔文 | | Australia/Brisbane | 布里斯班 | | Australia/Hobart | 霍巴特 | | Australia/Sydney | 悉尼 | --- # BLTouch 配置与排查 本文介绍 BLTouch 探针在 Klipper 中的接线、配置、测试、校准和常见故障排查。 > **相关报错**:BLTouch 相关报错的快速排查见 [运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion#bltouch-verify-failed)。 ## 接线与配置[​](#bltouch-wiring "接线与配置的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 BLTouch 有两组线: * **三线(舵机/控制端)**:黄线为 `control_pin` 信号线。 * **两线(传感器端)**:白线为 `sensor_pin` 信号线。 将控制端接到主板的 Servo / BLTouch 控制引脚,传感器端接到主板的 Probe / Z-Max 等限位输入引脚。具体引脚请查阅对应 FLY 主板的配置文档。 上拉电阻 大多数 BLTouch 的 `sensor_pin` 需要配置上拉电阻,在引脚名前加 `^` 前缀,例如 `sensor_pin: ^PC4`。 基本配置示例: ``` [bltouch] sensor_pin: ^PC4 control_pin: PA1 x_offset: 0 y_offset: 0 z_offset: 0 speed: 5 ``` 如果使用 BLTouch 作为 Z 轴归位限位,需要: 1. 在 `[stepper_z]` 中设置 `endstop_pin: probe:z_virtual_endstop`,并删除 `position_endstop`。 2. 添加 `[safe_z_home]` 配置: ``` [safe_z_home] home_xy_position: 100, 100 # 改为热床中心坐标 speed: 50 z_hop: 10 # 归位前抬升 10mm z_hop_speed: 5 ``` z\_hop 高度 `z_hop` 必须足够高,确保即使探针处于伸出状态也不会碰撞热床或夹具。 ## 初始测试[​](#bltouch-initial-tests "初始测试的直接链接") ### 自检[​](#自检 "自检的直接链接") 通电后 BLTouch 应自动执行自检:探针上下伸缩数次,完成后缩回,红灯常亮。如果红灯闪烁或探针停留在伸出状态,断电检查接线和配置。 ### 控制引脚测试[​](#控制引脚测试 "控制引脚测试的直接链接") ``` BLTOUCH_DEBUG COMMAND=pin_down ``` 确认探针伸出、红灯熄灭。然后: ``` BLTOUCH_DEBUG COMMAND=pin_up ``` 确认探针缩回、红灯重新亮起。如果红灯闪烁,说明存在异常。 ### 传感器引脚测试[​](#传感器引脚测试 "传感器引脚测试的直接链接") 1. 执行 `BLTOUCH_DEBUG COMMAND=pin_down`,确认探针伸出。 2. 执行 `BLTOUCH_DEBUG COMMAND=touch_mode`。 3. 执行 `QUERY_PROBE`,应返回 `probe: open`。 4. 用手指甲轻轻向上推探针,再次执行 `QUERY_PROBE`,应返回 `probe: TRIGGERED`。 5. 执行 `BLTOUCH_DEBUG COMMAND=pin_up` 收回探针。 如果 `QUERY_PROBE` 结果不正确,通常是接线或配置错误(部分克隆版本需要特殊处理,见下文)。 ### 探测测试[​](#探测测试 "探测测试的直接链接") 将打印头移到远离热床的位置,执行 `G28`(或 `PROBE`),等打印头开始下降时用手指甲轻触探针使其触发。准备好随时关闭打印机。成功后再执行一次正常归位让探针接触热床。 ## 故障恢复(红灯闪烁)[​](#bltouch-reset "故障恢复(红灯闪烁)的直接链接") BLTouch 进入异常状态后红灯持续闪烁,可执行: ``` BLTOUCH_DEBUG COMMAND=reset ``` 常见触发原因:探针伸出时被阻挡导致校准中断。 如果 `reset` 后仍无法正常工作,可能是探针内部磁芯移位: 断电操作 拆卸或调整 BLTouch 探针前,请完全关闭打印机并断开电源供应。 1. 断电后拧开探针顶部螺丝,用圆珠笔将磁芯轻轻推回原位。 2. 重新装入探针使其自然落到伸出位置。 3. 小心调整螺丝位置,通电后用 `BLTOUCH_DEBUG COMMAND=reset`、`pin_up`、`pin_down` 测试伸缩和红灯是否正常。 ## 克隆版本兼容性[​](#bltouch-clones "克隆版本兼容性的直接链接") 大多数克隆 BLTouch 可以使用默认配置正常工作,但部分克隆设备存在以下问题: 重要提示 不要在未确认必要性的情况下将 `pin_up_reports_not_triggered` 或 `pin_up_touch_mode_reports_triggered` 设为 `False`。正品 BLTouch 不应修改这两项。错误设置会增加探测时间并可能损坏打印机。 ### 不支持 touch\_mode[​](#不支持-touch_mode "不支持 touch_mode的直接链接") 部分克隆设备不支持 `touch_mode`,`QUERY_PROBE` 命令无法正常工作,但 `G28` / `PROBE` 仍可成功。此类设备不要启用 `probe_with_touch_mode`。 ### BLTouch failed to verify sensor state[​](#bltouch-failed-to-verify-sensor-state "BLTouch failed to verify sensor state的直接链接") 克隆设备无法通过 Klipper 内部传感器验证。先按 [传感器引脚测试](#bltouch-initial-tests) 确认 `QUERY_PROBE` 结果正确,如果手动测试始终正常但仍报错,添加: ``` [bltouch] pin_up_touch_mode_reports_triggered: False ``` ### BLTouch failed to raise probe[​](#bltouch-failed-to-raise-probe "BLTouch failed to raise probe的直接链接") 老版本克隆设备无法报告探针缩回状态。测试方法: 1. 将打印头移到远离热床处。 2. `BLTOUCH_DEBUG COMMAND=pin_down` → 确认伸出。 3. `QUERY_PROBE` → 应返回 `probe: open`。 4. `BLTOUCH_DEBUG COMMAND=pin_up` → 确认缩回。 5. `QUERY_PROBE` → 如果返回 `probe: TRIGGERED`(而非 `open`),说明设备无法报告缩回。 确认后添加: ``` [bltouch] pin_up_reports_not_triggered: False ``` ## BLTouch V3 版本注意事项[​](#bltouch-v3 "BLTouch V3 版本注意事项的直接链接") ### V3.0 信号问题[​](#v30-信号问题 "V3.0 信号问题的直接链接") BLTouch V3.0 的 `sensor_pin` 如果接到带滤波电容的限位引脚,可能无法稳定发送触发信号。表现为 `QUERY_PROBE` 测试正常,但 `G28` / `PROBE` 时打印头偶尔不停。解决方法: ``` [bltouch] probe_with_touch_mode: True ``` ### V3.1 偶发错误状态[​](#v31-偶发错误状态 "V3.1 偶发错误状态的直接链接") BLTouch V3.1 在成功探测后偶尔闪红灯数秒。Klipper 会自动清除此错误,通常无害。设置 `probe_with_touch_mode: True` 可避免此问题。 精度影响 部分克隆设备和 BLTouch V2.0 及更早版本在启用 `probe_with_touch_mode: True` 后精度可能下降,且探针伸出时间增加。修改前后请用 `PROBE_ACCURACY` 命令对比测试。 ## 多次探测不收起[​](#bltouch-stow-on-each-sample "多次探测不收起的直接链接") 默认每次探测后 Klipper 会收起探针再伸出,多次探测时耗时较长。设置以下选项可在连续探测间保持探针伸出: ``` [bltouch] stow_on_each_sample: False ``` 安全提示 设为 `False` 后,Klipper 可能在探针伸出状态下进行水平移动。务必确认所有探测操作的 Z 间隙充足,否则水平移动时探针可能碰撞障碍物损坏打印机。 推荐搭配 使用 `stow_on_each_sample: False` 时建议同时设置 `probe_with_touch_mode: True`,可简化信号逻辑并提高稳定性。部分克隆设备不搭配此选项可能无法检测后续触发。 ## 偏移校准[​](#bltouch-offsets "偏移校准的直接链接") 使用 `PROBE_CALIBRATE` 命令校准 `x_offset`、`y_offset` 和 `z_offset`。 Z 偏移建议 `z_offset` 理想值接近 1mm。如果偏差过大,建议调整探针安装高度:探针应在喷嘴接触热床前充分提前触发,同时缩回后尽量高于喷嘴以避免刮擦打印件。调整后需重新执行 `PROBE_CALIBRATE`。 ## 输出模式(5V / Open-Drain)[​](#bltouch-output-mode "输出模式(5V / Open-Drain)的直接链接") BLTouch V3.0 和 V3.1 支持 5V 和 Open-Drain 两种输出模式,默认为 Open-Drain。 * 如果主板输入引脚**需要** 5V 高电平且**耐受** 5V,可设置: ``` [bltouch] set_output_mode: 5V ``` 电压兼容 仅在主板输入信号线确认耐受 5V 时才使用 5V 模式。错误设置可能损坏主板 CPU。 * **V3.0**:每次启动都需要通过 `set_output_mode: 5V` 设置,因为 V3.0 无法记忆。 * **V3.1**:可执行一次 `BLTOUCH_STORE MODE=5V` 将模式写入内部 EEPROM,之后无需配置 `set_output_mode`。不要反复执行存储命令,EEPROM 寿命约 10 万次。 * **其他探针**:部分探针通过电路板跳线或切割走线永久设置输出模式,此时不需要 `set_output_mode` 参数。 --- # EDDY 传感器常见问题 ## 归位时报错 `Error during homing z: Eddy current sensor error`[​](#归位时报错-error-during-homing-z-eddy-current-sensor-error "归位时报错-error-during-homing-z-eddy-current-sensor-error的直接链接") 遇到此错误时,请按顺序排查。 ### 更新 Klipper 或系统[​](#更新-klipper-或系统 "更新 Klipper 或系统的直接链接") 重要通知 EDDY 的 Z 归位功能此前存在兼容性问题,已在 2026 年 1 月 6 日的 Klipper 更新中优化。 * 普通上位机:请将 Klipper 更新至较新的稳定版本。 * FLY 上位机:请将系统版本升级至 V1.3.5 或更高。 完成更新后,需要重新校准 EDDY。 ### 调整驱动电流[​](#调整驱动电流 "调整驱动电流的直接链接") 1. 打开 `printer.cfg` 文件。 2. 找到配置最下方的 `reg_drive_current =` 参数。 3. 将当前值增加或减少 `1`,例如 `15` 可改为 `16` 或 `14`。 4. 请直接填写计算后的结果,不要填写 `15+1` 这类算式。 5. 保存文件并重启打印机,然后重新测试归位。 Loading... ### 调整探头偏移量[​](#调整探头偏移量 "调整探头偏移量的直接链接") 如果更新和驱动电流调整后仍然无效,可继续检查 `descend_z`。 1. 在 `printer.cfg` 中找到 `[probe_eddy_current fly_eddy_probe]` 配置段。 2. 将 `descend_z:` 适当改大。默认值通常为 `0.5`,可先尝试 `2.0` 或 `2.5`。 3. 此参数只能在该配置段中保留一处,请勿重复配置。 4. 建议值不要超过 `3.0`,最终数值需要根据机器结构和探头安装高度确定。 5. 保存并重启打印机,然后再次测试归位。 版本提示 Klipper 2026 年 3 月后的 `[probe_eddy_current]` 配置使用 `descend_z`。旧配置中的 `z_offset` 已废弃,后续版本可能移除支持;如果教程、旧配置或截图仍写 `z_offset`,请优先改为 `descend_z`。 Loading... ## 提示 `Amplitude Low/High warning`[​](#eddy-amplitude-warning "eddy-amplitude-warning的直接链接") **报错信息**:`my_eddy_probe: Amplitude Low/High warning (36)`、`Amplitude Low/High warning (48)` 等。括号内数字为实测振幅值。 **常见原因**: * `reg_drive_current` 设置不合适,传感器振荡幅度超出理想范围。 * 探头与热床的间距(standoff)过大或过小。 * 探头安装松动或热床表面不平整。 **解决方法**: 1. 重新执行驱动电流校准:`LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe`,然后 `SAVE_CONFIG`。 2. 如果校准后仍有警告,按上方“调整驱动电流”章节手动微调 `reg_drive_current`(每次±1)。 3. 检查探头安装是否牢固,探头底部与热床表面的间距建议保持在 0.3–1.0 mm。 4. 确认热床为平整的金属表面,无翘曲或四凸。 5. 如果警告仅在特定位置出现,可能是热床局部不平整,可尝试在不同位置重新校准。 ## 提示 `!! probe_eddy_current sensor not in valid range`[​](#提示--probe_eddy_current-sensor-not-in-valid-range "提示--probe_eddy_current-sensor-not-in-valid-range的直接链接") 此错误表示探头读数超出有效范围。常见原因是启用 EDDY 探头后,其他配置段中的探测高度没有按预期生效,导致探头移动超出物理量程。 请重点检查以下位置: * `[probe_eddy_current fly_eddy_probe]` * `[bed_mesh]` * `[z_tilt]` 或 `[quad_gantry_level]` * 自定义归位、调平、扫床宏 处理方式: 1. 确认所有探测动作的下探高度都在 EDDY 可用范围内。 2. 避免多个宏或配置段重复覆盖同一个高度参数。 3. 修改后保存并重启 Klipper,再重新执行归位或调平。 Loading... ## 提示 `Eddy I2C STATUS/DATA error` 或 `Invalid read data`[​](#eddy-i2c-comm-error "eddy-i2c-comm-error的直接链接") 此类错误表示 EDDY 与 MCU 之间的通信或读数异常。 常见原因: * EDDY 线束、插头或焊点接触不良。 * I2C 线过长、线材质量差,或与电机线、加热线并行走线导致干扰。 * I2C 速率过高,当前线材和环境下不稳定。 * 探头供电不稳定。 处理方式: 断电操作 重新插拔 EDDY 线束、整理走线或检查插头前,请完全关闭打印机并断开电源供应。不要在通电状态下拔插传感器或触碰端子。 1. 断电后重新插拔 EDDY 线束,检查端子是否松动。 2. 将 EDDY 通信线远离电机线、加热线和热床线。 3. 如果使用硬件 I2C,可尝试降低 I2C 速率;仍不稳定时再测试软件 I2C。 4. 优先通过更换成品线束、换端口或替换传感器进行交叉测试;裸露端子的电气检测请联系售后或专业人员。 5. 修改后重新执行归位或 `PROBE_EDDY_CURRENT_CALIBRATE`。 > **I2C 引脚与接线**:[EDDY I2C 引脚与配置说明](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-i2c) ## 提示 `Unable to obtain probe_eddy_current sensor readings`[​](#提示-unable-to-obtain-probe_eddy_current-sensor-readings "提示-unable-to-obtain-probe_eddy_current-sensor-readings的直接链接") 此错误表示 Klipper 在规定时间内没有获取到有效的 EDDY 传感器数据。 常见原因: * 传感器通信线断开或配置的总线/引脚错误。 * 探头离金属床面过远,读数不在可用范围。 * `reg_drive_current` 不合适,传感器频率范围不足。 * 尚未完成驱动电流校准或 Z 高度校准。 处理方式: 断电操作 检查 EDDY 总线、引脚接线或更换传感器线束前,请完全关闭打印机并断开电源供应。不要在通电状态下拔插传感器。 1. 断电后确认 `[probe_eddy_current fly_eddy_probe]` 中的总线和引脚配置与实际接线一致。 2. 将喷头移动到热床中心,确保 EDDY 位于金属床面上方。 3. 重新执行 `LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe` 并 `SAVE_CONFIG`。 4. 重新执行 `PROBE_EDDY_CURRENT_CALIBRATE CHIP=fly_eddy_probe`。 5. 如果只在归位时出现,继续按本文上方“归位时报错”章节调整 `reg_drive_current` 和 `descend_z`。 ## `MCU Protocol error: Unknown command i2c_write`[​](#eddy-i2c-write-mismatch "eddy-i2c-write-mismatch的直接链接") **报错信息**:`MCU Protocol error`、`mcu 'eddy': Unknown command: i2c_write`、`Command format mismatch`。 此类报错通常表示 EDDY / RP2040 外设 MCU 固件与上位机 Klipper 版本不匹配。常见场景是更新了上位机 Klipper,却没有重新编译并刷写 EDDY 固件;也可能是 EDDY 固件比上位机 Klipper 更新,主机端还不认识外设固件使用的新命令。 处理方式: 1. 查看 `klippy.log` 中 `Git version` 和 `Loaded MCU 'eddy' ... version`,确认上位机与 EDDY 固件是否来自同一套 Klipper 版本。 2. 重新编译并刷写 EDDY 所在 MCU 固件,刷写方式以对应工具板或 EDDY 产品文档为准。 3. 如果使用第三方整合系统或厂商定制 Klipper,先确认该系统支持当前 EDDY 固件;不确定时优先使用同一系统提供的固件包。 4. 刷写完成后执行 `FIRMWARE_RESTART`,再重新执行 EDDY 驱动电流和高度校准。 > **通用版本排查**:[MCU Protocol error](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#mcu-protocol-error) ## TAP 模式触发异常[​](#tap-模式触发异常 "TAP 模式触发异常的直接链接") 使用 EDDY 的 `METHOD=tap` 时,如果探测提前停止、接触床面后仍不停止,或结果明显不稳定,通常与 `tap_threshold` 和喷嘴/床面状态有关。 > **详细流程**:[EDDY TAP 模式调试方法](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap) 运动风险 TAP 测试会让喷嘴接近或接触热床。执行前请确认喷嘴和床面干净,手和工具远离运动区域,并准备好急停。 排查要点: 1. 确认喷嘴和床面干净,喷嘴残料会直接影响 TAP 结果。 2. 开始 TAP 前,喷嘴距离床面建议保持在几毫米范围内,不要过近或过远。 3. 如果未接触床面就停止,说明 `tap_threshold` 可能过低,可适当增大。 4. 如果接触床面后仍不停止,说明 `tap_threshold` 可能过高,应立即停止并降低阈值。 5. 调整后重新执行 `PROBE_EDDY_CURRENT_TAP_CALIBRATE`,通过后再 `SAVE_CONFIG`。 ## 归位 / TAP 时触发 `Timer too close`[​](#eddy-timer-too-close "eddy-timer-too-close的直接链接") **报错信息**:`MCU 'xxx' shutdown: Timer too close`。 **报错性质**:EDDY 归位、TAP 或 `Z_TILT_ADJUST` 使用 trsync 定时同步机制,在特定条件下会出现时钟回跳。Klipper 上游开发者确认过相关案例(日志中 trsync 时钟回跳、32 位溢出),属已知待修复问题,表现为**间歇性出现、复现不稳定**,不一定代表线束或硬件损坏。 常见原因: * EDDY 归位 / TAP 的 trsync 定时同步在特定条件下时钟回跳。 * CAN 工具板场景更易触发,报错前后 `Stats` 行可能同时出现 CAN 重传或上位机负载尖峰。 * 第三方插件(自动调速、自动调谐、电机同步等)叠加时触发概率升高。 处理方式: 1. 更新 Klipper 并重新刷写全部 MCU 固件,确认主机、工具板和 EDDY MCU 版本一致。 2. `Z_TILT_ADJUST` 可临时改用 `METHOD=scan`,扫描模式不走 trsync 路径,可显著降低触发概率。 3. 精简启动宏,避免重复归位、重复 TAP 和连续扫床动作,减少触发机会。 4. 逐个禁用第三方插件(自动调速、自动调谐等)复测,确认是否为插件叠加引起。 5. 如果同时出现 CAN 重传或通信异常,按 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) 检查线束与总线状态。 > **TAP 专项排查**:[EDDY TAP / Z\_TILT 触发 Timer too close](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap#eddy-tap-timer-too-close) > > **系统类排查**:[Timer too close](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) ## 扫床 / 调平时触发 stepcompress 内部错误[​](#eddy-stepcompress-internal-error "扫床 / 调平时触发 stepcompress 内部错误的直接链接") **报错信息**:`Internal error in stepcompress`、`Error in syncemitter 'xxx' step generation`、`Exception in flush_handler`。 EDDY 高速扫床、`BED_MESH_CALIBRATE`、`Z_TILT_ADJUST` 或 scanner 扫床时,若运动队列与 EDDY 采样叠加导致步进生成内部异常,可能出现该类报错。 处理方式: 1. 保留完整 `klippy.log`,查看报错前后的 Python Traceback 与正在执行的命令。 2. 降低扫床速度、探针点数、插值密度和 EDDY 扫描参数后复测。 3. 临时禁用第三方 scanner、自动调速、自动调平增强等插件,使用原版 Klipper 复测。 4. 更新 Klipper 后重新刷写全部 MCU 固件。 > **详细排查**:[stepcompress / syncemitter / flush\_handler 内部错误](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#stepcompress-internal-error) ## 温漂导致首层不稳定[​](#温漂导致首层不稳定 "温漂导致首层不稳定的直接链接") EDDY 属于电涡流传感器,床温、喷嘴温度、传感器线圈温度和附近金属件温度变化都会影响测量结果。表现通常是:冷机校准正常,热机打印首层偏高或偏低。 处理方式: 1. 尽量在接近实际打印温度时执行 EDDY 校准。 2. 打印前等待热床和喷嘴温度稳定后再归位、调平或扫床。 3. 如果 EDDY 带温度传感器,可配置 `[temperature_probe]` 并进行温漂补偿。 4. 封箱机器建议在箱温稳定后再执行精细校准。 ## `descend_z` 调试建议[​](#descend_z-调试建议 "descend_z-调试建议的直接链接") 在大量调试案例中,将 `[probe_eddy_current fly_eddy_probe]` 中的 `descend_z` 初始值设为 `2.5`,通常能更快让许多 EDDY 传感器进入可工作状态。 注意 `2.5` 只是调试起点,不是通用固定值,也不是官方默认配置。最佳偏移量取决于探头安装位置、喷嘴高度和机器结构,请以实际校准结果为准。 --- # EDDY I2C 引脚与配置说明 本文说明 FLY-EDDY 系列(EDDY-M / EDDY-F)传感器的 I2C 引脚定义、两种连接方式的引脚对照与接线步骤,以及 `probe_eddy_current` 所需的 I2C 相关配置项。 ## I2C 引脚定义[​](#eddy-i2c-pinout "I2C 引脚定义的直接链接") FLY-EDDY 基于 TI LDC1612 芯片,通过 I2C 接口通信。5P 线束中包含 4 根 I2C 信号线和 1 根温度检测线(TEMP,板载热敏电阻输出,用于 `[temperature_probe]` 温漂补偿): | 引脚 | 定义 | 说明 | | ---- | ---------- | ----------------------------------------------------------------------------------- | | VCC | 电源正极 | 5V 供电,具体以产品标注为准 | | GND | 电源地 | 与 MCU 共地 | | SDA | I2C 数据线 | 开漏输出,连接 MCU 的 I2C SDA 引脚 | | SCL | I2C 时钟线 | 开漏输出,连接 MCU 的 I2C SCL 引脚 | | TEMP | 温度检测 | 板载热敏电阻输出,连接 MCU 的 ADC 引脚,用于 `[temperature_probe]` 温漂补偿(可选) | LDC1612 的 I2C 地址由芯片 ADDR 引脚电平决定,FLY-EDDY 出厂固定为 `0x42`(42),Klipper 配置中写十进制 `i2c_address: 42`。 ## 两种连接方式[​](#eddy-i2c-wiring "两种连接方式的直接链接") EDDY-M 与 EDDY-F 的信号定义完全一致,仅物理连接方式与适配平台不同(MX1.25 端子 / FPC 排线): * **EDDY-F(FPC 排线)**:专门适配 SHT36 V3、SB2040 V3、SB2040 PRO V3 工具板的 EDDY 接口,TEMP 线自动接入工具板温度检测引脚(均为 `gpio28`) * **EDDY-M(MX1.25 端子)**:适配普通工具板或主板,需按实际板卡定义接线并配置 I2C(详见下方接线与配置章节) | 信号 | EDDY-M(MX1.25 端子) | EDDY-F(FPC 排线) | | -------- | --------------------- | ------------------ | | 电源正极 | VCC | VCC | | 电源地 | GND | GND | | 数据线 | SDA | SDA | | 时钟线 | SCL | SCL | | 温度检测 | TEMP | TEMP | EDDY-M 的 MX1.25 端子线序(从左到右)为:SDA、TEMP、SCL、5V、GND。EDDY-F 的 FPC 排线仅适配 FLY 工具板(SHT36 V3 / SB2040 V3 / SB2040 PRO V3)的 EDDY 接口,插入即可,无需核对线序。 ### EDDY-M:MX1.25 端子接线[​](#eddy-m-mx125-wiring "EDDY-M:MX1.25 端子接线的直接链接") 断电操作 开始接线或插拔线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 1. 将 MX1.25 排线(单头 5P,30cm)插入 EDDY-M 端子座,按端子线序(从左到右:SDA、TEMP、SCL、5V、GND)一一对应 2. 线束另一端接入普通工具板或主板的 I2C 接口,按接口丝印核对引脚顺序 3. TEMP 线接入主板空闲的 ADC 引脚;没有可用 ADC 引脚时可不接,但温漂补偿功能不可用 4. 插紧端子后轻拉线束确认不会脱落 I2C 配置说明 EDDY-M 接普通工具板或主板时,`i2c_mcu`、`i2c_bus` 需按实际主板的 MCU 定义填写;使用软件 I2C 时需指定 `i2c_software_scl_pin` / `i2c_software_sda_pin`。I2C 地址固定为 `0x42`(42),晶振频率 40MHz,配置项说明见下文。 ### EDDY-F:FPC 排线接线[​](#eddy-f-fpc-wiring "EDDY-F:FPC 排线接线的直接链接") 断电操作 开始接线或插拔排线前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔排线、整理接口线序或触碰端子。 1. 将 FPC 排线(5P、0.5mm 间距、同向)插入 EDDY-F 连接器:打开锁扣,将排线金手指按正确方向插入,压平后扣上锁扣固定 2. 排线另一端接入 SHT36 V3 / SB2040 V3 / SB2040 PRO V3 工具板的 EDDY 接口;FPC 与工具板接口一一对应,插入即可,无需核对线序 3. TEMP 线自动接入工具板 EDDY 接口的温度检测引脚(均为 `gpio28`),无需额外接线 4. 确认排线无弯折、无外露铜箔 ### 接线注意事项[​](#接线注意事项 "接线注意事项的直接链接") * SDA / SCL 信号线不要串接或并联电容、电感、二极管等元件,也不要经过 RC / LC 滤波电路或外接电平转换模块;I2C 为开漏信号,额外电容会拖慢信号上升沿,导致通信失败或报错 * EDDY 通信线应远离电机线、加热线和热床线,避免 I2C 信号受干扰 * I2C 线不宜过长,线材质量差或走线过长可能导致通信不稳定 * 优先使用成品线束;裸露端子或排线的电气检测请联系售后或专业人员 ## I2C 相关配置项[​](#eddy-i2c-config "I2C 相关配置项的直接链接") `[probe_eddy_current]` 中与 I2C 通信相关的配置项如下: | 配置项 | 说明 | FLY-EDDY 取值 | | ----------------------------------------------- | -------------------------------- | ----------------------------------- | | `sensor_type` | 传感器芯片型号,固定为 `ldc1612` | `ldc1612` | | `i2c_address` | I2C 设备地址(十进制) | `42`(`0x42`) | | `i2c_mcu` | 连接传感器的 MCU 名称 | 按实际连接定义 | | `i2c_bus` | MCU 上的硬件 I2C 总线 | 按 MCU 定义 | | `i2c_speed` | I2C 通信速率(Hz) | 默认 `100000`,可先按 `400000` 测试 | | `i2c_software_scl_pin` / `i2c_software_sda_pin` | 软件 I2C 的 SCL / SDA 引脚 | 使用硬件 I2C 时无需配置 | | `frequency` | LDC1612 外部晶振频率(Hz) | `40000000`(40MHz) | ### 配置示例[​](#配置示例 "配置示例的直接链接") `[probe_eddy_current]` 支持硬件 I2C 与软件 I2C 两种方式,二选一即可,不要同时配置 `i2c_bus` 与 `i2c_software_scl_pin` / `i2c_software_sda_pin`。 * 硬件 I2C(推荐) * 软件 I2C MCU 有可用硬件 I2C 总线时,优先使用硬件 I2C,通信更稳定: ``` [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # FLY-EDDY 的 I2C 地址为 0x42(42) i2c_mcu: SHT36 # 连接 EDDY 的 MCU 名称,按实际定义 i2c_bus: i2c1e # I2C 总线标识,根据 MCU 定义 i2c_speed: 400000 # I2C 通信速率(Hz),通信不稳定时可降低 frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY 为 40MHz x_offset: 0 y_offset: 21.42 descend_z: 2.5 ``` MCU 没有可用硬件 I2C 总线,或硬件 I2C 通信不稳定时,可使用软件 I2C,指定两个空闲 GPIO 作为 SCL / SDA: ``` [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # FLY-EDDY 的 I2C 地址为 0x42(42) i2c_mcu: SHT36 # 连接 EDDY 的 MCU 名称,按实际定义 i2c_software_scl_pin: SHT36:gpioXX # 软件 I2C 的 SCL 引脚,gpioXX 为示例占位,需按实际连接 EDDY 的空闲 GPIO 填写 i2c_software_sda_pin: SHT36:gpioXX # 软件 I2C 的 SDA 引脚,gpioXX 为示例占位,需按实际连接 EDDY 的空闲 GPIO 填写 i2c_speed: 400000 # I2C 通信速率(Hz),软件 I2C 速率不宜过高,通信不稳定时可降低 frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY 为 40MHz x_offset: 0 y_offset: 21.42 descend_z: 2.5 ``` 使用说明 * 硬件 I2C 与软件 I2C 二选一:使用硬件 I2C 配置 `i2c_mcu` + `i2c_bus`;使用软件 I2C 配置 `i2c_software_scl_pin` + `i2c_software_sda_pin`,不要再写 `i2c_bus`,也不要同时配置两种方式 * 软件 I2C 的引脚不能与其他功能(如温度传感器、风扇、限位等)重复占用,选择 MCU 上空闲的 GPIO * 出现 `BUS_TIMEOUT`、`Invalid read data`、`Eddy: CLKIN frequency too low` 等 I2C 报错时,先断电检查接线,再将 `i2c_speed` 降低测试 * `frequency` 必须与 EDDY 板载晶振一致,FLY-EDDY 为 40MHz;填错会导致读数异常 * 同一 I2C 总线上多个设备时,需确认设备地址不冲突 ## 相关文档[​](#相关文档 "相关文档的直接链接") > **EDDY 问题合集**:[EDDY 传感器常见问题](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy) > > **EDDY TAP 模式**:[EDDY TAP 模式调试](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap) > > **FLY-EDDY 产品文档**:[FLY-EDDY 简介](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) --- # EDDY TAP 模式调试 本页面用于 EDDY 在 TAP 模式下的调试流程、检查顺序和常见问题排查。TAP 模式通过喷嘴轻触床面判断触发阈值,调试时需留意喷嘴、热床和 Z 轴运动状态。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 使用说明 * 本页面是调试方法说明,不是可直接照抄的完整 `printer.cfg`。 * `canbus_uuid`、`serial`、探针引脚、归位方向、Z 轴行程和偏移量需按实际硬件修改。 * 首次启用前请先确认 EDDY、工具板、主板和 Z 轴机械结构状态正常。 ## 适用范围[​](#适用范围 "适用范围的直接链接") * 使用 EDDY / LDC1612 涡流传感器,需使用 `METHOD=tap` 或 TAP 阈值触发方式。 * 适用于 FLY SHT36 V3、SB2040 V3 等带 EDDY 支持的工具板。 * 已完成基础 EDDY 接线和普通高度校准,需进一步启用或排查 TAP 模式。 ## 版本要求[​](#版本要求 "版本要求的直接链接") 版本更新 * 使用 FLY FAST 系统:需确保系统版本 **>= `V1.3.9`**。 * 使用其他系统:请确保 Klipper 已更新到最新版本。 * 工具板或相关下位机固件也需更新到最新,否则可能出现主机支持 TAP 命令但 MCU 固件不响应的情况。 ## 必要配置[​](#必要配置 "必要配置的直接链接") 以 SHT36 V3 或 SB2040 V3 为例,`[probe_eddy_current fly_eddy_probe]` 中 **必须** 配置 `frequency: 40000000`,否则可能无法正常使用 EDDY。 ``` [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 # 以下 i2c_mcu、i2c_bus、偏移量需按实际工具板和安装位置修改 i2c_mcu: SHT36 i2c_bus: i2c1e i2c_speed: 400000 frequency: 40000000 x_offset: 0 y_offset: 21.42 descend_z: 2.5 tap_z_offset: 0 # 自动校准 TAP 阈值前先注释掉,校准成功后会由 SAVE_CONFIG 写入 # tap_threshold: 40000 ``` 配置完成后,需根据对应产品文档重新执行 **驱动电流校准** 与 **高度校准**。 > **相关文档**:[SHT36 V3 EDDY 使用](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/eddy) ## 配置前检查[​](#配置前检查 "配置前检查的直接链接") 断电操作 检查 EDDY 线束、工具板接口、探针固定螺丝、喷嘴和热床周围结构前,请完全关闭打印机并断开电源。不要在通电状态下插拔线束或调整端子。 1. 喷嘴和床面干净,无耗材残留、胶水凸起或异物。 2. EDDY 固定牢靠,线圈安装位置无松动。 3. Z 轴能正常上下移动,无卡死、顶死或碰撞机架。 4. 多 Z 轴机器先完成基础机械调平。 5. 已完成 EDDY 基础配置,能正常读取传感器数据。 ## 参考配置片段[​](#参考配置片段 "参考配置片段的直接链接") 以下配置只保留 EDDY TAP 常用部分,`mcu` 名称、I2C 总线、偏移量、调平方式和开始宏参数需按机器实际情况修改。建议放到独立配置文件中,再由 `printer.cfg` include。 ``` [respond] [force_move] enable_force_move: true [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 i2c_mcu: SHT36 i2c_bus: i2c1e i2c_speed: 400000 frequency: 40000000 x_offset: 0 y_offset: 21.42 descend_z: 2.5 speed: 5 samples: 3 sample_retract_dist: 5.0 samples_tolerance: 0.05 samples_tolerance_retries: 3 tap_z_offset: 0 # 自动寻找 TAP 阈值前先注释掉,校准成功后由 SAVE_CONFIG 写入 # tap_threshold: 40000 ``` ### TAP 设置 Z 偏移宏[​](#tap-设置-z-偏移宏 "TAP 设置 Z 偏移宏的直接链接") `SET_Z_FROM_PROBE METHOD=tap` 用于在 TAP 触发后更新当前 Z 坐标。建议连续执行数次,观察结果是否接近;差异很大时先不要保存,回去检查喷嘴、床面、Z 轴回差和 TAP 阈值。 ``` [gcode_macro _RELOAD_Z_OFFSET_FROM_PROBE] description: 根据上一次 PROBE 结果刷新当前 Z 坐标 gcode: {% set Z = printer.toolhead.position.z %} {% set position_endstop = 0 %} {% set raw_config = printer.configfile.config %} {% if 'stepper_z' in raw_config and 'position_endstop' in raw_config.stepper_z %} {% set position_endstop = raw_config.stepper_z.position_endstop|trim|float %} {% endif %} {% set setZ = Z - printer.probe.last_probe_position.z + position_endstop %} SET_KINEMATIC_POSITION Z={setZ} RESPOND MSG="position_Z={'%0.3f' | format(Z)} probe_Z={'%0.3f' | format(printer.probe.last_probe_position.z)} position_endstop={'%0.3f' | format(position_endstop)} set_Z={'%0.3f' | format(setZ)}" [gcode_macro SET_Z_FROM_PROBE] description: TAP 模式设置 Z 偏移,使用:SET_Z_FROM_PROBE METHOD=tap gcode: {% set METHOD = params.METHOD | default("automatic") %} G0 Z5 F300 PROBE METHOD={METHOD} SAMPLES=3 _RELOAD_Z_OFFSET_FROM_PROBE G0 Z5 F300 ``` 如果使用该宏保存和复用 `position_endstop`,需确认配置中存在可保存的 `stepper_z position_endstop` 值。首次调试可先设为 `0`,再通过手动 Z 偏移和首层效果确认实际值。 ### 开始打印宏调用[​](#开始打印宏调用 "开始打印宏调用的直接链接") 开始宏中只需在机器完成加热、归位和必要调平后调用 TAP 设置 Z 偏移。喷嘴升到打印温度前可先保持较低温度,避免挂料影响 TAP。 ``` [gcode_macro PRINT_START] gcode: {% set BED = params.BED|default(60)|int %} {% set EXTRUDER = params.EXTRUDER|default(200)|int %} {% set X_CENTER = printer.toolhead.axis_maximum.x|float / 2 %} {% set Y_CENTER = printer.toolhead.axis_maximum.y|float / 2 %} SET_GCODE_OFFSET Z=0 G21 G90 G28 G1 X{X_CENTER} Y{Y_CENTER} Z15 F9000 M190 S{BED} M109 S150 # 这里保留你原本的打印前准备流程 # ... # 如果有擦嘴宏,建议先清理喷嘴再 TAP # CLEAN_NOZZLE SET_Z_FROM_PROBE METHOD=tap # TAP 完成后再继续原本的打印准备流程 M109 S{EXTRUDER} G92 E0 ``` 喷嘴容易挂料时,可在 `SET_Z_FROM_PROBE METHOD=tap` 前后各执行一次擦嘴,并重复一次 `SET_Z_FROM_PROBE METHOD=tap` 提升稳定性。 ## 自动校准 TAP 阈值[​](#自动校准-tap-阈值 "自动校准 TAP 阈值的直接链接") Klipper 在 2026-05-02 后支持 TAP 阈值自动测量。使用前 **先注释掉** 手动填写的 `tap_threshold`,再通过以下命令重新寻找阈值。 TAP 阈值校准命令:`PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=xxx`,常用值为 `guess`、`refine`、`verify`。 急停准备 以下步骤会让喷嘴向床面移动并发生轻触。开始前请确保可随时执行急停(`M112`)。如果喷嘴接触床面后仍继续下降,请立即急停。 ### ① guess:初始粗略阈值[​](#-guess初始粗略阈值 "① guess:初始粗略阈值的直接链接") 确认喷嘴和床面干净,归零后将工具头移至床面中心附近,喷嘴离床面 `3~10mm`。 ``` PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=guess ``` 此命令会根据主探针校准数据分析得到初始 `tap_threshold` 粗略值,然后执行一次轻触探测。理想情况下,探针下降至喷嘴接触床面后抬起,并报告有效探测结果。 ### ② refine:精炼阈值[​](#-refine精炼阈值 "② refine:精炼阈值的直接链接") `TAP=guess` 成功后,保持喷嘴在床面中心附近 `3~10mm` 处,执行: ``` PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=refine ``` 此命令利用上一次成功探测的数据确定更精准的阈值。 ### ③ verify:验证稳定性[​](#-verify验证稳定性 "③ verify:验证稳定性的直接链接") `TAP=refine` 成功后执行: ``` PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=verify ``` 此命令连续探测床面五次。五次均正常完成且结果稳定即为通过。 ### ④ 保存配置[​](#-保存配置 "④ 保存配置的直接链接") 以上步骤全部成功后执行: ``` SAVE_CONFIG ``` 保存后重启 Klipper。此时仅保存了 TAP 阈值,还需继续完成 Z 偏移确认。 ## 手动寻找阈值[​](#手动寻找阈值 "手动寻找阈值的直接链接") 如果自动校准时报错阈值不合适,或出现提前触发、接触床面后仍不停止等情况,**不要继续反复执行自动命令**。改用 `PROBE_ACCURACY` 手动寻找: ``` PROBE_ACCURACY METHOD=tap tap_threshold=40000 ``` 手动调整时可从 `40000` 附近开始测试: * **未接触床面就触发** → 阈值过低,适当增大。 * **接触床面后仍不停止** → 阈值过高,立即急停并降低。 * 每次测试前确认喷嘴和床面干净,喷嘴离床面 `3~10mm`。 手动阈值稳定后,可回到自动校准的 `TAP=refine` 和 `TAP=verify` 验证。 ## 设置 Z 偏移[​](#设置-z-偏移 "设置 Z 偏移的直接链接") TAP 阈值通过后,用 Klipper 的 TAP 方法设置 Z 偏移: ``` SET_Z_FROM_PROBE METHOD=tap ``` 建议连续执行数次观察结果是否接近。差异很大时先不要保存,检查喷嘴清洁、热床刚性、Z 轴回差和 TAP 阈值。 间隙微调 新版 Klipper 中可用 `tap_z_offset` 做 TAP 间隙微调。实际首层仍建议结合打印效果确认,不要只看单次探测值。 ### 手动确认 Z 偏移[​](#手动确认-z-偏移 "手动确认 Z 偏移的直接链接") TAP 阈值和 `SET_Z_FROM_PROBE METHOD=tap` 都通过后,还需手动确认喷嘴与床面的实际间隙: 1. 清理喷嘴和床面,将喷嘴移至热床中心附近。 2. 执行 `SET_Z_FROM_PROBE METHOD=tap`,确认无异常。 3. 用纸张或首层测试检查实际喷嘴间隙,在网页端微调 Z 偏移。 4. 首层合适后保存配置。 5. 后续修改喷嘴、热端、EDDY 安装位置或床面结构后,需重新确认偏移。 ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 配置完成后仍无法正常使用[​](#配置完成后仍无法正常使用 "配置完成后仍无法正常使用的直接链接") 1. 确认 FAST 系统版本 **>= `V1.3.9`**(或 Klipper 已更新到最新)。 2. 确认下位机固件已更新到最新版本。 3. 确认 `[probe_eddy_current fly_eddy_probe]` 中已配置 `frequency: 40000000`。 4. 确认 `i2c_speed` 不过高,SHT36 V3 / SB2040 V3 可先按 `400000` 测试。 5. 重新执行驱动电流校准与高度校准。 6. 查看 `klippy.log` 中第一条 EDDY 或 TAP 相关报错,按报错内容排查。 ### TAP 探测结果不稳定[​](#tap-探测结果不稳定 "TAP 探测结果不稳定的直接链接") 1. 清理喷嘴和床面。 2. 检查 EDDY 固定是否松动。 3. 检查 Z 轴是否有卡顿或回差。 4. 重新执行 `TAP=refine` 和 `TAP=verify`。 ### EDDY TAP / Z\_TILT 触发 `Timer too close`[​](#eddy-tap-timer-too-close "eddy-tap-timer-too-close的直接链接") 典型报错: ``` !! MCU 'xxx' shutdown: Timer too close ``` 如果该报错只在 EDDY TAP、Z 归位、`Z_TILT_ADJUST`、`QUAD_GANTRY_LEVEL` 或扫床阶段出现,通常要同时检查 EDDY 采样、CAN 通信和上位机调度余量。 1. 查看 `klippy.log` 中报错前后的 `Stats` 行,确认是否同时存在 `bytes_retransmit`、`bytes_invalid`、`canstat_*` 异常、I2C 报错或上位机负载升高。 2. 确认 Klipper、工具板 MCU、EDDY MCU 固件版本一致,更新后要重新刷写全部相关 MCU。 3. 临时关闭摄像头流、KlipperScreen、远程控制插件和其他高占用服务后复测。 4. 如果报错发生在 `Z_TILT_ADJUST`,且机器结构允许,可临时改用 `Z_TILT_ADJUST METHOD=scan` 测试,减少 TAP 触发路径中的定时同步压力。 5. 减少启动宏中不必要的重复归位、重复 TAP 和连续扫床动作;已归位且机器状态可信时,可让宏避免重复 `G28`。 6. 如果同时出现 EDDY I2C 报错,先按 [I2C BUS\_TIMEOUT](#i2c-bus-timeout) 排查线束、I2C 速率和工具板接口。 > **系统类排查**:[Timer too close](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) ### `MCU 'xxx' I2C request to addr 42 reports error BUS_TIMEOUT`[​](#i2c-bus-timeout "i2c-bus-timeout的直接链接") EDDY 所在 MCU 与 LDC1612 通信失败或不稳定。 断电操作 检查 EDDY 线束、I2C 接口、端子压接或更换线束前,请完全关闭打印机并断开电源。不要在通电状态下插拔线束或调整端子。 1. 核对 `i2c_mcu`、`i2c_bus` 或软件 I2C 引脚是否与实际工具板一致。 2. 将 `i2c_speed` 先降到 `400000` 测试。 3. 检查 EDDY 线束、端子和工具板接口是否松动。 4. 确认 EDDY 与工具板固件均已更新到支持当前 Klipper 的版本。 ### `Unable to detect tap: insufficient slope delta`[​](#unable-to-detect-tap-insufficient-slope-delta "unable-to-detect-tap-insufficient-slope-delta的直接链接") 典型报错: ``` !! Unable to detect tap: insufficient slope delta (-36983.054918 vs 30633.703000) ``` 当前 `tap_threshold` 不合适,或探测数据未形成足够明显的 TAP 拐点。 1. 清理喷嘴和床面。 2. 不要反复执行自动校准,改用 `PROBE_ACCURACY METHOD=tap tap_threshold=40000` 手动寻找阈值。 3. 手动阈值稳定后再回到 `TAP=refine` 和 `TAP=verify` 验证。 ### `Unable to detect tap: invalid depress distance`[​](#unable-to-detect-tap-invalid-depress-distance "unable-to-detect-tap-invalid-depress-distance的直接链接") 典型报错: ``` !! Unable to detect tap: invalid depress distance (0.020411 vs 0.030000:0.250000) ``` Klipper 判断到的下压距离不在预期范围(`0.03~0.25mm`)内。常见原因:热床刚性不足、喷嘴接触过程不稳定、Z 轴回差或 TAP 阈值不合适。 1. 检查喷嘴、热床表面和磁贴是否干净平整。 2. 检查热床支撑、Z 轴结构和探针安装是否有明显松动。 3. 降低 Z 归位和探测速度后重新验证。 4. 多次出现同样报错时,先不要保存 TAP 参数,优先排查机械刚性和阈值。 5. 不建议普通用户直接修改 `klippy/extras/probe_eddy_current.py` 放宽报错范围;仅在确认硬件和阈值均正常后,由熟悉 Klipper 源码的人员评估是否需要调整。 ### `Eddy: CLKIN frequency too low`[​](#eddy-clkin-frequency-too-low "eddy-clkin-frequency-too-low的直接链接") 典型报错: ``` !! Eddy: CLKIN frequency too low: 0.001 < 0.002 ``` I2C 通信不稳定,数据点获取时间间隔异常。 1. 确认 `i2c_mcu`、`i2c_bus` 或软件 I2C 引脚填写正确。 2. 将 `i2c_speed` 先按 `400000` 测试,不要一开始写过高。 3. 检查 EDDY 线束、端子和工具板接口是否松动。 4. 如果使用软件 I2C,确认对应 GPIO 未被其他功能占用,且无外围电路影响信号。 --- # 硬件测试方法 本文档收录常见硬件模块的最小化测试方法,用于在排障时隔离单个硬件,确认问题来自配置、线束、模块本体还是主板端口。 测试思路来自主板与工具板测试配置:使用 `manual_stepper DriveN` 测驱动,使用 `output_pin` 测低压输出,使用 `temperature_sensor` 测温度/ADC,使用 `gcode_button` 测输入信号,使用 `adxl345` / `lis2dw` 测加速度计。 安全边界 以下所有接线、插拔、整理线束、调整跳线帽或拨码开关的步骤,都必须在打印机完全断电并断开电源供应后进行。禁止带电插拔驱动模块、步进电机线、CAN 线、探针线、风扇线或加速度计模块。 本文不要求客户焊接、拆卸电源、改动市电接线、测量裸露高压/大电流端子,或使用示波器等专业仪器。涉及加热棒、热床、SSR、MOS 管、电源输入端的电气检测,请联系售后或专业人员。 *** ## 使用前准备[​](#使用前准备 "使用前准备的直接链接") ### 备份原配置[​](#备份原配置 "备份原配置的直接链接") 1. 备份当前 `printer.cfg` 和相关 `include` 文件。 2. 新建一份临时 `printer.cfg`,先写入下方基础最小配置。 3. 再根据当前测试项目,把对应测试配置片段追加到基础最小配置后面。 4. 每次只测试一个硬件类型,避免多个模块同时影响判断。 5. 测试配置通过后,再恢复原始配置继续排查整机问题。 ### 基础最小配置[​](#基础最小配置 "基础最小配置的直接链接") 所有测试都先从这个基础配置开始。`serial` 必须改为当前主板实际串口 ID,后续章节中的测试配置片段直接追加在这段配置后面,不要重复添加第二个 `[printer]` 或 `[mcu]`。 ``` [printer] kinematics: none max_velocity: 200.00 max_accel: 40000.00 [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxx ``` 配置提示 测试配置中的引脚必须以实际主板、工具板说明书或厂家模板为准。不要直接照抄示例引脚到不同型号主板。 ### 推荐测试顺序[​](#推荐测试顺序 "推荐测试顺序的直接链接") 1. MCU 连接与主板温度。 2. 温度传感器或 ADC 输入。 3. 低压输出口,如风扇、RGB、蜂鸣器。 4. 输入口,如限位、探针、断料检测。 5. 加速度计。 6. 步进驱动与电机。 7. CAN 工具板通信。 *** ## MCU 与温度传感器测试[​](#mcu-与温度传感器测试 "MCU 与温度传感器测试的直接链接") ### 测试目的[​](#测试目的 "测试目的的直接链接") 确认 MCU 可以被 Klipper 连接,并验证主板温度、热敏电阻或 ADC 输入是否能正常显示。 ### 测试配置片段[​](#测试配置片段 "测试配置片段的直接链接") 将以下片段追加到基础最小配置后面: ``` [temperature_sensor MCU_TEMP] sensor_type: temperature_mcu [temperature_sensor ADC1] sensor_type: Generic 3950 sensor_pin: PF4 ``` ### 测试步骤[​](#测试步骤 "测试步骤的直接链接") 1. 将基础配置中的 `serial` 和测试片段中的 `sensor_pin` 改为实际主板对应值。 2. 断电后确认热敏电阻插头已插牢,线材无破损。 3. 上电并重启 Klipper。 4. 在 Mainsail / Fluidd 温度面板查看 `MCU_TEMP` 和 `ADC1` 是否显示合理温度。 ### 结果判断[​](#结果判断 "结果判断的直接链接") | 测试项 | 正常结果 | 异常表现 | 处理建议 | | -------- | ---------------------- | ------------------------------ | ---------------------------------- | | MCU 温度 | 显示接近环境温度或略高 | 无法连接 MCU | 检查 `serial`、固件和 USB/CAN 连接 | | 热敏电阻 | 显示接近环境温度 | `ADC out of range`、极高或极低 | 断电后检查插头、线序和传感器型号 | 注意 只观察温度读数,不要为了测试温度而加热喷嘴或热床。若怀疑加热回路、SSR、MOS 管或热床输出异常,请使用成品模块替换法或联系售后。 *** ## 低压输出口测试[​](#低压输出口测试 "低压输出口测试的直接链接") ### 测试目的[​](#测试目的-1 "测试目的的直接链接") 确认风扇、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 ``` ### 结果判断[​](#结果判断-1 "结果判断的直接链接") | 测试项 | 正常结果 | 异常表现 | 处理建议 | | ----------- | ------------ | -------------- | ----------------------------------- | | `VALUE=0.3` | 风扇低速转动 | 不转或抖动 | 检查风扇规格、接口供电和 PWM 兼容性 | | `VALUE=1` | 风扇全速转动 | 转速异常或异响 | 更换风扇或交叉测试端口 | | `VALUE=0` | 风扇停止 | 无法关闭 | 检查配置引脚是否写错 | ### 异常风扇风险排查[​](#异常风扇风险排查 "异常风扇风险排查的直接链接") 风扇风险 部分风扇因内部驱动设计、反灌电压或线序异常,可能导致主板风扇 MOS 管、风扇接口或主控相关电路损坏。发现异常风扇后请立即停用,不要反复接入主板风扇口测试。 1. 断电后确认风扇额定电压与风扇口电压一致。 2. 断电后检查风扇正负极、插头方向和线束外观,发现破皮、压伤、烧蚀、异味或插头松动时不要继续使用。 3. 优先使用已知正常风扇和成品线束进行交叉测试。 4. 通电测试时只通过 `SET_PIN` 或网页调节转速,并观察风扇是否正常启停、是否异响、是否异常发热或有异味。 5. 如果低速档异常抖动或停转、高速档异响明显,或接入该风扇后主板/接口异常发热,请立即断电并停用该风扇。 6. 不要使用万用表接触风扇口裸露端子测量输出;需要电气检测时请联系售后或专业人员。 ### RGB / LED 输出配置片段[​](#rgb--led-输出配置片段 "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` 直接控制。不要在未配置热敏保护的情况下点亮加热棒或热床输出;相关排查应通过完整加热器配置、温度曲线、替换成品模块或售后检测完成。 *** ## 输入口测试[​](#输入口测试 "输入口测试的直接链接") ### 测试目的[​](#测试目的-2 "测试目的的直接链接") 确认限位、探针、断料检测、工具板 HV-IN 等输入口是否能被 Klipper 识别。 断电操作 检查限位、探针、断料检测或输入按钮线序前,请完全关闭打印机并断开电源供应。通电查询时只触发开关的机械部位,不要触碰插头、端子或裸露线材。 ### gcode\_button 输入测试[​](#gcode_button-输入测试 "gcode_button 输入测试的直接链接") 适合测试工具板上的 HV-IN、门控、断料检测或普通输入脚。 将以下片段追加到基础最小配置后面: ``` [gcode_button IO0] pin: ^PA1 press_gcode: # 留空,仅用于输入状态查询 ``` ``` QUERY_BUTTON BUTTON=IO0 ``` 1. 未触发开关时执行 `QUERY_BUTTON BUTTON=IO0`,应返回 `IO0: RELEASED`。 2. 手动触发开关的机械部位后再次执行,应返回 `IO0: PRESSED`。 3. 如果状态不变化,断电后检查线序、插头、上拉 `^` 和 `pin` 配置。 为什么不用普通限位配置 普通限位测试通常会牵涉运动轴、步进、电机方向和行程范围等整机参数。硬件最小测试优先使用 `gcode_button`,只验证输入引脚状态。 *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 测试目的[​](#测试目的-3 "测试目的的直接链接") 确认工具板或外接模块上的 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 ``` ### 测试命令[​](#测试命令-1 "测试命令的直接链接") ``` ACCELEROMETER_QUERY ``` ### 结果判断[​](#结果判断-2 "结果判断的直接链接") | 测试项 | 正常结果 | 异常表现 | 处理建议 | | --------------------- | --------------- | ----------------------------- | ---------------------------------------- | | `ACCELEROMETER_QUERY` | 返回 x/y/z 数据 | `Invalid adxl345 id` 或无数据 | 断电后检查线束,核对 `cs_pin`、`spi_bus` | *** *** > **外设与驱动测试**:驱动测试、CAN 工具板测试和常见异常对照表请参考 [外设与驱动测试](https://mellow.klipper.cn/docs/DebugDoc/faq/hardware-testing-io)。 --- # 外设与驱动测试 本文用于验证步进驱动、CAN 工具板等外设模块是否正常工作。测试思路与基础 I/O 测试一致,使用最小化 Klipper 配置隔离单个硬件。 > 若需测试 MCU 连接、温度传感器、风扇输出或输入口,请先参考 [硬件测试方法](https://mellow.klipper.cn/docs/DebugDoc/faq/hardware-testing)。 ## 驱动测试[​](#驱动测试 "驱动测试的直接链接") ### 测试目的[​](#测试目的 "测试目的的直接链接") 用最简单的 Klipper 配置验证单个 TMC 驱动(UART 或 SPI 模式)能否与主板正常通信,并确认电机可以受控运行。 ### 前置条件[​](#前置条件 "前置条件的直接链接") 断电操作 请先完全关闭打印机并断开电源供应,再进行以下操作。禁止带电插拔驱动模块或步进电机线。 1. 打印机已完全断电。 2. 待测 TMC 驱动正确插入主板对应插座,确认方向无误。 3. 若为 UART 模式驱动(如 TMC2209),确认对应驱动口的 UART 跳线帽已安装。 4. 仅连接**一个**步进电机到待测驱动口,其余驱动口暂时留空。 5. 备份原有完整配置文件,准备好一份仅包含基础最小配置和待测驱动片段的临时 `printer.cfg`。 ### 单驱动最小化配置[​](#单驱动最小化配置 "单驱动最小化配置的直接链接") 先写入基础最小配置,再把当前驱动模式对应的测试片段追加到基础配置后面。`[manual_stepper]` 仍需一个最简 `[printer]` 段(`kinematics: none`),比运动轴配置更简洁,适合纯硬件验证。 #### 基础最小配置[​](#基础最小配置 "基础最小配置的直接链接") ``` [printer] kinematics: none max_velocity: 200.00 max_accel: 40000.00 [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxx ``` #### 驱动测试配置片段[​](#驱动测试配置片段 "驱动测试配置片段的直接链接") 下面只展示需要追加的驱动测试片段,不要重复添加第二个 `[printer]` 或 `[mcu]`。 * UART 模式(TMC2209 / TMC2240等) * SPI 模式(TMC5160 / TMC2130等) ``` [manual_stepper Drive0] # 请根据实际主板引脚修改以下三项 step_pin: PE2 dir_pin: PC5 enable_pin: !PF11 # 以下参数无需修改 microsteps: 16 rotation_distance: 40 velocity: 500 accel: 10000 position_min: 0 position_max: 1000 [tmc2209 manual_stepper Drive0] # 请根据实际主板引脚修改 uart_pin # 请根据驱动器厂家资料修改 sense_resistor uart_pin: PC4 interpolate: False run_current: 0.8 sense_resistor: stealthchop_threshold: 0 ``` ``` [manual_stepper Drive0] # 请根据实际主板引脚修改以下三项 step_pin: PE2 dir_pin: PC5 enable_pin: !PF11 # 以下参数无需修改 microsteps: 16 rotation_distance: 40 velocity: 500 accel: 10000 position_min: 0 position_max: 1000 [tmc5160 manual_stepper Drive0] # 请根据实际主板引脚修改 cs_pin 和 spi_bus # 请根据驱动器厂家资料修改 sense_resistor cs_pin: PC4 spi_bus: spi1a run_current: 0.8 sense_resistor: stealthchop_threshold: 0 ``` 配置说明 * `serial`:替换为主板实际串口 ID(可通过 `ls /dev/serial/by-id/` 查看),只在基础最小配置中保留一处。 * `step_pin` / `dir_pin` / `enable_pin`:替换为待测驱动口对应的主板引脚。 * `uart_pin`(UART 模式)/ `cs_pin` + `spi_bus`(SPI 模式):替换为实际引脚与 SPI 总线编号。 * `sense_resistor`:必须按驱动器厂家提供的参数填写,不要只按芯片型号猜测。不同 TMC5160 驱动板可能是 `0.075`、`0.033`、`0.022` 或其他值;TMC2240 等驱动的采样参数也可能不同。若厂家资料未标明,请优先咨询厂家或使用其官方配置示例。 * 配置中不含任何加热器、风扇,仅用于驱动通信验证。 ### 多驱动测试方法[​](#多驱动测试方法 "多驱动测试方法的直接链接") 如果需要逐个验证一块主板上的多个驱动口,可参考测试配置的命名方式,把每个驱动口写成独立的 `Drive0`、`Drive1`、`Drive2`: ``` [manual_stepper Drive1] step_pin: PE3 dir_pin: PF13 enable_pin: !PF14 microsteps: 16 rotation_distance: 40 velocity: 500 accel: 10000 position_min: 0 position_max: 1000 [tmc2209 manual_stepper Drive1] uart_pin: PF12 interpolate: False run_current: 0.8 sense_resistor: stealthchop_threshold: 0 ``` 测试时只连接当前待测驱动口的电机,确认一个端口后断电,再换到下一个端口。 ### 测试步骤[​](#测试步骤 "测试步骤的直接链接") 1. 将基础最小配置和当前驱动测试片段保存为 `printer.cfg`。 2. 确认电机和驱动插好后再上电,启动 Klipper。 3. 在 Mainsail / Fluidd 控制台中输入以下命令,使能电机并把当前位置设为 `0`: ``` MANUAL_STEPPER STEPPER=Drive0 ENABLE=1 MANUAL_STEPPER STEPPER=Drive0 SET_POSITION=0 ``` * 如果使能后电机有保持扭矩,说明 `enable_pin` 基本有效。 * 如果电机仍可自由转动,断电后检查 `enable_pin`、驱动方向、跳线帽和供电。 4. 执行手动移动测试: ``` MANUAL_STEPPER STEPPER=Drive0 MOVE=100 SPEED=100 MANUAL_STEPPER STEPPER=Drive0 MOVE=0 SPEED=100 ``` * `MOVE=` 是目标位置,不是相对位移。执行 `MOVE=100` 后再执行 `MOVE=0`,电机会反向回到起点。 * 如果电机仍连接在机器运动机构上,第一次测试建议先改成 `MOVE=10 SPEED=5`,确认方向和行程安全后再提高速度。 * 若电机平稳转动无卡顿,说明驱动、电机和脉冲/方向引脚基本正常。 * 若电机无反应、只抖动或方向异常,断电后检查引脚配置、电机线序、驱动方向和跳线帽。 5. 验证 TMC 通信状态: ``` DUMP_TMC STEPPER=Drive0 ``` 若能正常返回寄存器信息,说明 UART/SPI 通信基本正常;若提示无法读取寄存器,请参考 [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc)。 6. 测试结束后关闭电机使能: ``` MANUAL_STEPPER STEPPER=Drive0 ENABLE=0 ``` ### 预期结果[​](#预期结果 "预期结果的直接链接") | 测试项 | 正常结果 | 异常表现 | | -------- | ------------------------------- | -------------------------- | | 手动移动 | 电机按命令正反向移动 | 不动、抖动、卡顿或方向异常 | | TMC 通信 | `DUMP_TMC` 返回寄存器信息 | 无法读取 UART/SPI 寄存器 | | 保持扭矩 | `ENABLE=1` 后电机轴无法自由转动 | 轴可轻松转动(未使能) | 若以上三项均正常,说明驱动与主板通信及电机接线无问题,可恢复原始 `printer.cfg` 并继续排查其他硬件。 *** ## CAN 工具板最小测试[​](#can-工具板最小测试 "CAN 工具板最小测试的直接链接") ### 测试目的[​](#测试目的-1 "测试目的的直接链接") 确认 CAN 工具板已经被 Klipper 识别,并验证工具板上的温度、风扇、加速度计或输入口。 ### 最小化配置[​](#最小化配置 "最小化配置的直接链接") 先保留基础最小配置,再将以下 CAN 工具板测试片段追加到配置后面。若只测试 CAN 工具板,请同时保留主板 `[mcu]`,方便 Klipper 正常启动并显示主板连接状态。 ``` [mcu tool] canbus_uuid: xxxxxxxxxxxx [temperature_sensor ToolBoard] sensor_type: temperature_mcu sensor_mcu: tool [output_pin tool_FAN0] pin: tool:gpio13 pwm: True cycle_time: 0.010 value: 0 shutdown_value: 0 ``` ### 测试步骤[​](#测试步骤-1 "测试步骤的直接链接") 1. 按 [CAN 网络配置与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) 搜索并填写 `canbus_uuid`。 2. 重启 Klipper 后查看 `ToolBoard` 温度是否正常显示。 3. 使用 `SET_PIN PIN=tool_FAN0 VALUE=1` 测试工具板低压风扇输出,测试后执行 `SET_PIN PIN=tool_FAN0 VALUE=0`。 4. 如需测试工具板加速度计或输入口,可按上文对应章节添加配置。 CAN 排查提示 CANH/CANL 线序、终端电阻、跳线帽和线束整理都必须断电后操作。不要在通电状态下拔插 CAN 线或调整终端电阻。 *** ## 常见异常与下一步[​](#常见异常与下一步 "常见异常与下一步的直接链接") | 异常表现 | klippy.log 常见关键词 | 优先检查 | 下一步 | | --------------------- | ------------------------------------------------------------------------ | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | | Klipper 无法连接 MCU | `Unable to connect`、`Connect error`、`Serial connection closed` | `serial` / `canbus_uuid`、固件、USB/CAN 连接 | [常见报错总览](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#connection-issues) | | 温度显示异常 | `ADC out of range`、`temperature`、`not heating` | `sensor_type`、`sensor_pin`、热敏插头 | [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude) | | 加热器或热床 shutdown | `Verify heater`、`not heating at expected rate` | 热敏接触、PID、加热器功率、SSR | [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude#verify-heater-shutdown) | | 风扇不转 | 无报错(输出口不产生日志) | `pin`、风扇电压规格、PWM 兼容性 | 换风扇或换端口交叉测试 | | 输入状态不变 | 无报错(输入口不产生日志) | 上拉 `^`、线序、开关类型 | 断电后检查插头和端口 | | 加速度计无数据 | `Invalid adxl345 id`、`Invalid lis2dw id`、`timeout` | `cs_pin`、`spi_bus`、线束、模块型号 | [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) | | 共振测试失败 | `No data`、`Insufficient axis data`、`Frequency range` | 传感器固定、皮带张力、风扇振动 | [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) | | 电机不动 | `Unable to read tmc uart`、`Unable to write tmc spi` | `step_pin`、`dir_pin`、`enable_pin`、TMC 配置 | [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc) | | TMC 无法读取寄存器 | `DRV_STATUS`、`read register`、`GSTAT` | UART/SPI 引脚、跳线帽、驱动供电、驱动型号 | [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc) | | CAN 工具板离线 | `bytes_invalid`、`Network is down`、`No buffer space`、`Timer too close` | CAN 线序、终端电阻、供电、UUID | [CAN 网络配置与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) | | 打印中随机卡顿/丢失 | `Stepper too far in past`、`Rescheduled timer`、`Lost communication` | 上位机负载、通信线干扰、速度加速度 | [系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system) | | 配置无法保存 | `Unable to write`、`Option conflict`、`CRC does not match` | 文件权限、自动保存区冲突、FIRMWARE\_RESTART | [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config#save-config-conflict) | *** ## 参考配置片段[​](#参考配置片段 "参考配置片段的直接链接") 维护测试配置时,可按硬件类型从对应主板/工具板模板中提取片段: * 主板测试:`temperature_sensor`、`manual_stepper DriveN`、`tmcXXXX manual_stepper DriveN`、`output_pin FANx`、`gcode_button IOx`。 * 工具板测试:`temperature_sensor`、`adxl345` / `lis2dw`、`manual_stepper Drive0`、`output_pin FANx`、`gcode_button`。 * 多驱动测试:保持 `Drive0`、`Drive1`、`Drive2` 这种命名,测试命令中的 `STEPPER=` 与配置段名称保持一致。 * 低压输出测试:优先选择风扇、RGB、蜂鸣器等低压负载,不把加热棒或热床当作普通 `output_pin` 测试。 若某个模块无法通过上述最小测试,请先恢复原配置,再结合具体报错到对应 FAQ 页面继续排查。 --- # Klipper 归位超时问题 ## 问题描述[​](#问题描述 "问题描述的直接链接") 归位过程中出现通信超时错误: ``` Error during homing z: Communication timeout during homing ``` 该问题常见于多 MCU 的 Z 轴归位场景。归位过程中如果上位机负载较高,或多 MCU 通信响应不稳定,就可能触发超时。 前置检查 * 确认 Klipper 已正常安装并可启动。 * 确认当前用户为 Klipper 安装用户。 * 确认下方命令中的路径与实际系统一致。 * 修改 Klipper 源码或添加脚本前,建议先备份相关文件。 - 调整超时时间 - 管理 KlipperScreen - 排查电磁干扰 ## 方法一:调整超时时间[​](#方法一调整超时时间 "方法一:调整超时时间的直接链接") 注意 此方法会直接修改 Klipper 源码文件 `mcu.py`,仅建议用于确认归位超时问题。更新 Klipper 后该修改可能被覆盖;问题解决或验证完成后,建议恢复默认值。 先备份原文件: ``` cp ~/klipper/klippy/mcu.py ~/klipper/klippy/mcu.py.bak ``` 修改 Klipper 中的 `TRSYNC_TIMEOUT`: ``` sed -i 's/TRSYNC_TIMEOUT = [0-9.]*$/TRSYNC_TIMEOUT = 0.05/' ~/klipper/klippy/mcu.py ``` 重启 Klipper 服务: ``` sudo systemctl restart klipper ``` 查看当前设置: ``` grep "TRSYNC_TIMEOUT =" ~/klipper/klippy/mcu.py ``` 如需恢复默认值: ``` sed -i 's/TRSYNC_TIMEOUT = [0-9.]*$/TRSYNC_TIMEOUT = 0.025/' ~/klipper/klippy/mcu.py sudo systemctl restart klipper ``` 如果需要恢复备份文件: ``` cp ~/klipper/klippy/mcu.py.bak ~/klipper/klippy/mcu.py sudo systemctl restart klipper ``` ## 方法二:管理 KlipperScreen[​](#方法二管理-klipperscreen "方法二:管理 KlipperScreen的直接链接") 通过临时关闭 KlipperScreen 释放系统资源,降低归位过程中触发通信超时的概率。 注意 此方法会添加 `gcode_shell_command.py`、脚本目录和宏配置。请确认当前系统允许使用 shell command,并确认脚本路径与实际安装路径一致。 ### 下载必要文件[​](#下载必要文件 "下载必要文件的直接链接") 标准系统: ``` git clone https://cnb.cool/3dmellow/public/klipper-klipperscreen-manager curl -# -L --retry 3 --retry-delay 2 -o ~/klipper/klippy/extras/gcode_shell_command.py https://raw.githubusercontent.com/dw-0/kiauh/master/kiauh/extensions/gcode_shell_cmd/assets/gcode_shell_command.py ``` FlyOS-FAST 系统: ``` cd /data git clone https://cnb.cool/3dmellow/public/klipper-klipperscreen-manager curl -# -L --retry 3 --retry-delay 2 -o /data/klipper/klippy/extras/gcode_shell_command.py https://raw.githubusercontent.com/dw-0/kiauh/master/kiauh/extensions/gcode_shell_cmd/assets/gcode_shell_command.py ``` ### 设置脚本权限[​](#设置脚本权限 "设置脚本权限的直接链接") 标准系统: ``` cd ~/klipper-klipperscreen-manager chmod +x ~/klipper-klipperscreen-manager/scripts/*.sh ``` FlyOS-FAST 系统: ``` cd /data/klipper-klipperscreen-manager chmod +x /data/klipper-klipperscreen-manager/scripts/*.sh ``` ### 创建配置文件[​](#创建配置文件 "创建配置文件的直接链接") 1. 在 Klipper 配置目录中创建 `klipper_macros.cfg` 文件。 2. 在 `printer.cfg` 文件顶部添加: ``` [include klipper_macros.cfg] ``` ### 配置宏命令[​](#配置宏命令 "配置宏命令的直接链接") 在 `klipper_macros.cfg` 中添加以下内容。请将 `/data/klipper-klipperscreen-manager/scripts/` 改成实际脚本路径。 ``` [gcode_shell_command disable_klipperscreen] command: sh /data/klipper-klipperscreen-manager/scripts/disable_klipperscreen.sh timeout: 5.0 verbose: True [gcode_shell_command enable_klipperscreen] command: sh /data/klipper-klipperscreen-manager/scripts/enable_klipperscreen.sh timeout: 5.0 verbose: True [gcode_macro RESTART_KlipperScreen] variable_time: 60 gcode: {% set wait_time = params.TIME|default(printer["gcode_macro RESTART_KlipperScreen"].time)|int %} {action_respond_info("等待时间: %s 秒" % wait_time)} RUN_SHELL_COMMAND CMD=disable_klipperscreen PARAMS={wait_time} [gcode_macro ENABLE_KlipperScreen] gcode: {action_respond_info("立即启动 KlipperScreen")} RUN_SHELL_COMMAND CMD=enable_klipperscreen ``` ### 使用方法[​](#使用方法 "使用方法的直接链接") 临时关闭 KlipperScreen: ``` RESTART_KlipperScreen ``` 指定关闭时间,例如 120 秒: ``` RESTART_KlipperScreen TIME=120 ``` 手动立即启动 KlipperScreen: ``` ENABLE_KlipperScreen ``` 工作原理 此方法通过临时关闭 KlipperScreen 界面释放系统资源,降低 CPU 负载,从而减少归位过程中的通信超时。 ### 还原方法[​](#还原方法 "还原方法的直接链接") 如不再使用此方法,可按顺序还原: 1. 从 `printer.cfg` 中删除或注释 `[include klipper_macros.cfg]`。 2. 删除 `klipper_macros.cfg` 中与 `disable_klipperscreen`、`enable_klipperscreen`、`RESTART_KlipperScreen`、`ENABLE_KlipperScreen` 相关的配置。 3. 删除下载的脚本目录。 标准系统: ``` rm -rf ~/klipper-klipperscreen-manager ``` FlyOS-FAST 系统: ``` rm -rf /data/klipper-klipperscreen-manager ``` 如果系统中没有其他功能依赖 `gcode_shell_command.py`,也可以删除该文件。删除前请确认没有其它宏正在使用 `RUN_SHELL_COMMAND`。 ## 方法三:排查电磁干扰[​](#方法三排查电磁干扰 "方法三:排查电磁干扰的直接链接") 归位超时最常见的硬件原因是**电磁干扰(EMI)**。归位过程中多轴电机同时运动,大电流 PWM 驱动信号会产生强电磁场。如果 CAN 或 USB 通信线靠近电机线、加热线走线,干扰信号耦合到通信线上,轻则通信延迟、重则直接掉线触发超时。 电磁干扰导致的归位超时特点: * **间歇性**:不是每次都超时,时好时坏。 * **与动作相关**:通常是归位或快速移动时触发,静止时一切正常。 * **断电重启后恢复**:重新上电后又能正常连接,但打印或归位时问题复现。 ### 排查要点[​](#排查要点 "排查要点的直接链接") 断电操作 整理 CAN/USB 线束、调整屏蔽层、启用终端电阻或测量 CANH-CANL 电阻前,请完全关闭打印机并断开电源供应。不要在通电状态下拔插通信线、改线、测电阻或触碰电源端子。 #### 1. 走线布局[​](#1-走线布局 "1. 走线布局的直接链接") 将 CAN/USB 通信线与电机线、加热线、热床线**分开走线**: * 在拖链中保持至少 2-3cm 距离 * 避免与强电线平行走线,尽量交叉布线 * CAN 线应使用**双绞线**(绞距不超过几厘米) #### 2. 屏蔽接地[​](#2-屏蔽接地 "2. 屏蔽接地的直接链接") 如果使用屏蔽线: * **仅在上位机侧单端接地**,工具板/MCU 侧屏蔽层悬空不接 * **不要双端接地**——会形成地环路,反而引入干扰 * 屏蔽层接地点应优先连接主板或工具板上丝印标注的 GND 引脚;如无明确标注,请联系售后确认。不要自行拆卸电源或改动市电地线。 #### 3. 终端电阻[​](#3-终端电阻 "3. 终端电阻的直接链接") * CAN 总线两端必须有且仅有两个 120Ω 终端电阻 * 终端电阻必须安装在总线**物理末端**,通常通过板载跳线帽、拨码开关或成品终端接口启用,不要自行改接在线缆中间 * **请先断电再操作**。用万用表测量 CANH-CANL 间电阻,正常约为 **60Ω**(两个 120Ω 并联) #### 4. 机器接地[​](#4-机器接地 "4. 机器接地的直接链接") * 确保打印机使用合规三孔插座,并优先使用厂家提供的接地点 * 不要自行拆卸电源、改动市电地线或连接裸露电源端子;需要处理接地时请联系售后或专业电工 * 未接地的机器金属框架相当于一个**大型天线**,拾取环境噪声后放大干扰 #### 5. 验证方法[​](#5-验证方法 "5. 验证方法的直接链接") 临时测试干扰是否为根因: ``` # 降低打印速度和电机电流 SET_VELOCITY_LIMIT VELOCITY=50 # 或临时降低驱动电流 30% 测试 SET_TMC_CURRENT STEPPER=stepper_x CURRENT=0.5 ``` 如果降低速度/电流后归位超时消失,基本可以确认是电磁干扰问题,需按上述要点优化走线和接地。 参考 更多干扰排查细节请参阅 [CAN 报错排查 - CAN 总线节点不响应](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot#can-node-not-respond)。 --- # CAN 网络配置与 ID 搜索 本文用于处理 CAN 网络配置、CAN0 状态确认、CAN UUID 搜索以及常见 CAN 报错排查。 适用场景: * 使用 UTOC 等 USB 转 CAN 模块连接 CAN 工具板。 * 使用已刷 USB 桥接 CAN 固件的主板连接 CAN 工具板。 * 主板或工具板已刷 CAN 固件,需要搜索 CAN UUID。 * Klipper 出现 CAN0、CAN UUID 或 CAN 网络相关报错。 ## 使用前注意[​](#使用前注意 "使用前注意的直接链接") 1. 将 UTOC 或已刷 CAN 桥接固件的主板通过 USB 连接至上位机。 2. 请通过网络登录上位机后台,不要使用串口登录。 3. FlyOS-FAST 系统已预设 CAN0 为 1M 速率、1024 缓存,一般无需手动配置 CAN0。 4. 工具板、主板固件中的 CAN 速率必须与上位机 CAN0 速率一致。 5. CAN 总线两端需要终端电阻,线序、电阻和供电问题都会导致搜索不到 ID。 ## CAN 接线与终端电阻[​](#can-接线与终端电阻 "CAN 接线与终端电阻的直接链接") 接线和终端电阻是 CAN 网络最常见的问题来源。 断电操作 检查 CAN-H/CAN-L 线序、插头、压接、终端电阻跳线或拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拔插 CAN 线、调整跳线帽或测量电阻。 ### 接线检查[​](#接线检查 "接线检查的直接链接") 1. 断电后确认 CAN-H 接 CAN-H,CAN-L 接 CAN-L。 2. 断电后检查 CAN 线、接插件和压线位置,确认没有断线、松动或接触不良。 3. 如果使用 UTOC,请使用完好的 USB 数据线连接到上位机。 4. 如果使用 USB 桥接 CAN 主板,请确认该主板已经刷写 USB 桥接 CAN 固件。 5. 重新装好线束和外壳后再上电,确认 CAN 设备是否被系统识别。 ### 终端电阻检查[​](#终端电阻检查 "终端电阻检查的直接链接") CAN 总线两端各需要一个 `120Ω` 终端电阻。整机完全断电后,使用万用表测量 CAN-H 与 CAN-L 之间的阻值。 | 测量值 | 判断 | | --------- | ------------------------------------- | | 约 `60Ω` | 正常,两端终端电阻已正确连接 | | 约 `120Ω` | 通常只有一端有终端电阻,或者断线 | | 约 `40Ω` | 可能有多余终端电阻,请检查中间节点 | | 约 `140Ω` | 可能存在 CAN-H / CAN-L 接反或线路异常 | 注意 测量终端电阻必须在完全断电状态下进行。未完全断电时操作可能导致读数不准,也可能损坏设备。 ## 检查上位机是否支持 CAN[​](#检查上位机是否支持-can "检查上位机是否支持 CAN的直接链接") > FLY 上位机可跳过此步骤。 执行以下命令检测内核 CAN 支持: ``` sudo modprobe can && echo "内核支持 CAN" || echo "内核不支持 CAN" ``` 若显示 `内核支持 CAN`,可继续配置。若显示不支持,建议先更换支持 SocketCAN 的系统镜像。 ## 检查 CAN 设备是否被识别[​](#检查-can-设备是否被识别 "检查 CAN 设备是否被识别的直接链接") 配置或搜索 CAN ID 前,建议先确认上位机已经识别到 UTOC 或 USB 桥接 CAN 设备。 执行: ``` lsusb ``` 结果判断: * 看到 `1d50:606f`:设备已被系统识别,可继续配置或搜索 CAN ID。 * 提示找不到 `lsusb`:请先安装 `usbutils`。 * 没有看到 `1d50:606f`:检查 USB 线、UTOC、USB 桥接 CAN 固件和供电。 * 出现多个 `1d50:606f`:建议只保留一个 CAN 桥接设备,避免同时接入多个 CAN0 来源。 安装 `usbutils`: ``` sudo apt-get update sudo apt-get install usbutils ``` 注意 只有系统识别到 CAN 桥接设备后,后续 CAN0 配置和 CAN ID 搜索才有意义。 ## 配置 CAN0[​](#配置-can0 "配置 CAN0的直接链接") 注意 此操作会覆盖原有 CAN0 配置,完成后需要重启系统。FlyOS-FAST 系统无需执行本步骤。 ### 判断网络管理方式[​](#判断网络管理方式 "判断网络管理方式的直接链接") 不同系统使用的网络管理方式不同,配置 CAN0 前应先确认当前系统由谁管理网络。不要同时使用多套方式配置同一个 `can0`,否则可能出现配置不生效、重启后丢失或 CAN0 状态异常。 执行以下命令查看常见网络服务状态: ``` systemctl is-active NetworkManager systemctl is-active systemd-networkd systemctl is-active networking ``` 也可以继续查看配置文件和设备状态: ``` ls /etc/network/interfaces /etc/network/interfaces.d/ 2>/dev/null networkctl list 2>/dev/null nmcli device status 2>/dev/null ``` 根据结果选择配置方式: | 判断结果 | 说明 | 建议选择 | | -------------------------------------------------------------------- | ----------------------------- | ------------------------------------------------------------------ | | `networking` 显示 `active`,并且存在 `/etc/network/interfaces.d/` | 常见于 Debian、Armbian 等系统 | 使用 `ifupdown` | | `systemd-networkd` 显示 `active`,`networkctl list` 能看到网络设备 | 网络由 systemd-networkd 管理 | 使用 `systemd-networkd` | | `NetworkManager` 显示 `active`,`nmcli device status` 能看到网络设备 | 网络由 NetworkManager 管理 | 不要直接混用下面两种配置,优先按当前系统的 NetworkManager 方案处理 | | 多个服务都显示 `active` | 系统可能存在混合网络管理 | 先确认哪个服务实际管理 `can0`,再选择对应方式 | 若无法判断当前系统使用哪种方式,建议先参考系统镜像或上位机厂商文档。FLY 上位机和 FlyOS-FAST 系统一般无需手动配置 CAN0。 ### 写入 CAN0 配置[​](#写入-can0-配置 "写入 CAN0 配置的直接链接") 确认网络管理方式后,根据实际系统选择对应配置。 * ifupdown * systemd-networkd ### ifupdown[​](#ifupdown "ifupdown的直接链接") 适用于使用 `/etc/network/interfaces.d/` 管理网络的 Debian、Armbian 等系统。1M 速率配置如下: ``` sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF allow-hotplug can0 iface can0 can static bitrate 1000000 up ifconfig \$IFACE txqueuelen 1024 pre-up ip link set can0 type can bitrate 1000000 pre-up ip link set can0 txqueuelen 1024 EOF ``` 如需 500K 速率,将上方命令中的 `1000000` 改为 `500000` 后再执行。 ### systemd-networkd[​](#systemd-networkd "systemd-networkd的直接链接") 适用于使用 `systemd-networkd` 管理网络的系统。1M 速率配置如下: 创建网络配置文件: ``` sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF' [Match] Name=can* [CAN] BitRate=1000000 RestartSec=100ms EOF ``` 创建链接配置文件: ``` sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF' [Match] OriginalName=can* [Link] TxQueueLength=1024 EOF ``` 如需 500K 速率,将 `BitRate=1000000` 改为 `BitRate=500000`。 配置完成后重启设备: ``` sudo reboot ``` ## 确认 CAN0 状态[​](#确认-can0-状态 "确认 CAN0 状态的直接链接") 重启后执行: ``` ip -details link show can0 ``` 重点核对以下内容: * `bitrate`:CAN 通信速率,例如 `1000000` 表示 1M。 * `qlen` 或 `txqueuelen`:发送队列长度,建议为 `1024`。 Loading... 如果提示找不到 `can0`,可先执行: ``` ip link lsusb dmesg | grep -i can ``` 常见原因: * UTOC 未被系统识别,或 USB 线仅支持供电。 * 主板未刷写 USB 桥接 CAN 固件。 * CAN0 配置文件未生效,或系统未重启。 * 系统镜像不支持 SocketCAN。 ## 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") 搜索前请先确认设备处于可搜索状态: 1. 如果该设备的 UUID 已写入 `printer.cfg` 并被 Klipper 正常连接,搜索命令可能不会再次列出该设备。 2. 搜索前可临时注释对应 `[mcu]` 配置段,保存后重启 Klipper。 3. 设备断电约 10 秒后重新上电,再执行搜索命令。 普通上位机执行: ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` FLY 上位机执行: ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` 结果判断: * `Application: Klipper`:该 ID 可直接写入 `printer.cfg` 使用。 * `Application: CANBOOT` 或 `Application: Katapult`:设备仍处于引导程序,需要先刷写 Klipper 固件。 * 搜索不到任何 ID:先按下方“搜索不到 ID 的排查顺序”检查 CAN0、线序、终端电阻、供电和固件通信方式。 Loading... ## CAN ID 填写方法[​](#can-id-填写方法 "CAN ID 填写方法的直接链接") 1. 打开打印机网页界面,在左侧配置入口中找到 `printer.cfg`。 2. 将搜索到的 UUID 填写到对应 `[mcu]` 配置段的 `canbus_uuid:` 后。 3. 使用 CAN 连接时,不要在同一个 `[mcu]` 中同时保留 `serial:` 和 `canbus_uuid:`。 4. 保存并重启 Klipper。 CAN 固件填写示例: ``` [mcu] canbus_uuid: xxxxxxxxxxxx ``` USB 固件使用 `serial:`,CAN 固件使用 `canbus_uuid:`。如果从 USB 固件改为 CAN 固件,需要删除或注释原来的 `serial:`。 注意 文档中的 ID 均为示例。每块主板或工具板的 ID 都不相同,请填写实际搜索到的 ID。 *** > **CAN 报错排查**:如果已正确配置 CAN0 和 CAN ID 但仍然出现通信异常,请参考 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot)。 --- # CAN 报错排查 本文用于处理 CAN 网络常见报错、通信异常排查以及搜索不到 CAN ID 时的排查流程。 适用场景: * Klipper 出现 CAN0、CAN UUID 或 CAN 网络相关报错。 * CAN 设备间歇性离线或搜索不到。 * 需要排查 CAN `bytes_invalid`、`USB CANBUS bridge`、`BUS-OFF`、Timer too close 等问题。 > 若需配置 CAN0、搜索 CAN ID 或了解接线与终端电阻规则,请先参考 [CAN 网络配置与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can)。 ## 常见报错判断[​](#常见报错判断 "常见报错判断的直接链接") | 报错 | 常见原因 | 处理方式 | | ------------------------------------------------------------------------- | ------------------------------------------- | --------------------------------------------------- | | `OSError: [Errno 19] No such device` | 上位机找不到 CAN 设备 | 检查 UTOC、USB 线、CAN 桥接固件和供电 | | `can.CanError: Failed to transmit: [Errno 100] Network is down` | CAN0 未启动或配置错误 | 重新配置 CAN0 并重启 | | `can.CanError: Failed to transmit: [Errno 105] No buffer space available` | CAN 缓存不足或系统网络队列异常 | 确认缓存为 `1024`,必要时重新配置 CAN0 | | `mcu 'xxx': Invalid CAN uuid` | CAN UUID 填写错误或设备未在线 | 重新搜索 UUID,检查线序、供电和终端电阻 | | `Serial connection closed` | Klipper 已找到配置但连接中断 | 检查 CAN 网络质量、线序、终端电阻和固件速率 | | `Duplicate canbus_uuid` | 多个 MCU 配置使用了同一个 CAN UUID | 重新搜索 UUID,确认每个 `[mcu xxx]` 唯一 | | `Unknown canbus_uuid xxx` | 配置中的 CAN UUID 不在当前网络搜索结果中 | 注释对应 MCU 配置后重新搜索并填写 | | `Can not update MCU 'xxx' config as it is shutdown` | CAN MCU 已先进入 shutdown,后续配置更新失败 | 向上翻 `klippy.log` 找第一条掉线或 shutdown 根因 | | `USB CANBUS bridge 'mcu' is discarding!` | USB-CAN 桥接 MCU 的 CAN 硬件已丢弃消息 | 查看 `canstat_mcu`、`bus_state`、供电、收发器和线束 | | `can state BUS-OFF` / `ERROR-PASSIVE` | CAN 控制器进入错误状态 | 断电检查物理总线、终端电阻、线序和节点数量 | 更多 Klipper 报错可参考 [常见报错提示](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err)。 ## CAN 通信报错排查[​](#can-通信报错排查 "CAN 通信报错排查的直接链接") 电磁干扰是常见根源 CAN 总线通信异常的很大一部分原因是**电磁干扰(EMI)**。3D 打印机内部的步进电机线、加热线、热床线在大电流工作时会产生强电磁场,如果 CAN 通信线(CANH/CANL)与这些强电线**近距离平行走线**,干扰信号会耦合到 CAN 总线上,导致: * 通信超时、MCU 间歇性掉线 * CAN 设备随机离线、`canbus_query.py` 扫描不到 * 归位过程中触发 `Timer too close` 或 `Communication timeout` * 打印过程中突然 shutdown,日志无明显硬件错误 **排查干扰时**,优先检查 CAN 线与强电线的走线布局、屏蔽层接地、终端电阻完整性。 ### CAN bytes\_invalid 计数器持续增长[​](#can-bytes_invalid-计数器持续增长 "CAN bytes_invalid 计数器持续增长的直接链接") **报错信息**:`klippy.log` 中每秒统计行 `Stats` 出现 `bytes_invalid` 非零且持续增长。 **报错原因**:CAN 总线消息被重新排序(reordered messages),这是严重问题,会导致打印过程中任何阶段出现不稳定和随机错误。 已知原因: * Linux 内核版本低于 v6.6.0,存在 gs\_usb CAN 驱动重排序 Bug。 * 使用 candlelight 固件的 USB-CAN 适配器,固件版本低于 v2.0。 * Klipper USB-to-CAN 桥接模式节点固件低于 v0.12.0。 **解决方法**: 1. 如果使用 candlelight USB-CAN 适配器,升级固件至 **v2.0 或更高**。 2. 如果使用 Klipper USB-to-CAN 桥接模式,确保桥接节点刷写 **Klipper v0.12.0+** 固件。 3. 如果 `bytes_invalid` 仍在增长,说明根本原因未解决,需继续排查内核版本和固件版本。 4. **注意**:`bytes_invalid` 递增不是由接线或终端电阻等硬件问题引起的,只能通过更新软件/固件修复。 ### CAN 总线队列不足导致 Timer too close[​](#can-总线队列不足导致-timer-too-close "CAN 总线队列不足导致 Timer too close的直接链接") **报错信息**:CAN 总线通信时出现 `MCU 'xxx' shutdown: Timer too close`。 **报错原因**:Linux 内核为 CAN 网络接口设置的默认队列长度(`qlen`)通常为 10,对 Klipper 高频低延迟通信需求来说偏小。Klipper 官方示例常用 `txqueuelen 128`;FlyOS-FAST 预设为 `1024`,在节点较多或高负载场景下余量更大。 **解决方法**: 1. 检查当前 CAN 接口队列长度: ``` ip link show can0 | grep qlen ``` 2. 临时增大队列长度。普通系统可先测试 `128`,FLY 系统或多节点机器可使用 `1024`: ``` sudo ip link set dev can0 qlen 128 # 或 sudo ip link set dev can0 qlen 1024 ``` 3. 永久设置:在 `/etc/network/interfaces.d/can0` 中添加 `txqueuelen 128` 或 `txqueuelen 1024` 参数;如果使用 systemd-networkd,则在 `.link` 文件中设置 `TxQueueLength=`。 ### USB CANBUS bridge is discarding / bus\_state=off[​](#can-bridge-discarding "USB CANBUS bridge is discarding / bus_state=off的直接链接") **报错信息**:`USB CANBUS bridge 'mcu' is discarding!`、`canstat_mcu: bus_state=off`、`can state BUS-OFF`、`ERROR-PASSIVE`、随后出现 `Timeout with MCU 'xxx'` 或 `Serial connection closed`。 **报错原因**:USB-CAN 桥接 MCU 的 CAN 硬件已经停止正常发送或接收消息。它通常不是简单的 `txqueuelen` 不足;更常见的是 CAN 线束接触不良、终端电阻位置错误、收发器或某个节点异常、工具板供电波动、总线过长或节点过多导致信号余量不足。 **排查方法**: 断电操作 检查 CANH/CANL、重新插拔工具板、调整终端电阻或测量 CANH-CANL 电阻前,请完全关闭打印机并断开电源供应。不要在通电状态下增减 CAN 节点或插拔工具板线束。 1. 在 `klippy.log` 中找到 `USB CANBUS bridge 'mcu' is discarding!` 前后的 `Stats` 行,记录 `canstat_mcu` 的 `bus_state`、`rx_error`、`tx_error`、`tx_retries`。 2. 如果 `bus_state` 从 `active` 变为 `off` 或 `passive`,优先按硬件总线问题排查,不要只调整 Linux 队列长度。 3. 断电后确认 CAN 总线上有且仅有两个终端电阻,且位于物理总线两端;测得 CANH-CANL 阻值通常应接近 `60Ω`。 4. 逐个减少 CAN 节点测试:先只保留主板和一个工具板,再逐步增加节点,确认是否某块工具板、某条线束或某个分支一接入就触发异常。 5. 检查工具板供电和接插件压接状态;若某个工具板复位,桥接端可能先出现 `discarding`,随后其他 MCU 才被报告超时。 6. 多工具头或长线束机器可临时降低 CAN 速率测试,或将多个工具头分到两个 USB-CAN 适配器上交叉验证。 7. 更新 Klipper 与全部 CAN 节点固件后仍复现时,优先替换成品 CAN 线、USB-CAN 适配器或工具板收发器模块交叉测试。 ### 多 CAN 节点只部分搜索到 UUID[​](#can-partial-uuid "多 CAN 节点只部分搜索到 UUID的直接链接") **报错信息**:`canbus_query.py` 只能搜索到部分工具板 UUID,或同一条 CAN 总线上任意一两个节点正常,增加到第三个或更多节点后全部搜索不到、连接超时、`BUS-OFF`。 **常见原因**: * 新增工具板没有进入 Katapult / Klipper CAN 模式,或固件 CAN 速率与上位机 `can0` 不一致。 * 某个节点 CANH/CANL 接反、压接不良、收发器损坏,接入后拖垮整条总线。 * 终端电阻不在物理总线两端,或工具板、集线板、转接板上误启用了多余终端电阻。 * 多工具头线束形成过长回路、星形分支或阻抗不连续,节点数量增加后信号余量不足。 * 不同批次工具板使用不同 bootloader、Katapult 或 Klipper 固件,搜索状态不一致。 **排查方法**: 断电操作 增减 CAN 节点、调整终端电阻、重新压接线束或测量 CANH-CANL 电阻前,请完全关闭打印机并断开电源供应。 1. 只保留上位机 CAN 接口和一个目标工具板,确认单节点可搜索到 UUID。 2. 逐个更换短线、端口和工具板,确认是某个节点问题,还是节点数量增加后才触发问题。 3. 核对每块工具板的 bootloader、Klipper 固件通信方式和 CAN 速率,确保所有节点与 `can0` 一致。 4. 确认每个 `[mcu xxx]` 的 `canbus_uuid` 唯一;如果设备已写入配置,搜索前可临时注释对应 MCU 配置并重启 Klipper。 5. 断电测量 CANH-CANL 电阻,约 `60Ω` 通常表示两端各有一个 `120Ω` 终端电阻;明显偏离时先处理终端电阻。 6. 如果任意两个节点稳定、三个以上不稳定,优先检查总线拓扑、线长、终端位置和集线板说明;必要时拆分为两条 CAN 总线。 ### CAN 总线节点不响应[​](#can-node-not-respond "CAN 总线节点不响应的直接链接") **报错信息**:CAN 设备突然离线,`canbus_query.py` 扫描不到设备。 **常见原因**: * CAN 终端电阻缺失或不正确(CANH-CANL 之间必须有且仅有两个 120Ω 电阻)。 * CANH/CANL 接线松动、压接不良或插头松动。 * CAN 线未使用双绞屏蔽线,或与强电线平行走线导致**电磁干扰**(最常见也最隐蔽的原因)。 * USB-CAN 适配器供电异常。 **干扰排查重点**: 电磁干扰导致的 CAN 通信异常往往表现为"间歇性"和"随机性"——有时一切正常,有时突然掉线,断电重启后又恢复。排查时应重点关注: * **走线布局**:CAN 通信线是否与电机线、加热线、热床线在拖链中**并排走线**?高速 PWM 调制的电机驱动信号和加热器开关噪声是最强的干扰源。 * **屏蔽层接地**:使用屏蔽线时,屏蔽层是否**单端接地**(仅在上位机侧接地)?双端接地会形成地环路,反而引入干扰。 * **终端电阻位置**:终端电阻是否安装在 CAN 总线物理末端,并通过板载跳线帽、拨码开关或成品终端接口启用? * **CAN 线材规格**:是否使用**双绞线**(绞距不超过几厘米)?平行线(非双绞)对共模干扰几乎没有抑制能力。 * **接地完整性**:机器电源、外壳是否可靠接地?未接地的机器金属框架相当于一个大型天线,容易拾取环境噪声。 **排查方法**: 断电操作 以下硬件排查必须在打印机完全断电并断开电源供应后进行:检查 CANH/CANL、重新走线、调整屏蔽层、启用/关闭终端电阻、测量 CANH-CANL 电阻。 1. 确认 CAN 总线上有且仅有两个 120Ω 终端电阻,优先使用板载跳线帽、拨码开关或成品终端接口。 2. 检查 CANH/CANL 接线是否牢固,插头是否完全插入。 3. **请先断电再操作**。使用万用表测量 CANH-CANL 之间电阻(正常约 60Ω)。 4. **重新走线**:将 CAN 通信线与强电线分开走线,保持至少 2-3cm 距离,避免平行。 5. **确认屏蔽接地**:屏蔽线仅在上位机侧接地,工具板侧悬空不接;不要自行拆卸电源或改动市电地线。 6. 使用 `candump` 监控 CAN 总线流量,观察是否有大量错误帧(error frames)出现。 7. 临时降低打印速度/加速度测试,如果问题消失,说明干扰与电机驱动强度正相关。 ## 搜索不到 ID 的排查顺序[​](#搜索不到-id-的排查顺序 "搜索不到 ID 的排查顺序的直接链接") 1. 执行 `ip -details link show can0`,确认 CAN0 存在并处于可用状态。 2. 确认工具板、主板固件 CAN 速率与上位机 CAN0 速率一致。 3. 如果设备 ID 已写入 `printer.cfg`,先临时注释对应配置,再关机断电约 10 秒后重新上电搜索。 4. 检查 CAN-H 与 CAN-L 是否接反、断线或接触不良。 5. 确认 CAN 网络两端各有一个 `120Ω` 终端电阻,整机断电后测量 CAN-H 与 CAN-L 之间的阻值应约为 `60Ω`。 6. 确认工具板或主板已正常供电。 7. 确认固件编译时选择了正确的通信方式。 8. 若搜索结果显示 `Application: CANBOOT` 或 `Application: Katapult`,请先刷写 Klipper 固件后再搜索。 ### 终端电阻规则[​](#终端电阻规则 "终端电阻规则的直接链接") 断电操作 调整终端电阻跳线帽、拨码开关或重新插拔 CAN 线前,请完全关闭打印机并断开电源供应。 | 设备类型 | 终端电阻要求 | 操作说明 | | --------------- | ---------------------- | ---------------------------- | | CAN 工具板 | 需要 `120Ω` 终端电阻 | 通过板载跳线帽或拨码开关启用 | | 主板 CAN 接口 | 需要 `120Ω` 终端电阻 | 通过板载跳线帽或拨码开关启用 | | UTOC 类转换模块 | 通常已内置 `120Ω` 电阻 | 无需再额外启用终端电阻 | ### 快速排查顺序[​](#快速排查顺序 "快速排查顺序的直接链接") 1. 先看设备:执行 `lsusb`,确认能看到 `1d50:606f`。 2. 再看配置:执行 `ip -details link show can0`,确认 CAN0 存在、速率正确、缓存为 `1024`。 3. 最后看硬件:完全断电后测量 CAN-H 与 CAN-L,确认阻值约为 `60Ω`。 全部检查后仍然异常时,可尝试更换 USB 线、CAN 线、UTOC 或 CAN 桥接设备交叉测试。 ## CAN 设备固件更新参考[​](#can-设备固件更新参考 "CAN 设备固件更新参考的直接链接") 本节用于已经能连接到 CAN 网络、且需要通过 CAN 更新主板或工具板固件的场景。不同产品的固件名称和编译方式不同,请先按对应产品教程编译好固件。 ### 准备工作[​](#准备工作 "准备工作的直接链接") 1. 按产品教程编译好新的固件。 2. 确认可搜索到设备 CAN UUID,或已在 `printer.cfg` 中填写该设备的 `canbus_uuid:`。 3. 停止 Klipper 服务: ``` sudo systemctl stop klipper ``` ### 执行更新[​](#执行更新 "执行更新的直接链接") 将下方命令中的 `` 替换为实际设备 ID。 版本说明 根据系统版本选择对应指令。 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026 年 4 月 9 日后更新过 Klipper 的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**,即 FlyOS-FAST 1.3.8 之前,或 2026 年 4 月 9 日前未更新 Klipper 的系统: ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` 注意 `-u` 后面必须有一个空格,然后再填写 CAN UUID。 出现 **`CAN Flash Success`** 提示,通常表示烧录成功。 Loading... ### 更新后操作[​](#更新后操作 "更新后操作的直接链接") 更新完成后重新启动 Klipper: ``` sudo systemctl start klipper ``` 如果更新后无法连接,请重新搜索 CAN ID,并确认 `printer.cfg` 中的 `canbus_uuid:` 是否仍然正确。 ## 最终检查清单[​](#最终检查清单 "最终检查清单的直接链接") 搜索不到 CAN ID 或 Klipper 无法连接 CAN 设备时,可按以下顺序快速核对: 1. `can0` 可以被系统识别。 2. `bitrate` 与固件编译时设置的 CAN 速率一致。 3. `qlen` 或 `txqueuelen` 为 `1024`。 4. CAN-H 与 CAN-L 没有接反。 5. CAN 总线两端终端电阻正确。 6. 工具板或主板供电正常。 7. 固件通信方式选择正确。 8. `printer.cfg` 中使用的是实际搜索到的 `canbus_uuid:`。 9. 同一个 `[mcu]` 中没有同时启用 `serial:` 和 `canbus_uuid:`。 --- # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # Klipper 圆弧拟合与 G2/G3 建议 本文用于说明 Klipper 中 `[gcode_arcs]`、`G2` / `G3` 圆弧指令和切片器圆弧拟合的取舍。日常 3D 打印不建议把 Klipper 端圆弧拟合作为提升质量或性能的主要方案。 强提醒 现代切片器生成路径的精度已经非常高,曲线分段、路径简化和圆弧拟合都可以在切片阶段完成。日常打印不建议再添加 Klipper 的 `[gcode_arcs]` 让固件重新拆分圆弧;切片器能做好的事情,没有必要让 Klipper 再计算一遍。 ## 常见报错[​](#常见报错 "常见报错的直接链接") **报错信息**:`Unknown command:"G2"`、`Unknown command:"G3"`、`G2/G3 requires IJ, IK or JK parameters`、`G2/G3 does not support relative move mode`、`G2/G3 does not support R moves`。 **常见原因**: * 切片器输出了 `G2` / `G3` 圆弧指令,但 Klipper 配置中没有启用 `[gcode_arcs]`。 * G-code 中的圆弧指令缺少 `I`、`J`、`K` 参数。 * G-code 使用了 Klipper 不支持的 `R` 半径圆弧格式。 * 切片器或后处理脚本输出的圆弧格式与 Klipper 支持范围不一致。 ## 仅兼容 G2/G3 时的配置[​](#仅兼容-g2g3-时的配置 "仅兼容 G2/G3 时的配置的直接链接") 只有在 G-code 文件已经包含 `G2` / `G3`,且暂时无法关闭切片器圆弧输出时,才建议添加以下配置作为兼容层: ``` [gcode_arcs] resolution: 1.0 ``` `resolution` 表示 Klipper 将圆弧拆分为线段时的分段精度。数值越小,拆分越细;数值越大,拆分越粗。 ## 使用建议[​](#使用建议 "使用建议的直接链接") Klipper 的 `[gcode_arcs]` 并不是让固件直接以圆弧轨迹运动,而是把 `G2` / `G3` 圆弧重新拆成许多小直线段后再交给运动规划。 * `resolution` 设置很小:线段更细,但上位机 CPU 和运动规划压力更大,低性能上位机更容易出现卡顿、`Timer too close` 或打印节奏不稳定。 * `resolution` 设置很大:计算压力变小,但圆弧细节也变差,实际效果有限。 * 切片器已经能很好地处理模型曲线、分段精度和路径简化,没有必要让固件端再重新计算一遍。 日常建议: 1. 优先使用切片器自带的曲线精度、圆弧拟合或路径简化功能。 2. 如果切片器能直接输出高精度线段,Klipper 端不建议启用 `[gcode_arcs]`。 3. 如果必须兼容 `G2` / `G3`,把 `[gcode_arcs]` 当作临时兼容层使用,不要把 `resolution` 设置得过小。 4. 出现打印卡顿、`Timer too close`、上位机 CPU 占用过高时,优先关闭切片器的 `G2/G3` 输出,改由切片器直接生成线段。 5. 不建议为了“更圆滑”同时开启切片器圆弧拟合和 Klipper 端极小 `resolution`,这通常只会增加计算压力。 ## 推荐排查顺序[​](#推荐排查顺序 "推荐排查顺序的直接链接") 1. 如果报 `Unknown command:"G2"` / `Unknown command:"G3"`,先确认切片器是否开启了圆弧输出。 2. 如果不需要圆弧输出,关闭切片器中的 Arc / G2-G3 / Arc Welder 类选项,重新切片。 3. 如果必须保留圆弧输出,再添加 `[gcode_arcs]` 作为兼容配置。 4. 如果启用后出现卡顿或超时报错,先增大 `resolution` 或关闭圆弧输出。 5. 确认问题消失后,再按实际打印效果决定是否保留该功能。 > **相关排查**:[系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system)、[配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config)。 --- # 常用调试指令入口 常用 Klipper 控制台调试命令已统一维护到参考配置目录,避免 FAQ 与配置参考出现重复内容。 请查看:[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)。 进阶指令(挤出、运动控制、网床、共振补偿、系统控制等)请参考:[进阶指令与系统操作](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives-advanced)。 ## 常用关联页面[​](#常用关联页面 "常用关联页面的直接链接") | 主题 | 入口 | | ------------ | ------------------------------------------------------------------------------ | | 硬件测试流程 | [硬件测试方法](https://mellow.klipper.cn/docs/DebugDoc/faq/hardware-testing) | | 常见报错索引 | [常见报错总览](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err) | | TMC 驱动报错 | [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc) | | CAN 网络排查 | [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) | | 加速度计测试 | [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) | --- # 常见报错总览 本页用于快速定位 Klipper 常见报错。请先在 `klippy.log` 中找到完整报错关键词,再进入对应分类页面处理。 ## 快速索引[​](#快速索引 "快速索引的直接链接") | 报错类型 | 常见关键字 | 排查入口 | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 连接问题 | `Unable to connect`、`Timeout on connect`、`Wait for identify_response`、`Serial connection closed`、`Invalid CAN uuid`、`Lost communication`、`MCU Protocol error`、`/dev/serial/by-id`、`Unable to issue reset command`、`Got EOF when reading from device` | 本页连接问题、[MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config)、[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) | | 配置问题 | `not valid`、`not a valid config section`、`must be specified`、`Unable to parse`、`SAVE_CONFIG`、`Option conflict`、`virtual_sdcard`、`pause_resume`、`display_status` | [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config) | | 宏与切片器命令 | `Unknown command`、`Error evaluating 'gcode_macro`、`jinja2.exceptions.UndefinedError`、`dict object has no attribute` | [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config) | | 运动归位 | `Move out of range`、`Must home axis first`、`No trigger`、`Endstop still triggered`、`virtual_endstop`、`Unknown pin chip name`、`Homing failed due to printer shutdown` | [运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion)、[无限位归位排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion#sensorless-homing-troubleshoot) | | G-code 解析 | `Unable to parse move`、`Invalid speed`、`Machine does not support G20`、`G2/G3` | [运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion)、[圆弧拟合建议](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-arc-fitting) | | 探针调平 | `Probe triggered`、`No trigger on probe`、`samples_tolerance`、`bed_mesh`、`BLTouch failed`、`Z_TILT`、`QUAD_GANTRY_LEVEL`、`no samples between time`、`SVD did not converge` | [运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion)、[BLTouch 配置与排查](https://mellow.klipper.cn/docs/DebugDoc/faq/bltouch) | | 温度加热 | `ADC out of range`、`not heating at expected rate`、`Verify heater`、`temperature`、`Thermocouple reader fault` | [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude) | | 挤出问题 | `Extrude below minimum temp`、`Extrude only move too long`、`Move exceeds maximum extrusion`、`Filament sensor`、`M600` | [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude) | | 性能超时 | `Timer too close`、`Missed scheduling`、`Stepper too far in past`、`Move queue overflow`、`stepcompress`、`Rescheduled timer`、`restarting too fast`、`SD busy`、`Unhandled exception during run`、`hard pwm event`、`Can't reset time when stepper active` | [系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system) | | TMC 驱动 | `Unable to read tmc uart`、`Unable to write tmc spi`、`GSTAT`、`coil short circuit`、`tmcuart_response` | [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc) | | CAN 网络 | `bytes_invalid`、`Network is down`、`No buffer space available`、`Invalid CAN uuid`、`USB CANBUS bridge`、`BUS-OFF` | [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can)、[CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) | | 传感器外设 | `Invalid adxl345 id`、`No data`、`Insufficient axis`、`Eddy current sensor error`、`Invalid read data`、`load_cell_probe`、`START_READ_NACK`、`I2C`、`BUS_TIMEOUT` | [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl)、[EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy)、[Load Cell 探针排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-load-cell)、本页 I2C 通信错误 | | 共振补偿与压力提前 | `shaper_freq`、`input_shaper`、`pressure_advance`、`smooth_time`、`accel_chip`、`TEST_RESONANCES`、`SHAPER_CALIBRATE` | [共振补偿与压力提前](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa) | ## 相关配置页速查[​](#相关配置页速查 "相关配置页速查的直接链接") | 报错方向 | 推荐参考 | | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 配置语法、缩进、注释、重复引脚 | [配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config) | | 归位方向、轴方向、强制移动 | [归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28) | | 限位、TAP、光电限位、接近开关 | [限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) | | 无限位归位、虚拟限位灵敏度 | [无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions) | | 加热、PID、升温慢、温度保护 | [加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)、[verify\_heater 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/verify_heater)、[M109 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109) | | 风扇配置、驱动风扇、7040 风扇 | [风扇参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/fan) | | 挤出机参数、旋转距离、挤出配置 | [挤出机参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/extruder)、[机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration) | | 起始/结束宏、暂停恢复、调平与网床宏 | [宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros) | | 常用调试命令、探针、共振补偿 | [常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives) | ## 连接问题[​](#connection-issues "连接问题的直接链接") ## MCU ID 配置说明[​](#mcu-id-配置说明 "MCU ID 配置说明的直接链接") Klipper 中的 MCU ID 指的是 `[mcu]` 或 `[mcu xxx]` 配置段里用于连接控制板的识别信息。不同通信方式写法不同: | 连接方式 | 配置项 | 示例 | | ---------- | -------------- | ---------------------------------------------------- | | USB 固件 | `serial:` | `serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx` | | CAN 固件 | `canbus_uuid:` | `canbus_uuid: xxxxxxxxxxxx` | | RS232 设备 | `serial:` | `serial: /dev/serial/by-path/xxxxxxxxxxxx` | | 上位机 MCU | `serial:` | `serial: /tmp/klipper_host_mcu` | **填写规则**: 1. 主板默认使用 `[mcu]`,工具板或扩展板使用 `[mcu tool]`、`[mcu toolboard]` 等自定义名称。 2. USB 固件只填写 `serial:`,CAN 固件只填写 `canbus_uuid:`,不要在同一个 `[mcu]` 中同时保留两项。 3. 多 MCU 机器中,每个 `[mcu xxx]` 都必须使用自己的真实 ID,不要复制同一个 USB ID 或 CAN UUID。 4. `[mcu xxx]` 的名称会影响引脚前缀,例如 `[mcu tool]` 的引脚应写成 `tool:gpio13`;名称大小写要保持一致。 5. 文档示例里的 `xxxxxxxx` 不能直接使用,必须替换为实际搜索到的 ID。 6. RS232 设备除 `serial:` 外,通常还需要填写 `baud: 250000` 和 `restart_method: command`;以对应产品文档为准。 **常见错误**: * 把烧录模式 ID(如包含 `katapult`、`canboot` 的 ID)当作 Klipper 固件 ID 使用。 * USB 固件配置了 `canbus_uuid:`,或 CAN 固件仍保留旧的 `serial:`。 * RS232 设备只填写路径,遗漏所需的 `baud:` 或 `restart_method:`。 * 工具板配置成 `[mcu]`,覆盖了主板 MCU 配置。 * 引脚前缀和 MCU 名称不一致,例如配置是 `[mcu toolboard]`,引脚却写 `tool:gpio13`。 > **USB ID 查询**:USB 固件可执行 `ls /dev/serial/by-id/*` 获取 ID。 > **CAN ID 查询**:[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) > **RS232 路径查询**:执行 `ls -l /dev/serial/by-path/` 获取稳定设备路径。 > **工具板配置**:[工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) ### mcu 'xxx': Unable to connect[​](#mcu-unable-to-connect "mcu 'xxx': Unable to connect的直接链接") **报错信息**:上位机无法找到或连接到主板。 Loading... **常见原因**: * USB 设备 ID 未填写或填写错误。 * CAN UUID 未填写、填写错误或设备未在线。 * UTOC、USB 线、CAN 桥接固件或供电异常。 * CAN0 未启动,或 CAN 网络配置异常。 **处理方法**: 1. 打开 `klippy.log` 并翻到最下方,确认具体错误信息。 2. 如果出现 `[Errno 2]`,通常表示没有将搜索到的 USB 设备 ID 添加到 `printer.cfg`。 Loading... 3. 如果出现 `Timeout on connect`、`Wait for identify_response` 或 `Serial connection closed`,请按 [MCU 连接握手超时](#mcu-serial-connection-closed) 继续排查;这既可能发生在 USB 连接,也可能发生在串口桥接连接中。 Loading... 4. 如果出现 `Unable to open CAN port: [Errno 19] No such device`,通常表示缺少 UTOC 设备、USB 桥接 CAN 固件或 CAN0 设备。 Loading... 5. 如果出现 `[Errno 100] Network is down` 或 `[Errno 105] No buffer space available`,请按 [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) 重新检查 CAN0 配置。 ### mcu 'mcu': Invalid CAN uuid[​](#invalid-can-uuid "mcu 'mcu': Invalid CAN uuid的直接链接") **报错信息**:CAN UUID 无效或无法识别。 Loading... **报错原因**:`canbus_uuid:` 填写错误、设备不在线,或 CAN 网络未正常通信。 **解决方法**: 1. 按 [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) 重新搜索 CAN UUID。 2. 确认 `printer.cfg` 中填写的是实际搜索到的 UUID。 3. 确认同一个 `[mcu]` 中没有同时启用 `serial:` 和 `canbus_uuid:`。 4. 检查 CAN-H、CAN-L、终端电阻、供电和固件 CAN 速率。 ### Option 'serial' in section 'mcu' must be specified[​](#option-serial-in-section-mcu-must-be-specified "Option 'serial' in section 'mcu' must be specified的直接链接") **报错信息**:在 `[mcu]` 配置段中必须指定 `serial`。 Loading... **报错原因**:USB 固件连接时没有填写 `serial:`,或者 `[mcu]` 配置段被误删。 **解决方法**: 1. 重新搜索 USB 设备 ID。 2. 在 `printer.cfg` 的 `[mcu]` 配置段中填写: ``` [mcu] serial: /dev/serial/by-id/实际搜索到的ID ``` 3. 保存并重启 Klipper。 如果当前主板刷写的是 CAN 固件,请使用 `canbus_uuid:`,不要继续填写 `serial:`。 ### USB ID 找不到 / 系统服务干扰[​](#usb-id-missing "USB ID 找不到 / 系统服务干扰的直接链接") **报错信息**:执行 `ls /dev/serial/by-id/*` 没有输出或提示 `No such file or directory`;Klipper 连接时报 `mcu 'xxx': Unable to open serial port`、`[Errno 2] No such file or directory`,或 USB 主板在系统中反复断开重连。 **常见原因**: * 主板未进入 Klipper 固件运行状态,仍处于 Katapult / CanBoot / DFU 等烧录模式。 * USB 线、USB 口、上位机供电或主板供电异常。 * Debian 11 Bullseye 部分 `udev` 版本存在问题,可能不会生成 `/dev/serial/by-id/` 设备路径。 * 桌面版 Linux 可能安装 `ModemManager` 或 `BRLtty`,这些服务可能抢占串口设备,导致 Klipper 无法稳定连接主板。 **排查方法**: 断电操作 重新插拔 USB 线、检查主板供电线或整理 USB / CAN 线束前,请完全关闭打印机并断开电源供应。不要在通电状态下整理接口线序或触碰端子。 1. 先确认主板已经刷写并运行 Klipper 固件,USB ID 应包含 `usb-Klipper`,不要把 `katapult`、`canboot`、`Bootloader` 或 DFU 模式 ID 写入 `printer.cfg`。 2. 断电后更换可靠的 USB 数据线和上位机 USB 接口,重新上电后再次执行 `ls /dev/serial/by-id/*`。 3. 如果使用 Debian 11 Bullseye、旧版 MainsailOS / FluiddPi / Armbian 等系统,执行以下命令查看 `udev` 版本: ``` apt-cache policy udev ``` 4. 如果确认是 Debian 11 的 `udev` 问题,优先通过系统正常更新源升级 `udev`,或更换较新的系统镜像。 5. 检查是否存在可能抢占串口的服务: ``` systemctl list-units --all | grep -Ei 'ModemManager|brltty' ``` 6. 如果确认安装了这些服务,并且当前上位机不需要调制解调器或盲文终端功能,可将上一条命令显示的完整单元名替换到命令中,停止并禁用后重启系统: ``` sudo systemctl disable --now ModemManager.service sudo systemctl disable --now brltty.service sudo systemctl disable --now brltty.path ``` 7. 完成后重新查询 USB ID,并确认 `printer.cfg` 中 `[mcu]` 的 `serial:` 与实际输出一致。 相关配置参考:[MCU ID 配置](https://mellow.klipper.cn/docs/DebugDoc/faq/mcu-id-config)。 ### Serial connection closed / Timeout on connect / Wait for identify\_response[​](#mcu-serial-connection-closed "Serial connection closed / Timeout on connect / Wait for identify_response的直接链接") **报错信息**:Klipper 启动或执行 `FIRMWARE_RESTART` 时,日志依次或反复出现: ``` mcu 'xxx': Timeout on connect mcu 'xxx': Wait for identify_response serialhdl.error: mcu 'xxx': Serial connection closed ``` **报错性质**:这组报错表示上位机已经尝试与 MCU 建立连接,但 MCU 没有在规定时间内返回固件识别信息。它描述的是连接握手失败,不会直接指出是固件参数、设备路径、线束还是硬件本体造成的。 **常见原因**: * MCU 固件的通信接口、引脚、时钟、启动地址或 Bootloader 偏移选择错误。 * 固件没有正确刷入,或主板仍停留在 DFU、Bootloader、Katapult / CanBoot 等烧录模式。 * `serial:` 使用了错误、过期或不完整的设备路径。 * USB 数据线、USB 接口、串口桥接芯片或主板供电异常。 * 使用 CAN 工具板时,桥接设备、CAN 网络或 `canbus_uuid:` 配置异常。 **解决方法**: 1. 查看完整 `klippy.log`,确认这组报错发生在首次启动连接阶段,还是打印过程中 MCU 掉线后重新连接时出现。 2. 执行以下命令,确认系统能稳定识别 MCU,并将输出与 `[mcu]` 中的 `serial:` 完整对比: ``` ls -l /dev/serial/by-id/ dmesg --ctime | tail -n 80 ``` 3. 如果 USB ID 存在且稳定,但持续提示 `Wait for identify_response`,请按对应 FLY 产品文档重新核对固件编译参数和烧录方式,重点检查通信接口、Bootloader 偏移与时钟配置;不要把烧录模式的设备 ID 写入 `printer.cfg`。 4. 如果 USB ID 不存在或在 `dmesg` 中反复断开,按本页 [USB ID 找不到 / 系统服务干扰](#usb-id-missing) 检查系统与连接。 断电操作 重新插拔或更换 USB / CAN 线束、检查主板供电接口前,请完全关闭打印机并断开电源供应。不要在通电状态下整理线序或触碰端子。 5. 断电后更换可靠的成品数据线和上位机接口,再重新上电测试;不要拆解电源或改动市电接线。 6. CAN 设备请继续参考 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot),重新确认桥接设备、CAN 状态和 UUID。 7. 如果首次连接正常,仅在打印过程中出现 `Serial connection closed`,应优先按 [Lost communication with MCU](#lost-communication-with-mcu) 排查运行中掉线,不要反复刷写固件掩盖问题。 ### Lost communication with MCU[​](#lost-communication-with-mcu "Lost communication with MCU的直接链接") **报错信息**:Klipper 与 MCU 通信中断,日志中可能出现 `Lost communication with MCU`、`Lost communication with mcu` 或类似提示。 **常见场景**:归位或移动过程中,限位开关一触发,主板或工具板就掉线;重新上电后又能连接。 **常见原因**: * 限位开关接线错误,触发时造成信号脚与电源或地异常短接。 * 使用三线限位、光电限位或霍尔限位时,电源、地线、信号线顺序接错。 * 限位线束破皮、压线或拖链运动时短路。 * 限位触发瞬间导致主板供电波动,MCU 重启或 USB / CAN 通信中断。 * MCU 与上位机之间的 USB / CAN 通信线经过强干扰源,触发限位或运动时更容易出现掉线。 * 配置中的限位引脚与实际接线不一致,触发了错误的接口。 **排查方法**: 断电操作 拔插限位线、检查线序、检查拖链线束或使用万用表测量通断/电阻前,请完全关闭打印机并断开电源供应。万用表电阻/通断档只能在断电状态使用,禁止通电测电阻或短接测试。 1. 断电后检查限位开关线序,特别是三线限位的 `VCC`、`GND`、`Signal` 是否接错。 2. 断电后暂时拔掉对应限位线,重新装好后再上电测试主板是否还会掉线。 3. 断电后使用万用表通断/电阻档检查限位触发前后是否存在短路,重点检查信号脚是否被接到电源。 4. 检查拖链、接插件和线束弯折位置,确认触发或移动时不会压线短路。 5. 检查 MCU 与上位机之间的 USB / CAN 通信线,尽量避开电机线、加热线、热床线和电源线。 6. 如果机器外壳、电源或屏蔽层未可靠接地,也可能更容易受到干扰;仅确认厂家提供的接地点和插座状态,不要自行拆卸电源或改动市电地线。 7. 确认配置中的限位引脚与主板文档、实际接线一致。 8. 问题修复后再执行 `QUERY_ENDSTOPS`,确认限位状态能正常从 `open` 变为 `TRIGGERED`。 相关配置参考:[限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop)、[电源接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/wiring)。 ### Unable to issue reset command on MCU[​](#unable-issue-reset-command "Unable to issue reset command on MCU的直接链接") **报错信息**:`Unable to issue reset command on MCU 'xxx'`,日志中通常伴随 `webhooks client ...: Disconnected` 和 `Restarting printer`。 **报错性质**:这条报错一般不是第一条错误,而是 MCU 掉线、断电或通信中断后,Klipper 尝试向 MCU 发送复位命令失败时的后续提示。排查时应向上翻找更早出现的第一条真实报错(如 `Lost communication with MCU`、`Timer too close`、`Verify heater`、TMC 报错等)。 **常见原因**: * 前置的 MCU 掉线、USB / CAN 通信中断或固件崩溃,复位命令无法送达。 * 主板、工具板或外设 MCU 供电不足,复位过程中掉电。 * USB 线、CAN 线接触不良或线材损坏。 * MCU 正在执行高负载任务(如加热、多点扫床)时被强制复位。 * 上位机与 MCU 之间信号受到强干扰(电机线、加热线靠近通信线)。 **解决方法**: 断电操作 重新插拔 USB / CAN 线、检查线材或整理走线前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束或触碰端子。 1. 打开 `klippy.log`,在 `Unable to issue reset command` 之前找到第一条真实报错,先按对应分类排查。 2. 断电后重新插拔 USB / CAN 线,更换可靠的成品线材并确认连接牢固。 3. 检查主板、工具板供电是否稳定,避免与电机、热床大功率设备共用不稳电源回路。 4. 确认 USB / CAN 通信线避开电机线、加热线和热床线。 5. 执行 `FIRMWARE_RESTART`,必要时整机断电 10 秒后重新上电。 6. 如果问题反复出现,继续参考 [Lost communication with MCU](#lost-communication-with-mcu) 和 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) 排查。 ### Got EOF when reading from device[​](#got-eof-reading-device "Got EOF when reading from device的直接链接") **报错信息**:`Got EOF when reading from device`,日志中通常出现在 `Attempting MCU 'xxx' reset command` 之后,表示上位机向 MCU 发起复位时,串口 / USB 连接已经断开。 **报错性质**:这是上位机操作系统(Linux)层返回的错误,Klipper 只是把 `pyserial` 读取到的文件结束符(EOF)转述出来。它表明 USB / 串口链路物理上已经断开或设备已消失,而不是配置参数问题。 **常见原因**: * USB 线质量差、接触不良、USB 口供电不足,设备在复位过程中掉线。 * 主板、工具板供电波动,MCU 复位或掉电导致设备从系统中消失。 * 上位机 USB 控制器异常、USB 口故障或系统 USB 休眠策略。 * CAN 工具板通过 USB 桥接时,桥接设备掉线(此时日志中可能同时出现 `Unable to issue reset command on MCU`)。 **解决方法**: 断电操作 重新插拔 USB / CAN 线、检查供电线或更换线材前,请完全关闭打印机并断开电源供应。 1. 先确认是哪一个 MCU 报错,再检查对应的 USB / CAN 连接链路。 2. 断电后重新插拔 USB 线,更换高质量 USB 线并换一个上位机 USB 口测试。 3. 执行 `ls /dev/serial/by-id/*`,确认设备是否还在系统里;如果设备消失,说明是供电、线材或 MCU 复位层面问题。 4. 检查主板、工具板供电是否稳定,确认供电线压降正常(不要自行拆解电源或改动市电接线)。 5. 如果日志中同时出现 `Unable to issue reset command on MCU`,一并参考 [Unable to issue reset command](#unable-issue-reset-command) 处理。 6. 如果与 CAN 工具板相关,按 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) 检查总线状态。 7. 问题反复出现时,参考 [Lost communication with MCU](#lost-communication-with-mcu) 继续排查。 ### Timeout on wait for 'xxx' response[​](#timeout-on-wait-response "Timeout on wait for 'xxx' response的直接链接") **报错信息**:`Timeout on wait for 'neopixel_result' response`、`Timeout on wait for 'trsync_state' response` 等。 **常见原因**: * CAN / USB 通信链路不稳定,MCU 未及时响应上位机请求。 * MCU 负载过高(如高速打印 + 多轴联动 + 加速度计查询同时进行)。 * Neopixel LED 数量过多或数据线质量差,导致 `neopixel_result` 超时。 * MCU 固件版本与上位机不匹配。 **解决方法**: 1. 检查 USB / CAN 通信线连接是否牢固,尽量避开电机线、加热线等干扰源。 2. 如果是 Neopixel 超时,减少 LED 数量或更换高质量数据线,确认 `data_pin` 配置正确。 3. 确认所有 MCU 固件版本一致,必要时重新编译刷写。 4. 降低打印速度和加速度,观察是否仍复现。 ### MCU Protocol error[​](#mcu-protocol-error "MCU Protocol error的直接链接") **报错信息**:MCU 协议错误,日志中可能出现 `MCU Protocol error`、`Unknown command` 或 `Command format mismatch`。 Loading... **常见原因**: * 更新了上位机 Klipper,但没有重新编译并刷写主板或工具板固件。 * 主板、工具板、EDDY、ADXL 等外设 MCU 的固件版本与上位机 Klipper 不匹配。 * 使用了定制系统或第三方插件,导致 Klipper 主机端与 MCU 支持的命令不一致。 **解决方法**: 1. 确认最近是否更新过 Klipper、系统镜像或插件。 2. 重新编译并刷写全部 MCU 的 Klipper 固件。 3. 如果是工具板、EDDY、ADXL 等外设 MCU,请同步更新对应外设固件。 4. 如果使用定制系统,请确认该系统支持当前 Klipper 版本。 5. 刷写完成后执行 `FIRMWARE_RESTART`,再重新连接测试。 ### I2C 通信错误(START\_READ\_NACK / BUS\_TIMEOUT)[​](#i2c-nack-error "I2C 通信错误(START_READ_NACK / BUS_TIMEOUT)的直接链接") **报错信息**:`MCU 'xxx' I2C request to addr 42 reports error START_READ_NACK`、`I2C request to addr 104 reports error START_READ_NACK` 或 `I2C ... BUS_TIMEOUT`。 **常见原因**: * I2C 设备地址配置错误,或总线上没有对应地址的设备。 * I2C 接线松动、断裂或 SDA/SCL 接反。 * 缺少上拉电阻,或总线过长导致信号衰减。 * 传感器未就绪即被读取(如刚上电时立即查询)。 * 多个 I2C 设备地址冲突。 **解决方法**: 断电操作 检查 I2C 接线、传感器模块或上拉电阻前,请完全关闭打印机并断开电源供应。 1. 断电后检查 I2C 接线(SDA、SCL、VCC、GND)是否牢固,确认没有接反。 2. 确认配置中的 I2C 地址与实际设备一致。常见地址:ADXL345 为 `0x53`(83)或 `0x1D`(29),MPU6050 为 `0x68`(104)。 3. 检查 I2C 总线上是否有上拉电阻(通常 4.7kΩ);如果模块自带上拉则不需要额外添加。 4. 如果总线较长(超过 30cm),尝试缩短接线或降低 I2C 速率。 5. 如果只在启动时出现一次,可能是传感器初始化延迟,观察后续是否稳定工作。 6. 确认同一 I2C 总线上没有两个设备使用相同地址。 > **EDDY 探针 I2C 报错**:如果使用 EDDY 涡流探针出现 `BUS_TIMEOUT`,请参考 [EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap#i2c-bus-timeout)。 ## 专项 FAQ[​](#专项-faq "专项 FAQ的直接链接") | 专项 | 入口 | | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 配置冲突、参数解析、SAVE\_CONFIG | [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config) | | 未知命令、宏模板、切片器起始 G-code | [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config) | | 运动、归位、限位、探针、网床调平 | [运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion) | | 无限位归位、virtual\_endstop、DIAG 灵敏度 | [无限位归位排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion#sensorless-homing-troubleshoot)、[无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions) | | 温度、加热、挤出、断料检测 | [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude) | | 性能、超时、固件、系统服务 | [系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system) | | G2/G3、圆弧拟合、切片器路径精度 | [圆弧拟合建议](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-arc-fitting) | | TMC 驱动通信、过温、线圈问题 | [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc) | | CAN 网络、UUID、bytes\_invalid | [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) | | 加速度计和共振测试 | [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) | | EDDY 涡流探针 | [EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy) | | Load Cell、压力传感探针 | [Load Cell 探针排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-load-cell) | --- # 配置类报错 本页集中整理配置段冲突、参数拼写、include 文件和 `SAVE_CONFIG` 相关问题。修改配置后请先看 `klippy.log` 中第一条配置错误,再逐项处理。 ## homing override method always homes X and Y before homing Z[​](#homing-override-method-always-homes-x-and-y-before-homing-z "homing override method always homes X and Y before homing Z的直接链接") **报错信息**:安全 Z 归位与归位覆盖配置冲突。 Loading... **报错原因**:同时配置了 `[safe_z_home]` 和 `[homing_override]`,导致 Klipper 无法确认使用哪套归位逻辑。 **解决方法**: 1. 在配置文件中搜索 `[safe_z_home]` 和 `[homing_override]`。 2. 根据机器实际归位逻辑只保留其中一项。 3. 保存并重启 Klipper。 相关配置参考:[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)、[归位覆盖参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/homing_override)。 ## Option 'xxx' is not valid in section 'yyy'[​](#option-xxx-is-not-valid-in-section-yyy "Option 'xxx' is not valid in section 'yyy'的直接链接") **报错信息**:`Option 'xxx' is not valid in section 'yyy'`,指定配置段中存在不被识别的选项名。 **常见原因**: * 选项名拼写错误,例如 `sensor_pin` 写成了 `sensor_ping`。 * 将其他配置段的选项误粘贴到当前段下,例如将 `[probe]` 的选项写入 `[stepper_z]`。 * Klipper 版本升级后,旧版本支持的选项已被移除或重命名。 * 使用了不是实际参数的注释内容,例如 `default_parameter_z`。 **解决方法**: 1. 仔细检查报错中指出的配置段和选项名,确认拼写。 2. 参考 [Klipper 配置参考文档](https://www.klipper3d.org/Config_Reference.html) 确认该选项应属于哪个配置段。 3. 如果最近升级过 Klipper,查看 [配置变更记录](https://www.klipper3d.org/Config_Changes.html) 确认选项是否有变动。 4. 删除或移动到正确配置段中的无效选项。 相关配置参考:[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## Section 'xxx' is not a valid config section[​](#section-xxx-is-not-a-valid-config-section "Section 'xxx' is not a valid config section的直接链接") **报错信息**:`Section 'xxx' is not a valid config section`、`Unknown config object` 或某个配置段无法被 Klipper 识别。 **常见原因**: * 配置段名称拼写错误,例如 `[bed_mesh]` 写成了 `[bedmesh]`。 * 当前 Klipper 版本不支持该配置段,或更新/降级后配置格式不兼容。 * 复制了第三方插件配置,但对应插件、扩展模块或 Klipper 分支没有安装。 * include 文件中保留了其他机器或其他主板的配置段。 **解决方法**: 1. 根据报错中的配置段名称,在 `printer.cfg` 和所有 include 文件中定位对应段落。 2. 确认拼写是否与 Klipper 配置参考一致,配置段名称不要使用中文括号或全角符号。 3. 如果该配置来自第三方插件或定制宏包,确认对应插件已经安装并与当前 Klipper 版本兼容。 4. 如果不确定该段落用途,先注释该配置段并重启测试,再逐项恢复。 相关配置参考:[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## Unable to open config file / Include file does not exist[​](#unable-to-open-config-file--include-file-does-not-exist "Unable to open config file / Include file does not exist的直接链接") **报错信息**:`Unable to open config file /home/xxx/printer_data/config/printer.cfg` 或 `Include file 'xxx.cfg' does not exist`。 **常见原因**: * `printer.cfg` 文件路径错误或文件被误删。 * `[include]` 引用的子配置文件不存在或文件名不匹配。 * KIAUH 等安装工具自动生成 `[include]` 引用但对应的 cfg 文件未安装。 * 权限问题导致 Klipper 无法读取配置文件。 **解决方法**: 1. 确认 `printer.cfg` 是否存在于 Klipper 配置目录,通常为 `~/printer_data/config/printer.cfg`。 2. 检查所有 `[include xxx.cfg]` 行,确认引用的文件实际存在。 3. 如果缺少 `fluidd.cfg` 或 `mainsail.cfg`,参考对应 Web 界面的安装文档补充配置。 4. 确保配置文件权限正确:`ls -la ~/printer_data/config/`。 ## Fluidd / Mainsail 基础配置缺失[​](#webui-basic-config-missing "Fluidd / Mainsail 基础配置缺失的直接链接") **报错信息**:Fluidd 或 Mainsail 提示基础配置缺失,常见关键词包括: ``` [virtual_sdcard] not found in printer configuration. [pause_resume] not found in printer configuration. [display_status] is required if you do not have a [display] defined. CANCEL_PRINT macro not found in configuration. ``` Fluidd 提示示例: Loading... Mainsail 提示示例: Loading... **常见原因**: * `printer.cfg` 没有启用 `[include fluidd.cfg]` 或 `[include mainsail.cfg]`。 * 配置目录中缺少 `fluidd.cfg` / `mainsail.cfg`,或 include 文件名写错。 * 手动配置时漏写 `[virtual_sdcard]`、`[pause_resume]`、`[display_status]`。 * 没有定义 `CANCEL_PRINT` 宏,或宏文件没有被 include。 **解决方法**: 1. 必须优先使用默认前端配置文件,不建议普通用户只手动补几个配置段来绕过提示。默认 `fluidd.cfg` / `mainsail.cfg` 会同时提供虚拟 SD 卡、暂停恢复、显示状态和取消打印宏等前端需要的基础配置。 2. 确认 `printer.cfg` 顶部是否包含当前使用前端对应的 include: ``` [include fluidd.cfg] ``` 或: ``` [include mainsail.cfg] ``` 3. 如果使用 FLY 预置系统或官方参考配置,确认 `fluidd.cfg` / `mainsail.cfg` 文件存在于 `~/printer_data/config/` 目录。 4. 如果对应文件不存在,请重新补充前端默认配置文件,或参考 [Fluidd 初始配置说明](https://docs.fluidd.xyz/configuration/initial_setup)。 5. 启用默认前端配置文件后,如需修改暂停、恢复、取消打印的位置和回抽参数,再按 [暂停与取消打印自定义位置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/fuidd) 添加 `_CLIENT_VARIABLE`,不要直接复制或改写默认 `CANCEL_PRINT` / `PAUSE` / `RESUME` 宏。 6. 只有在维护自定义系统、且明确知道前端宏依赖关系时,才考虑手动补齐基础段。此方式不推荐普通用户使用,至少需要包含: ``` [virtual_sdcard] path: ~/printer_data/gcodes on_error_gcode: CANCEL_PRINT [pause_resume] [display_status] ``` 同时还必须提供可用的 `[gcode_macro CANCEL_PRINT]`,否则前端仍会提示 `CANCEL_PRINT macro not found in configuration`。 7. 保存配置后执行 `RESTART`。若仍提示缺失,继续检查所有 include 文件是否真正被 Klipper 读取。 > **前端宏使用方法**:[暂停与取消打印自定义位置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/fuidd) **宏配置参考**:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros) ## Unable to parse option / option must be specified[​](#unable-to-parse-option--option-must-be-specified "Unable to parse option / option must be specified的直接链接") **报错信息**:`Unable to parse option 'xxx' in section 'yyy'`、`Option 'xxx' in section 'yyy' must be specified`,或 `must have minimum/maximum`、`must be above/below`。 **常见原因**: * 必填参数缺失,例如 `[extruder]` 缺少 `step_pin`、`dir_pin`、`heater_pin` 或 `sensor_type`。 * 参数格式错误,例如需要数字却填了文字,需要坐标列表却少了逗号。 * 参数值超出 Klipper 允许范围,例如 `run_current`、`max_temp`、`position_max` 设置不合理。 * 复制配置时保留了中文标点、全角符号或不可见字符。 **解决方法**: 1. 根据报错中的配置段和参数名,回到对应 `.cfg` 文件逐项检查。 2. 对数字、坐标和列表参数,确认格式与示例一致,例如 `mesh_min: 20, 20`。 3. 对 `must be above/below` 或 `minimum/maximum`,先恢复为官方示例或主板教程推荐值。 4. 保存后执行 `RESTART`,若仍失败,再查看 `klippy.log` 中第一条配置报错。 相关配置参考:[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## Unknown pin chip name / Pin is not a valid pin name / pin used multiple times[​](#pin-name-and-conflict "Unknown pin chip name / Pin is not a valid pin name / pin used multiple times的直接链接") **报错信息**:`Unknown pin chip name 'xxx'`、`Pin 'PB12' is not a valid pin name on mcu 'mcu'`、`Invalid pin description 'xxx'`、`pin xxx used multiple times in config`。 **常见原因**: * 多 MCU 配置中引脚前缀写错,例如应写 `toolboard:PB0` 却写成了不存在的 MCU 名称。 * MCU ID(`canbus_uuid` 或 `serial`)配置错误,导致引脚映射到错误的设备,该设备上不存在对应引脚。 * 引脚名拼写错误,或将主板教程中的引脚直接复制到另一块主板。 * 同一个物理引脚被多个功能重复占用,例如风扇、加热器、限位同时用了同一引脚。 * 引脚反相 `!`、上拉 `^`、下拉 `~` 写在了错误位置。 **解决方法**: 1. 检查 `[mcu xxx]` 的名称是否与引脚前缀完全一致,大小写也要一致。 2. 核对 `[mcu xxx]` 段的 `canbus_uuid` 或 `serial` 是否与实际设备匹配(可用 `ls /dev/serial/by-id/` 或 `python3 -c "import can; ..."` 确认)。 3. 对照主板引脚图,确认每个 `pin:`、`step_pin:`、`dir_pin:`、`heater_pin:` 都属于当前主板。 4. 在所有 include 文件中搜索报错引脚,删除或更换重复占用项。 5. 引脚修饰符应写在引脚名前,例如 `^PB7`、`!PC13`、`mcu2:^PB7`。 相关配置参考:[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)、[风扇参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/fan)。 ## gcode command XXX already registered[​](#gcode-command-xxx-already-registered "gcode command XXX already registered的直接链接") **报错信息**:`Error: gcode command XXX already registered`。 **报错原因**:两个不同的宏或系统模块注册了相同的 G-code 命令名,例如两个宏都定义了 `[gcode_macro NEXT]`。 **常见场景**: * 用户自定义宏与 Klipper 系统模块或第三方配置冲突。 * 多个 `[gcode_macro M600]` 定义。 **解决方法**: 1. 在 `printer.cfg` 及所有 `[include]` 文件中搜索重复定义。 2. 删除或重命名冲突的 `[gcode_macro]`。 3. 检查 `[homing_override]`、`[gcode_macro PAUSE]`、`[gcode_macro RESUME]`、`[gcode_macro CANCEL_PRINT]` 等常用宏。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ## Unknown command:"XXX"[​](#unknown-command "Unknown command:\"XXX\"的直接链接") **报错信息**:控制台或 `klippy.log` 中出现 `Unknown command:"PRINT_START"`、`Unknown command:"START_PRINT"`、`Unknown command:"M600"`、`Unknown command:"EXCLUDE_OBJECT_DEFINE"`、`Unknown command:"EXCLUDE_OBJECT_START"`、`Unknown command:"EXCLUDE_OBJECT_END"`、`Unknown command:"M106"`、`Unknown command:"M201"`、`Unknown command:"M203"`、`Unknown command:"M205"` 等。 **常见原因**: * 切片器起始或结束 G-code 调用了 Klipper 中不存在的宏,例如切片器发送 `PRINT_START`,但配置中只定义了 `[gcode_macro START_PRINT]`。 * 使用了从 Marlin 迁移来的命令,Klipper 默认不支持或需要用宏兼容。 * 启用了排除对象功能,但切片器、Moonraker 或 Klipper 配置不完整,导致 `EXCLUDE_OBJECT_DEFINE`、`EXCLUDE_OBJECT_START`、`EXCLUDE_OBJECT_END` 等命令无法识别。 * 风扇使用了 `[fan_generic]` 或 `[output_pin]`,但切片器仍发送默认 `M106` / `M107`。 * 使用第三方宏包时缺少 include 文件,或宏名称与切片器中填写的名称不一致。 **解决方法**: 1. 在 `printer.cfg` 和所有 include 文件中搜索报错里的命令名,确认是否存在对应 `[gcode_macro XXX]`。 2. 让切片器中的起始、结束、换料、风扇和排除对象命令名称与 Klipper 宏保持一致。 3. 如果是 Marlin 命令,优先删除不需要的命令;确实需要兼容时,再添加明确的 Klipper 宏。 4. 排除对象相关报错应同时检查切片器是否输出对象标签、Moonraker 是否启用对象处理、Klipper 是否有 `[exclude_object]`。 5. 风扇命令报错时,确认是否应使用 `[fan]`,或为 `[fan_generic]` / `[output_pin]` 添加匹配的控制宏。 ### EXCLUDE\_OBJECT\_DEFINE / START / END[​](#exclude-object-unknown-command "EXCLUDE_OBJECT_DEFINE / START / END的直接链接") **报错含义**:`EXCLUDE_OBJECT_DEFINE` 用于定义打印对象,`EXCLUDE_OBJECT_START` / `EXCLUDE_OBJECT_END` 用于标记当前 G-code 属于哪个对象,前端才能在多对象打印时显示并排除指定对象。如果 `klippy.log` 反复出现 `Unknown command:"EXCLUDE_OBJECT_DEFINE"`、`Unknown command:"EXCLUDE_OBJECT_START"` 或 `Unknown command:"EXCLUDE_OBJECT_END"`,说明 G-code 中已经包含对象排除命令,但 Klipper 当前配置没有正确接收这类命令。 **优先检查**: 1. 在 `printer.cfg` 或被 include 的配置文件中确认存在: ``` [exclude_object] ``` 2. 修改后执行 `RESTART`,再重新上传 G-code 文件测试。已经上传过的旧文件可能没有经过最新配置处理,建议重新切片或重新上传。 3. 检查 Moonraker 配置是否启用对象处理,常见配置位置为 `moonraker.conf`: ``` [file_manager] enable_object_processing: True ``` 4. 检查切片器是否开启对象标签 / 排除对象相关输出。不同切片器名称不同,常见表现是 G-code 中能搜索到 `EXCLUDE_OBJECT_DEFINE`、`EXCLUDE_OBJECT_START`、`EXCLUDE_OBJECT_END` 或对象名称。 5. 如果只想临时完成打印、不需要对象排除功能,可以在切片器中关闭对象排除相关输出后重新切片;不要只删除文件中的部分对象命令,否则前端对象列表可能异常。 **判断方向**: * 只报 `EXCLUDE_OBJECT_START` / `EXCLUDE_OBJECT_END`:优先补 `[exclude_object]`,然后重启 Klipper。 * 前端没有对象列表,但 Klipper 不再报 Unknown command:优先检查 Moonraker 的对象处理和 G-code 是否重新上传。 * 文件中完全搜不到对象相关命令:说明切片器没有输出对象标签,需要在切片器侧启用。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)、[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## Error evaluating 'gcode\_macro XXX:gcode'[​](#error-evaluating-gcode_macro-xxx "error-evaluating-gcode_macro-xxx的直接链接") **报错信息**:`Error evaluating 'gcode_macro PRINT_START:gcode'`、`jinja2.exceptions.UndefinedError`、`'dict object' has no attribute 'BED'`、`'dict object' has no attribute 'HOTEND'`、`'dict object' has no attribute 'extrude'`、`'dict object' has no attribute 'heater_bed'`、`gcode.CommandError`。 **常见原因**: * 切片器没有传入宏需要的参数,例如宏中读取 `params.HOTEND`,但切片器没有传 `HOTEND=`。 * 参数名不一致,例如宏需要 `BED` / `HOTEND`,切片器实际传入 `BED_TEMP` / `EXTRUDER_TEMP`。 * 宏引用了不存在的对象,例如配置中没有 `[heater_bed]`,但宏读取了 `printer.heater_bed`。 * 宏中使用了 Jinja2 语法,但括号、引号、过滤器或默认值写法错误。 * 宏内部执行的命令先报错,外层只显示为 `Error evaluating`。 **解决方法**: 1. 查看 `klippy.log` 中 `Error evaluating` 下方的完整 Traceback,确认是哪个变量或命令出错。 2. 对照切片器起始 G-code,确认传入参数名称与宏中 `params.xxx` 完全一致,大小写也要一致。 3. 给可选参数设置默认值,例如 `params.BED|default(60)|float`,避免参数为空时报错。 4. 搜索宏中使用的 `printer.xxx` 对象,确认配置里存在对应模块。 5. 如果宏来自第三方配置包,确认所有依赖 include 文件和基础宏都已加载。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ## SAVE\_CONFIG 失败或配置冲突[​](#save-config-conflict "SAVE_CONFIG 失败或配置冲突的直接链接") **报错信息**:执行 `SAVE_CONFIG` 后提示 `Unable to write config`、`Option conflict`、`Cannot save config`,或重启后出现 `Can't read autosave from config file - modifications after header`。 **常见原因**: * `printer.cfg` 文件权限不足,Klipper 进程无法写入,常见于使用 `sudo` 编辑过配置文件后。 * 自动保存区(`#*#` 标记块)中的配置项与手动 `[include]` 文件中相同选项冲突。 * MCU 已处于 shutdown 状态,`SAVE_CONFIG` 无法正常下发新配置。 * `printer.cfg` 文件末尾存在语法错误或被截断,导致自动保存区写入失败。 * 在 `#*# <---------------------- SAVE_CONFIG ---------------------->` 标记之后手动添加了普通配置、注释或其他非 `#*#` 行,Klipper 因此拒绝读取自动保存区。 * 自动保存区的标题或 `#*#` 行在手动编辑、合并配置或同步文件时被破坏。 * 多个 include 文件重复定义了不应由 `SAVE_CONFIG` 自动保存的参数,如 PID、Z offset。 **解决方法**: 1. 确认配置文件权限: ``` ls -la ~/printer_data/config/printer.cfg ``` 如果属主不是当前用户,执行:`sudo chown $USER:$USER ~/printer_data/config/printer.cfg` 2. 如果 `SAVE_CONFIG` 后打印机无法启动,打开 `printer.cfg` 底部查看 `#*#` 自动保存区。 3. 如果出现 `modifications after header`,先备份 `printer.cfg`,再搜索自动保存标记: ``` grep -nE 'SAVE_CONFIG|DO NOT EDIT|^#\*#' ~/printer_data/config/printer.cfg ``` 4. 将所有需要手动维护的配置移动到 `SAVE_CONFIG` 标题之前。标题之后只能保留 Klipper 生成的 `#*#` 行;不要直接删除整个自动保存区,否则 PID、Z 偏移、网床等已保存校准值可能丢失。 5. 如果自动保存区已经损坏或出现多个标题,优先从同目录中最新且确认可用的 `printer-*.cfg` 备份恢复,再重新执行必要校准。不要把多份自动保存区直接拼接到一起。 6. 如果同一选项在 include 文件中也存在,删除自动保存区中的重复项,或改为在 include 文件中统一管理。 7. 如果 MCU 处于 shutdown 状态,先处理最早的真实报错并执行 `FIRMWARE_RESTART`,再重新执行 `SAVE_CONFIG`。 8. 如果权限正常但仍无法写入,检查磁盘空间:`df -h ~/printer_data/`。 相关配置参考:[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## SDCARD\_RESET\_FILE cannot be run from the sdcard[​](#sdcard-reset-file "SDCARD_RESET_FILE cannot be run from the sdcard的直接链接") **报错信息**:`SDCARD_RESET_FILE cannot be run from the sdcard`。 **常见原因**: * 在 SD 卡打印过程中执行了 `SDCARD_RESET_FILE` 命令,该命令不允许在 SD 卡打印期间调用。 * 切片器起始 G-code 或宏中误包含了 `SDCARD_RESET_FILE`。 **解决方法**: 1. 检查切片器起始 G-code 和自定义宏,删除或注释掉 `SDCARD_RESET_FILE` 调用。 2. 如果确实需要重置 SD 卡文件状态,在打印结束后手动执行,不要放在打印流程中。 3. 如果使用 `PRINT_START` 宏,确认其中没有调用此命令。 --- # 运动、限位与调平报错 本页整理移动范围、归位、限位、探针、网床和多 Z 调平相关报错。涉及接线、插头、手动机械调整时,请先断电再操作。 ## Move out of range[​](#move-out-of-range "Move out of range的直接链接") **报错信息**:目标坐标超出 Klipper 允许的运动范围,日志中通常会显示类似 `Move out of range: X Y Z [E]`。 Loading... **常见原因**: * 切片机中的机器尺寸与 Klipper 配置中的 `position_min` / `position_max` 不一致。 * 起始 G-code、结束 G-code、换料宏或暂停宏移动到了机器范围外。 * 使用偏斜校正、探针偏移或网床配置后,实际计算坐标变成负值或超过最大行程。 * 模型高度超过 Z 轴最大行程。 **解决方法**: 1. 根据报错中的坐标判断是哪一个轴超出范围。 2. 检查对应轴的 `position_min`、`position_max` 和切片机机器尺寸。 3. 检查起始、结束、暂停、换料等宏中的停靠坐标,避免停在 `0,0` 或最大边界。 4. 如果报错发生在扫床时,检查 `[bed_mesh]` 的 `mesh_min`、`mesh_max` 和探针偏移。 5. 保存配置并重启 Klipper 后重新测试。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)、[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)。 ## Unable to parse move / Invalid speed[​](#unable-to-parse-move "Unable to parse move / Invalid speed的直接链接") **报错信息**:`Unable to parse move 'G1 Z'`、`Unable to parse move 'G1 X... Y... Z...'`、`Invalid speed in 'G1 ...'`、`Machine does not support G20 (inches) command`、`Unknown g-code state: xxx`。 **常见原因**: * G-code 行格式不完整,例如 `G1 Z` 后面缺少具体坐标值。 * 宏变量为空,最终拼出的移动命令缺少 `X`、`Y`、`Z`、`E` 或 `F` 数值。 * 切片器起始/结束 G-code 中换行、花括号、变量名或转义格式错误。 * `F` 速度参数为空、为 0 或不是数字。 * G-code 文件使用了英寸模式 `G20`,Klipper 不支持该命令。 * 宏中 `SAVE_GCODE_STATE` / `RESTORE_GCODE_STATE` 使用的名称不一致。 **解决方法**: 1. 在 `klippy.log` 中找到完整的报错行,确认是哪一条 `G1`、`G0` 或状态命令出错。 2. 检查切片器起始、结束、暂停、恢复和换料宏,确认所有移动命令都有完整数值。 3. 对宏参数设置默认值,并在使用前转换为数字,例如 `params.Z|default(10)|float`。 4. 确认切片器单位为毫米,不要输出 `G20`。 5. 如果报 `Unknown g-code state`,检查 `SAVE_GCODE_STATE NAME=` 和 `RESTORE_GCODE_STATE NAME=` 是否使用同一个名称。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ## Must home axis first[​](#must-home-axis-first "Must home axis first的直接链接") **报错信息**:轴尚未归位,不能执行当前移动命令。 **常见原因**: * 开机或 `FIRMWARE_RESTART` 后没有执行 `G28`。 * 宏中先执行了移动命令,再执行归位命令。 * 打印暂停、恢复或取消后,机器状态被重置。 * 归位宏、探针宏或无限位归位配置异常,导致 Klipper 没有正确记录已归位状态。 **解决方法**: 1. 手动执行 `G28` 后再移动对应轴。 2. 检查起始 G-code 和宏,确认移动命令前已经完成归位。 3. 如果刚更新过 Klipper 或固件,检查归位相关宏是否仍兼容当前版本。 4. 如果使用无限位归位,检查驱动电流、灵敏度和 `homing_retract_dist`。 相关配置参考:[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)、[无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions)。 ## Endstop still triggered after retract[​](#endstop-still-triggered-after-retract "Endstop still triggered after retract的直接链接") **报错信息**:归位触发限位后,回退距离结束时限位仍然处于触发状态。 **常见原因**: * 限位开关常开/常闭逻辑配置反了。 * 限位开关卡住、损坏或线序错误。 * `homing_retract_dist` 太小,回退后仍压着限位。 * 无限位归位灵敏度过高,回退后仍被判断为触发。 * 驱动 `enable_pin`、电机方向或限位引脚配置错误,导致归位动作不正常。 **解决方法**: 断电操作 检查限位插头、电机线序或重新插拔线束前,请完全关闭打印机并断开电源供应。通电测试时只操作网页命令和限位机械触发部位,不要触碰端子。 1. 执行 `QUERY_ENDSTOPS`,确认未触发时为 `open`,手动触发后为 `TRIGGERED`。 2. 如果状态相反,调整限位引脚前的 `!`。 3. 断电后检查限位开关机械状态、线序和插头。 4. 适当增加 `homing_retract_dist` 后重新测试。 5. 如果使用无限位归位,降低灵敏度并确认归位电流合适。 相关配置参考:[限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop)、[无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions)。 ## No trigger on endstop after full movement[​](#no-trigger-on-endstop "No trigger on endstop after full movement的直接链接") **报错信息**:`No trigger on x after full movement`、`No trigger on y after full movement` 或类似限位未触发提示。 **常见原因**: * 归位方向配置错误,电机向远离限位的方向移动。 * 限位开关未接通、插头松动或引脚配置错误。 * `position_endstop`、`position_min`、`position_max` 配置与实际行程不匹配,归位距离不够。 * 无限位归位灵敏度过低,撞到机械端点后仍未被判断为触发。 * 电机线序或方向配置错误,导致轴移动方向与预期相反。 **解决方法**: 1. 执行 `QUERY_ENDSTOPS`,手动按下限位,确认状态能从 `open` 变为 `TRIGGERED`。 2. 用小距离移动确认轴方向,再检查 `dir_pin` 前的 `!` 是否需要调整。 3. 确认 `homing_positive_dir` 与限位所在方向一致。 4. 检查 `position_endstop`、`position_min`、`position_max` 是否符合实际机械行程。 5. 无限位归位场景下,降低归位速度并调整 TMC 灵敏度。 相关配置参考:[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)、[限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop)。 ## 无限位归位(Sensorless Homing)排查[​](#sensorless-homing-troubleshoot "无限位归位(Sensorless Homing)排查的直接链接") 无限位归位通过 TMC 驱动的 `DIAG` 信号判断电机堵转,替代物理限位开关。配置或灵敏度不当时会出现以下报错。完整的兼容性检查、参考配置与灵敏度调试方法见 [无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions)。 ### 归位未触发:No trigger on x after full movement[​](#sensorless-no-trigger "归位未触发:No trigger on x after full movement的直接链接") **报错信息**:使用 `virtual_endstop` 归位时提示 `No trigger on x after full movement` 或 `No trigger on y after full movement`,滑车撞到端点仍不停止。 **常见原因**: * 灵敏度阈值不合适:TMC2209 的 `driver_SGTHRS` 过低(不够敏感),或 TMC5160 / TMC2240 / TMC2130 的 `driver_SGT` 过高。 * B 类主板未安装 `DIAG` 跳线帽,或对应限位口仍接了其他设备。 * `diag_pin` 缺少上拉符号 `^`,开漏信号无法稳定触发。 * 归位速度过低、驱动电流过低,堵转电流变化不足以触发 `DIAG` 信号。 断电操作 检查跳线帽、限位口接线或插拔线束前,请先关闭打印机并断开电源,不要在通电状态下触碰端子或插拔线束。 **解决方法**: 1. 按 [无限位使用 · 测试灵敏度](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions#sensitivity-test) 的方法,从最高灵敏度开始逐步调试 `SGTHRS` / `sgt`。 2. 确认 `diag_pin` 带 `^` 上拉(如 `diag_pin: ^PD9`);TMC5160 等双 `DIAG` 引脚驱动需确认选用的是 `diag0_pin` 还是 `diag1_pin`。 3. B 类主板确认已安装 `DIAG` 跳线帽,且对应限位口没有接其他设备。 4. 适当提高归位电流与归位速度后复测。 ### 配置报错:Unknown pin chip name[​](#sensorless-unknown-pin-chip "配置报错:Unknown pin chip name的直接链接") **报错信息**:启动时报 `Unknown pin chip name 'tmc5160 stepper_x'`、`Unknown pin chip name '^awd'` 等,Klipper 无法进入 ready 状态。 **常见原因**: * `endstop_pin` 中驱动名与轴名之间误用了空格,例如写成 `tmc5160 stepper_x:virtual_endstop`;正确写法必须用下划线 `tmc5160_stepper_x:virtual_endstop`。 * `diag_pin` / `diag0_pin` / `diag1_pin` 引脚名拼写错误或带入了非法字符。 **解决方法**: 1. 检查 `[stepper_x]` 的 `endstop_pin`,确认格式为 `tmcXXXX_stepper_x:virtual_endstop`,驱动名与轴名之间是下划线而非空格。 2. 驱动配置段名 `[tmcXXXX stepper_x]` 内部用空格,而 `endstop_pin` 引用时必须改用下划线,两者名称要能对应。 3. 核对 `diag_pin` 引脚名拼写,仅允许 `^`、`!` 前缀加合法引脚名。 ### 配置报错:Could not find any TMC driver config section[​](#sensorless-no-tmc-section "配置报错:Could not find any TMC driver config section的直接链接") **报错信息**:`Could not find any TMC driver config section for 'stepper_x' required by TMC autotuning`。 **常见原因**: * `endstop_pin` 引用了 `tmcXXXX_stepper_x:virtual_endstop`,但配置中没有对应的 `[tmcXXXX stepper_x]` 驱动段,或驱动段名与引用不一致。 * 驱动段被注释、拼写错误或轴名不匹配。 **解决方法**: 1. 确认存在与 `endstop_pin` 引用完全对应的驱动配置段,例如 `endstop_pin: tmc2209_stepper_x:virtual_endstop` 必须有 `[tmc2209 stepper_x]`。 2. 检查驱动段是否被注释或轴名写错(`stepper_x` 与 `stepper_y` 不要混淆)。 ### 归位时急停:Homing failed due to printer shutdown[​](#sensorless-homing-shutdown "归位时急停:Homing failed due to printer shutdown的直接链接") **报错信息**:归位过程中打印机进入 shutdown,提示 `Homing failed due to printer shutdown`。 **常见原因**: * 这不是无限位专属故障,而是归位期间发生了其他 shutdown(如 `DIAG` 信号抖动误触发、驱动报错、服务重启)引发了急停。 * 真实原因需要看 `klippy.log` 中 `Homing failed` 之前的第一条 shutdown 报错。 **解决方法**: 1. 打开 `klippy.log`,搜索 `Homing failed due to printer shutdown` 上方的第一条 `shutdown` 报错,按对应分类排查。 2. 如果上方是 `Can't reset time when stepper active`,按 [系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#cant-reset-time-stepper-active) 处理。 3. 如果是 `DIAG` 信号抖动导致误触发,检查 `diag_pin` 上拉与跳线帽,并适当降低灵敏度。 > **相关文档**:[无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions)、[No trigger on endstop after full movement](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion#no-trigger-on-endstop)、[TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc) ## 探针与调平问题[​](#探针与调平问题 "探针与调平问题的直接链接") 断电操作 检查 BLTouch、Probe、TAP、Klicky、EDDY 等探针接线、插头或线序前,请完全关闭打印机并断开电源供应。通电时仅执行查询命令或观察状态,不要插拔线束。 ### Probe triggered prior to movement[​](#probe-triggered-prior "Probe triggered prior to movement的直接链接") **报错信息**:在归位或探测移动开始之前,探针已经处于触发状态。 **报错原因**: * 探针在上电或复位后默认状态为 `TRIGGERED`。 * 探针线序错误或接触不良,导致信号始终处于触发状态。 * 探针机械故障,如 BLTouch 探针卡住无法缩回。 * Z 轴已处于最低位置导致探针被压住。 **解决方法**: 1. 执行 `QUERY_PROBE` 在未接触热床时确认状态应为 `open`。 2. 执行 `QUERY_ENDSTOPS` 确认限位/探针信号是否正确。 3. 对于 BLTouch:`BLTOUCH_DEBUG COMMAND=pin_up` 确保探针缩回,再 `QUERY_PROBE` 确认。 4. 检查 Z 轴当前位置,必要时先抬升 Z 轴。 5. 断电后检查探针接线和 `sensor_pin` 配置。 相关配置参考:[限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop)、[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)。 ### No trigger on probe after full movement[​](#no-trigger-on-probe "No trigger on probe after full movement的直接链接") **报错信息**:探针在完整下探行程内没有触发。 **常见原因**: * 探针接线、供电或引脚配置错误。 * 探针安装高度不合适,下探行程内无法触发。 * Z 轴方向、探针偏移或调平区域配置错误。 * 探针本体故障,或线束在移动时接触不良。 **解决方法**: 1. 执行 `QUERY_PROBE`,手动触发探针,确认状态能正常变化。 2. 断电后检查探针供电、信号线和配置引脚。 3. 检查探针安装高度,确认下探前探针处于可触发范围。 4. 检查 `[probe]`、`[bed_mesh]`、`[z_tilt]` 或 `[quad_gantry_level]` 中的探测点是否超出热床。 5. 如果问题只在某些位置出现,重点检查线束拖动和探针偏移。 相关配置参考:[限位相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### Probe samples exceed samples\_tolerance[​](#probe-samples-tolerance "Probe samples exceed samples_tolerance的直接链接") **报错信息**:`Probe samples exceed samples_tolerance`,或日志中反复出现 `Probe samples exceed tolerance. Retrying...`。 **常见原因**: * 探针重复性差,几次采样的 Z 高度差超过 `samples_tolerance`。 * 热床、龙门、喷头或探针固定不牢,探测时有晃动。 * 探针速度过快,或者下探距离/回弹距离不合适。 * 电感、涡流或压力传感器受温度漂移、电磁干扰影响。 **解决方法**: 1. 检查探针、热端、床板和龙门结构是否固定牢靠。 2. 降低 `[probe]` 中的 `speed`,适当增大 `sample_retract_dist`。 3. 先临时放宽 `samples_tolerance` 测试,例如从 `0.01` 调到 `0.03` 或 `0.05`。 4. 如果使用电感/涡流探针,等待热床和喷嘴温度稳定后再调平。 5. 问题只在某一区域出现时,检查该区域床面、磁贴、线束拖动和探针偏移。 相关配置参考:[机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### Must home before probe[​](#must-home-before-probe "Must home before probe的直接链接") **报错信息**:`Must home before probe`。 **常见原因**: * 还没有执行 `G28` 就运行 `PROBE`、`BED_MESH_CALIBRATE`、`Z_TILT_ADJUST` 或 `QUAD_GANTRY_LEVEL`。 * 宏中调用调平命令前没有保证 XY/Z 已归位。 * `FIRMWARE_RESTART`、急停或报错恢复后,Klipper 已清除归位状态。 **解决方法**: 1. 先执行 `G28`,再执行探针或调平命令。 2. 在调平宏开头加入归位判断或直接加入 `G28`。 3. 如果使用独立 Z 探针,确认 `endstop_pin: probe:z_virtual_endstop` 和 `[probe]` 配置完整。 相关配置参考:[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### BLTouch failed to verify sensor state[​](#bltouch-verify-failed "BLTouch failed to verify sensor state的直接链接") **报错信息**:`BLTouch failed to verify sensor state; retrying.` 多次重试后报错。 **常见原因**: * 盗版/克隆 BLTouch 无法通过 Klipper 内部传感器验证。 * `sensor_pin` 未配置上拉电阻(缺少 `^` 前缀)。 * BLTouch 控制引脚或传感器引脚接线错误。 * 探针自检失败,红灯闪烁。 **解决方法**: 1. 先运行 `BLTOUCH_DEBUG COMMAND=pin_down`、`BLTOUCH_DEBUG COMMAND=touch_mode` 和 `QUERY_PROBE` 确认状态。 2. 如果手动测试通过但自动归位/探测仍报错,在 `[bltouch]` 中添加: ``` pin_up_touch_mode_reports_triggered: False ``` 3. 确保 `sensor_pin` 配置了上拉电阻,如 `sensor_pin: ^PC4`。 4. 检查 BLTouch 自检是否正常:通电后探针伸缩几次,红灯常亮即为正常。 ### BLTouch failed to deploy[​](#bltouch-deploy-failed "BLTouch failed to deploy的直接链接") **报错信息**:`BLTouch failed to deploy`。 **常见原因**: * BLTouch 探针机械卡住,无法伸出。 * `control_pin` 接线或配置错误,探针未收到伸出信号。 * 盗版/克隆 BLTouch 时序不兼容。 * 探针供电不足(使用了主板 3.3V 而非 5V)。 **解决方法**: 1. 手动测试探针控制:`BLTOUCH_DEBUG COMMAND=pin_down`,观察探针是否伸出。 2. 确认 `[bltouch]` 中 `control_pin` 和 `sensor_pin` 与主板文档一致。 3. 检查 BLTouch 供电是否为 5V(部分主板需跳线选择)。 4. 如果探针完全无动作,断电后检查接线和插头,必要时更换探针模块。 ### BLTouch failed to raise probe[​](#bltouch-raise-failed "BLTouch failed to raise probe的直接链接") **报错信息**:归位或探测后 Klipper 检测到 BLTouch 探针未成功缩回。 **常见原因**: * 老版本克隆 BLTouch 无法报告探针缩回状态。 * 探针机械卡住,磁芯移位或螺丝松动。 * `control_pin` 接线或配置错误。 **解决方法**: 1. 测试探针控制功能:`BLTOUCH_DEBUG COMMAND=pin_down` 和 `BLTOUCH_DEBUG COMMAND=pin_up`。 2. 如果动作正常但报错,在 `[bltouch]` 中添加: ``` pin_up_reports_not_triggered: False ``` 3. 如果探针卡住,建议更换探针模块或联系售后,不要拆解带电设备。 > **完整指南**:BLTouch 接线、测试、克隆兼容性和输出模式等完整配置说明见 [BLTouch 配置与排查](https://mellow.klipper.cn/docs/DebugDoc/faq/bltouch)。 ### Communication timeout during homing[​](#homing-communication-timeout "Communication timeout during homing的直接链接") **报错信息**:`Communication timeout during homing x`、`Communication timeout during homing y` 等。 **常见原因**: * 归位过程中 CAN 总线受到电机运动产生的电磁干扰,通信丢包。 * USB 通信线接触不良,运动报动时断开。 * MCU 过载(如归位同时触发大量传感器查询)。 **解决方法**: 1. 检查 CAN / USB 通信线走线,确保远离电机线、加热线和电源线。 2. 确认通信线插头牢固,更换质量更好的屏蔽线。 3. 确认所有 MCU 固件版本一致。 4. 如果只在特定轴归位时出现,重点检查该轴电机线和限位开关线束的屏蔽与接地。 > **相关排查**:[Lost communication with MCU](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#lost-communication-with-mcu)、[CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) ### horizontal\_move\_z can't be less than probe's z\_offset[​](#horizontal_move_z-cant-be-less-than-probes-z_offset "horizontal_move_z can't be less than probe's z_offset的直接链接") **报错信息**:`horizontal_move_z can't be less than probe's z_offset`。 **常见原因**: * `PROBE_CALIBRATE` 后保存的 `z_offset` 大于调平配置中的 `horizontal_move_z`。 * 更换喷嘴、探针支架或热端后,探针安装高度变化很大。 * 多个 include 文件中重复配置了 `horizontal_move_z` 或 `z_offset`。 **解决方法**: 1. 搜索所有 `horizontal_move_z` 和 `z_offset`,确认最终生效配置。 2. 将相关调平配置中的 `horizontal_move_z` 设置为大于探针 `z_offset` 的安全值。 3. 如果 `z_offset` 异常偏大,重新检查探针安装高度并执行 `PROBE_CALIBRATE`。 4. 保存后执行 `RESTART`,再重新测试 `BED_MESH_CALIBRATE` 或调平命令。 相关配置参考:[机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### bed\_mesh: cannot exceed a probe\_count of 6[​](#bed_mesh-cannot-exceed-a-probe_count-of-6 "bed_mesh: cannot exceed a probe_count of 6的直接链接") **报错信息**:`bed_mesh: cannot exceed a probe_count of 6 when using lagrange interpolation`。 **报错原因**:`lagrange` 插值在高采样数量下容易振荡,Klipper 限制使用该算法时单轴探测点数量不能超过 `6`。 **解决方法**: 1. 如果需要 `7x7`、`9x9` 或更密的网格,在 `[bed_mesh]` 中设置: ``` algorithm: bicubic ``` 2. 如果不需要密集网格,将 `probe_count` 降到 `6,6` 或以下。 3. 自适应网床由切片机或宏传入 `PROBE_COUNT` 时,也要确认最终点数和算法匹配。 4. 修改后保存并执行 `RESTART`。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### bed\_mesh: Unknown profile[​](#bed_mesh-unknown-profile "bed_mesh: Unknown profile的直接链接") **报错信息**:`bed_mesh: Unknown profile [xxx]` 或加载网床配置时提示找不到 profile。 **常见原因**: * 起始 G-code 或宏中执行了 `BED_MESH_PROFILE LOAD=xxx`,但该名称从未保存。 * 执行过 `BED_MESH_CLEAR` 或删除了自动保存区中的网床数据。 * 网床校准完成后没有执行 `SAVE_CONFIG`。 * profile 名称大小写或空格不一致。 **解决方法**: 1. 执行 `BED_MESH_OUTPUT` 或查看配置末尾自动保存区,确认已有 profile 名称。 2. 如果没有需要的 profile,重新执行 `BED_MESH_CALIBRATE`,再执行 `SAVE_CONFIG`。 3. 修改起始 G-code 中的 `BED_MESH_PROFILE LOAD=`,使名称与实际保存名称一致。 4. 如果每次打印前都重新扫床,可删除不必要的 profile 加载命令。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### bed\_mesh 高级配置报错[​](#bed_mesh-高级配置报错 "bed_mesh 高级配置报错的直接链接") **报错信息**:`bed_mesh: ERROR, fade_target lies outside of mesh z range`、`bed_mesh: Mesh extends outside of the fade range`、`bed_mesh: Cannot probe zero reference position`、`bed_mesh: invalid min/max points`、`bed_mesh: malformed 'xxx' value`。 **常见原因**: * `fade_target` 超出了当前网床 Z 高度范围,或网床数据整体偏差过大。 * `mesh_min`、`mesh_max`、`zero_reference_position` 与探针偏移计算后落在不可探测区域。 * `faulty_region` 覆盖了零参考点,导致 Klipper 无法探测参考位置。 * 坐标列表格式错误,缺少逗号或使用了中文标点。 * 自适应网床宏传入的 `MESH_MIN` / `MESH_MAX` 与机器尺寸、探针偏移不匹配。 **解决方法**: 1. 检查 `[bed_mesh]` 中 `mesh_min`、`mesh_max`、`probe_count`、`fade_start`、`fade_end`、`fade_target`。 2. 如果不清楚 `fade_target` 的意义,优先删除该项,让 Klipper 使用默认行为。 3. 确认所有探测点加上 `[probe]` 的 `x_offset` / `y_offset` 后仍在机器可移动范围内。 4. 如果配置了 `zero_reference_position` 或 `faulty_region`,确认零参考点没有落在故障区域内。 5. 自适应网床报错时,先用固定 `mesh_min` / `mesh_max` 测试,确认基础网床配置正常后再恢复宏。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)、[机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration)。 ### Z\_TILT\_ADJUST / QUAD\_GANTRY\_LEVEL 报错[​](#z_tilt_adjust--quad_gantry_level-报错 "Z_TILT_ADJUST / QUAD_GANTRY_LEVEL 报错的直接链接") **报错信息**:`Z_TILT_ADJUST: Point X,Y not reachable with current probe offset`、`QUAD_GANTRY_LEVEL: Max adjustment X.XXXX exceeds limit` 或龙门调平后偏差仍然过大。 **常见原因**: * 探针偏移配置不正确,导致计算的探测点超出热床范围。 * 多个 Z 轴的龙门偏差超出了 `max_adjust` 允许范围。 * Z 轴电机方向不一致,导致龙门向相反方向倾斜。 * 限位开关安装高度不一致,归位后各 Z 轴起始位置差异过大。 * 龙门机械结构松动、皮带打滑或丝杆螺母间隙过大。 **解决方法**: 断电操作 手动调整 Z 丝杆、同步带、联轴器,或检查龙门限位安装前,请完全关闭打印机并断开电源供应。不要在电机上电保持力矩时强行旋转丝杆或同步带。 1. 检查 `[probe]` 中的 `x_offset`、`y_offset`,以及 `[z_tilt]` 或 `[quad_gantry_level]` 中的 `points`。 2. 如果偏差超出 `max_adjust`,完全断电后手动调整龙门大致水平,再重新上电归位和执行调平。 3. 执行 `STEPPER_BUZZ STEPPER=stepper_z` 和 `STEPPER_BUZZ STEPPER=stepper_z1`(按实际名称),确认每个 Z 电机单独运动方向一致。 4. 断电后检查龙门各角限位开关安装高度是否一致,丝杆螺母、同步带松紧和联轴器是否有打滑。 5. 如果只是 `max_adjust` 限制太小,可适当增大该值,但不要超过 2-3 倍默认值。 相关配置参考:[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)。 ### no samples between time[​](#no-samples-between-time "no samples between time的直接链接") **报错信息**:`no samples between time X.X and X.X`,通常在执行 `BED_MESH_CALIBRATE` 后出现。 **常见原因**: * EDDY 涡流探针或 Cartographer 等流式采样探针的固件版本与上位机 Klipper 不匹配。 * 探针数据流在网床采样期间中断(CAN 通信抖动、USB 带宽不足)。 * 升级 Klipper 后未同步更新探针模块固件。 * 上位机 CPU 负载过高,导致采样数据时间戳异常。 **解决方法**: 1. 确认探针模块(EDDY、Cartographer 等)固件版本与当前 Klipper 版本匹配,必要时重新刷写探针固件。 2. 检查 CAN 总线状态,确认 `bytes_retransmit`、`bytes_invalid` 没有持续增长。 3. 临时关闭摄像头、KlipperScreen 和其他高负载服务后重新执行网床校准。 4. 如果只在特定区域报错,检查该区域是否超出探针有效感应范围。 5. 尝试降低网床采样速度(减小 `speed` 参数)后复测。 > **EDDY 探针相关**:[EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy) ### SVD did not converge in Linear Least Squares[​](#svd-not-converge "SVD did not converge in Linear Least Squares的直接链接") **报错信息**:`numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares`,通常在执行 `BED_MESH_CALIBRATE` 或 `ACCEPT` 后触发 shutdown。 **常见原因**: * 网床采样点数据异常(全部相同、包含 NaN 或极端跳变),numpy 无法完成矩阵拟合。 * 探针在采样期间触发异常(如 EDDY 数据流中断、Cartographer 超出模型范围)。 * 热床表面存在金属异物或探针感应面污染,导致个别点读数严重偏离。 * 上位机 numpy 版本过旧或安装损坏。 **解决方法**: 1. 重新执行 `BED_MESH_CALIBRATE`,观察是否每次都在同一点失败。 2. 检查热床表面是否清洁,探针感应面是否有残留耗材或金属碎片。 3. 如果探针为 EDDY / Cartographer,确认固件版本与 Klipper 匹配,并检查 CAN 通信稳定性。 4. 尝试减小 `probe_count`(如从 7x7 降为 5x5)后复测,排除单点异常影响。 5. 如果问题持续,尝试更新上位机 numpy:`pip install --upgrade numpy`。 6. 检查 `klippy.log` 中报错前是否有 `Toolhead stopped outside model range` 或探针超时等前置错误。 --- # 共振补偿与压力提前配置问题 本页整理 Input Shaper(共振补偿)和 Pressure Advance(压力提前)相关的配置错误与调优异常。加速度计硬件连接与通信报错请参考 [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl)。 ## 启用 Input Shaper 后振纹加重或打印模糊[​](#shaper-worse-after-enable "启用 Input Shaper 后振纹加重或打印模糊的直接链接") **现象**:配置 `[input_shaper]` 后,打印件表面振纹(鬼影/波纹)反而比未启用时更明显,或细节变模糊、边角变圆。 **常见原因**: * `shaper_freq_x` / `shaper_freq_y` 与实际共振频率偏差过大。 * `shaper_type` 选择不适合当前机型(如高刚性机器使用了 `2hump_ei` 导致过度平滑)。 * 机械结构存在松动(皮带过松、滑块间隙大、螺丝未紧固),共振补偿无法修正机械问题。 * 启用 Input Shaper 后未重新校准 Pressure Advance,两者叠加导致挤出异常。 **解决方法**: 1. 先排除机械问题:断电后检查皮带张力、滑块/导轨间隙、框架螺丝紧固。 2. 重新执行共振测量,获取准确频率: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 3. 根据共振图选择合适整形器类型: | 整形器 | 适用场景 | 频率容错 | 平滑度影响 | | ---------- | -------------------------- | -------- | ---------- | | `zv` | 高刚性、低振动机型 | ±5% | 最低 | | `mzv` | 大多数桌面机型(推荐首选) | ±10% | 中等 | | `ei` | 床身移动型 / 振动较大 | ±20% | 中高 | | `2hump_ei` | 存在多个共振频率 | ±45% | 高 | | `3hump_ei` | 复杂共振模式 | ±60% | 最高 | 4. 启用 Input Shaper 后必须重新校准 Pressure Advance: ``` SET_PRESSURE_ADVANCE ADVANCE=0 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ``` 5. 如果模糊严重,尝试降低 `shaper_freq` 约 5–10% 或换用容错更低的整形器类型。 相关配置参考:[Klipper 共振补偿官方文档](https://www.klipper3d.org/Resonance_Compensation.html)。 ## TEST\_RESONANCES / SHAPER\_CALIBRATE 配置类报错[​](#resonance-tester-config-error "TEST_RESONANCES / SHAPER_CALIBRATE 配置类报错的直接链接") **报错信息**: * `accel_chip not configured` / `No accelerometer configured` * `probe_points must be specified` 或坐标超出打印范围 * `Invalid accel_chip` / 找不到指定芯片名称 **常见原因**: * `[resonance_tester]` 中未配置 `accel_chip`,或名称与 `[adxl345]` / `[mpu9250]` / `[lis2dw]` 段名不匹配。 * `probe_points` 坐标超出 `[stepper_x]` / `[stepper_y]` 定义的 `position_max` 范围。 * 多加速度计配置时 `accel_chip` 写了错误的大小写或前缀。 **解决方法**: 1. 确认配置段名称一致: ``` [adxl345] cs_pin: toolboard:gpio12 spi_bus:spi0_gpio4_gpio3_gpio2 [resonance_tester] accel_chip: adxl345 probe_points: 150, 150, 20 ``` 2. `probe_points` 的 X、Y 坐标必须在打印范围内,Z 坐标为测试时喷嘴离床高度(建议 20 mm)。 3. 若使用工具板上的加速度计,`accel_chip` 名称需与配置段完全一致(区分大小写)。 4. 多芯片场景下可指定 `accel_chip_x` 和 `accel_chip_y` 分别对应不同轴。 > **硬件通信报错**:如 `ACCELEROMETER_QUERY` 返回超时或 ID 错误,请参考 [加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) 中的常见问题处理。 ## axes\_map 不会自动判断[​](#adxl-axes-map "axes_map 不会自动判断的直接链接") **现象**:`ACCELEROMETER_QUERY` 能正常返回数据,但执行 `TEST_RESONANCES` / `SHAPER_CALIBRATE` 后,共振图方向异常、X/Y 轴结果疑似互换,或启用 Input Shaper 后打印质量没有改善。 **说明**: Klipper 中 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置使用同一类 `axes_map` 解析逻辑。Klipper 只会读取配置中的 `axes_map`,不会根据传感器安装方向自动判断坐标映射。 如果没有填写 `axes_map`,默认值为: ``` axes_map: x,y,z ``` **常见原因**: * 工具板或外接加速度计的安装方向与打印机 X/Y/Z 坐标方向不一致。 * 复制了其他机型或其他安装方向的配置,导致 `x`、`y`、`z` 顺序或正负号错误。 * 更换工具板、喷头外壳或加速度计安装位置后,没有重新核对 `axes_map`。 **正确写法**: `axes_map` 必须写 3 个轴,支持交换轴顺序和取反: ``` [adxl345] axes_map: x,y,z # 示例:X 不变,Y/Z 互换 # axes_map: x,z,y # 示例:X/Y 方向取反,Z 不变 # axes_map: -x,-y,z ``` **核对方法**: 1. 先确认加速度计通信正常: ``` ACCELEROMETER_QUERY ``` 2. 开始记录加速度计数据,然后使用小幅移动分别测试 X、Y 方向: ``` ACCELEROMETER_MEASURE G91 G1 X10 F3000 G1 X-10 F3000 G1 Y10 F3000 G1 Y-10 F3000 G90 ACCELEROMETER_MEASURE NAME=axes_map_check ``` 3. 在 `/tmp/<芯片类型>-axes_map_check.csv` 中查看 X/Y 移动时哪个数据列变化最大。例如 `[adxl345]` 会生成 `/tmp/adxl345-axes_map_check.csv`;若使用带名称的配置段(如 `[adxl345 hotend]`),文件名会包含对应芯片名称。 4. 如果 X 方向移动时主要响应出现在 Y 或 Z,说明轴顺序需要调整;如果响应方向相反,则在对应轴前添加 `-`。 5. 多加速度计场景下,`ACCELEROMETER_MEASURE` 可追加 `CHIP=<芯片名称>` 指定要测试的加速度计。 6. 修改 `axes_map` 后执行 `RESTART`,再重新运行 `TEST_RESONANCES` 或 `SHAPER_CALIBRATE`。 提示 `axes_map` 只影响加速度计数据如何映射到打印机坐标,不会修复加速度计通信问题。若 `ACCELEROMETER_QUERY` 本身报错,请先处理加速度计通信或接线问题。 ## Failed to configure shaper(s)[​](#failed-to-configure-shaper "Failed to configure shaper(s)的直接链接") **报错信息**:`configparser.Error: Failed to configure shaper(s) shaper_x with given parameters`、`Failed to configure shaper(s) shaper_z with given parameters`。 **常见原因**: * `shaper_freq_x` 或 `shaper_freq_y` 超出了所选 `shaper_type` 的可用频率范围。例如 `mzv` 在较高频率下可能无有效解。 * `damping_ratio` 设置不当(过小或过大),导致整形器无法生成有效参数。 * 手动填写了未经 `SHAPER_CALIBRATE` 验证的参数组合。 **解决方法**: 1. 重新执行 `SHAPER_CALIBRATE`,使用自动推荐的 `shaper_type` 和 `shaper_freq`。 2. 如果手动调整,尝试降低 `shaper_freq`,或改用容错更高的整形器类型(如 `ei` 或 `2hump_ei`)。 3. 确认 `damping_ratio` 在合理范围内(默认 0.1,常见范围 0.05–0.2)。 4. 如果只需要禁用某个轴的整形器,设置为 `shaper_freq_x: 0` 而不是填写无效值。 ## shaper\_freq 过高导致电机异响或失步[​](#shaper-freq-too-high "shaper_freq 过高导致电机异响或失步的直接链接") **现象**:启用 Input Shaper 后电机发出高频啸叫、打印件出现规律性条纹,或高速移动时丢步。 **常见原因**: * `shaper_freq` 设置值远高于实际共振频率(例如实际 40 Hz 却填了 80 Hz)。 * 共振图解读错误,将噪声峰值误认为共振频率。 * `max_accel` 设置过高,超出电机扭矩能力。 **解决方法**: 1. 重新执行 `SHAPER_CALIBRATE`,以自动推荐频率和整形器类型为准。 2. 手动解读共振图时,选择**最高且最尖锐**的峰值对应频率,忽略低矮宽泛的噪声。 3. 降低 `max_accel` 至电机不失步的范围(建议从 3000 开始逐步提高): ``` [printer] max_accel: 3000 ``` 4. 若电机持续异响,临时禁用 Input Shaper 确认是否为配置问题: ``` SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0 ``` ## Pressure Advance 启用后拐角鼓包或缺料[​](#pa-corner-blob-or-gap "Pressure Advance 启用后拐角鼓包或缺料的直接链接") **现象**:启用 `pressure_advance` 后,打印件拐角处出现材料堆积(鼓包)或拐角前一段缺料/变细。 **常见原因**: * PA 值过小:减速时喷嘴内残余压力未充分补偿 → 拐角鼓包。 * PA 值过大:加速时过度回抽 → 拐角前缺料、线条变细。 * 切片器同时启用了 Coasting(滑行)或 Extra restart distance,与 PA 补偿叠加冲突。 * 挤出机 `rotation_distance` 未校准,基础挤出量不准确。 **解决方法**: 1. 确保切片器中**禁用** Coasting、Extra restart distance、动态加速度控制。 2. 先校准挤出机 `rotation_distance`,再校准 PA。 3. 使用 TUNING\_TOWER 打印测试塔: ``` SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ``` 近程挤出机使用 `FACTOR=.005`,远程 Bowden 使用 `FACTOR=.020`。 4. 选择拐角最清晰、线条最均匀的层对应高度,计算 PA 值: `pressure_advance = START + 高度 × FACTOR` 5. 典型值范围:近程挤出 0.02–0.15,Bowden 0.1–1.0。若超过 1.0 仍无改善,说明问题不在 PA。 相关配置参考:[Klipper Pressure Advance 官方文档](https://www.klipper3d.org/Pressure_Advance.html)。 ## PA 值过高导致挤出机跳步[​](#pa-extruder-skip "PA 值过高导致挤出机跳步的直接链接") **现象**:使用较高 `pressure_advance` 值(如 >0.2)后,加速/减速阶段挤出机发出咔嗒声或打印件出现断线。 **常见原因**: * PA 补偿在加减速时产生大量额外挤出/回抽运动,超出挤出机扭矩。 * 加速度设置过高,PA 补偿量瞬间过大。 * 挤出机电流不足或耗材打滑。 **解决方法**: 1. 降低 `max_accel`,减少 PA 补偿的瞬时挤出量。 2. 适当降低 PA 值,在拐角质量和挤出可靠性之间取平衡。 3. 检查挤出机电流设置(TMC 驱动 `run_current`)是否足够。 4. 确认耗材无打滑(检查挤出齿轮磨损、弹簧压力)。 注意 PA 系统不改变打印时间和总挤出量,只在加减速阶段重新分配挤出运动。极高的 PA 值会导致极大的瞬时挤出机运动量,且没有配置项可以限制该运动幅度。 ## pressure\_advance\_smooth\_time 设置不当[​](#pa-smooth-time "pressure_advance_smooth_time 设置不当的直接链接") **现象**:打印表面出现周期性波纹、挤出速度不平滑,或拐角过渡不自然。 **常见原因**: * `pressure_advance_smooth_time` 设置过大(>0.1s),PA 补偿响应迟钝。 * 设置过小(`<0.01s`),PA 补偿过于激进导致挤出抖动。 * 旧版配置使用了已弃用的 `[pressure_advance]` 独立段。 **解决方法**: 1. 默认值 `0.040` 适用于大多数场景,一般无需修改。 2. 配置应写在 `[extruder]` 段内: ``` [extruder] pressure_advance: 0.05 pressure_advance_smooth_time: 0.040 ``` 3. 不要使用独立的 `[pressure_advance]` 配置段(已弃用)。 4. 若使用 Bowden 长管路,可适当增大至 `0.060–0.080`。 ## 切片器设置与 Klipper 挤出控制冲突[​](#slicer-pa-conflict "切片器设置与 Klipper 挤出控制冲突的直接链接") **现象**:配置了 PA 后打印质量反而下降,出现拉丝加重、拐角异常或挤出颗粒。 **常见原因**: * 切片器启用了 Coasting(滑行)功能,与 PA 减速补偿叠加。 * Simplify3D 的 Extra restart distance 导致挤出速度剧烈变化。 * KISSlicer 的 PreloadVE 与 PA 功能重复。 * 切片器的"动态加速度控制"或"Scarf joint"干扰测试。 **解决方法**: 1. **禁用**切片器中以下功能: * Coasting(滑行) * Extra restart distance(额外重启距离) * PreloadVE(KISSlicer) * 动态加速度控制 / 动态压力控制 * Scarf joint 接缝(校准 PA 时) 2. 保留正常的回抽设置(建议 0.5–1.0 mm)和"回抽时擦拭"。 3. 禁用切片器的"Z-lift on retract"(抬升回抽),由 Klipper 宏控制。 提示 PA 校准测试时,切片速度建议 100 mm/s、层高约为喷嘴直径的 75%、填充 0%、关闭动态加速度控制,以充分暴露 PA 效果。 ## 升级 Klipper 后共振补偿相关配置变更[​](#shaper-config-changes "升级 Klipper 后共振补偿相关配置变更的直接链接") **现象**:升级 Klipper 后 `SHAPER_CALIBRATE` 行为变化、共振测试结果与之前不同,或出现配置弃用警告。 **常见原因**: * Klipper 更新了 `[resonance_tester]` 默认参数(如 `sweeping_period`、`accel_per_hz`)。 * 旧版 `max_accel_to_decel` 已被 `minimum_cruise_ratio` 替代。 * 加速度计采样逻辑或滤波算法更新。 **解决方法**: 1. 升级后查看 [Klipper 配置变更记录](https://www.klipper3d.org/Config_Changes.html),确认是否有影响共振补偿的条目。 2. 若需恢复旧版测试行为,可在 `[resonance_tester]` 中显式添加: ``` [resonance_tester] sweeping_period: 0 accel_per_hz: 75 ``` 3. 升级后建议重新执行一次 `SHAPER_CALIBRATE`,不要沿用旧频率值。 4. 若 `max_accel_to_decel` 报错已弃用,改用: ``` [printer] minimum_cruise_ratio: 0.5 ``` > **配置迁移**:更多升级后配置迁移问题,请参考 [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config) 中的相关章节。 --- # 系统、性能与服务报错 本页整理归位通信超时、MCU 定时错误、上位机性能、固件刷写和 Klipper 服务启动相关问题。 ## 归位超时问题[​](#归位超时问题 "归位超时问题的直接链接") **报错信息**:归位过程中出现 `Communication timeout during homing`、`Error during homing xxx`。常见于多 MCU 的 Z 轴归位场景。 **常见原因**: * 上位机负载过高,KlipperScreen、摄像头流等同时运行。 * 归位时多轴电机同时运动,大电流驱动信号耦合到 CAN/USB 通信线,导致通信中断。 * 多 MCU 通信响应不稳定。 * CAN/USB 通信线质量问题或走线不当。 **解决方法**: 断电操作 重新整理 CAN/USB 走线、检查屏蔽层或检查接地前,请完全关闭打印机并断开电源供应。不要自行改动电源地线、市电接线或电源内部结构。 1. 首先排除电磁干扰:检查 CAN/USB 线是否与电机线、加热线分离走线,参考 [CAN 网络配置与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) 中的干扰排查步骤。 2. 尝试调整 `TRSYNC_TIMEOUT` 超时参数或临时关闭 KlipperScreen,详见 [归位超时问题](https://mellow.klipper.cn/docs/DebugDoc/faq/hometimeout)。 3. 检查机器接地和屏蔽层接地是否正常。 ## MCU 'mcu' shutdown: Stepper too far in past[​](#stepper-too-far-in-past "MCU 'mcu' shutdown: Stepper too far in past的直接链接") **报错信息**:Klipper 计划发送给 MCU 的步进事件已经落后于当前时间,MCU 无法再按预期时间执行这些运动指令,打印机会进入 shutdown 状态。 Loading... **报错原因**:这通常不是某一个固定配置项导致,而是主机端运动规划、MCU 步进输出或通信调度来不及处理造成的结果。上位机负载过高、打印速度/加速度过高、步进细分过高、多 MCU 通信延迟、USB / CAN 通信质量差、宏或 G-code 短时间生成大量运动指令,都可能触发该问题。 **参考场景**:执行多点扫床时,如果 `[bed_mesh]` 中的 `probe_count` 设置过大,并且同时配置了较高的 `mesh_pps`,可能会生成过密的网格数据,增加上位机计算和运动规划压力。这只是常见场景之一;即使没有扫床,其他导致系统负载或通信延迟升高的情况也可能出现 `Stepper too far in past`。 **恢复打印后停滞场景**:报错也可能出现在 `PAUSE` / `RESUME`、断料恢复或断电续打之后。典型日志表现为:恢复后 `Stats` 行的 `buffer_time` 从约 `1s` 骤降到 `0.2s` 左右,`sd_pos` 几乎不再增长(打印进度停滞),但 `sysload` 并不高、也没有 MCU 掉线。这说明恢复后运动指令未能持续填充步进缓冲区,打印机“开打了但没怎么动”就进入 shutdown。排查时重点检查恢复 / 续打宏(`resume_gcode`、`start_gcode`)是否在恢复瞬间发送了异常的大段移动或回抽指令,以及恢复前是否已存在通信重传(`bytes_retransmit` 增长)。 **解决方法**: 1. 先查看 `klippy.log` 中报错前的 `Stats` 行,确认是否同时存在 CPU 占用高、`bytes_retransmit`、`bytes_invalid`、`Timer too close`、MCU 掉线或队列异常。 2. 临时关闭摄像头流、KlipperScreen、远程控制插件和其他高占用服务,降低上位机负载后复测。 3. 降低打印速度、加速度和步进细分,观察报错是否消失。 4. 如果报错出现在多点扫床过程中,可降低 `[bed_mesh]` 中的 `probe_count`,例如改为 `7,7` 或 `9,9` 测试。 5. 如果配置了较高的 `mesh_pps`,可降低或删除该配置,例如改为 `mesh_pps: 2,2`。 6. 检查 USB / CAN 通信质量;如果使用 CAN,确认队列长度、终端电阻、线序、供电和固件 CAN 速率。 7. 检查触发报错前正在执行的宏或 G-code,避免宏循环、过密短线段或异常脚本短时间发送大量运动命令。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)、[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)。 ## MCU 'mcu' shutdown: Timer too close[​](#timer-too-close "MCU 'mcu' shutdown: Timer too close的直接链接") **报错信息**:MCU 计时器过于接近,导致系统超时。 Loading... **报错原因**:下位机处理负载过高、上位机响应超时、打印速度过高、细分过高、系统时间同步干扰或 MCU 通信线受到干扰,都可能触发该问题。 **近期常见场景**: * `M600`、`PAUSE`、`RESUME`、断料检测或换料宏等待一段时间后恢复打印,随后触发 `Timer too close`。 * EDDY / TAP / CAN 工具板参与 Z 归位、`Z_TILT_ADJUST`、`QUAD_GANTRY_LEVEL` 或扫床时,日志中同时出现 CAN 重传、I2C 读数异常或上位机负载尖峰。 * 多工具头、多 CAN 节点或低性能上位机同时运行摄像头、KlipperScreen、远程控制插件时,调度余量不足。 **解决方法**: 1. 降低步进电机细分,减少 MCU 脉冲处理压力。 2. 降低打印速度和加速度,观察问题是否消失。 3. 检查上位机负载、供电和 USB / CAN 通信质量。 4. 断电后检查 MCU 与上位机之间的通信线是否靠近电机线、加热线、热床线或电源线,必要时重新走线或更换带屏蔽的通信线。 5. 检查机器接地情况时,仅确认厂家提供的接地点和插座状态,不要自行拆卸电源或改动市电地线。 6. 如果问题发生在归位阶段,请参考 [归位超时问题](https://mellow.klipper.cn/docs/DebugDoc/faq/hometimeout)。 7. 如果发生在 `M600` 或断料恢复后,检查宏中是否重复 `PAUSE`、断料传感器是否在换料过程中误触发,以及 `SAVE_GCODE_STATE` / `RESTORE_GCODE_STATE` 名称是否一致。 8. 如果发生在 EDDY TAP、Z 倾斜或龙门调平时,先参考 [EDDY TAP 模式调试方法](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap#eddy-tap-timer-too-close),或按 [EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy#eddy-timer-too-close) 排查。 9. 如果问题持续存在,再考虑重新刷写上位机系统或固件。 相关配置参考:[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)、[归位与方向校准指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28)。 ## MCU shutdown: Missed scheduling of next digital out event[​](#missed-scheduling-digital-out "MCU shutdown: Missed scheduling of next digital out event的直接链接") **报错信息**:`MCU 'xxx' shutdown: Missed scheduling of next digital out event`。 **报错原因**:Klipper 主机端打开加热器、风扇等数字输出后,MCU 需要按时收到后续调度和确认。如果上位机负载过高、系统调度延迟、USB / CAN 通信不稳定,或 CAN 总线队列异常,MCU 没有及时收到下一次数字输出事件,就会进入 shutdown 状态。 注意 该报错与加热器输出调度有关。不要通过关闭温度保护、关闭 `verify_heater` 或删除安全配置来绕过报错,应先排查上位机负载和通信质量。 **解决方法**: 1. 先查看 `klippy.log` 中该报错前面的 `Stats` 行,确认是否同时存在 `bytes_retransmit`、`bytes_invalid`、`Timer too close` 或 MCU 掉线记录。 2. 降低上位机负载,临时关闭摄像头流、KlipperScreen、远程控制插件或其他高占用服务。 3. 检查 USB / CAN 通信质量;如果使用 CAN,确认 CAN0 队列长度、终端电阻、线序、供电和固件 CAN 速率。 4. 降低打印速度、加速度和步进细分,观察问题是否消失。 5. 如果只在加热时出现,同时检查热床、热端、风扇和电源负载;不要自行拆解电源或检查市电热床高压接线。 6. 如果问题发生在 CAN 工具板上,按 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) 继续处理。 相关配置参考:[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)、[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can)。 ## Rescheduled timer in the past[​](#rescheduled-timer-in-the-past "Rescheduled timer in the past的直接链接") **报错信息**:日志中出现 `Rescheduled timer in the past` 或类似警告。 **报错原因**:上位机系统时钟问题或 CPU 负载过高,导致定时任务实际执行时间落后于计划时间。 **解决方法**: 1. 如果启用了 NTP 同步,临时关闭测试。 2. 降低上位机运行的其他服务负载,如关闭不必要的 Web 界面、摄像头流等。 3. 如果在虚拟机中运行,考虑迁移到物理机或使用更稳定的时钟源。 4. 检查上位机 CPU 使用率:`htop` 查看 `klippy` 进程是否有异常 CPU 占用。 相关配置参考:[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)。 ## MCU 'mcu' shutdown: Move queue overflow[​](#move-queue-overflow "MCU 'mcu' shutdown: Move queue overflow的直接链接") **报错信息**:`MCU 'mcu' shutdown: Move queue overflow`。 **报错原因**:MCU 运动队列被填满,主机端没有及时把运动规划和状态同步到 MCU。常见于主机性能不足、短时间内大量细碎移动、Klipper 主机端与 MCU 固件版本不一致,或厂商定制 Klipper 在每个移动命令中加入同步写盘、断电续打等阻塞逻辑。 **常见判断点**: * `klippy.log` 中 `Git version` 与 `Loaded MCU 'xxx' ... version` 基础版本差距较大。 * 日志出现 `dirty`、第三方 `klippy/extras` 文件、厂商定制断电续打或非官方 Klipper。 * 同一个 G-code 文件在相近位置失败,且模型包含大量短线段、密集支撑、螺旋 Z-hop 或复杂路径。 * 低性能上位机同时运行摄像头、屏幕、远程控制或其他高负载服务。 **解决方法**: 1. 查看完整 `klippy.log`,先确认是否还有更早的 `Timer too close`、CAN 掉线、`bytes_invalid` 或温度/TMC 报错。 2. 更新 Klipper 后,重新编译并刷写全部 MCU 固件,确保上位机与主板、工具板固件版本一致。 3. 临时关闭摄像头流、KlipperScreen、远程控制插件和其他高占用服务后复测。 4. 降低打印速度、加速度、步进细分,或在切片器中降低曲线精度、支撑复杂度和短线段密度。 5. 如果使用厂商定制断电续打、自动高度记录或第三方插件,先用原版 Klipper 或关闭对应功能交叉测试;不要直接修改 Klipper 源码给普通客户作为常规步骤。 6. 如果只发生在某个 G-code 文件,重新切片并检查切片器是否输出异常密集路径。 相关配置参考:[常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)、[圆弧拟合建议](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-arc-fitting)。 ## stepcompress / syncemitter / flush\_handler 内部错误[​](#stepcompress-internal-error "stepcompress / syncemitter / flush_handler 内部错误的直接链接") **报错信息**:`stepper.error: Internal error in stepcompress`、`stepcompress ... Invalid sequence`、`Error in syncemitter 'extruder' step generation`、`Exception in flush_handler`、`Flush Handler error`。 **报错原因**:Klipper 在生成或压缩步进脉冲时遇到内部异常。近期社区案例中,这类问题常与高速扫床、scanner / EDDY / Cartographer 类探针插件、`input_shaper`、复杂运动路径或第三方 Klipper 修改同时出现。它不一定是切片器单独导致,也不应只靠重新切片判断根因。 **解决方法**: 1. 保留完整 `klippy.log`,重点查看该报错前后的 Python Traceback、正在执行的命令和 `Stats` 行。 2. 如果报错发生在 `BED_MESH_CALIBRATE`、`QUAD_GANTRY_LEVEL` 或 scanner 扫床时,先降低扫床速度、点数、插值密度和插件扫描参数。 3. 临时禁用第三方 scanner、自动调速、自动调平增强、宏包或厂商修改,使用原版 Klipper 复测。 4. 更新 Klipper 后重新刷写全部 MCU 固件,并确认外设固件与主机 Klipper 版本匹配。 5. 如果同一模型反复触发,重新切片并降低短线段密度;若重新切片后仍随机出现,应继续按主机负载、运动参数和插件兼容性排查。 6. 如果打印机出现异常运动、丢步或撞车风险,应立即急停并重新归位,不要继续恢复原任务。 相关配置参考:[运动、限位与调平报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion)、[EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy)。 ## Internal error during connect / has no attribute[​](#internal-error-during-connect "Internal error during connect / has no attribute的直接链接") **报错信息**:更新 Klipper 后无法完成启动,日志中出现 `Unhandled exception during connect`、`Internal error during connect`,Traceback 末尾可能类似: ``` AttributeError: 'MCU' object has no attribute '_serialport' ``` 也可能显示其他 `has no attribute`、`got an unexpected keyword argument` 或模块接口缺失提示。 **报错性质**:这类错误表示 Klipper 在连接初始化阶段执行 Python 代码时发生异常。近期社区案例中,如果 Traceback 指向第三方 `klippy/extras/` 模块,通常是 Klipper 更新了内部接口,而旧版扩展或厂商定制模块仍在调用原接口;它一般不是 MCU 固件损坏,也不应先按串口线故障处理。 **常见原因**: * Klipper 已更新,但第三方探针、换料、宏包或其他扩展没有同步更新。 * 使用厂商定制 Klipper 分支,却混用了只适配原版 Klipper 的扩展。 * 更新扩展时文件不完整,新旧 Python 文件同时残留。 * Traceback 实际指向配置文件、变量文件或原版模块中的其他异常,并非扩展兼容问题。 **解决方法**: 1. 保存完整 `klippy.log`,从第一条 `Unhandled exception during connect` 开始向下读取 Traceback,记录最末尾异常,以及异常前最后一个 `klippy/extras/xxx.py` 文件名。 2. 查看日志开头的 `Git version`、`Modified files` 和 `Untracked files`。如果异常文件属于第三方扩展,先按该扩展的维护说明更新到适配当前 Klipper 的版本。 3. 临时禁用 Traceback 指向的第三方模块或相关 include 后重启,确认原版 Klipper 能否正常连接。不要通过反复刷写 MCU 来处理 Python 属性缺失。 4. 如果使用厂商定制 Klipper,应使用该系统明确支持的更新方式;不要把原版 Klipper、定制分支和不同版本扩展随意混装。 5. 如果 Traceback 只指向原版 Klipper 文件,且 `Modified files` / `Untracked files` 均无异常,请更新到当前稳定版本后再次收集完整日志,并向 Klipper 社区报告可复现步骤。 6. 降级只能用于短时确认是否为版本兼容问题。长期方案应是更新扩展或移除不兼容模块,不要长期停留在已知过旧版本。 ## Internal error during ready callback: Unable to save variable[​](#save-variable-ready-callback "Internal error during ready callback: Unable to save variable的直接链接") **报错信息**:Klipper 启动后立即进入 shutdown,日志中出现以下关键词: ``` Unable to save variable reactor.ReactorError: Internal error - reactor pause disabled Unhandled exception during ready callback Internal error during ready callback: Unable to save variable ``` **报错性质**:`Unable to save variable` 只是变量写入失败的结果提示。近期社区案例中,若它与 `reactor pause disabled`、`ready callback` 同时出现,通常是第三方扩展在 Klipper 的 ready 回调阶段调用 `SAVE_VARIABLE`,与新版异步写入机制不兼容;这不等同于存储设备损坏或 MCU 掉线。 **常见原因**: * 更新 Klipper 后,旧版第三方扩展仍在启动回调中同步写入变量。 * 扩展或厂商定制模块没有同步更新,Traceback 指向其 `klippy/extras/` 文件。 * 如果日志中没有 `reactor pause disabled`,也可能是变量文件路径错误、目录只读、磁盘空间耗尽或权限异常。 **解决方法**: 1. 从 `klippy.log` 中第一条 `Unable to save variable` 开始读取完整 Python Traceback,记录最先出现的第三方模块路径和异常原文,不要只看最后一行 shutdown。 2. 如果同时出现 `reactor pause disabled` 和第三方扩展路径,先更新该扩展至已适配当前 Klipper 的版本,再重启 Klipper;若扩展没有兼容版本,请联系扩展维护者。 3. 可临时禁用 Traceback 指向的第三方扩展或相关 include 后复测,以确认原版 Klipper 能否正常启动。不要直接修改 Klipper 核心源码作为普通排查步骤。 4. 如果 Traceback 提示 `Permission denied`、`Read-only file system` 或 `No space left on device`,执行以下命令检查磁盘空间和变量文件权限,再修正实际路径或权限;不要使用 `chmod 777` 扩大无关目录权限。 ``` df -h ls -l ~/printer_data/config/ ``` 5. 降级 Klipper 只能用于短时验证兼容性,不应作为长期方案;确认问题后应恢复受支持的 Klipper 版本并更新对应扩展。 ## Internal error on command[​](#internal-error-on-command "Internal error on command的直接链接") **报错信息**:`Internal error on command:"XXX"`,Klipper 进入 shutdown 状态。 **常见原因**: * 宏或 G-code 命令触发了 Klipper 内部 Python 异常。 * 配置文件中存在错误的宏引用或 Jinja2 模板语法错误。 * Klipper 版本与配置文件格式不兼容。 * G-code 文件名包含特殊字符导致编码错误。 * `stepcompress`、`syncemitter` 或 `flush_handler` 报错导致命令执行中断。 **解决方法**: 1. 查看 `klippy.log` 中 Internal error 下方的完整 Python Traceback。 2. 根据 Traceback 定位是哪个配置文件或宏出现了问题。 3. 常见原因包括 `[gcode_macro]` 中 Jinja2 模板语法错误、`[respond]` 配置缺失、`[virtual_sdcard]` 路径错误。 4. 如果报错与 `SDCARD_PRINT_FILE` 相关且提示 `ascii codec can't decode`,请将 G-code 文件名改为英文、数字、下划线或短横线。 5. 如果 Traceback 中出现 `stepcompress`、`syncemitter` 或 `flush_handler`,请按 [stepcompress / syncemitter / flush\_handler 内部错误](#stepcompress-internal-error) 继续排查。 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)、[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## Unable to open file / SD busy[​](#unable-to-open-file--sd-busy "Unable to open file / SD busy的直接链接") **报错信息**:打印文件时提示 `Unable to open file`、`Unable to get file list`、`SD busy`、`SD write not supported`、`SDCARD_RESET_FILE cannot be run from the sdcard`。 **常见原因**: * G-code 文件不存在、文件名被改动或上传未完成。 * `[virtual_sdcard] path` 指向错误目录。 * 文件权限异常,Klipper 用户无法读取。 * 文件名包含特殊字符,导致某些前端或系统路径处理异常。 * 正在打印或正在读取文件时,又执行了打开、选择、重置或写入虚拟 SD 的命令。 * 将 Klipper 源码目录、配置目录或其他非 G-code 目录误写成 `[virtual_sdcard] path`。 **解决方法**: 1. 在网页端重新上传一次 G-code 文件,并确认文件名与打印命令一致。 2. 检查 `[virtual_sdcard] path` 是否指向实际 G-code 存放目录。 3. 检查目录权限:`ls -la ~/printer_data/gcodes/`。 4. 将文件名改为英文、数字、下划线或短横线后再测试。 5. 如果提示 `SD busy`,先暂停或取消当前打印,确认没有其他宏正在操作虚拟 SD 文件。 6. 不要把 `~/klipper`、`~/printer_data/config` 或系统目录设置为 G-code 存放目录。 相关配置参考:[配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config)。 ## MCU CRC does not match config / Can not update MCU config[​](#mcu-crc-does-not-match-config--can-not-update-mcu-config "MCU CRC does not match config / Can not update MCU config的直接链接") **报错信息**:`MCU 'xxx' CRC does not match config`、`Can not update MCU 'xxx' config as it is shutdown`、`Unable to configure MCU 'xxx'`。 **判断重点**:`Can not update MCU 'xxx' config as it is shutdown` 通常不是最初根因,而是 MCU 已经处于 shutdown/error 状态后,Klipper 再次连接或重新配置 MCU 时出现的后续报错。排查时不要只看日志最后一行,应向上翻找更早的第一条真实报错。 **解决方法**: 1. 执行 `FIRMWARE_RESTART`,必要时整机断电 10 秒后重新上电。 2. 查看 `klippy.log` 中更早出现的第一条 `shutdown`、`Timer too close`、`Lost communication`、`Verify heater`、TMC 或温度报错,先修复导致 shutdown 的根因。 3. 多 MCU 机器逐个检查 `[mcu]`、`[mcu xxx]` 的 USB ID 或 CAN UUID。 4. 如果刚更新过 Klipper,重新编译并刷写全部 MCU 固件。 5. 如果使用 `[mcu host]`,检查 `klipper-mcu` 服务是否正常启动,再重启 Klipper。 6. 如果使用预装或定制 Klipper 系统,确认日志完整、Klipper 和 MCU 固件版本来源一致。 ## MCU 'xxx' shutdown: Command request[​](#shutdown-command-request "MCU 'xxx' shutdown: Command request的直接链接") **报错信息**:`MCU 'xxx' shutdown: Command request`。 **常见原因**: * CAN 工具板固件版本与上位机 Klipper 版本不匹配,上位机发送了该固件不支持的命令。 * 更新 Klipper 或系统后未重新编译刷写工具板固件。 * 配置了该 MCU 固件未编译支持的功能(如未启用 I2C 却配置了 EDDY / ADXL)。 **解决方法**: 1. 查看 `klippy.log` 中 `Loaded MCU 'xxx' ... version` 与 `Git version`,确认版本是否一致。 2. 重新编译并刷写报错 MCU 的固件,刷写方式以对应工具板产品文档为准。 3. 多 MCU 机器应确保所有 MCU 固件来自同一次编译。 4. 刷写完成后执行 `FIRMWARE_RESTART`,确认不再报错。 > **通用版本排查**:[MCU Protocol error](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#mcu-protocol-error) ## Shutdown due to M112 command / webhooks request[​](#shutdown-webhooks-request "Shutdown due to M112 command / webhooks request的直接链接") **报错信息**:`Shutdown due to M112 command` 或 `Shutdown due to webhooks request`。 **解决方法**: 1. 确认是否人为点击了急停;若是,排除风险后执行 `FIRMWARE_RESTART`。 2. 在自定义宏中搜索 `M112`、`action_emergency_stop`、`emergency_stop`。 3. 检查前端、远程控制插件或自动化脚本是否误触发急停接口。 ## 上位机性能不足导致打印卡顿[​](#上位机性能不足导致打印卡顿 "上位机性能不足导致打印卡顿的直接链接") **报错信息**:无明显错误,但打印过程中出现间歇性停顿、挤出断续。 **解决方法**: 1. 降低打印速度和加速度。 2. 关闭上位机上不必要的 Web 服务、摄像头流等。 3. 减少 `[bed_mesh]` 的 `probe_count` 和 `mesh_pps`。 4. 如果切片器输出了 `G2` / `G3` 圆弧,参考 [圆弧拟合建议](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-arc-fitting) 调整或关闭。 5. 如果上位机性能确实不足,考虑更换性能更强的上位机。 ## 上位机异常重启 / 系统崩溃[​](#上位机异常重启--系统崩溃 "上位机异常重启 / 系统崩溃的直接链接") **报错信息**:打印中 Klipper / Moonraker 突然断开,`klippy.log` 突然中断,没有明确 shutdown 根因;Mainsail / Fluidd 重新连接后发现上位机或 Klipper 已重启。 **常见原因**: * 上位机供电不足,打印过程中 USB、摄像头、屏幕或风扇负载变化导致掉电。 * 系统盘、TF 卡或 eMMC 读写异常,日志突然中断或文件损坏。 * 上位机 CPU 过热,系统保护性降频、卡死或重启。 * USB 反供电或外设供电路径异常,导致主板、屏幕或上位机互相影响。 * 第三方服务、摄像头流、AI 插件或过多网页连接占用资源。 **排查方法**: 断电操作 检查上位机供电线、USB 线、屏幕线、风扇线或整理走线前,请完全关闭打印机并断开电源供应。不要拆解电源或改动市电接线。 1. 先查看 `klippy.log`、`moonraker.log` 和系统日志,确认是 Klipper 报错还是整机上位机重启。 2. 检查上位机电源规格,避免使用电流不足或压降明显的电源线。 3. 检查系统盘健康状态,必要时更换可靠 TF 卡、eMMC 或重新刷写系统。 4. 检查上位机散热,确认风扇正常、散热片贴合、外壳通风。 5. 临时关闭摄像头流、KlipperScreen、远程控制插件和其他高负载服务后再打印测试。 6. 如果怀疑 USB 反供电,优先更换成品 USB 线或使用带电源隔离的连接方案,普通用户不要自行改线。 ## 暂停、恢复与状态保存提示[​](#暂停恢复与状态保存提示 "暂停、恢复与状态保存提示的直接链接") **报错信息**:`Print already paused`、`Print is not paused, resume aborted`、`Unknown g-code state: PAUSE_STATE`。 **常见原因**: * 重复执行 `PAUSE`,或打印已经取消后又执行 `RESUME`。 * 自定义暂停/恢复宏中 `SAVE_GCODE_STATE NAME=` 与 `RESTORE_GCODE_STATE NAME=` 名称不一致。 * 第三方宏包与 Mainsail / Fluidd 默认暂停恢复宏重复定义或逻辑冲突。 * 急停、`FIRMWARE_RESTART` 或 Klipper 报错后,原来的暂停状态已经丢失。 **解决方法**: 1. 确认当前打印状态,不要在未暂停时执行 `RESUME`。 2. 检查 `[pause_resume]` 是否启用,以及 `PAUSE` / `RESUME` / `CANCEL_PRINT` 宏是否重复定义。 3. 检查宏中的 `SAVE_GCODE_STATE` 和 `RESTORE_GCODE_STATE` 名称是否完全一致。 4. Klipper 已报错或急停后,不建议继续恢复打印,应排除风险后重新开始。 ## Klipper 反复重启(Klippy not connected 反复闪烁)[​](#klipper-restart-loop "Klipper 反复重启(Klippy not connected 反复闪烁)的直接链接") **报错信息**:Mainsail / Fluidd 显示 `Klippy not connected` 反复出现,Klipper 不断自动重启且每次都在几秒内退出。日志中可能看到 `Klipper restarting too fast` 或每次重启的 `klippy.log` 很短。 **排查方法**: 1. 先查看日志文件末尾,确认最后一次退出的原因: ``` tail -100 ~/printer_data/logs/klippy.log ``` 2. 如果日志末尾是 Python Traceback,表示是配置解析或内部异常导致的崩溃。 3. 不要只根据 `Klipper restarting too fast` 判断根因;它通常只是 systemd 反复拉起失败后的结果,应优先处理 `klippy.log` 中第一条真实错误。 4. 如果日志末尾显示 `MCU Protocol error`、`Unknown command` 等,说明固件版本不匹配,需要重新编译刷写 MCU 固件。 5. 如果日志很短且无明显错误,尝试用最小化配置二分法定位。 6. 检查 include 文件中是否存在循环引用。 ## Unhandled exception during run[​](#unhandled-exception-during-run "Unhandled exception during run的直接链接") **报错信息**:`Unhandled exception during run`,前端显示 `Printer is shutdown`,日志中伴随 Python Traceback。 **常见原因**: * 这不是一个独立的硬件故障,而是 Klipper 主循环捕获到未处理异常后的通用报错。真实原因需要看 Traceback 上方的具体错误。 * 常见触发源:TMC UART 读取失败(`Unable to read tmc uart 'stepper_x' register DRV_STATUS`)、CAN 通信中断、宏模板运行时错误、第三方扩展模块异常。 * 升级 Klipper 后旧配置或旧宏与新版本 API 不兼容。 * 上位机 Python 环境损坏或依赖缺失。 **解决方法**: 1. 打开完整 `klippy.log`,搜索 `Unhandled exception during run` 上方的 Traceback,找到第一条真实报错(如 `Unable to read tmc uart`、`CanError`、`TypeError` 等)。 2. 如果真实报错是 TMC UART 通信失败,按 [TMC 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc#tmc-ifcnt-communication) 检查接线和配置。 3. 如果是 CAN 通信异常,按 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) 检查总线状态。 4. 如果 Traceback 指向某个宏或扩展模块,检查该模块是否与当前 Klipper 版本兼容,必要时更新或临时禁用。 5. 升级 Klipper 后出现此报错,检查 `Config_Changes.md` 中是否有配置迁移要求。 6. 不要只根据 `Unhandled exception during run` 这一行判断问题,它只是外壳,真因始终在 Traceback 中。 ## Missed scheduling of next hard pwm event[​](#missed-hard-pwm-event "Missed scheduling of next hard pwm event的直接链接") **报错信息**:`MCU 'mcu' shutdown: Missed scheduling of next hard pwm event`。 **常见原因**: * 与 `Missed scheduling of next digital out event` 同类,均为上位机未能在截止时间内将 PWM 事件下发到 MCU。 * 上位机 CPU 负载过高(摄像头流、KlipperScreen、大量插件同时运行)。 * 使用激光模块或高频 PWM 工具时,`cycle_time` 设置过小导致调度间隔极短。 * CAN 总线延迟过高,事件在传输中超时。 **解决方法**: 1. 检查上位机 CPU 负载,临时关闭摄像头、KlipperScreen 和其他非必要服务后复测。 2. 如果使用激光或 PWM 工具,适当增大 `cycle_time`(例如从 `0.00002` 改为 `0.0001`)。 3. 检查 CAN 总线状态,确认 `tx_error`、`bytes_retransmit` 没有持续增长。 4. 更换高质量 USB 线或降低 CAN 波特率(从 1M 降到 500K)测试。 5. 低性能上位机(旧手机、低端开发板)建议精简同时运行的服务数量。 > **相关报错**:[Missed scheduling of next digital out event](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#missed-scheduling-digital-out) ## Can't reset time when stepper active[​](#cant-reset-time-stepper-active "Can't reset time when stepper active的直接链接") **报错信息**:`MCU 'mcu' shutdown: Can't reset time when stepper active`,常伴随打印中途 Klipper 自动重启;重启后可能紧接着出现 `TMC stepper_x failed to init: Timeout on wait for 'tmcuart_response' response`。 **常见原因**: * 这不是独立的硬件故障,而是上位机在步进电机仍在运动时尝试重置步进时钟基准,MCU 拒绝并进入 shutdown 保护。 * 最常见触发源是 Klipper 服务在打印中途**自发重启**(上位机侧):日志中会看到 `Starting Klippy...` 紧跟在上一秒还在打印的 `Stats` 统计行之后。 * 通过 Moonraker 连接的某个客户端或插件反复请求重启服务。 * 上位机供电不足、过热、内存耗尽等导致系统把 klipper 服务杀死后重新拉起。 **解决方法**: 1. 打开完整 `klippy.log`,搜索 `Starting Klippy...`,确认 Klipper 是否在打印中途重启,以及与上一条打印统计行的时间间隔。 2. 执行 `systemctl status klipper.service` 和 `journalctl -efu klipper`,查看服务被重启的记录与原因。 3. 检查 Moonraker 连接的客户端与插件(摄像头流、第三方插件、自定义脚本),确认没有设备在请求重启服务或重启机器。 4. 检查上位机供电、散热与内存占用,老旧树莓派或低性能开发板同时运行摄像头和 KlipperScreen 时容易因内存不足被系统杀死。 5. 重启后出现的 `Timeout on wait for 'tmcuart_response'` 是重启的结果而非根因,不要因此先排查 TMC 接线。 > **相关报错**:[Klipper 反复重启](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#klipper-restart-loop)、[Unhandled exception during run](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#unhandled-exception-during-run) --- # 温度、加热与挤出报错 本页整理温度传感器、加热器、热床、挤出和断料检测相关报错。温度保护类报错应先确认硬件和温度曲线,不要通过关闭保护来绕过问题。 ## Error 'XXX mcu' shutdown: ADC out of range / Not a valid ADC pin[​](#error-xxx-mcu-shutdown-adc-out-of-range--not-a-valid-adc-pin "Error 'XXX mcu' shutdown: ADC out of range / Not a valid ADC pin的直接链接") **报错信息**:`ADC out of range`、`Not a valid ADC pin`,温度检测异常。 Loading... **报错原因**:Klipper 检测到温度超过配置允许范围,或 `sensor_pin` 指定的引脚不具备 ADC 采样能力。常见于热敏电阻开路、短路、接线错误、热敏型号配置错误、引脚配置错误或引脚编号写错。 注意 临时放宽 `min_temp` 和 `max_temp` 只能用于排查,不能作为长期配置。确认问题后必须恢复到安全范围,避免温度保护失效。 **排查顺序**: 断电操作 检查热敏电阻、加热棒、热床、保险丝、SSR、MOS 管或电源相关线束前,请完全关闭打印机并断开电源供应,并等待热端和热床冷却。不要拆卸电源、触碰裸露电源端子或检查市电热床高压接线。 1. 断电并等待冷却后,检查热敏电阻是否插牢,线材是否断裂或短路。 2. 检查热敏型号和引脚配置是否与实际硬件一致。 3. 必要时临时放宽温度范围用于确认读数变化,例如将 `min_temp` 改低、`max_temp` 改高。 4. 找到并解决接线或配置问题后,立即恢复原来的安全温度限制。 5. 保存并重启 Klipper。 相关配置参考:[加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)。 ## 加热器升温速率异常(Heater not heating at expected rate)[​](#heater-not-heating "加热器升温速率异常(Heater not heating at expected rate)的直接链接") **报错信息**:加热器没有按预期速度升温,日志中可能出现 `Heater extruder not heating at expected rate` 或 `Heater heater_bed not heating at expected rate`。 Loading... **常见原因**: * 加热棒、热床或 SSR / MOS 管输出异常。 * 热敏电阻接触不良、线材半断或读数跳变。 * 风扇直吹热端、热床或加热区域,导致升温过慢。 * 热床功率不足,或 `max_power` 限制过低。 * PID 参数不合适,温度接近目标时波动过大。 **解决方法**: 断电操作 检查加热器、热敏电阻、热床、保险丝、SSR、MOS 管或电源相关线束前,请完全关闭打印机并断开电源供应,并等待热端和热床冷却。不要拆卸电源、触碰裸露电源端子或检查市电热床高压接线。 1. 断电并等待冷却后,检查加热器和热敏电阻接线是否牢固。 2. 观察温度曲线,确认升温是否连续、是否有异常跳变。 3. 检查是否有风扇直吹热端或热床。 4. 对于 SSR、MOS 管、电源功率或高压热床问题,普通用户应优先通过替换成品模块、检查网页温度曲线和联系售后来排查,不要自行拆解或进行电气检测。 5. 确认硬件正常后重新执行 PID 校准。 6. 如果确认只是大尺寸热床或特殊结构导致升温慢,可参考 [verify\_heater 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/verify_heater)。 相关配置参考:[加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)、[M109 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109)。 ## 温度读数异常(温度显示 0°C 或持续跳变)[​](#temp-reading-abnormal "温度读数异常(温度显示 0°C 或持续跳变)的直接链接") **报错信息**:温度显示为 0°C、负数或读数持续大幅跳变(±10°C 以上)。 **常见原因**: * 热敏电阻断线(显示 0 或极低值)。 * 热敏电阻短路(显示极高值或触发 ADC out of range)。 * `sensor_type` 配置与实际热敏型号不匹配。 * PT100 传感器缺少 `pullup_resistor` 配置。 * 热电偶信号干扰,需要 `filter_length` 或 `thermocouple_max_error` 配置。 * ADC 噪声干扰。 **解决方法**: 1. 执行 `QUERY_ADC SENSOR=extruder_temp` 查看原始 ADC 读数。 2. 执行 `M105` 查看当前温度读数。 3. 确认 `sensor_type` 与硬件一致,常见为 `NTC 100K beta 3950`、`PT100`、`MAX31865` 等。 4. PT100 传感器需检查 `sensor_pin`、`rtd_reference_r`、`rtd_num_of_wires`。 5. 热电偶可检查 `thermocouple_max_error`,ADC 噪声大时可检查 `filter_length`。 相关配置参考:[加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)。 ## MCU shutdown: Verify heater extruder/heater\_bed[​](#verify-heater-shutdown "MCU shutdown: Verify heater extruder/heater_bed的直接链接") **报错信息**:`MCU 'mcu' shutdown: Verify heater extruder` 或 `Verify heater heater_bed`。 **报错原因**:Klipper 内置 `verify_heater` 安全检查检测到加热器温度变化不符合预期,可能是加热器输出异常、热敏读数不可信、SSR 响应延迟或大功率热床升温曲线与默认检测参数不匹配。 注意 不要为了绕过报错而直接关闭 `verify_heater` 功能或将其阈值设置为极不合理的值。这会移除 Klipper 对加热器和热敏的最后一层安全校验。 **常见场景**: * 大尺寸热床 + SSR:SSR 开关响应、热床热容和默认 `heating_gain` 不匹配。 * 更换加热棒、热床或热敏后,新硬件的热特性与旧 PID 和校验参数不兼容。 * 风扇直吹热端,环境气流导致温度波动超出 `max_error` 范围。 * 热敏接触不良或安装松动,读数断续跳变。 * 供电电压不稳或电源功率不足。 **排查方法**: 断电操作 检查加热器、热敏、SSR、MOS 管、保险丝或电源相关线束前,请完全关闭打印机并断开电源供应,并等待热端和热床冷却。不要拆卸电源、触碰裸露端子或检查市电热床高压接线。 1. 先断电检查热敏是否插牢、加热器接线是否牢固。 2. 观察 `klippy.log` 中 shutdown 前的温度曲线。如果曲线稳定上升且不跳变,更可能是参数太敏感;如果断续跳变、归零或飙升,则优先处理硬件问题。 3. 检查 `[verify_heater extruder]` 或 `[verify_heater heater_bed]` 配置段。 4. 确认硬件正常后重新执行 PID 校准,再观察是否仍误触发。 5. 更详细的参数说明和调优示例参考 [verify\_heater 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/verify_heater)。 ## HOST temperature above maximum temperature[​](#host-temperature-above-maximum-temperature "HOST temperature above maximum temperature的直接链接") **报错信息**:`HOST temperature xx above maximum temperature` 或 `MCU temperature not supported on xxx`。 **常见原因**: * 上位机 CPU 温度过高,超过 `[temperature_host]` 中的 `max_temp`。 * 主板 MCU 内置温度传感器不受当前固件/芯片支持。 * 上位机散热不足,外壳密闭、风扇停转或环境温度过高。 **解决方法**: 1. 检查上位机散热片、风扇和外壳通风。 2. 使用 `vcgencmd measure_temp`、`sensors` 或系统监控查看 CPU 温度。 3. 若只是阈值设置过低,适当调整 `[temperature_host] max_temp`,但不要关闭温度保护。 4. 如果报 `MCU temperature not supported`,删除或注释不受支持 MCU 的 `[temperature_mcu]` 配置。 相关配置参考:[风扇参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/fan)。 ## Requested temperature out of range[​](#requested-temperature-out-of-range "Requested temperature out of range的直接链接") **报错信息**:`Requested temperature (285.0) out of range (0.0:130.0)`、`Requested temperature (-5.0) out of range (0.0:300.0)`、`Unknown temperature sensor 'xxx'`、`Sensor 'xxx' temperature xxx not in range`、`Unable to open temperature file 'xxx'`。 **常见原因**: * 宏把喷嘴温度传给热床,或把热床温度传给喷嘴,导致目标温度超过对应加热器范围。 * 切片器变量名和 Klipper 宏参数名不一致,宏拿到空值、默认值或错误计算结果。 * `[extruder]`、`[heater_bed]`、`[temperature_sensor]` 的 `min_temp` / `max_temp` 设置不合理。 * `TEMPERATURE_WAIT`、`SET_HEATER_TEMPERATURE` 或温控风扇命令中填写了不存在的传感器名称。 * `[temperature_host]` 指向的系统温度文件不存在或当前系统不支持。 * 升级 Klipper 后,旧配置或厂商配置中仍使用不再匹配的温湿度传感器名称,例如 `AHT20_F`。 **解决方法**: 1. 查看报错中的温度范围,先判断是喷嘴、热床、主板温度还是上位机温度超限。 2. 检查起始宏和切片器传参,确认 `BED`、`BED_TEMP`、`HOTEND`、`EXTRUDER_TEMP` 等参数名称对应正确。 3. 在宏中给温度参数设置合理默认值,并使用 `|float` 转换。 4. 不要为了绕过报错直接大幅提高 `max_temp`;先确认传参和传感器配置正确。 5. 如果报 `Unknown temperature sensor`,检查命令里的传感器名称是否与配置段名称一致。 6. 如果报 `Unknown temperature sensor 'AHT20_F'`,先在 `printer.cfg` 和所有 `[include]` 文件中搜索 `AHT20_F`,确认它属于哪个 `[heater_generic]`、`[temperature_sensor]` 或厂商扩展配置段。 ### Unknown temperature sensor[​](#unknown-temperature-sensor "Unknown temperature sensor的直接链接") **报错信息**:`Unknown temperature sensor 'AHT20_F'`、`Unknown temperature sensor 'xxx'`。 **常见原因**: * 命令、宏或温控风扇引用了不存在的传感器段名。 * 配置文件通过 `[include]` 引入了旧版厂商配置,升级 Klipper 后传感器名称不再兼容。 * AHT10 / AHT20 / AHT21 / AHT30 温湿度传感器的 `sensor_type` 写法与当前 Klipper 版本不匹配。 * 删除了某个温度传感器配置段,但宏、`[verify_heater]`、`[temperature_fan]` 或厂商扩展仍在引用它。 **解决方法**: 1. 在 `printer.cfg` 和所有 include 文件中搜索报错里的传感器名称,不要只看主配置文件。 2. 确认报错名称是 `sensor_type`,还是配置段名。例如 `[temperature_sensor chamber]` 的命令引用名通常是 `chamber`。 3. AHT 系列传感器优先按当前 Klipper 配置参考填写;旧配置中的 `AHT20_F` 不是通用写法,升级后可按实际支持情况改为 `AHT10` 或 `AHT2X` 测试。 4. 如果该传感器来自厂商扩展功能,先确认当前系统是否仍包含对应扩展模块;缺少模块时不要只改名称,应同步确认整套厂商配置是否兼容当前 Klipper。 5. 修改后执行 `RESTART`,再查看 `klippy.log` 中是否还有其他配置错误。 相关配置参考:[加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ## Thermocouple reader fault[​](#thermocouple-reader-fault "Thermocouple reader fault的直接链接") **报错信息**:`MCU 'mcu' shutdown: Thermocouple reader fault`,日志中可能伴随 `max31865` 或 `max31855` 相关字段。 **常见原因**: * MAX31865 仅支持 PT100 / PT1000 铂电阻探头,接了 NTC100K 热敏电阻会直接报此错误。 * 温度瞬间超过 `max_temp` 设定值(即使只超出 1–2°C 的波动也会触发)。 * MAX31865 / MAX31855 模块的 SPI 接线不良、`spi_bus` 或 `cs_pin` 配置错误。 * 探头线材断裂、接触不良或接线端子氧化。 * `rtd_nominal_r`、`rtd_reference_r`、`rtd_num_of_wires` 参数与实际模块不匹配。 **解决方法**: 断电操作 检查温度传感器、加热棒或 SPI 接线前,请完全关闭打印机并断开电源供应,并等待热端冷却。 1. 确认传感器类型:MAX31865 只能搭配 PT100 / PT1000,不能使用 NTC 热敏电阻。如果你使用的是 NTC100K 探头,应接到主板的普通热敏电阻接口(TH0/TH1),不要走 MAX31865。 2. 检查 `max_temp` 是否留有余量。例如实际打印 250°C,建议将 `max_temp` 设为 260–280,避免 PID 波动瞬间触发保护。 3. 断电后检查 MAX31865 模块的 SPI 接线(MOSI、MISO、SCK、CS)是否牢固,`cs_pin` 是否与配置一致。 4. 核对 `rtd_nominal_r`(PT100 填 `100`,PT1000 填 `1000`)和 `rtd_reference_r`(通常为 `430` 或 `4300`,以模块丝印或说明书为准)。 5. 确认 `rtd_num_of_wires` 与实际探头线数一致(2 线 / 3 线 / 4 线)。 6. 修改后执行 `FIRMWARE_RESTART`,观察温度读数是否正常。 配置示例(PT1000 + MAX31865): ``` [temperature_sensor extruder] sensor_type: MAX31865 sensor_pin: toolboard:PA4 spi_bus: spi1 rtd_nominal_r: 1000 rtd_reference_r: 4300 rtd_num_of_wires: 2 ``` > **注意**:`sensor_pin`、`spi_bus` 等引脚请以你的主板或工具板实际丝印为准,不要照抄示例。 相关配置参考:[加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)。 ## 到温后仍长时间等待,不开始打印[​](#temp-settle-wait "到温后仍长时间等待,不开始打印的直接链接") **现象**:开始打印后喷嘴或热床升温到目标温度附近,但打印迟迟不开始,温度在目标值上下反复波动,等待时间明显过长(有时长达数分钟甚至 10 分钟),且 `klippy.log` 中没有 `!!` 报错。 **常见原因**: * Klipper 的 `M109` / `M190` 不是“到达目标温度一次”就继续,而是等待温度**稳定**(settle)在目标值附近。官方 G-Codes 文档明确说明 `M109 always waits for temperature to settle at requested value`。 * 温度在目标值附近震荡无法快速稳定:PID 参数不合适、加热功率过强,或热敏电阻紧贴加热体(热质量小、响应过快),都会拉长稳定时间。 * 切片器起始 G-code 中先 `M190` 等热床、再 `M109` 等喷嘴,串行等待会叠加总等待时间。 **解决方法**: 1. 先执行 PID 校准(`PID_CALIBRATE`),获得更平稳的控温,这是减少温度震荡的基础。 2. 用容差窗口等待替代“等待完全稳定”:进入目标温度附近一个合理区间即继续,而不是等温度彻底平稳。具体宏见 [优化 M109 / M190 温度等待](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109),该宏会先用 `M104`/`M140` 设温,再用 `TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-5} MAXIMUM={s+5}` 进入容差即继续。 3. 若震荡明显,可适当降低加热器 `max_power`(如 0.9–0.95)或增大 `pwm_cycle_time`(如 0.05),修改后重新做 PID 校准。 4. 让喷嘴与热床并行加热:起始宏先用 `M140`/`M104` 同时设温,再分别 `M190`/`M109` 等待,避免串行等待叠加。 5. 高温热床(70°C 以上)形变需要时间,可在到温后用 `G4 P30000` 额外等待约 30 秒再归位或调平。 如何判断属于本问题 在温度曲线中观察:如果温度已经到达目标值,但仍在目标值上下持续波动、长时间无法停在稳定区间,且 `klippy.log` 中没有 `!!` 报错,通常就是“等待温度稳定”导致的长时间等待,而非硬件故障。 > **相关文档**:[优化 M109 / M190 温度等待](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109)、[加热相关](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros) ## 挤出问题[​](#挤出问题 "挤出问题的直接链接") ### Extrude below minimum temp[​](#extrude-below-minimum-temp "Extrude below minimum temp的直接链接") **报错信息**:喷嘴温度低于允许挤出的最低温度,日志中可能出现 `Extrude below minimum temp` 或 `Extruder not hot enough`。 **常见原因**: * 切片器起始 G-code 调用 `PRINT_START` 时未传递温度参数(如 `EXTRUDER_TEMP`、`BED_TEMP`),宏内 `default(0)` 导致 `M109 S0` 关闭加热器,随后挤出动作触发报错。 * 起始宏中先执行了挤出(如擦嘴、画线)但此时喷嘴仍处于浸泡温度(如 150°C),低于 `min_extrude_temp`(默认 170°C)。 * `PAUSE` / `RESUME` / `M600` 宏中缺少等待温度恢复的命令,恢复后直接挤出。 * 打印过程中温度意外掉到 `min_extrude_temp` 以下(热敏接触不良、风扇直吹、PID 异常)。 **解决方法**: 1. 检查切片器起始 G-code,确认调用 `PRINT_START` 时传递了正确的温度参数,例如:`PRINT_START EXTRUDER_TEMP={first_layer_temperature[initial_extruder]} BED_TEMP={first_layer_bed_temperature[initial_extruder]}`。 2. 检查 `PRINT_START` 宏定义中温度变量的默认值,避免 `default(0)` 导致 `M109 S0` 关闭加热器;建议默认值设为合理低温(如 `default(190)`)或在参数为 0 时跳过等待。 3. 确认起始宏中挤出动作(擦嘴、画线)在 `M109` 等待打印温度**之后**执行,而非在浸泡温度阶段。 4. 检查 `M600`、`PAUSE`、`RESUME` 等宏中是否有等待温度命令,恢复打印前应先 `M109` 等待喷嘴回到工作温度。 5. 检查热敏电阻和温度曲线,确认温度读数稳定。 6. 不建议为了绕过报错长期降低 `min_extrude_temp`。 如何判断属于参数传递问题 在 `klippy.log` 中搜索报错前的 Stats 行:如果 `extruder: target=0` 或 target 远低于打印温度(如 150),而切片器设定的打印温度为 200°C 以上,通常就是起始宏参数未正确传递。 相关配置参考:[M109 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### Extrude only move too long[​](#extrude-only-move-too-long "Extrude only move too long的直接链接") **报错信息**:`Extrude only move too long (xxmm vs xxmm)`。 **解决方法**: 1. 检查切片机回抽长度,Bowden 远程挤出也不要盲目设置过大。 2. 检查换料、装料、退料或擦嘴宏中是否一次挤出/回抽距离过长。 3. 检查恢复打印时 E 坐标状态是否正确,避免把历史 E 值当作新的相对挤出距离。 4. 检查宏中是否正确使用 `M82` / `M83` 和 `G92 E0`。 5. 如确实需要长距离纯挤出,可在 `[extruder]` 中适当增大 `max_extrude_only_distance`,但不要用极大值掩盖宏状态错误。 相关配置参考:[挤出机参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/extruder)、[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)。 ### Move exceeds maximum extrusion[​](#move-exceeds-maximum-extrusion "Move exceeds maximum extrusion的直接链接") **报错信息**:`Move exceeds maximum extrusion (xxmm^2 vs xxmm^2)`。 **解决方法**: 1. 检查切片机耗材直径、喷嘴直径、挤出倍率和线宽是否异常。 2. 检查起始线、擦嘴线、换料、擦料塔或 purge 宏是否生成了异常大的 E 值。 3. 检查起始/暂停/恢复宏中的 `M82` / `M83` 挤出模式和 `G92 E0` 是否与切片器一致。 4. 检查 `[extruder]` 中 `nozzle_diameter`、`filament_diameter` 或 `max_extrude_cross_section`。 5. 更换喷嘴直径后,同步修改 Klipper 配置和切片器喷嘴、线宽、挤出倍率。 6. 不建议直接大幅提高 `max_extrude_cross_section`;应先确认 G-code 和切片参数正常。 相关配置参考:[挤出机参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/extruder)、[机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration)。 ### Extrude when no extruder present / Extruder not configured[​](#extrude-when-no-extruder-present--extruder-not-configured "Extrude when no extruder present / Extruder not configured的直接链接") **报错信息**:`Extrude when no extruder present`、`Extruder not configured` 或 `Active extruder does not have a stepper`。 **解决方法**: 1. 确认主挤出机配置段名称为 `[extruder]`。 2. 多挤出或同步挤出场景,检查 `[extruder_stepper]` 和 `SYNC_EXTRUDER_MOTION`。 3. 检查宏中的 `ACTIVATE_EXTRUDER`、`T0/T1` 或自定义切换命令是否指向真实配置段。 相关配置参考:[挤出机参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/extruder)。 ### 断料检测与 M600 换料报错[​](#断料检测与-m600-换料报错 "断料检测与 M600 换料报错的直接链接") **报错信息**:`Filament sensor: runout detected`、`M600` 换料宏执行后打印中断无法恢复、断料检测开关始终处于触发或未触发状态、换料等待一段时间后恢复触发 `Timer too close`。 **解决方法**: 断电操作 检查、拔插或更换断料检测传感器线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔传感器模块或整理接口线序。 1. 执行 `QUERY_FILAMENT_SENSOR SENSOR=<传感器名>`,确认插入耗材时状态为 `open`(或 `not triggered`),拔出后状态变化。 2. 如果状态始终不变,断电后检查传感器接线、`switch_pin` 和上拉配置。 3. 如果打印过程中频繁误触发,检查线束是否在拖链中过度弯曲或被运动轴拉扯。 4. 检查 `M600` 宏逻辑,确认暂停、回抽、抬升和恢复流程正常。 5. 多挤出机场景下,确认 `ACTIVATE_EXTRUDER` 和断料检测逻辑作用的是同一个挤出机。 6. 如果等待换料一段时间后点击继续才触发 `Timer too close`,检查换料宏是否在暂停期间重复调用 `PAUSE`、重复启用断料检测,或在恢复后立即执行大量挤出/移动命令。 7. 检查 `SAVE_GCODE_STATE` / `RESTORE_GCODE_STATE` 名称是否一致,必要时在恢复前后减少提示音、灯效、延迟宏和远程插件动作。 ### M600 换料后 Timer too close[​](#m600-timer-too-close "M600 换料后 Timer too close的直接链接") **报错信息**:执行 `M600`、断料暂停或手动换料后,等待几十秒再点击继续,随后出现 `MCU 'mcu' shutdown: Timer too close`。 **常见原因**: * 换料宏、断料检测和前端暂停恢复逻辑互相嵌套,导致打印已经暂停时再次暂停。 * 恢复时立即执行长距离挤出、擦嘴、蜂鸣器、灯效或 `UPDATE_DELAYED_GCODE`,低性能上位机调度压力升高。 * 断料检测传感器在换料期间未临时禁用,装料过程再次触发 runout。 * 更新 Klipper 后,旧宏对暂停/恢复状态和运动队列的假设不再适合当前版本。 **解决方法**: 1. 先查看完整 `klippy.log`,确认 `Timer too close` 前是否有 `Print already paused`、`Unknown g-code state`、`Filament sensor` 或宏模板报错。 2. 在 `M600`、`PAUSE`、`RESUME`、`LOAD_FILAMENT`、`UNLOAD_FILAMENT` 宏中搜索 `SAVE_GCODE_STATE`、`RESTORE_GCODE_STATE` 和 `UPDATE_DELAYED_GCODE`。 3. 换料期间临时禁用断料检测,恢复稳定后再重新启用。 4. 降低恢复阶段的挤出长度、速度和连续动作数量,避免恢复瞬间堆积大量运动命令。 5. 如果只在低性能上位机上出现,临时关闭摄像头、KlipperScreen 和远程控制插件后复测。 > **系统类排查**:[Timer too close](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 相关配置参考:[宏介绍](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros)、[断料检测参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/filament-switch-sensor)。 --- # TMC 报错排查 ## 技术背景[​](#tmc-status-background "技术背景的直接链接") TMC(Trinamic)驱动器通过专用寄存器报告状态和错误信息。了解这些寄存器有助于快速诊断问题: * **IFCNT 寄存器**:通信帧计数器,用于验证主控制器与驱动器之间的通信是否正常。 * **GSTAT 寄存器**:全局状态寄存器,包含复位、驱动错误等全局状态信息。 * **DRV\_STATUS 寄存器**:驱动状态寄存器,提供详细的驱动器工作状态,包括温度警告、短路、开路等故障信息。 当 Klipper 报告 TMC 错误时,通常会显示具体的寄存器值和故障标志。TMC 驱动错误表示驱动芯片检测到问题并自我保护禁用,Klipper 检测到驱动禁用后会进入 shutdown 状态。 断电操作 检查跳线帽、驱动模块、电机线、SPI/UART 线序或接线端子前,请完全关闭打印机并断开电源供应。禁止带电插拔驱动模块或步进电机线。万用表电阻档只能在断电状态使用。 ## 链接不上驱动(IFCNT 通信失败)[​](#tmc-ifcnt-communication "链接不上驱动(IFCNT 通信失败)的直接链接") **报错信息**:`Unable to read tmc uart 'stepper_x' register IFCNT` 或 `Unable to read tmc spi 'stepper_x' register IFCNT`。 Loading... **报错原因**:TMC 驱动器(UART/SPI 模式)与主控制器之间的通信失败,导致无法读取 IFCNT 寄存器值。常见于 UART 跳线帽未安装、驱动板供电异常或 UART/SPI 引脚配置错误。 **解决方法**: 1. 断电后检查对应驱动的 UART 跳线帽是否正确安装。 2. 确认 `printer.cfg` 中 TMC 配置的 `uart_pin`(或 `spi_bus` / `spi_software_*_pin`)与实际接线一致。 3. 先通过电源指示灯与驱动模块安装方向初步判断供电状态。如指示灯正常、模块安装方向正确但问题依旧,可使用成品线束替换或交叉测试(将驱动换到其他端口验证)。裸露 24V 端子的电气检测请联系售后或专业人员。 4. 如果是首次刷写 Klipper 后立刻报错,整机断电数秒(同时拔掉 USB 和主电源)后再上电,清除驱动残留状态。 5. 断电后尝试更换驱动板或切换驱动端口测试。 6. 如果使用非 FLY 品牌驱动,确认其 UART 引脚定义(FLY 驱动 UART 脚通常是左边从上往下数第四个引脚)。 Loading... 对于特殊情况,如果购买的驱动 UART 脚在第五个引脚,可按下方跳线方法解决: Loading... 7. 检查 `uart_address` 与驱动板硬件跳线是否匹配。 8. 检查数据线是否完好,无断裂或接触不良。 ## 驱动过热(OvertempError / OvertempWarning)[​](#tmc-overtemp "驱动过热(OvertempError / OvertempWarning)的直接链接") **报错信息**:`TMC 'stepper_x' reports error: DRV_STATUS: ... ot=1(OvertempError!)` 或 `otpw=1(OvertempWarning!)`。 Loading... **报错原因**:TMC 驱动芯片温度超过安全阈值触发保护。**注意**:这是驱动器过热,不是电机过热! * `OvertempWarning`(otpw):温度超过约 120°C 预警阈值,驱动仍可工作但建议排查。 * `OvertempError`(ot):温度超过约 150°C 关断阈值,驱动自动禁用。 **解决方法**: 1. 降低电机运行电流(`run_current`),建议先降低 20-30%。 2. 如有设置保持电流(`hold_current`),可适当降低或完全禁用。 3. 检查驱动散热片是否贴合良好,导热硅脂是否充足。 4. 增加驱动散热风扇,确保空气流通。 5. 确认驱动板采样电阻(sense resistor)值配置正确。 6. 降低 `stealthchop_threshold` 或切换到 spreadCycle 模式。 7. 检查驱动安装环境是否密闭导致热量积聚,避免高温环境中长时间运行。 ## 短路故障(ShortToGND / ShortToSupply)[​](#tmc-short-circuit "短路故障(ShortToGND / ShortToSupply)的直接链接") **报错信息**:`TMC 'stepper_x' reports error: DRV_STATUS: ... s2vsa=1(ShortToSupply_A!)` 或 `s2ga=1(ShortToGND_A!)`。 **报错原因**:驱动检测到极高电流。可能是电机线松动短路、电机绕组绝缘破损,或者是 stealthChop 模式下预测负载不准导致过流。 **解决方法**: 1. **请先断电再操作**。检查对应电机线是否松动或破损,使用万用表电阻档测量电机线圈电阻(正常约 1.5\~3Ω)。 2. 断电后检查电机接头是否牢固。 3. 如需处理电机外壳接地,请使用厂家提供的接地点或联系售后,不要自行改动电源地线或裸露端子。 4. 尝试禁用 stealthChop 测试:`SET_TMC_FIELD STEPPER=stepper_x FIELD=en_spreadCycle VALUE=1` 5. 如果切换后报错消失,说明是 stealthChop 预测问题;否则可能是真实硬件短路。 ## 开路故障(OpenLoad)[​](#tmc-open-load "开路故障(OpenLoad)的直接链接") **报错信息**:`TMC 'stepper_x' reports error: DRV_STATUS: ... ola=1(OpenLoad_A!)` 或 `olb=1(OpenLoad_B!)`。 **报错原因**:驱动检测到某一相电机绕组没有形成有效负载,通常表示电机线断开、插头松动、线圈接错,或低电流/stealthChop 状态下误判。 **解决方法**: 1. 断电后重新插拔电机线,确认端子压接牢固。 2. **请先断电再操作**。使用万用表测量 A/B 两组线圈阻值,两组应接近且不应开路。 3. 断电后检查电机线序,确认 A 相两根线在同一组,B 相两根线在另一组。 4. 临时关闭 stealthChop:在配置中设置 `stealthchop_threshold: 0` 后测试。 5. 适当提高 `run_current` 测试,若只在极低电流下出现,可能是误判。 6. 断电后更换电机线或电机交叉测试,定位是线束、电机还是驱动端口问题。 ## 短路+开路组合故障(A相短路B相开路)[​](#短路开路组合故障a相短路b相开路 "短路+开路组合故障(A相短路B相开路)的直接链接") **报错信息**:`TMC 'extruder' reports error: DRV_STATUS: ... s2vsa=1(ShortToSupply_A!) csactual=31 ola=1(OpenLoad_A!) olb=1(OpenLoad_B!)`。 **报错原因**:TMC 驱动器故障诊断位指示硬件问题:`s2vsa=1` 表示 A 相短路到电源,`ola=1` 表示 A 相开路,`olb=1` 表示 B 相开路,`csactual=31` 表示当前电流设置值可能过高。这些故障通常同时出现,表明电机或驱动器存在严重的硬件问题。 **解决方法**: 1. **请先断电再操作**。使用万用表测量步进电机 AB 两组线圈的阻值是否一致(通常应为 1-2Ω 且两组值相近)。 2. 断电后仔细检查步进电机线束和接插件是否有松动、短路或接触不良。 3. 确认 TMC 驱动器的电流设置是否合适,过高电流可能导致这些问题。 4. 尝试禁用 stealthChop 模式测试:在配置中设置 `stealthchop_threshold: 0`。 ## 短路+开路组合故障(B相短路A相开路)[​](#短路开路组合故障b相短路a相开路 "短路+开路组合故障(B相短路A相开路)的直接链接") **报错信息**:`TMC 'extruder' reports error: DRV_STATUS: ... s2vsb=1(ShortToSupply_B!) ola=1(OpenLoad_A!) cs_actual=25`。 Loading... **报错原因**:TMC 驱动器故障诊断位指示:`s2vsb=1` 表示 B 相短路到电源,`ola=1` 表示 A 相开路,`cs_actual=25` 表示当前电流设置值。通常由以下原因导致:电机接线错误(A/B 相接反或短路)、电机本身故障(绕组开路)或驱动板硬件问题。 **解决方法**: 1. **请先断电再操作**。使用万用表测量步进电机 A、B 两组线圈的阻值是否一致(正常应相近)。 2. 断电后确认电机线序正确,通常应为左边一组(A 相)、右边一组(B 相)。 3. 断电后检查所有接线端子是否牢固,无松动或接触不良。 4. 如有条件,可在断电后将电机连接到其他已知正常的驱动端口进行测试。 ## 驱动复位(Reset)[​](#tmc-reset "驱动复位(Reset)的直接链接") **报错信息**:`TMC 'stepper_x' reports error: GSTAT: 00000001 reset=1(Reset)`。 Loading... **报错原因**:电源不稳定或外部干扰导致驱动器自动复位。常见于电源电压波动、接线接触不良或电磁干扰。 **解决方法**: 1. 完全断电后检查 24V 电源线、驱动模块和主板插座是否松动、发黑或烧蚀。 2. 更换已知正常的电源、驱动模块或线束进行交叉测试。 3. 检查驱动散热和风扇是否正常。 4. 检查电机线是否与加热器、热床线长距离并行,必要时断电后重新整理走线。 5. **请先断电再操作**。检查电机线是否存在断裂、内部断股或端子接触不良导致的间歇性连接。拖链长期运动可能导致线缆疲劳断裂,可重点检查拖链弯折处及端子压接处。 6. 不建议客户自行改动驱动电源输入端、增加电子元件或改动接地;此类操作应交由专业人员或售后处理。 ## 欠压保护(Undervoltage)[​](#tmc-undervoltage "欠压保护(Undervoltage)的直接链接") **报错信息**:`TMC 'stepper_x' reports error: DRV_STATUS: ... uv_cp=1(Undervoltage!)`。 **报错原因**:驱动检测到供电电压过低事件。通常由电源故障、接线松动或供电功率不足引起。 **解决方法**: 1. 完全断电后检查电源线、主板电源插头和端子外观是否松动、发黑或烧蚀。 2. 确认电源规格满足驱动和加热器总功率需求。 3. 使用已知正常的电源或线束进行替换测试。 4. 裸露 24V 端子的电气检测请联系售后或专业人员,不要自行处理。 ## SPI 通信错误(DRV\_STATUS: ffffffff)[​](#tmc-spi-ffffffff "SPI 通信错误(DRV_STATUS: ffffffff)的直接链接") **报错信息**:`Unable to write tmc spi 'stepper_x' register ...`、`TMC reports error: DRV_STATUS: ffffffff ...` 或 `READRSP@RDSEL2: 00000000 ...`。 **报错原因**:SPI 模式下无法与 TMC 驱动通信(tmc2130/tmc5160/tmc2660)。通常是 SPI 接线错误、SPI 总线上有未配置设备、或者 TMC 驱动自复位/故障。 **解决方法**: 1. 断电后检查 SPI 接线(MOSI、MISO、SCK、CS)顺序是否正确。 2. 如果 SPI 总线共享多个设备,确保每个设备都在 Klipper 中完整配置。 3. 断电后让主板只接一个驱动单独测试,排除共享总线互相干扰。 4. 确认驱动供电正常,必要时断电数秒后重新上电。 5. 如果报错伴随 `reset=1`、`uv_cp=1` 或随机 `ffffffff`,优先检查供电和驱动接触。 > **单独驱动测试**:如需隔离验证驱动是否正常,请参考 [外设与驱动测试](https://mellow.klipper.cn/docs/DebugDoc/faq/hardware-testing-io) 中的 SPI 驱动单独测试方法。 ## TMC SPI chain 配置错误[​](#tmc-spi-chain "TMC SPI chain 配置错误的直接链接") **报错信息**:`TMC SPI chain must have same length`、`TMC SPI chain can not have duplicate position`。 **报错原因**:使用 SPI 串联链路的 TMC 驱动时,多个驱动的 `chain_position`、`chain_length` 或片选配置不一致,导致 Klipper 无法判断每个驱动在 SPI 链中的位置。 **解决方法**: 1. 如果主板不是 SPI 串联链路设计,不要随意添加 `chain_position` 和 `chain_length`。 2. 对照主板或驱动板厂家配置模板,确认每个 TMC 驱动的 `chain_length` 完全一致。 3. 确认每个驱动的 `chain_position` 唯一,不能重复。 4. 如果只是普通 SPI 总线多 CS 片选结构,应分别配置每个驱动的 `cs_pin`,不要按 SPI chain 写法配置。 5. 保存后执行 `RESTART`,再用 `DUMP_TMC STEPPER=` 逐个确认通信。 ## Timeout on wait for 'tmcuart\_response'[​](#tmc-uart-timeout "Timeout on wait for 'tmcuart_response'的直接链接") **报错信息**:`Timeout on wait for 'tmcuart_response' response`,日志中可能伴随 `Unable to read tmc uart 'stepper_x' register DRV_STATUS`。 **常见原因**: * TMC UART 接线虚焊、断裂或接触不良,尤其是拖链内线材反复弯折后内部断裂。 * `uart_pin` 配置错误,或主板上 UART 跳线帽未正确安装。 * 驱动供电不足或电源波动,导致 TMC 芯片在通信瞬间复位。 * 多个驱动共用同一 UART 总线时地址冲突或总线负载过重。 * 主板 UART 引脚被其他功能占用(如蓝牙、串口调试)。 **解决方法**: 断电操作 检查驱动板、UART 接线或跳线帽前,请完全关闭打印机并断开电源供应。 1. 断电后检查报错驱动的 UART 接线是否牢固,线材是否有明显弯折、破损或虚焊。 2. 确认 `uart_pin` 与主板实际接线一致,并检查主板上的 UART 跳线帽是否安装到位。 3. 如果多个驱动共用一条 UART 总线,确认每个驱动的 `uart_address` 不重复。 4. 检查驱动供电是否正常,尤其是 12V/24V 转换模块和保险丝。 5. 尝试将报错驱动与相邻轴驱动互换位置,确认是驱动问题还是主板插槽/线束问题。 6. 如果只在打印过程中出现而空闲时正常,检查线束是否在运动时被拉扯。 > **与 IFCNT 报错的关系**:`Timeout on wait for 'tmcuart_response'` 和 `Unable to read tmc uart register IFCNT` 本质相同,均为 UART 通信超时。前者多出现在打印过程中,后者多出现在启动初始化阶段。排查方法一致,详见 [IFCNT 通信失败](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc#tmc-ifcnt-communication)。 --- # Load Cell 探针排查 本文用于记录 Klipper `load_cell` / `load_cell_probe` 相关关键词和基础排查方向。Load Cell 探针仍属于相对新的方案,普通用户不要按零散社区配置自行改装压力传感器;请优先使用产品文档、官方 Klipper 文档或厂家提供的完整配置。 ## 常见关键词[​](#常见关键词 "常见关键词的直接链接") | 关键词 | 常见含义 | 排查方向 | | ----------------------------------------- | ------------------------ | ---------------------------------------- | | `[load_cell_probe]` | 使用压力传感器作为探针 | 核对当前 Klipper 是否支持该配置段 | | `LOAD_CELL_DIAGNOSTIC` | Load Cell 诊断命令 | 用于查看采样率、饱和样本和有效数据变化 | | `Invalid ads1220 reset state` | ADS1220 初始化状态异常 | 检查芯片配置、SPI/I2C 连接和固件支持 | | `No trigger on probe after full movement` | 探针没有在允许行程内触发 | 检查探针阈值、Z 轴方向、行程和传感器读数 | | `Saturated samples` | 传感器采样饱和 | 可能过载、增益不合适或接线/配置错误 | ## 使用前确认[​](#使用前确认 "使用前确认的直接链接") 1. 确认当前 Klipper 版本包含 `load_cell` / `load_cell_probe` 支持。 2. 确认使用的 ADC 芯片、采样率、引脚和 MCU 与厂家配置一致。 3. 确认 `endstop_pin`、`position_min`、`position_max` 和 Z 轴运动方向正确。 4. 不要把其他压力传感器、电子秤模块或厂商定制模块的配置直接复制到当前机器。 功能边界 Load Cell 探针配置涉及机械受力、传感器量程和 ADC 采样。没有完整产品说明时,不建议普通客户自行改装为 Z 探针;配置错误可能导致喷嘴压床、Z 轴丢步或传感器过载。 ## 诊断命令[​](#诊断命令 "诊断命令的直接链接") 若配置已由产品文档提供,且 Klipper 能正常启动,可先执行: ``` LOAD_CELL_DIAGNOSTIC ``` 结果判断: 1. `Measured samples per second` 应接近配置的采样率;差距很大时,优先检查配置和通信。 2. `Saturated samples` 应为 `0`;如果不为 `0`,说明传感器可能过载、增益过高或配置不匹配。 3. `Unique values` 不应长期为 `1`;如果几乎没有变化,常见于接线、ADC 或采样配置错误。 4. 按产品文档提供的安全测试方式让传感器读数变化时,`Sample range` 应有可观察变化;没有变化时先停止自动归位和探测动作。 断电操作 检查 Load Cell、ADC 模块、工具板接口、线束压接或重新插拔传感器前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔传感器线束或触碰端子。 ## `No trigger on probe after full movement`[​](#no-trigger-on-probe-after-full-movement "no-trigger-on-probe-after-full-movement的直接链接") **报错信息**:使用 `[load_cell_probe]` 归位或探测时出现 `No trigger on probe after full movement`。 **常见原因**: * 探针阈值或归位方向配置错误,Z 轴没有向传感器受力方向运动。 * `position_min` / `position_max` 限制导致 Z 轴还没接触就走完整个允许行程。 * Load Cell 读数没有变化,或 ADC 芯片没有稳定采样。 * 机械结构刚性不足、传感器预紧不当或喷嘴没有可靠接触受力点。 **解决方法**: 1. 先执行 `LOAD_CELL_DIAGNOSTIC`,确认传感器读数会随轻触变化。 2. 核对 Z 轴方向、`position_min`、`position_max` 和 `homing_positive_dir`。 3. 检查 `[load_cell_probe]` 阈值和 ADC 配置是否来自当前硬件的产品文档。 4. 若诊断读数异常,停止归位测试,断电后检查线束、接口和传感器安装。 5. 重新测试前,在断电状态下确认喷嘴、热床和传感器结构没有明显松动或卡滞。 > **运动类排查**:[No trigger on probe after full movement](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-motion#no-trigger-on-probe) ## `Invalid ads1220 reset state`[​](#invalid-ads1220-reset-state "invalid-ads1220-reset-state的直接链接") **报错信息**:`Invalid ads1220 reset state`。 **常见原因**: * ADS1220 芯片未正确上电或没有完成初始化。 * ADC 通信引脚、SPI 总线或片选配置错误。 * 当前 Klipper / 固件不支持所使用的 ADC 或 Load Cell 配置方式。 * 模块接线、线束压接或工具板接口异常。 **解决方法**: 断电操作 检查 ADS1220 模块、SPI/I2C 线束、片选线或工具板接口前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔模块或整理线序。 1. 核对 ADC 模块型号、通信方式和产品文档中的配置段名称。 2. 检查 `cs_pin`、`spi_bus` 或软件 SPI 引脚是否与实际接线一致。 3. 确认 ADC 所在 MCU 固件已经重新刷写,并与上位机 Klipper 版本匹配。 4. 如果该功能来自第三方分支或厂商定制 Klipper,先确认当前系统仍包含对应模块。 5. 更换成品线束或模块交叉测试;不要让普通客户自行焊接、飞线或修改 ADC 模块。 --- # MCU ID 配置 本页用于集中说明 Klipper 中主板、工具板、CAN 设备和上位机 MCU 的 ID 填写规则。配置连接类问题时,请先确认通信方式,再填写对应的 `serial:` 或 `canbus_uuid:`。 > **需要从备份、最小配置开始完整排查**:[主 MCU 连接指南](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu) ## 查询 MCU ID[​](#查询-mcu-id "查询 MCU ID的直接链接") 在填写 ID 之前,需要通过 SSH 登录上位机执行对应命令获取真实的设备标识。 ### USB 设备[​](#usb-设备 "USB 设备的直接链接") ``` ls /dev/serial/by-id/* ``` 输出示例(`usb-Klipper_...` 为 Klipper 固件模式下的 ID): ``` /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00 ``` 区分固件 ID 与烧录 ID * Klipper 固件 ID 示例:`usb-Klipper_stm32h723xx_12345-if00` * 烧录模式 ID 示例:`usb-katapult_stm32h723xx_12345-if00`(含 `katapult`) * 烧录模式 ID 示例:`usb-STM32_Bootloader_xxxxxxxxxxxx`(含 `Bootloader`) 配置文件中必须使用 Klipper 固件模式的 ID。如果只能看到烧录模式 ID,说明工具板未进入 Klipper 固件运行状态。 ### CAN 设备[​](#can-设备 "CAN 设备的直接链接") * SSH 命令行 * FlyOS-FAST / FLY 上位机 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` 输出示例: ``` Found canbus_uuid=688e89f0e402, Application: Klipper ``` FAST 或 FLY 上位机直接使用 `python3` 执行搜索: ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` > FAST 系统的 CAN0 已预设为 1M 速率、1024 缓存,一般无需手动配置。 多个 CAN UUID Application 显示为 `CANBOOT` 或 `Katapult` 的 UUID 为烧录模式下的 ID,不能直接用于 `printer.cfg`。详细排查请参考 [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can)。 ### 上位机 MCU[​](#上位机-mcu "上位机 MCU的直接链接") 如果使用上位机 Linux 进程模拟 MCU(`[mcu host]`),其串口固定为: ``` [mcu host] serial: /tmp/klipper_host_mcu ``` ### RS232 设备[​](#rs232-设备 "RS232 设备的直接链接") ``` ls -l /dev/serial/by-path/ ``` 输出示例: ``` /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0 ``` > **工具板配置**:[工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) ## MCU ID 配置说明[​](#mcu-id-配置说明 "MCU ID 配置说明的直接链接") Klipper 中的 MCU ID 指的是 `[mcu]` 或 `[mcu xxx]` 配置段里用于连接控制板的识别信息。不同通信方式写法不同: | 连接方式 | 配置项 | 示例 | | ---------- | -------------- | ---------------------------------------------------- | | USB 固件 | `serial:` | `serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx` | | CAN 固件 | `canbus_uuid:` | `canbus_uuid: xxxxxxxxxxxx` | | RS232 设备 | `serial:` | `serial: /dev/serial/by-path/xxxxxxxxxxxx` | | 上位机 MCU | `serial:` | `serial: /tmp/klipper_host_mcu` | **填写规则**: 1. 主板默认使用 `[mcu]`,工具板或扩展板使用 `[mcu tool]`、`[mcu toolboard]` 等自定义名称。 2. USB 固件只填写 `serial:`,CAN 固件只填写 `canbus_uuid:`,不要在同一个 `[mcu]` 中同时保留两项。 3. 多 MCU 机器中,每个 `[mcu xxx]` 都必须使用自己的真实 ID,不要复制同一个 USB ID 或 CAN UUID。 4. `[mcu xxx]` 的名称会影响引脚前缀,例如 `[mcu tool]` 的引脚应写成 `tool:gpio13`;名称大小写要保持一致。 5. 文档示例里的 `xxxxxxxx` 不能直接使用,必须替换为实际搜索到的 ID。 6. RS232 设备除 `serial:` 外,通常还需要填写 `baud: 250000` 和 `restart_method: command`;以对应产品文档为准。 **常见错误**: * 把烧录模式 ID(如包含 `katapult`、`canboot` 的 ID)当作 Klipper 固件 ID 使用。 * USB 固件配置了 `canbus_uuid:`,或 CAN 固件仍保留旧的 `serial:`。 * RS232 设备只填写路径,遗漏所需的 `baud:` 或 `restart_method:`。 * 工具板配置成 `[mcu]`,覆盖了主板 MCU 配置。 * 引脚前缀和 MCU 名称不一致,例如配置是 `[mcu toolboard]`,引脚却写 `tool:gpio13`。 > **USB ID 查询**:USB 固件可执行 `ls /dev/serial/by-id/*` 获取 ID。 > **CAN ID 查询**:[CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) > **RS232 路径查询**:执行 `ls -l /dev/serial/by-path/` 获取稳定设备路径。 > **工具板配置**:[工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) ## 多 MCU 配置示例[​](#多-mcu-配置示例 "多 MCU 配置示例的直接链接") ### USB 主板 + CAN 工具板[​](#usb-主板--can-工具板 "USB 主板 + CAN 工具板的直接链接") USB 主板通过 `serial:` 连接,CAN 工具板通过 `canbus_uuid:` 连接: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx [mcu tool] canbus_uuid: xxxxxxxxxxxx [temperature_sensor ToolBoard] sensor_type: temperature_mcu sensor_mcu: tool ``` ### USB 主板 + USB 工具板[​](#usb-主板--usb-工具板 "USB 主板 + USB 工具板的直接链接") 两者都使用 `serial:` 连接,通过不同的 ID 区分: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_mainboard_xxxxxxxxxxxx [mcu toolboard] serial: /dev/serial/by-id/usb-Klipper_toolboard_xxxxxxxxxxxx ``` ### CAN 主板 + CAN 工具板[​](#can-主板--can-工具板 "CAN 主板 + CAN 工具板的直接链接") 两者都使用 `canbus_uuid:`,每个 UUID 必须不同: ``` [mcu] canbus_uuid: aabbccddeeff [mcu toolboard] canbus_uuid: 112233445566 ``` ### 上位机 MCU + USB 主板[​](#上位机-mcu--usb-主板 "上位机 MCU + USB 主板的直接链接") 上位机运行 Linux 进程 MCU,主板通过 USB 连接: ``` [mcu host] serial: /tmp/klipper_host_mcu [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` ## 常见误区[​](#常见误区 "常见误区的直接链接") | 错误做法 | 正确做法 | | -------------------------------------------- | ---------------------------------------------------------- | | 把烧录模式 ID 当 Klipper ID 使用 | 确保设备进入 Klipper 固件后再查询 ID | | USB 固件同时填写 `serial:` 和 `canbus_uuid:` | USB 固件只填 `serial:`,CAN 固件只填 `canbus_uuid:` | | 工具板写成 `[mcu]` 覆盖主板配置 | 工具板使用 `[mcu toolboard]` 等自定义名称 | | 多个 MCU 共用同一个 ID | 每个 MCU 必须使用自己的唯一 ID | | 引脚前缀与 MCU 名称不一致 | `[mcu toolboard]` 的引脚写 `toolboard:PA0`,名称大小写一致 | | 文档中的 `xxxxxxxx` 直接复制使用 | 必须替换为实际搜索到的真实 ID | ## 排查入口[​](#排查入口 "排查入口的直接链接") | 问题表现 | 排查入口 | | --------------------------------- | ------------------------------------------------------------------------------------------ | | USB ID 找不到或 `[Errno 2]` | [常见报错总览](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#connection-issues) | | CAN UUID 无效或设备不在线 | [CAN 网络与 ID 搜索](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) | | 多 MCU 掉线、配置无法更新 | [系统、性能与服务报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system) | | 工具板添加、跨板引脚配置 | [工具板 MCU 添加与跨板配置](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu-toolboard) | | 引脚前缀、重复引脚或 MCU 名称错误 | [配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config) | --- # RP2040 固件不启动修复 适用于使用 RP2040 主控的 FLY 工具板(FLY-SHT36、FLY-SB2040、FLY-MMU 等)在自行编译 Katapult / Klipper 固件后出现不启动、启动不稳定问题时的修复方法。出厂固件由厂家提供,仅在自行编译固件遇到问题时才需要参考本页。 注意事项 * 本页为进阶操作,修改源码前建议先备份原固件。 * Katapult 就是 BL 引导固件。已安装 Katapult 且由它引导 Klipper 时,建议两个固件都修改;未使用 Katapult 时只需修改 Klipper。 ## 故障现象[​](#故障现象 "故障现象的直接链接") * 刷写自行编译的固件后工具板无反应,USB 无法识别或 CAN 无法连接。 * 上电后偶发不启动,反复断电重启后偶尔能恢复正常。 * Katapult 无法启动或无法被主机查询。 * `klippy.log` 中提示对应 MCU 无法连接或启动异常。 ## 常见原因[​](#常见原因 "常见原因的直接链接") RP2040 启动代码通过 `XOSC_STARTUP_DELAY` 寄存器设置外部晶振的稳定等待时间。RP2040 参考设计按 1ms 配置,Klipper 与 Katapult 上游默认均为 **1ms**: ``` xosc_hw->startup = DIV_ROUND_UP(FREQ_XOSC, 1000 * 256); // 1ms ``` 等待计数过短时,可能因此启动失败或运行不稳定。 将稳定等待时间提高到 **6ms**(与 Raspberry Pi 官方 pico-sdk 默认一致,用于适配慢启动晶振): ``` xosc_hw->startup = DIV_ROUND_UP(FREQ_XOSC, 1000 * 256) * 6; // 6ms ``` ## 修改 Katapult 源码[​](#修改-katapult-源码 "修改 Katapult 源码的直接链接") 1. 使用一条命令修改 `~/katapult/src/rp2040/main.c`(同时替换数值与注释): ``` sed -i 's/1000 \* 256);/1000 * 256) * 6;/; s|// 1ms|// 6ms|' ~/katapult/src/rp2040/main.c ``` 2. 重新编译(menuconfig 按原通信方式选择 RP2040 及对应接口): ``` cd ~/katapult make menuconfig make ``` 编译产物在 `~/katapult/out/` 目录下,重新刷写引导固件即可。 ## 修改 Klipper 源码[​](#修改-klipper-源码 "修改 Klipper 源码的直接链接") 1. 使用一条命令修改 `~/klipper/src/rp2040/main.c`(同时替换数值与注释): ``` sed -i 's/1000 \* 256);/1000 * 256) * 6;/; s|// 1ms|// 6ms|' ~/klipper/src/rp2040/main.c ``` 2. 重新编译: ``` cd ~/klipper make menuconfig make ``` 编译产物在 `~/klipper/out/` 目录下(`klipper.bin` 或 `klipper.uf2`),重新刷写固件。 ## 检查修改是否生效[​](#检查修改是否生效 "检查修改是否生效的直接链接") 1. 检查源码是否已修改: ``` grep -n "xosc_hw->startup" ~/katapult/src/rp2040/main.c ~/klipper/src/rp2040/main.c ``` 输出中应包含 `1000 * 256) * 6`,注释为 `// 6ms`。 3. 刷写后验证:上电后工具板应能正常启动,Klipper 能正常连接 MCU;使用 Katapult 时,进入烧录模式后应能被主机正常识别。 ## 相关配置参考[​](#相关配置参考 "相关配置参考的直接链接") > **固件烧录**:[FLY-SHT36 v3 Katapult 引导固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/bl) **固件编译**:[FLY-SHT36 v3 Klipper 固件编译](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/can) 其他 RP2040 产品(FLY-SB2040、FLY-MMU 等)请参考对应产品的烧录章节。 --- # 外置驱动问题排查 本页用于排查外置驱动配置后出现的不转、只单向转、振动、丢步、模型倾斜和 5V 升压模块异常等问题。 > **接线与配置**:[外置驱动使用教程](https://mellow.klipper.cn/docs/ProductDoc/ModuleDrive/servo-drive) ## 快速判断[​](#troubleshooting "快速判断的直接链接") 若出现以下现象,通常与模块类型、信号电平、`enable_pin`、`step_pulse_duration`、脉冲极性或线序有关: * 电机完全不转 * 电机只单向转,反向命令无效 * 电机振动、异响或方向异常 * 打印模型偏移、层错位 * 模型倾斜,尤其是换向后位置不稳定 * 使用 5V 升压模块后控制台命令报错或模块外观异常 * 配置中仍保留了对应轴的 TMC 驱动配置节 断电操作 检查外置驱动器、5V 升压模块、插头、线序或更换线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔升压模块、外置驱动器信号线或触碰裸露端子。 ## TMC配置残留检查[​](#remove-tmc-config "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 驱动,可能导致通信报错、配置报错或电机无法正常工作。 ## 模块类型与信号电平检查[​](#module-signal-level "模块类型与信号电平检查的直接链接") 外置驱动转接模块有两种常见类型,请先确认实际使用的是哪一种: | 模块类型 | 输出电平 | 适用情况 | | ------------ | -------------------------------------------------------------------------- | -------------------------------------------------------------- | | 普通直通模块 | 主板原本输出 `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-module-test "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 引脚编号。 ### 断电检查模块与线束[​](#断电检查模块与线束 "断电检查模块与线束的直接链接") 1. 确认 5V 升压模块安装方向与主板丝印、说明书一致。 2. 确认 EN、PUL、DIR、GND 等线序与所选接线方式一致。 3. 优先使用厂家提供的成品模块和成品线束,不要自行改线。 4. 暂时不要连接外置驱动器,避免配置或线序错误时损坏驱动器。 ### 软件输出检查[​](#软件输出检查 "软件输出检查的直接链接") 1. 在 Mainsail 或 Fluidd 界面中进入控制台。 2. 确认此时没有连接外置驱动器和其他执行设备,然后依次执行以下命令,确认控制台无报错: ``` 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 ``` 3. 如果命令报错,请先核对 `printer.cfg` 中的引脚名称和实际驱动口是否一致。 ### 测试结果判断[​](#测试结果判断 "测试结果判断的直接链接") | 检查项 | 正常结果 | 异常结果 | 处理建议 | | -------------- | ------------------------ | ---------------------- | -------------------------------- | | 模块方向与线序 | 与主板丝印、说明书一致 | 插反、错位或线序不一致 | 完全断电后重新安装或更换成品线束 | | 控制台命令 | `SET_PIN` 命令无报错 | 引脚不存在或命令失败 | 核对 `printer.cfg` 引脚配置 | | 模块/线束外观 | 无发热、异味、破损或松动 | 发热、异味、破损、松动 | 立即断电,更换模块或线束 | 检查通过后 确认外观、线序和配置均正常后,先完全断电,再进行正式的驱动器接线。 ## 使能引脚判断方法[​](#enable-pin-guide "使能引脚判断方法的直接链接") 外置驱动器的 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 与方向时序[​](#step-pulse-and-dir-timing "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 ``` 取值建议: 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数。 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量。 3. 若说明书未标注,可从 `0.000005` 起逐步调大测试。 ## 常见现象处理[​](#pulse-troubleshooting "常见现象处理的直接链接") ### 层错位 / 丢步[​](#层错位--丢步 "层错位 / 丢步的直接链接") **可能原因**:`step_pulse_duration` 过短,外置驱动器未能可靠识别 step 脉冲。 **处理方法**: 1. 先尝试 Loading... 2. 若仍有问题,调至 Loading... 3. 仍无效则继续调至 Loading... 或 Loading... 每次调整后保存配置并重启 Klipper(`FIRMWARE_RESTART`),然后测试打印效果。 ### 模型倾斜(换向异常)[​](#模型倾斜换向异常 "模型倾斜(换向异常)的直接链接") **可能原因**:DIR 方向信号没有被外置驱动器稳定识别,或 `step_pulse_duration` 太短导致换向时序不稳定。 **处理方法**: 1. 确认模块类型正确,参考上方[模块类型与信号电平检查](#module-signal-level)。 2. 若主板输出为 `3.3V` 且驱动器要求 `5V` 输入,请更换为 5V 升压模块。 3. 断电检查 DIR 线序是否接到驱动器 DIR 对应端子。 4. 核对 `dir_pin` 引脚是否为实际使用驱动口的方向引脚。 5. 适当增大 `step_pulse_duration`,再保存配置并重启 Klipper 测试。 ### 只单向转 / 方向不受控[​](#只单向转--方向不受控 "只单向转 / 方向不受控的直接链接") **可能原因**:DIR 方向信号没有被外置驱动器稳定识别,常见于模块类型不匹配、`3.3V` 信号未升压、DIR 线序错误或 `dir_pin` 配置错误。 **排查顺序**: 1. 确认模块类型正确,参考上方[模块类型与信号电平检查](#module-signal-level)。 2. 若主板输出为 `3.3V` 且驱动器要求 `5V` 输入,请更换为 5V 升压模块。 3. 断电检查 DIR 线序是否接到驱动器 DIR/PUL 对应端子。 4. 核对 `dir_pin` 引脚是否为实际使用驱动口的方向引脚。 5. 再根据实际方向添加或移除 `dir_pin` 前的 `!`。 ### 电机不转 / 振动[​](#电机不转--振动 "电机不转 / 振动的直接链接") **排查顺序**: 1. 确认模块类型正确,参考上方[模块类型与信号电平检查](#module-signal-level)。 2. 确认 `enable_pin` 极性正确,参考上方[使能引脚判断方法](#enable-pin-guide)。 3. 确认对应轴的 TMC 配置已经删除或整段注释,参考上方[TMC配置残留检查](#remove-tmc-config)。 4. 确认 `step_pulse_duration` 已调大。 5. 确认驱动器拨码细分与 Klipper `microsteps` 一致。 6. 断电检查 PUL/DIR/EN 线序是否与所选接线方式匹配。 --- # C8P 抱闸/刹车电机参考配置 本页用于 `FLY-C8P` 的特定抱闸(电磁刹车)电机接法:让步进电机使能时同时释放抱闸,步进电机失能时同时抱闸。示例只适用于将电机接在 C8P `DRIVER2`、并按本页使用 `PD12` 抱闸输出的情况,不能直接套用到其他主板或其他驱动位。 使用前必看 * 下方配置是参考模板,不是可以直接用于所有机器的成品配置。`rotation_distance`、`run_current`、电机方向、行程和限位位置必须按实际机械结构重新确认。 * C8P 的 `PD12` 是加热口 0。使用本方案时,`PD12` 只能作为抱闸控制输出,不能再被 `[extruder]`、`[heater_bed]`、`[heater_fan]` 或其他配置占用。 * 抱闸线圈是感性负载,只能使用额定电压、电流匹配且带反向电动势保护的成品抱闸模块或驱动模块。不要把未经保护的线圈直接接到主板输出口。 * 不要把 `12V/24V` 电源接入 C8P 的逻辑引脚。抱闸电源和主板输出的具体接线方式必须以 C8P 接线图、抱闸模块说明和额定参数为准。 > **C8P 引脚参考**:[FLY-C8P 引脚分布](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/pin) ## 控制逻辑[​](#控制逻辑 "控制逻辑的直接链接") `[multi_pin tmc_heater]` 将一个虚拟输出同时连接到 `!PD2` 和 `PD12`: * `PD2` 是 DRIVER2 的 EN,低电平有效,因此写成 `!PD2`。 * `PD12` 用于控制抱闸释放。虚拟输出为高电平时,步进驱动使能并给抱闸模块释放信号;虚拟输出为低电平时,步进驱动失能并撤销释放信号。 * 如果你的抱闸模块是相反的有效电平,不能直接照抄本例,应先依据模块说明确认极性,再由熟悉电气安全的人员调整对应引脚反相。 与步进引脚复用的限制 Klipper 的 `multi_pin` 通常用于同时控制多个输出。下面的写法是 C8P 抱闸功能的专用方案,复用的是步进驱动的 **使能状态**,不是 STEP 或 DIR 脉冲信号;不要把 `multi_pin` 用到 `step_pin` 或 `dir_pin`。 ## 断电接线与检查[​](#断电接线与检查 "断电接线与检查的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔电机、抱闸模块、电源线束或主板端子,也不要整理接口线序。 1. 确认电机安装牢固,平台或负载有可靠的机械支撑;抱闸释放后不能导致机构突然下落或移动。 2. 确认抱闸模块的额定电压与打印机使用的低压电源一致,额定电流不超过模块和供电线路的允许范围。 3. 确认 `PD12` 未在其他配置中使用,并确认抱闸模块具备线圈关断保护。 4. 按 C8P 与抱闸模块的说明完成断电接线。若无法确认端子、电平或负载参数,请停止接线并联系售后,不要自行改线或短接测试。 ## 参考配置[​](#参考配置 "参考配置的直接链接") 下面示例沿用 C8P `DRIVER2` 的引脚,并将抱闸控制与 `stepper_z` 的使能状态绑定: printer.cfg ``` [multi_pin tmc_heater] pins: !PD2,PD12 [stepper_z] step_pin: PE3 dir_pin: PD1 enable_pin: multi_pin:tmc_heater rotation_distance: 10 endstop_pin: ^!PD11 position_endstop: 0 full_steps_per_rotation: 200 microsteps: 64 position_min: -3 position_max: 800 homing_speed: 10 homing_retract_dist: 20 [tmc5160 stepper_z] cs_pin: PD0 spi_bus: spi1a run_current: 2.0 interpolate: False sense_resistor: 0.075 stealthchop_threshold: 0 ``` ## 首次上电与动作确认[​](#首次上电与动作确认 "首次上电与动作确认的直接链接") 断电操作 首次检查前请完全关闭打印机并断开电源,确认电机、平台和抱闸机构不会因失电或释放而产生危险动作。不要在机构未固定时进行测试。 1. 重新上电后先确认 Klipper 配置正常加载;如果出现引脚重复占用或配置错误,立即断电并修正配置。 2. 在低风险、无负载状态下使用 `SET_STEPPER_ENABLE STEPPER=stepper_z ENABLE=0` 和 `ENABLE=1` 观察抱闸模块是否按预期吸合/释放。 3. 抱闸状态与电机使能逻辑相反、动作延迟异常、出现发热或异响时,立即执行 `M84`,停止测试并断电。不要通过关闭保护、提高电流或短接输出来强行运行。 4. 确认抱闸动作正确后,再使用 `STEPPER_BUZZ` 小范围检查电机方向和传动;不要直接执行整机归位。 --- # 挤出机参考相关 本页面收录常见挤出机的参考参数,主要用于快速建立初始配置。 使用说明 * 下方 `rotation_distance`、`gear_ratio`、`pressure_advance` 仅供参考,实际机器需要重新校准。 * 更换挤出机、电机、齿轮、耗材路径或喷嘴后,都建议重新校准挤出步进值。 * `pressure_advance` 与热端、耗材、速度和切片参数有关,不能直接照抄。 ## 参考配置[​](#参考配置 "参考配置的直接链接") ### Stealthburner-Clockwork2[​](#stealthburner-clockwork2 "Stealthburner-Clockwork2的直接链接") ``` rotation_distance: 21.84 gear_ratio: 50:10 microsteps: 16 ``` ### Voron-Afterburner-Clockwork[​](#voron-afterburner-clockwork "Voron-Afterburner-Clockwork的直接链接") ``` rotation_distance: 21.84 gear_ratio: 50:17 microsteps: 16 ``` ### Galileo2[​](#galileo2 "Galileo2的直接链接") ``` rotation_distance: 47.088 gear_ratio: 9:1 microsteps: 16 ``` ### BMG && BMG Wind[​](#bmg--bmg-wind "BMG && BMG Wind的直接链接") ``` rotation_distance: 25.1200 gear_ratio: 50:17 microsteps: 16 full_steps_per_rotation: 200 ``` ### Nf sunrise[​](#nf-sunrise "Nf sunrise的直接链接") ``` microsteps: 16 rotation_distance: 4.46 max_extrude_only_distance: 120.0 max_extrude_only_velocity: 80.0 max_extrude_only_accel: 800.0 ``` ### Orbiter 2 && Orbiter 2.5[​](#orbiter-2--orbiter-25 "Orbiter 2 && Orbiter 2.5的直接链接") ``` microsteps: 32 full_steps_per_rotation: 200 rotation_distance: 4.637 nozzle_diameter: x.xx filament_diameter: 1.750 max_extrude_only_distance: 500 max_extrude_only_velocity: 120 pressure_advance: 0.025 pressure_advance_smooth_time: 0.03 ``` ### LDO Smart Orbiter 3.0[​](#ldo-smart-orbiter-30 "LDO Smart Orbiter 3.0的直接链接") ``` microsteps: 16 full_steps_per_rotation: 200 rotation_distance: 4.69 max_extrude_only_distance: 500 max_extrude_only_velocity: 120 pressure_advance: 0.015 pressure_advance_smooth_time: 0.03 max_extrude_cross_section: 10 ``` ### Hextrudort Low && Hextrudort Low PLUS[​](#hextrudort-low--hextrudort-low-plus "Hextrudort Low && Hextrudort Low PLUS的直接链接") #### Standard version[​](#standard-version "Standard version的直接链接") ``` rotation_distance: 22 # gear_ratio: 50:10 # 标准 10T 电机 gear_ratio: 50:8 # 标准 8T 电机 pressure_advance: 0.025 pressure_advance_smooth_time: 0.03 ``` #### PLUS version[​](#plus-version "PLUS version的直接链接") ``` rotation_distance: 35.8 # gear_ratio: 60:10 # 标准 10T 电机 gear_ratio: 60:8 # 标准 8T 电机 pressure_advance: 0.025 pressure_advance_smooth_time: 0.03 ``` ### Sherpa MINI[​](#sherpa-mini "Sherpa MINI的直接链接") ``` gear_ratio: 5:1 microsteps: 16 rotation_distance: 22.388 max_extrude_only_distance: 100.0 max_extrude_cross_section: 50.0 ``` ### MK8[​](#mk8 "MK8的直接链接") ``` microsteps: 16 rotation_distance: 34.406 max_extrude_only_distance: 100.0 ``` ### 玄武热端参考配置[​](#玄武热端参考配置 "玄武热端参考配置的直接链接") ``` [extruder] ## In M1 position ### Vz-HextrudORT step_pin: SHT36:gpio7 dir_pin: !SHT36:gpio6 enable_pin: !SHT36:gpio14 full_steps_per_rotation: 200 rotation_distance: 23.24 gear_ratio: 30:10 microsteps: 16 nozzle_diameter: 0.6 filament_diameter: 1.750 heater_pin: SHT36:gpio23 sensor_type: PT1000 sensor_pin: SHT36:gpio27 control: watermark min_temp: 0 max_temp: 400 max_extrude_only_distance: 1000.0 max_extrude_cross_section: 500 max_extrude_only_velocity: 200 max_extrude_only_accel: 10000 min_extrude_temp: 0 pressure_advance: 0.04 pressure_advance_smooth_time: 0.03 ``` ## 双加热口控制一个热端[​](#双加热口控制一个热端 "双加热口控制一个热端的直接链接") 如果使用两个加热口共同控制加热棒,可使用 `[multi_pin]` 合并加热引脚,然后将 `heater_pin` 改为 `multi_pin:extrude_heater`。 printer.cfg ``` [multi_pin extrude_heater] pins: PA1,PA2 [extruder] heater_pin: multi_pin:extrude_heater ``` --- # 风扇参考配置 本页面整理常见风扇配置方式,包括驱动风扇、7040 风扇和多风扇共用引脚。示例中的引脚需要按实际主板修改。 ## 驱动风扇[​](#驱动风扇 "驱动风扇的直接链接") 驱动风扇常见有两种做法: | 方式 | 适用场景 | 说明 | | ------------------ | ------------------------------ | -------------------------------- | | `[output_pin]` | 需要开机或连接 Klipper 后常开 | 配置简单,不会按电机状态自动启停 | | `[controller_fan]` | 希望电机或加热器工作时自动开启 | 更适合驱动散热风扇 | ### 常开风扇[​](#常开风扇 "常开风扇的直接链接") `value: 1` 表示 Klipper 连接后自动打开该输出。 printer.cfg ``` [output_pin driver_fan] pin: value: 1 ``` ### 自动驱动风扇[​](#自动驱动风扇 "自动驱动风扇的直接链接") printer.cfg ``` [controller_fan driver_fan] pin: cycle_time: 0.00003 max_power: 1.0 shutdown_speed: 0.0 fan_speed: 0.9 idle_timeout: 90 idle_speed: 0.4 stepper: stepper_x,stepper_y ``` 参数说明: * `fan_speed`:电机或加热器工作时的风扇速度。 * `idle_timeout`:电机停止后继续运行的时间,单位为秒。 * `idle_speed`:进入空闲等待期间的风扇速度。 * `stepper`:关联的电机名称,可填写多个。 ## 7040 风扇[​](#7040-风扇 "7040 风扇的直接链接") 部分 7040 风扇可能出现上电或开机就转的问题,需要在固件编译时设置 PWM 初始状态。 信息 在固件编译选项 `GPIO pins to set at micro-controller startup` 中填写 `!` 可让对应风扇输出在启动时保持关闭。请按实际 PWM 引脚修改,`!` 需要使用英文感叹号。 Loading... printer.cfg ``` [fan] pin: max_power: 0.9 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 ``` ## 多风扇共用引脚配置[​](#多风扇共用引脚配置 "多风扇共用引脚配置的直接链接") 多个风扇需要同时控制时,可使用 `[multi_pin]`。此方法不适用于步进电机引脚。 printer.cfg ``` [multi_pin my_fan] pins: PA1,PA2,PA3,PA4 [fan] pin: multi_pin:my_fan ``` 注意 多风扇共用引脚前,请确认对应 MOS 管和供电线路能承受总电流。 --- # Homing Override - 归位覆盖配置 ## 概述[​](#概述 "概述的直接链接") 本页面提供两个 Klipper 归位覆盖(Homing Override)参考配置,用于优化 3D 打印机的归位流程,提高安全性和精度。 ### 配置列表[​](#配置列表 "配置列表的直接链接") | 配置 | 功能描述 | 适用场景 | | ------ | ----------------------- | -------------------- | | 配置一 | 基础归位覆盖 + 热床居中 | 标准归位流程优化 | | 配置二 | 喷嘴温度检查 + 安全归位 | 高温环境下的安全归位 | *** ## 配置一:基础归位覆盖[​](#配置一基础归位覆盖 "配置一:基础归位覆盖的直接链接") ### 功能说明[​](#功能说明 "功能说明的直接链接") * 自动检测 Z 轴是否已归位,未归位时先设置虚拟 Z 位置 * 归位 Z 轴前自动移动到热床中心位置 * 支持独立的 X、Y、Z 归位命令 * 使用 printer.configfile.config 读取打印机最大行程 ### 完整配置[​](#完整配置 "完整配置的直接链接") ``` [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 %} ; 如果 Z 轴未归位,设置虚拟位置并抬升 {% 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 %} ; 移动到热床中心【重要】防止归位 Z 时碰撞 G0 X{max_x / 2} Y{max_y / 2} F3600 G28 Z G1 Z10 F2000 {% endif %} ``` ### 关键代码说明[​](#关键代码说明 "关键代码说明的直接链接") **`G0 X{max_x / 2} Y{max_y / 2} F3600`** 这行代码的作用是在归位 Z 轴之前,将喷嘴移动到热床的中心位置。 * `X{max_x / 2}`:X 轴移动到最大行程的一半(热床中心 X 坐标) * `Y{max_y / 2}`:Y 轴移动到最大行程的一半(热床中心 Y 坐标) * **F3600**:移动速度为 3600mm/min(60mm/s),快速移动 **为什么需要移动到热床中心?** 1. **避免碰撞**:防止喷嘴在热床边缘归位时撞到调平旋钮或其他障碍物 2. **提高精度**:热床中心通常是热床最平整的区域,归位更准确 3. **兼容**:支持ALPS、BL-Touch、EDDY等多种探针 **如何修改移动速度?** * 找到 `G0 X{max_x / 2} Y{max_y / 2} F3600` 这一行 * 将 `F3600` 改为你需要的速度值 * 建议范围:F1800-F3600(30-60mm/s) ### 使用示例[​](#使用示例 "使用示例的直接链接") ``` G28 ; 全部归位 → 检测 Z → 归位 XY → 移动中心 → 归位 Z → 抬升 ``` *** ## 配置二:带温度保护的归位覆盖[​](#配置二带温度保护的归位覆盖 "配置二:带温度保护的归位覆盖的直接链接") ### 功能说明[​](#功能说明-1 "功能说明的直接链接") * 包含配置一的所有功能 * 增加喷嘴温度检查 * 当温度过高时自动降温到安全温度 * 归位完成后恢复原始温度设置 ### 完整配置[​](#完整配置-1 "完整配置的直接链接") ``` [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 %} {% set e_target = printer.extruder.target %} ; 保存目标温度 {% set fan_speed = printer.fan.speed %} ; 保存风扇速度 ; 如果 Z 轴未归位,设置虚拟位置并抬升 {% 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 %} ; 温度检查【可修改】将 150 改为你的温度阈值 {% if e_target >= 150 or printer.extruder.temperature >= 150 %} M106 S255 ; 打开风扇帮助降温 M109 S150 ; 等待降温到 150°C【可修改】 {% endif %} M106 S0 ; 关闭风扇 ; 移动到热床中心【重要】防止归位 Z 时碰撞 G0 X{max_x / 2} Y{max_y / 2} F3600 G28 Z G1 Z10 F2000 ; 恢复温度和风扇速度 M109 S{e_target} M106 S{fan_speed} {% endif %} ``` ### 温度保护逻辑[​](#温度保护逻辑 "温度保护逻辑的直接链接") 1. **检查温度**:判断喷嘴目标温度或实际温度是否 ≥ 150°C 2. **打开风扇**:M106 S255 全速打开冷却风扇 3. **等待降温**:M109 S150 等待喷嘴降温到 150°C 4. **关闭风扇**:M106 S0 关闭风扇准备归位 5. **执行归位**:移动中心 → 归位 Z → 抬升 6. **恢复状态**:恢复到原来的目标温度和风扇速度 ### 如何修改温度阈值[​](#如何修改温度阈值 "如何修改温度阈值的直接链接") 1. 找到两处标注 **【可修改】** 的地方 2. 将 `150` 改为你需要的温度值 3. 两处必须同时修改为相同的值 4. 保存并重启 Klipper ### 使用示例[​](#使用示例-1 "使用示例的直接链接") ``` G28 ; 全部归位 → 温度检查 → 降温(如需)→ 移动中心 → 归位 Z → 恢复温度 ``` *** ## 相关资源[​](#相关资源 "相关资源的直接链接") * [Klipper 官方文档 - Homing Override](https://www.klipper3d.org/Config_Reference.html#homing_override) * [Klipper 官方文档 - Force Move](https://www.klipper3d.org/Config_Reference.html#force_move) * [G-code 命令参考](https://www.klipper3d.org/G-Codes.html) *** --- # i3 单 Z 参考配置 使用前必看 * 本页面为 i3 / Cartesian 单 Z 机器的 Klipper 参考配置模板,不是直接可用的成品配置。 * `serial`、所有引脚、热敏型号、行程、限位方向、电机方向都必须按实际硬件修改。 * 首次上电调试时请先使用 `STEPPER_BUZZ` 检查每个电机,不要直接执行整机归位。 ## 适用范围[​](#适用范围 "适用范围的直接链接") | 结构 | 说明 | | ------------------ | -------------------------------------------------- | | i3 单 Z | X/Y/Z 各一个步进电机,Z 轴单丝杆或单电机同步双丝杆 | | Cartesian | X/Y/Z 直角坐标结构,非 CoreXY | | 入门机型改 Klipper | 适合作为基础配置模板,再按主板和机器尺寸修改 | ## 需要先修改的内容[​](#需要先修改的内容 "需要先修改的内容的直接链接") | 项目 | 位置 | 说明 | | ---------- | ------------------------------------------- | ------------------------------------------ | | 主板 ID | `[mcu]` | USB 固件一般使用 `serial` | | 机器尺寸 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | 按实际打印范围修改 `position_max` | | 电机方向 | `dir_pin` | 方向反了就在对应引脚前添加或删除 `!` | | 限位引脚 | `endstop_pin` | 按实际限位口修改,并确认是否需要 `^` / `!` | | 热敏型号 | `[extruder]`、`[heater_bed]` | 按热端和热床实际传感器填写 | | PID 参数 | `[extruder]`、`[heater_bed]` | 首次调试完成后执行 PID 校准并保存 | | 挤出步进值 | `[extruder]` | `rotation_distance` 必须实测校准 | ## 基础配置[​](#基础配置 "基础配置的直接链接") printer.cfg ``` [include mainsail.cfg] # [include fluidd.cfg] [virtual_sdcard] path: ~/printer_data/gcodes [pause_resume] [display_status] [exclude_object] [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxxx-if00 [temperature_sensor MCU] sensor_type: temperature_mcu [temperature_sensor HOST] sensor_type: temperature_host [printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_z_velocity: 5 max_z_accel: 100 ``` 提示 i3 结构刚开始调试时建议先使用保守速度和加速度。确认方向、限位、加热、挤出都正常后,再逐步提高速度和加速度。 ## X/Y/Z 轴配置[​](#xyz-轴配置 "X/Y/Z 轴配置的直接链接") 示例使用 235 × 235 × 250 mm 行程。请按实际机器尺寸修改 `position_max`。 printer.cfg ``` [stepper_x] step_pin: dir_pin: enable_pin: microsteps: 16 rotation_distance: 40 endstop_pin: position_endstop: 0 position_max: 235 homing_speed: 50 [stepper_y] step_pin: dir_pin: enable_pin: microsteps: 16 rotation_distance: 40 endstop_pin: position_endstop: 0 position_max: 235 homing_speed: 50 [stepper_z] step_pin: dir_pin: enable_pin: microsteps: 16 rotation_distance: 8 endstop_pin: position_endstop: 0.0 position_max: 250 homing_speed: 5 second_homing_speed: 2.5 homing_retract_dist: 5 ``` ## 挤出机配置[​](#挤出机配置 "挤出机配置的直接链接") printer.cfg ``` [extruder] step_pin: dir_pin: enable_pin: microsteps: 16 rotation_distance: 33.683 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: sensor_type: EPCOS 100K B57560G104F sensor_pin: min_temp: 0 max_temp: 250 max_extrude_only_distance: 100.0 # control: pid # pid_Kp: # pid_Ki: # pid_Kd: ``` 注意 `rotation_distance: 33.683` 是常见 MK8 类挤出机参考值,实际使用前必须重新校准。 ## 热床配置[​](#热床配置 "热床配置的直接链接") printer.cfg ``` [heater_bed] heater_pin: sensor_type: EPCOS 100K B57560G104F sensor_pin: min_temp: 0 max_temp: 130 # control: pid # pid_Kp: # pid_Ki: # pid_Kd: ``` PID 校准命令: ``` PID_CALIBRATE HEATER=extruder TARGET=200 PID_CALIBRATE HEATER=heater_bed TARGET=60 SAVE_CONFIG ``` ## 风扇配置[​](#风扇配置 "风扇配置的直接链接") printer.cfg ``` [fan] pin: max_power: 1.0 shutdown_speed: 0 ``` ## 手动调平螺丝[​](#手动调平螺丝 "手动调平螺丝的直接链接") 下方坐标为 235 mm 热床参考值,需要按实际螺丝位置修改。 printer.cfg ``` [bed_screws] screw1: 30.5,37 screw2: 30.5,207 screw3: 204.5,207 screw4: 204.5,37 ``` ## 12864 屏幕配置[​](#12864-屏幕配置 "12864 屏幕配置的直接链接") 如果机器使用 ST7920 12864 屏幕,可参考下方配置。未使用屏幕时请删除或注释本段。 printer.cfg ``` [display] lcd_type: st7920 cs_pin: sclk_pin: sid_pin: encoder_pins: click_pin: ``` ## 归位覆盖参考[​](#归位覆盖参考 "归位覆盖参考的直接链接") 部分 i3 机器热床向前移动范围较大,喷嘴可能碰到热床线缆护套。可通过 `homing_override` 固定 Y、X、Z 的归位顺序。 注意 启用下方配置后,单独执行 `G28 X` / `G28 Y` / `G28 Z` 的行为会受到影响。请确认机器结构确实需要该配置。 printer.cfg ``` #[homing_override] #gcode: # G28 Y # G28 X # G28 Z ``` ## 调试顺序[​](#调试顺序 "调试顺序的直接链接") 1. 修改 `[mcu]`,确认 Klipper 能连接主板。 2. 检查热端和热床温度,常温下应接近环境温度。 3. 使用 `STEPPER_BUZZ` 逐个检查 X/Y/Z/挤出机电机方向。 4. 使用 `QUERY_ENDSTOPS` 检查限位状态。 5. 低速执行 `G28 X`、`G28 Y`、`G28 Z`,确认单轴归位正常。 6. 执行热端和热床 PID 校准。 7. 校准挤出机 `rotation_distance`。 8. 完成热床手动调平和 Z 偏移校准。 ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 归位方向错误[​](#归位方向错误 "归位方向错误的直接链接") 修改对应轴的 `dir_pin`,添加或删除 `!` 后重启 Klipper 再测试。 ### 限位状态相反[​](#限位状态相反 "限位状态相反的直接链接") 修改 `endstop_pin`,添加或删除 `!`。常闭限位常见写法为 `^!引脚`。 ### 挤出长度不准[​](#挤出长度不准 "挤出长度不准的直接链接") 不要只依赖示例值,请按机器校准流程重新计算 `rotation_distance`。 --- # SPI 配置方法 ## 硬件 SPI(推荐)[​](#硬件-spi推荐 "硬件 SPI(推荐)的直接链接") TMC5160 等 SPI 驱动应优先使用主板硬件 SPI 总线,配置中填写对应的 `spi_bus` 总线名即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` `spi_bus` 的值因主板而异,请以各主板引脚分布文档中的实际值为准。 ## 软件 SPI[​](#软件-spi "软件 SPI的直接链接") 当 SPI 外设没有接在硬件 SPI 总线引脚上(如把 MAX31865、加速度计接到任意 GPIO)时,可以使用软件 SPI,需单独指定三个信号引脚: ``` [max31865 pt1000] spi_software_miso_pin: 对应 MISO 引脚 spi_software_mosi_pin: 对应 MOSI 引脚 spi_software_sclk_pin: 对应 SCLK 引脚 cs_pin: 对应 CS 引脚 ``` 引脚来源 `spi_software_*_pin` 需按主板或工具板引脚分布文档(pin.mdx)中的实际引脚号填写,不可照抄示例。 ## SPI 速度[​](#spi-速度 "SPI 速度的直接链接") * `spi_speed` 可选,单位为 Hz。 * TMC 系列驱动可不填写,使用默认速度;通信不稳定时可尝试降低 `spi_speed`。 --- # 多 Z 参考配置 本页面整理双 Z 电机的常见配置方式。示例中的引脚、行程和方向需要根据实际主板与机器结构修改。 调试提醒 * 首次调试 Z 轴前,请确认丝杆、联轴器和平台不会卡死。 * 多 Z 电机必须使用相同的 `rotation_distance`、`microsteps` 和机械传动规格。 * 使用 Probe 或 BL-Touch 作为 Z 限位时,不要同时保留 `position_endstop`。 ## 双Z单限位[​](#双z单限位 "双Z单限位的直接链接") 双 Z 共用一个限位时,只需要在 `[stepper_z]` 中配置 `endstop_pin`,第二个 Z 电机 `[stepper_z1]` 不需要添加 `endstop_pin`。 printer.cfg ``` [stepper_z] step_pin: dir_pin: enable_pin: ! rotation_distance: 4 full_steps_per_rotation: 200 microsteps: 16 endstop_pin: ^! position_endstop: 0 position_max: 300 homing_speed: 50 homing_retract_dist: 5 [stepper_z1] step_pin: dir_pin: enable_pin: ! rotation_distance: 4 full_steps_per_rotation: 200 microsteps: 16 ``` ## 双Z双限位[​](#双z双限位 "双Z双限位的直接链接") 双 Z 分别使用独立限位时,第二个 Z 电机需要添加 `endstop_pin`。这种方式适合需要分别检测两个 Z 端点的机器。 printer.cfg ``` [stepper_z] step_pin: dir_pin: enable_pin: ! rotation_distance: 4 full_steps_per_rotation: 200 microsteps: 16 endstop_pin: ^! position_endstop: 0 position_max: 300 homing_speed: 50 homing_retract_dist: 5 [stepper_z1] step_pin: dir_pin: enable_pin: ! rotation_distance: 4 full_steps_per_rotation: 200 microsteps: 16 endstop_pin: ^! ``` ## 双Z使用 Probe 或 BL-Touch[​](#双z使用-probe-或-bl-touch "双Z使用 Probe 或 BL-Touch的直接链接") 使用 Probe 或 BL-Touch 作为 Z 限位时,需要将第一个 Z 配置中的 `endstop_pin` 改为 `probe:z_virtual_endstop`,并添加对应的 `[probe]` 或 `[bltouch]` 配置。 printer.cfg ``` [stepper_z] step_pin: dir_pin: enable_pin: ! rotation_distance: 4 full_steps_per_rotation: 200 microsteps: 16 endstop_pin: probe:z_virtual_endstop # position_endstop: 0 position_max: 300 homing_speed: 50 homing_retract_dist: 5 step_pulse_duration: 0.000004 [stepper_z1] step_pin: dir_pin: enable_pin: ! rotation_distance: 4 full_steps_per_rotation: 200 microsteps: 16 [probe] pin: ^ x_offset: 0 y_offset: 0 # z_offset: 0 speed: 3.0 lift_speed: 5 samples: 3 samples_result: median sample_retract_dist: 3.0 samples_tolerance: 0.075 samples_tolerance_retries: 3 ``` ## 检查顺序[​](#检查顺序 "检查顺序的直接链接") 1. 使用 `STEPPER_BUZZ STEPPER=stepper_z` 检查第一个 Z 电机方向。 2. 使用 `STEPPER_BUZZ STEPPER=stepper_z1` 检查第二个 Z 电机方向。 3. 确认两个 Z 电机上升、下降方向一致。 4. 确认限位或 Probe 状态正确后,再执行 `G28 Z`。 --- # 热敏配置方法 本页面整理 Klipper 中常见温度传感器配置方式,包括热端、热床、仓温、主板温度、上位机温度、PT1000 直连、MAX31865 和 K 型热电偶。示例中的引脚、传感器型号、上拉电阻和温度范围都需要按实际硬件修改。 断电操作 检查或更换热敏、PT100/PT1000、热电偶模块、加热棒、热床、跳线帽或端子前,请完全关闭打印机并断开电源供应,并等待热端和热床冷却。不要在通电状态下插拔线束、整理接口线序或触碰端子。 使用说明 * `sensor_type` 必须与实际传感器一致,不能只按配置示例照抄。 * `sensor_pin` 必须连接到支持温度采样的 ADC / 热敏接口,不能填风扇口、加热口、限位口或普通输出口。 * PT100/PT1000、热电偶和普通 NTC 热敏电阻使用的接口和配置方式不同,接错接口会导致温度异常或 `ADC out of range`。 * 修改温度传感器或加热器配置后,应重新检查温度读数,并按需重新 PID 校准。 ## 基本结构[​](#基本结构 "基本结构的直接链接") 温度传感器通常出现在以下配置段中: | 场景 | 配置段 | 常见用途 | | --------------- | ----------------------------------------------- | -------------------------------- | | 热端 | `[extruder]` | 读取热端温度并控制热端加热 | | 热床 | `[heater_bed]` | 读取热床温度并控制热床加热 | | 仓温 / 额外温度 | `[temperature_sensor xxx]` | 只显示温度,不直接控制加热 | | 自定义加热器 | `[heater_generic xxx]` | 控制加热仓、干燥箱等额外加热设备 | | 主板温度 | `[temperature_sensor xxx]` + `temperature_mcu` | 显示 MCU 内部温度 | | 上位机温度 | `[temperature_sensor xxx]` + `temperature_host` | 显示上位机 CPU 温度 | 最常见的热端配置结构如下: printer.cfg ``` [extruder] heater_pin: sensor_type: sensor_pin: min_temp: 0 max_temp: 300 ``` 最常见的热床配置结构如下: printer.cfg ``` [heater_bed] heater_pin: sensor_type: sensor_pin: min_temp: 0 max_temp: 120 ``` ## 普通 NTC 热敏电阻[​](#普通-ntc-热敏电阻 "普通 NTC 热敏电阻的直接链接") 普通热端、热床常见使用 100K NTC 热敏电阻。此类传感器通常接在主板或工具板的普通热敏接口上。 ### 热端示例[​](#热端示例 "热端示例的直接链接") printer.cfg ``` [extruder] heater_pin: sensor_type: Generic 3950 sensor_pin: min_temp: 0 max_temp: 300 ``` ### 热床示例[​](#热床示例 "热床示例的直接链接") printer.cfg ``` [heater_bed] heater_pin: sensor_type: Generic 3950 sensor_pin: min_temp: 0 max_temp: 120 ``` ### C8P 口位示例[​](#c8p-口位示例 "C8P 口位示例的直接链接") 下面只演示 C8P 常见口位写法。实际使用时请按你接线的热敏口和加热口填写。 C8P 热端示例 ``` [extruder] heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC2 min_temp: 0 max_temp: 300 ``` C8P 热床示例 ``` [heater_bed] heater_pin: PB0 sensor_type: Generic 3950 sensor_pin: PC5 min_temp: 0 max_temp: 120 ``` 传感器型号 常见 `sensor_type` 有 `Generic 3950`、`PT1000` 或其他 Klipper 内置型号。请以热端、热床或传感器标称型号为准,不确定时优先查看产品资料或联系售后确认。 ## PT1000 直连[​](#pt1000-direct "PT1000 直连的直接链接") PT1000 可以直接接到支持 PT1000 的热敏接口。不同主板热敏口使用的上拉(采样)电阻并不相同,不一定是 `1K`,常见有 `4700`、`2200`、`1100`、`1000` 等,请以主板说明或实物为准。部分主板可通过跳线帽切换上拉电阻。 下面示例以 `1K` 上拉的主板为例,`pullup_resistor` 必须按你的主板实际电阻修改: PT1000 直连示例(1K 上拉主板) ``` [extruder] heater_pin: sensor_type: PT1000 sensor_pin: pullup_resistor: 1000 min_temp: 0 max_temp: 350 ``` 上拉电阻 * `pullup_resistor` 必须按主板热敏口的实际上拉电阻填写,常见有 `4700`、`2200`、`1100`、`1000` 等,没有统一数值,请先查看主板说明或联系售后确认。 * 如果主板热敏口就是默认 `4.7K` 上拉,可不写 `pullup_resistor`,Klipper 默认按 `4700` 处理。 * 带跳线帽的主板,跳线状态和配置必须一致,否则温度会明显偏高、偏低或触发 `ADC out of range`。 ## MAX31865 配置[​](#max31865-配置 "MAX31865 配置的直接链接") MAX31865 用于读取 RTD 铂电阻温度传感器,常见分为 PT100 和 PT1000 两类。此方式不使用普通热敏 ADC 引脚,而是使用 SPI 通信和片选引脚。 | 传感器 | 常见写法 | 参考电阻示例 | 说明 | | ------ | --------------------- | ----------------------- | ------------------------ | | PT100 | `rtd_nominal_r: 100` | `rtd_reference_r: 430` | 探头标称电阻为 100 欧姆 | | PT1000 | `rtd_nominal_r: 1000` | `rtd_reference_r: 4300` | 探头标称电阻为 1000 欧姆 | 先确认类型 PT100、PT1000 和 K 型热电偶不是同一种传感器。MAX31865 只用于 PT100/PT1000 这类 RTD 铂电阻传感器,不用于 K 型热电偶。 ### PT100 示例[​](#pt100-示例 "PT100 示例的直接链接") PT100 + MAX31865 ``` [extruder] heater_pin: sensor_type: MAX31865 sensor_pin: spi_bus: rtd_nominal_r: 100 rtd_reference_r: 430 rtd_num_of_wires: 2 min_temp: 0 max_temp: 350 ``` ### PT1000 示例[​](#pt1000-示例 "PT1000 示例的直接链接") PT1000 + MAX31865 ``` [extruder] heater_pin: sensor_type: MAX31865 sensor_pin: spi_bus: rtd_nominal_r: 1000 rtd_reference_r: 4300 rtd_num_of_wires: 2 min_temp: 0 max_temp: 350 ``` MAX31865 注意事项 * MAX31865 只能按对应板卡支持的 PT100 / PT1000 接法使用,不要把普通 NTC 热敏电阻接到 MAX31865。 * `sensor_pin` 是 MAX31865 的片选引脚,不是普通热敏 ADC 引脚。 * `rtd_num_of_wires` 应按实际探头线数填写,常见为 `2`、`3` 或 `4`。 * 带拨码或跳线的板卡必须按产品文档设置 PT100/PT1000 和线制,否则温度读数会异常。 ## K 型热电偶配置[​](#k-型热电偶配置 "K 型热电偶配置的直接链接") K 型热电偶需要搭配对应热电偶转换芯片,不能直接接到普通热敏接口,也不能接到 MAX31865 的 PT100/PT1000 接口。常见配置使用 SPI: K 型热电偶示例 ``` [extruder] heater_pin: sensor_type: MAX31856 sensor_pin: spi_bus: tc_type: K min_temp: 0 max_temp: 500 ``` 如果使用其他 K 型热电偶转换芯片,请把 `sensor_type` 改为实际芯片型号,例如 `MAX6675`、`MAX31855` 或 `MAX31856`,并按模块说明配置 SPI。`tc_type: K` 表示当前探头为 K 型热电偶。 高温配置 只有在热端、加热棒、热敏、喷嘴、热端固定结构和线材都支持高温时,才可以提高 `max_temp`。不要为了消除报错而随意把 `max_temp` 设置到远高于硬件能力的数值。 ## 独立温度显示[​](#独立温度显示 "独立温度显示的直接链接") 如果只想显示温度,不需要控制加热器,可以使用 `[temperature_sensor xxx]`。 ### 仓温 / 环境温度[​](#仓温--环境温度 "仓温 / 环境温度的直接链接") 仓温示例 ``` [temperature_sensor chamber] sensor_type: Generic 3950 sensor_pin: min_temp: 0 max_temp: 100 ``` ### 主板温度[​](#主板温度 "主板温度的直接链接") MCU 温度示例 ``` [temperature_sensor MCU] sensor_type: temperature_mcu min_temp: 0 max_temp: 100 ``` ### 上位机温度[​](#上位机温度 "上位机温度的直接链接") Host 温度示例 ``` [temperature_sensor Host] sensor_type: temperature_host min_temp: 0 max_temp: 100 ``` 显示名称 `[temperature_sensor chamber]` 中的 `chamber` 是前端显示名称,可以按实际用途改成 `box`、`toolboard`、`host` 等。名称不要与已有配置段重复。 ## 常用热敏与自定义热敏[​](#常用热敏与自定义热敏 "常用热敏与自定义热敏的直接链接") ### Klipper 内置 sensor\_type[​](#builtin-sensor-type "Klipper 内置 sensor_type的直接链接") 以下 `sensor_type` 已在 Klipper 中内置,直接填写即可使用,不需要自定义 `[thermistor xxx]`: | sensor\_type | 标称电阻 | 定义方式 | 常见用途 | | ------------ | ------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------- | | Loading... | 100K @ 25°C | 三点法 | FLY 主板热端 / 热床默认配置,常规 PLA/ABS 等打印场景 | | Loading... | 100K @ 20°C | 三点法 | 高温热端、E3D 类热端配套热敏 | | Loading... | 100K @ 25°C | 三点法 | 热端 / 热床通用,常见于通用型 NTC 替换件 | | Loading... | 100K @ 25°C | B 值 4100 | 硅胶加热垫、热床配套热敏 | | Loading... | 500K @ 25°C | 三点法 | 高温热端(450°C 级测温),需确认整套热端耐温 | | Loading... | 100K @ 25°C | 三点法 | 热端 / 热床,常见贴片式 NTC 替换件 | | Loading... | 100K @ 25°C | B 值 3974 | 热端 / 热床通用 | | Loading... | 100K @ 25°C | 三点法 | 热端,小尺寸封装热敏 | | Loading... | 1000 Ω @ 0°C | 铂电阻 RTD | 高精度热端;`pullup_resistor` 需按主板实际上拉电阻填写(常见 `4700`、`2200`、`1100`、`1000` 等),见上方 [PT1000 直连](#pt1000-direct) | 选择建议 * FLY 主板出厂配置通常使用 `Generic 3950`,更换热敏前先确认原始型号。 * 如果使用 E3D 类高温热端或配套热敏,常见为 `ATC Semitec 104GT-2`。 * 不确定型号时,优先查看产品资料或联系售后确认,不要随意更换 `sensor_type`。 ### 自定义热敏[​](#自定义热敏 "自定义热敏的直接链接") 如果传感器不在上方内置列表中,可以用 `[thermistor xxx]` 定义自定义热敏曲线。 放置位置 `[thermistor xxx]` 必须写在引用它的配置段上方,也就是写在对应 `[extruder]`、`[heater_bed]`、`[temperature_sensor xxx]` 或 `[heater_generic xxx]` 之前。 自定义热敏常见有两种写法: | 资料类型 | 推荐写法 | 说明 | | ------------------- | -------- | -------------------------------------- | | 有多个温度/电阻点 | 三点法 | 优先使用,温度曲线更接近实际传感器 | | 只有标称电阻和 B 值 | B 值法 | 写法更简单,但高温段精度可能不如三点法 | ### 三点法示例[​](#三点法示例 "三点法示例的直接链接") 下面以 `ATC Semitec 104GT-2` 的参数为例,演示三点法自定义热敏的写法。先定义 `[thermistor semitec_104gt2]`,再在 `[extruder]` 中使用: ATC Semitec 104GT-2 三点法 ``` [thermistor semitec_104gt2] temperature1: 20 resistance1: 126800 temperature2: 150 resistance2: 1360 temperature3: 300 resistance3: 80.65 [extruder] heater_pin: sensor_type: semitec_104gt2 sensor_pin: min_temp: 0 max_temp: 300 ``` 下面以 `EPCOS 100K B57560G104F` 的参数为例: EPCOS 100K B57560G104F 三点法 ``` [thermistor epcos_100k] temperature1: 25 resistance1: 100000 temperature2: 150 resistance2: 1641.9 temperature3: 250 resistance3: 226.15 [extruder] heater_pin: sensor_type: epcos_100k sensor_pin: min_temp: 0 max_temp: 300 ``` 三点选取 三点应尽量覆盖常用打印温度范围,例如室温、中温和最高常用温度附近。如果规格书提供温度/电阻表,优先从表中选取三个点。 ### B 值法[​](#b-值法 "B 值法的直接链接") 如果厂家只提供标称电阻和 B 值,可以使用 `temperature1`、`resistance1` 和 `beta` 的方式定义: 100K B3950 B 值法 ``` [thermistor ntc_100k_b3950] temperature1: 25 resistance1: 100000 beta: 3950 [extruder] heater_pin: sensor_type: ntc_100k_b3950 sensor_pin: min_temp: 0 max_temp: 300 ``` 100K B4500 B 值法 ``` [thermistor ntc_100k_b4500] temperature1: 25 resistance1: 100000 beta: 4500 [extruder] heater_pin: sensor_type: ntc_100k_b4500 sensor_pin: min_temp: 0 max_temp: 350 ``` ### 高温热敏配置[​](#高温热敏配置 "高温热敏配置的直接链接") 以下高温热敏参数来自 Marlin 固件源码中经厂家规格书验证的热敏表,适用于需要超过 300°C 测温的高温热端。使用前请确认热端、加热棒、喷嘴和线材均支持对应温度。 ATC Semitec 204GT-2(200K / 300°C) ``` # R25 = 200K, B25 = 4338, 4.7K 上拉 # 来源:Marlin thermistor_2.h,经 Mouser 厂家规格书验证 [thermistor semitec_204gt2] temperature1: 25 resistance1: 200000 temperature2: 150 resistance2: 2520 temperature3: 300 resistance3: 142 [extruder] heater_pin: sensor_type: semitec_204gt2 sensor_pin: min_temp: 0 max_temp: 300 ``` 204GT-2 说明 * 200K 标称电阻在高温段阻值更高,相比 100K 热敏在 250°C 以上有更好的 ADC 分辨率。 * 适合 300°C 级高温热端,如 PEI、PC、PA 等高温耗材打印场景。 * 使用标准 4.7 kΩ 上拉即可,无需更换上拉电阻。 Formbot / Vivedino 100K B3950 高温版(350°C) ``` # R25 = 100K, B25/50 = 3950, 4.7K 上拉 # 来源:Marlin thermistor_61.h,100KR13950181203 [thermistor formbot_3950_350] temperature1: 25 resistance1: 100000 temperature2: 150 resistance2: 509 temperature3: 300 resistance3: 63.5 [extruder] heater_pin: sensor_type: formbot_3950_350 sensor_pin: min_temp: 0 max_temp: 350 ``` 100K 高温精度限制 100K 热敏在 300°C 时阻值仅约 63 Ω,与 4.7 kΩ 上拉差距极大,高温段 ADC 分辨率较低。如果需要长期在 300°C 以上打印,建议优先选用 200K(204GT-2)或 500K(SliceEngineering 450)热敏。 Dyze Design 2.5M B4500(500°C) ``` # R25 = 2.5M, B25 = 4500, 需配合大阻值上拉 # 来源:Marlin thermistor_66.h 注释参数 [thermistor dyze_500] temperature1: 25 resistance1: 2500000 beta: 4500 [extruder] heater_pin: sensor_type: dyze_500 sensor_pin: pullup_resistor: 470000 min_temp: 0 max_temp: 500 ``` 2.5M 热敏上拉要求 * 2.5MΩ 标称电阻在室温下远大于标准 4.7 kΩ 上拉,使用默认上拉时低温段 ADC 几乎饱和,无法准确测温。 * 必须配合 470 kΩ 或更大上拉电阻,并在配置中设置 `pullup_resistor: 470000`。 * 如果主板或工具板不支持更换上拉电阻,不要使用此热敏,改用 PT1000 + MAX31865 或 K 型热电偶方案。 * 500°C 级别测温请同时确认加热棒、喷嘴、热端结构和线材均满足耐温要求。 高温方案选择 | 目标温度 | 推荐方案 | 说明 | | -------------- | ---------------------- | ------------------------------------------------------------- | | ≤ 300°C | Loading...或Loading... | 标准配置即可 | | 300°C \~ 350°C | Loading... | 需先添加本页对应自定义 `[thermistor]` 配置 | | 350°C \~ 450°C | Loading... | Klipper 内置,直接填写 sensor\_type | | 450°C \~ 500°C | Loading...或Loading... | 需先添加本页对应自定义 `[thermistor]` 配置,或使用 K 型热电偶 | | 500°C 以上 | Loading... | NTC 热敏不适用 | ### 三点法通用模板[​](#三点法通用模板 "三点法通用模板的直接链接") 如果手上有规格书但没有现成参数,可以按下方模板填写: 三点法模板 ``` [thermistor my_custom_thermistor] temperature1: 25 resistance1: temperature2: 150 resistance2: temperature3: 250 resistance3: [extruder] heater_pin: sensor_type: my_custom_thermistor sensor_pin: min_temp: 0 max_temp: 300 ``` 高温热敏限制 `max_temp` 只能按热端、加热棒、热敏、喷嘴和线材的实际耐温能力设置。高温 NTC 配置能读取更高温度,不代表整套热端都可以安全加热到该温度。 ## 修改后检查[​](#修改后检查 "修改后检查的直接链接") 保存配置并重启 Klipper 后,请按下面顺序检查: 1. 查看前端温度是否接近室温。 2. 如果显示 `ADC out of range`、极高温、极低温或负温,先停止加热,断电后检查插头、线材和传感器类型。 3. 确认 `sensor_pin` 没有被其他功能重复占用。 4. 确认 `sensor_type`、`pullup_resistor`、`rtd_nominal_r`、`rtd_reference_r` 与实际硬件一致。 5. 热端或热床传感器更换后,重新执行 PID 校准并保存结果。 常见温度与加热报错请参考:[温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude)。 --- # VORON Trident 参考配置 使用前必看 * 本页面为 VORON Trident 的 Klipper 参考配置模板,不是直接可用的成品配置。 * `serial`、`canbus_uuid`、所有引脚、热敏型号、行程、限位方向、电机方向都必须按实际硬件修改。 * 首次上电调试时请先使用 `STEPPER_BUZZ` 检查每个电机,不要直接执行整机归位或 Z 倾斜调平。 ## 适用范围[​](#适用范围 "适用范围的直接链接") | 结构 | 说明 | | -------------- | ---------------------------------- | | VORON Trident | CoreXY 固定龙门、三 Z 热床结构 | | 三 Z 调平 | 示例包含 `z_tilt` 相关配置 | | FLY-Super8-Pro | 原配置以 FLY-Super8-Pro 为示例主板 | ## 需要先修改的内容[​](#需要先修改的内容 "需要先修改的内容的直接链接") | 项目 | 位置 | 说明 | | --------- | ------------------------------------------- | ------------------------------------------------- | | 主板 ID | `[mcu]` | USB 固件使用 `serial`,CAN 固件使用 `canbus_uuid` | | 文件调用 | `[include]` | 按实际前端选择 `fluidd.cfg` 或 `mainsail.cfg` | | 机器尺寸 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | 按 250 / 300 / 350 或自定义尺寸修改 | | 三 Z 位置 | `[z_tilt]` | 按机器尺寸修改调平点和 Z 电机位置 | | 电机方向 | `dir_pin` | 方向反了就在对应引脚前添加或删除 `!` | | 限位方式 | `endstop_pin` | 物理限位、无限位、Probe 三种方式不要混用 | | 驱动型号 | `[tmc2209]` / `[tmc5160]` | 必须与实际驱动一致,未使用的驱动段请删除或注释 | | 热敏型号 | `[extruder]`、`[heater_bed]` | 按热端和热床实际传感器填写 | | PID 参数 | `[extruder]`、`[heater_bed]` | 首次调试完成后执行 PID 校准并保存 | ## 调试顺序[​](#调试顺序 "调试顺序的直接链接") 1. 修改 `[mcu]`,确认 Klipper 能连接主板。 2. 检查热端、热床、主板和上位机温度显示是否正常。 3. 使用 `STEPPER_BUZZ` 分别检查 X/Y/Z0/Z1/Z2/挤出机电机方向。 4. 使用 `QUERY_ENDSTOPS` 检查限位或 Probe 状态。 5. 低速执行 `G28 X`、`G28 Y`、`G28 Z`,确认单轴归位正常。 6. 确认三个 Z 电机方向正确后,再执行 `Z_TILT_ADJUST`。 7. 执行热端和热床 PID 校准。 8. 校准挤出机 `rotation_distance`。 9. 完成 Z 偏移、热床网格、共振补偿和压力提前校准。 ## 完整参考配置[​](#完整参考配置 "完整参考配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件。 #[include mainsail.cfg] # MAINSAIL调用文件。 #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: xxxxxxxxxxxx ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等。笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重量带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: # X轴电机脉冲引脚设置 dir_pin: # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: # SPI 片选Pin脚定义 # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI ## spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: # Y轴电机脉冲引脚设置 dir_pin: # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100,归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: # SPI 片选Pin脚定义 # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver3 [stepper_z] step_pin: # Z轴电机脉冲引脚设置 dir_pin: # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠。旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改,总共需要修改3处 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) position_endstop: -0.5 ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: # SPI 片选Pin脚定义 # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: # z1轴电机脉冲引脚设置 dir_pin: # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠。旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: # SPI 片选Pin脚定义 # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方 on Driver5 [stepper_z2] step_pin: # z2轴电机脉冲引脚设置 dir_pin: # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠。旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: # SPI 片选Pin脚定义 # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: # 挤出电机脉冲引脚 dir_pin: # 挤出电机方向引脚设置 enable_pin: # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: # 传感器引脚,连接到 ADC_0 min_temp: 10 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 压力提前-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.5 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: # SPI 片选Pin脚定义 # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #stealthchop_threshold: 500 # 静音阀值(如果不需要静音,请将数值改为0) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: # 热床传感器接口 max_power: 0.5 # 热床功率 min_temp: 0 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头安装位置不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤。 G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略测量的是你床中间的位置。 #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### # 如需使用 FLY-Mini 12864 LCD,请按实际主板手册填写 [board_pins] aliases。 # [board_pins] # aliases: # 按实际主板填写 #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: # 显示屏片选cs引脚设置 #a0_pin: # 显示屏数据a0引脚设置 #rst_pin: # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: # 旋转编码器(旋钮开关)引脚设置 #click_pin: # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # VORON 0.2 参考配置 使用前必看 * 本页面为 VORON 0.2 的 Klipper 参考配置模板,不是直接可用的成品配置。 * `serial`、`canbus_uuid`、所有引脚、热敏型号、行程、限位方向、电机方向都必须按实际硬件修改。 * 首次上电调试时请先使用 `STEPPER_BUZZ` 检查每个电机,不要直接执行整机归位。 ## 适用范围[​](#适用范围 "适用范围的直接链接") | 结构 | 说明 | | ----------------- | ----------------------------------------- | | VORON 0.2 | 小尺寸 CoreXY 结构 | | 单 Z 结构 | 示例以单 Z 配置为主 | | 物理限位 / 无限位 | 示例中保留了物理限位与 TMC 无限位参考写法 | ## 需要先修改的内容[​](#需要先修改的内容 "需要先修改的内容的直接链接") | 项目 | 位置 | 说明 | | ---------- | ------------------------------------------- | ------------------------------------------------- | | 主板 ID | `[mcu]` | USB 固件使用 `serial`,CAN 固件使用 `canbus_uuid` | | 上位机用户 | `[virtual_sdcard]` | 将 `/home/fly` 中的 `fly` 改为实际用户名 | | 机器尺寸 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | 按实际打印范围修改 `position_max` | | 电机方向 | `dir_pin` | 方向反了就在对应引脚前添加或删除 `!` | | 限位方式 | `endstop_pin` | 物理限位和无限位只能选择一种写法 | | 驱动型号 | `[tmc2209]` / `[tmc5160]` | 必须与实际驱动一致,未使用的驱动段请删除或注释 | | 热敏型号 | `[extruder]`、`[heater_bed]` | 按热端和热床实际传感器填写 | | PID 参数 | `[extruder]`、`[heater_bed]` | 首次调试完成后执行 PID 校准并保存 | ## 调试顺序[​](#调试顺序 "调试顺序的直接链接") 1. 修改 `[mcu]`,确认 Klipper 能连接主板。 2. 检查热端、热床、主板和上位机温度显示是否正常。 3. 使用 `STEPPER_BUZZ` 分别检查 X/Y/Z/挤出机电机方向。 4. 使用 `QUERY_ENDSTOPS` 检查限位状态。 5. 低速执行 `G28 X`、`G28 Y`、`G28 Z`,确认单轴归位正常。 6. 执行热端和热床 PID 校准。 7. 校准挤出机 `rotation_distance`。 8. 完成 Z 偏移、热床网格和压力提前校准。 ## 完整参考配置[​](#完整参考配置 "完整参考配置的直接链接") ``` ##################################################################### # Items to be changed/checked ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # file invocation ##################################################################### ### 当您使用fluidd或者mainsail作为前端时,请删除#[include XXX.cfg]前面的#. ### When using fluidd or mainsail as the frontend, remove the '#' before #[include XXX.cfg]. [include fluidd.cfg] #[include mainsail.cfg] ### 下面/home/fly中的fly需要替换成你的上位机用户,请注意不是ROOT用户 ### Replace 'fly' in /home/fly with your host computer username, ensuring it's not the ROOT user. [virtual_sdcard] path: /home/fly/printer_data/gcodes on_error_gcode: CANCEL_PRINT ##################################################################### # Master ID Configuration ##################################################################### [mcu] serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 ### 使用ls /dev/serial/by-id/*查找USB固件ID,并将 ### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00替换为您发现的ID. ### Find the USB firmware ID with: ls /dev/serial/by-id/* and replace ### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 with the ID you discover. #canbus_uuid: xxxxxxxxxxxx ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial: 替换成canbus_uuid: 后面添加id ### Query the CAN firmware ID with: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### Replace 'serial:' in the CAN ID with 'canbus_uuid:', then append the ID. ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor motherboard] sensor_type: temperature_mcu [temperature_sensor Raspberry Pi] sensor_type: temperature_host ##################################################################### # Model and acceleration ##################################################################### [printer] kinematics: corexy max_velocity: 200 max_accel: 2000 max_z_velocity: 15 max_z_accel: 300 square_corner_velocity: 6.0 ##################################################################### # X/Y Stepper Settings ##################################################################### [stepper_x] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: dir_pin: # Check motor direction in link above. If inverted, add a ! before the actual pin enable_pin:! rotation_distance: 40 microsteps: 32 full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors endstop_pin: # endstop_pin: tmc2209_stepper_x:virtual_endstop # endstop_pin: tmc5160_stepper_x:virtual_endstop position_min: 0 position_endstop: 120 position_max: 120 homing_speed: 40 # for sensorless homing it is recommended not to go above 40mm/s homing_retract_dist: 0 homing_positive_dir: true [tmc2209 stepper_x] uart_pin: interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle diag_pin: ^ driver_SGTHRS: 80 [tmc5160 stepper_x] cs_pin: ### spi_bus与spi_software只能使用其中一个 ### spi_bus and spi_software can only use one of them. # spi_bus: spi_software_mosi_pin: spi_software_miso_pin: spi_software_sclk_pin: run_current: 1.0 interpolate: False ### 驱动采样电阻需要按着驱动来修改 ### The driver sampling resistor needs to be modified according to the driver sense_resistor: 0.075 stealthchop_threshold: 0 diag0_pin: ^! driver_SGT: 1 [stepper_y] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: dir_pin: # Check motor direction in link above. If inverted, add a ! before the actual pin enable_pin:! rotation_distance: 40 microsteps: 32 full_steps_per_rotation: 200 endstop_pin: # endstop_pin: tmc2209_stepper_y:virtual_endstop # endstop_pin: tmc5160_stepper_y:virtual_endstop position_min: 0 position_endstop: 120 position_max: 120 homing_speed: 40 homing_retract_dist: 0 homing_positive_dir: true [tmc2209 stepper_y] uart_pin: interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 diag_pin: ^ driver_SGTHRS: 80 [tmc5160 stepper_y] cs_pin: ### spi_bus与spi_software只能使用其中一个 ### spi_bus and spi_software can only use one of them. # spi_bus: spi_software_mosi_pin: spi_software_miso_pin: spi_software_sclk_pin: run_current: 1.0 interpolate: False ### 驱动采样电阻需要按着驱动来修改 ### The driver sampling resistor needs to be modified according to the driver sense_resistor: 0.075 stealthchop_threshold: 0 diag0_pin: ^! driver_SGT: 1 ##################################################################### # Z Stepper Settings ##################################################################### [stepper_z] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: dir_pin:! # Check motor direction in link above. If inverted, add a ! before the actual pin enable_pin: ! rotation_distance: 8 # For T8x8 integrated lead screw microsteps: 32 endstop_pin: position_endstop: 120 position_max: 120 position_min: -1.5 homing_speed: 20 second_homing_speed: 3.0 homing_retract_dist: 3.0 [tmc2209 stepper_z] uart_pin: interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### [extruder] ## Type of sensor # common thermistors are (Generic 3950, ATC Semitec 104GT#2) ## 传感器类型#常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT#2) sensor_type: ATC Semitec 104GT-2 sensor_pin: ##################################################################### ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # pullup_resistor: 1100 # sensor_pin: ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin: dir_pin: enable_pin: ! rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin: min_temp: -50 max_temp: 300 max_power: 1.0 min_extrude_temp: 150 pressure_advance: 0.05 ##Pressure in advance ##压力提前 ##https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 # 喷嘴温度PID校准命令: PID_CALIBRATE HEATER=extruder TARGET=245 # Calibrate the nozzle temperature PID command : PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 [tmc2209 extruder] uart_pin: uart_address:3 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Bed Heater ##################################################################### [heater_bed] heater_pin: ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common#thermistors for common thermistor types. ## Use "Generic 3950" for Keenovo heaters sensor_type: sensor_pin: max_power: 1.0 min_temp: -50 max_temp: 120 # 热床温度PID校准命令: PID_CALIBRATE HEATER=heater_bed TARGET=100 # Calibrate the heated bed temperature PID command: PID_CALIBRATE HEATER=heater_bed TARGET=100 control:watermark ##################################################################### # Fan Control ##################################################################### [fan] pin: max_power: 1.0 kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start off_below: 0.13 cycle_time: 0.010 ##################################################################### [heater_fan hotend_fan] pin: max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 ##################################################################### # Filament Runout Sensor ##################################################################### #[filament_switch_sensor Filament_Runout_Sensor] #pause_on_runout: True #runout_gcode: PAUSE #switch_pin: ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### ### 只能使用safe_z_home或homing_override中的一个 ### You can only use either safe_z_home or homing_override #[safe_z_home] Only needed if you are using V0.0 or V0.1 Z endstop location #home_xy_position: 120,120 #speed: 50.0 #z_hop: 5 [homing_override] axes: xyz set_position_z: 0 gcode: G90 G0 Z5 F600 {% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %} {% if home_all or 'X' in params %} _HOME_X {% endif %} {% if home_all or 'Y' in params %} _HOME_Y {% endif %} {% if home_all or 'Z' in params %} _HOME_Z {% endif %} ## To be used with BED_SCREWS_ADJUST [bed_screws] screw1: 60,5 screw1_name: front screw screw2: 5,115 screw2_name: back left screw3: 115,115 screw3_name: back right Probe_height: 0.1 ##################################################################### # Neopixel ##################################################################### [neopixel board_rgb] pin: chain_count: 1 color_order: GRB initial_RED: 0.0 initial_GREEN: 0.1 initial_BLUE: 0.0 ##################################################################### # V0 Display ##################################################################### # [mcu display] # serial: # restart_method: command # [display] # lcd_type: sh1106 # i2c_mcu: display # i2c_bus: i2c1a # # Set the direction of the encoder wheel # # Standard: Right (clockwise) scrolls down or increases values. Left (counter-clockwise scrolls up or decreases values.) # encoder_pins: # # Reversed: Right (clockwise) scrolls up or decreases values. Left (counter-clockwise scrolls down or increases values.) # #encoder_pins: # click_pin: # kill_pin: # #x_offset: 2 # # Use X offset to shift the display towards the right. Value can be 0 to 3 # #vcomh: 0 # # Set the Vcomh value on SSD1306/SH1106 displays. This value is # # associated with a "smearing" effect on some OLED displays. The # # value may range from 0 to 63. Default is 0. # # Adjust this value if you get some vertical stripes on your display. (31 seems to be a good value) # [neopixel displayStatus] # pin: # chain_count: 1 # color_order: GRB # initial_RED: 0.2 # initial_GREEN: 0.05 # initial_BLUE: 0 ##################################################################### # Macros ##################################################################### [idle_timeout] ### 如果空闲超过30分钟,则关闭加热床。 ### If idle for more than 30 minutes, heated bed will be turned off. timeout: 1800 [gcode_macro PRINT_START] # Use PRINT_START for the slicer starting script - please customize for your slicer of choice gcode: G28 ; home all axes G90 ; absolute positioning G1 Z20 F3000 ; move nozzle away from bed [gcode_macro PRINT_END] # Use PRINT_END for the slicer ending script - please customize for your slicer of choice gcode: M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-4.0 F3600 ; retract filament G91 ; relative positioning # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe direction to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} G0 Z{z_safe} F3600 ; move nozzle up G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing TURN_OFF_HEATERS M107 ; turn off fan G90 ; absolute positioning G0 X60 Y{max_y-10} F3600 ; park nozzle at rear [gcode_macro LOAD_FILAMENT] gcode: M83 ; set extruder to relative G1 E30 F300 ; load G1 E15 F150 ; prime nozzle with filament M82 ; set extruder to absolute [gcode_macro UNLOAD_FILAMENT] gcode: M83 ; set extruder to relative G1 E10 F300 ; extrude a little to soften tip G1 E-40 F1800 ; retract some, but not too much or it will jam M82 ; set extruder to absolute [gcode_macro _HOME_X] gcode: # Always use consistent run_current on A/B steppers during sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y} # Home G28 X # Move away G91 G1 X-10 F1200 # Wait for StallGuard registers to clear M400 G90 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y} [gcode_macro _HOME_Y] gcode: # Set current for sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y} # Home G28 Y # Move away G91 G1 Y-10 F1200 # Wait for StallGuard registers to clear M400 G90 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y} [gcode_macro _HOME_Z] gcode: G90 G28 Z G1 Z30 ``` --- # VORON 2.4 参考配置 使用前必看 * 本页面为 VORON 2.4 的 Klipper 参考配置模板,不是直接可用的成品配置。 * `serial`、`canbus_uuid`、所有引脚、热敏型号、行程、限位方向、电机方向都必须按实际硬件修改。 * 首次上电调试时请先使用 `STEPPER_BUZZ` 检查每个电机,不要直接执行整机归位或龙门调平。 ## 适用范围[​](#适用范围 "适用范围的直接链接") | 结构 | 说明 | | ----------------- | ----------------------------------------- | | VORON 2.4 | CoreXY 固定热床、四 Z 龙门结构 | | 四 Z 调平 | 示例包含 `quad_gantry_level` 相关配置 | | 物理限位 / 无限位 | 示例中保留了物理限位与 TMC 无限位参考写法 | ## 需要先修改的内容[​](#需要先修改的内容 "需要先修改的内容的直接链接") | 项目 | 位置 | 说明 | | ---------- | ------------------------------------------- | ------------------------------------------------- | | 主板 ID | `[mcu]` | USB 固件使用 `serial`,CAN 固件使用 `canbus_uuid` | | 上位机用户 | `[virtual_sdcard]` | 将 `/home/fly` 中的 `fly` 改为实际用户名 | | 机器尺寸 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | 按 250 / 300 / 350 或自定义尺寸修改 | | 四 Z 位置 | `[quad_gantry_level]` | 按机器尺寸修改 `gantry_corners` 和 `points` | | 电机方向 | `dir_pin` | 方向反了就在对应引脚前添加或删除 `!` | | 限位方式 | `endstop_pin` | 物理限位、无限位、Probe 三种方式不要混用 | | 驱动型号 | `[tmc2209]` / `[tmc5160]` | 必须与实际驱动一致,未使用的驱动段请删除或注释 | | 热敏型号 | `[extruder]`、`[heater_bed]` | 按热端和热床实际传感器填写 | | PID 参数 | `[extruder]`、`[heater_bed]` | 首次调试完成后执行 PID 校准并保存 | ## 调试顺序[​](#调试顺序 "调试顺序的直接链接") 1. 修改 `[mcu]`,确认 Klipper 能连接主板。 2. 检查热端、热床、主板和上位机温度显示是否正常。 3. 使用 `STEPPER_BUZZ` 分别检查 X/Y/Z0/Z1/Z2/Z3/挤出机电机方向。 4. 使用 `QUERY_ENDSTOPS` 检查限位或 Probe 状态。 5. 低速执行 `G28 X`、`G28 Y`、`G28 Z`,确认单轴归位正常。 6. 确认四个 Z 电机方向正确后,再执行 `QUAD_GANTRY_LEVEL`。 7. 执行热端和热床 PID 校准。 8. 校准挤出机 `rotation_distance`。 9. 完成 Z 偏移、热床网格、共振补偿和压力提前校准。 ## 完整参考配置[​](#完整参考配置 "完整参考配置的直接链接") ``` ##################################################################### # Items to be changed/checked ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # file invocation ##################################################################### ### 当您使用fluidd或者mainsail作为前端时,请删除#[include XXX.cfg]前面的#. ### When using fluidd or mainsail as the frontend, remove the '#' before #[include XXX.cfg]. [include fluidd.cfg] #[include mainsail.cfg] ### 下面/home/fly中的fly需要替换成你的上位机用户,请注意不是ROOT用户 ### Replace 'fly' in /home/fly with your host computer username, ensuring it's not the ROOT user. [virtual_sdcard] path: /home/fly/printer_data/gcodes on_error_gcode: CANCEL_PRINT ##################################################################### # Master ID Configuration ##################################################################### [mcu] serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 ### 使用ls /dev/serial/by-id/*查找USB固件ID,并将 ### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00替换为您发现的ID. ### Find the USB firmware ID with: ls /dev/serial/by-id/* and replace ### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 with the ID you discover. #canbus_uuid: xxxxxxxxxxxx ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial: 替换成canbus_uuid: 后面添加id ### Query the CAN firmware ID with: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### Replace 'serial:' in the CAN ID with 'canbus_uuid:', then append the ID. ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor motherboard] sensor_type: temperature_mcu [temperature_sensor Raspberry Pi] sensor_type: temperature_host ##################################################################### # Model and acceleration ##################################################################### [printer] kinematics: corexy max_velocity: 300 max_accel: 2000 max_z_velocity: 15 max_z_accel: 300 square_corner_velocity: 6.0 ##################################################################### # X/Y Stepper Settings ##################################################################### [stepper_x] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: dir_pin: # Check motor direction in link above. If inverted, add a ! before the actual pin enable_pin:! rotation_distance: 40 microsteps: 32 full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors endstop_pin: # endstop_pin: tmc2209_stepper_x:virtual_endstop # endstop_pin: tmc5160_stepper_x:virtual_endstop position_min: 0 position_endstop: 300 # (250mm-300mm-350mm) position_max: 300 # (250mm-300mm-350mm) homing_speed: 40 # for sensorless homing it is recommended not to go above 40mm/s homing_retract_dist: 0 homing_positive_dir: true [tmc2209 stepper_x] uart_pin: interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle diag_pin: ^ driver_SGTHRS: 80 [tmc5160 stepper_x] cs_pin: ### spi_bus与spi_software只能使用其中一个 ### spi_bus and spi_software can only use one of them. # spi_bus: spi_software_mosi_pin: spi_software_miso_pin: spi_software_sclk_pin: run_current: 1.0 interpolate: False ### 驱动采样电阻需要按着驱动来修改 ### The driver sampling resistor needs to be modified according to the driver sense_resistor: 0.075 stealthchop_threshold: 0 diag0_pin: ^! driver_SGT: 1 [stepper_y] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: dir_pin: # Check motor direction in link above. If inverted, add a ! before the actual pin enable_pin:! rotation_distance: 40 microsteps: 32 full_steps_per_rotation: 200 endstop_pin: # endstop_pin: tmc2209_stepper_y:virtual_endstop # endstop_pin: tmc5160_stepper_y:virtual_endstop position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 40 homing_retract_dist: 0 homing_positive_dir: true [tmc2209 stepper_y] uart_pin: interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 diag_pin: ^ driver_SGTHRS: 80 [tmc5160 stepper_y] cs_pin: ### spi_bus与spi_software只能使用其中一个 ### spi_bus and spi_software can only use one of them. # spi_bus: spi_software_mosi_pin: spi_software_miso_pin: spi_software_sclk_pin: run_current: 1.0 interpolate: False ### 驱动采样电阻需要按着驱动来修改 ### The driver sampling resistor needs to be modified according to the driver sense_resistor: 0.075 stealthchop_threshold: 0 diag0_pin: ^! driver_SGT: 1 ##################################################################### # Z Stepper Settings ##################################################################### [stepper_z] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: dir_pin:! # Check motor direction in link above. If inverted, add a ! before the actual pin enable_pin: ! rotation_distance: 8 microsteps: 32 endstop_pin: ^ # endstop_pin: probe:z_virtual_endstop position_endstop:-0.5 position_max: 270 position_min: -15 homing_speed: 20 second_homing_speed: 3.0 homing_retract_dist: 3.0 [tmc2209 stepper_z] uart_pin: interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 [stepper_z1] step_pin: dir_pin: enable_pin: ! rotation_distance: 40 gear_ratio: 80:16 full_steps_per_rotation: 200 microsteps: 16 [tmc2209 stepper_z1] uart_pin: interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ## Z2 步进电机 - 右后方 on Driver5 [stepper_z2] step_pin: dir_pin: enable_pin:! rotation_distance: 40 gear_ratio: 80:16 full_steps_per_rotation: 200 microsteps: 16 [tmc2209 stepper_z2] uart_pin: interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 [stepper_z3] step_pin: dir_pin: enable_pin: ! rotation_distance: 40 gear_ratio: 80:16 full_steps_per_rotation: 200 microsteps: 16 [tmc2209 stepper_z3] uart_pin: interpolate: false run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### [extruder] ## Type of sensor # common thermistors are (Generic 3950, ATC Semitec 104GT#2) ## 传感器类型#常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT#2) sensor_type: ATC Semitec 104GT-2 sensor_pin: ##################################################################### ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # pullup_resistor: 1100 # sensor_pin: ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin: dir_pin: enable_pin: ! rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin: min_temp: -50 max_temp: 300 max_power: 1.0 min_extrude_temp: 150 pressure_advance: 0.05 ##Pressure in advance ##压力提前 ##https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 # 喷嘴温度PID校准命令: PID_CALIBRATE HEATER=extruder TARGET=245 # Calibrate the nozzle temperature PID command : PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 [tmc2209 extruder] uart_pin: uart_address:3 interpolate: False run_current: 0.8 sense_resistor: 0.110 stealthchop_threshold: 0 ##################################################################### # Bed Heater ##################################################################### [heater_bed] heater_pin: ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common#thermistors for common thermistor types. ## Use "Generic 3950" for Keenovo heaters sensor_type: sensor_pin: max_power: 1.0 min_temp: -50 max_temp: 120 # 热床温度PID校准命令: PID_CALIBRATE HEATER=heater_bed TARGET=100 # Calibrate the heated bed temperature PID command: PID_CALIBRATE HEATER=heater_bed TARGET=100 control:watermark ##################################################################### # Fan Control ##################################################################### [fan] pin: max_power: 1.0 kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start off_below: 0.13 cycle_time: 0.010 ##################################################################### [heater_fan hotend_fan] pin: max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 ##################################################################### # Filament Runout Sensor ##################################################################### #[filament_switch_sensor Filament_Runout_Sensor] #pause_on_runout: True #runout_gcode: PAUSE #switch_pin: ##################################################################### # Probe ##################################################################### ### TAP [probe] pin: x_offset: 0 y_offset: 0 # z_offset: 0 speed: 10.0 samples: 3 samples_result: median sample_retract_dist: 4.0 samples_tolerance: 0.006 samples_tolerance_retries: 3 ### EDDY # [probe_eddy_current fly_eddy_probe] # sensor_type: ldc1612 # z_offset: 0.8 # i2c_address: 43 # i2c_mcu: # i2c_bus: # x_offset: 0 # y_offset: 0 # speed:40 # lift_speed: 5 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### ### 只能使用safe_z_home或homing_override中的一个 ### You can only use either safe_z_home or homing_override #[safe_z_home] #home_xy_position: 206,300 #speed: 100 #z_hop: 5 #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # quad_gantry_level ##################################################################### [quad_gantry_level] #gantry_corners: # -60,-10 # 310,320 #points: # 250mm # 50,25 # 50,175 # 200,175 # 200,25 gantry_corners: # 300mm -60,-10 360,370 points: 50,25 50,225 250,225 250,25 #gantry_corners: # 350mm # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 speed: 100 horizontal_move_z: 1 retry_tolerance: 0.0075 retries: 5 max_adjust: 10 ##################################################################### # Macros ##################################################################### [idle_timeout] ### 如果空闲超过30分钟,则关闭加热床。 ### If idle for more than 30 minutes, heated bed will be turned off. timeout: 1800 #[gcode_arcs] #### 允许圆弧插补 #### Allowing arc interpolation #resolution: 1.0 [gcode_macro PRINT_START] ### 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 ### Set PRINT_START as a macro for the start of printing, customize actions before printing. gcode: G92 E0 BED_MESH_CLEAR G28 quad_gantry_level G28 G1 Z20 F3000 #BED_MESH_PROFILE LOAD=default BED_MESH_CALIBRATE adaptive=1 METHOD=scan SCAN_MODE=rapid [gcode_macro PRINT_END] ### 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 ### Set PRINT_END as a macro for the end of printing, customize actions after printing completion gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# ``` --- # VZBOT 参考配置 使用前必看 * 本页面为 VZBOT / VZBOT AWD 的 Klipper 参考配置模板,不是直接可用的成品配置。 * `serial`、`canbus_uuid`、所有引脚、热敏型号、行程、限位方向、电机方向都必须按实际硬件修改。 * 首次上电调试时请断开皮带或保持手在急停/断电位置附近,先使用 `STEPPER_BUZZ` 检查每个电机。 ## 适用范围[​](#适用范围 "适用范围的直接链接") | 结构 | 说明 | | ------------- | ------------------------------------------------------------------------------ | | VZBOT 2WD | 标准 CoreXY,X/Y 两个电机 | | VZBOT AWD | 四电机 CoreXY,常见写法为 `stepper_x`、`stepper_x1`、`stepper_y`、`stepper_y1` | | VZ-HextrudORT | 可参考本文挤出机配置,实际 `rotation_distance` 仍需重新校准 | ## 需要先修改的内容[​](#需要先修改的内容 "需要先修改的内容的直接链接") | 项目 | 位置 | 说明 | | -------- | ------------------------------------------- | ------------------------------------------------- | | 主板 ID | `[mcu]` | USB 固件使用 `serial`,CAN 固件使用 `canbus_uuid` | | 机器尺寸 | `[stepper_x]`、`[stepper_y]`、`[stepper_z]` | 按 VZ235、VZ330 或自定义尺寸修改 | | 电机方向 | `dir_pin` | 方向反了就在对应引脚前添加或删除 `!` | | 限位引脚 | `endstop_pin` | 物理限位、驱动无限位、Probe 三种方式写法不同 | | 驱动型号 | `[tmc2209]` / `[tmc5160]` | 必须与实际驱动一致 | | 热敏型号 | `[extruder]`、`[heater_bed]` | 按热端和热床实际传感器填写 | | PID 参数 | `[extruder]`、`[heater_bed]` | 首次调试完成后执行 PID 校准并保存 | ## 基础配置[​](#基础配置 "基础配置的直接链接") printer.cfg ``` [include mainsail.cfg] # [include fluidd.cfg] # [include timelapse.cfg] [virtual_sdcard] path: ~/printer_data/gcodes [pause_resume] recover_velocity: 350 [display_status] [exclude_object] [gcode_arcs] resolution: 0.1 [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxxx-if00 # canbus_uuid: xxxxxxxxxxxx [temperature_sensor MCU] sensor_type: temperature_mcu [temperature_sensor HOST] sensor_type: temperature_host [printer] kinematics: corexy max_velocity: 500 max_accel: 10000 max_z_velocity: 20 max_z_accel: 300 square_corner_velocity: 10 ``` 提示 VZBOT 机器刚开始调试时建议先使用保守速度和加速度。确认归位、限位、加热、挤出、风扇都正常后,再逐步提高 `max_velocity`、`max_accel` 并重新做共振补偿。 ## 2WD XY 配置[​](#2wd-xy-配置 "2WD XY 配置的直接链接") 适用于只有两个 XY 电机的 VZBOT。引脚请按实际主板替换。 printer.cfg ``` [stepper_x] step_pin: dir_pin: enable_pin: rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: position_min: 0 position_endstop: 0 position_max: 330 homing_speed: 50 homing_retract_dist: 0 [tmc2209 stepper_x] uart_pin: interpolate: False run_current: 1.2 sense_resistor: 0.110 stealthchop_threshold: 0 [stepper_y] step_pin: dir_pin: enable_pin: rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: position_min: 0 position_endstop: 0 position_max: 330 homing_speed: 50 homing_retract_dist: 0 [tmc2209 stepper_y] uart_pin: interpolate: False run_current: 1.2 sense_resistor: 0.110 stealthchop_threshold: 0 ``` ## AWD XY 配置[​](#awd-xy-配置 "AWD XY 配置的直接链接") 适用于四个 XY 电机的 VZBOT AWD。`stepper_x` 与 `stepper_x1` 应向同一方向运动,`stepper_y` 与 `stepper_y1` 也应向同一方向运动。 信息 VZBOT AWD 常见配置会出现 `stepper_x1`、`stepper_y1` 这类附加电机段。使用前请确认当前 Klipper 版本、运动学配置和示例配置支持该写法;如果使用官方新版通用运动学配置,请按对应示例改成 `carriage` / `stepper` 写法。 printer.cfg ``` [stepper_x] step_pin: dir_pin: enable_pin: rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: position_min: 0 position_endstop: 0 position_max: 330 homing_speed: 50 homing_retract_dist: 0 [tmc5160 stepper_x] cs_pin: spi_bus: interpolate: False run_current: 1.6 sense_resistor: 0.033 driver_TBL: 1 driver_TOFF: 3 driver_DISS2G: 1 driver_DISS2VS: 1 [stepper_x1] step_pin: dir_pin: enable_pin: rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_x1] cs_pin: spi_bus: interpolate: False run_current: 1.6 sense_resistor: 0.033 driver_TBL: 1 driver_TOFF: 3 driver_DISS2G: 1 driver_DISS2VS: 1 [stepper_y] step_pin: dir_pin: enable_pin: rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: position_min: 0 position_endstop: 0 position_max: 330 homing_speed: 50 homing_retract_dist: 0 [tmc5160 stepper_y] cs_pin: spi_bus: interpolate: False run_current: 1.6 sense_resistor: 0.033 driver_TBL: 1 driver_TOFF: 3 driver_DISS2G: 1 driver_DISS2VS: 1 [stepper_y1] step_pin: dir_pin: enable_pin: rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_y1] cs_pin: spi_bus: interpolate: False run_current: 1.6 sense_resistor: 0.033 driver_TBL: 1 driver_TOFF: 3 driver_DISS2G: 1 driver_DISS2VS: 1 ``` AWD 电机方向检查 1. 分别执行 `STEPPER_BUZZ STEPPER=stepper_x`、`STEPPER_BUZZ STEPPER=stepper_x1`、`STEPPER_BUZZ STEPPER=stepper_y`、`STEPPER_BUZZ STEPPER=stepper_y1`。 2. 同一轴的两个电机必须朝同一方向动作。 3. 如果同轴两个电机互相拉扯,立即断电,修改其中一个 `dir_pin` 的 `!` 状态。 ## Z 轴配置[​](#z-轴配置 "Z 轴配置的直接链接") ### 单 Z 配置[​](#单-z-配置 "单 Z 配置的直接链接") printer.cfg ``` [stepper_z] step_pin: dir_pin: enable_pin: microsteps: 16 rotation_distance: 4 full_steps_per_rotation: 200 endstop_pin: position_min: -5 position_endstop: 0 position_max: 330 homing_speed: 5 second_homing_speed: 2.5 homing_retract_dist: 5 [tmc2209 stepper_z] uart_pin: interpolate: False run_current: 1.0 sense_resistor: 0.110 stealthchop_threshold: 0 ``` ### 使用 Probe 作为 Z 限位[​](#使用-probe-作为-z-限位 "使用 Probe 作为 Z 限位的直接链接") printer.cfg ``` [stepper_z] step_pin: dir_pin: enable_pin: microsteps: 16 rotation_distance: 4 full_steps_per_rotation: 200 endstop_pin: probe:z_virtual_endstop position_min: -5 position_max: 330 homing_speed: 5 second_homing_speed: 2.5 homing_retract_dist: 5 [probe] pin: x_offset: 0 y_offset: 0 # z_offset: 0 speed: 5 lift_speed: 10 samples: 3 samples_result: median sample_retract_dist: 2 samples_tolerance: 0.075 samples_tolerance_retries: 3 ``` ## 挤出机配置[​](#挤出机配置 "挤出机配置的直接链接") VZBOT 常见使用 VZ-HextrudORT、Goliath、Dragon、Rapido 等热端组合。下面只提供通用参考,`rotation_distance` 必须实测。 printer.cfg ``` [extruder] step_pin: dir_pin: enable_pin: microsteps: 16 full_steps_per_rotation: 200 rotation_distance: 22.5 gear_ratio: 50:8 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: sensor_type: PT1000 sensor_pin: min_temp: 0 max_temp: 400 max_extrude_only_distance: 1000 max_extrude_only_velocity: 200 max_extrude_only_accel: 10000 pressure_advance: 0.02 pressure_advance_smooth_time: 0.03 [tmc2209 extruder] uart_pin: interpolate: False run_current: 0.7 sense_resistor: 0.110 ``` ### VZ-HextrudORT 常见参考值[​](#vz-hextrudort-常见参考值 "VZ-HextrudORT 常见参考值的直接链接") | 挤出机 | 参考值 | 说明 | | -------------------------- | ---------------------------- | ------------ | | VZ-HextrudORT Low T8 | `rotation_distance: 22.5` | 需要实测微调 | | VZ-HextrudORT Low T10 | `rotation_distance: 23.8425` | 需要实测微调 | | VZ-HextrudORT Low Plus T8 | `rotation_distance: 29.7` | 需要实测微调 | | VZ-HextrudORT Low Plus T10 | `rotation_distance: 29.11` | 需要实测微调 | ## 热床配置[​](#热床配置 "热床配置的直接链接") printer.cfg ``` [heater_bed] heater_pin: sensor_type: Generic 3950 sensor_pin: min_temp: 0 max_temp: 130 # control: pid # pid_Kp: # pid_Ki: # pid_Kd: ``` PID 校准命令: ``` PID_CALIBRATE HEATER=heater_bed TARGET=100 SAVE_CONFIG ``` ## 风扇配置[​](#风扇配置 "风扇配置的直接链接") printer.cfg ``` [fan] pin: max_power: 1.0 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 [heater_fan hotend_fan] pin: max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 [controller_fan driver_fan] pin: max_power: 1.0 shutdown_speed: 0 kick_start_time: 0.5 fan_speed: 0.8 idle_timeout: 90 idle_speed: 0.4 stepper: stepper_x,stepper_y ``` ## 热床网格[​](#热床网格 "热床网格的直接链接") printer.cfg ``` [bed_mesh] speed: 150 horizontal_move_z: 5 mesh_min: 30,30 mesh_max: 300,300 probe_count: 5,5 mesh_pps: 2,2 algorithm: bicubic bicubic_tension: 0.2 ``` 提示 `mesh_min` 和 `mesh_max` 需要根据探针偏移、热床尺寸、喷头可达范围一起计算,不能直接照抄。 ## 调试顺序[​](#调试顺序 "调试顺序的直接链接") 1. 修改 `[mcu]`,确认 Klipper 能连接主板。 2. 检查温度显示,常温下热端和热床温度应接近环境温度。 3. 使用 `STEPPER_BUZZ` 逐个检查电机动作,AWD 同轴电机必须同向。 4. 不装皮带或松皮带时检查 XY 方向。 5. 低速执行 `G28 X`、`G28 Y`、`G28 Z`,确认限位触发方向。 6. 执行热端和热床 PID 校准。 7. 校准挤出机 `rotation_distance`。 8. 完成 `Z_OFFSET`、热床调平、共振补偿和压力提前校准。 ## 常见问题[​](#常见问题 "常见问题的直接链接") ### Klipper 提示找不到 `stepper_x1`[​](#klipper-提示找不到-stepper_x1 "klipper-提示找不到-stepper_x1的直接链接") 检查是否把 AWD 配置中的 `[stepper_x1]` 整段漏掉,或者段名写成了其他名字。 ### AWD 同轴电机互相打架[​](#awd-同轴电机互相打架 "AWD 同轴电机互相打架的直接链接") 立即断电,检查同一轴两个电机的接线顺序和 `dir_pin`。不要在互相拉扯的状态下继续通电测试。 ### 归位方向错误[​](#归位方向错误 "归位方向错误的直接链接") CoreXY 中 X/Y 方向会互相影响。先确保同轴 AWD 电机同向,再尝试调整 X/Y 的 `dir_pin`,每次只改一处并记录结果。 ### 热端温度跳变或显示异常[​](#热端温度跳变或显示异常 "热端温度跳变或显示异常的直接链接") 优先检查热敏型号、接线、端子压接和 `sensor_pin`。PT1000、NTC 100K、热电偶/放大板的配置方式不同,不能混用。 ## 相关资料[​](#相关资料 "相关资料的直接链接") * [Klipper 配置参考](https://www.klipper3d.org/zh/Config_Reference.html) * [VZBOT 官方 Printer Config](https://docs.vzbot.org/vz330_mellow/electronics/Printer_Config) --- # 断料传感器 ## 功能说明[​](#功能说明 "功能说明的直接链接") 断料传感器用于在耗材用尽、耗材断裂或传感器状态变化时暂停打印。Klipper 中常用 `[filament_switch_sensor]` 配置开关型断料检测模块。 注意事项 * 首次配置后请先在控制台查看传感器状态,再开始打印测试。 * 传感器触发逻辑可能因接线方式不同而相反,可通过 `!` 调整引脚状态。 * `switch_pin` 需要替换为实际主板引脚,不要直接照抄示例中的 `PC2`。 ## 基础配置[​](#基础配置 "基础配置的直接链接") printer.cfg ``` [filament_switch_sensor 断料监测] pause_on_runout: True switch_pin: ^PC2 runout_gcode: M118 断料,暂停打印 insert_gcode: M118 断料恢复 ``` ## 参数说明[​](#参数说明 "参数说明的直接链接") | 参数 | 说明 | | ----------------- | -------------------------------------------------- | | `pause_on_runout` | 检测到断料后是否自动暂停 | | `switch_pin` | 断料传感器信号引脚,常见写法为 `^引脚` 或 `^!引脚` | | `runout_gcode` | 断料触发后执行的 G-code | | `insert_gcode` | 恢复耗材或重新插入耗材后执行的 G-code | ## 引脚状态调整[​](#引脚状态调整 "引脚状态调整的直接链接") 如果传感器状态与实际相反,可以修改 `switch_pin`: printer.cfg ``` # 未触发显示 triggered 时,尝试添加或删除 ! switch_pin: ^!PC2 ``` 常见写法: | 写法 | 用途 | | ------- | ---------------------- | | `PC2` | 普通信号输入 | | `^PC2` | 启用上拉 | | `!PC2` | 反转触发状态 | | `^!PC2` | 启用上拉并反转触发状态 | ## 测试方法[​](#测试方法 "测试方法的直接链接") 1. 保存配置并重启 Klipper。 2. 打开网页端的机器状态或控制台。 3. 手动插入和拔出耗材,观察传感器状态是否变化。 4. 状态相反时修改 `switch_pin` 的 `!`。 5. 确认状态正确后,再进行打印暂停测试。 ## 带换料提示的配置[​](#带换料提示的配置 "带换料提示的配置的直接链接") printer.cfg ``` [filament_switch_sensor filament_sensor] pause_on_runout: True switch_pin: ^!PC2 runout_gcode: M118 检测到断料,打印已暂停 insert_gcode: M118 已检测到耗材,请确认挤出正常后继续打印 ``` 提示 如果使用带堵料检测的耗材传感器,通常还需要按产品文档配置运动检测或插件功能,普通 `[filament_switch_sensor]` 只能判断开关状态。 --- # 暂停与取消打印自定义位置 本页面用于配置 Mainsail / Fluidd 客户端宏中的 `_CLIENT_VARIABLE`,控制暂停、恢复、取消打印时的停靠位置、回抽长度和移动速度。 ## 使用前提[​](#使用前提 "使用前提的直接链接") * `printer.cfg` 中需要包含 `[include mainsail.cfg]` 或 `[include fluidd.cfg]`。 * 将下方宏添加到 `printer.cfg` 或独立宏文件中。 * 修改后保存并重启 Klipper。 须知 * `False` 表示未启用,`True` 表示启用。 * 配置文件末尾的 `gcode:` 必须保留,不能删除。 * 自定义停靠坐标必须在机器的 X/Y 软限位范围内。 ## 中文翻译[​](#中文翻译 "中文翻译的直接链接") printer.cfg ``` [gcode_macro _CLIENT_VARIABLE] ### 暂停宏相关自定义设置 variable_use_custom_pos : False ; 是否使用 X/Y 自定义停靠坐标 [True/False] variable_custom_park_x : 0.0 ; 暂停打印时的 X 位置 variable_custom_park_y : 0.0 ; 暂停打印时的 Y 位置 variable_custom_park_dz : 2.0 ; 暂停打印时 Z 轴抬升距离,单位 mm ### 取消打印相关自定义设置 variable_park_at_cancel : False ; 取消打印时是否移动到停靠位置 [True/False] variable_park_at_cancel_x : None ; 取消打印后的 X 位置 variable_park_at_cancel_y : None ; 取消打印后的 Y 位置 ### 暂停、恢复与取消时的挤出机动作 variable_retract : 1.0 ; 暂停打印时回抽长度,单位 mm variable_cancel_retract : 5.0 ; 取消打印时回抽长度,单位 mm variable_speed_retract : 35.0 ; 回抽速度,单位 mm/s variable_unretract : 1.0 ; 恢复打印时挤出长度,单位 mm variable_speed_unretract : 35.0 ; 恢复挤出速度,单位 mm/s variable_speed_hop : 15.0 ; Z 轴移动速度,单位 mm/s variable_speed_move : 100.0 ; XY 移动速度,单位 mm/s ### 空闲超时设置 ### 一天为 86400 秒 variable_idle_timeout : 86400 ; 设置为 0 表示不修改或恢复 idle_timeout # 如果设置 variable_use_fw_retract 为 True,printer.cfg 中必须定义 [firmware_retraction] variable_use_fw_retract : False ; 是否使用固件回抽替代手动回抽 [True/False] variable_runout_sensor : "" ; 断料传感器配置名,例如 "filament_switch_sensor runout" # 自定义宏只支持单行命令;如需多条命令,请单独创建宏后在此调用。 variable_user_pause_macro : "" ; PAUSE_BASE 之后执行 variable_user_resume_macro: "" ; RESUME_BASE 之前执行 variable_user_cancel_macro: "" ; CANCEL_PRINT_BASE 之前执行 gcode: ``` ## 英文(原版)[​](#英文原版 "英文(原版)的直接链接") printer.cfg ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos : False ; use custom park coordinates for x,y [True/False] variable_custom_park_x : 0.0 ; custom x position; value must be within your defined min and max of X variable_custom_park_y : 0.0 ; custom y position; value must be within your defined min and max of Y variable_custom_park_dz : 2.0 ; custom dz value; the value in mm to lift the nozzle when move to park position variable_retract : 1.0 ; the value to retract while PAUSE variable_cancel_retract : 5.0 ; the value to retract while CANCEL_PRINT variable_speed_retract : 35.0 ; retract speed in mm/s variable_unretract : 1.0 ; the value to unretract while RESUME variable_speed_unretract : 35.0 ; unretract speed in mm/s variable_speed_hop : 15.0 ; z move speed in mm/s variable_speed_move : 100.0 ; move speed in mm/s variable_park_at_cancel : False ; allow to move the toolhead to park while execute CANCEL_PRINT [True/False] variable_park_at_cancel_x : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True variable_park_at_cancel_y : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True # !!! Caution [firmware_retraction] must be defined in the printer.cfg if you set use_fw_retract: True !!! variable_use_fw_retract : False ; use fw_retraction instead of the manual version [True/False] variable_idle_timeout : 0 ; time in sec until idle_timeout kicks in. Value 0 means that no value will be set or restored variable_runout_sensor : "" ; If a sensor is defined, it will be used to cancel the execution of RESUME in case no filament is detected. # Specify the config name of the runout sensor e.g "filament_switch_sensor runout". Hint use the same as in your printer.cfg # !!! Custom macros, please use with care and review the section of the corresponding macro. # These macros are for simple operations like setting a status LED. Please make sure your macro does not interfere with the basic macro functions. # Only single line commands are supported, please create a macro if you need more than one command. variable_user_pause_macro : "" ; Everything inside the "" will be executed after the klipper base pause (PAUSE_BASE) function variable_user_resume_macro: "" ; Everything inside the "" will be executed before the klipper base resume (RESUME_BASE) function variable_user_cancel_macro: "" ; Everything inside the "" will be executed before the klipper base cancel (CANCEL_PRINT_BASE) function gcode: ``` --- # 优化 M109 / M190 温度等待 ## 功能说明[​](#功能说明 "功能说明的直接链接") 本配置通过 `TEMPERATURE_WAIT` 实现智能温度等待,避免温度过冲导致的长时间等待: * **喷头 (M109)**:等待温度范围为 `目标温度 ±5°C` * 例如:设置 200°C 时,当温度达到 195-205°C 范围即开始等待 * **热床 (M190)**:等待温度范围为 `目标温度 -2°C 到 +5°C` * 例如:设置 60°C 时,当温度达到 58-65°C 范围即开始等待 * 热床容差范围较大是因为热惯性更强,升温/降温过程更缓慢 ## 工作原理[​](#工作原理 "工作原理的直接链接") 1. **非阻塞设置**: 宏先通过 `M104`/`M140` 立即设置目标温度,不等待温度上升 2. **智能等待**: 使用 `TEMPERATURE_WAIT` 在接近目标温度的合理范围内开始等待 3. **避免过冲等待**: 传统 M109/M190 会等待温度完全稳定,此配置在温度进入容差范围后即继续执行,提高效率 ## 配置示例[​](#配置示例 "配置示例的直接链接") 将以下宏添加到 `printer.cfg` 或独立宏文件中。此宏会覆盖 Klipper 原生的 `M109` / `M190` 行为。 printer.cfg ``` [gcode_macro M109] rename_existing: M109.1 gcode: {% set s = params.S|float %} M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} # 设置喷头温度 {% if s != 0 %} TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-5} MAXIMUM={s+5} {% endif %} [gcode_macro M190] rename_existing: M190.1 gcode: {% set s = params.S|float %} M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} # 设置热床温度 {% if s != 0 %} TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-2} MAXIMUM={s+5} {% endif %} ``` ## 注意事项[​](#注意事项 "注意事项的直接链接") * 建议先进行 PID 校准以获得更稳定的温度控制 * 此配置会覆盖 Klipper 原生的 `M109` / `M190` 指令 * 如果温度波动较大,应优先检查热敏、加热器和 PID 参数 --- # 加热容差配置 ## 功能说明[​](#功能说明 "功能说明的直接链接") `verify_heater` 用于调整 Klipper 对加热器的安全检测阈值。它不是提高加热功率的配置,而是用于处理升温较慢、热惯性较大或温度波动较明显时的误报问题。 安全提醒 * 不要为了绕过真实故障而盲目放宽检测阈值。 * 如果加热一直升不上去,应优先检查加热棒、热床、MOS 管、供电、电源功率、热敏接线和热敏型号。 * 修改后必须现场观察一次完整升温过程,确认温度变化正常。 ## 挤出机参考配置[​](#挤出机参考配置 "挤出机参考配置的直接链接") printer.cfg ``` [verify_heater extruder] max_error: 120 check_gain_time: 120 hysteresis: 50 heating_gain: 2 ``` ## 热床参考配置[​](#热床参考配置 "热床参考配置的直接链接") printer.cfg ``` [verify_heater heater_bed] max_error: 120 check_gain_time: 120 hysteresis: 50 heating_gain: 2 ``` 参考值说明 上方参考配置中的 `check_gain_time: 120`、`hysteresis: 50` 为**放宽后**的示例值,仅用于确认硬件正常后排查误报。Klipper 官方默认值为:`check_gain_time` 挤出头 20 秒 / 热床 60 秒、`hysteresis: 5`。误报排除后建议恢复默认值,避免掩盖真实故障。 ## 参数说明[​](#参数说明 "参数说明的直接链接") 以下为 Klipper 官方对 `[verify_heater]` 各参数的定义,修改前请先理解其工作机制。 ### max\_error[​](#max_error "max_error的直接链接") * **默认值**:`120` * 报错之前最大的“累计温度偏差”。更小的值会导致更严格的检查,而更大的值在报错前允许更多的时间。 * 具体地说,温度会每秒检查一次: * 如果温度正在接近目标温度,内部的“错误计数”会重置; * 否则,如果温度低于目标区间,计数器会增加“汇报的温度与目标的差”; * 当计数值超过 `max_error` 就会报错。 ### check\_gain\_time[​](#check_gain_time "check_gain_time的直接链接") * **默认值**:挤出头 `20` 秒,热床 `60` 秒 * 这个量控制着加热器初始化加热时的检查。更小的值会导致更严格的检查,而更大的值在报错前允许更多的时间。 * 具体地说,初始化加热时,只要加热器在时间片内(秒)升高温度,错误计数会重置。 ### hysteresis[​](#hysteresis "hysteresis的直接链接") * **默认值**:`5`(°C) * 被认为是在目标区间内的最大温差(以摄氏度为单位)。这个量控制着 `max_error` 区间检测。 * 很少需要定制这个值。 ### heating\_gain[​](#heating_gain "heating_gain的直接链接") * **默认值**:`2`(°C) * 在 `check_gain_time` 检查中最小需要升高的温度(以摄氏度为单位)。 * 很少需要定制这个值。 ## 适合调整的情况[​](#适合调整的情况 "适合调整的情况的直接链接") * 大尺寸热床升温慢,确认硬件正常但偶发 `Heater heater_bed not heating at expected rate` * 高温热端接近目标温度时波动较大,确认 PID 已校准但仍偶发误报 * 腔体温度变化导致热床或热端升温曲线变慢 ## 不建议调整的情况[​](#不建议调整的情况 "不建议调整的情况的直接链接") * 热敏温度显示为负数、几百度或明显跳变 * 加热器开启后温度完全不变化 * MOS 管、接线端子或电源有发热、变色、异味 * 配置的 `sensor_type` 与实际热敏型号不一致 ## 调试建议[​](#调试建议 "调试建议的直接链接") 1. 先执行 PID 校准并保存配置。 2. 冷机状态下观察一次完整升温曲线。 3. 只针对误报的加热器添加 `[verify_heater]`,不要一次改多个。 4. 每次只修改一个参数,并记录修改前后的表现。 常用 PID 校准命令: ``` PID_CALIBRATE HEATER=extruder TARGET=245 PID_CALIBRATE HEATER=heater_bed TARGET=100 SAVE_CONFIG ``` --- # 机器调试指南 注意事项 * 本文适用于已完成基础组装、准备首次调试的打印机。 * 建议按以下顺序操作,避免跳过安全检查导致撞机或加热异常。 * 涉及接线、限位、供电检查时,请先断电再操作。 ## 调试步骤[​](#调试步骤 "调试步骤的直接链接") | 步骤 | 内容 | 说明 | | ------ | ----------------------------------------------------------------------------------------------------- | -------------------------------------------- | | 第一步 | [电源接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/wiring) | 上位机供电要求、推荐供电方式、确保正确供电 | | 第二步 | [限位检查](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) | 检查限位接线与触发状态,确保硬件正确后再归位 | | 第三步 | [归位与方向校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/g28) | 电机接线检查、单轴归位测试、CoreXY 方向校准 | | 第四步 | [加热与温度校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/heat) | 检查加热功能、PID 温度校准、加热异常排查 | | 第五步 | [机器校准](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/calibration) | 挤出机 rotation\_distance 校准、Z 偏移校准 | | 第六步 | [宏配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/macros) | 开始宏、结束宏配置,切片软件设置 | | 第七步 | [配置修改说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/config) | 常见配置格式错误与排查方法 | ## 配置参考[​](#配置参考 "配置参考的直接链接") | 内容 | 说明 | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------ | | [Klipper 参考配置](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config) | 常见机型、挤出机、风扇、多 Z、归位替代等参考配置 | | [Klipper 优化宏](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros) | 断料检测、温度等待、暂停位置、加热容差等宏配置 | ## 扩展功能[​](#扩展功能 "扩展功能的直接链接") | 内容 | 说明 | | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------ | | [无限位使用](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions) | 没有物理限位开关的机器,使用驱动无限位功能 | | [常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives) | Klipper 控制台常用调试命令速查 | | [LED 警示灯](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/rgb_led) | 三色警示灯接线与状态宏配置 | --- # 机器校准 ## 挤出机旋转距离校准[​](#挤出机旋转距离校准 "挤出机旋转距离校准的直接链接") `rotation_distance` 是挤出机步进电机旋转一整圈时挤出轴移动的距离。精确校准此值是确保挤出量准确的关键。 > 参考:[Klipper 官方文档 - Rotation Distance](https://www.klipper3d.org/Rotation_Distance.html) ### 估算初始值[​](#估算初始值 "估算初始值的直接链接") 根据挤出机送料轮的直径估算初始值: ``` rotation_distance = 送料轮直径 × π ``` 齿轮比 若挤出机有减速齿轮(如 BMG、Orbiter 等),需在配置中单独设置 `gear_ratio`;`rotation_distance` 应仅为送料轮本身的计算值: ``` gear_ratio: 50:17 # BMG 示例(驱动轮齿数:从动轮齿数) ``` 常见齿轮比:BMG 为 `50:17` ### 测量与修正[​](#测量与修正 "测量与修正的直接链接") 这是最准确的挤出机校准方法,通过测量实际挤出量来修正配置值。 #### 准备工作[​](#准备工作 "准备工作的直接链接") * 耗材已装入挤出机 * 将热端加热到耗材的推荐温度(PLA 约 200°C) * 准备一把游标卡尺或直尺(精度 ≥ 0.1mm) #### 操作步骤[​](#操作步骤 "操作步骤的直接链接") **1. 标记耗材** 在耗材上距离挤出机入口约 **70mm** 处做标记。用游标卡尺精确测量此距离,记录为**初始标记距离**。 **2. 执行挤出命令** ``` G91 G1 E50 F60 ``` 注意 * 建议使用 F60 低速;高速可能造成压力偏差影响精度 * 等待挤出完成 **3. 测量并计算** 挤出完成后,再次测量标记到挤出机入口的距离,记录为**最终标记距离**。使用以下公式计算新值: ``` 实际挤出长度 = 初始标记距离 - 最终标记距离 新 rotation_distance = 旧值 × 实际挤出长度 / 50 ``` **4. 更新配置** printer.cfg ``` [extruder] rotation_distance: 23.280 # 替换为计算得到的新值 ``` 建议 * 误差超过 2mm 时应重新校准 * 重复 2\~3 次,确保结果一致 * 最终误差应小于 1mm ### 旋转距离计算器[​](#旋转距离计算器 "旋转距离计算器的直接链接") Loading... *** ## Z 偏移校准(手动塞纸法)[​](#z-偏移校准手动塞纸法 "Z 偏移校准(手动塞纸法)的直接链接") Z 偏移决定了喷嘴与热床的初始距离。精确调整可避免首层不粘或喷嘴刮伤热床。 说明 * 使用**机械限位**归位的机器(如 Voron),Z 偏移保存在配置的 `position_endstop` 中 * 使用**探针**归位的机器(BLTouch / Tap / CR Touch 等),Z 偏移保存在 `z_offset` 中 ### 准备工具[​](#准备工具 "准备工具的直接链接") * A4 打印纸一张 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") **1. 归位并移动到热床中心** ``` G28 G90 G1 X[热床中心X] Y[热床中心Y] F3000 ``` **2. 将 Z 轴移动到接近 0 的位置** ``` G1 Z2 F300 ``` **3. 放入纸张并微调 Z 值** 将 A4 纸放在喷嘴下方,通过控制台或界面手动微调 Z 值(步长 **0.025mm** 或 **0.1mm**),直到: * 纸张被轻轻夹住但仍能缓慢抽出 * 有轻微阻力感表示位置正确 判断标准 | 情况 | 原因 | 操作 | | ------------------ | -------- | ----------------------- | | 纸张无法抽动 | 喷嘴过低 | 增加 Z 偏移(增大数值) | | 纸张完全无阻力 | 喷嘴过高 | 减小 Z 偏移(减小数值) | | 轻微阻力,纸可抽出 | 位置正确 | 保存该值 | **4. 保存 Z 偏移** 找到合适位置后,根据归位方式执行对应命令: ``` # 机械限位(如 Voron) Z_OFFSET_APPLY_ENDSTOP # 探针调平(如 BLTouch / Tap) Z_OFFSET_APPLY_PROBE ``` 然后保存配置: ``` SAVE_CONFIG ``` 首层微调 * 实际打印时可通过网页界面对首层高度进行微调 * 首层高度微调后可重新保存配置 --- # 配置修改说明 本页面汇总修改 Klipper 配置时最常见的格式问题。修改配置后请保存并重启 Klipper,根据报错信息定位问题。 注意 一般配置项不可随意缩进。只有 `[gcode_macro XXXX]` 内 `gcode:` 后的 G-code 内容才需要按照宏语法进行缩进。 ## 空格与缩进错误[​](#空格与缩进错误 "空格与缩进错误的直接链接") * **原因**:配置项前残留空格或缩进,导致 Klipper 无法正确识别参数。 * **解决方法**:去除多余空格,使参数从行首开始。 Loading... ### 对比示例[​](#对比示例 "对比示例的直接链接") **错误示例**: Loading... **正确示例**: Loading... ## 配置注释错误[​](#配置注释错误 "配置注释错误的直接链接") ### 保留不需要的配置[​](#保留不需要的配置 "保留不需要的配置的直接链接") * **原因**:配置文件中保留了不应存在或重复的配置段。 * **解决方法**:删除错误配置,仅保留当前硬件实际需要的配置段。 Loading... ### 配置段注释不完整[​](#配置段注释不完整 "配置段注释不完整的直接链接") 仅注释 `[probe]` 段头是不够的。必须将该配置段内的所有参数一起注释或删除,直到下一个 `[xxxx]` 配置段。 下例中下一个配置段为 `[homing_override]`。 **错误示例**: Loading... **正确示例**: Loading... ## 常见配置报错速查[​](#常见配置报错速查 "常见配置报错速查的直接链接") | 报错关键词 | 常见原因 | 解决方法 | | --------------------------------------------- | -------------------------- | ------------------------------------------ | | `Option 'xxx' is not valid` | 配置参数名拼写错误 | 检查参数名是否与官方文档一致 | | `Section 'xxx' is not a valid config section` | 配置段名称错误或插件缺失 | 检查配置段拼写、Klipper 版本和插件安装状态 | | `Unable to open config file` | include 引用的文件不存在 | 检查文件路径是否正确 | | `Unable to parse option` | 参数格式不符合要求 | 检查数字、坐标、逗号和中文标点 | | `Pin 'xxx' is not a valid pin` | 引脚名格式错误 | 按主板文档确认正确的引脚名 | | `pin xxx used multiple times` | 同一引脚被多个功能重复占用 | 搜索所有 include 文件并删除重复占用 | | `Duplicate chip name` | 同名配置段重复出现 | 删除重复的 `[xxxx]` 配置段 | | `Unknown temperature sensor` | 温度传感器类型拼写错误 | 确认 `sensor_type` 名称正确 | 更多配置启动类报错请参考:[配置类报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-config)。 --- # 归位与方向校准指南 ## 电机接线检查[​](#电机接线检查 "电机接线检查的直接链接") 接线前须知 * 接线操作**必须断电**进行 * 所有电机的线序应保持一致 ### 接线方法[​](#接线方法 "接线方法的直接链接") 主板电机接口通常为 `AABB` 格式,表示同一相的两根线接在同一组: | 接口标注 | 含义 | 说明 | | -------- | ---- | ---------------------- | | `A` | A 相 | 同一相的两根线接在一起 | | `B` | B 相 | 同一相的两根线接在一起 | **接线原则:** * 同一相的两根线接同一组(AA 或 BB) * 所有电机的线序应保持一致,避免出现方向混乱 * 如果不确定线序,可使用万用表测量短路的两根线为同一相 ### 验证电机运动[​](#验证电机运动 "验证电机运动的直接链接") 使用以下命令验证每个电机是否正确运行(电机会小幅正反转动): ``` STEPPER_BUZZ STEPPER=stepper_x # X 轴电机 STEPPER_BUZZ STEPPER=stepper_y # Y 轴电机 STEPPER_BUZZ STEPPER=stepper_z # Z0 轴电机 STEPPER_BUZZ STEPPER=stepper_z1 # Z1 轴电机(如有) STEPPER_BUZZ STEPPER=stepper_z2 # Z2 轴电机(如有) STEPPER_BUZZ STEPPER=stepper_z3 # Z3 轴电机(如有) ``` Z 轴方向要求 * X、Y 轴电机无特定方向要求 * **Z 轴电机必须先升后降**往复运动,若方向不对请修改配置中的 `dir_pin` ### 修改电机方向[​](#修改电机方向 "修改电机方向的直接链接") 如方向错误,修改配置文件中的 `dir_pin`,添加或删除 `!` 符号即可: ``` [stepper_z] step_pin: dir_pin: ! # 添加 ! 反转方向,或删除 ! 恢复 enable_pin: ! ``` *** ## 归位测试[​](#归位测试 "归位测试的直接链接") ### 单轴归位[​](#单轴归位 "单轴归位的直接链接") 依次执行以下命令,测试各轴独立归位: ``` G28 X ``` ``` G28 Y ``` ``` G28 Z ``` **观察要点:** * 电机转动方向是否正确 * 触发限位后是否立即停止 * 归位后坐标是否符合配置预期 * **Voron 等 CoreXY 结构**:X/Y 轴通常归位到**最大位置** * **传统 Cartesian 结构**:X/Y 轴通常归位到**最小位置** 配置说明 归位坐标位置由 `homing_positive_dir` 参数决定: * `true` → 归位到正方向(最大位置) * `false` → 归位到负方向(最小位置) ### CoreXY 结构方向校准[​](#corexy-结构方向校准 "CoreXY 结构方向校准的直接链接") CoreXY 结构中 XY 电机控制可能出现的常见问题及解决方案: | 故障现象 | 描述 | 解决方案 | | ---------- | ------------------------------------------------- | ------------------------------------------------------------ | | **情况一** | XY 轴控制互相颠倒,且 XY 移动正负方向皆相反 | 反转 X 电机接线(对调 X 电机任意两相线) | | **情况二** | XY 轴控制互相颠倒,但 XY 移动正负方向正确 | 反转 Y 电机接线(对调 Y 电机任意两相线) | | **情况三** | XY 轴控制互相颠倒,X 正负方向正确,Y 正负方向相反 | 1. 反转 X 电机接线
2. 整体对调 X 与 Y 的电机线 | | **情况四** | XY 轴控制互相颠倒,X 正负方向相反,Y 正负方向正确 | 1. 反转 Y 电机接线
2. 整体对调 X 与 Y 的电机线 | | **情况五** | XY 轴控制正确,但 XY 正负方向都相反 | 同时反转 X 电机和 Y 电机接线 | | **情况六** | XY 轴控制正确,X 正负方向正确,Y 正负方向相反 | 整体对调 X 与 Y 的电机线 | | **情况七** | XY 轴控制正确,X 正负方向相反,Y 正负方向正确 | 1. 整体对调 X 与 Y 的电机线
2. 同时反转 X 和 Y 电机接线 | *** ## 强制移动功能[​](#强制移动功能 "强制移动功能的直接链接") 如需在归位前手动移动电机,需启用强制移动功能。 在 `printer.cfg` 中添加: printer.cfg ``` [force_move] enable_force_move: true ``` 启用后可通过控制界面执行强制移动操作: Loading... 注意事项 * **单轴限制**:每次只能强制移动一个电机 * **多轴协同**:如需同步移动多个轴(如双 Z 轴),需先设定打印头位置: ``` SET_KINEMATIC_POSITION x=50 y=50 z=20 ``` * **安全提示**:使用强制移动功能时请确保打印头路径无障碍物 *** ## 归位问题排查[​](#归位问题排查 "归位问题排查的直接链接") | 问题现象 | 可能原因 | 解决方案 | | -------------- | -------------------------- | -------------------------------------------------------- | | 归位反复触发 | 限位信号不稳定或配线受干扰 | 检查限位配置中是否添加上拉 `^` 符号,检查接线是否松动 | | 电机抖动不复位 | 电机失步或驱动电流不足 | 检查驱动电流设置和电机接线是否正确 | | 单轴无法归位 | 电机线序错误或限位开关故障 | 检查电机接线线序,使用 `QUERY_ENDSTOPS` 确认限位开关状态 | --- # 加热相关 本页用于说明加热功能检查、PID 校准和加热检测参数。若已经出现 Klipper shutdown,请优先参考 [温度、加热与挤出报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-temp-extrude)。 ## 检查加热功能[​](#检查加热功能 "检查加热功能的直接链接") 高温警告 加热操作会产生高温,请勿触碰热端或热床,并确保附近无可燃物。 ### 1. 检查加热口指示灯状态[​](#1-检查加热口指示灯状态 "1. 检查加热口指示灯状态的直接链接") * **LED 熄灭**:表示加热口未工作,请先检查配置中引脚设置是否正确。 * **LED 亮起**:表示加热口正在工作,可通过网页温度曲线确认温度是否连续上升。 安全提示 普通用户优先通过网页温度曲线、替换成品加热棒/热敏或联系售后来排查加热异常。不要拆卸电源、触碰裸露端子或检查市电热床高压接线。 ### 2. 电源功率适配检查[​](#2-电源功率适配检查 "2. 电源功率适配检查的直接链接") * 确认电源额定功率是否满足设备需求,供电能力不足可能导致加热温度无法达到设定值。 * 功率计算公式:`电压 × 电流 = 最大输出功率`。 * 当电源规格为 `24V 5A` 时,最大输出功率为 `120W`。若加热口功率为 `40W`,剩余 `80W` 供其他部件使用,该配置可能无法满足整体需求。 * 当电源规格为 `24V 10A` 时,最大输出功率为 `240W`,通常足以应对加热口及其他部件的工作需求。 ### 3. 排查建议[​](#3-排查建议 "3. 排查建议的直接链接") 断电操作 检查加热元件、热敏电阻、热床、保险丝、SSR、MOS 管或相关线束前,请完全关闭打印机并断开电源供应,并等待热端和热床冷却。 * 如果加热口无法达到设定温度,断电并等待冷却后检查加热元件及连接线是否损坏或接触不良。 * 如果加热口无控制信号(LED 熄灭)但仍有输出,先检查配置中对应引脚设置并保存。 * 保存配置后仍异常输出,可能是 MOS 管或外接模块损坏,请停止使用并联系售后。 * 如电源容量不足,建议更换更大功率的合格电源以确保系统稳定。 ## PID 温度校准[​](#pid-温度校准 "PID 温度校准的直接链接") PID 校准可优化加热器温度控制的稳定性与响应速度。 ### 校准命令[​](#校准命令 "校准命令的直接链接") ``` # 挤出头 PID 校准(请将 TARGET 改为常用打印温度) PID_CALIBRATE HEATER=extruder TARGET=200 # 热床 PID 校准(请将 TARGET 改为常用热床温度) PID_CALIBRATE HEATER=heater_bed TARGET=60 ``` 重要提醒 校准完成后必须执行 `SAVE_CONFIG` 保存参数,否则重启后校准数据将丢失。 ## 温度上升但非常缓慢[​](#温度上升但非常缓慢 "温度上升但非常缓慢的直接链接") 如果已确认硬件与供电正常,但升温速度过慢导致 Klipper 误报错,可参考以下配置放宽加热检测阈值。 注意 此配置不能用于掩盖实际加热故障。如果温度完全不上升、波动剧烈或接线异常,请先解决硬件问题。 ### 挤出头[​](#挤出头 "挤出头的直接链接") printer.cfg ``` [verify_heater extruder] max_error: 120 check_gain_time: 120 hysteresis: 50 heating_gain: 2 ``` ### 热床[​](#热床 "热床的直接链接") printer.cfg ``` [verify_heater heater_bed] max_error: 120 check_gain_time: 120 hysteresis: 50 heating_gain: 2 ``` ### 参数说明[​](#参数说明 "参数说明的直接链接") | 参数 | 默认值 | 说明 | | ----------------- | ------ | ---------------------------------------- | | `max_error` | 120 | 最大允许温度偏差 | | `check_gain_time` | 20 | 升温检测时间窗口,升温慢时可适当调大 | | `hysteresis` | 5 | 温度波动容差 | | `heating_gain` | 2 | 升温速度判断参数,调整前应先确认硬件正常 | 更多说明请参考:[verify\_heater 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/verify_heater)。 --- # 常用调试指令 提示 * 本教程以 Fluidd 网页界面为主要操作环境。 * 本教程适用于打印机成功连接后的调试场景。 * 本文仅提供常用指令,基于各种原因可能未完全列出所有可用命令。 *** ## 驱动相关[​](#驱动相关 "驱动相关的直接链接") 注意 * 未配置或有故障的驱动无法检测。 * 请确保所有驱动正常供电、主板正常供电,驱动跳线及配置正确。 ### 检查驱动状态[​](#检查驱动状态 "检查驱动状态的直接链接") * 此命令用于验证 SPI/UART 模式下 TMC 驱动的通信状态。在控制台执行: ``` 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 ``` ### 挤出机步进值校准[​](#挤出机步进值校准 "挤出机步进值校准的直接链接") * 校准前请确认: 1. 挤出机驱动可正常工作。 2. `full_steps_per_rotation` 与 `gear_ratio` 已正确配置。 * 参考配置: ``` full_steps_per_rotation: 200 # 每转步数(1.8度=200,0.9度=400) gear_ratio: 50:10 # 齿轮比(BMG 为 50:17,输出轴在前、输入轴在后) rotation_distance: 22.522 # 驱动齿轮周长,单位 mm ``` * 校准公式: ``` 新 rotation_distance = 旧 rotation_distance × 实际挤出长度 / 设定挤出长度 ``` * 得到新的 `rotation_distance` 后保留 3 位小数。 *** ## 加热相关[​](#加热相关 "加热相关的直接链接") ### PID 校准[​](#pid-校准 "PID 校准的直接链接") 提示 * `TARGET=` 后设置的目标温度应为正常打印所用温度。 * 若存在多个加热设备,请将 `HEATER=` 后的值替换为实际名称。 - 挤出头: ``` PID_CALIBRATE HEATER=extruder TARGET=245 ``` - 热床: ``` PID_CALIBRATE HEATER=heater_bed TARGET=100 ``` - PTC: ``` PID_CALIBRATE HEATER=PTC TARGET=70 ``` ### 温度报错相关[​](#温度报错相关 "温度报错相关的直接链接") 提示 * 加热等待超时问题,请参考:[M109 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/m109) * 温度波动导致报错,请参考:[verify\_heater 优化](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimize_macros/verify_heater) ### 温度控制指令[​](#温度控制指令 "温度控制指令的直接链接") * 设置挤出头温度并等待达到目标: ``` M109 S245 # 加热挤出头到 245°C 并等待 M104 S245 # 加热挤出头到 245°C 不等待 ``` * 设置热床温度并等待达到目标: ``` M190 S100 # 加热热床到 100°C 并等待 M140 S100 # 加热热床到 100°C 不等待 ``` * 关闭所有加热器: ``` TURN_OFF_HEATERS ``` * 风扇控制: ``` M106 S255 # 模型风扇全速 M106 S128 # 模型风扇 50% 转速 M107 # 关闭模型风扇 ``` *** ## 限位相关[​](#限位相关 "限位相关的直接链接") ### 标准限位开关[​](#标准限位开关 "标准限位开关的直接链接") 危险 * 确保限位开关为两线制;若为三线制必须确认线序正确,否则可能损坏主板! - 查询限位状态: ``` QUERY_ENDSTOPS ``` - 确保限位处于常开状态(未触发),执行后应返回类似如下信息: Loading... * 用手按下限位开关后再次执行 `QUERY_ENDSTOPS`,限位状态应发生变化: Loading... * 限位状态发生变化表示接线正确。 ### 无传感器归位[​](#无传感器归位 "无传感器归位的直接链接") * 无传感器归位默认状态应为 open(未触发),否则表示配置或接线存在问题。 * 查询方法与标准限位相同: ``` QUERY_ENDSTOPS ``` Loading... *** ## 探针相关[​](#探针相关 "探针相关的直接链接") ### BL-TOUCH[​](#bl-touch "BL-TOUCH的直接链接") * 调试命令: | 命令 | 功能 | | ---------------------------------- | ---------------- | | `BLTOUCH_DEBUG COMMAND=pin_down` | 探针伸出 | | `BLTOUCH_DEBUG COMMAND=pin_up` | 探针收回 | | `BLTOUCH_DEBUG COMMAND=touch_mode` | 进入触碰验证模式 | ### Probe & TAP[​](#probe--tap "Probe & TAP的直接链接") * 查询探针状态(正常未触发时应显示 open): ``` QUERY_PROBE ``` * 建议配置引脚时添加内部上拉 `^`。 Loading... ### 探针重复性测试[​](#探针重复性测试 "探针重复性测试的直接链接") * 默认 10 次采样: ``` PROBE_ACCURACY ``` * 100 次采样(更准确): ``` PROBE_ACCURACY samples=100 ``` ### Z 轴偏移校准[​](#z-轴偏移校准 "Z 轴偏移校准的直接链接") ``` PROBE_CALIBRATE # 探针 Z 偏移校准 TESTZ Z=-0.1 # 微调 Z 偏移(负值=喷嘴靠近热床) ACCEPT # 接受当前偏移值 ABORT # 放弃此次校准 SAVE_CONFIG # 保存校准结果到配置文件 ``` *** *** > **进阶指令**:挤出、运动控制、网床、共振补偿、系统控制和特殊类型模块的调试指令请参考 [进阶指令与系统操作](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives-advanced)。 --- # 进阶指令与系统操作 本文收录挤出、运动控制、网床、共振补偿、系统控制和特殊类型模块的常用调试指令。 > 驱动、加热、限位与探针的基础调试指令请参考 [常用调试指令](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/klipper-directives)。 ## 挤出机相关[​](#挤出机相关 "挤出机相关的直接链接") ### 手动挤出/回抽[​](#手动挤出回抽 "手动挤出/回抽的直接链接") ``` G91 # 切换到相对定位模式 G1 E10 F300 # 挤出 10mm,速度 300mm/min G1 E-10 F300 # 回抽 10mm G90 # 切换回绝对定位模式 ``` ### 耗材传感器[​](#耗材传感器 "耗材传感器的直接链接") ``` QUERY_FILAMENT_SENSOR SENSOR=filament_sensor # 查询断料检测状态 ``` ### 压力提前校准[​](#压力提前校准 "压力提前校准的直接链接") ``` TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ``` * 校准完成后保存: ``` SET_PRESSURE_ADVANCE ADVANCE=0.05 # 设定压力提前值 SAVE_CONFIG # 保存到配置 ``` *** ## 运动控制[​](#运动控制 "运动控制的直接链接") ### 基本移动指令[​](#基本移动指令 "基本移动指令的直接链接") ``` G90 # 绝对定位模式 G91 # 相对定位模式 G1 X100 Y100 Z20 F6000 # 移动到指定坐标 G28 # 归位所有轴 G28 X # 仅归位 X 轴 G28 Y # 仅归位 Y 轴 G28 Z # 仅归位 Z 轴 ``` ### 归位后方向验证[​](#归位后方向验证 "归位后方向验证的直接链接") ``` G90 G1 X10 Y10 Z20 F3000 # 向最小方向移动 G1 X150 Y150 Z20 F3000 # 向最大方向移动 ``` ### 电机控制[​](#电机控制 "电机控制的直接链接") ``` M84 # 释放所有电机(禁用) M84 X Y # 仅释放 X、Y 轴电机 M18 # 与 M84 等效,禁用所有电机 M17 # 重新启用所有电机 ``` ### 手动步进控制[​](#手动步进控制 "手动步进控制的直接链接") ``` MANUAL_STEPPER STEPPER=stepper_x ENABLE=1 SPEED=10 MOVE=10 # X轴正向移动10mm MANUAL_STEPPER STEPPER=stepper_x ENABLE=1 SPEED=10 MOVE=-10 # X轴负向移动10mm ``` *** ## 热床网床[​](#热床网床 "热床网床的直接链接") ### 网床探测[​](#网床探测 "网床探测的直接链接") ``` BED_MESH_CALIBRATE # 全床网床探测 BED_MESH_CALIBRATE horizontal_move_z=2 METHOD=rapid_scan # 快速扫描模式 BED_MESH_CALIBRATE ADAPTIVE=1 # 自适应探测(仅探测打印区域) ``` ### 网床管理[​](#网床管理 "网床管理的直接链接") ``` BED_MESH_PROFILE SAVE=default # 保存网床为 default BED_MESH_PROFILE LOAD=default # 加载 default 网床 BED_MESH_PROFILE REMOVE=default # 删除 default 网床 BED_MESH_CLEAR # 卸载当前网床 BED_MESH_OUTPUT # 输出网床数据到控制台 ``` ### Z 轴倾斜调节[​](#z-轴倾斜调节 "Z 轴倾斜调节的直接链接") ``` Z_TILT_ADJUST # Z 轴倾斜调整(双Z/三Z) QUAD_GANTRY_LEVEL # 龙门架四角调平(Voron等) ``` *** ## 共振补偿[​](#共振补偿 "共振补偿的直接链接") ### 加速度计[​](#加速度计 "加速度计的直接链接") ``` ACCELEROMETER_QUERY # 查询加速度计状态 ``` ### 共振测试[​](#共振测试 "共振测试的直接链接") ``` TEST_RESONANCES AXIS=X # X 轴共振测试 TEST_RESONANCES AXIS=Y # Y 轴共振测试 SHAPER_CALIBRATE AXIS=X # X 轴输入整形自动校准 SHAPER_CALIBRATE AXIS=Y # Y 轴输入整形自动校准 ``` * 校准完成后保存: ``` SAVE_CONFIG # 保存共振补偿结果 ``` *** ## 系统控制[​](#系统控制 "系统控制的直接链接") ### 固件重启[​](#固件重启 "固件重启的直接链接") ``` RESTART # 重新加载 Klipper 主机固件 FIRMWARE_RESTART # 完全重启(MCU 复位) ``` ### 状态查看[​](#状态查看 "状态查看的直接链接") ``` STATUS # 查看打印机当前状态 M115 # 查看固件版本信息 ``` ### 急停[​](#急停 "急停的直接链接") ``` M112 # 紧急停止(立即停止所有动作) M999 # 清除紧急停止状态 ``` *** ## 配置文件操作[​](#配置文件操作 "配置文件操作的直接链接") ``` SAVE_CONFIG # 保存校准结果到 printer.cfg ``` 注意 `SAVE_CONFIG` 写入的配置位于文件底部的 `#*# DO NOT EDIT THIS BLOCK` 注释块中。下次重启后这些值才会生效。 *** ## 特殊类型[​](#特殊类型 "特殊类型的直接链接") ### 舵机[​](#舵机 "舵机的直接链接") 提示 舵机分为 180° 与 360° 两种类型,请注意区分。 * 参考配置: ``` [servo my_servo] pin: ``` * 参考命令: ``` SET_SERVO SERVO=my_servo ANGLE=360 SET_SERVO SERVO=my_servo ANGLE=180 SET_SERVO SERVO=my_servo ANGLE=0 ``` ### LED / Neopixel[​](#led--neopixel "LED / Neopixel的直接链接") ``` SET_LED LED=my_neopixel RED=1 GREEN=0 BLUE=0 # 设置为红色 SET_LED LED=my_neopixel RED=0 GREEN=0 BLUE=0 # 关闭 ``` --- # 宏介绍 本页面提供常用开始宏、结束宏,以及切片软件中调用宏的位置示例。宏名称可以自定义,但需要与切片软件中的开始/结束 G-code 保持一致。 ## 开始宏[​](#开始宏 "开始宏的直接链接") `PRINT_START` 用于定义打印开始前的动作,例如归位、调平、抬升喷嘴、加载网床等。 printer.cfg ``` [gcode_macro PRINT_START] gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 # Z_TILT_ADJUST # 龙门架调平 # QUAD_GANTRY_LEVEL # 龙门架调平 # G28 # 调平后建议再次归位 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 ``` ### 调平与网床配置指南[​](#调平与网床配置指南 "调平与网床配置指南的直接链接") #### 一、调平方式选择[​](#一调平方式选择 "一、调平方式选择的直接链接") * `Z_TILT_ADJUST` 与 `QUAD_GANTRY_LEVEL` 为互斥的调平方案。 * 请根据设备架构选择其中一种,不可同时使用。 * 如果机器没有对应调平方案,请删除或屏蔽对应配置。 * 执行调平后建议再次归位一次。 #### 二、网床配置规范[​](#二网床配置规范 "二、网床配置规范的直接链接") ``` BED_MESH_PROFILE LOAD=default ``` * 一次只能加载一个网床配置。 * `default` 为预设配置名称,如果网床名称不同,需要同步修改。 * 如果没有提前保存网床,执行该命令可能报错。 #### 三、标准网床探测命令[​](#三标准网床探测命令 "三、标准网床探测命令的直接链接") ``` BED_MESH_CALIBRATE horizontal_move_z=2 METHOD=rapid_scan ``` * `horizontal_move_z=2`:探测时喷嘴抬升高度,单位为 mm。 * `METHOD=rapid_scan`:采用快速扫描探测方式。 #### 四、自适应探测命令[​](#四自适应探测命令 "四、自适应探测命令的直接链接") ``` BED_MESH_CALIBRATE adaptive=1 ``` * 适用于支持自适应网床的配置。 * 常见于 `TAP`、`Klicky`、`PL08` 等传感器系统。 * 探测范围和移动方式由配置决定,使用前请确认探针偏移和网床范围正确。 ## 结束宏[​](#结束宏 "结束宏的直接链接") `PRINT_END` 用于定义打印结束后的动作,例如回抽、抬升 Z、关闭加热、关闭风扇、移动到停靠位置等。 printer.cfg ``` [gcode_macro PRINT_END] gcode: {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 回抽耗材 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬升 Z 轴 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 绝对定位 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## 切片宏设置[​](#切片宏设置 "切片宏设置的直接链接") * PrusaSlicer 为例 * OrcaSlicer 为例 - 选择 `Printer`。 - 将右上角的 `Beginner mode` 切换为 `Expert mode`。 - 选择 `Custom G-code`。 Loading... * 出现 `Start G-code` 后即可填写开始宏调用。 Loading... * 点击左上角的打印机配置图标。 Loading... * 点击 `Machine G-code`,出现 `Machine start G-code` 后即可填写开始宏调用。 Loading... --- # LED 警示灯配置 LED 警示灯(三色信号灯)用于直观显示打印机运行状态。本文介绍其接线方法和 Klipper 配置。 电压说明 LED 警示灯有多种输入电压规格,本文以 **24V** 版本为例进行说明,请根据实际使用的型号确认电压匹配。 ## 接线说明[​](#接线说明 "接线说明的直接链接") ### 线缆颜色定义[​](#线缆颜色定义 "线缆颜色定义的直接链接") | 颜色 | 功能 | 接线位置 | | -------- | -------- | ------------------------------------- | | **灰色** | 公共正极 | 接入 24V 电源正极(如风扇供电的 24V) | | **红色** | 红灯控制 | 接入主板风扇控制信号引脚 | | **绿色** | 绿灯控制 | 接入主板风扇控制信号引脚 | | **黄色** | 黄灯控制 | 接入主板风扇控制信号引脚 | ### 控制极性[​](#控制极性 "控制极性的直接链接") FLY 打印主板默认采用控制负极方式: * LED 警示灯的**正极**(灰色线)接 24V 电源 * LED 警示灯的**控制线**(红/绿/黄)接主板 GPIO 引脚 * 主板输出低电平时,对应颜色亮起 Loading... ## Klipper 配置[​](#klipper-配置 "Klipper 配置的直接链接") ``` [output_pin led_red] pin: # 红灯控制引脚 pwm: False value: 0 # 默认关闭 shutdown_value: 1 # Klipper 报错时自动亮起红灯 [output_pin led_green] pin: # 绿灯控制引脚 pwm: False value: 0 [output_pin led_yellow] pin: # 黄灯控制引脚 pwm: False value: 0 ``` 引脚说明 以上使用占位符表示控制引脚,请根据实际主板可用的 GPIO 进行修改。 红灯故障安全机制 红灯通过 `shutdown_value: 1` 实现故障安全: * **正常运行**:红灯由宏控制,正常状态下保持关闭 * **报错/断开**:Klipper 进入 Shutdown 状态时,自动将红灯设为开启,无需任何宏参与 * 这是一种硬件级的安全机制,即使宏逻辑出现问题,红灯也能正确指示故障 ## 状态宏[​](#状态宏 "状态宏的直接链接") ``` [gcode_macro LED_STATUS] description: 设置 LED 警示灯状态 gcode: {% set STATUS = params.STATUS|default("idle")|lower %} # 先关闭所有灯 SET_PIN PIN=led_red VALUE=0 SET_PIN PIN=led_green VALUE=0 SET_PIN PIN=led_yellow VALUE=0 # 根据状态设置灯光(低电平有效:VALUE=1 表示引脚输出低电平,灯亮) {% if STATUS == "printing" %} SET_PIN PIN=led_green VALUE=1 SET_PIN PIN=led_yellow VALUE=1 {% elif STATUS == "ready" %} SET_PIN PIN=led_green VALUE=1 {% elif STATUS == "warning" %} SET_PIN PIN=led_yellow VALUE=1 {% elif STATUS == "error" %} SET_PIN PIN=led_red VALUE=1 {% endif %} ``` ### 状态说明[​](#状态说明 "状态说明的直接链接") | 状态参数 | 灯光效果 | 使用场景 | | ---------- | --------- | ------------------------------ | | `printing` | 绿+黄灯亮 | 正在打印中 | | `ready` | 绿灯亮 | Klipper 已连接,打印机就绪 | | `warning` | 黄灯亮 | 警告状态(如温度异常但未报错) | | `error` | 红灯亮 | 发生错误,需要处理 | | `idle` | 全灭 | 空闲状态(默认) | 调用示例:`LED_STATUS STATUS=printing` ## 自动状态检测(可选)[​](#自动状态检测可选 "自动状态检测(可选)的直接链接") 如需自动检测 Klipper 状态而无需修改打印宏,可使用以下配置。 ``` # 状态变量宏(用于记录上次状态,避免重复刷新导致闪烁) [gcode_macro _LED_STATE] variable_last_status: "unknown" gcode: # 此宏仅存储变量,无需执行任何操作 # 自动状态检测 [delayed_gcode LED_AUTO_UPDATE] initial_duration: 1 gcode: {% set idle = printer.idle_timeout.state|string|upper %} {% set printing = printer.print_stats.state|string|upper %} {% set current = "unknown" %} # 判断当前状态 {% if printing == "PRINTING" or printing == "PAUSED" %} {% set current = "printing" %} {% elif idle == "READY" or idle == "IDLE" %} {% set current = "ready" %} {% endif %} # 只在状态变化时更新 LED,避免闪烁 {% set last = printer["gcode_macro _LED_STATE"].last_status %} {% if current != last %} SET_GCODE_VARIABLE MACRO=_LED_STATE VARIABLE=last_status VALUE='"{current}"' LED_STATUS STATUS={current} {% endif %} # 继续轮询 UPDATE_DELAYED_GCODE ID=LED_AUTO_UPDATE DURATION=1 ``` ### 状态判断逻辑[​](#状态判断逻辑 "状态判断逻辑的直接链接") | Klipper 状态 | 判断条件 | LED 效果 | | ------------ | ------------------------------------- | -------------------------------------- | | 打印中 | `print_stats.state = printing/paused` | 绿+黄灯亮 | | 已连接 | `idle_timeout.state = ready/idle` | 绿灯亮 | | 报错 | Klipper 进入 Shutdown | 红灯亮(由 `shutdown_value` 自动处理) | | 其他 | 未检测到上述状态 | 全灭 | ### 工作原理[​](#工作原理 "工作原理的直接链接") 1. `_LED_STATE` 宏存储上次状态,用于比较 2. `LED_AUTO_UPDATE` 每秒检测 Klipper 状态 3. 仅当状态变化时调用 `LED_STATUS` 更新灯光,避免闪烁 4. 当 Klipper 报错进入 Shutdown 时,`shutdown_value` 自动接管红灯 --- # 限位相关 本页面说明常见限位方式的接线、配置和状态检查方法。首次归位前,请先完成限位状态检查,确认触发逻辑正确。 安全提醒 * 限位接线操作必须断电进行。 * 归位前请将打印头移动到机器中间位置,并准备好急停或断电。 * 限位状态不正确时不要执行 `G28`,否则可能撞机。 ## 微动限位[​](#微动限位 "微动限位的直接链接") ### 三线微动限位注意事项[​](#三线微动限位注意事项 "三线微动限位注意事项的直接链接") 危险 FLY 主板用户请注意:三线微动限位开关不能直接连接到 FLY 主板。主板限位接口已经提供 5V 电源,如果三线微动开关接法错误,可能导致 5V 短路,烧毁主板、上位机或驱动。 处理方法: * 剪断三线限位开关 `XH2.54` 端子中对应的 5V 线,通常为红色线,实际请以线序为准。 * 剪断后使用绝缘胶带或热缩管包裹,避免短路。 Loading... ### 微动限位接线方法[​](#微动限位接线方法 "微动限位接线方法的直接链接") 注意 强烈推荐使用常闭口 NC。常闭接法在断线时更容易暴露异常,可降低撞机风险。 | 主板端子 | 功能 | 连接要求 | | -------- | ---- | -------- | | `5V` | 电源 | 悬空不接 | | `GND` | 接地 | 必须连接 | | `S` | 信号 | 必须连接 | 检测步骤: 1. 将万用表调至通断测试档。 2. 测试微动限位常闭端与公共端。 3. 未按压时应导通,蜂鸣器响。 4. 按压时应断开,无蜂鸣声。 5. 若结果相反,请检查是否误用了常开端 NO,或端子接触不良。 Loading... ### 微动限位参考配置[​](#微动限位参考配置 "微动限位参考配置的直接链接") 多数限位需要启用上拉电阻,因此引脚前需要添加 `^`。使用常闭 NC 限位时,通常还需要添加 `!` 反转状态。 printer.cfg ``` [stepper_x] endstop_pin: ^!PD9 ``` ## TAP[​](#tap "TAP的直接链接") ### 接线说明[​](#接线说明 "接线说明的直接链接") 危险 * 本教程使用 `FLY-SHT36 V2` 的 `BL-Touch` 接口作为示例。 * 部分 TAP 支持 12V 或 24V,但建议优先使用 5V 供电。 * `BL-Touch` 中间信号口无法作为限位口使用。 | 主板端子 | 功能 | 连接要求 | | -------- | ---- | -------- | | `5V` | 电源 | 必须连接 | | `GND` | 接地 | 必须连接 | | `S` | 信号 | 必须连接 | Loading... ### TAP 参考配置[​](#tap-参考配置 "TAP 参考配置的直接链接") printer.cfg ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe] pin: ^sht36:PC15 x_offset: 0 y_offset: 0 # z_offset: 0 speed: 3.0 lift_speed: 5 samples: 3 samples_result: median sample_retract_dist: 3.0 samples_tolerance: 0.075 samples_tolerance_retries: 3 activate_gcode: {% set PROBE_TEMP = 150 %} {% set MAX_TEMP = PROBE_TEMP + 5 %} {% set ACTUAL_TEMP = printer.extruder.temperature %} {% set TARGET_TEMP = printer.extruder.target %} {% if TARGET_TEMP > PROBE_TEMP %} { action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) } M106 S255 M109 S{ PROBE_TEMP } M106 S26 {% else %} {% if ACTUAL_TEMP > MAX_TEMP %} { action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) } TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP } {% endif %} {% endif %} ``` ## 光电限位[​](#光电限位 "光电限位的直接链接") 危险 * 本教程以 `EE-SX670WR` 为例。 * 传感器类型为 NPN 常闭开关。 * 光电开关使用 5V 供电。 * 如果需要使用 12V 或 24V 供电,请参考下方接近开关接法。 ### 接线说明[​](#接线说明-1 "接线说明的直接链接") | 主板端子 | 功能 | 连接要求 | | -------- | ---- | -------- | | `5V` | 电源 | 必须连接 | | `GND` | 接地 | 必须连接 | | `S` | 信号 | 必须连接 | `EE-SX670WR` 接线建议: | 光电开关 | 功能 | 连接要求 | | -------- | ---- | ------------------- | | 棕色 | 电源 | 必须连接 | | 蓝色 | 接地 | 必须连接 | | 黑色 | 信号 | 必须连接 | | 粉色 | 常闭 | 连接 GND 后使用常闭 | Loading... ### 光电限位参考配置[​](#光电限位参考配置 "光电限位参考配置的直接链接") printer.cfg ``` [stepper_x] endstop_pin: ^PD9 ``` ## 接近开关[​](#接近开关 "接近开关的直接链接") 危险 以欧姆龙接近开关 `TL-Q5MC2-Z` 为例,操作前请注意: * 传感器类型为 NPN 常闭开关。 * 需要自备 `BAT85` 二极管。 * 裸露线头必须做好绝缘处理,避免短路。 ### 接线步骤[​](#接线步骤 "接线步骤的直接链接") 1. 将二极管黑色端,也就是负极,接传感器信号线。 2. 将二极管另一端,也就是正极,接主板信号接口。 3. 使用热缩管或电工胶布包裹裸露线头。 Loading... ### 接近开关参考配置[​](#接近开关参考配置 "接近开关参考配置的直接链接") printer.cfg ``` [probe] pin: ^PC0 x_offset: 0 y_offset: 25.0 z_offset: 0 ``` ## 限位状态检查[​](#限位状态检查 "限位状态检查的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 1. 断电后手动将打印头移动到机器中间位置。 2. 开机并打开网页控制台。 3. 输入以下命令查看限位状态: ``` QUERY_ENDSTOPS ``` 接线与配置正确时,未触发的限位应显示为 `open`。 Loading... ### 触发测试[​](#触发测试 "触发测试的直接链接") 按住其中一个限位开关,不要松开,再次执行: ``` QUERY_ENDSTOPS ``` 被按下的限位状态应变为 `TRIGGERED`。例如按下 Y 限位时,Y 状态应从 `OPEN` 变为 `TRIGGERED`。 Loading... ### 结果判断[​](#结果判断 "结果判断的直接链接") | 现象 | 处理方法 | | ---------- | ---------------------------------------------- | | 状态未改变 | 检查限位开关接线和配置中的 `pin` 是否正确 | | 触发不灵敏 | 检查 `pin` 前是否添加上拉符号 `^`,例如 `^PC0` | | 状态相反 | 检查 `pin` 前是否需要添加或删除反转符号 `!` | 状态相反时: * 如果当前为 `^!PD9`,可尝试改为 `^PD9`。 * 如果当前为 `^PD9`,可尝试改为 `^!PD9`。 扩展功能 如果打印机未使用物理限位开关,请参考 [无限位使用指南](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/unlimited_positions)。 --- # 无限位使用 无限位归位也称 Sensorless Homing,通过 TMC 驱动的 `DIAG` 信号判断电机堵转,从而替代物理限位开关。 必备条件 必须同时满足以下条件: 1. 主板支持 `DIAG` 功能。 2. 驱动器支持 `DIAG` 信号输出。 3. 对应限位口不能接任何设备。 4. 机器结构适合使用无限位归位,运动部件撞到端点时不会造成损坏。 ## 主板兼容性检查[​](#主板兼容性检查 "主板兼容性检查的直接链接") | 类型 | 支持情况 | 代表型号 | 操作要求 | | ---- | ---------- | ------------------------------ | ---------------------- | | A 类 | 默认直连 | Super / Gemini / CDY / E3 系列 | 直接使用对应限位接口 | | B 类 | 需跳线启用 | D / C / Pro-X10 / Micro 系列 | 必须安装 `DIAG` 跳线帽 | | C 类 | 不支持 | Fly-F407ZG | 无法使用无限位功能 | 确认方法: 1. 查看主板是否有标注 `DIAG` 的跳线座。 2. 查阅原理图,确认驱动接口的 `DIAG` 信号是否连接到限位口。 3. 大部分主板为 `Drive0` 对应 `io0`、`Drive1` 对应 `io1`,依此类推。 A 类主板:没有 DIAG 跳线,默认直连对应限位口。 Loading... B 类主板:需要使用 DIAG 跳线。 Loading... ## 驱动兼容性检查[​](#驱动兼容性检查 "驱动兼容性检查的直接链接") 提示 `TMC5160`、`TMC2240` 与 `TMC2130` 通常有两个 `DIAG` 引脚,需要查看对应产品文档或咨询客服确认使用哪个引脚。 | 驱动型号 | 兼容性 | DIAG 引脚 | 配置要求 | 灵敏度范围 | | -------- | ------ | --------- | ------------------------------- | --------------------------------- | | TMC2209 | 支持 | 单引脚 | 直接使用 `diag_pin` | `0-255`,255 最敏感,0 最不敏感 | | TMC5160 | 支持 | 双引脚 | 选择 `diag0_pin` 或 `diag1_pin` | `-64-63`,-64 最敏感,63 最不敏感 | | TMC2240 | 支持 | 双引脚 | 选择 `diag0_pin` 或 `diag1_pin` | `-64-63`,-64 最敏感,63 最不敏感 | | TMC2130 | 支持 | 双引脚 | 选择 `diag0_pin` 或 `diag1_pin` | `-64-63`,-64 最敏感,63 最不敏感 | | TMC2208 | 不支持 | - | 无法使用无限位功能 | - | | TMC2660 | 不支持 | - | 无法使用无限位功能 | - | | LV8729 | 不支持 | - | 无法使用无限位功能 | - | ## 配置说明[​](#配置说明 "配置说明的直接链接") * 需要按实际驱动型号和轴名修改配置。 * `tmc2209_stepper_x` 中的 `tmc2209` 需要改成对应驱动型号。 * `stepper_x` 中的 `x` 代表 X 轴,如果配置 Y 轴,需要改为 `stepper_y`。 * 部分机器使用无限位归位时,回退会导致归位失败,需要将 `homing_retract_dist` 设置为 `0`。 ## 参考配置[​](#参考配置 "参考配置的直接链接") * TMC2209 参考配置 * TMC5160 参考配置 * TMC2130 参考配置 * TMC2240 参考配置 注意事项: * 下方引脚仅供参考,需要按实际主板修改。 * `diag_pin` 通常需要添加 `^`,否则可能导致归位失败。 * `driver_SGTHRS` 需要实测,255 最敏感,0 最不敏感。 printer.cfg ``` [stepper_x] endstop_pin: tmc2209_stepper_x:virtual_endstop position_endstop: 0 homing_retract_dist: 0 [tmc2209 stepper_x] diag_pin: ^PD9 driver_SGTHRS: 100 ``` 注意事项: * 下方引脚仅供参考,需要按实际主板修改。 * 需要查看产品手册确认使用 `diag0_pin` 还是 `diag1_pin`。 * `driver_SGT` 需要实测,-64 最敏感,63 最不敏感。 printer.cfg ``` [stepper_y] endstop_pin: tmc5160_stepper_y:virtual_endstop position_endstop: 0 homing_retract_dist: 0 [tmc5160 stepper_y] diag1_pin: ^!PD9 driver_SGT: 1 ``` 注意事项: * 下方引脚仅供参考,需要按实际主板修改。 * 需要查看产品手册确认使用 `diag0_pin` 还是 `diag1_pin`。 * `driver_SGT` 需要实测,-64 最敏感,63 最不敏感。 printer.cfg ``` [stepper_y] endstop_pin: tmc2130_stepper_y:virtual_endstop position_endstop: 0 homing_retract_dist: 0 [tmc2130 stepper_y] diag1_pin: ^!PD9 driver_SGT: 1 ``` 注意事项: * 下方引脚仅供参考,需要按实际主板修改。 * 需要查看产品手册确认使用 `diag0_pin` 还是 `diag1_pin`。 * `driver_SGT` 需要实测,-64 最敏感,63 最不敏感。 printer.cfg ``` [stepper_x] endstop_pin: tmc2240_stepper_x:virtual_endstop position_endstop: 0 homing_retract_dist: 0 [tmc2240 stepper_x] diag1_pin: ^!PD9 driver_SGT: 1 ``` ## 测试灵敏度[​](#sensitivity-test "测试灵敏度的直接链接") 测试安全 测试无限位时必须把打印头移动到机器中间位置,并随时准备执行 `M112` 急停。不要在高速或无人看守状态下测试。 ### 步骤 1:设置最高灵敏度[​](#步骤-1设置最高灵敏度 "步骤 1:设置最高灵敏度的直接链接") TMC2209: ``` SET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255 ``` TMC5160 / TMC2240 / TMC2130: ``` SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64 ``` ### 步骤 2:执行单轴归位[​](#步骤-2执行单轴归位 "步骤 2:执行单轴归位的直接链接") ``` G28 X ``` 如果轴没有开始移动、移动异常或无法停止,请立即执行: ``` M112 ``` 此时需要检查对应 `DIAG` 引脚接线、跳线帽和配置。 ### 步骤 3:逐步降低灵敏度[​](#步骤-3逐步降低灵敏度 "步骤 3:逐步降低灵敏度的直接链接") * TMC2209:逐步减少 `SGTHRS`。 * TMC5160 / TMC2240 / TMC2130:逐步增加 `sgt`。 * 每调整一次,都重新执行 `SET_TMC_FIELD` 和单轴归位测试。 目标是找到能让滑车稳定移动到端点并停止的最高可靠灵敏度。 ### 步骤 4:写回配置[​](#步骤-4写回配置 "步骤 4:写回配置的直接链接") 测试到合适值后,将该值写回 `printer.cfg` 对应驱动配置中。 如果最大灵敏度下仍有明显撞击声、点击声或无法稳定触发,通常说明归位速度过低、驱动电流过低、机械阻力异常,或该轴不适合使用无限位归位。 --- # 电源接线说明 重要警告 * 所有接线操作**必须在断电状态**下进行 * 接线前请仔细核对正负极,接反可能导致设备烧毁 ## 上位机供电[​](#上位机供电 "上位机供电的直接链接") 严禁使用主板 5V 为上位机供电 上位机(如树莓派、FLY-π 等)**不能**使用主板提供的 5V 供电。主板 5V 输出电流有限,无法满足上位机的功率需求,强行使用可能导致: * 上位机供电不足,系统不稳定或频繁重启 * 主板 5V 线路过载,烧毁主板或上位机 ### 推荐供电方式[​](#推荐供电方式 "推荐供电方式的直接链接") | 供电方式 | 说明 | 推荐程度 | | ------------------ | ------------------------------------------------------- | --------- | | 独立 5V 电源适配器 | 使用独立的 5V/3A 以上电源适配器直接为上位机供电 | ⭐ 最推荐 | | 风扇口 24V 转 5V | 利用主板风扇口的 24V 输出,通过 DC-DC 降压模块转换为 5V | 可选方案 | ### 独立电源适配器供电[​](#独立电源适配器供电 "独立电源适配器供电的直接链接") 直接使用符合规格的 5V 电源适配器通过 USB 或 GPIO 为上位机供电,这是最稳定可靠的方式。 **要求:** * 输出电压:5V * 输出电流:≥ 3A(推荐) * 接口匹配上位机的供电接口(USB-C / Micro USB / GPIO) ### 风扇口 24V 转 5V 供电[​](#风扇口-24v-转-5v-供电 "风扇口 24V 转 5V 供电的直接链接") 如果没有独立的 5V 电源,可以使用主板风扇口输出的 24V,通过 DC-DC 降压模块转换为 5V 为上位机供电。 **所需材料:** * DC-DC 降压模块(24V 转 5V,输出电流 ≥ 3A) **接线方法:** 1. 将降压模块的输入端(VIN+/VIN-)连接到主板风扇口的 24V 和 GND 2. 调节或确认降压模块输出为 5V 3. 将降压模块的输出端(VOUT+/VOUT-)连接到上位机的供电引脚 注意事项 * 使用前请用万用表确认降压模块输出电压为 **5V**(正常范围 4.75V-5.25V) * 确保降压模块的额定输出电流 ≥ 3A * 接线时注意正负极,接反会烧毁上位机 * **测量方法**:将万用表调至直流电压档(20V档),红表笔接VOUT+,黑表笔接VOUT- ## 电源安全检查[​](#电源安全检查 "电源安全检查的直接链接") 在接通电源前,请务必进行以下安全检查,确保设备安全运行,防止触电和设备损坏。 ### 漏电检测[​](#漏电检测 "漏电检测的直接链接") 工具说明 使用数字万用表的高阻档(20MΩ或200MΩ档)进行漏电检测。 #### 检测流程[​](#检测流程 "检测流程的直接链接") **第一步:整体设备漏电检测** 1. **断电操作**:确保设备完全断电,拔掉所有电源插头 2. **测量位置**: * 万用表的一个表笔接触设备金属外壳(机架、金属框架) * 另一个表笔依次接触电源插头的火线(L)和零线(N)插脚 3. **结果判断**: * **正常**:电阻值 > 10MΩ(显示"OL"或超过量程) * **注意**:电阻值在 2MΩ \~ 10MΩ 之间,绝缘性能下降,建议排查 * **异常**:电阻值 < 2MΩ,存在漏电风险,**禁止通电** **第二步:关键部件漏电检测** | 部件 | 测量位置 | 正常值 | 异常值 | | -------- | ---------------------------------- | ------ | ------ | | 热床 | 金属加热板表面 ↔ 电源接线端子 | > 10MΩ | < 2MΩ | | 步进电机 | 电机外壳 ↔ 绕组引脚(A+/A-/B+/B-) | > 10MΩ | < 5MΩ | | 加热头 | 金属部分 ↔ 加热棒/热电偶接线 | > 10MΩ | < 5MΩ | | 风扇 | 金属外壳 ↔ 电源线 | > 10MΩ | < 5MΩ | **第三步:异常排查** 如检测到漏电,按以下顺序排查: 1. 检查电源线绝缘层是否破损、老化 2. 检查内部接线是否接触到金属外壳 3. 检查电路板是否有污垢、灰尘或潮湿 4. 检查加热元件/电机绕组是否击穿 5. 检查部件安装是否使用绝缘垫片(特别是热床与金属框架之间) 安全建议 * **检测频率**:新设备首次使用前必须检测,之后每3-6个月检测一次 * **环境因素**:潮湿环境应增加检测频率 * **紧急处理**:发现漏电应立即断电检修,不可强行使用 * **测量注意**:测量时手不要接触表笔金属部分,以免影响测量结果 * **万用表限制**:普通万用表使用低电压(通常3-9V)测量,可能无法检测出高压下的绝缘问题。如电阻值在临界范围(2-10MΩ),建议重点关注 ### 地线检查[​](#地线检查 "地线检查的直接链接") 地线(接地线)是将设备金属外壳连接到大地的重要安全措施,能在漏电时将电流导入大地,保护人身安全。 **检查步骤:** 1. **接地连续性测试**: * 将万用表调至**导通档(蜂鸣档)** * 一个表笔接触设备接地端子(通常标有"GND"或接地符号 ⏚) * 另一个表笔接触电源插头的接地脚(三脚插头中最长的那个) * **正常结果**:应有蜂鸣声,电阻值接近 0Ω,表示接地通路良好 * **异常结果**:无蜂鸣声或电阻值过大,说明接地不良 2. **接地线外观检查**: * 检查接地线是否牢固连接,无松动、锈蚀 * 检查接地线是否有破损、断裂 * 确认插座接地端已正确接地(可使用插座检测仪) **地线的重要性:** * 防止触电,保护操作人员安全 * 减少电磁干扰,提高设备稳定性 * 防止静电积累,保护敏感电子元件 重要提醒 * 地线**不可省略**,必须确保可靠接地 * 如发现接地不良,请立即停止使用并修复 * 老旧建筑可能存在接地系统不完善的问题,建议请专业电工检查 --- # 资源下载 提示 请从左侧导航栏选择对应类型的资源进行下载。 注意事项 下载文件时请注意文件名称及页面提示,避免下载错误文件。 须知 部分文件可能存放于Github或网盘中,下载时请确保网络正常。 --- # FLYOS 文档 FLYOS 是面向 FLY 上位机和一体化主板提供的 Klipper 系统系列。本区域集中维护系统介绍、镜像烧录、功能配置、系统服务、维护排障和插件扩展文档。 不同硬件平台使用的镜像和配置参数可能不同。请先进入对应系统文档,再按照设备产品文档提供的参数完成配置。 ## 系统版本[​](#系统版本 "系统版本的直接链接") | 系统 | 说明 | 文档 | | ---------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | FLYOS-FAST | 提供 Klipper 运行环境、设备配置、摄像头与远程服务、打印功能和系统维护能力 | [查看 FLYOS-FAST 文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/) | 硬件参数 主板、上位机、屏幕和扩展板的接口及专用参数仍以 [产品文档](https://mellow.klipper.cn/docs/intro) 为准;通用 Klipper 报错请查看 [调试文档](https://mellow.klipper.cn/docs/debug-doc)。 --- # FLYOS-FAST 系统文档中心 这里按实际使用场景整理 FLYOS-FAST 文档。新用户建议先完成“入门与系统配置”,再按需展开其他分类。 ## 01 入门与系统配置[​](#01-入门与系统配置 "01 入门与系统配置的直接链接") | 文档主题 | 说明 | 链接 | | -------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------- | | 系统介绍 | 了解 FLYOS-FAST 的系统特性、适用设备和版本选择 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | 系统镜像烧录 | 为新设备首次烧录系统或重装系统 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/flash) | | SSH 连接 | 远程登录上位机,执行系统配置和维护命令 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/ssh) | | 系统配置指南 | 使用 Config Myprint 或浏览器完成初始配置 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) | | 静态 IP 设置 | 配置固定网络地址,便于长期访问设备 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/static_ip) | | 世界时区对照表 | 查询系统时区配置名称 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | ## 02 摄像头与远程服务[​](#02-摄像头与远程服务 "02 摄像头与远程服务的直接链接") | 文档主题 | 说明 | 链接 | | ---------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------- | | 摄像头连接与使用 | 配置 USB 摄像头和 Crowsnest 服务 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) | | GoCam 摄像头服务 | 使用 v1.4.0 测试版的 UVC 摄像头实时配置服务 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam) | | 延迟摄影功能 | 配置 moonraker-timelapse 相关功能 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse) | | Klipper Cloud 远程代理 | 开启、关闭远程服务并查询设备 ID | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/klipper-cloud) | ## 03 打印功能与数据保护[​](#03-打印功能与数据保护 "03 打印功能与数据保护的直接链接") | 文档主题 | 说明 | 链接 | | ------------------ | --------------------------------- | -------------------------------------------------------------------------------------- | | U盘打印功能 | 使用 U 盘读取并打印 G-code 文件 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | 断电关机与断电续打 | 配置断电保护相关功能 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | 堵料检测优化 | 配置并校准堵料检测功能 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/filament_blockage) | | U盘备份 | 使用 U 盘备份配置、日志和打印文件 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | ## 04 更新与维护[​](#04-更新与维护 "04 更新与维护的直接链接") | 文档主题 | 说明 | 链接 | | ------------ | ------------------------------ | --------------------------------------------------------------------------------- | | OTA 系统更新 | 通过网络或 U 盘升级 FLYOS-FAST | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | TF 卡烧录 | 使用 TF 卡为 M2WE 烧录系统 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/tf) | | 系统更新日志 | 查看 FLYOS-FAST 版本更新记录 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/Changelog) | ## 05 常见问题与排障[​](#05-常见问题与排障 "05 常见问题与排障的直接链接") | 文档主题 | 说明 | 链接 | | ------------------ | ------------------------------------ | ------------------------------------------------------------------------------- | | 使用指南与注意事项 | 查看系统限制、使用注意事项和常见问题 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | ## 06 测试功能[​](#06-测试功能 "06 测试功能的直接链接") | 文档主题 | 说明 | 链接 | | ----------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- | | AI Guard 测试功能 | 了解 AI 图像检测配置以及高系统负载带来的打印失败风险 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/experimental/ai-guard) | ## 07 第三方插件[​](#07-第三方插件 "07 第三方插件的直接链接") | 文档主题 | 说明 | 链接 | | ------------------- | ----------------------------------------------------- | --------------------------------------------------------------------------------------- | | 插件安装说明 | 安装插件前的通用规则和风险提示 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | | Klipper 版本切换 | 切换 Kalico 或 Klipper 官方版本 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/klipper) | | 扫床插件 | 安装 Beacon、IDM、Scanner、Cartographer3D 或 BDsensor | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/eddy) | | Happy-Hare | 安装 Happy-Hare 及其 KlipperScreen 界面 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/happy) | | klipper-toolchanger | 安装工具切换插件并使用当前配置示例 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/klipper-toolchanger) | --- ## [📄️AI Guard 测试功能](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/experimental/ai-guard) [ai-guard}](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/experimental/ai-guard) --- # AI Guard 扩展说明 AI Guard 是 FLYOS-FAST v1.4.0 测试版镜像预置的 Klipper 图像检测扩展,可定时读取摄像头画面并尝试识别炒面和拉丝等打印异常。 测试功能,极高打印失败风险 AI Guard 会持续获取摄像头图片并执行本地 AI 推理,明显增加 CPU、内存和存储负载。**一旦系统负载过高,极大概率造成 Klipper 调度异常、MCU 通信中断或打印任务直接失败。** * 不要在正式打印、长时间打印、无人值守打印或重要模型打印时启用。 * 仅可在能够随时停止的短时测试中使用,并持续观察系统负载和 Klipper 日志。 * AI 检测可能误报或漏报,不能替代人工监控,也不能作为打印机安全保护机制。 ## 版本和默认状态[​](#版本和默认状态 "版本和默认状态的直接链接") * 仅在 FLYOS-FAST v1.4.0 测试版镜像中确认。 * 系统预置 `fly_ai_guard` 扩展、模型文件和 `fly-ai.cfg` 示例。 * 默认 `printer.cfg` 没有加载 `fly-ai.cfg`,因此 AI Guard 默认不运行。 ## 启用前准备[​](#启用前准备 "启用前准备的直接链接") 1. 先确认摄像头快照地址能够返回正常图片。 2. 确认打印机当前没有执行打印任务。 3. 备份 `printer.cfg` 和 `fly-ai.cfg`。 4. 使用 `top` 观察未启用 AI Guard 时的系统负载,作为对比基准。 ## 参考配置[​](#参考配置 "参考配置的直接链接") 镜像中的示例文件位于: ``` /usr/share/printer_data/config/fly-ai.cfg ``` 使用 GoCam 时可参考: ``` [fly_ai_guard] camera: http://127.0.0.1:8080/snapshot cpu_affinity: 0,1,2 spaghetti_threshold: 0.5 stringing_threshold: 0.5 interval_time: 10.0 discover_count: 1 print_only: True pause_on_discover: False discover_gcode: M118 AI检测触发 ``` | 参数 | v1.4.0 镜像默认值 | 说明 | | --------------------- | ------------------------------------------ | --------------------------------------------------------------------------------- | | `camera` | `http://127.0.0.1/webcam/?action=snapshot` | AI Guard 读取的摄像头快照地址;使用 GoCam 时改为 `http://127.0.0.1:8080/snapshot` | | `cpu_affinity` | `0,1,2` | 允许 AI 工作进程使用的 CPU 核心编号 | | `spaghetti_threshold` | `0.5` | 炒面检测置信度阈值 | | `stringing_threshold` | `0.5` | 拉丝检测置信度阈值 | | `interval_time` | `10.0` | 两次检测之间的间隔,单位为秒 | | `discover_count` | `1` | 连续命中多少次后触发异常事件 | | `print_only` | `True` | 为 `True` 时仅在打印状态进行检测 | | `pause_on_discover` | `False` | 是否在达到触发次数后暂停打印 | | `discover_gcode` | `M118 AI检测触发` | 达到触发条件后执行的 G-code | 保持保守参数 * 初次测试保持 `pause_on_discover: False`,避免误识别直接暂停打印。 * 不要为了提高响应速度大幅缩短 `interval_time`,检测越频繁,系统负载越高。 * 不要仅凭一次测试就降低检测阈值或启用自动暂停。 ## 启用扩展[​](#启用扩展 "启用扩展的直接链接") 在 `printer.cfg` 中添加: ``` [include fly-ai.cfg] ``` 保存并重新启动 Klipper。首次测试不要开始打印,先通过 SSH 运行: ``` top ``` 同时查看 Klipper 日志: ``` tail -f /usr/share/printer_data/logs/klippy.log ``` 如果出现持续高负载、Klipper 调度异常、MCU 失联、摄像头取图失败或 AI worker 反复重启,应立即停用 AI Guard。 ## 停用扩展[​](#停用扩展 "停用扩展的直接链接") 从 `printer.cfg` 中删除或注释: ``` [include fly-ai.cfg] ``` 然后重新启动 Klipper。仅修改 `pause_on_discover` 并不能关闭 AI 推理;要停止资源占用,必须停止加载整个 `[fly_ai_guard]` 配置段。 ## 已知限制[​](#已知限制 "已知限制的直接链接") * 这是 v1.4.0 测试版功能,识别准确率和长期稳定性尚未完成验证。 * 推理负载会与 KlipperScreen、摄像头、延迟摄影、远程代理及其他插件叠加。 * 摄像头无信号、快照地址错误或网络取图超时会影响检测。 * 当前示例没有默认启用自动暂停,启用后仍可能因误报中断正常打印。 * 系统负载过高时,AI Guard 本身及打印控制都可能失效。 --- ## [📄️U 盘打印](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) [usb-print}](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) --- # 堵料检测优化 ## 功能说明[​](#功能说明 "功能说明的直接链接") FAST 1.3.8 版本对堵料检测功能进行了优化,提供了更精准的堵料检测能力和灵活的配置选项。该功能可以实时监测挤出机的出料情况,在检测到堵料或断料时自动暂停打印并提示用户。 重要提示 **系统版本要求**: 本功能需要 FlyOS-Fast 系统版本 **大于或等于 v1.3.8** 才能正常使用。 *** ## 配置方法[​](#配置方法 "配置方法的直接链接") * 将以下配置添加到 `printer.cfg` 文件中: * 请注意这是参考配置,具体参数可能需要根据实际情况进行调整 ``` [filament_blockage_detection my_sensor] switch_pin: ^PA10 extruder: extruder distance_per_edge: 0.232 detection_length: 3 pause_on_runout: True runout_gcode: M118 打印中堵料 insert_gcode: M118 空闲时恢复 ``` **参数说明**: | 参数 | 说明 | | ------------------- | -------------------------------------------------------------------------------------------------------- | | `switch_pin` | 堵料检测传感器的引脚,`^` 表示启用上拉电阻 | | `extruder` | 关联的挤出器名称 | | `distance_per_edge` | 传感器每次触发对应的耗材移动距离(毫米)。**该参数会在执行校准命令后自动计算并更新,无需手动设置初始值** | | `detection_length` | 检测长度阈值(毫米),超过此距离未触发传感器则判定为堵料 | | `pause_on_runout` | 检测到堵料时是否自动暂停打印 | | `runout_gcode` | 检测到堵料时执行的 G-code 命令 | | `insert_gcode` | 检测到耗材重新插入时执行的 G-code 命令 | 自动校准说明 `distance_per_edge` 参数在执行 `CALIBRATE_FILAMENT_BLOCKAGE` 校准命令后会自动计算最优值,并通过 `SAVE_CONFIG` 命令永久保存到配置文件中。初始配置时可以填写任意值,校准后会被自动覆盖。 *** ## 校准步骤[​](#校准步骤 "校准步骤的直接链接") 为确保检测精度,建议在使用前进行传感器校准。 ### 步骤 1:加热喷嘴[​](#步骤-1加热喷嘴 "步骤 1:加热喷嘴的直接链接") 将喷嘴加热至正常工作温度(推荐 220℃): ``` M104 S220 M109 S220 ``` ### 步骤 2:执行校准命令[​](#步骤-2执行校准命令 "步骤 2:执行校准命令的直接链接") 在喷嘴达到目标温度后,执行以下校准命令: ``` CALIBRATE_FILAMENT_BLOCKAGE SENSOR=my_sensor TEMPERATURE=220 ``` **命令说明**: * `SENSOR`: 传感器名称,与配置中的 `[filament_blockage_detection my_sensor]` 对应 * `TEMPERATURE`: 校准时的喷嘴温度 ### 步骤 3:保存校准结果[​](#步骤-3保存校准结果 "步骤 3:保存校准结果的直接链接") 校准完成后,系统会自动计算最优的 `distance_per_edge` 参数。如需手动保存,可执行: ``` SAVE_CONFIG ``` *** ## 重要提醒[​](#重要提醒 "重要提醒的直接链接") 固件更新要求 **升级到 FAST 1.3.8 后必须更新下位机固件**,否则堵料检测功能可能无法正常工作。 请参考 [屏幕固件更新](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/flash) 文档完成固件升级。 *** ## 故障排查[​](#故障排查 "故障排查的直接链接") ### 问题 1:堵料检测不触发[​](#问题-1堵料检测不触发 "问题 1:堵料检测不触发的直接链接") **可能原因**: * 传感器未正确连接 * `switch_pin` 配置错误 * 下位机固件未更新 **解决方法**: 1. 检查传感器硬件连接 2. 确认引脚配置与实际硬件一致 3. 更新下位机固件至最新版本 ### 问题 2:误报堵料[​](#问题-2误报堵料 "问题 2:误报堵料的直接链接") **可能原因**: * `distance_per_edge` 参数不准确 * `detection_length` 阈值设置过小 **解决方法**: 1. 重新执行校准命令 2. 适当增加 `detection_length` 值(建议 3-5mm) ### 问题 3:校准失败[​](#问题-3校准失败 "问题 3:校准失败的直接链接") **可能原因**: * 喷嘴温度未达到要求 * 传感器硬件故障 **解决方法**: 1. 确认喷嘴已加热至指定温度 2. 检查传感器是否正常工作 3. 尝试重新启动 Klipper 服务 *** ## 使用建议[​](#使用建议 "使用建议的直接链接") * 建议在每次更换耗材品牌或直径时重新校准传感器 * 定期检查传感器状态,确保检测精度 * 如长时间未使用堵料检测功能,建议重新校准后再使用 *** --- # 断电关机与断电续打 重要须知 * **断电关机**与**断电续打**功能互相冲突,无法同时启用。 * 若仅启用断电关机功能,则无法使用断电续打功能。 * 断电续打需要 Klipper 保持正常连接。功能触发后,系统会自动进入关机流程。 ## 功能配置[​](#功能配置 "功能配置的直接链接") * 断电关机 * 断电续打 ## 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") ### 进入设备配置[​](#进入设备配置 "进入设备配置的直接链接") 1. 在浏览器地址栏输入设备 IP 地址,例如 `http:///`。 2. 显示隐藏文件。 * Fluidd:取消勾选“筛选隐藏的文件和文件夹”。 * Mainsail:勾选“显示隐藏文件”。 Fluidd 隐藏文件设置: Loading... Mainsail 隐藏文件设置: Loading... ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") 1. 找到并进入 `.flyos-config` 文件夹。 2. 打开 `sys-config.conf` 文件。该文件是 `FlyOS-Conf` 磁盘中 `config.txt` 的软链接。 Loading... 3. 找到 `shutdown_pin_state` 与 `shutdown_pin` 配置项,修改为: ``` shutdown_pin_state=1 shutdown_pin= ``` 4. 确保 `shutdown_pin=none` 已被删除或注释。 5. 保存修改后的配置文件并重启系统。 Loading... ## 配置断电续打[​](#配置断电续打 "配置断电续打的直接链接") ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 需要关闭断电关机,否则无法使用断电续打功能。 * 断电续打中包含保存进度后自动关机功能。 * 请确认没有其他供电接到上位机上,否则可能无法正常关机。 1. 在浏览器地址栏输入设备 IP 地址,例如 `http:///`。 2. 显示隐藏文件。 * Fluidd:取消勾选“筛选隐藏的文件和文件夹”。 * Mainsail:勾选“显示隐藏文件”。 3. 进入 `.flyos-config` 文件夹,打开 `sys-config.conf` 文件。 4. 找到 `shutdown_pin_state` 与 `shutdown_pin` 配置项,并在这两个配置前面添加 `#` 进行注释。 5. 保存修改后的配置文件并重启系统。 Loading... ### 添加断电续打配置[​](#添加断电续打配置 "添加断电续打配置的直接链接") 1. 在打印机配置页面中,找到或创建 `plr.cfg` 文件。 2. 清空文件内容,粘贴以下配置。 3. 请根据实际设备修改 `power_pin` 参数。**必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: is_shutdown: True paused_recover_z: -2.0 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` ### 包含配置文件[​](#包含配置文件 "包含配置文件的直接链接") 打开 `printer.cfg` 文件,在文件最前面添加: ``` [include plr.cfg] ``` 保存并重启 Klipper。 ### 配置归位覆盖[​](#配置归位覆盖 "配置归位覆盖的直接链接") 重要注意事项 * 如果使用 `[homing_override]`,不要在配置中随意设置归位位置。 * 不正确的配置可能导致断电续打失败。 ``` [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 %} ``` ## 功能测试[​](#功能测试 "功能测试的直接链接") ### 模拟断电测试[​](#模拟断电测试 "模拟断电测试的直接链接") 1. 开始打印任意文件。 2. 在打印过程中点击**紧急停机**按钮,模拟断电情况。 3. 点击**固件重启**,等待 Klipper 重新连接。 4. 观察网页界面是否出现弹窗提示。 5. 后续可进行真实断电测试验证功能可靠性。 ### 真实断电测试[​](#真实断电测试 "真实断电测试的直接链接") 1. 确认上位机旁的指示灯状态,正常运行时应有 LED 闪烁。 2. 在设备正常运行状态下直接断开电源。 3. 观察指示灯是否在 5 秒内完全熄灭。 4. 等待至少 5 秒后重新接通电源。 5. 如果出现续打弹窗,说明断电续打功能正常。 --- # FAST 系统 U盘备份指南 本文档介绍如何使用 U 盘备份系统配置,确保打印机设置和重要文件安全存储。 > **功能版本记录**: > > * **V1.3.2**: 新增 U 盘配置备份功能 *** ## 配置备份操作指南[​](#配置备份操作指南 "配置备份操作指南的直接链接") 通过 U 盘备份系统配置,确保重要设置和文件安全存档,防止意外丢失。 ### 备份准备[​](#备份准备 "备份准备的直接链接") #### U盘要求[​](#u盘要求 "U盘要求的直接链接") * 格式化为 `FAT32` 文件系统 * 建议容量 `8GB` 或以上 * 确保 U 盘有足够可用空间 #### 文件夹创建[​](#文件夹创建 "文件夹创建的直接链接") 在 U 盘根目录下按照以下结构创建文件夹: 1. 首先在 U 盘根目录创建 `printer_data` 文件夹 2. 然后在 `printer_data` 文件夹内创建三个子文件夹: ``` printer_data/ ├── config/ ├── logs/ └── gcodes/ ``` > **操作提示**: > > 1. 在 U 盘根目录右键,新建文件夹并命名为 `printer_data` > 2. 双击进入 `printer_data` 文件夹 > 3. 分别新建三个文件夹: `config`、`logs`、`gcodes` ### 备份执行步骤[​](#备份执行步骤 "备份执行步骤的直接链接") 1. **插入 U 盘** * 将准备好的 U 盘插入设备 USB 接口 * 系统会自动识别并开始备份过程 2. **自动备份** * 系统会将设备内部对应文件夹的**所有文件** * 自动复制到 U 盘的 `printer_data` 文件夹下的三个对应子文件夹中 3. **完成验证** * 备份完成后,安全弹出 U 盘 * 可在电脑上查看 U 盘内文件,确认备份成功 重要注意事项 * 如果 U 盘的文件夹内已有同名文件,会被**覆盖** * 建议使用空 U 盘或确保文件可被覆盖 * 备份过程中请勿拔出 U 盘,以免数据损坏 * 定期备份可最大限度降低数据丢失风险 ### 备份内容说明[​](#备份内容说明 "备份内容说明的直接链接") | 备份文件夹 | 包含内容 | 建议 | | ---------- | ---------------------- | -------- | | **config** | 打印机配置文件、宏定义 | 必须备份 | | **logs** | 系统日志、打印记录 | 建议备份 | | **gcodes** | 打印文件、切片数据 | 按需备份 | *** **备份建议**: 建议在每次重要配置修改后执行备份,并定期将备份文件存储到其他安全位置。 --- # U 盘打印功能使用指南 FLYOS-FAST 可以自动挂载 U 盘,并在网页文件管理器或本机屏幕中浏览和打印其中的 G-code 文件。本文所述逻辑已按 H3、H5、H618 的 v1.3.10 正式镜像以及 H618 v1.4.0 测试镜像核对。 ## 工作原理[​](#工作原理 "工作原理的直接链接") U 盘分区会作为一个以 `U_` 开头的文件夹挂载到 G-code 目录。选择其中的文件开始打印时,系统会先将完整文件复制到本地: ``` /usr/share/printer_data/gcodes/.UDISK/tmp.gcode ``` 复制完成后,Klipper 才会从这个本地临时文件执行打印。开始下一次 U 盘打印时,临时文件会被覆盖。 等待复制完成后再拔出 U 盘 复制刚开始时,网页可能已经显示为“打印中”,该状态不代表文件已经复制完成。请在控制台看到以下提示后再拔出 U 盘: ``` Copy files from removable disk completed ``` 也可以等待打印机已经开始执行加热或运动后再拔出。复制过程中拔出 U 盘会导致复制失败,当前打印无法正常开始。 ## U 盘和文件要求[​](#u-盘和文件要求 "U 盘和文件要求的直接链接") | 项目 | 支持范围 | 建议 | | -------- | ---------------------- | -------------------------------------- | | 文件系统 | FAT32、exFAT、NTFS | 优先使用 FAT32 或 exFAT | | 文件格式 | `.gcode`、`.g`、`.gco` | 优先使用 `.gcode` | | 文件位置 | U 盘根目录或多级文件夹 | 按模型分类存放即可 | | U 盘容量 | 没有固定的最低容量限制 | 保留足够空间并确认文件完整 | | 文件名 | 支持 UTF-8、空格和中文 | 为提高跨平台兼容性,建议使用简短文件名 | 不支持直接打印 `.stl`、`.obj` 等模型文件或切片工程文件;必须先通过切片软件生成 G-code。 Windows 文件后缀显示 Windows 可能隐藏已知文件的扩展名。请在文件资源管理器中勾选 **文件扩展名**,确认文件最终扩展名确实为 `.gcode`、`.g` 或 `.gco`,避免出现 `模型.gcode.txt`。 ## 使用步骤[​](#使用步骤 "使用步骤的直接链接") 1. 将切片生成的 G-code 文件复制到 U 盘根目录或文件夹中。 2. 将 U 盘插入上位机 USB 接口。 3. 打开 Fluidd、Mainsail 或本机屏幕的文件列表。 4. 找到以 `U_` 开头的文件夹;如果没有立即出现,请刷新文件列表。 5. 打开 U 盘文件夹,选择需要打印的 G-code 文件。 6. 确认文件和预览信息无误后,仅点击一次“开始打印”。 7. 等待控制台显示复制完成,系统随后会自动开始执行本地临时文件。 一次只启动一个复制任务 复制过程中不要重复点击“开始打印”,也不要选择第二个 U 盘文件。当前版本的所有 U 盘打印任务共用同一个 `tmp.gcode`,并发复制可能覆盖文件并导致打印异常。 ## 拔出 U 盘[​](#拔出-u-盘 "拔出 U 盘的直接链接") * 已确认文件复制完成后,普通 U 盘可以拔出,当前任务将继续读取本地临时文件。 * 如果控制台仍显示 `Copying file`,不要拔出 U 盘。 * 如果没有出现任何复制进度或完成提示,不要在打印过程中拔出。部分 USB 硬盘盒或 USB SSD 可能没有被系统识别为可移动设备,此时 Klipper 可能直接读取外部文件。 * 如果通过网页对 U 盘执行了上传、删除或重命名操作,应等待操作完成后再拔出。 ## 已知限制[​](#已知限制 "已知限制的直接链接") * 自动挂载只处理带常规分区的 USB 存储设备。没有分区表的 U 盘可能无法显示,可在电脑上重新创建分区并格式化。 * 不要同时插入两只厂商、型号、容量和分区结构完全相同的 U 盘;它们可能生成相同的挂载目录并发生冲突。 * 当前自动识别规则只覆盖常见的单数字分区,例如 `/dev/sda1`。特殊的多分区存储设备可能无法自动挂载所有分区。 * U 盘打印依赖本地剩余空间。G-code 文件越大,开始打印前等待复制的时间越长。 ### 文件显示但无法开始打印[​](#文件显示但无法开始打印 "文件显示但无法开始打印的直接链接") 1. 确认扩展名为 `.gcode`、`.g` 或 `.gco`。 2. 确认 G-code 文件可以在切片软件中正常预览。 3. 检查上位机本地剩余空间: ``` df -h /usr/share/printer_data/gcodes ``` 4. 查看 Klipper 日志中的文件复制或打开错误: ``` tail -n 100 /usr/share/printer_data/logs/klippy.log ``` ### 本地上传正常,但 U 盘打印无法开始[​](#本地上传正常但-u-盘打印无法开始 "本地上传正常,但 U 盘打印无法开始的直接链接") 部分切片软件会使用 GBK、ANSI 等非 UTF-8 编码保存中文注释: * 通过网页上传到本地 G-code 目录后,Klipper 会忽略无法解码的字符,因此文件可能正常打印。 * 从 U 盘选择文件时,系统会先复制到 `.UDISK/tmp.gcode`,随后严格按照 UTF-8 读取;遇到非 UTF-8 字节时可能无法开始打印。 Klipper 日志中可能出现类似错误: ``` UnicodeDecodeError: 'utf-8' codec can't decode byte ``` 中文文件名通常不是原因 中文、下划线和连字符可以正常用于文件名。仅将文件重命名为英文不会改变文件内部编码,也不能解决这个问题。 请使用以下任一方法处理: 1. 优先在切片软件中重新导出,并将 G-code 文本编码设置为 UTF-8。 2. 使用支持编码转换的文本编辑器,将整个 G-code 文件转换并保存为 UTF-8;不要只修改扩展名。 3. 如果切片软件无法选择编码,可删除文件头部的非 UTF-8 中文注释后重新保存。不要修改实际运动、温度和挤出指令。 4. 临时情况下可通过网页将文件上传到本地 G-code 目录后再打印。 对于体积较大的 G-code,建议重新切片或使用专用文本工具转换,不要直接在浏览器中编辑整个文件。 ### 复制失败后一直显示“打印中”[​](#复制失败后一直显示打印中 "复制失败后一直显示“打印中”的直接链接") 先确认打印机没有执行加热、运动或其他打印操作,然后重新启动 Klipper: ``` systemctl restart klipper ``` 重新插入 U 盘并再次打印。如果问题重复出现,请更换 U 盘,并向技术支持提供以下两个日志: ``` /var/log/flyos-auto-mount.log /usr/share/printer_data/logs/klippy.log ``` --- ## [📄️系统介绍](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) --- # FAST系统镜像烧录 ## FLYOS-FAST v1.4.0 下载[​](#flyos-fast-v140-下载 "FLYOS-FAST v1.4.0 下载的直接链接") 以下网盘包含 FLYOS-FAST v1.4.0 系统镜像及对应更新包: Loading... 测试版本 v1.4.0 当前为测试版本。请先确认系统镜像与设备型号匹配,再按下方流程烧录。 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FlyOS-Fast 系统介绍 FLYOS-FAST 是面向 3D 打印场景优化的轻量化 Linux 系统,为 FLY 系列上位机和集成式主板提供统一的打印控制、网页管理、本地屏幕、摄像头及系统更新环境。 镜像核对说明 本文中的系统结构和共通功能已按 H3、H5、H618 平台的 v1.3.10 正式镜像核对。不同平台支持的设备、屏幕接口和板载 MCU 维护方式存在差异,请根据实际硬件选择对应镜像。 ## 系统设计[​](#系统设计 "系统设计的直接链接") * **只读系统槽**:正式镜像包含两个内容一致的 SquashFS 系统槽,OTA 更新可在 A/B 槽之间切换,降低更新中断导致系统无法启动的风险。 * **独立配置分区**:TF 卡上的 `FlyOS-Conf` 分区保存 `config.txt`,无需进入 Linux 系统即可预先设置网络、设备型号、屏幕和打印模式。 * **持久化用户数据**:系统通过独立数据分区保存 `/etc`、`/data`、`/root` 和当前打印模式的数据目录,核心系统仍保持只读。 * **精简运行环境**:`root` 是唯一的交互式管理账户;系统不提供 `apt`、`dpkg` 等传统软件包管理器,常用运行环境和维护工具已随镜像预装。 * **按需启动服务**:Klipper、RRF、KlipperScreen、FLY Screen、Crowsnest 和 Moon2UART 等服务会根据 `config.txt` 的选项启动,未启用的功能不会随系统同时运行。 ## 主要功能[​](#主要功能 "主要功能的直接链接") | 功能类别 | 系统能力 | 使用说明 | | -------- | ----------------------------------------------- | ------------------------------------------------------------------ | | 打印系统 | Klipper 或 RRF | 通过 `printer` 选择,两种模式不会同时启动 | | 网页界面 | Fluidd 或 Mainsail | Klipper 模式下通过 `klipper_webui` 选择 | | 本地显示 | HDMI、适配的 FLY-TFT、KlipperScreen、FLY Screen | 可用接口和屏幕型号取决于设备平台,支持通过配置调整显示方向 | | 串口屏 | Moon2UART | 可单独设置串口设备和波特率 | | 摄像头 | Crowsnest | 默认关闭,需要时在系统配置中启用 | | 网络管理 | 有线网络、Wi-Fi、SSH | v1.3.9 起,有线网口可自动识别直连 PC 或路由器 | | 系统维护 | A/B OTA、U 盘更新、完整镜像烧录 | 更新方式和升级要求以对应版本的更新说明为准 | | 固件资源 | Klipper、Katapult 和常用 MCU 固件 | 部分集成式设备支持自动维护板载 MCU;外接主板仍需按对应主板教程操作 | 不要单独更新系统组件 FLYOS-FAST 中的 Klipper、Moonraker、网页界面和屏幕服务经过配套适配。请通过系统 OTA 或完整镜像更新,不要使用第三方脚本单独替换这些组件。 ## 选择正确的系统镜像[​](#选择正确的系统镜像 "选择正确的系统镜像的直接链接") FLYOS-FAST 根据上位机芯片分为 H3、H5 和 H618 镜像。镜像名称中的平台必须与实际设备匹配,不同平台的镜像不能混用。 | 镜像平台 | 适用设备 | 常用 `board` 配置值 | | -------- | ---------------------------------------------- | ---------------------------------------------------------------------------------- | | H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | `fly-c5`、`fly-c5-v1.1`、`fly-c8p`、`fly-pi-v3` | | H5 | FLY-Pi、FLY-Pi V2、FLY-Gemini V1/V2/V3、FLY-C8 | `fly-pi`、`fly-pi-v2`、`fly-gemini-v1`、`fly-gemini-v2`、`fly-gemini-v3`、`fly-c8` | | H3 | FLY-Lite2、FLY-Lite2.1、FLY-MiniPad | `fly-lite2`、`fly-lite2.1`、`fly-minipad` | 设备型号必须匹配 `board` 会影响串口、SPI、屏幕等硬件接口配置。请使用对应产品文档给出的值,不要复制其他设备或其他平台的配置。 ## 平台差异[​](#平台差异 "平台差异的直接链接") FLYOS-FAST 的打印服务和管理方式在三个平台上保持一致,但底层硬件配置并不通用: * **H618**:C5、C5 V1.1 和 C8P 可按产品配置维护板载 MCU;Pi V3 是独立上位机,外接主板需单独烧录。 * **H5**:不同设备使用的板载接口、屏幕和固件路径不同,应进入对应产品文档配置。 * **H3**:Lite2、Lite2.1 和 MiniPad 的板载接口及屏幕选项不同,应按具体型号选择配置。 FLYOS-FAST v1.4.0 目前是测试版,不代表正式版本。测试版变化和已知问题请查看[系统更新日志](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/Changelog)。正式使用时,请优先选择下载页面提供的对应平台正式镜像。 > **下一步**:[查看系统镜像烧录教程](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/flash) > **系统配置**:[查看 FLYOS-FAST 快速配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) --- # FLYOS-FAST 系统配置指南 本指南用于设置 FLYOS-FAST 的设备平台、网络、打印环境、屏幕、摄像头和 CAN 通信。H3、H5、H618 的系统服务使用方式相近,但硬件相关选项不能跨平台复制。 ## 配置前确认[​](#配置前确认 "配置前确认的直接链接") 开始前先确认以下信息: | 项目 | 需要确认的内容 | | -------- | ---------------------------------------------------------- | | 系统镜像 | 镜像平台与设备芯片一致:H3、H5 或 H618 | | 设备型号 | 用于选择正确的 `board` | | 打印环境 | 使用 Klipper 还是 RRF | | 本地显示 | 无屏幕、HDMI、FLY-TFT、KlipperScreen、FLY Screen 或串口屏 | | 摄像头 | 不启用、Crowsnest,或 FLYOS-FAST v1.4.0 测试版的 GoCam | | CAN 速率 | 主板、工具板和系统统一使用 `1000000`、`500000` 或 `250000` | 优先设置 `board` `board` 会影响串口、SPI、屏幕和板载 MCU 等硬件配置。选择错误可能造成接口不可用、屏幕异常或首次启动固件处理错误。不要先复制完整配置再修改设备名,应从当前镜像的原始 `config.txt` 开始逐项设置。 ## 推荐配置顺序[​](#推荐配置顺序 "推荐配置顺序的直接链接") 1. 选择与设备匹配的系统镜像和 `board`。 2. 设置 Wi-Fi、时区和打印机名称。 3. 选择 `printer=klipper` 或 `printer=rrf`。 4. 选择实际屏幕类型和屏幕 UI。 5. 按需启用摄像头或 Moon2UART,一项一项测试。 6. 使用 CAN 时统一设置全部设备的速率。 7. 保存后重新启动,并逐项确认服务和硬件接口。 ## 选择配置方式[​](#选择配置方式 "选择配置方式的直接链接") * Config Myprint * 直接修改配置文件 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ## 按平台查看配置项[​](#按平台查看配置项 "按平台查看配置项的直接链接") * H618:C5 / C8P / Pi V3 * H3 / H5 设备 ### H618 配置项[​](#h618-配置项 "H618 配置项的直接链接") 以下默认值和可选值已按 H618 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对;v1.4.0 测试镜像新增的配置会单独标注。 #### 无线网络[​](#无线网络 "无线网络的直接链接") `WIFI_SSID` 和 `WIFI_PASS` 在每次启动时读取。使用开放网络时密码可以留空;使用加密网络时,两项都要填写。 | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时自动连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。系统已完成首次启动后,再修改这些项目不会重新执行初始化。 | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | -------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------- | | `language` | `zh-CN` | `zh-CN`、`en`、`ja`、`ko` 等镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 任意不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | `/usr/lib/firmware/klipper/stm32h723-128k-usb.bin` | 镜像内固件路径,或 `/config/klipper.bin` | C5、C5 V1.1、C8P 首次启动时可按 `board` 自动烧录板载 MCU;Pi V3 不会用该项烧录外接主板 | 自动烧录条件 自动烧录只在首次启动标记存在、`board` 和 `firmware` 均有效且固件文件存在时执行。不要为了重复烧录而手动创建首次启动标记;后续固件维护请使用对应主板的固件烧录教程。 #### 系统与主板[​](#系统与主板 "系统与主板的直接链接") 以下设置会在每次启动时读取。 | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------- | | `board` | `none` | `fly-c5`、`fly-c5-v1.1`、`fly-c8p`、`fly-pi-v3` | 选择实际设备型号;该值会影响 H618 的串口和 SPI 外设配置 | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `printer` | `klipper` | `klipper`、`rrf` | 选择要启动的打印控制环境 | | `console` | `serial` | `serial`、`both` | 设置系统控制台;无明确需求时保持默认 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 设置系统 CAN 接口速率,必须与总线上的所有 CAN 设备一致 | 正确选择 `board` 镜像原始配置为 `board=none`,设备会优先尝试读取硬件识别结果;仍无法识别时,H618 v1.3.10 会回退为 `fly-c5`。因此 C8P、C5 V1.1 和 Pi V3 用户应在首次启动前明确选择自己的设备型号,不要依赖回退值。 不同 `board` 值启用的 H618 外设如下。此表只用于说明选择错误的影响,不代表这些串口或 SPI 接口可以随意改作其他用途。 | `board` 配置值 | 系统启用的板载外设 | | -------------- | --------------------------- | | `fly-c5` | UART1 | | `fly-c5-v1.1` | UART1、SPI1.2 | | `fly-c8p` | UART1、UART3、UART4、SPI1.2 | | `fly-pi-v3` | UART1、UART3、UART4、SPI1.2 | #### 屏幕与界面[​](#屏幕与界面 "屏幕与界面的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ---------------------------------------------- | ----------------------------------------------------------------------------------------- | | `screen` | `hdmi` | `none`、`hdmi`、`fly-tft-v2-r`、`fly-tft-v2-c` | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认为 `0` 度,FLY-TFT 默认为 `90` 度;HDMI 显示和触摸方向也会应用手动角度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 实际串口设备路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口通信速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。使用 FLY Screen 时,应设置 `klipper_screen=0`、`fly_screen=1`。 OTA 升级保留旧配置 从旧版本 OTA 升级后,`config.txt` 可能缺少 `fly_screen`、`m2u_port` 或 `m2u_baud`。需要相应功能时,可参照上表补充配置项。 #### Klipper 网页与摄像头[​](#klipper-网页与摄像头 "Klipper 网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | ---------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭摄像头服务 | v1.4.0 测试版配置 | 配置项 | 默认值 | 可选值 | 说明 | | ------- | ------ | -------- | ------------------------- | | `gocam` | `0` | `0`、`1` | 启用 GoCam UVC 摄像头服务 | v1.3.10 正式版没有 `gocam`。v1.4.0 测试版中如果 `crowsnest=1` 与 `gocam=1` 同时设置,系统会优先启动 Crowsnest。使用 GoCam 时应明确设置 `crowsnest=0`、`gocam=1`。 > **GoCam 使用方法**:[查看 GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam) #### 断电关机[​](#断电关机 "断电关机的直接链接") H618 v1.3.10 的原始配置中,`shutdown_pin_state` 与 `shutdown_pin` 默认被注释,即不启用断电关机检测。不同产品和硬件版本的触发电平可能不同,请按对应产品的“断电关机与断电续打”文档填写,不要直接复制其他设备的值。 功能互斥 断电关机与断电续打不能同时启用。需要断电续打时,请保持断电关机检测关闭。 #### 高级配置[​](#高级配置 "高级配置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------- | ----------- | ------------------------------- | ------------------------------------ | | `spidev` | `spidev0.0` | 产品文档明确给出的 SPI 设备组合 | 控制提供给 Linux 用户空间的 SPI 设备 | `spidev`、`overlays` 等项目用于底层硬件启用。没有产品教程明确要求时,请保持镜像默认值,并且不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 之后的内容。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 ## 常用功能组合[​](#常用功能组合 "常用功能组合的直接链接") | 目标 | 关键配置 | 注意事项 | | ---------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | 仅使用网页,无本地屏幕 | `screen=none`、`klipper_screen=0`、`fly_screen=0` | Moon2UART 串口屏可按需独立启用 | | HDMI + KlipperScreen | `screen=hdmi`、`klipper_screen=1`、`fly_screen=0` | `rotate` 设置显示和触摸方向 | | 使用 FLY Screen | `klipper_screen=0`、`fly_screen=1` | `screen` 仍需选择实际显示接口 | | 使用 Crowsnest | `crowsnest=1` | v1.4.0 测试版同时应保持 `gocam=0` | | 使用 GoCam | `crowsnest=0`、`gocam=1` | 仅适用于 v1.4.0 测试版镜像;[查看教程](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam) | | 使用 Moon2UART | `moon2uart=1` | 同时核对 `m2u_port` 与 `m2u_baud` | | 使用 CAN | 设置统一的 `canbus_bitrate` | 系统、主板和全部 CAN 节点必须一致 | ## 重启后的完成检查[​](#重启后的完成检查 "重启后的完成检查的直接链接") | 检查项 | 正常结果 | | -------- | ------------------------------------------------ | | 网络 | 可以通过设备 IP 或直连地址 `10.10.10.1` 打开网页 | | 设备平台 | 串口、SPI 和板载功能与实际产品一致 | | 打印服务 | Klipper 或 RRF 只启动所选环境 | | 屏幕 | 显示、触摸和旋转方向正常 | | 摄像头 | 只运行 Crowsnest 或 GoCam 中选择的一项 | | CAN | 所有节点能够被查询且无速率不一致报错 | 一次只修改一组相关选项。出现异常时先恢复该组配置,不要同时改动 `board`、屏幕、CAN 和高级硬件参数,以免无法判断问题来源。 --- # 通过 SSH 连接 FLYOS-FAST SSH 用于从电脑远程登录 FLYOS-FAST 上位机,执行系统配置、固件编译、日志查看和维护命令。日常操作应优先使用网络 SSH;串口终端主要用于设备尚未联网或网络异常时的应急登录。 SSH 与串口终端的区别 网络 SSH 通过设备 IP 的 `22` 端口连接,适合固件编译、文件传输和长期维护。串口终端通过 USB 串口进入系统控制台,并不是真正的 SSH,只建议用于首次配置或网络故障排查。 ## 连接前准备[​](#连接前准备 "连接前准备的直接链接") * 确认系统镜像已经烧录,设备已正常启动。 * 使用网络 SSH 时,电脑和设备需要位于同一局域网;也可以使用支持直连的有线网口。 * Windows 建议准备 MobaXterm;macOS 和 Linux 可以直接使用系统终端中的 `ssh` 命令。 * FLYOS-FAST 的 SSH 默认端口为 `22`。 | 项目 | 默认值 | | -------- | -------- | | 用户名 | `root` | | 密码 | `mellow` | | SSH 端口 | `22` | 默认密码 默认密码是公开信息。完成首次登录后,建议使用 `passwd` 命令修改密码,且不要将 SSH 端口直接暴露到公网。 ## 选择连接方式[​](#选择连接方式 "选择连接方式的直接链接") | 使用场景 | 推荐方式 | 说明 | | ------------------------- | ------------ | ---------------------------------------------- | | 设备已连接路由器或 Wi-Fi | 局域网 SSH | 最适合日常配置、编译和维护 | | 电脑与设备通过网线直连 | 直连网络 SSH | FLYOS-FAST v1.3.9 及以上可使用 `10.10.10.1` | | 设备尚未联网或无法确认 IP | USB 串口终端 | 用于查看启动状态和修复网络,不建议用于固件编译 | ## 通过局域网连接 SSH[​](#通过局域网连接-ssh "通过局域网连接 SSH的直接链接") ### 1. 获取设备 IP[​](#1-获取设备-ip "1. 获取设备 IP的直接链接") 可以使用以下任一方法确认设备地址: 1. 登录路由器管理页面,在已连接设备列表中查找上位机 IP。 2. 已经能够进入设备终端时,执行以下命令查看网络地址: ``` ip -brief address ``` 输出中的 `192.168.x.x`、`10.x.x.x` 等地址通常是局域网 IP。不要使用 `127.0.0.1` 或以 `fe80::` 开头的地址。 ### 2. 登录设备[​](#2-登录设备 "2. 登录设备的直接链接") * Windows * macOS / Linux 1. 打开 MobaXterm,创建新的 **SSH** 会话。 2. 在 **Remote host** 中填写设备 IP。 3. 勾选 **Specify username** 并填写 `root`,端口保持 `22`。 Loading... 4. 首次连接会显示主机指纹确认窗口。确认连接的是自己的设备后,选择接受并继续。 Loading... 5. 输入密码 `mellow` 并按 `Enter`。输入密码时终端不会显示字符或星号,这是正常现象。 Loading... 打开系统终端,根据实际地址执行: ``` ssh root@192.168.1.100 ``` 首次连接出现主机指纹确认时,确认目标是自己的设备,输入 `yes` 后按 `Enter`。随后输入默认密码 `mellow`;密码输入过程不会显示字符。 ## 通过网线直连电脑[​](#通过网线直连电脑 "通过网线直连电脑的直接链接") FLYOS-FAST v1.3.9 及以上支持有线网口自动识别直连电脑或路由器。直连后通常可以通过 `10.10.10.1` 访问设备。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 1. 在设备断电状态下,用网线连接电脑和上位机网口。 2. 重新接通电源并等待系统启动,网口识别通常需要约 15 秒。 3. 在浏览器访问 `http://10.10.10.1`,确认设备网页能够打开。 4. 使用前文对应系统的操作方法连接: ``` ssh root@10.10.10.1 ``` 如果无法连接,请先暂时关闭电脑上的其他有线网络或 VPN,再确认电脑的有线网卡已启用。不要在不了解当前网络参数时随意修改网卡的静态 IP。 ## 网络不可用时使用串口终端[​](#网络不可用时使用串口终端 "网络不可用时使用串口终端的直接链接") 串口终端适合首次启动、查找 IP 或修复网络配置。恢复网络后,应切换回网络 SSH 进行固件编译和日常维护。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 1. 确认 USB 线支持数据传输,在设备断电状态下连接上位机与电脑。 2. 连接完成后重新接通电源,等待系统启动。 3. 选择一种串口终端: * 使用网页端的[串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal)。 * 在 Windows 中打开 MobaXterm,新建 **Serial** 会话,选择系统识别出的 `USB Serial` 或 `CH340` 端口,并将速率设为 `115200`。 4. 终端没有立即显示内容时,按几次 `Enter`。FLYOS-FAST v1.3.2 及以上通常可以连续按两次 `Enter` 自动登录;如出现登录提示,则输入用户名 `root` 和密码 `mellow`。 5. 登录后执行 `ip -brief address` 查看 IP,完成网络配置后改用网络 SSH。 Loading... ### 提示 `Permission denied`[​](#提示-permission-denied "提示-permission-denied的直接链接") * 确认用户名为小写的 `root`。 * 默认密码为小写的 `mellow`;密码输入时不会显示任何字符。 * 如果已经修改过密码,应使用修改后的密码。 ## 相关文档[​](#相关文档 "相关文档的直接链接") > **系统初始配置**:[查看 FLYOS-FAST 系统配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) > **固定设备地址**:[查看静态 IP 设置](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/static_ip) > **SSH 客户端下载**:[查看辅助工具与软件下载](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/auxiliary_software) --- # 静态IP设置 有线网口直连 PC FlyOS-Fast v1.3.9 起,有线网口支持自动识别直连 PC 或路由器。若设备网口直连 PC,可等待约 15 秒后通过 `10.10.10.1` 访问设备;一般不需要再为直连场景手动配置静态 IP。 ## 静态IP的用途与优势[​](#静态ip的用途与优势 "静态IP的用途与优势的直接链接") 静态IP配置确保设备在网络中拥有固定的地址,为各种应用场景提供稳定可靠的网络连接。 ### 主要应用场景[​](#主要应用场景 "主要应用场景的直接链接") 1. **确保设备稳定可达** * 设备始终保持同一IP地址,便于远程访问和控制 * 适用于Web服务器、MQTT通信、PLC控制等需要固定地址的场景 2. **简化网络管理** * 在局域网或工业网络中,摄像头、传感器、控制器等设备需要固定IP * 便于其他系统和服务稳定连接 3. **适应特殊网络环境** * 在没有DHCP服务的环境(如工控、边缘计算)中必须使用静态IP * 避免依赖动态地址分配 4. **提升开发调试效率** * 固定IP便于快速定位和连接设备 * 简化重复测试流程 5. **支持设备发现机制** * 预设IP段访问设备时,静态IP确保设备按预期响应 ### 静态IP优势对比[​](#静态ip优势对比 "静态IP优势对比的直接链接") | 优势 | 说明 | | ------------------ | ------------------------------------------ | | **稳定可靠** | IP地址固定不变,确保长期运行的设备通信稳定 | | **无界面环境友好** | 适合嵌入式设备等没有图形界面的环境使用 | | **远程维护便捷** | 通过SSH、Web、API等方式连接时更加高效 | | **封闭网络适配** | 工业网络或专网中无DHCP时必须使用静态IP | | **自动化支持** | 部署、监控、更新脚本依赖IP一致性运行 | ## 系统端配置[​](#系统端配置 "系统端配置的直接链接") IP地址选择建议 * 避免使用 `0`、`1`、`254`、`255` 等接近边界值的IP地址 * 如使用 `192.168.1.254` 可能被其他应用程序抢占,导致连接不稳定 * 建议使用中间范围的IP地址,如 `192.168.1.100` - `192.168.1.200` ### 配置步骤[​](#配置步骤 "配置步骤的直接链接") 1. **连接系统终端** * [使用 SSH 连接到设备系统](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/ssh) 2. **查看网络接口** * 执行命令:`ip link show` * 记录网卡名称,如 `eth0`、`end0` Loading... 3. **编辑网络配置文件** * 执行命令:`nano /etc/systemd/network/end0.network` * **注意**:文件名中的 `end0` 需替换为实际的网卡名称 Loading... 4. **配置静态IP参数** * 修改文件内容如下(根据实际网络环境调整): ``` [Match] # 匹配网卡名称,根据实际情况修改 Name=end0 [Network] # 设置静态IP地址和子网掩码 # /24 表示子网掩码为 255.255.255.0 Address=192.168.1.100/24 # 设置默认网关地址 Gateway=192.168.1.1 # 设置DNS服务器 DNS=8.8.8.8 DNS=114.114.114.114 ``` Loading... 5. **保存并应用配置** * 按 `Ctrl + S` 保存文件 * 按 `Ctrl + X` 退出编辑器 * 执行命令重启网络服务:`systemctl restart systemd-networkd` 6. **验证配置结果** * 执行命令:`ip a` * 确认显示的IP地址与配置一致 Loading... ## PC端配置[​](#pc端配置 "PC端配置的直接链接") 为了确保PC能够与设置了静态IP的设备正常通信,需要在PC端进行相应的网络配置。 ### 网络参数设置[​](#网络参数设置 "网络参数设置的直接链接") | 参数 | 配置要求 | 说明 | | ------------- | ---------------------------- | ------------------------ | | **本机IP** | `192.168.1.xxx` | 与设备IP在同一网段即可 | | **网关** | `192.168.1.1` | 必须与设备设置的网关一致 | | **子网掩码** | `255.255.255.0` | 对应设备IP的 `/24` 配置 | | **DNS服务器** | `8.8.8.8`、`114.114.114.114` | 使用常见的公共DNS服务 | ### 配置方法[​](#配置方法 "配置方法的直接链接") #### Windows系统[​](#windows系统 "Windows系统的直接链接") 1. 打开"网络和共享中心" 2. 点击"更改适配器设置" 3. 右键点击当前使用的网络连接,选择"属性" 4. 双击"Internet协议版本4 (TCP/IPv4)" 5. 选择"使用下面的IP地址"并填写相应参数 #### macOS系统[​](#macos系统 "macOS系统的直接链接") 1. 打开"系统偏好设置" → "网络" 2. 选择当前使用的网络连接 3. 点击"高级" → "TCP/IP" 4. 配置"IPv4"为"手动" 5. 填写相应的IP地址、子网掩码和路由器地址 ### 连通性测试[​](#连通性测试 "连通性测试的直接链接") 配置完成后,建议进行连通性测试: ``` # 在PC端执行ping命令测试连通性 ping 192.168.1.100 # 如果能够收到回复,说明网络配置成功 ``` 故障排查 如果无法ping通设备,请检查: * 网线连接是否正常 * 防火墙设置是否阻止了通信 * IP地址是否在同一网段 * 子网掩码和网关配置是否正确 --- # 世界时区对照表 必读 * 时区设置将时区ID填入`localtime`配置项中,例如:`Asia/Shanghai`。 * 重启系统后生效。 * 系统在没有联网前时间是错误的,联网后时间会自动同步。 * [系统配置](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) ## 亚洲[​](#亚洲 "亚洲的直接链接") ### 东亚[​](#东亚 "东亚的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ------------- | --------------- | | 亚洲 | 北京(UTC+8) | Asia/Shanghai | | 亚洲 | 香港(UTC+8) | Asia/Hong\_Kong | | 亚洲 | 首尔(UTC+9) | Asia/Seoul | | 亚洲 | 东京(UTC+9) | Asia/Tokyo | ### 东南亚[​](#东南亚 "东南亚的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ------------- | -------------- | | 亚洲 | 曼谷(UTC+7) | Asia/Bangkok | | 亚洲 | 新加坡(UTC+8) | Asia/Singapore | | 亚洲 | 雅加达(UTC+7) | Asia/Jakarta | ### 西亚[​](#西亚 "西亚的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ---------------- | -------------- | | 亚洲 | 迪拜(UTC+4) | Asia/Dubai | | 亚洲 | 德黑兰(UTC+3:30) | Asia/Tehran | | 亚洲 | 耶路撒冷(UTC+2) | Asia/Jerusalem | ## 非洲[​](#非洲 "非洲的直接链接") ### 北非[​](#北非 "北非的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ----------------- | ----------------- | | 非洲 | 阿尔及尔(UTC+1) | Africa/Algiers | | 非洲 | 开罗(UTC+2) | Africa/Cairo | | 非洲 | 卡萨布兰卡(UTC±0) | Africa/Casablanca | | 非洲 | 休达(UTC+1) | Africa/Ceuta | | 非洲 | 突尼斯(UTC+1) | Africa/Tunis | ### 西非[​](#西非 "西非的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | --------------- | ---------------- | | 非洲 | 阿比让(UTC±0) | Africa/Abidjan | | 非洲 | 比绍(UTC±0) | Africa/Bissau | | 非洲 | 拉各斯(UTC+1) | Africa/Lagos | | 非洲 | 蒙罗维亚(UTC±0) | Africa/Monrovia | | 非洲 | 圣多美(UTC±0) | Africa/Sao\_Tome | ### 东非[​](#东非 "东非的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | --------------- | --------------- | | 非洲 | 内罗毕(UTC+3) | Africa/Nairobi | | 非洲 | 恩贾梅纳(UTC+1) | Africa/Ndjamena | | 非洲 | 的黎波里(UTC+2) | Africa/Tripoli | ### 南非[​](#南非 "南非的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | --------------------- | ------------------- | | 非洲 | 约翰内斯堡(UTC+2) | Africa/Johannesburg | | 非洲 | 马普托(UTC+2) | Africa/Maputo | | 非洲 | 温得和克(UTC+1/UTC+2) | Africa/Windhoek | ### 中非[​](#中非 "中非的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ------------- | --------------- | | 非洲 | 喀土穆(UTC+2) | Africa/Khartoum | | 非洲 | 朱巴(UTC+3) | Africa/Juba | ## 美洲[​](#美洲 "美洲的直接链接") ### 北美洲[​](#北美洲 "北美洲的直接链接") #### 美国[​](#美国 "美国的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ------------- | -------------------- | | 美洲 | 纽约(UTC-5) | America/New\_York | | 美洲 | 洛杉矶(UTC-8) | America/Los\_Angeles | | 美洲 | 芝加哥(UTC-6) | America/Chicago | | 美洲 | 丹佛(UTC-7) | America/Denver | | 美洲 | 凤凰城(UTC-7) | America/Phoenix | #### 加拿大[​](#加拿大 "加拿大的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | --------------- | ----------------- | | 美洲 | 多伦多(UTC-5) | America/Toronto | | 美洲 | 温哥华(UTC-8) | America/Vancouver | | 美洲 | 埃德蒙顿(UTC-7) | America/Edmonton | | 美洲 | 温尼伯(UTC-6) | America/Winnipeg | ### 南美洲[​](#南美洲 "南美洲的直接链接") #### 阿根廷[​](#阿根廷 "阿根廷的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | --------------------- | ------------------------------- | | 美洲 | 布宜诺斯艾利斯(UTC-3) | America/Argentina/Buenos\_Aires | | 美洲 | 门多萨(UTC-3) | America/Argentina/Mendoza | | 美洲 | 乌斯怀亚(UTC-3) | America/Argentina/Ushuaia | #### 巴西[​](#巴西 "巴西的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ----------------- | ------------------------ | | 美洲 | 圣保罗(UTC-3) | America/Sao\_Paulo | | 美洲 | 里约热内卢(UTC-3) | America/Rio\_de\_Janeiro | | 美洲 | 巴西利亚(UTC-3) | America/Brasilia | ### 中美洲[​](#中美洲 "中美洲的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | --------------- | -------------------- | | 美洲 | 墨西哥城(UTC-6) | America/Mexico\_City | | 美洲 | 危地马拉(UTC-6) | America/Guatemala | | 美洲 | 巴拿马(UTC-5) | America/Panama | ## 欧洲[​](#欧洲 "欧洲的直接链接") ### 西欧[​](#西欧 "西欧的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ------------- | ------------- | | 欧洲 | 伦敦(UTC±0) | Europe/London | | 欧洲 | 巴黎(UTC+1) | Europe/Paris | | 欧洲 | 柏林(UTC+1) | Europe/Berlin | ### 东欧[​](#东欧 "东欧的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ------------- | ------------- | | 欧洲 | 莫斯科(UTC+3) | Europe/Moscow | | 欧洲 | 基辅(UTC+2) | Europe/Kyiv | | 欧洲 | 华沙(UTC+1) | Europe/Warsaw | ### 北欧[​](#北欧 "北欧的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ---- | ----------------- | ---------------- | | 欧洲 | 赫尔辛基(UTC+2) | Europe/Helsinki | | 欧洲 | 斯德哥尔摩(UTC+1) | Europe/Stockholm | | 欧洲 | 奥斯陆(UTC+1) | Europe/Oslo | ## 太平洋[​](#太平洋 "太平洋的直接链接") ### 大洋洲[​](#大洋洲 "大洋洲的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ------ | -------------- | ------------------ | | 太平洋 | 悉尼(UTC+10) | Australia/Sydney | | 太平洋 | 奥克兰(UTC+12) | Pacific/Auckland | | 太平洋 | 惠灵顿(UTC+12) | Pacific/Wellington | ### 波利尼西亚[​](#波利尼西亚 "波利尼西亚的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | ------ | ---------------- | ---------------- | | 太平洋 | 檀香山(UTC-10) | Pacific/Honolulu | | 太平洋 | 塔希提岛(UTC-10) | Pacific/Tahiti | | 太平洋 | 复活节岛(UTC-6) | Pacific/Easter | ## 特殊时区[​](#特殊时区 "特殊时区的直接链接") ### 全球标准时间[​](#全球标准时间 "全球标准时间的直接链接") | 地区 | 描述(UTC偏移) | 时区 ID | | -------- | ---------------- | ------------- | | 特殊时区 | UTC 标准时间 | Etc/UTC | | 特殊时区 | 格林尼治标准时间 | Etc/Greenwich | --- ## [📄️OTA 系统更新](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) [本文档详细介绍 FlyOS-Fast 系统的 OTA(Over-The-Air)更新功能,帮助您安全、便捷地升级系统。](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) --- # 系统更新日志 ## v1.4.0(测试版)[​](#v140测试版 "v1.4.0(测试版)的直接链接") 请勿作为正式版使用 本节根据 FLYOS-FAST v1.4.0 测试版镜像 `FlyOS-Fast-H618-v1.4.0.img`(构建标识 `v1.4.0-g7a684b0850`)整理。测试版的功能、配置项和磁盘布局都可能继续调整;普通用户应继续使用 v1.3.10 正式版。 **测试内容** * H618 镜像改为精简的出厂布局,只包含启动分区、`FlyOS-Conf` 配置分区和 A 系统槽;首次启动时再创建 B 系统槽与用户数据分区。 * 新增 [GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam)和 `gocam` 配置项。Crowsnest 与 GoCam 同时设为 `1` 时,系统优先使用 Crowsnest。 * 新增 [Klipper Cloud 远程代理](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/klipper-cloud)。首次启动会生成本机凭据,但远程连接默认保持关闭,需要用户主动启用。 * 预置 [`fly_ai_guard` 测试扩展](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/experimental/ai-guard)及 `fly-ai.cfg` 示例配置;测试镜像没有在默认 `printer.cfg` 中自动加载该配置。该功能可能显著增加系统负载,不建议在正式打印中启用。 * 扩展 [OTA 后 MCU 固件恢复逻辑](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota#automatic-mcu-update),增加 STM32F0 和 RP2040 CAN 设备的识别与恢复支持。 v1.4.0 测试镜像已知问题 * **已确认**:精简镜像首次启动时只预留空的 B 系统槽,不会把 A 系统槽复制到 B。在第一次成功写入 B 槽的 OTA 之前,B 槽不能作为可启动的回退系统。 * **已确认**:首次启动脚本会调用 `wipefs` 清理新建 B 系统槽和用户数据分区的旧文件系统签名,但测试镜像中没有安装 `wipefs`。脚本会忽略该命令失败并继续创建用户数据文件系统,因此不一定直接导致启动失败,但 B 系统槽可能残留存储卡原有签名。正式发布前应补齐该工具或调整清理逻辑。 * **已确认**:OTA 后 MCU 更新脚本会记录失败数量,但不会以非零退出状态返回给 systemd;同时触发标记会在更新开始前删除。单个或全部 MCU 更新失败时,首次启动服务仍可能显示执行成功,并且下次启动不会自动重试。应检查 `/tmp/flyos-update-mcu.log`,失败后按对应产品教程处理。 ## v1.3.10[​](#v1310 "v1.3.10的直接链接") **更新时间**: 2026/7/27 14:35:43 **修改** * 修复ttyd启动异常 * 支持OTA后自动更新mcu固件 * 优化Moon2Uart的连接稳定性 ## v1.3.9[​](#v139 "v1.3.9的直接链接") **更新时间**: 2026/7/21 15:15:16 重要提示 本次更新后需要手动更新所有 MCU 固件。 **修改** * 断电续打功能重构升级 **新增** * 有线网口支持自动识别直连 PC 或路由器。若网口直连 PC,可等待约 15 秒后通过 `10.10.10.1` 访问设备 * Klipper 及相关组件更新 * 支持 FLY Screen UI,可与 KlipperScreen 二选一启用 *** ## v1.3.8[​](#v138 "v1.3.8的直接链接") **修复与优化** * 修复部分条件下OTA包校验失败的问题 * 优化在线OTA流程,增量更新失败时自动重试全量更新 * KlipperScreen更新至v1.3.8 *** ## v1.3.7[​](#v137 "v1.3.7的直接链接") **修复与优化** * 修复klipper偶发超时问题 * 修复klipperscreen页面菜单隐藏问题 * 修复klipperscreen摄像头页面卡顿无法退出 * 修改klipperscreen重命名文件页面支持复制文件 * klipperscreen支持喷嘴摄像头 * klipperscreen支持摄像头画面翻转与旋转 * klipperscreen支持系统OTA页面及U盘升级 * 修改H618系列默认断电续打引脚为C8P系列 *** ## v1.3.6[​](#v136 "v1.3.6的直接链接") **修复与优化** * 修复部分设备无法启动或死机的问题 * 修复ffmpeg缺少h264支持的问题 * 修复部分条件下klipperscreen无法启动的问题 * 修改开机动画效果 * 优化klipperscreen部分页面加载速度 * klipperscreen新增网络状态查看 *** ## v1.3.5[​](#v135 "v1.3.5的直接链接") **修复** * 修复网页终端无法输入的问题 * 调整默认配置中预编译固件的路径 **新增** * 新增 `ffmpeg` 支持,用于延时摄影等功能 * 集成 Klipper 第三方扩展 [klippain-shaketune](https://github.com/Frix-x/klippain-shaketune) * 新增相关功能依赖包 *** ## v1.3.4[​](#v134 "v1.3.4的直接链接") 重要提示 本次更新后,请及时为所有下位机升级 Klipper 固件。 **修复与优化** * 修复偶发性 Wi-Fi 开机自动连接失效问题 * 修复特定条件下 GPU 调用异常的问题 * 修复偶发性 U 盘驱动挂载失败的问题 * 优化 DHCP 策略,增强网络稳定性 * 优化 Klipper 在特定错误条件下的暂停逻辑 **新增** * 新增 `usbip` 软件包支持 *** ## v1.3.3[​](#v133 "v1.3.3的直接链接") 注意事项 本次更新后,HDMI 屏幕的 `rotate` 配置将生效,可能导致屏幕旋转。建议更新后将相关配置设为 `auto`。 **修复与优化** * 修复无法上传大文件的问题 * 修复断电续打时热床温度异常的问题 * 修复 U 盘打印大文件时出现的异常 * 支持 HDMI 屏幕旋转设置 * 优化 OTA 升级流程,并支持通过 U 盘进行 OTA 升级 **新增** * 新增一批系统工具与压缩包支持:`rsync`, `pv`, `7za`, `xz`, `tar`, `zip`, `unzip`, `gzip`, `bzip2`, `lz4`, `lzo`, `dstat`, `sysstat`, `atop`, `iotop`, `nmon`, `coreutils`, `xinput`, `xprop`, `xrandr` *** ## v1.3.2[​](#v132 "v1.3.2的直接链接") **修改与优化** * 优化 U 盘挂载流程,支持 NTFS 格式的可读写操作 * 实现串口终端免密自动登录(双击或连续按两次回车键) * 修复 Web 界面偶发性断联的问题 **新增** * 新增 `python-pyudev` 软件包 * 支持 FLY-HDMI-LCD 屏幕控制 * 新增 U 盘备份功能 * 系统将在 U 盘中自动创建 `/printer_data/config`, `/printer_data/logs`, `/printer_data/gcodes` 等目录 * 插入 U 盘后,系统会自动将 `/usr/share/printer_data/` 下对应目录的文件复制到 U 盘中 *** ## v1.3.1[​](#v131 "v1.3.1的直接链接") **更新** * 更新 Klipper 及其周边组件 * 更新断电续打功能 **功能增强** * 支持多加热器与多工具头配置 * 优化并更新 U 盘打印逻辑,新增 U 盘识别逻辑 * U 盘默认挂载名称格式为:`[U]_<厂商>_<型号>_<分区号>-[<总容量>]` * Klipper 模式挂载路径:`/usr/share/printer_data/gcodes` * RRF 模式挂载路径:`/opt/dsf/sd/gcodes` **修复与优化** * 修改网络管理器配置,优化以太网初始化逻辑 * 修复 TFT 电容屏偶发性触摸异常的问题 *** ## v1.3.0[​](#v130 "v1.3.0的直接链接") **系统与组件** * 提升系统整体稳定性 * 变更文件系统 * 更新 Klipper 等核心组件 * 将 OpenSSL 更新至 1.0 版本 **硬件支持与修复** * 修复 H618 系列网口 LED 灯显示问题 * 修复 H618 系列偶发性串口索引混乱问题 * 修复 H3 系列电容触摸屏启用延迟问题 * 修复 C5-v1.1 主板的 RRF 模式异常问题 * 初步支持 OTA 在线升级 **新增** * 新增 `python-scipy` 软件包 * 新增对 Fly-Pi-v3 设备的支持 *** --- # OTA 系统更新指南 本文档详细介绍 FlyOS-Fast 系统的 OTA(Over-The-Air)更新功能,帮助您安全、便捷地升级系统。 ## 版本支持说明[​](#版本支持说明 "版本支持说明的直接链接") * **V1.3.0 及以上**:支持 OTA 在线更新功能 * **V1.3.3 及以上**:新增 U 盘系统更新方式 * **V1.3.10 及以上**:升级包需要同步 MCU 固件时,可在 OTA 后首次启动阶段自动更新受支持主板的 USB 固件 ## 预置服务版本说明[​](#预置服务版本说明 "预置服务版本说明的直接链接") FlyOS-Fast 系统内置了 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务,这些服务在系统打包时遵循以下版本管理策略: ### 针对性优化[​](#针对性优化 "针对性优化的直接链接") 我们对 Klipper、Mainsail、Fluidd、Moonraker、KlipperScreen 等核心服务进行了专门的针对性优化,以提升系统稳定性和打印性能。 重要警告 **请勿手动升级或替换这些服务**。手动切换将导致针对性优化失效,可能影响系统稳定性和功能兼容性。如需更新,请通过官方 OTA 方式获取最新版本。 ### 更新策略[​](#更新策略 "更新策略的直接链接") 系统 OTA 包会同时提供经过适配和测试的系统组件。发布版本不承诺与每个上游项目的最新提交完全一致,请以 FlyOS-Fast 更新日志列出的内容为准。 ### 注意事项[​](#注意事项 "注意事项的直接链接") 由于系统组件之间存在配套关系,不要在 OTA 之外单独替换 Klipper、Moonraker、网页界面或屏幕服务。如有特定版本需求,请联系技术支持。 ## 更新方式选择[​](#更新方式选择 "更新方式选择的直接链接") * 网络在线更新 * 手动更新 * U盘离线更新 ### 网络更新条件[​](#网络更新条件 "网络更新条件的直接链接") * 设备已连接到互联网 * 系统版本为 `V1.3.0` 或更高 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") 1. 在浏览器中访问: `http://[设备IP地址]:9998` 2. 系统将自动检查可用更新 3. 如有新版本,点击 **"更新"** 按钮开始升级 4. 等待系统自动下载并安装更新 > **提示**: 更新过程中请勿断电或进行打印操作 ### 上传本地升级包[​](#上传本地升级包 "上传本地升级包的直接链接") 如果设备无法从在线更新源获取版本,也可以在 OTA 管理页面上传本地升级包: 1. 在浏览器访问 `http://[设备IP地址]:9998`。 2. 找到 **手动上传升级包** 区域,将升级包拖入上传框,或点击 **浏览文件** 选择文件。 3. 选择以 `.full.fup` 或 `.diff.fup` 结尾的升级包。页面会拒绝其他扩展名。 4. 等待页面完成文件校验和上传,确认文件名、设备型号和版本信息正确。 5. 点击 **上传并升级**,确认提示后开始更新。 6. 等待上传、校验、写入和重启全部完成,再重新访问网页。 本地升级包要求 * `.full.fup` 是完整系统包,通常用于跨版本升级或系统恢复。 * `.diff.fup` 是差分升级包,只能用于它明确支持的源版本。 * 升级包必须与设备型号和系统分区匹配;不要上传其他设备的文件。 * 上传和写入期间保持稳定供电,不要关闭页面、断开网络、拔出 U 盘或手动重启设备。 ### 准备工作[​](#准备工作 "准备工作的直接链接") ### U盘更新条件[​](#u盘更新条件 "U盘更新条件的直接链接") * 系统版本为 `V1.3.3` 或更高 #### U盘要求[​](#u盘要求 "U盘要求的直接链接") * **接口类型**: 必须使用 USB 2.0 的 U 盘或读卡器 * **存储容量**: 至少 8GB 可用空间 * **兼容性提示**: USB 3.0 设备(蓝色接口)可能导致升级缓慢 #### 系统包下载[​](#系统包下载 "系统包下载的直接链接") 请根据设备型号下载对应的系统全量升级包: [前往下载页面](https://flyos.klipper.cn/) ### 更新流程[​](#更新流程 "更新流程的直接链接") #### 第一步:准备升级文件[​](#第一步准备升级文件 "第一步:准备升级文件的直接链接") 1. 前往系统下载页面获取对应设备的升级包 2. 将下载的 **`.full.fup`** 文件拷贝至 U 盘根目录 文件匹配验证 * 确保升级包与设备型号完全匹配 * 如文件不匹配,插入 U 盘后系统不会显示任何提示 #### 第二步:触发更新[​](#第二步触发更新 "第二步:触发更新的直接链接") 1. 将准备好的 U 盘插入设备 USB 接口 2. 系统检测到更新文件后会自动弹出更新提示 > **显示提示位置**: > > * **网页管理界面**: Mainsail / Fluidd 界面 > * **WiScreen 7寸屏**: 专用串口屏幕 > * **KlipperScreen**: 不显示更新提示,请使用网页界面 #### 第三步:执行更新[​](#第三步执行更新 "第三步:执行更新的直接链接") 在出现更新提示的界面中,点击 **"开始更新"** 按钮,系统将自动完成整个升级过程。 ## 更新注意事项[​](#更新注意事项 "更新注意事项的直接链接") ### 通用安全提示[​](#通用安全提示 "通用安全提示的直接链接") * 更新前请暂停所有打印任务 * 确保设备供电稳定,避免意外断电 * 重要配置文件建议提前备份 ### 更新后操作[​](#更新后操作 "更新后操作的直接链接") * 按页面提示等待系统完成更新和重启;如果升级包要求更新 MCU,系统只会自动处理受支持主板的 USB 固件 * 更新期间保持供电稳定,不要关闭设备、开始打印或手动重启 * 重新进入网页后检查系统版本以及 Klipper、Moonraker 连接状态 * 不在自动更新支持范围内的主板和固件,需要按对应产品教程手动更新 ## OTA 后自动更新 MCU 固件[​](#automatic-mcu-update "OTA 后自动更新 MCU 固件的直接链接") 仅支持以下主板 OTA 的 MCU 固件自动更新功能只支持以下主板: * FLY-C8 * FLY-C5 * FLY-C8P * FLY-GEMINI V3 以上主板必须使用 **USB 通信固件**。其他主板、CAN 固件、USB 转 CAN 固件、CAN 工具板及其他外接 MCU 均不支持 OTA 自动更新固件。 不在支持范围内的设备,请按对应产品文档手动编译和烧录固件。 如果升级包需要更新受支持主板的 MCU 固件,系统会在 OTA 后首次启动阶段自动处理。开始 OTA 前应确认主板的 USB 连接正常,并在更新完成后检查 Klipper 是否能够正常连接。 更新期间不要操作设备 自动更新 MCU 时不要断电、重启、开始打印或插拔 USB 线束。中断烧录可能导致 MCU 无法连接,需要按对应主板的固件烧录教程手动恢复。 *** 通过以上步骤,您可以轻松完成 FlyOS-Fast 系统的 OTA 更新。 --- # 使用 TF 卡为 M2WE 烧录系统 重要警告 * **FLY-FAST 系统不支持通过此方式迁移至 M2WE。** * 此操作将为 M2WE 烧录全新的系统镜像,并非系统迁移,会清除设备上的所有数据。 ## 准备工作[​](#准备工作 "准备工作的直接链接") 在开始前,请确保您已备齐以下物品: 1. **M2WE**:需要烧录镜像的产品。 2. **TF卡**:容量**不小于16GB**,建议使用高速卡。 3. **FLY上位机**:可以安装M2WE的上位机。 4. **系统镜像**:预先下载好的M2WE专用系统镜像文件。 5. **网线(推荐)**:用于将上位机连接到路由器,确保稳定的网络连接。 6. **SSH工具**:`MobaXterm`,用于连接上位机并执行命令。 ## 操作步骤[​](#操作步骤 "操作步骤的直接链接") ### 第一步:下载系统镜像[​](#第一步下载系统镜像 "第一步:下载系统镜像的直接链接") 1. 访问 FLYOS 官方下载页面: [点击进入系统下载页面](https://flyos.klipper.cn/) 2. 点击页面上的 `Download File` 按钮。 Loading... 3. 在弹出的 `Select Download File` 界面中: * 在 `Chip Type` 下拉菜单中选择上位机对应的系统版本。 Loading... 4. 根据您的使用习惯,选择下载 `7Z`(压缩包)或 `EXE`(Windows安装程序)格式的镜像文件。 5. 下载后请将其解压,得到最终的 `.img` 格式镜像文件。 ### 第二步:连接SSH并上传镜像[​](#第二步连接ssh并上传镜像 "第二步:连接SSH并上传镜像的直接链接") 1. 使用网线将上位机连接到路由器。 2. 打开 `MobaXterm` 或其他SSH工具,通过网络连接到您的上位机。 3. 将第一步中准备好的系统镜像文件(如 `FlyOS-Fast-H618-v1.3.2.img`)**直接拖拽**到MobaXterm的文件浏览区的 `/data/` 目录下,等待文件上传完成。 Loading... ### 第三步:识别TF卡设备[​](#第三步识别tf卡设备 "第三步:识别TF卡设备的直接链接") 1. 在SSH终端中执行以下命令,查看所有存储设备: ``` lsblk ``` Loading... 2. 根据容量(通常为14G-16G)找到`M2WE`对应的设备名,**默认为 `/dev/mmcblk1`**。请务必确认设备名正确,否则可能导致数据丢失。 ### 第四步:执行烧录[​](#第四步执行烧录 "第四步:执行烧录的直接链接") 1. 执行以下命令开始烧录(**请务必将命令中的镜像文件名和设备名替换为您实际使用的名称**): ``` dd if=/data/您的系统镜像文件名.img of=/dev/您的TF卡设备名 bs=4M status=progress ``` *示例:* ``` dd if=/data/FlyOS-Fast-H618-v1.3.2.img of=/dev/mmcblk1 bs=4M status=progress ``` Loading... 2. 耐心等待烧录完成,直到终端提示烧录结束并返回命令提示符。过程中会显示进度信息。 Loading... ### 第五步:完成设置[​](#第五步完成设置 "第五步:完成设置的直接链接") 1. 烧录完成后,执行关机命令安全关闭上位机: ``` poweroff ``` 2. 从上位机中**取出TF卡**。 3. 重新上电,即可启动全新的系统。 --- # 插件安装说明 须知 * 这是参考方法。 * 如果有想安装的插件,可以联系我们定制集成到系统中。 * 部分插件安装可能会影响系统稳定性,请谨慎操作。 * 安装插件前建议先备份 `printer_data/config` 目录。 ## 安装规则[​](#安装规则 "安装规则的直接链接") * 先单独完成 `git clone` 或 `git pull`,确认网络下载成功后再安装。 * 安装阶段优先使用软链接,不要把插件文件直接复制到 `/data/klipper`。 * 安装器支持跳过联网检查时,应使用对应参数,例如 Happy-Hare 的 `-z`。 * 安装后检查相关服务状态和日志;服务显示 `active` 不代表实体硬件已经完成通信与校准。 --- # 安装扫床插件方法 ## 安装 Beacon[​](#install-beacon "安装 Beacon的直接链接") 不要直接运行官方安装脚本 Beacon 当前的 `install.sh` 默认查找 `~/klipper` 和 `~/klippy-env`,不适配 FLYOS-FAST 的 `/data/klipper` 路径。下方流程只安装或更新 Klipper 上位机模块,不会自动更新探头固件。 ### 拉取或更新插件[​](#拉取或更新插件 "拉取或更新插件的直接链接") 此步骤需要正常连接对应的代码托管网站。命令执行成功后,再继续创建软链接。 ``` cd /data if [ -d /data/beacon_klipper/.git ]; then git -C /data/beacon_klipper pull --ff-only else git clone https://github.com/beacon3d/beacon_klipper.git /data/beacon_klipper fi ``` Loading... ### 创建软链接[​](#创建软链接 "创建软链接的直接链接") ``` ln -sfn /data/beacon_klipper/beacon.py /data/klipper/klippy/extras/beacon.py if [ -d /data/klipper/.git/info ]; then grep -qxF 'klippy/extras/beacon.py' /data/klipper/.git/info/exclude || \ echo 'klippy/extras/beacon.py' >> /data/klipper/.git/info/exclude fi systemctl restart klipper ``` Loading... ### 验证安装路径[​](#验证安装路径 "验证安装路径的直接链接") ``` readlink -f /data/klipper/klippy/extras/beacon.py ``` 输出应为 `/data/beacon_klipper/beacon.py`。使用软链接后,后续只需更新插件仓库并重启 Klipper,无需再次复制 `beacon.py`。 ## 安装 IDM 或 Scanner[​](#install-idm-scanner "安装 IDM 或 Scanner的直接链接") 插件二选一 IDM/Scanner 与 Cartographer3D 都会提供 `idm.py` 和 `scanner.py`。Klipper 中只能使用其中一套模块,不要混合两套插件的文件。 ### 拉取或更新插件[​](#拉取或更新插件-1 "拉取或更新插件的直接链接") 新版 IDM 安装脚本已经支持 FLYOS-FAST 的 `/data/klipper` 路径,并会安装 `idm.py`、`scanner.py` 和 `scanner_touch_mesh.py`: ``` cd /data if [ -d /data/IDM/.git ]; then git -C /data/IDM pull --ff-only else git clone https://gitee.com/NBTP/IDM.git /data/IDM fi ``` Loading... 此步骤需要正常连接 Gitee。命令执行成功后,再继续运行安装脚本。 ### 运行安装脚本[​](#运行安装脚本 "运行安装脚本的直接链接") 安装步骤不访问网络。切换到 IDM/Scanner 前会清除 Cartographer3D 遗留的同名插件入口: ``` rm -f /data/klipper/klippy/extras/cartographer.py cd /data/IDM chmod +x install.sh ./install.sh systemctl restart klipper ``` Loading... 脚本显示 `idm: installation successful.` 且 Klipper 重启后没有相关报错,即表示模块安装完成。 ### 验证安装路径[​](#验证安装路径-1 "验证安装路径的直接链接") ``` readlink -f /data/klipper/klippy/extras/idm.py readlink -f /data/klipper/klippy/extras/scanner.py readlink -f /data/klipper/klippy/extras/scanner_touch_mesh.py ``` 以上路径应指向 `/data/IDM/` 中的对应文件。 ## 安装 Cartographer3D[​](#install-cartographer3d "安装 Cartographer3D的直接链接") 不要直接运行官方安装脚本 Cartographer3D 当前的 `install.sh` 默认查找 `~/klipper` 和 `~/klippy-env`,不适配 FLYOS-FAST 的 `/data/klipper` 路径。请使用下方命令安装。 ### 拉取或更新插件[​](#拉取或更新插件-2 "拉取或更新插件的直接链接") 此步骤需要正常连接 GitHub。命令执行成功后,再继续创建软链接。 ``` cd /data if [ -d /data/cartographer-klipper/.git ]; then git -C /data/cartographer-klipper pull --ff-only else git clone https://github.com/Cartographer3D/cartographer-klipper.git /data/cartographer-klipper fi ``` Loading... ### 创建软链接[​](#创建软链接-1 "创建软链接的直接链接") 安装步骤不访问网络。切换到 Cartographer3D 前会清除 IDM/Scanner 专用的 `scanner_touch_mesh.py`: ``` rm -f /data/klipper/klippy/extras/scanner_touch_mesh.py for file in idm.py scanner.py cartographer.py; do ln -sfn "/data/cartographer-klipper/$file" "/data/klipper/klippy/extras/$file" if [ -d /data/klipper/.git/info ]; then grep -qxF "klippy/extras/$file" /data/klipper/.git/info/exclude || \ echo "klippy/extras/$file" >> /data/klipper/.git/info/exclude fi done systemctl restart klipper ``` Loading... 该流程也可以把旧版直接复制的模块替换为软链接,后续更新仓库后无需再次复制 Python 文件。 ### 验证安装路径[​](#验证安装路径-2 "验证安装路径的直接链接") ``` readlink -f /data/klipper/klippy/extras/idm.py readlink -f /data/klipper/klippy/extras/scanner.py readlink -f /data/klipper/klippy/extras/cartographer.py ``` 以上路径应指向 `/data/cartographer-klipper/` 中的对应文件。 ## 安装 BDsensor[​](#install-bdsensor "安装 BDsensor的直接链接") 需要重新编译下位机固件 BDsensor 不仅提供 Klipper 上位机模块,还会向 Klipper MCU 源码加入 `BD_sensor.c`。完成安装后必须使用 `make_with_bdsensor.sh` 重新编译并刷写连接传感器的下位机固件。 ### 拉取或更新插件[​](#拉取或更新插件-3 "拉取或更新插件的直接链接") 此步骤需要连接 GitHub。拉取成功后,再执行本地安装步骤。 ``` cd /data if [ -d /data/Bed_Distance_sensor/.git ]; then git -C /data/Bed_Distance_sensor pull --ff-only else git clone https://github.com/markniu/Bed_Distance_sensor.git /data/Bed_Distance_sensor fi ``` Loading... ### 创建软链接[​](#创建软链接-2 "创建软链接的直接链接") 上游 `install_BDsensor.sh` 默认查找 `~/klipper`,并假定 Klipper 目录包含 `.git/info`,不完全适配 FLYOS-FAST v1.4.0。请使用以下命令安装: ``` ln -sfn /data/Bed_Distance_sensor/klipper/BDsensor.py /data/klipper/klippy/extras/BDsensor.py ln -sfn /data/Bed_Distance_sensor/klipper/BD_sensor.c /data/klipper/src/BD_sensor.c ln -sfn /data/Bed_Distance_sensor/klipper/make_with_bdsensor.sh /data/klipper/make_with_bdsensor.sh grep -qF 'BD_sensor.c' /data/klipper/src/Makefile || \ echo 'src-y += BD_sensor.c' >> /data/klipper/src/Makefile systemctl restart klipper ``` Loading... ### 验证安装路径[​](#验证安装路径-3 "验证安装路径的直接链接") ``` readlink -f /data/klipper/klippy/extras/BDsensor.py readlink -f /data/klipper/src/BD_sensor.c readlink -f /data/klipper/make_with_bdsensor.sh systemctl is-active klipper ``` 三个软链接应指向 `/data/Bed_Distance_sensor/klipper/` 中的对应文件,服务状态应返回 `active`。 > **配置、编译与校准 BDsensor**:[查看 BDsensor 使用说明](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/bd-sensor/kliper) --- # 安装 Happy-Hare 插件 安装前备份配置 Happy-Hare 会修改 Klipper 和 Moonraker 配置。安装前请备份 `/usr/share/printer_data/config`,并根据实际 MMU 硬件回答安装脚本的问题。 ## 安装 Happy-Hare[​](#安装-happy-hare "安装 Happy-Hare的直接链接") 当前 Happy-Hare 安装脚本可以自动识别 FLYOS-FAST,并使用 `/data/klipper`、`/data/moonraker` 和 `/usr/share/printer_data/config`。 ### 拉取或更新插件[​](#拉取或更新插件 "拉取或更新插件的直接链接") 此步骤需要连接 GitHub。确认拉取成功后,再运行安装脚本。 ``` cd /data if [ -d /data/Happy-Hare/.git ]; then git -C /data/Happy-Hare pull --ff-only else git clone https://github.com/moggieuk/Happy-Hare.git /data/Happy-Hare fi ``` Loading... ### 运行安装脚本[​](#运行安装脚本 "运行安装脚本的直接链接") `-i` 表示首次交互安装,`-z` 表示跳过脚本内部的联网更新检查。因此这一步不再依赖 GitHub。 ``` cd /data/Happy-Hare chmod +x install.sh ./install.sh -i -z ``` Loading... 安装脚本会根据选择写入配置,并在结束时重启 Moonraker 和 Klipper。不要在不了解 MMU 硬件参数时直接采用示例答案。 ### 验证服务[​](#验证服务 "验证服务的直接链接") ``` systemctl is-active klipper systemctl is-active moonraker ``` 两个命令都返回 `active` 后,再按照 Happy-Hare 生成的配置继续调试。 ## 安装 Happy-Hare KlipperScreen[​](#安装-happy-hare-klipperscreen "安装 Happy-Hare KlipperScreen的直接链接") 适用条件 仅在设备已经使用 KlipperScreen,且确实需要 Happy-Hare 专用界面时安装。安装会替换 `/data/KlipperScreen`,原目录会保留为 `/data/KlipperScreen-original`。 ### 首次拉取界面[​](#首次拉取界面 "首次拉取界面的直接链接") 此步骤只下载新界面,不会停止或替换当前 KlipperScreen。 ``` cd /data git clone https://github.com/kluoyun/KlipperScreen-Happy-Hare-Edition.git /data/KlipperScreen-Happy-Hare ``` Loading... 如果已经完成过替换,后续更新只需单独执行: ``` git -C /data/KlipperScreen pull --ff-only ``` ### 替换并安装界面[​](#替换并安装界面 "替换并安装界面的直接链接") 先确认 `/data/KlipperScreen-original` 不存在。若该备份目录已经存在,请不要重复执行目录替换命令。 将 `GATES=12` 改为实际耗材通道数量: ``` GATES=12 systemctl stop klipperscreen mv /data/KlipperScreen /data/KlipperScreen-original mv /data/KlipperScreen-Happy-Hare /data/KlipperScreen cd /data/KlipperScreen/happy_hare chmod +x install_ks.sh ./install_ks.sh -z -g "$GATES" ``` Loading... `-z` 会跳过安装脚本内部的联网检查。脚本完成后会自动重启 KlipperScreen。 ### 验证界面服务[​](#验证界面服务 "验证界面服务的直接链接") ``` systemctl is-active klipperscreen ``` 返回 `active` 表示服务已经启动;界面功能仍需结合实际 MMU 配置检查。 --- # 切换 Klipper 版本指南 适用条件 本文档仅适用于 FLYOS-FAST。以下操作用于兼容确实要求第三方 Klipper 分支的插件,不建议作为常规升级方式。 重要功能变更 切换到 Kalico 或 Klipper 官方原版后,FLYOS-FAST 的断电续打、U 盘打印等定制功能会失效。需要这些功能时,请保留系统自带 Klipper。 切换前请备份 `/usr/share/printer_data/config`。下载目标版本和替换运行目录必须分开进行,避免网络中断后留下不完整的 `/data/klipper`。 ## 安装 Kalico[​](#安装-kalico "安装 Kalico的直接链接") ### 拉取或更新 Kalico[​](#拉取或更新-kalico "拉取或更新 Kalico的直接链接") 此步骤需要连接 GitHub,但不会修改当前正在使用的 `/data/klipper`。 ``` cd /data if [ -d /data/kalico/.git ]; then git -C /data/kalico pull --ff-only else git clone https://github.com/KalicoCrew/kalico.git /data/kalico fi ``` Loading... ### 切换运行目录[​](#切换运行目录 "切换运行目录的直接链接") 确认拉取成功且 `/data/klipper-flyos-fast` 不存在后再执行: ``` systemctl stop klipper mv /data/klipper /data/klipper-flyos-fast mv /data/kalico /data/klipper systemctl start klipper systemctl is-active klipper ``` Loading... 返回 `active` 只代表服务已启动,还需要查看 Klipper 日志并确认打印机配置没有版本兼容错误。 ## 安装 Klipper 官方原版[​](#安装-klipper-官方原版 "安装 Klipper 官方原版的直接链接") ### 拉取或更新官方版本[​](#拉取或更新官方版本 "拉取或更新官方版本的直接链接") ``` cd /data if [ -d /data/klipper-upstream/.git ]; then git -C /data/klipper-upstream pull --ff-only else git clone https://github.com/Klipper3d/klipper.git /data/klipper-upstream fi ``` Loading... ### 切换运行目录[​](#切换运行目录-1 "切换运行目录的直接链接") 确认拉取成功且 `/data/klipper-flyos-fast` 不存在后再执行: ``` systemctl stop klipper mv /data/klipper /data/klipper-flyos-fast mv /data/klipper-upstream /data/klipper systemctl start klipper systemctl is-active klipper ``` Loading... ## 恢复 FLYOS-FAST 自带 Klipper[​](#恢复-flyos-fast-自带-klipper "恢复 FLYOS-FAST 自带 Klipper的直接链接") 恢复前确认 `/data/klipper-flyos-fast` 是切换时保留的原始目录: ``` systemctl stop klipper mv /data/klipper "/data/klipper-third-party-$(date +%Y%m%d-%H%M%S)" mv /data/klipper-flyos-fast /data/klipper systemctl start klipper systemctl is-active klipper ``` 恢复成功后,服务状态应返回 `active`,FLYOS-FAST 定制功能也会重新使用系统自带实现。当前第三方目录会以时间戳名称保留,不会被直接删除。 --- # 安装 klipper-toolchanger 插件 插件兼容性 klipper-toolchanger 更新较快,升级前请备份打印机配置并阅读上游变更记录。上游安装脚本拒绝使用 root 运行,而且默认使用 `~/klipper`,因此不能直接用于 FLYOS-FAST。 Tapchanger 当前上游不再在 `Klipper/config-example` 中维护配置,软件插件和配置示例统一由 klipper-toolchanger 仓库提供。 ## 安装插件[​](#安装插件 "安装插件的直接链接") ### 拉取或更新插件[​](#拉取或更新插件 "拉取或更新插件的直接链接") ``` cd /data if [ -d /data/klipper-toolchanger/.git ]; then git -C /data/klipper-toolchanger pull --ff-only else git clone https://github.com/viesturz/klipper-toolchanger.git /data/klipper-toolchanger fi ``` Loading... ### 创建软链接[​](#创建软链接 "创建软链接的直接链接") 此步骤不访问网络。使用软链接后,插件更新不再需要重复复制 Python 文件。 ``` for file in /data/klipper-toolchanger/klipper/extras/*.py; do name="$(basename "$file")" ln -sfn "$file" "/data/klipper/klippy/extras/$name" if [ -d /data/klipper/.git/info ]; then grep -qxF "klippy/extras/$name" /data/klipper/.git/info/exclude || \ echo "klippy/extras/$name" >> /data/klipper/.git/info/exclude fi done systemctl restart klipper ``` Loading... ### 验证安装[​](#验证安装 "验证安装的直接链接") ``` readlink -f /data/klipper/klippy/extras/toolchanger.py systemctl is-active klipper ``` 软链接应指向 `/data/klipper-toolchanger/klipper/extras/toolchanger.py`,服务状态应返回 `active`。 插件配置项和宏可能随版本变化,请以 `/data/klipper-toolchanger/examples` 目录为准。无需额外拉取 Tapchanger 硬件仓库,也无需删除或重新拉取 FLYOS-FAST 自带的 `/data/klipper`。 --- # Klippain Shake\&Tune 共振分析插件 [Klippain Shake\&Tune](https://github.com/Frix-x/klippain-shaketune) 是一个 Klipper 共振分析与输入整形校准插件,能够对加速度计采集的振动数据生成可视化图表,帮助排查机械问题并优化 Input Shaper 滤波器。 ## 启用配置[​](#启用配置 "启用配置的直接链接") FlyOS-Fast v1.3.5 及以上版本已预装 Shake\&Tune,无需手动安装。在 `printer.cfg` 中添加以下配置段即可启用: ``` [shaketune] # result_folder: ~/printer_data/config/ShakeTune_results # 处理结果保存路径,文件夹不存在时自动创建 # number_of_results_to_keep: 10 # 保留的最近结果数量,超出后自动清理旧文件 # keep_raw_data: False # 设为 True 可同时保存原始 .stdata 文件,便于排查问题或提交反馈 # show_macros_in_webui: True # 在 Fluidd / Mainsail 网页中显示 Shake&Tune 宏按钮 # timeout: 600 # 图表生成超时时间(秒),低性能设备可适当增大 ``` 添加后在网页中执行 **保存并重启** 即可。 ## 可用宏命令[​](#macros "可用宏命令的直接链接") 前提条件 使用 Shake\&Tune 前需要确认: 1. 已安装并正确配置加速度计(ADXL345、LIS2DW 等),`ACCELEROMETER_QUERY` 能正常返回数据。 2. `printer.cfg` 中已定义 `[resonance_tester]` 段。 3. 打印机已完成归位。 以下宏命令可在网页控制台或 G-code 中使用: | 宏命令 | 用途 | | ---------------------------------------- | --------------------------------------------------- | | `TEST_RESONANCES AXIS=X` | 测量 X 轴共振并生成频谱图与建议的 Input Shaper 参数 | | `TEST_RESONANCES AXIS=Y` | 测量 Y 轴共振并生成频谱图 | | `TEST_RESONANCES AXIS=X OUTPUT=raw_data` | 仅采集原始数据,不自动生成图表 | | `COMPARE_RESONANCES` | 对比最近两次共振测量结果,便于观察调整效果 | | `BELTS_SHAPER_TUNING` | 专用皮带共振测试,生成 Hanning 窗口的频谱对比图 | 每次执行完成后,Shake\&Tune 会在 `result_folder` 中生成 PNG 图表文件,可通过 Fluidd / Mainsail 的文件管理器直接查看。 > **加速度计配置与测试**:[查看加速度计测试与校准](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-adxl) > **共振补偿与 Input Shaper 调优**:[查看共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa) > **通用安装说明**:[查看 DebugDoc 插件与扩展](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) --- ## [📄️摄像头连接与使用](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) [FLYOS-FAST v1.4.0 测试版镜像也可使用 GoCam。它支持通过 8080 端口实时调整 UVC 摄像头参数,使用方法请查看 GoCam 摄像头服务。v1.3.10 正式版及不包含 GoCam 的平台镜像继续使用本页的 Crowsnest 方法。](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) --- # 摄像头连接与使用 v1.4.0 GoCam 测试功能 FLYOS-FAST v1.4.0 测试版镜像也可使用 GoCam。它支持通过 `8080` 端口实时调整 UVC 摄像头参数,使用方法请查看 [GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam)。v1.3.10 正式版及不包含 GoCam 的平台镜像继续使用本页的 Crowsnest 方法。 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**: 确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**: 待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**: 如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**: 请将摄像头直接插入上位机的 USB 接口,而非上位机其他非 USB 的接口 * **摄像头要求**: 请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**: 本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # GoCam 摄像头服务 GoCam 是 FLYOS-FAST v1.4.0 测试版新增的摄像头服务,适用于支持 UVC 协议的免驱 USB 摄像头。它可以提供实时视频流、单帧快照和摄像头参数管理页面。 测试版本限制 GoCam 目前仅在 FLYOS-FAST v1.4.0 测试版镜像中确认。v1.3.10 正式版及不包含 GoCam 的平台镜像请继续使用 Crowsnest。 ## 启用 GoCam[​](#启用-gocam "启用 GoCam的直接链接") GoCam 与 Crowsnest 应二选一使用。如果两项同时设置为 `1`,系统会优先启动 Crowsnest,GoCam 不会生效。 在 `FlyOS-Conf/config.txt` 中设置: ``` crowsnest=0 gocam=1 ``` 保存后重新启动上位机。配置文件修改方法请参考 [FLYOS-FAST 系统配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start)。 断电操作 首次连接或更换摄像头前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔摄像头线束或整理接口。 将支持 UVC 的免驱 USB 摄像头连接到上位机 USB 接口,然后重新通电。 ## 打开 GoCam 管理页面[​](#打开-gocam-管理页面 "打开 GoCam 管理页面的直接链接") GoCam 默认使用 `8080` 端口。在与上位机相同的局域网内访问: ``` http://设备IP:8080 ``` 管理页面提供以下功能: * 实时查看摄像头画面。 * 查看摄像头支持的格式、分辨率和帧率。 * 复制视频流和快照地址。 * 调整摄像头实际支持的 UVC 参数。 不同摄像头暴露的参数不同,页面只显示当前摄像头支持且可以修改的项目,例如亮度、电源频率、对焦或曝光。调整参数后会立即应用到摄像头;确认效果后点击 **Save to config**,才能在服务重启后继续使用该设置。 ## 视频流和快照地址[​](#视频流和快照地址 "视频流和快照地址的直接链接") | 用途 | 推荐地址 | | -------------- | ----------------------------------- | | 实时视频流 | `http://设备IP:8080/?action=stream` | | 单帧快照 | `http://设备IP:8080/snapshot` | | 上位机本机快照 | `http://localhost:8080/snapshot` | GoCam 同时兼容 `/stream`、`/?action=snapshot` 和 `/webcam/?action=...` 等地址。新配置应优先使用上表中的地址,避免沿用其他摄像头服务的路径造成插件兼容问题。 ## 延迟摄影配置[​](#延迟摄影配置 "延迟摄影配置的直接链接") GoCam 模式下,`moonraker.conf` 的延迟摄影快照地址应设置为: ``` [timelapse] output_path: /usr/share/printer_data/timelapse/ snapshoturl: http://localhost:8080/snapshot frame_path: /tmp/timelapse ``` 修改后重启 Moonraker。完整操作请参考 [延迟摄影功能](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse#gocam-snapshot)。 快照路径检查 如果延迟摄影没有生成帧图片,请首先检查 `snapshoturl`。GoCam 推荐直接使用 `/snapshot`;不要未经验证直接保留 Crowsnest 的旧快照地址。 ## 配置文件[​](#配置文件 "配置文件的直接链接") GoCam 的服务配置位于: ``` /usr/share/printer_data/config/gocam.conf ``` 默认参考配置如下: ``` [cam 1] port: 8080 device: /dev/video1 resolution: 1920x1080 max_fps: 30 quality: 5 # v4l2ctl: focus_automatic_continuous=0,focus_absolute=70 # ffmpeg_flags: -fflags nobuffer -flags low_delay ``` | 参数 | v1.4.0 镜像默认值 | 说明 | | -------------- | ----------------- | ---------------------------------------------------------- | | `port` | `8080` | 当前摄像头服务端口 | | `device` | `/dev/video1` | 摄像头设备节点;优先使用 `/dev/v4l/by-id/...` 下的固定路径 | | `resolution` | `1920x1080` | 摄像头实际支持的分辨率 | | `max_fps` | `30` | 最大帧率 | | `quality` | `5` | MJPEG 质量,取值范围为 `1` 至 `31` | | `v4l2ctl` | 未设置 | 可选的 UVC 参数;管理页面保存的参数会写入此项 | | `ffmpeg_flags` | 未设置 | 可选的 FFmpeg 参数 | ## 状态检查与故障排查[​](#状态检查与故障排查 "状态检查与故障排查的直接链接") 通过 SSH 执行: ``` systemctl status gocam --no-pager ``` 查看最近的服务日志: ``` tail -n 100 /usr/share/printer_data/logs/gocam.log ``` 常见问题: * **页面无法访问**:确认 `gocam=1`、`crowsnest=0`,并检查 `8080` 端口是否被其他服务占用。 * **页面显示无信号**:检查 `device` 是否指向当前摄像头,并确认分辨率和帧率受摄像头支持。 * **重启后参数丢失**:实时调整后还需要点击 **Save to config**。 * **延迟摄影没有图片**:将 `snapshoturl` 改为 `http://localhost:8080/snapshot`,再重启 Moonraker。 --- # Klipper Cloud 远程代理 Klipper Cloud 远程代理用于让已联网的 FLYOS-FAST 设备连接 Klipper Cloud,以便在云平台中绑定和远程访问当前上位机。FLYOS-FAST v1.4.0 测试版镜像会在首次启动时生成本机凭据,但远程访问默认关闭,必须由用户主动开启。 测试功能与远程访问风险 该功能目前仅在 FLYOS-FAST v1.4.0 测试版镜像中确认。启用后,设备会主动连接远程服务;不需要远程访问时请保持关闭。 设备 ID、本机凭据、代理配置和包含这些内容的日志均不应发布到论坛、群聊或其他公开位置。 远程操作安全 远程移动、加热或执行 G-code 前,必须确认打印机现场环境安全,并保留可以立即断电或急停的措施。网络延迟、连接中断或状态不同步可能影响操作结果,不建议在无人看管且无法处理异常时远程启动打印。 ## 功能说明[​](#功能说明 "功能说明的直接链接") * 开启远程代理后,可以按照 Klipper Cloud 平台提示绑定当前上位机。 * 关闭远程代理只会停止云端远程连接,不影响 Fluidd、Mainsail、Moonraker 和 SSH 的局域网访问。 * 后台存在 agent 进程,不代表远程访问已经开启;代理进程也可能只是在等待用户授权。 * 设备 ID 用于识别当前上位机,不是主板 USB ID、CAN UUID 或打印机配置中的 MCU ID。 ## 完整启用流程[​](#完整启用流程 "完整启用流程的直接链接") ### 1. 开启远程服务[​](#1-开启远程服务 "1. 开启远程服务的直接链接") 通过 SSH 执行: ``` /data/klipper-cloud-agent/klipper-cloud-agent --enable-remote ``` 命令执行后如果没有报错,请等待代理连接云端。不要连续反复执行开启命令。 ### 2. 查询设备 ID[​](#2-查询设备-id "2. 查询设备 ID的直接链接") 确保云服务已经开启并且上位机可以访问互联网,然后执行: ``` /data/klipper-cloud-agent/klipper-cloud-agent --device-id ``` 命令正常返回设备 ID 后,再按照 Klipper Cloud 平台提示绑定设备。复制时只选择设备 ID 本身,不要把整张终端截图发送给其他人。 Loading... 图片说明 上图是终端操作示意,设备 ID 已隐藏。请以自己设备实际返回的内容为准。 ### 3. 完成云平台绑定[​](#3-完成云平台绑定 "3. 完成云平台绑定的直接链接") 云平台网址 [Klipper Cloud 设备管理](https://app.klipper.cn/) 打开 [Klipper Cloud 设备管理](https://app.klipper.cn/),使用自己的账号登录。首次使用时请先阅读页面中的使用须知、服务协议和隐私规则。 Loading... 登录后,在左侧 **我的设备** 区域找到设备添加框: 1. 将 `--device-id` 返回的完整设备 ID 填入 **输入 KD-… 设备 ID**。 2. 点击 **添加**。 3. 等待设备出现在左侧列表,并确认状态显示为 **在线**。 4. 点击设备后,可在页面中打开远程设备管理界面;需要独立窗口时点击右上角的 **新窗口打开**。 Loading... 提示 设备管理页面截图中的账号、设备名称、设备 ID 和远程打印界面均已隐藏。不要将包含真实信息的页面截图公开发布。 绑定后应同时检查: 1. 云平台显示的设备与当前上位机一致。 2. 远程页面能够读取当前打印机状态。 3. 局域网内的 Fluidd 或 Mainsail 仍可正常访问。 不要使用他人提供的设备 ID,也不要将自己的设备绑定到不受信任的账号。 ## 关闭远程服务[​](#disable-remote "关闭远程服务的直接链接") 不再使用远程访问时执行: ``` /data/klipper-cloud-agent/klipper-cloud-agent --disable-remote ``` Loading... 关闭后,本地 Fluidd、Mainsail、Moonraker 和 SSH 的局域网访问不受影响。如果准备转让、维修或重装设备,还应在 Klipper Cloud 平台中解除设备绑定;只执行关闭命令不等于解除云平台账号关系。 ## 解除云平台绑定[​](#unbind-device "解除云平台绑定的直接链接") 准备转让、维修或不再使用当前设备时,应同时关闭设备端远程服务并解除平台绑定: 1. 先在 SSH 中执行 `--disable-remote`。 2. 在电脑端右键点击左侧设备;手机或触控设备长按该设备。 3. 选择 **删除/解绑**。 4. 按页面提示输入当前设备名称进行确认。 Loading... 解绑会移除当前账号与该设备的关系。设备端保存的配置、打印文件以及局域网访问不会因此被删除。 ## 命令速查[​](#命令速查 "命令速查的直接链接") | 操作 | 命令 | 使用条件 | | ------------ | -------------------------------------------------------------------------------------------- | ------------------------ | | 检查代理程序 | `test -x /data/klipper-cloud-agent/klipper-cloud-agent && echo "klipper-cloud-agent 已安装"` | 登录 SSH 后执行 | | 开启远程服务 | `/data/klipper-cloud-agent/klipper-cloud-agent --enable-remote` | 上位机已经联网 | | 查询设备 ID | `/data/klipper-cloud-agent/klipper-cloud-agent --device-id` | 远程服务已开启且网络正常 | | 关闭远程服务 | `/data/klipper-cloud-agent/klipper-cloud-agent --disable-remote` | 不再需要云端访问时执行 | --- # 延迟摄影功能(Timelapse) 前端说明 FLYOS-FAST 当前使用 Fluidd。完成本页配置后,可以在 Fluidd 左侧菜单打开“延迟摄影”页面(地址中的 `#/timelapse`)查看帧、渲染视频和调整支持的参数。控制台命令和切片器配置方法请参阅[延迟摄影使用方法](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse-use)。 ## 功能说明[​](#功能说明 "功能说明的直接链接") 延迟摄影功能可以在打印过程中自动拍摄照片,并在打印完成后合成为视频,记录整个打印过程。 重要提示 **系统版本要求**: 本功能需要 FlyOS-Fast 系统版本 **大于或等于 v1.3.7** 才能正常使用。 *** ## 安装步骤[​](#安装步骤 "安装步骤的直接链接") ### 步骤1: 拉取 moonraker-timelapse 仓库[​](#步骤1-拉取-moonraker-timelapse-仓库 "步骤1: 拉取 moonraker-timelapse 仓库的直接链接") 通过 SSH 连接到设备,执行以下命令将 moonraker-timelapse 拉取到 `/data` 目录: ``` cd /data git clone https://github.com/mainsail-crew/moonraker-timelapse.git ``` ### 步骤2: 创建软链接[​](#步骤2-创建软链接 "步骤2: 创建软链接的直接链接") 将 timelapse.py 组件超链接到 Moonraker 的 components 目录: ``` ln -s /data/moonraker-timelapse/component/timelapse.py /data/moonraker/moonraker/components/timelapse.py ``` ### 步骤3: 复制配置文件[​](#步骤3-复制配置文件 "步骤3: 复制配置文件的直接链接") 将 timelapse.cfg 复制到打印机配置目录: ``` cp /data/moonraker-timelapse/klipper_macro/timelapse.cfg /usr/share/printer_data/config/ ``` ### 步骤4: 创建 timelapse 目录[​](#步骤4-创建-timelapse-目录 "步骤4: 创建 timelapse 目录的直接链接") 在打印机数据目录下创建 timelapse 文件夹,用于保存延迟摄影视频: ``` mkdir -p /usr/share/printer_data/timelapse ``` ### 步骤5: 访问配置文件[​](#步骤5-访问配置文件 "步骤5: 访问配置文件的直接链接") 通过浏览器访问机器IP,进入 Klipper 管理页面,找到配置文件。 ### 步骤6: 配置 moonraker.conf[​](#gocam-snapshot "步骤6: 配置 moonraker.conf的直接链接") 在 `moonraker.conf` 文件末尾添加以下配置: 配置说明 以下为基础配置,其他参数可根据实际需求进行配置。 * Crowsnest * GoCam(v1.4.0 测试版) ``` [timelapse] output_path: /usr/share/printer_data/timelapse/ snapshoturl: http://localhost:8080/webcam/?action=snapshot frame_path: /tmp/timelapse ``` ``` [timelapse] output_path: /usr/share/printer_data/timelapse/ snapshoturl: http://localhost:8080/snapshot frame_path: /tmp/timelapse ``` GoCam 应优先使用直接快照路径 `/snapshot`。如果继续使用其他摄像头服务的旧地址,可能出现无法获取帧图片的问题。 **参数说明**: * `output_path`: 最终视频文件保存路径 * `snapshoturl`: 摄像头快照 URL;必须与当前启用的摄像头服务匹配 * `frame_path`: 临时帧图片保存路径 ### 步骤7: 添加配置文件引用[​](#步骤7-添加配置文件引用 "步骤7: 添加配置文件引用的直接链接") 在 `printer.cfg` 文件中添加: ``` [include timelapse.cfg] ``` ### 步骤8: 重启服务[​](#步骤8-重启服务 "步骤8: 重启服务的直接链接") 配置完成后,重启 Moonraker 服务使配置生效。 *** ## 使用说明[​](#使用说明 "使用说明的直接链接") 1. 开始打印任务后,系统会自动在指定路径保存帧图片 2. 打印完成后,图片会自动合成为视频文件 3. 视频文件保存在 `/usr/share/printer_data/timelapse/` 目录中 > **使用方法**:[查看延迟摄影使用方法](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse-use) 更多配置说明 详细的配置选项和使用方法,请查看官方文档:[moonraker-timelapse GitHub](https://github.com/mainsail-crew/moonraker-timelapse) *** ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要提示 * 确保有足够的存储空间保存延迟摄影文件 * 打印大文件时,建议在配置中调整拍摄间隔 * `/tmp/timelapse` 目录会在重启后清空,请及时备份重要视频 *** --- # 延迟摄影使用方法 完成[延迟摄影功能配置](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse)并重启 Klipper、Moonraker。FLYOS-FAST 使用 GoCam 时,快照地址为 `http://localhost:8080/snapshot`,视频默认保存在 `/usr/share/printer_data/timelapse/`。 ## Fluidd 页面[​](#fluidd-页面 "Fluidd 页面的直接链接") 使用 Fluidd 时,可以在左侧菜单打开“延迟摄影”页面,地址通常以 `#/timelapse` 结尾。在该页面可以查看已采集帧、渲染视频、下载视频以及调整页面提供的参数。使用 Mainsail 时,也可以使用其延迟摄影页面。 如果页面没有内容,请检查以下项目: 1. Moonraker 已加载 timelapse 组件。 2. `printer.cfg` 已包含 `timelapse.cfg`。 3. `[timelapse]` 中的 `snapshoturl` 能获取当前摄像头快照。 4. 切片文件中包含 `TIMELAPSE_TAKE_FRAME`。 ## 配置拍照时的停靠位置[​](#配置拍照时的停靠位置 "配置拍照时的停靠位置的直接链接") 在 Fluidd 或 Mainsail 的控制台中查看当前设置: ``` GET_TIMELAPSE_SETUP ``` 用 `_SET_TIMELAPSE_SETUP` 设置拍摄前是否移动喷头、停靠坐标、抬高高度、移动速度和停留时间。下面坐标只是假设值,必须按实际打印机尺寸修改: ``` _SET_TIMELAPSE_SETUP PARK_ENABLE=True PARK_POS=custom CUSTOM_POS_X=10 CUSTOM_POS_Y=210 CUSTOM_POS_DZ=2 TRAVEL_SPEED=80 PARK_TIME=1 ``` | 参数 | 作用 | | ------------------ | ---------------------------------------- | | `PARK_ENABLE=True` | 拍照前移动喷头;不希望移动时使用 `False` | | `PARK_POS=custom` | 使用自定义停靠位置 | | `CUSTOM_POS_X/Y` | 停靠点的绝对 X、Y 坐标,单位 mm | | `CUSTOM_POS_DZ` | 在当前 Z 高度上抬高的距离,单位 mm | | `TRAVEL_SPEED` | 停靠和返回速度,单位 mm/s | | `PARK_TIME` | 停靠动作保持时间,单位秒 | 发送设置命令不会立即移动喷头,只有执行 `TIMELAPSE_TAKE_FRAME` 时才会使用这些设置。设置后再次执行 `GET_TIMELAPSE_SETUP` 核对结果。 先测试停靠路径 示例坐标不能直接照抄。先确认打印机已经归位,并用小模型测试整个移动路径不会撞到模型、机架或限位。只想测试相机时,先执行 `_SET_TIMELAPSE_SETUP PARK_ENABLE=False`。 ## 切片器设置[​](#切片器设置 "切片器设置的直接链接") 在切片器的“层改变 G-code”或“层改变前 G-code”中添加一次: ``` TIMELAPSE_TAKE_FRAME ``` 不要同时在层改变前和层改变后重复添加,否则每层可能拍摄两次。 ## 控制台测试[​](#控制台测试 "控制台测试的直接链接") 在确认停靠位置安全后,可以在 Fluidd 控制台执行: ``` GET_TIMELAPSE_SETUP TIMELAPSE_TAKE_FRAME ``` 不希望测试时移动喷头时,先关闭停靠: ``` _SET_TIMELAPSE_SETUP PARK_ENABLE=False TIMELAPSE_TAKE_FRAME ``` 手动渲染视频: ``` TIMELAPSE_RENDER ``` 如果切片器不能插入层改变指令,可以使用按时间拍摄: ``` HYPERLAPSE ACTION=START CYCLE=30 ``` 打印结束后执行: ``` HYPERLAPSE ACTION=STOP TIMELAPSE_RENDER ``` ## 视频位置[​](#视频位置 "视频位置的直接链接") 生成的视频默认保存在: ``` /usr/share/printer_data/timelapse/ ``` 实际保存位置以 `[timelapse]` 配置中的 `output_path` 为准。 --- ## [📄️常见问题与排障](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) [faq}](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) --- # FLYOS-FAST 常见问题与排障 本页集中说明 FLYOS-FAST 的系统限制、配置路径、更新方式和常见故障。具体功能的完整操作步骤通过链接跳转到对应文档,避免在 FAQ 中重复维护。 建议排查顺序 1. 记录网页或终端显示的完整报错,不要只截取最后一行。 2. 确认问题发生前修改过哪些配置、插件或系统选项。 3. 检查磁盘空间、服务状态和对应日志。 4. 涉及重启服务或上位机时,先确认打印机没有执行打印、加热或运动。 ## 系统与账户[​](#system-account "系统与账户的直接链接") ### 为什么只能使用 `root` 用户?[​](#为什么只能使用-root-用户 "为什么只能使用-root-用户的直接链接") FLYOS-FAST 是面向打印控制设备设计的精简系统,采用单用户管理方式,`root` 是唯一的交互式管理账户。系统不支持创建或切换到其他用户。 ### 为什么不能使用 `apt` 或 `dpkg`?[​](#为什么不能使用-apt-或-dpkg "为什么不能使用-apt-或-dpkg的直接链接") FLYOS-FAST 不提供传统 Linux 发行版的软件包管理环境,因此不能使用以下命令安装或更新软件: ``` apt update apt install dpkg -i ``` 不要从其他 Linux 系统复制软件包或系统库。额外依赖应由插件安装教程明确提供;缺少通用依赖时,请向技术支持反馈。 ### 为什么系统目录显示为只读?[​](#为什么系统目录显示为只读 "为什么系统目录显示为只读?的直接链接") 核心系统使用只读文件系统,由完整镜像或 OTA 统一更新。不要尝试重新挂载根目录并直接修改系统文件,否则可能造成更新失败或重启后改动丢失。 用户配置、插件和打印数据应保存在持久化目录中。 ## 文件与配置[​](#files-config "文件与配置的直接链接") ### 常用文件保存在哪里?[​](#常用文件保存在哪里 "常用文件保存在哪里?的直接链接") | 内容 | Klipper 模式路径 | 说明 | | ------------ | --------------------------------- | ------------------------------------------ | | 打印机配置 | `/usr/share/printer_data/config/` | 包含 `printer.cfg`、Moonraker 和摄像头配置 | | G-code 文件 | `/usr/share/printer_data/gcodes/` | 网页上传和 U 盘打印的文件入口 | | 运行日志 | `/usr/share/printer_data/logs/` | Klipper、Moonraker、屏幕和摄像头日志 | | 插件及源码 | `/data/` | 自定义插件应统一放在这里 | | Klipper 源码 | `/data/klipper/` | 系统预置的 Klipper 目录 | | 编译产物 | `/data/klipper/out/` | 固件编译完成后的输出目录 | RRF 模式的数据目录为 `/opt/dsf/`,不要把 Klipper 和 RRF 的配置路径混用。 > **RRF 配置路径与常见报错**:[查看 RRF 模式排障](#rrf-mode) ### 哪些目录会持久保存?[​](#哪些目录会持久保存 "哪些目录会持久保存?的直接链接") 系统会保存 `/etc`、`/data`、`/root`,以及当前打印模式的数据目录。即使这些目录会保留,执行 OTA 或重新烧录前仍应单独备份打印机配置。 ### 如何修改 FLYOS-FAST 系统配置?[​](#如何修改-flyos-fast-系统配置 "如何修改 FLYOS-FAST 系统配置?的直接链接") 系统型号、网络、屏幕和服务开关统一在 `FlyOS-Conf/config.txt` 中管理。系统启动后也可以通过网页中的 `.flyos-config/sys-config.conf` 修改。 > **配置方法与生效范围**:[查看 FLYOS-FAST 系统配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) ### 修改配置后为什么没有生效?[​](#修改配置后为什么没有生效 "修改配置后为什么没有生效?的直接链接") 不同配置需要执行不同的生效操作: | 修改内容 | 生效操作 | | --------------------------------- | --------------------------- | | `printer.cfg` 和 Klipper 配置片段 | 在网页中执行 **保存并重启** | | `moonraker.conf` | 重新启动 Moonraker | | `config.txt` 或 `sys-config.conf` | 重新启动整个上位机 | | 插件源码或软链接 | 按插件教程重启对应服务 | 如果重启后仍未生效,请确认文件已经保存、配置项没有重复定义,并检查对应服务日志。 ## RRF 模式[​](#rrf-mode "RRF 模式的直接链接") ### RRF 模式下 DCS 反复断开,提示 M550 机器名不匹配怎么办?[​](#rrf-m550-hostname "RRF 模式下 DCS 反复断开,提示 M550 机器名不匹配怎么办?的直接链接") RRF 模式下出现以下现象: * DWC 网页反复显示 `Connection interrupted`、`DCS has been stopped`。 * 启动日志中出现 `Error in start-up file config.g line 3: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname`。 * DCS(Duet Control Server)无法正常启动,网页无法连接。 原因 RRF 要求 `config.g` 中 `M550 P"..."` 设置的机器名必须与 Linux 系统的 hostname **完全一致**(只包含相同的字母和数字)。两者不匹配时,DCS 会拒绝启动并反复崩溃重连。 `printer_name` 仅在首次启动时用于初始化 hostname。如果后续手动修改了 hostname 而没有同步修改 `config.g`,或者复制了其他设备的 `config.g`,就会出现此错误。 **排查与修复步骤**: 1. 通过 SSH 连接上位机,查看当前 Linux hostname: ``` hostname ``` 2. 查看 RRF 配置文件中 `M550` 的当前值: ``` cat /opt/dsf/sd/sys/config.g | grep M550 ``` 3. 将 `M550` 修改为与 hostname 一致。例如 hostname 为 `fly-c5`,则应改为: ``` M550 P"fly-c5" ``` 4. 保存文件后,在 DWC 网页中重启 DCS,或直接重启上位机。 名称字符限制 `M550` 中的机器名只能包含字母和数字,不能包含空格、下划线、中文或其他特殊字符。如果需要修改 hostname,应同步更新 `config.g` 中的 `M550`,保持二者一致。 ### RRF 模式的配置文件在哪里?[​](#rrf-模式的配置文件在哪里 "RRF 模式的配置文件在哪里?的直接链接") RRF 的所有配置文件位于 `/opt/dsf/sd/sys/` 目录下,主要文件包括: | 文件 | 用途 | | ----------- | ----------------------------------------------- | | `config.g` | 主启动配置文件,包含 `M550`(机器名)等核心设置 | | `board.txt` | 板级配置(网络、SPI 等) | | `deploy.d` | 部署脚本目录 | G-code 文件存放在 `/opt/dsf/sd/gcodes/`,U 盘打印的文件也挂载到该路径。不要把 Klipper 的配置路径(`/usr/share/printer_data/`)与 RRF 混用。 ## 系统更新与固件[​](#updates-firmware "系统更新与固件的直接链接") ### 应该怎样更新系统?[​](#应该怎样更新系统 "应该怎样更新系统?的直接链接") FLYOS-FAST 应通过系统 OTA 或重新烧录对应设备的正式镜像更新。不要使用第三方系统升级脚本替换核心文件。 > **在线与 U 盘更新**:[查看 OTA 系统更新指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) > **重新烧录系统**:[查看系统镜像烧录教程](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/flash) ### OTA 会删除打印机配置吗?[​](#ota-会删除打印机配置吗 "OTA 会删除打印机配置吗?的直接链接") 正常 OTA 会保留 `/data` 和打印机数据目录,但以下情况仍可能造成配置异常: * 用户自行替换了 Klipper、Moonraker 或其他预置组件。 * 自定义文件遮挡了 OTA 提供的新文件。 * 更新过程中供电中断。 * 更新前磁盘空间不足或文件系统已经损坏。 更新前应下载或复制一份 `printer_data/config` 备份。更新和重启期间保持供电稳定,不要执行打印操作。 ### 可以单独更新 Klipper 或 Moonraker 吗?[​](#可以单独更新-klipper-或-moonraker-吗 "可以单独更新 Klipper 或 Moonraker 吗?的直接链接") 不建议。系统中的 Klipper、Moonraker、网页界面和屏幕服务经过配套适配,单独替换某一组件可能破坏路径、扩展接口或更新机制。请使用系统提供的整体更新方式。 ### OTA 后出现 MCU 版本不匹配怎么办?[​](#ota-后出现-mcu-版本不匹配怎么办 "OTA 后出现 MCU 版本不匹配怎么办?的直接链接") OTA 只支持自动更新 FLY-C8、FLY-C5、FLY-C8P 和 FLY-GEMINI V3 主板的 USB 固件。其他主板、CAN 固件、工具板及其他外接 MCU 均不支持自动更新,需要按对应产品教程手动烧录。 > **自动更新范围与检查方法**:[查看 OTA 后 MCU 固件更新说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota#automatic-mcu-update) ### 固件编译完成后去哪里找文件?[​](#固件编译完成后去哪里找文件 "固件编译完成后去哪里找文件?的直接链接") 编译产物位于: ``` /data/klipper/out/ ``` 实际文件可能是 `klipper.bin` 或 `klipper.uf2`,由 MCU 架构和引导程序配置决定。 > **固件编译说明**:[查看 Klipper 固件编译教程](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware) > **FLYOS-FAST 编译限制**:[查看 FLYOS-FAST 固件编译说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/firmware-compile) ## 插件与 Python 环境[​](#plugins-python "插件与 Python 环境的直接链接") ### 为什么找不到 `~/klippy-env/bin/python`?[​](#为什么找不到-klippy-envbinpython "为什么找不到-klippy-envbinpython的直接链接") FLYOS-FAST 使用系统 Python,不使用常见的 `klippy-env` 虚拟环境。应把命令中的 Python 解释器和 Klipper 路径改为系统实际路径。例如查询 CAN UUID 时使用: ``` python /data/klipper/scripts/canbus_query.py can0 ``` 不要只替换 Python 命令而保留错误的 `~/klipper/` 路径。 ### 插件应该安装在哪里?[​](#插件应该安装在哪里 "插件应该安装在哪里?的直接链接") 插件仓库统一放在 `/data/`。需要向 Klipper 添加扩展文件时,优先使用软链接,并先确认插件教程要求的文件名称和依赖,不要批量复制整个插件目录到 Klipper。 > **安装规则与现有插件教程**:[查看插件安装说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) ### 插件安装后没有生效怎么办?[​](#插件安装后没有生效怎么办 "插件安装后没有生效怎么办?的直接链接") 依次检查: 1. 网络拉取步骤是否完整成功。 2. 插件文件是否真实存在于 `/data/`。 3. 软链接是否指向正确文件: ``` readlink -f /data/klipper/klippy/extras/插件文件.py ``` 4. `printer.cfg` 是否加载了插件配置。 5. Klipper 日志中是否出现缺少模块、依赖或配置项的报错。 不要为了绕过报错而删除安全配置或关闭 Klipper 的温度、限位及加热保护。 ## 网页与网络[​](#web-network "网页与网络的直接链接") ### 各网页入口分别是什么?[​](#各网页入口分别是什么 "各网页入口分别是什么?的直接链接") | 功能 | 地址 | 使用条件 | | ------------------ | --------------------- | -------------------- | | Fluidd 或 Mainsail | `http://设备IP/` | Klipper 模式正常启动 | | OTA 管理页面 | `http://设备IP:9998/` | 上位机网络正常 | | GoCam 管理页面 | `http://设备IP:8080/` | GoCam 已启用 | ### 为什么无法访问 `设备IP:9999`?[​](#为什么无法访问-设备ip9999 "为什么无法访问-设备ip9999的直接链接") FLYOS-FAST 默认不提供 `fly-tools` 网页服务,因此 `9999` 端口没有响应属于正常现象。系统配置和固件操作应使用对应的 FLYOS-FAST 文档与 SSH 命令。 ### 主网页无法访问时如何检查?[​](#主网页无法访问时如何检查 "主网页无法访问时如何检查?的直接链接") 1. 确认电脑和上位机处于同一局域网。 2. 检查路由器中的设备地址,避免继续访问已经变化的旧 IP。 3. 通过 SSH 查看当前网络地址: ``` ip -br addr ``` 4. 查看是否存在启动失败的服务: ``` systemctl --failed --no-pager ``` 5. 如果 SSH 也无法连接,请先检查系统是否完成启动,再排查网线、Wi-Fi 配置和供电。 > **SSH 连接方法**:[查看通过 SSH 连接上位机](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/) ## 打印、U 盘与摄像头[​](#printing-peripherals "打印、U 盘与摄像头的直接链接") ### U 盘可以识别,但无法开始打印怎么办?[​](#u-盘可以识别但无法开始打印怎么办 "U 盘可以识别,但无法开始打印怎么办?的直接链接") 确认文件系统、G-code 扩展名、本地剩余空间和文件编码。部分非 UTF-8 G-code 会出现“本地上传正常,但从 U 盘无法开始”的情况。 > **U 盘打印与编码排查**:[查看 U 盘打印功能使用指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) ### 摄像头没有画面怎么办?[​](#摄像头没有画面怎么办 "摄像头没有画面怎么办?的直接链接") 先确认摄像头支持 UVC 协议,再检查摄像头服务是否启用、设备节点是否正确以及分辨率是否受摄像头支持。不要同时启动两个占用同一摄像头的服务。 > **摄像头连接与配置**:[查看摄像头连接与使用](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) ### 延迟摄影没有生成图片怎么办?[​](#延迟摄影没有生成图片怎么办 "延迟摄影没有生成图片怎么办?的直接链接") 先在浏览器中直接访问快照地址,确认能够返回单张图片。摄像头服务发生变化时,需要同步修改 `moonraker.conf` 中的 `snapshoturl`。 > **快照地址与日志排查**:[查看延迟摄影功能](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/timelapse) ### Klipper 报错后应该从哪里开始排查?[​](#klipper-报错后应该从哪里开始排查 "Klipper 报错后应该从哪里开始排查?的直接链接") 优先记录网页显示的原始报错,并查看 `klippy.log` 中最先出现的异常。最后出现的断开连接或重启提示通常只是后续现象,不一定是根因。 > **Klipper 报错索引**:[查看 Klipper 常见报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err) ## 日志与技术支持[​](#logs-support "日志与技术支持的直接链接") ### 常用日志在哪里?[​](#常用日志在哪里 "常用日志在哪里?的直接链接") | 日志 | 路径 | | ------------- | ------------------------------------------------ | | Klipper | `/usr/share/printer_data/logs/klippy.log` | | Moonraker | `/usr/share/printer_data/logs/moonraker.log` | | KlipperScreen | `/usr/share/printer_data/logs/klipperscreen.log` | | Crowsnest | `/usr/share/printer_data/logs/crowsnest.log` | | GoCam | `/usr/share/printer_data/logs/gocam.log` | | U 盘自动挂载 | `/var/log/flyos-auto-mount.log` | 只查看最近内容时可以使用: ``` tail -n 100 /usr/share/printer_data/logs/klippy.log ``` 检查主要服务状态: ``` systemctl status klipper moonraker --no-pager ``` 检查系统资源: ``` uptime free -h df -h ``` ### 联系技术支持时需要提供什么?[​](#联系技术支持时需要提供什么 "联系技术支持时需要提供什么?的直接链接") 请尽量一次性提供: * 上位机和主板的具体型号。 * FLYOS-FAST 版本号。 * 问题发生前执行的操作或修改内容。 * 网页完整报错截图。 * 完整的 `klippy.log`、`moonraker.log` 或对应服务日志。 * 问题能否稳定复现,以及重启后是否仍然存在。 不要只提供截断后的最后几行日志,否则可能看不到真正的首个报错。发送配置和日志前,请删除 Wi-Fi 密码、云服务凭据、令牌等敏感信息。 --- # FLYOS-FAST 固件编译说明 FLYOS-FAST 预置了 Klipper 源码和编译环境,固件应在当前设备上按照所使用主板的产品文档进行配置和编译。 专用工具链架构不支持 * FLYOS-FAST 系统不提供 AVR、PRU 等专用工具链,因此需要这些工具链的产品都无法在本机编译固件。 * 例如:`BeagleBone PRU` 和 `Atmega AVR`。请不要在 `make menuconfig` 中选择这些架构,也不要将对应配置文件直接用于系统编译。 Allwinner A64 AR100 不支持 FLYOS-FAST 系统不支持编译或生成 `Allwinner A64 AR100` 固件。该平台即使不属于 AVR 或 PRU 架构,也不能在 FLYOS-FAST 本机完成编译。 ## 在 FLYOS-FAST 上编译[​](#在-flyos-fast-上编译 "在 FLYOS-FAST 上编译的直接链接") 1. 通过 SSH 登录 FLYOS-FAST。系统使用 `root` 用户。 2. 进入系统预置的 Klipper 目录: ``` cd /data/klipper ``` 3. 打开固件配置界面: ``` make menuconfig ``` 4. 按主板产品文档选择正确的 MCU 架构、芯片型号、时钟、通信方式和引导程序偏移。不要选择需要 AVR、PRU 或其他专用工具链的架构。 5. 保存配置后开始编译: ``` make -j4 ``` 编译产物位于: ``` /data/klipper/out/ ``` 实际文件名由 MCU 架构和引导程序配置决定,常见为 `klipper.bin` 或 `klipper.uf2`。烧录前请确认固件配置与主板型号、通信方式及引导程序偏移完全匹配。 > **通用编译步骤与配置项**:[查看固件编译说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware) 编译失败时 不要为了绕过错误随意更换 MCU 架构、关闭安全选项或使用其他主板的配置文件。请保留完整的终端输出,核对产品文档中的编译参数,并联系技术支持。 --- # 🖐 欢迎来到 Mellow 🎉️ *** **引领 3D 打印技术的未来,赋能创意无限可能。** *** # ✨ 我们是谁 > Mellow 是一家专注于 3D 打印设备研发的高科技公司。 我们致力于提供最先进的 3D 打印解决方案,以满足各行业的创新需求。 从 DIY 到工业设计,我们的设备和服务在全球范围内广受认可。 *** # 💥 我们的优势 * **技术领先**:提供先进的 3D 打印机配件和方案。 * **定制化解决方案**:根据客户需求提供量身定制的 3D 打印设备和服务。 * **全球支持**:完善的全球服务网络,提供及时的技术支持和售后服务。 * **创新驱动**:持续的研发投入,保持技术领先优势,不断推出创新产品。 --- # BDsensor BD传感器是一个可以与3D打印机配合使用的距离传感器,可以实时进行快速床调平和调整Z轴。 Loading... ## 功能[​](#功能 "功能的直接链接") * 代替Z轴限位 * 扫描时无需升降Z轴,提高打印速度 * XY移动扫描,可进行密集网床探测 ## 连接[​](#连接 "连接的直接链接") * 电源:5V * 固件 :Klipper /Marlin * 连接:工具板/主板(BDsensor将使用一个舵机口与限位口) * 热床:普通PEI,铝板热床等金属表面热床,不支持磁铁打孔热床与非金属表面热床 ## 注意事项[​](#注意事项 "注意事项的直接链接") * Klipper 需要下载最新的 Klipper 与 BD-SENSOR 补丁,并且需要重新刷主板固件 * 调试时请将急停按钮放在可以随时触发的地方,以免刮花PEI * 扫床速度建议 200 mm/s! * Z轴归位速度不建议超过 5 mm/s --- # 安装 **BDsensor** ## 将传感器电缆连接到主板或CAN总线工具头板。[​](#将传感器电缆连接到主板或can总线工具头板 "将传感器电缆连接到主板或CAN总线工具头板。的直接链接") * 请注意SB2040无法使用BDsensor * 请注意SHT36需要将BDsensor的CLK/SCL (Input)接到高压输入口,并且将跳线接上 * BDsensor的CKL和SDA线可以连接到电路板的任何GPIO引脚。您也可以将BD传感器电缆直接连接到Bltouch端口,例如: ``` BLtouch | BDsensor 5V --> 5V GND --> GND S --> CLK/SCL (Input) GND --> GND Zmin --> SDA (Input/Output) ``` * 由于主板连接器中的某些引脚可能没有直接连接到MCU的gpios(例如,它们上可能有滤波电容器或通过MOSFET,二极管或光耦合器隔离,但如果它们通过电阻或电阻上拉/下拉隔离也可以),因此它们不能与BDsensor一起使用。并且固件将报告连接错误。例如 * 风扇和加热器的连接器通过 MOSFET 隔离, * 某些电路板中用于温度热敏电阻和端挡/探头的连接器通常通过滤波电容器连接到 GND, 1. 如下图所示,将BD传感器安装在靠近热端的位置。 [STL of mount](https://www.thingiverse.com/thing:6098131), [STL\_mount\_VzBot\_Goliath short](https://discord.com/channels/829828765512106054/1163237892957671424) Loading... ## 将补丁安装到 Klipper 固件中[​](#将补丁安装到-klipper-固件中 "将补丁安装到 Klipper 固件中的直接链接") * 放弃之前修改的klipper文件并且更新Klipper ``` cd cd ~/klipper git checkout . git pull ``` * 克隆BD传感器的最新代码 ``` cd && git clone https://github.com/markniu/Bed_Distance_sensor.git ``` * 安装 ``` cd ~/Bed_Distance_sensor/klipper/ ./install_BDsensor.sh ``` * 编译固件 ``` cd ~/klipper/ make menuconfig make clean make ``` * 将固件烧录到BD传感器连接的MCU或CANbus工具头板上 ## 如果您的打印机运行的是Moonraker,请将以下部分添加到moonraker.conf,然后您可以通过网页或KlipperScreen单击一下即可更新BDsensor.[​](#如果您的打印机运行的是moonraker请将以下部分添加到moonrakerconf然后您可以通过网页或klipperscreen单击一下即可更新bdsensor "如果您的打印机运行的是Moonraker,请将以下部分添加到moonraker.conf,然后您可以通过网页或KlipperScreen单击一下即可更新BDsensor.的直接链接") ``` [update_manager BDsensor] type: git_repo primary_branch: new channel: dev path: ~/Bed_Distance_sensor origin: https://github.com/markniu/Bed_Distance_sensor.git install_script: ./klipper/install_BDsensor.sh is_system_service: False managed_services: klipper info_tags: desc=Bed Distance Sensor ``` ## 编辑 printer.cfg[​](#编辑-printercfg "编辑 printer.cfg的直接链接") * 将该部分复制到您的**printer.cfg**并编辑`[BDsensor]` `sda_pin` `scl_pin`,也不要忘记禁用其他探针部分,如 **BLtouch**。您可以连接主板或工具头CAN模块上的BD传感器, * 在`[BDsensor]`中将`speed`修改为 0.8.这仅适用于 z 倾斜和PROBE\_ACCURACY命令。值越小,探测时的精度越高,因为 MCU 在归位时读取主回路中的 BD传感器不像正常的止动器那样实时。 `[BDsensor]` * 将BD传感器在Z轴回原点时作为限位开关需要将`[stepper_z]` 中的`endstop_pin`改为`endstop_pin: probe:z_virtual_endstop` * 请确保**printer.cfg**中有`[safe_z_home]` * 将`[bed_mesh]`和`[z_tilt]`或者`[quad_gantry_level]`中的`[quad_gantry_level]`值改为1(建议0.7-1.0mm)在klipper的默认值为5mm,否则容易超出传感器范围 * **喷嘴高度只适合在`z_adjust:`设置,正数是贴近热床,负数是远离热床,其它调喷嘴高度的设置都会有bug** * 打开快速扫床需要将`no_stop_probe:true`前面的#删除 * 下面是一个配置示例。 ``` [BDsensor] scl_pin:PC6 # 舵机信号口 sda_pin:PC3 # 限位信号口 delay: 20 # 20us per pulse, this value should be >=20 but must be below 50 z_offset:0 # this `z_offset` must be set to 0. z_adjust:0.0 # z axis adjustment, replace the z_offset function. within -0.3 to 0.3mm x_offset: -34 y_offset: 0 #no_stop_probe:true # enable this for fast probe, the toolhead will not stop at the probe point. position_endstop: 0.8 # the Z axis will stop at this position (mm) while homing z, recommend value is 0.4~1.0 #speed:0.8 # this speed only works for the z tilt and PROBE_ACCURACY command. [stepper_z] endstop_pin: probe:z_virtual_endstop #position_endstop: 0.5 homing_speed: 5 second_homing_speed: 0.8 [bed_mesh] speed: 200 horizontal_move_z:1 algorithm: bicubic [quad_gantry_level] horizontal_move_z:1 ``` ## 安装后,请通过发送以下gcode命令进行检查[​](#安装后请通过发送以下gcode命令进行检查 "安装后,请通过发送以下gcode命令进行检查的直接链接") ``` M102 S-1 # 读取传感器信息 M102 S-2 # 读取一个距离值 ``` ## 检查连接[​](#检查连接 "检查连接的直接链接") * 通过**控制台**发送`M102 S-1`这是返回消息的示例,如果返回空白或其他字符串请检查连接和电线顺序 ``` Send: M102 S-1 Recv: V1.0 pandapi3d.com ``` ## 校准[​](#校准 "校准的直接链接") * 清洁喷嘴,然后通过控制台移动Z轴,直到喷嘴刚好接触床板(BDsensor将使用此位置作为零位置,因此不需要`z_offset`,这就是\[BDsensor]部分中值为0的原因) * **控制台**发送gcode命令`M102 S-6`,打印机每次将Z轴缓慢向上移动0.1mm,直到达到4mm.请勿在安装传感器之前运行M102 S-6,也不要在校准时关闭打印机电源,否则旧的校准数据将被删除。如果在这种情况下,只需再次校准 * 之后,您可以检查BD传感器是否已通过`M102 S-5`成功校准,这将返回存储在BD传感器中的原始校准数据。 **注意事项**: * 归位Z轴速度最好是5 * 如果M102 S-5返回的第一个原始校准数据大于400,则意味着传感器安装得太高,需要重新安装到更靠近床的位置,则第一个数据的推荐值为100.还要确保第二个数据的值比第一个数据大 10 个以上 * FAQ: 如果校准数据以1开始,第二个值为9,第三个值为24,这意味着什么? * 这意味着在0-0.1毫米之间的分辨率只有9,而0.1-0.2毫米的分辨率是15.因此建议再次校准,让第一个分辨率0-0.1毫米大于10。 * 请不要忘记在运行G28之后或为这些命令 `Z_tilt`与 `quad_gantry_level`调整Z轴高度 * 必须正确大写和小写部分名称,否则 Klipper 将报告`Unknown pin chip name 'probe'` --- # Klipper安装喷嘴碰撞 信息 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本)为V1.1b、大于V1.2b或者在2024年3月之后购买的版本,否则您需要使用外部硬件工具(如STlink)将固件刷入BD传感器。 在使用软PEI(如Whambam)进行归位操作时,不要将喷嘴加热得过高,否则高温可能会在PEI上留下孔洞。 # 它是如何工作的 * 如果喷嘴或床面因碰撞而停止,由bd传感器测量的距离数据也将停止变化,然后bd传感器将快速输出一个停止信号。 * 在执行G28时自动z\_offset校准的过程:它可以在喷嘴归位过程中触碰到床面后触发——然后缓慢向上移动直到喷嘴刚好离开床面——将此位置设定为Z轴的0位。 # 好处 * 自动 z 轴偏移校准。 * 同时您仍然可以针对不同的灯丝手动调整 z 轴偏移。 * 克服温度漂移。 * 温度漂移会改变 z 轴偏移,但不会改变带有 BD 传感器的床面网格高度图的范围。这意味着即使温度不同,床面网格也是相同的。 # 如何使用 * 将`collision_homing`和`collision_calibrate`添加到\[BDsensor]部分。 ``` [BDsensor] collision_homing:0 # set it 1 to enable homing with nozzle collision sensing. disable it by setting 0. 将其设置为1,以启用带喷嘴碰撞感应的归位功能。通过将其设置为0来禁用该功能。 collision_calibrate:0 # set it 1 to enable auto calibrate BDsensor with nozzle collision sensing. disable it by setting 0. # 将其设置为1,以启用通过喷嘴碰撞感应自动校准BD传感器。将其设置为0可禁用此功能。 # that means we do not need to manual move the nozzle on the bed and do paper test before sending calibrate command M102 S-6. 这意味着我们不需要手动在床上移动喷嘴,并且在发送校准命令M102 S-6之前不需要进行纸张测试。 ``` * 灵敏度取决于速度,速度越慢,灵敏度越高,因此您需要调整Z轴的速度,homing\_speed(归位速度)和second\_homing\_speed(二次归位速度)应在2到5的范围内。 信息 喷嘴应该清理干净或者加热以软化丝料残留物。 请不要将速度设置得过高或过低。如果速度过高,可能会损坏你的热端或打印床;而速度过低,则会在空中触发,实际上喷嘴并没有接触到打印床。 # 参考配置 ``` [stepper_z] endstop_pin: probe:z_virtual_endstop #position_endstop: 0.0 position_max: 250 homing_speed: 5 second_homing_speed:3 homing_retract_dist:5 homing_retract_speed:2 ``` 提示 `z_hop`(Z轴回退高度)和`homing_retract_dist`(回零回退距离)应大于等于5。 # 参考配置 ``` [safe_z_home] z_hop: 5 [stepper_z] homing_retract_dist:5 ``` ``` [BDsensor] ... speed:3 # this speed only works for the z tilt and PROBE_ACCURACY command. # 此速度仅适用于 Z 轴倾斜和 PROBE_ACCURACY 命令. ... ``` 提示 参考配置`zero_reference_position` ``` [bed_mesh] horizontal_move_z:1 # 0.7~1.0mm is recommended 建议使用0.7~1.0毫米。 zero_reference_position: 150, 160 # Set this value to be the same as home_xy_position that is in the section ## 将此值设置为与safe_z_home部分中的home_xy_position相同坐标. .... ``` # 测试归位 请发送大约10次`G28 Z`指令,然后查看每次发送`G28 Z`指令之后控制台上的输出数据是否稳定。 ``` G28 Z ``` [演示视频](https://www.youtube.com/watch?v=RuPoXbrSPDc) --- 提示 * **BDsensor**可以直接使用主板和工具板的**BL-TOUCH**接口 须知 * 请注意线序是否正确否则会损坏设备 # BD sensor尺寸 Loading... ## 线序分布[​](#线序分布 "线序分布的直接链接") Loading... | BD sensor | BL-TOUCH | 功能介绍 | | --------- | ---------- | ------------ | | ***SDA*** | ***Zmin*** | ***限位*** | | ***GND*** | ***GND*** | ***GND*** | | ***S*** | ***CLK*** | ***舵机*** | | ***5V*** | ***5V*** | ***5V电源*** | | ***GND*** | ***GND*** | ***GND*** | --- # 安装 **BDsensor** ## 将传感器电缆连接到主板或CAN总线工具头板。[​](#将传感器电缆连接到主板或can总线工具头板 "将传感器电缆连接到主板或CAN总线工具头板。的直接链接") * 请注意SB2040无法使用BDsensor * 请注意SHT36需要将BDsensor的CLK/SCL (Input)接到高压输入口,并且将跳线接上 * BDsensor的CKL和SDA线可以连接到电路板的任何GPIO引脚。您也可以将BD传感器电缆直接连接到Bltouch端口,例如: ``` BLtouch | BDsensor 5V --> 5V GND --> GND S --> CLK/SCL (Input) GND --> GND Zmin --> SDA (Input/Output) ``` * 由于主板连接器中的某些引脚可能没有直接连接到MCU的gpios(例如,它们上可能有滤波电容器或通过MOSFET,二极管或光耦合器隔离,但如果它们通过电阻或电阻上拉/下拉隔离也可以),因此它们不能与BDsensor一起使用。并且固件将报告连接错误。例如 * 风扇和加热器的连接器通过 MOSFET 隔离, * 某些电路板中用于温度热敏电阻和端挡/探头的连接器通常通过滤波电容器连接到 GND, 1. 如下图所示,将BD传感器安装在靠近热端的位置。 [STL of mount](https://www.thingiverse.com/thing:6098131), [STL\_mount\_VzBot\_Goliath short](https://discord.com/channels/829828765512106054/1163237892957671424) Loading... ## 将补丁安装到 Marlin 固件[​](#将补丁安装到-marlin-固件 "将补丁安装到 Marlin 固件的直接链接") BD传感器已集成到Marlin2.1.x(自2022.8.27起), 您可以下载发布版本。但现在建议下载最新的错误修复版本: 您需要的是更改配置文件和引脚文件。 ### 编辑配置。h[​](#编辑配置h "编辑配置。h的直接链接") 1. 启用BD\_SENSOR 取消注释 ``` #define BD_SENSOR` `#define Z_SAFE_HOMING #define BD_SENSOR_PROBE_NO_STOP //adding this new line for fast bed leveling without nozzle stop, ``` 仅是`BD_SENSOR_PROBE_NO_STOP` 最新马林鱼错误修复: 描述: 2. 用探头归位 确保Z\_MIN\_PROBE\_USES\_Z\_MIN\_ENDSTOP\_PIN已禁用,并且应按如下所示启用`USE_PROBE_FOR_Z_HOMING` ``` //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Force the use of the probe for Z-axis homing #define USE_PROBE_FOR_Z_HOMING ``` 3. 减慢第二个归位Z速度 ``` #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16) ``` 在这里,我们必须减慢凸块归位速度和Z归位速度,因为从BDsensor进程读取的止动器不像正常的止动器那样实时。 ### 编辑Configuration\_adv.h[​](#编辑configuration_advh "编辑Configuration_adv.h的直接链接") `#define BABYSTEPPING`启用此功能以实现实时调平功能 ``` #define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) ``` ### 编辑pins\_boardname.h[​](#编辑pins_boardnameh "编辑pins_boardname.h的直接链接") 通过添加以下 3 行,在引脚文件 pins\_boardname.h 中配置 BDsensor 的 SDA 和 SCL 的引脚(例如 ):`pins_PANDA_PI_V29.h` ``` #define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard #define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard #define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50]. ``` 如果您想像普通的BLtouch一样在打印前做自动床调平探头(G29), 取消注释 ``` #define AUTO_BED_LEVELING_BILINEAR ``` 并编辑如下所示的值 ``` #define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points #define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes ``` ## 在液晶屏上显示BD传感器值[​](#在液晶屏上显示bd传感器值 "在液晶屏上显示BD传感器值的直接链接") * 对于打印机具有状态显示(支持 gcode M117),如LCD12864或一些 uart 屏幕,如 ender3V2 ... ## 校准[​](#校准 "校准的直接链接") 1. 清洁喷嘴,然后控制台移动Z轴,直到喷嘴刚好接触床板(BDsensor会用这个位置作为0点,所以不需要z\_offset,我们把值设置为0)。 2. 发送gcode命令`M102 S-6`,打印机每次将Z轴缓慢向上移动0.1mm,直到达到4mm.请勿在安装传感器之前运行M102 S-6,也不要在校准时关闭打印机电源,否则旧的校准数据将被删除。如果在这种情况下,只需再次校准 3. 您可以发生`M102 S-5`检查BD传感器是否已校准成功,这将返回存储在BD传感器中的原始校准数据。 还有一个校准工具可以做到这一点: 注意:数据值 1015 或 > 1010 表示超出传感器范围。如果前5点(0\~0.5mm)或更多的值在0到1000的范围内,并且增加的值delta为>=10,则表示校准成功。就像上面显示的图表一样。 如果 M102 S-5 返回的第一个原始校准数据大于 400,则意味着传感器安装得太高,需要重新安装到更靠近床的位置。还要确保第二个数据比第一个数据值大 10 个以上 ## 测试和打印[​](#测试和打印 "测试和打印的直接链接") 菜单床层 自动床位 ## 有两种方法可以自动调平床:[​](#有两种方法可以自动调平床 "有两种方法可以自动调平床:的直接链接") **1.使用M102实时调平前几层** 我们可以通过发送 gcode 命令或在 gcode 文件中添加 gcode 来轻松启用或禁用此自动级别。 要在库拉中启用床位调平,请在打印机机器设置的“启动 G 代码”部分中的 G102(主页所有轴)G 代码正下方添加 M28 G 代码。 例如,在G28以下,这意味着它只会在Z轴高度的0.2mm以下进行床位调平。`M102 S2` 发送或将使用BD传感器禁用床位,顺便说一句,默认情况下禁用。`M102 S0``G28``M18` ``` M102 S-1 //Read sensor information, and we can use this for connection checking. M102 S-2 //Read current distance value M102 S-5 //Read raw Calibrate data M102 S-6 //Start Calibrate,before that make sure the nozzle is just touched the bed,and then the printer restarted. don't home z axis before this. M102 S4 //Set the adjustable Z height value,e.g. M102 S4 means it will do adjusting while the Z height <=0.4mm , disable it by M102 S0. ``` **2. G29自动调平床** 另一种自动调平床的方法就像 G29 的 BLtouch,只需在 G29 下方添加一条线 G28。 [安装视频](https://www.pandapi3d.com/post/install-bed-distance-sensor-video) [克里斯地下室的安装视频](https://youtu.be/VLUfvkO2NFc?si=PF_6nhw39KhHBhcj) ### 检查 Z 端挡块`M119`[​](#检查-z-端挡块m119 "检查-z-端挡块m119的直接链接") 在检查此步骤之前,请不要归位Z,否则喷嘴可能会撞到打印机床。 这是发送 M119 命令(报告结束停止状态)后的返回消息。 ``` Send: M119 Recv: x:open y:open z:open ``` 如果 z min 未打开,请检查您的配置。`#define Z_MAX_ENDSTOP_HIT_STATE HIGH` * 确保Z电机关闭/解锁 * 用手向下移动Z轴,直到喷嘴关闭床 * 发送`M102 S-2`,返回值应为0.00mm,然后再次发送M119,可以看到z端挡现在被触发。 ``` Send: M119 Recv: x:open y:open z:TRIGGERED ``` ### 检查连接[​](#检查连接 "检查连接的直接链接") 通过`M102 S-1`检查连接。这是返回消息的示例,请检查连接和电线顺序是否返回空白或其他字符串。 ``` Send: M102 S-1 Recv: V1.0 pandapi3d.com ``` ## 如果上述所有步骤都正确,那么您现在可以归位 z 轴。[​](#如果上述所有步骤都正确那么您现在可以归位-z-轴 "如果上述所有步骤都正确,那么您现在可以归位 z 轴。的直接链接") --- # Marlin的碰撞感应 信息 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本) 为V1.1b、大于V1.2b或者在2024年3月之后购买的,否则您需要使用外部硬件工具(如STlink)将固件刷入BD传感器。 # 它是如何工作的 * 在执行G28时自动进行Z轴偏移校准:可以在归位(喷头接触平台后)触发——然后缓慢向上移动,直至喷头刚好离开平台——将此位置设定为Z轴的0点。 # 好处 * 自动 z 轴偏移校准。 * 同时您仍然可以针对不同的灯丝手动调整 z 轴偏移。 * 克服温度漂移。 * 温度漂移会改变 z 轴偏移,但不会改变带有 BD 传感器的床面网格高度图的范围。这意味着即使温度不同,床面网格也是相同的。 提示 此功能的代码在官方Marlin GitHub的拉取请求列表中: 所以请使用以下Marlin代码: # 如何使用 启用`BD_SENSOR`,并在`configuration.h`中添加`#define BD_SENSOR_CONTACT_PROBE` 它应该如下所示: ``` #define BD_SENSOR #if ENABLED(BD_SENSOR) #define BD_SENSOR_PROBE_NO_STOP // Probe bed without stopping at each probe point` #define BD_SENSOR_CONTACT_PROBE // it uses nozzle collision sensing to probe while homing` #endif ``` * 在configuration.h中提高探针的速度。 * 灵敏度取决于速度,因此您需要调整Z轴的速度。 * homing\_speed(归位速度)和second\_homing\_speed(二次归位速度)应在3到10的范围内,这里是Z轴探针进给速度。 * 例如: ``` #define Z_PROBE_FEEDRATE_FAST (5*60) #define Z_PROBE_FEEDRATE_SLOW (5*60) ``` * 在Configuration\_adv.h中将Z轴的归位抬升增加到大于4毫米。 ``` #define HOMING_BUMP_MM { 5, 5, 5 } ``` # 测试归位 * 请发送大约10次`G28 Z`指令,或者使用`M48`指令,以查看其是否稳定。 [演示视频](https://www.youtube.com/watch?v=DzmGyJNS9bY) --- # BDsensor-m BD传感器是一个可以与3D打印机配合使用的距离传感器,可以实时进行快速床调平和调整Z轴。 Loading... ## 功能[​](#功能 "功能的直接链接") * 安装介绍 Loading... * 代替Z轴限位 * 扫描时无需升降Z轴,提高打印速度 * XY移动扫描,可进行密集网床探测 Loading... ## 连接[​](#连接 "连接的直接链接") * 电源:5V * 固件 :Klipper /Marlin * 连接:主板(BDsensor将使用主板的exp1接口) * 热床:支持:普通PEI,铝板热床等金属表面热床,不支持磁铁打孔热床与非金属表面热床 ## 注意事项[​](#注意事项 "注意事项的直接链接") * Klipper 需要下载最新的 Klipper 与 BD-SENSOR-m 补丁,并且需要重新刷主板固件 * 调试时请将急停按钮放在可以随时触发的地方,以免刮花PEI * 扫床速度建议 200 mm/s! * Z轴归位速度不建议超过5mm/s --- # 安装 **BDsensor-m** ## 将传感器电缆连接到主板的EXP1接口[​](#将传感器电缆连接到主板的exp1接口 "将传感器电缆连接到主板的EXP1接口的直接链接") \*如传感器的电缆线距不够可以使用包装里面延长线 * BDsensor-m的CKL和SDA线可以连接到电路板的任何GPIO引脚。您也可以将BD传感器电缆直接连接到Bltouch端口,例如: ``` BLtouch | BDsensor-m 5V --> 5V GND --> GND S --> CLK/SCL (Input) GND --> GND Zmin --> SDA (Input/Output) ``` * 由于主板连接器中的某些引脚可能没有直接连接到MCU的gpios(例如,它们上可能有滤波电容器或通过MOSFET,二极管或光耦合器隔离,但如果它们通过电阻或电阻上拉/下拉隔离也可以),因此它们不能与`BDsensor-m`一起使用。并且固件将报告连接错误。例如 * 风扇和加热器的连接器通过 MOSFET 隔离, * 某些电路板中用于温度热敏电阻和端挡/探头的连接器通常通过滤波电容器连接到 GND, 1. 如下图所示,将BD传感器安装在靠近热端的位置。 [STL of mount](https://www.thingiverse.com/thing:6098131), [STL\_mount\_VzBot\_Goliath short](https://discord.com/channels/829828765512106054/1163237892957671424) Loading... ## 将补丁安装到 Klipper 固件中[​](#将补丁安装到-klipper-固件中 "将补丁安装到 Klipper 固件中的直接链接") * 教程里没有提到的不要做 * 放弃之前修改的klipper文件并且更新Klipper ``` cd cd ~/klipper git checkout . git pull ``` * 在用户目录下执行下方git命令来克隆BD传感器的最新代码 ``` cd && git clone https://github.com/markniu/Bed_Distance_sensor.git ``` * 然后执行下方命令进行安装 ``` cd ~/Bed_Distance_sensor/klipper/ ./install_BDsensor.sh ``` ### 这里的编译固件`如提示上下位机固件不一致`才进行编译新的klipper固件[​](#这里的编译固件如提示上下位机固件不一致才进行编译新的klipper固件 "这里的编译固件如提示上下位机固件不一致才进行编译新的klipper固件的直接链接") * 编译固件找到自己固件的编译教程进行编译刷写 * 编译固件 ``` cd ~/klipper/ #转到Klipper目录 make menuconfig #进入klipper编译界面命令 make clean #清理命令 make #编译命令 ``` * 将固件烧录到BD传感器连接的主板 ## 如果您的打印机运行的是Moonraker,请将以下部分添加到moonraker.conf,然后您可以通过网页或KlipperScreen单击一下即可更新BDsensor.[​](#如果您的打印机运行的是moonraker请将以下部分添加到moonrakerconf然后您可以通过网页或klipperscreen单击一下即可更新bdsensor "如果您的打印机运行的是Moonraker,请将以下部分添加到moonraker.conf,然后您可以通过网页或KlipperScreen单击一下即可更新BDsensor.的直接链接") ``` [update_manager BDsensor] type: git_repo primary_branch: new channel: dev path: ~/Bed_Distance_sensor origin: https://github.com/markniu/Bed_Distance_sensor.git install_script: ./klipper/install_BDsensor.sh is_system_service: False managed_services: klipper info_tags: desc=Bed Distance Sensor ``` ## 编辑 printer.cfg[​](#编辑-printercfg "编辑 printer.cfg的直接链接") * 将该部分复制到您的**printer.cfg**并编辑`[BDsensor]` `sda_pin` `scl_pin`,也不要忘记禁用其他探针部分,如 **BLtouch**。您可以连接主板或工具头CAN模块上的BD传感器, * 在`[BDsensor]`中将`speed`修改为 0.8.这仅适用于 z 倾斜和PROBE\_ACCURACY命令。值越小,探测时的精度越高,因为 MCU 在归位时读取主回路中的 BD传感器不像正常的止动器那样实时。 `[BDsensor]` * 将BD传感器在Z轴回原点时作为限位开关需要将`[stepper_z]` 中的`endstop_pin`改为`endstop_pin: probe:z_virtual_endstop` * 请确保**printer.cfg**中有`[safe_z_home]` * 将`[bed_mesh]`和`[z_tilt]`或者`[quad_gantry_level]`中的`[quad_gantry_level]`值改为1(建议0.7-1.0mm)在klipper的默认值为5mm,否则容易超出传感器范围 * **喷嘴高度只适合在`z_adjust:`设置,正数是贴近热床,负数是远离热床,其它调喷嘴高度的设置都会有bug** * 打开快速扫床需要将`no_stop_probe:true`前面的#删除 * 下面是一个配置示例。 ``` [BDsensor] scl_pin:PC6 # 舵机信号口 sda_pin:PC3 # 限位信号口 delay: 20 # 20us per pulse, this value should be >=20 but must be below 50 z_offset:0 # this `z_offset` must be set to 0. z_adjust:0.0 # z axis adjustment, replace the z_offset function. within -0.3 to 0.3mm x_offset: -34 y_offset: 0 #no_stop_probe:true # enable this for fast probe, the toolhead will not stop at the probe point. position_endstop: 0.8 # the Z axis will stop at this position (mm) while homing z, recommend value is 0.4~1.0 #speed:0.8 # this speed only works for the z tilt and PROBE_ACCURACY command. [stepper_z] endstop_pin: probe:z_virtual_endstop #position_endstop: 0.5 homing_speed: 5 second_homing_speed: 0.8 [bed_mesh] speed: 200 horizontal_move_z:1 algorithm: bicubic [quad_gantry_level] horizontal_move_z:1 ``` ## 安装后,请通过发送以下gcode命令进行检查[​](#安装后请通过发送以下gcode命令进行检查 "安装后,请通过发送以下gcode命令进行检查的直接链接") ``` M102 S-1 # 读取传感器信息 M102 S-2 # 读取一个距离值 ``` ## 检查连接[​](#检查连接 "检查连接的直接链接") * 通过**控制台**发送`M102 S-1`这是返回消息的示例,如果返回空白或其他字符串请检查连接和电线顺序 ``` Send: M102 S-1 Recv: V1.0 pandapi3d.com ``` ## 校准[​](#校准 "校准的直接链接") * 清洁喷嘴,然后通过控制台移动Z轴,直到喷嘴刚好接触床板(BDsensor-m将使用此位置作为零位置,因此不需要`z_offset`,这就是\[BDsensor-m]部分中值为0的原因) * **控制台**发送gcode命令`M102 S-6`,打印机每次将Z轴缓慢向上移动0.1mm,直到达到4mm.请勿在安装传感器之前运行M102 S-6,也不要在校准时关闭打印机电源,否则旧的校准数据将被删除。如果在这种情况下,只需再次校准 * 之后,您可以检查BD传感器是否已通过`M102 S-5`成功校准,这将返回存储在BD传感器中的原始校准数据。 **注意事项**: * 归位Z轴速度最好是5 * 如果M102 S-5返回的第一个原始校准数据大于400,则意味着传感器安装得太高,需要重新安装到更靠近床的位置,则第一个数据的推荐值为100.还要确保第二个数据的值比第一个数据大 10 个以上 * FAQ: 如果校准数据以1开始,第二个值为9,第三个值为24,这意味着什么? * 这意味着在0-0.1毫米之间的分辨率只有9,而0.1-0.2毫米的分辨率是15.因此建议再次校准,让第一个分辨率0-0.1毫米大于10。 * 请不要忘记在运行G28之后或为这些命令 `Z_tilt`与 `quad_gantry_level`调整Z轴高度 * 必须正确大写和小写部分名称,否则 Klipper 将报告`Unknown pin chip name 'probe'` --- # Klipper安装喷嘴碰撞 信息 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本)为V1.1b、大于V1.2b或者在2024年3月之后购买的版本,否则您需要使用外部硬件工具(如STlink)将固件刷入BD传感器。 在使用软PEI(如Whambam)进行归位操作时,不要将喷嘴加热得过高,否则高温可能会在PEI上留下孔洞。 # 它是如何工作的 * 如果喷嘴或床面因碰撞而停止,由bd传感器测量的距离数据也将停止变化,然后bd传感器将快速输出一个停止信号。 * 在执行G28时自动z\_offset校准的过程:它可以在喷嘴在归位过程中触碰到床面后触发——然后缓慢向上移动直到喷嘴刚好离开床面——将此位置设定为Z轴的0位。 # 好处 * 自动 z 轴偏移校准。 * 同时您仍然可以针对不同的灯丝手动调整 z 轴偏移。 * 克服温度漂移。 * 温度漂移会改变 z 轴偏移,但不会改变带有 BD 传感器的床面网格高度图的范围。这意味着即使温度不同,床面网格也是相同的。 # 如何使用 * 将`collision_homing`和`collision_calibrate`添加到\[BDsensor]部分。 ``` [BDsensor] collision_homing:0 # set it 1 to enable homing with nozzle collision sensing. disable it by setting 0. 将其设置为1,以启用带喷嘴碰撞感应的归位功能.通过将其设置为0来禁用该功能. collision_calibrate:0 # set it 1 to enable auto calibrate BDsensor with nozzle collision sensing. disable it by setting 0. # 将其设置为1,以启用通过喷嘴碰撞感应自动校准BD传感器.将其设置为0可禁用此功能. # that means we do not need to manual move the nozzle on the bed and do paper test before sending calibrate command M102 S-6. 这意味着我们不需要手动在床上移动喷嘴,并且在发送校准命令M102 S-6之前不需要进行纸张测试. ``` * 灵敏度取决于速度,速度越慢,灵敏度越高,因此您需要调整Z轴的速度,homing\_speed(归位速度)和second\_homing\_speed(二次归位速度)应在2到5的范围内。 信息 喷嘴应该清理干净或者加热以软化丝料残留物。 请不要将速度设置得过高或过低。如果速度过高,可能会损坏你的热端或打印床;而速度过低,则会在空中触发,实际上喷嘴并没有接触到打印床。 # 参考配置 ``` [stepper_z] endstop_pin: probe:z_virtual_endstop #position_endstop: 0.0 position_max: 250 homing_speed: 5 second_homing_speed:3 homing_retract_dist:5 homing_retract_speed:2 ``` 提示 `z_hop`(Z轴回退高度)和`homing_retract_dist`(回零回退距离)应大于等于5。 # 参考配置 ``` [safe_z_home] z_hop: 5 [stepper_z] homing_retract_dist:5 ``` ``` [BDsensor] ... speed:3 # this speed only works for the z tilt and PROBE_ACCURACY command. # 此速度仅适用于 Z 轴倾斜和 PROBE_ACCURACY 命令. ... ``` 提示 参考配置`zero_reference_position` ``` [bed_mesh] horizontal_move_z:1 # 0.7~1.0mm is recommended 建议使用0.7~1.0毫米. zero_reference_position: 150, 160 # Set this value to be the same as home_xy_position that is in the section ## 将此值设置为与safe_z_home部分中的home_xy_position相同坐标. .... ``` # 测试归位 请发送大约10次`G28 Z`指令,然后查看每次发送`G28 Z`指令之后控制台上的输出数据是否稳定。 ``` G28 Z ``` [演示视频](https://www.youtube.com/watch?v=RuPoXbrSPDc) --- 提示 * **BDsensor-m**可以直接使用主板的EXP1和**BL-TOUCH**接口 须知 * 请注意线序是否正确否则会损坏设备 # BDsensor-m尺寸 Loading... ## 线序分布[​](#线序分布 "线序分布的直接链接") Loading... | BDsensor-m | BL-TOUCH | 功能介绍 | | ---------- | ---------- | ------------ | | ***SDA*** | ***Zmin*** | ***限位*** | | ***GND*** | ***GND*** | ***GND*** | | ***S*** | ***CLK*** | ***舵机*** | | ***5V*** | ***5V*** | ***5V电源*** | | ***GND*** | ***GND*** | ***GND*** | # 安装示意图 Loading... --- # 安装 **BDsensor-m-m** ## 将传感器电缆连接到主板的EXP1接口[​](#将传感器电缆连接到主板的exp1接口 "将传感器电缆连接到主板的EXP1接口的直接链接") \*如传感器的电缆线距不够可以使用包装里面延长线 * BDsensor-m-m的CKL和SDA线可以连接到电路板的任何GPIO引脚。您也可以将BD传感器电缆直接连接到Bltouch端口,例如: ``` BLtouch | BDsensor-m 5V --> 5V GND --> GND S --> CLK/SCL (Input) GND --> GND Zmin --> SDA (Input/Output) ``` * 由于主板连接器中的某些引脚可能没有直接连接到MCU的gpios(例如,它们上可能有滤波电容器或通过MOSFET,二极管或光耦合器隔离,但如果它们通过电阻或电阻上拉/下拉隔离也可以),因此它们不能与BDsensor-m一起使用。并且固件将报告连接错误。例如 * 风扇和加热器的连接器通过 MOSFET 隔离, * 某些电路板中用于温度热敏电阻和端挡/探头的连接器通常通过滤波电容器连接到 GND, 1. 如下图所示,将BD传感器安装在靠近热端的位置。 [STL of mount](https://www.thingiverse.com/thing:6098131), [STL\_mount\_VzBot\_Goliath short](https://discord.com/channels/829828765512106054/1163237892957671424) Loading... ## 将补丁安装到 Marlin 固件[​](#将补丁安装到-marlin-固件 "将补丁安装到 Marlin 固件的直接链接") BD传感器已集成到Marlin2.1.x(自2022.8.27起), 您可以下载发布版本。但现在建议下载最新的错误修复版本: 您需要的是更改配置文件和引脚文件。 ### 编辑配置。h[​](#编辑配置h "编辑配置。h的直接链接") 1. 启用BD\_SENSOR 取消注释 ``` #define BD_SENSOR` #define Z_SAFE_HOMING #define BD_SENSOR_PROBE_NO_STOP //adding this new line for fast bed leveling without nozzle stop, ``` 仅是`BD_SENSOR_PROBE_NO_STOP` 最新马林鱼错误修复: 描述: 2. 用探头归位 确保Z\_MIN\_PROBE\_USES\_Z\_MIN\_ENDSTOP\_PIN已禁用,并且应按如下所示启用`USE_PROBE_FOR_Z_HOMING` ``` //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // Force the use of the probe for Z-axis homing #define USE_PROBE_FOR_Z_HOMING ``` 3. 减慢第二个归位Z速度 ``` #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16) ``` 在这里,我们必须减慢凸块归位速度和Z归位速度,因为从BDsensor-m进程读取的止动器不像正常的止动器那样实时。 ### 编辑Configuration\_adv.h[​](#编辑configuration_advh "编辑Configuration_adv.h的直接链接") `#define BABYSTEPPING`启用此功能以实现实时调平功能 ``` #define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) ``` ### 编辑pins\_boardname.h[​](#编辑pins_boardnameh "编辑pins_boardname.h的直接链接") 通过添加以下 3 行,在引脚文件 pins\_boardname.h 中配置 BDsensor-m 的 SDA 和 SCL 的引脚(例如 ):`pins_PANDA_PI_V29.h` ``` #define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard #define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard #define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50]. ``` 如果您想像普通的BLtouch一样在打印前做自动床调平探头(G29), 取消注释 ``` #define AUTO_BED_LEVELING_BILINEAR ``` 并编辑如下所示的值 ``` #define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow #define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points #define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes ``` ## 在液晶屏上显示BD传感器值[​](#在液晶屏上显示bd传感器值 "在液晶屏上显示BD传感器值的直接链接") * 对于打印机具有状态显示(支持 gcode M117),如LCD12864或一些 uart 屏幕,如 ender3V2 ... ## 校准[​](#校准 "校准的直接链接") 1. 清洁喷嘴,然后控制台移动Z轴,直到喷嘴刚好接触床板(BDsensor-m会用这个位置作为0点,所以不需要z\_offset,我们把值设置为0)。 2. 发送gcode命令`M102 S-6`,打印机每次将Z轴缓慢向上移动0.1mm,直到达到4mm.请勿在安装传感器之前运行M102 S-6,也不要在校准时关闭打印机电源,否则旧的校准数据将被删除。如果在这种情况下,只需再次校准 3. 您可以发生`M102 S-5`检查BD传感器是否已校准成功,这将返回存储在BD传感器中的原始校准数据。 还有一个校准工具可以做到这一点: 注意:数据值 1015 或 > 1010 表示超出传感器范围。如果前5点(0\~0.5mm)或更多的值在0到1000的范围内,并且增加的值delta为>=10,则表示校准成功。就像上面显示的图表一样。 如果 M102 S-5 返回的第一个原始校准数据大于 400,则意味着传感器安装得太高,需要重新安装到更靠近床的位置。还要确保第二个数据比第一个数据值大 10 个以上 ## 测试和打印[​](#测试和打印 "测试和打印的直接链接") 菜单床层 自动床位 ## 有两种方法可以自动调平床:[​](#有两种方法可以自动调平床 "有两种方法可以自动调平床:的直接链接") **1.使用M102实时调平前几层** 我们可以通过发送 gcode 命令或在 gcode 文件中添加 gcode 来轻松启用或禁用此自动级别。 要在库拉中启用床位调平,请在打印机机器设置的“启动 G 代码”部分中的 G102(主页所有轴)G 代码正下方添加 M28 G 代码。 例如,在G28以下,这意味着它只会在Z轴高度的0.2mm以下进行床位调平。`M102 S2` 发送或将使用BD传感器禁用床位,顺便说一句,默认情况下禁用。`M102 S0``G28``M18` ``` M102 S-1 //Read sensor information, and we can use this for connection checking. M102 S-2 //Read current distance value M102 S-5 //Read raw Calibrate data M102 S-6 //Start Calibrate,before that make sure the nozzle is just touched the bed,and then the printer restarted. don't home z axis before this. M102 S4 //Set the adjustable Z height value,e.g. M102 S4 means it will do adjusting while the Z height <=0.4mm , disable it by M102 S0. ``` **2. G29自动调平床** 另一种自动调平床的方法就像 G29 的 BLtouch,只需在 G29 下方添加一条线 G28。 [安装视频](https://www.pandapi3d.com/post/install-bed-distance-sensor-video) [克里斯地下室的安装视频](https://youtu.be/VLUfvkO2NFc?si=PF_6nhw39KhHBhcj) ### 检查 Z 端挡块`M119`[​](#检查-z-端挡块m119 "检查-z-端挡块m119的直接链接") 在检查此步骤之前,请不要归位Z,否则喷嘴可能会撞到打印机床。 这是发送 M119 命令(报告结束停止状态)后的返回消息。 ``` Send: M119 Recv: x:open y:open z:open ``` 如果 z min 未打开,请检查您的配置。`#define Z_MAX_ENDSTOP_HIT_STATE HIGH` * 确保Z电机关闭/解锁 * 用手向下移动Z轴,直到喷嘴关闭床 * 发送`M102 S-2`,返回值应为0.00mm,然后再次发送M119,可以看到z端挡现在被触发。 ``` Send: M119 Recv: x:open y:open z:TRIGGERED ``` ### 检查连接[​](#检查连接 "检查连接的直接链接") 通过`M102 S-1`检查连接。这是返回消息的示例,请检查连接和电线顺序是否返回空白或其他字符串。 ``` Send: M102 S-1 Recv: V1.0 pandapi3d.com ``` ## 如果上述所有步骤都正确,那么您现在可以归位 z 轴。[​](#如果上述所有步骤都正确那么您现在可以归位-z-轴 "如果上述所有步骤都正确,那么您现在可以归位 z 轴。的直接链接") --- # Marlin的碰撞感应 信息 此功能要求BD传感器固件版本(您可以通过发送M102 S-1来获取该版本,而非传感器上的硬件版本) 为V1.1b、大于V1.2b或者在2024年3月之后购买的,否则您需要使用外部硬件工具(如STlink)将固件刷入BD传感器。 # 它是如何工作的 * 在执行G28时自动进行Z轴偏移校准:可以在归位(喷头接触平台后)触发——然后缓慢向上移动,直至喷头刚好离开平台——将此位置设定为Z轴的0点。 # 好处 * 自动 z 轴偏移校准。 * 同时您仍然可以针对不同的灯丝手动调整 z 轴偏移。 * 克服温度漂移。 * 温度漂移会改变 z 轴偏移,但不会改变带有 BD 传感器的床面网格高度图的范围。这意味着即使温度不同,床面网格也是相同的。 提示 此功能的代码在官方Marlin GitHub的拉取请求列表中: 所以请使用以下Marlin代码: # 如何使用 启用`BD_SENSOR`,并在`configuration.h`中添加`#define BD_SENSOR_CONTACT_PROBE` 它应该如下所示: ``` #define BD_SENSOR #if ENABLED(BD_SENSOR) #define BD_SENSOR_PROBE_NO_STOP // Probe bed without stopping at each probe point` #define BD_SENSOR_CONTACT_PROBE // it uses nozzle collision sensing to probe while homing` #endif ``` * 在configuration.h中提高探针的速度。 * 灵敏度取决于速度,因此您需要调整Z轴的速度。 * homing\_speed(归位速度)和second\_homing\_speed(二次归位速度)应在3到10的范围内,这里是Z轴探针进给速度。 * 例如: ``` #define Z_PROBE_FEEDRATE_FAST (5*60) #define Z_PROBE_FEEDRATE_SLOW (5*60) ``` * 在Configuration\_adv.h中将Z轴的归位抬升增加到大于4毫米。 ``` #define HOMING_BUMP_MM { 5, 5, 5 } ``` # 测试归位 * 请发送大约10次`G28 Z`指令,或者使用`M48`指令,以查看其是否稳定。 [演示视频](https://www.youtube.com/watch?v=DzmGyJNS9bY) --- # WS 7040 Loading... Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 最大转速:45000 * 最大流量:14.7CFM * 可选配件:进气过滤器,降低运行噪音,防止异物进入风机损坏扇叶,使套件运行更加安静平稳 ## 产品规格[​](#产品规格 "产品规格的直接链接") Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 请注意,风扇口需要避免进异物导致损伤扇叶 * 请注意,风扇最大输入电源是24V --- # 7040 故障排查 WS 7040 驱动板上带有两个状态指示灯:**LED1(电源指示)** 和 **LED2(电机指示)**。可通过它们的亮灭与闪烁模式判断当前工作状态与故障类型。 断电操作 涉及检查接线、插拔线束、清理异物或触碰端子的操作,开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束或触碰端子。 ## LED1 状态说明(电源指示)[​](#led1-状态说明电源指示 "LED1 状态说明(电源指示)的直接链接") | LED1 状态 | 含义 | 处理建议 | | ------------------- | --------------------------- | ------------------------------------------------ | | 常亮 | 供电正常 | 正常工作状态 | | 循环闪烁 2 次后停顿 | 电源电压过低 | 检查供电电压是否达到 24V,检查电源线连接是否牢固 | | 循环闪烁 3 次后停顿 | 电源电压过高 | 检查供电电压,确认未超过 24V 上限 | | 熄灭 | 驱动器损坏或电源/电源线故障 | 先检查电源与电源线;若供电正常仍熄灭,请联系售后 | ## LED2 状态说明(电机指示)[​](#led2-状态说明电机指示 "LED2 状态说明(电机指示)的直接链接") ### 正常状态[​](#正常状态 "正常状态的直接链接") | LED2 状态 | 含义 | | --------- | ---------------- | | 均匀闪烁 | 电机处于待机状态 | | 熄灭 | 电机处于运转状态 | ### 慢闪故障码(循环闪烁后停顿)[​](#慢闪故障码循环闪烁后停顿 "慢闪故障码(循环闪烁后停顿)的直接链接") | LED2 状态 | 含义 | 处理建议 | | ------------------- | ------------------ | ---------------------------------------- | | LED1、LED2 同时常亮 | 驱动板过热保护 | 断电等待驱动板冷却后重试,并改善散热环境 | | 循环慢闪 2 次后停顿 | 电源电压过高或过低 | 检查供电电压是否为 24V | | 循环慢闪 3 次后停顿 | LM358 电流采样错误 | 联系售后 | | 循环慢闪 4 次后停顿 | 风机堵转卡死 | 断电后检查扇叶是否被异物卡住 | | 循环慢闪 5 次后停顿 | 电机缺相 | 断电后检查电机线连接是否牢固 | | 循环慢闪 6 次后停顿 | 电机霍尔问题 | 断电后检查电机线连接,必要时联系售后 | ### 快闪故障码[​](#快闪故障码 "快闪故障码的直接链接") | LED2 状态 | 含义 | 处理建议 | | --------- | ------------ | ------------------------------------ | | 快闪 1 次 | 上桥臂异常 | 断电后联系售后 | | 快闪 2 次 | 下桥臂异常 | 断电后联系售后 | | 快闪 3 次 | 电机相线短路 | 断电后检查电机线是否破损短路 | | 快闪 4 次 | 电机过流保护 | 断电后检查扇叶是否卡滞,确认负载正常 | ## PWM 信号测试[​](#pwm-signal-test "PWM 信号测试的直接链接") 当风扇不转且 LED 指示灯无异常时,可用万用表测量主板 PWM 信号口的输出,判断主板是否正常发出控制信号。 测量注意 测量时请避免表笔短接相邻引脚,以免损坏主板。 测试步骤: 1. 将万用表调至直流电压档(DC V); 2. 红表笔接主板风扇口的 **PWM 信号引脚**,黑表笔接同一风扇口的 **GND(低电平)**; 3. 在控制台依次发送不同转速指令,观察万用表读数是否随转速阶梯变化: | 指令 | 转速 | 预期读数(5V 信号、`max_power: 0.9`) | | ---------- | ---- | ------------------------------------- | | Loading... | 25% | 约 1.1V | | Loading... | 50% | 约 2.3V | | Loading... | 75% | 约 3.4V | | Loading... | 100% | 约 4.5V | | Loading... | 关闭 | 约 0V | **结果判断**: * 读数随转速指令阶梯上升、`M107` 后回落至 0V 附近,说明主板 PWM 信号输出正常,问题在 7040 驱动板或风扇本体; * 读数始终无变化,说明主板未输出信号,请检查 `[fan]` 配置中的 `pin` 是否正确、固件编译时是否启用该引脚。 提示 PWM 信号为高频方波,万用表显示的是平均电压,读数约为信号电压(5V)乘以转速百分比再乘以 `max_power`(参考配置中为 0.9)。 **表中数值仅为参考,实际测量存在误差**:受万用表精度、采样方式、信号纹波等影响,读数与参考值略有偏差属于正常现象。判断重点是读数**随转速指令阶梯变化的趋势**,而非某个精确数值。 排查顺序建议 出现故障码时,建议按以下顺序排查: 1. 记录 LED1 / LED2 的闪烁模式,对照上表确定故障类型; 2. 断电后检查风扇进风口是否有异物、扇叶能否手动转动; 3. 断电后检查电机线与电源线连接是否牢固、有无破损; 4. 确认供电电压为 24V; 5. 以上检查均正常但仍报错,请联系售后。 --- # 7040接线 ## 驱动板[​](#驱动板 "驱动板的直接链接") Loading... ## 接线[​](#接线 "接线的直接链接") * 接到主板PWM口,其他主板需要自行看对应文档 Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [fan] ## Print Cooling Fan pin: PF8 max_power: 0.9 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 ``` ## 开机自动转解决方法[​](#开机自动转解决方法 "开机自动转解决方法的直接链接") 信息 * 这边只简单说明 * 在固件编译时添加上PWM的信号引脚,并且反转它的状态 * 测试使用SUPER8\_PRO,引脚使用PF8,在固件编译时选择`GPIO pins to set at micro-controller startup`添加`!PF8`即可 * 请注意填入的`!`是英文的感叹号 * 其他主板同理 Loading... ## 可选配件:进气过滤器[​](#可选配件进气过滤器 "可选配件:进气过滤器的直接链接") Loading... --- # ADXL345 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 适用36电机等地方 * 可接树莓派、FLY PI、香橙派、主板等SPI接口 ## 产品规格[​](#产品规格 "产品规格的直接链接") * 板载接口 :ZH1 .5 6P插头 * 通讯方式 :SPI * 工作电压:5V ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 工作电压5V,请不要接错 * 适用各种固件,请注意需要确定可以使用SPI连接 --- # 加速度计使用 # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 主板接线 * 本教程以PI V2为例 Loading... ## 配置[​](#配置 "配置的直接链接") ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:None spi_bus: spidev1.0 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # an example ``` --- # AirClick 无线按钮 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 高度兼容性:支持Klipper,RRF,BambuLab,可以直接连接到机器并发送预设的指令,提供无缝的兼容性和操作体验。 * 自定义宏指令:用户可以根据自身需求自定义指令,使得机器操作更加灵活和便捷。 * 支持无线连接到Klipper,RRF,BambuLab.有线连接仅支持Klipper. * 无线连接:通过ESP32的设计,直接给Klipper发送自定义指令或者宏,为用户提供了极高的灵活性和扩展性。 * 有线连接:通过STM32F072芯片,在网络连接不上Klipper的情况下,也可以进行简单操作。支持一共十个自定义指令或者宏。 * 易于使用:具有直观的用户界面,使得用户可以轻松地添加和管理无线按钮,大大提高了操作便利性。 ## 产品规格[​](#产品规格 "产品规格的直接链接") * 主控芯片 :ESP32 * 附加芯片 :STM32F072 * 通过ESP32-WIFI发送指令:无限制个数 * 通过STM32F072-IO发送指令:10个 * 兼容性:支持Klipper,RRF,BambuLab * 电源:5V ## 主板功能介绍[​](#主板功能介绍 "主板功能介绍的直接链接") Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 本产品使用5V供电可以通过`type c`或者`PH2.0-2P`端子进行供电 * 本产品板载天线只能用于接收按钮信号,如果需要连接WIFI需要将天线安装到位,天线端子为`ipex3` * 请将天线安装到位!!!否则信号太差会导致发热严重!!! * 请注意,为了防止误触发,在长按按钮15秒后,系统会自动关闭它。 --- # 连接到BambuLab 重要提示 * AirClick必须与目标打印机连接到同一网络 * 只支持LAN局域网模式连接BambuLab打印机 1. 打开BambuLab打印机的局域网模式(LAN Only Mode) * 打开BambuLab打印机屏幕 * `设置` -> `局域网模式(LAN Only Mode)` -> `启用` Loading... 2. 点击左边系统设置 Loading... 3. `Printer Type` 选择 `BambuLab` 4. 点击刷新设备列表按钮 Loading... 5. 选择打印机 Loading... * 如果始终没有刷新出现你的打印机,可选择自定义输入。手动输入打印机的IP地址和序列号 6. 填写访问码 * 访问码为打印机的局域网模式访问码,可以按照步骤1在打印机的设置中查看 Loading... 7. 如上图配置好后,点击右下角`提交`保存配置 8. 正确连接后会在网页上方出现提示 Loading... 9. 如果连接失败 * 检查IP地址是否正确 * 检查打印机与AirClick是否连接到同一网络 * 检查打印机是否启用局域网模式 * 检查访问码是否填写错误 --- # 无线按钮添加 重要提示 * 无线按钮需要将电池安装上,电池型号是`CR927` - 返回首页后点击图中红色框内的`+` Loading... - 出现下方此界面后,正常按一下安装好电池的无线按钮 - 红色框内会自动生成无线按钮的ID,此ID是唯一的 Loading... - 红色框内输入你想名为按钮的名称 Loading... - 点击第一个红色框,会出现第二个蓝色框 Loading... 须知 * 自定义GCODE与请求API是通过无线连接进行控制 * 触发GPIO是通过有线进行控制 ## 自定义GCODE[​](#自定义gcode "自定义GCODE的直接链接") * 自定义`GCODE`,可以在红色框内输入你需要执行的代码或者宏名字, AirClick会自动发送到打印机执行 Loading... ## 请求API[​](#请求api "请求API的直接链接") * Klipper API设置 * RRF API设置 * BambuLab API设置 1. 预定义API可以实现自定义宏、急停、Klipper重启、固件重启、关闭系统等 Loading... 2. 自定义API说明 * 所有API参考文档[Moonraker API](https://moonraker.readthedocs.io/en/latest/) * `method` 与MoonrakerAPI的`method`保持一致 * `params` 与MoonrakerAPI的`params`保持一致 3. 下面以开始打印指定文件API为例 * 下图为Moonraker官方文档示例 Loading... * 下面为AirClick的API填写示例 Loading... 4. 保存这个按钮,就可以实现开始打印指定文件了 1) 自定义API说明 * 所有API参考文档[RepRapFirmware HTTP API](https://github.com/Duet3D/RepRapFirmware/wiki/HTTP-requests) * 只支持GET 请求接口 * `method` 与RRF HTTP API的`uri`保持一致 * `params` 与RRF HTTP API的`url query`保持一致 2) 下面以删除指定文件或文件夹API为例 * 下图为RRF官方文档示例 Loading... * 下面为AirClick的API填写示例 Loading... * 这里的params需要将URL参数改写成JSON格式,如`/?aaaa=bbb&cccc=ddd` * 修改后为 ``` { "aaaa": "bbb", "cccc": "ddd" } ``` 3) 保存这个按钮,就可以实现删除指定文件或文件夹了 1. 预定义API可以实现暂停打印,取消打印,led控制等 Loading... * LED控制建议使用自动开关模式,此模式下,将自动检测LED状态,自动切换状态。实现一键开或关 2. 自定义API说明 * BambuLab API需自行查找相关Github Open BambuAPI文档 3. 下面以设置打印速度的API为例 * 下面为BambuLab局域网MQTT发送完整参数 ``` { "print": { "sequence_id": "0", "command": "print_speed", "param": "2" // Print speed level as a string // 1 = silent // 2 = standard // 3 = sport // 4 = ludicrous } } ``` * 下图为AirClick的API填写示例 Loading... 4. 保存这个按钮,就可以实现设置打印速度了 ## 触发GPIO (仅Klipper)[​](#触发gpio-仅klipper "触发GPIO (仅Klipper)的直接链接") * 触发GPIO需要STM32F072与Klipper连接 * 固件烧录与连接需要查看此文档 [固件烧录与连接](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-airclick/offline-operation-support) * 可以使用的IO有`PB0`到`PB9`一共十个IO,正常刷好固件连接Klipper后只需要正常配置即可下方是参考配置 ``` [mcu AirClick] serial: /dev/serial/by-id/usb-Klipper_stm32f072xb_AirClick-if00 ### 需要搜索USBID后修改此处 [gcode_button _test] pin: ^!AirClick:PB0 press_gcode: M118 PB0 [gcode_button _test1] pin: ^!AirClick:PB1 press_gcode: M118 PB1 [gcode_button _test2] pin: ^!AirClick:PB2 press_gcode: M118 PB2 [gcode_button _test3] pin: ^!AirClick:PB3 press_gcode: M118 PB3 [gcode_button _test4] pin: ^!AirClick:PB4 press_gcode: M118 PB4 [gcode_button _test5] pin: ^!AirClick:PB5 press_gcode: M118 PB5 [gcode_button _test6] pin: ^!AirClick:PB6 press_gcode: M118 PB6 [gcode_button _test7] pin: ^!AirClick:PB7 press_gcode: M118 PB7 [gcode_button _test8] pin: ^!AirClick:PB8 press_gcode: M118 PB8 [gcode_button _test9] pin: ^!AirClick:PB9 press_gcode: M118 PB9 ``` --- # AirClick 固件更新与烧录 须知 出厂已经预刷好固件。 ## 固件下载[​](#固件下载 "固件下载的直接链接") ### 固件说明[​](#固件说明 "固件说明的直接链接") * `wbtn-vX.X.X-X-XXXXXX-full.bin` - 全量固件,需要从 `0x0` 地址烧录,烧录后所有配置不会保留 * `wbtn-vX.X.X-X-XXXXXX-delta.bin` - 增量固件,需要从 `0x10000` 地址烧录,只更新固件,不影响原有配置 * `wbtn-vX.X.X-X-XXXXXX-www.bin` - UI 固件,需要从 `0x290000` 地址烧录,只更新网页前端 UI,不影响原有固件及配置 Loading... ## 固件更新步骤[​](#固件更新步骤 "固件更新步骤的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 准备工作 需要在 AirClick 断电情况下,按住 BOOT 将 AirClick 的 ESP32 烧录口与电脑连接。 Loading... ### 烧录步骤[​](#烧录步骤 "烧录步骤的直接链接") 1. 下载 USB 烧录工具 `flash_download_tool` * Loading... 2. 打开 `flash_download_tool_3.9.4.exe` * **注意**:打开烧录工具后会先弹出一个 CMD 窗口,然后再弹出烧录工具的界面,一定不要关闭 CMD 窗口 3. 在烧录工具中进行以下设置: * `ChipType:` 选择 `ESP32-C3` * `WorkMode:` 选择 `Develop` * `LoadMode:` 选择 `USB` * 最后点击 `OK`,可参考下图 Loading... 4. 点击后将出现下方界面 Loading... 重要 上图中的绿色框选区域必须保证和图片中一致,不可自行修改。 5. 将 AirClick 通过 USB Type-C 数据线连接到电脑 6. 点击上图中的蓝色区域 1 按钮选择你烧录的固件 7. 点击上图中的蓝色区域 2 输入烧录地址 8. 点击上图中的蓝色区域 3 选择 AirClick 的串口(如果没有,可以按住 AirClick 的烧录按键不放,然后再连接电脑) 9. 点击上图中的蓝色区域 4 波特率选择最大 `921600` 10. 点击上图中的蓝色区域 5 开始烧录,等待烧录完成后 AirClick 即可完成固件升级 注意 必须等待提示烧录完成后才能断开连接 AirClick 的数据线,否则可能导致固件损坏。 --- # 连接到Klipper 重要提示 * AirClick必须与目标打印机连接到同一网络 1. 点击左边系统设置 Loading... 2. `Printer Type` 选择 `Klipper` 3. `Moonraker IP` 输入Klipper机器的IP地址 4. `Moonraker Port` 输入Klipper上位机的端口,默认为`7125`, 如果上位机使用其他端口需要自行输入对应的端口 5. `Apikey` 忽略不用管,暂时不支持Apikey Loading... 6. 如上图配置好后,点击右下角`提交`保存配置 7. 正确连接后会在网页上方出现提示 Loading... 8. 如果连接失败 * 检查IP地址和端口是否正确 * 检查打印机与AirClick是否连接到同一网络 * 检查Klipper上位机是否正常运行 * 浏览器能否打开Klipper上位机的网页 --- # 有线连接Klipper配置 须知 * 需要给STM32F072刷固件后连接到Klipper否则不支持有线连接操作 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 STMicroelectronics STM32 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 STM32F072 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 No bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (No bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Clock Reference 选择 8 MHz crystal (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (No bootloader) ---> Clock Reference (8 MHz crystal) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6Communication interface 选择 USB (on PA11/PA12) (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (No bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (No bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (No bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 9出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/stm32/stm32f0\_adc.o Compiling out/src/stm32/spi.o Compiling out/src/stm32/stm32f0\_i2c.o Compiling out/src/stm32/usbfs.o Compiling out/src/stm32/chipid.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/stm32/hard\_pwm.o Preprocessing out/src/generic/armcm\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") * 在AirClick断电情况下按住STM32的BOOT将STM32的烧录口通过Type-C与上位机进行连接 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 1. 安装烧录工具 * FLY上位机无需安装烧录工具 * 如果你需要安装请注意:上位机需要能上网才可以正常安装 * 如果已经安装过则无需安装 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 执行下面的命令查看是否连接成功。 ``` lsusb ``` * 如果没有DFU设备请尝试重新进入**烧录模式** * 因系统版本问题可能显示其他名字,如果有`0483:df11`则代表进入烧录模式 Loading... 3. 烧录固件 * 执行下方代码开始烧录,请将 `<固件文件完整路径>` 替换为实际固件文件路径 ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D <固件文件完整路径> ``` 4. 出现下图内容`File downloaded successfully`则烧录成功 Loading... 提示 烧录完成后,需要给主板彻底断电一次。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") * 需要将AirClick的烧录口与上位机的USB口进行连接,请不要按住BOOT按钮否则无法搜索ID Loading... ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 连接到RRF 重要提示 * AirClick必须与目标打印机连接到同一网络 1. 点击左边系统设置 Loading... 2. `Printer Type` 选择 `RRF` 3. `RepRapFirmware IP` 输入RRF机器的IP地址 Loading... 4. 如上图配置好后,点击右下角`提交`保存配置 5. 正确连接后会在网页上方出现提示 Loading... 6. 如果连接失败 * 检查IP地址是否正确 * 检查打印机与AirClick是否连接到同一网络 * 检查RRF主板是否正常运行 * 浏览器能否打开RRF的网页 --- # 三维模型 ## AirClick三维模型[​](#airclick三维模型 "AirClick三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # 连接WiFi 重要提示 * 本产品板载天线只能用于接受,发送天线需要自己安装上,天线端子为`ipex3` * 请将天线安装到位!!!否则信号太差会导致发热严重!!! * 第一次使用需要手动连接到AirClick热点后,再连接对应WIFI ## AirClick连接WIFI[​](#airclick连接wifi "AirClick连接WIFI的直接链接") * 连接AirClick的热点,热点名字为`FLY-WBTN-XXXXXX` Loading... * 连接热点后通过浏览器访问[http://192.168.4.1/](http://192.168.4.1/#/setting) * 此时会显示WIFI设置界面,需要你手动连接与打印机相同的路由器输入密码后点击下方蓝色框连接WIFI Loading... * 连接WiFi后会提示AirClick的连接WiFi后的IP地址,点击下方蓝色框即可重启设备 * 序号1圈起来的是AirClick的IP地址 * 序号2圈起来复制IP并重启设备 Loading... * 请注意需要手动将自己当前网络切换到对应的路由器上否则无法访问 * 连接成功后建议断电重启AirClick ## 修改语言[​](#修改语言 "修改语言的直接链接") * 点击右上方圈起来的图标,选择你需要的语言 Loading... --- # 简介 * ALPS 压力模块是一款基于 ADS131M02 设计的压力传感解决方案,专为 3D 打印机自动 Z 轴归位(Home)和网床(Mesh Bed Leveling)调平开发。通过高灵敏度压力检测与实时信号处理,模块可精准感知打印头与网床的接触状态,实现毫米级调平精度,消除传统机械限位校准的误差,显著提升首层打印成功率。 ## 参数对比[​](#参数对比 "参数对比的直接链接") Loading... ## ALPS 压力模块注意事项[​](#alps-压力模块注意事项 "ALPS 压力模块注意事项的直接链接") ### 推荐搭配擦嘴功能[​](#推荐搭配擦嘴功能 "推荐搭配擦嘴功能的直接链接") * 在使用 ALPS 压力模块时,建议搭配擦嘴功能,以确保喷嘴的清洁度,从而提高调平的精度和稳定性。 ### 安装注意事项[​](#安装注意事项 "安装注意事项的直接链接") * 牢固安装模块: 确保模块安装稳固,避免打印震动导致接触不良。 * 正确连接线缆: 仔细检查接线,确保无误,防止因接线错误导致模块失效。 * 进行调平测试: 首次使用前,请执行多次调平测试,验证模块的灵敏度与精度是否符合要求。 * 必须连接主板: 仅连接`TYPE-C`线缆和压力模块是无法工作(包括调试)。必须将模块连接到主板或者工具板,并在控制台/软件中开启模块后,方可正常工作。 ## 状态灯显示[​](#状态灯显示 "状态灯显示的直接链接") * **前提条件**:模块接线正确,并在控制台中打开后,状态灯指示才有效。 * **通电状态**:绿色红色框状态灯长亮,表示模块正常工作。 * **触发状态**:红色框状态灯闪烁,表示模块处于触发状态。 Loading... ### 状态灯故障排查[​](#状态灯故障排查 "状态灯故障排查的直接链接") * 如果状态灯未亮,请检查电源接线是否正确。 * 如果状态灯持续闪烁,可能是模块检测到异常信号,请检查探针是否被异物卡住或损坏。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 热端模型 ## Fly-ALPS热端资料[​](#fly-alps热端资料 "Fly-ALPS热端资料的直接链接") * 点击下方下载链接 * Loading... --- # 如何调整模块触发值 本文档介绍如何调整 FLY-Alps 压力传感器的触发灵敏度,确保调平精度和可靠性。 ## 视频教程[​](#视频教程 "视频教程的直接链接") Loading... ## 准备工作[​](#准备工作 "准备工作的直接链接") 在开始调整触发值之前,请确保: 1. 模块已正确连接到主板 2. ALPS 固件已刷入并正常运行 3. 配置文件已正确加载 ## 步骤一:启用模块[​](#步骤一启用模块 "步骤一:启用模块的直接链接") ### 1.1 发送启用指令[​](#11-发送启用指令 "1.1 发送启用指令的直接链接") 在 Klipper 控制台发送以下指令,激活压力传感器的使能引脚: ``` SET_PIN PIN=_probe_ready VALUE=1 ``` ### 1.2 验证模块状态[​](#12-验证模块状态 "1.2 验证模块状态的直接链接") 发送指令后,观察模块上的触发指示灯: * **正常状态**: 指示灯应熄灭 * **测试触发**: 使用金属物品(如镊子、扳手)轻触喷嘴,指示灯应亮起 注意事项 * 如使用非金属物品测试,请注意热端温度,避免损坏物品 * 如果指示灯常亮或闪烁,请检查 EN 引脚接线和配置 Loading... ## 步骤二:调整压力触发值[​](#步骤二调整压力触发值 "步骤二:调整压力触发值的直接链接") ### 2.1 连接配置工具[​](#21-连接配置工具 "2.1 连接配置工具的直接链接") 1. 使用 USB 数据线将 FLY-Alps 模块连接到电脑 2. 打开 [FLY-Alps 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/fly-alps-tool) 3. 选择正确的串口端口号 4. 点击「连接」按钮 Loading... ### 2.2 配置灵敏度[​](#22-配置灵敏度 "2.2 配置灵敏度的直接链接") 连接成功后,您可以: * **查看当前 ADC 值**: 实时监控传感器的原始数据 * **设置触发阈值**: 根据实际需求调整灵敏度 * **测试触发效果**: 验证配置是否合适 建议 * 数值越小,传感器越灵敏(更容易触发) * 数值越大,需要更大的压力才能触发 * 建议通过实际测试找到最适合的阈值 ## 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方法 | | ---------- | --------------- | -------------- | | 指示灯常亮 | EN 引脚接线错误 | 检查接线和配置 | | 无法触发 | 阈值设置过高 | 降低灵敏度数值 | | 误触发频繁 | 阈值设置过低 | 提高灵敏度数值 | 更多信息 如遇其他问题,请参考 [常见问题文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/faq) --- # 常见问题 (FAQ) 重要提示 发送 `SET_PIN PIN=_probe_ready VALUE=0` 后,**传感器端的灯不会亮**(无论何种情况)。如果灯亮或闪烁,说明 EN 引脚的接线或配置存在问题。 ## EN 引脚问题[​](#en-引脚问题 "EN 引脚问题的直接链接") **USB 接入电脑后,传感器端的灯长亮或闪烁** 说明 EN 引脚未正确接入主板控制,请检查接线和配置是否正确。 ## 压力值波动[​](#压力值波动 "压力值波动的直接链接") **USB 接入电脑后,按压传感器输出的压力值有时变大、有时减小** 这是正常现象。传感器同时支持正向压力和反向压力检测,因此数值会出现正负波动。 ## 阈值设置[​](#阈值设置 "阈值设置的直接链接") **USB 接入电脑后,显示的当前压力值与阈值无关** 当前压力值反映的是实时检测数据,与阈值设定无直接关系。如果触发压力过大,只需将阈值设置更小即可。 ## 串口调试指令[​](#串口调试指令 "串口调试指令的直接链接") 通过串口连接 FLY-Alps 后,可以使用以下指令进行调试和配置: ### 常用指令[​](#常用指令 "常用指令的直接链接") | 指令 | 说明 | 示例 | | ------------ | ------------------- | ------------------------------------- | | `set <数值>` | 设置触发灵敏度阈值 | `set 20000`(数值越小越灵敏) | | `v` | 查看当前 ADC 值 | 输出滤波前 (a) 和滤波后 (b) 的 ADC 值 | | `uv` | 关闭 ADC 值持续输出 | 停止实时数据刷新 | | `rt` | 查看当前灵敏度设置 | 返回当前配置的阈值 | ### 使用说明[​](#使用说明 "使用说明的直接链接") **设置灵敏度** * 使用 `set` 命令后跟数值,例如 `set 20000` * 数值越小,传感器越灵敏,更容易触发 * 数值越大,需要更大的压力才能触发 **实时监控 ADC 值** * 发送 `v` 命令后,设备会持续输出 ADC 值 * 输出格式包含滤波前 (a) 和滤波后 (b) 的数据 * 发送 `uv` 命令可停止持续输出 **查看当前配置** * 使用 `rt` 命令可查看当前设置的灵敏度阈值 提示 建议在实际使用前,通过串口工具测试不同灵敏度设置,找到最适合您应用场景的阈值。 ## 使用其他传感器[​](#使用其他传感器 "使用其他传感器的直接链接") FLY-Alps 支持使用其他传感器,但需要注意以下事项: * 请参考下图确认传感器输入端的正确接法 * 更换传感器后需要重新调整触发压力值 * 接线后可使用 [ALPS 压力模块配置工具](https://mellow.klipper.cn/docs/ToolsDoc/fly-alps-tool) 查看当前传感器数值,判断是否正常工作 Loading... --- # FLY-ALPS 固件烧录 适用版本 此文档适用于固件版本低于 `v2.0.0` 的设备。如果您的固件版本已达到或超过此版本,请参考 [固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/update) 文档,通过网页工具直接更新,无需进入 DFU 模式。 ## 查看固件版本[​](#查看固件版本 "查看固件版本的直接链接") 通过 [**网页工具**](https://mellow.klipper.cn/docs/ToolsDoc/fly-alps-tool) ,可在连接设备后查看当前固件版本号。 ## 进入 DFU 烧录模式[​](#进入-dfu-烧录模式 "进入 DFU 烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 您可以通过以下任一方式让设备进入烧录模式: * **方法一**: 1. 使用 Type-C 数据线将设备连接到电脑。 2. 按住设备上的 **BOOT** 按键不放,同时轻按一下 **RESET** 按键,然后松开 **BOOT**。 * **方法二**: 1. 按住设备上的 **BOOT** 按键不放。 2. 将 Type-C 数据线连接到设备与电脑,随后松开 **BOOT** 按键。 Loading... ## 烧录方法[​](#烧录方法 "烧录方法的直接链接") * WIN 烧录 * Linux 烧录 * FLYOS 烧录 - [**FLY-ALPS-V2.1.2-mergedBL.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/ALPS/mergedBL/FLY-ALPS-V2.1.2-mergedBL.bin?v=17da77131609) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * STM32CubeProgrammer * APM32 DFUProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并解压 `DFUProgrammer`。 2. 手动安装工具包内的 APM32 DFU 驱动。 3. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 5. 打开 DFUProgrammer,按下图选择设备和固件。 Loading... Loading... 6. 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY-ALPS-V2.1.2-mergedBL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ExtensionBoard/ALPS/mergedBL/FLY-ALPS-V2.1.2-mergedBL.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY-ALPS-V2.1.2-mergedBL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ExtensionBoard/ALPS/mergedBL/FLY-ALPS-V2.1.2-mergedBL.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... 注意 烧录过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 ## 下一步[​](#下一步 "下一步的直接链接") BOOT 固件烧录完成后,设备已支持通过网页工具直接更新主固件,无需再次进入 DFU 模式。 请参考[固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/update)文档完成主固件更新。 --- # Klipper配置 ## ALPS示例配置文件[​](#alps示例配置文件 "ALPS示例配置文件的直接链接") * 使用主板UART口(PA9,PA10)参考配置 * 使用BL-Touch口 * 使用限位口 - 使用主板`UART(PA9,PA10)`口 - 参考配置 ``` [output_pin _probe_ready] pin: PA9 #En #使能引脚 shutdown_value: 0 value:0 [probe] pin: ^PA10 #out #探针引脚 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 0 # Y轴-传感器相对喷嘴偏移量 z_offset:0 # Z轴-传感器相对喷嘴偏移量 speed: 8 # 调平速度 samples: 2 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 2 # 调平回缩距离 samples_tolerance: 0.05 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 activate_gcode: G4 P500 SET_PIN PIN=_probe_ready VALUE=1 deactivate_gcode: SET_PIN PIN=_probe_ready VALUE=0 ``` * 使用`BL-Touch`口参考配置 * 其他主板同理 ``` [output_pin _probe_ready] pin: SHT36:gpio24 shutdown_value: 0 value:0 [probe] pin: ^SHT36:gpio22 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 0 # Y轴-传感器相对喷嘴偏移量 z_offset:0 # Z轴-传感器相对喷嘴偏移量 speed: 8 # 调平速度 samples: 2 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 2 # 调平回缩距离 samples_tolerance: 0.05 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 activate_gcode: G4 P500 SET_PIN PIN=_probe_ready VALUE=1 deactivate_gcode: SET_PIN PIN=_probe_ready VALUE=0 ``` - 使用限位口参考配置 - 其他主板同理 ``` [output_pin _probe_ready] pin: SHT36:gpio20 shutdown_value: 0 value:0 [probe] pin: ^SHT36:gpio16 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 0 # Y轴-传感器相对喷嘴偏移量 z_offset:0 # Z轴-传感器相对喷嘴偏移量 speed: 8 # 调平速度 samples: 2 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 2 # 调平回缩距离 samples_tolerance: 0.05 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 activate_gcode: G4 P500 SET_PIN PIN=_probe_ready VALUE=1 deactivate_gcode: SET_PIN PIN=_probe_ready VALUE=0 ``` ## 归位参考配置[​](#归位参考配置 "归位参考配置的直接链接") 以下是推荐的配置文件内容,请根据实际需求进行调整: 提示 * 如果需要将ALPS 压力模块当Z限位可以参考下方配置 ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 ``` 提示 * ALPS 压力模块参考配置 ``` [homing_override] axes: xyz set_position_z: 10 gcode: {% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %} {% set e_target = printer.extruder.target %} # 保存当前温度 {% set fan_speed = printer.fan.speed %} # 保存当前风扇速度 {% 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{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F6000 {% if e_target >= 150 or printer.extruder.temperature >= 150 %} M106 S255 # 打开风扇 M109 S150 # 确保在150度归位Z {% endif %} M106 S0 # 关闭风扇 G91 G1 Z5 F2000 # 防止喷嘴距离热床太近,提前拉开距离 G90 # 如果同时使用eddy加压力传感器取消下面注释 #SET_PIN PIN=_probe_ready VALUE=1 G28 Z #SET_PIN PIN=_probe_ready VALUE=0 G1 Z10 F2000 M109 S{e_target} # 恢复温度 M106 S{fan_speed} # 恢复风扇速度 {% endif %} ``` --- # Marlin配置 信息 * 本文档提供以下几种 * Marlin配置 ## 引脚配置[​](#引脚配置 "引脚配置的直接链接") * 参考引脚配置 * 请注意以下配置方法只能**二选一** ``` #define Z_MIN_PROBE_PIN PC0 ``` | | | | ------------------------------------------------------------------------------------- | ---------------------------------------------- | | - `Configuration.h`中添加到最下面或者不影响其他配置的地方
- 只能二选一Loading... | - 主板引脚配置方法
- 只能二选一Loading... | ### 设置探针引脚[​](#设置探针引脚 "设置探针引脚的直接链接") ``` #define SOL1_PIN PA5 ``` ### 探针偏移[​](#探针偏移 "探针偏移的直接链接") * 设置探针偏移 ``` #define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 } ``` ### 安全边缘距离[​](#安全边缘距离 "安全边缘距离的直接链接") ``` #define PROBING_MARGIN 10 ``` ### 关闭软限位[​](#关闭软限位 "关闭软限位的直接链接") ``` // #define MIN_SOFTWARE_ENDSTOP_Z ``` ### 设置限位默认逻辑电平[​](#设置限位默认逻辑电平 "设置限位默认逻辑电平的直接链接") ``` #define Z_MIN_ENDSTOP_HIT_STATE HIGH ``` ### 探测点数[​](#探测点数 "探测点数的直接链接") * 设置探测点数 ``` #define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_Y 3 ``` ### 将Z\_MIN限位用于探针信号[​](#将z_min限位用于探针信号 "将Z_MIN限位用于探针信号的直接链接") ``` #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN ``` ### 将探针数据用于Z归零[​](#将探针数据用于z归零 "将探针数据用于Z归零的直接链接") ``` #define USE_PROBE_FOR_Z_HOMING ``` ### 开启中心Z归零[​](#开启中心z归零 "开启中心Z归零的直接链接") ``` #define Z_SAFE_HOMING ``` ### 设置热床调平类型(网格)[​](#设置热床调平类型网格 "设置热床调平类型(网格)的直接链接") ``` #define AUTO_BED_LEVELING_BILINEAR ``` ### 开启EEPROM设置[​](#开启eeprom设置 "开启EEPROM设置的直接链接") ``` #define EEPROM_SETTINGS ``` ### 启用电磁探针[​](#启用电磁探针 "启用电磁探针的直接链接") ``` #define SOLENOID_PROBE ``` ### 归位后自动启用调平数据[​](#归位后自动启用调平数据 "归位后自动启用调平数据的直接链接") ``` #defne RESTORE LEVELING AFTER G28 ``` ## 切片软件设置[​](#切片软件设置 "切片软件设置的直接链接") * 如果需要在每次打印任务开始前重新进行调平,则需要在切片软件的开始Gcode中添加如下指令: ``` G28; G29; ``` --- # RRF配置 信息 * 本文档提供以下几种 * RRF配置 ## 下载RRF配置[​](#下载rrf配置 "下载RRF配置的直接链接") * Loading... ## 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") * 添加 Loading... ## 引脚配置[​](#引脚配置 "引脚配置的直接链接") * 请注意`OUT_PIN`和`EN_PIN`这两个引脚需要按着实际的来修改 ``` M558 P9 H1 F120 T8000 C"OUT_PIN" A3 S0.02 G31 P500 X0 Y0 Z-0.1 ; set Z probe trigger value, offset and trigger height M557 X10:110 Y0:100 S20 ; 网格定义define mesh grid M950 F2 C"EN_PIN" Q1000 ; create fan 2 on pin fan2 and set its frequency M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off ``` * 参考 Loading... ## 归位配置[​](#归位配置 "归位配置的直接链接") * 打开`homez.g`在最下方添加 ``` G30 ``` Loading... --- # FLY-ALPS 固件更新 适用版本 此文档适用于固件版本 >= `v2.0.0` 的设备。此版本可直接通过网页工具更新,无需进入 DFU 模式。如果您的固件版本低于此版本,请参考 [固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/flash) 文档。 ## 查看固件版本[​](#查看固件版本 "查看固件版本的直接链接") 通过 [**网页工具**](https://mellow.klipper.cn/docs/ToolsDoc/fly-alps-tool) ,可在连接设备后查看当前固件版本号。 ## 固件下载[​](#固件下载 "固件下载的直接链接") 请下载用于网页工具更新的正确固件: * [**APLS-V2.1.2.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/ALPS/Product-Firmware/APLS-V2.1.2.bin?v=fe4d344eb133) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 当前固件位于固件仓库的以下路径: ``` FLY-Firmware/ExtensionBoard/ALPS/Product-Firmware ``` ## 更新步骤[​](#更新步骤 "更新步骤的直接链接") 1. 使用支持数据传输的 Type-C 线将设备连接到电脑。 2. 访问 [**FLY-ALPS 配置工具**](https://mellow.klipper.cn/docs/ToolsDoc/fly-alps-tool),点击 **连接设备** 并在弹窗中选择 ALPS 串口。 3. 连接成功后,点击 **进入烧录** 按钮,设备将自动进入烧录模式并弹出烧录对话框。 4. 点击 **选择设备**,在弹出列表中选择 `FLY-ALPS`,然后点击 **连接**。 5. 点击 **选择固件**,浏览并选中下载好的固件文件。 6. 点击 **开始烧录**,等待烧录完成。 7. 烧录成功后设备将自动重启。 注意 更新过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 --- # 接线 提示 * ALPS有多种接线方法 * 需要根据您的实际情况选择 提示 * 接线完成后,需进行固件配置 * 完成固件配置后,方可调整模块压力阈值 - 使用主板UART口(PA9,PA10) - 使用BL-Touch口 - 使用限位口 * ALPS的包装中提供一根两米长的转接线 * 可以使用这条线接到主板UART口(PA9,PA10) Loading... - 使用`BL-Touch`口需要自行压接端子(规格 `XH2.54`) - 请注意如果需要使用`BL-Touch`口,必须将黄色导线接到中间的舵机信号接口 Loading... * 使用限位口需要自行压接端子(规格 `XH2.54`) * 请注意如果使用高压限位口,如SHT36 V3的`gpio20`则需要跳线,否则无法正常工作 Loading... --- # FLY-LLL Flux Buffer 自动续料系统 Loading... FLY-LLL Flux Buffer 是一套双通道自动续料系统。每个电机通道包含进料和出料两个传感器,缓冲器包含 4 个位置传感器,用于控制送料、停止、回抽和通道续接。 ## 产品信息[​](#产品信息 "产品信息的直接链接") | 项目 | 规格 | | ------------ | ---------------- | | 当前固件版本 | `V2.0.7` | | 控制板 | STM32F072C | | 本地通道数 | 2 路 | | 电机驱动 | 两路步进电机驱动 | | 输入电压 | DC 12-24V | > **配置工具**:[FLY-LLL Flux Buffer 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/fly-ams-tool) > > 可读取设备当前保存参数,并自动刷新最多 8 路传感器状态;未连接本地缓冲器的从控显示 4 路电机传感器。 ## 主要功能[​](#主要功能 "主要功能的直接链接") * 两路耗材通道的自动上料、停止和回抽。 * 通过缓冲器位置控制当前通道的送料动作。 * 当前耗材用完后,在自动续料模式下寻找下一条有料通道。 * 按钮控制单个通道前进、后退和模式切换。 * 传感器校准值、速度、电流和工作模式可保存到设备。 * 电机超时、超距离、传感器异常和看门狗保护。 ## 传感器说明[​](#传感器说明 "传感器说明的直接链接") | 位置 | 名称 | 作用 | | ---------- | ---- | -------------------------- | | 电机通道 0 | `S1` | 检测耗材进入通道 | | 电机通道 0 | `S2` | 检测耗材到达电机出口 | | 电机通道 1 | `S1` | 检测耗材进入通道 | | 电机通道 1 | `S2` | 检测耗材到达电机出口 | | 缓冲器 | `B1` | 检测缓冲器料路中是否有耗材 | | 缓冲器 | `B2` | 前进位置,触发时送料 | | 缓冲器 | `B3` | 停止位置,触发时停止送料 | | 缓冲器 | `B4` | 回抽位置,触发时回抽 | Loading... ## 使用前检查[​](#使用前检查 "使用前检查的直接链接") 断电操作 开始检查线束、端子或机械结构前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 1. 确认耗材路径顺畅,送料轮压力适中。 2. 确认电机、缓冲器、按钮和指示灯线束连接牢固。 3. 确认所有运动部件周围没有手指、工具或松散线材。 4. 首次使用或更换主控固件后,先执行传感器校准与测试。 > **传感器校准与测试**:[打开传感器校准与测试](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/sensor-test) --- # 常见问题 断电操作 涉及线束、端子、传感器安装或缓冲器机械结构的检查前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 上电后所有灯白色闪烁[​](#上电后所有灯白色闪烁 "上电后所有灯白色闪烁的直接链接") ### 故障现象[​](#故障现象 "故障现象的直接链接") 状态按钮和通道灯持续白色闪烁,设备无法按预期自动送料。 ### 含义[​](#含义 "含义的直接链接") 设备尚未完成传感器校准,或保存的校准数据无效。 ### 处理建议[​](#处理建议 "处理建议的直接链接") 断电操作 清理料路或调整传感器前,请完全关闭打印机并断开电源供应。 清空电机和缓冲器料路,按照传感器校准与测试重新校准。校准灯效结束前不要断电。 > **传感器校准与测试**:[打开传感器校准与测试](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/sensor-test) ## 插入耗材后电机不动[​](#插入耗材后电机不动 "插入耗材后电机不动的直接链接") ### 故障现象[​](#故障现象-1 "故障现象的直接链接") 插入耗材后,对应通道灯保持红色,电机没有动作。 ### 含义[​](#含义-1 "含义的直接链接") 通道入口传感器 `S1` 可能没有检测到耗材。 ### 处理建议[​](#处理建议-1 "处理建议的直接链接") 断电操作 检查传感器线束和端子前,请完全关闭打印机并断开电源供应。 检查耗材是否到达传感器位置,再在断电状态下检查传感器线束和端子。确认接线后重新上电测试;不要在通电状态下插拔线束。 ## 电机持续送料并把耗材送出[​](#电机持续送料并把耗材送出 "电机持续送料并把耗材送出的直接链接") ### 故障现象[​](#故障现象-2 "故障现象的直接链接") 插入耗材后电机一直转动,耗材从电机出口持续送出。 ### 含义[​](#含义-2 "含义的直接链接") 通道出口传感器 `S2` 可能没有触发。 ### 处理建议[​](#处理建议-2 "处理建议的直接链接") 断电操作 检查传感器安装、线束或端子前,请完全关闭打印机并断开电源供应。 先停止电机,确认料路没有卡阻。断电检查 `S2` 的安装位置、线束和端子,再重新执行单通道传感器测试。 ## 缓冲器动作与预期不符[​](#缓冲器动作与预期不符 "缓冲器动作与预期不符的直接链接") ### 故障现象[​](#故障现象-3 "故障现象的直接链接") 缓冲器撑开或回位时,送料、停止或回抽动作不正确。 ### 含义[​](#含义-3 "含义的直接链接") `B1/B2/B3/B4` 的触发顺序、磁铁位置或传感器输入状态可能异常。 ### 处理建议[​](#处理建议-3 "处理建议的直接链接") 断电操作 调整缓冲器或检查磁铁、传感器线束前,请完全关闭打印机并断开电源供应。 断电后确认缓冲器机构可以顺畅移动,磁铁不会擦碰外壳,且传感器线束没有松脱。重新上电并按 `B2 → B3 → B4 → B1` 的顺序测试;若仍异常,请联系售后。 ## 指示灯紫色闪烁[​](#指示灯紫色闪烁 "指示灯紫色闪烁的直接链接") ### 故障现象[​](#故障现象-4 "故障现象的直接链接") 多个指示灯显示紫色或偏紫色。 ### 含义[​](#含义-4 "含义的直接链接") 传感器接线、安装或输入状态可能异常。 ### 处理建议[​](#处理建议-4 "处理建议的直接链接") 断电操作 检查传感器线束或安装位置前,请完全关闭打印机并断开电源供应。 停止自动送料并断电,检查传感器线束是否插接到位、传感器是否被机构遮挡。不要带电重新插拔线束;无法确认时联系售后。 ## 指示灯红色快速闪烁[​](#指示灯红色快速闪烁 "指示灯红色快速闪烁的直接链接") ### 故障现象[​](#故障现象-5 "故障现象的直接链接") 设备进入红色快速闪烁状态,电机停止。 ### 含义[​](#含义-5 "含义的直接链接") 运动超时、超距离或其它保护条件被触发。 ### 处理建议[​](#处理建议-5 "处理建议的直接链接") 断电操作 检查料路、送料轮或传感器前,请完全关闭打印机并断开电源供应。 检查耗材是否卡住、齿轮是否刨料以及缓冲器传感器是否能正常触发。排除机械问题后按键退出错误状态并重新测试;不要关闭保护或设置极端阈值绕过报警。 --- # 按键与指示灯 ## 按钮操作[​](#按钮操作 "按钮操作的直接链接") | 按钮 | 短按 | 长按 | | ----------- | --------------------- | --------------------------- | | 通道 0 前进 | 开始或停止通道 0 前进 | 强制通道 0 前进,松开后停止 | | 通道 0 后退 | 开始或停止通道 0 后退 | 强制通道 0 后退,松开后停止 | | 通道 1 前进 | 开始或停止通道 1 前进 | 强制通道 1 前进,松开后停止 | | 通道 1 后退 | 开始或停止通道 1 后退 | 强制通道 1 后退,松开后停止 | | 状态按钮 | 切换装载/自动模式 | 长按约 2 秒执行传感器校准 | 强制移动 长按按钮会暂时忽略普通传感器边沿停止条件,仅用于确认传感器异常时清理料路。操作前请确认料路畅通,手指和工具远离夹点、送料轮及电机;松开按钮后仍应确认机构已经停止,不要在打印过程中长期使用。 ## 设备模式[​](#设备模式 "设备模式的直接链接") | 模式 | 状态按钮 | 用途 | | -------- | -------- | -------------------------- | | 装载模式 | 红色 | 人工上料、退料、维护和排障 | | 自动模式 | 绿色 | 按缓冲器位置自动送料和续料 | 短按状态按钮可在两种模式之间切换。切换后先观察状态灯,再进行单通道测试。 暂停(装载)状态下,状态按钮、通道方向按钮以及两侧通道指示灯均显示红色,参考下图: Loading... ## 通道指示灯[​](#通道指示灯 "通道指示灯的直接链接") | 灯效 | 含义 | | -------------- | ------------------------ | | 红色或红色呼吸 | 通道没有耗材 | | 绿色或绿色呼吸 | 通道检测到耗材 | | 绿色闪烁 | 通道正在作为工作通道运行 | | 黄色闪烁 | 按钮控制通道前进 | | 蓝色闪烁 | 按钮控制通道后退 | ## 状态按钮[​](#状态按钮 "状态按钮的直接链接") 状态按钮用于切换装载/自动模式,以及启动传感器校准;蜂鸣器提示单独见下方“蜂鸣器”小节。 断电操作 表中涉及料路、线束、端子或传感器安装的检查前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束或触碰端子。 | 灯效 | 含义 | 处理建议 | | -------------- | ---------------------------------- | ---------------------------------------- | | 绿色 | 自动模式 | 确认缓冲器和料路正常后使用。 | | 红色 | 装载模式 | 用于人工上料、退料或排障。 | | 白色闪烁 | 尚未校准 | 清空料路后执行传感器校准。 | | 红、绿、蓝循环 | 正在校准或保存校准数据 | 等待灯效结束,不要断电或操作电机。 | | 红色快速闪烁 | 运动超时或错误状态 | 停止送料,断电检查料路和传感器。 | | 紫色或偏紫色 | 传感器接线、安装或输入状态可能异常 | 停止自动送料,断电检查线束和传感器安装。 | 校准和错误灯效优先级高于普通模式灯效。报警持续存在时,应先检查料路和传感器,不要通过关闭保护来绕过报警。 ## 蜂鸣器[​](#蜂鸣器 "蜂鸣器的直接链接") 蜂鸣器只提供声音提示,不改变状态按钮的模式切换和校准功能。若工具中的 `beep` 参数设为 `0`,设备可能不会发出以下提示音。 | 声音提示 | 含义 | 处理建议 | | -------------- | ---------------------- | -------------------------------------------- | | 短响周期重复 | 对应通道缺料 | 确认耗材已到达入口传感器位置。 | | 短、短、短、长 | 运动超时或距离保护触发 | 停止送料并按故障排查流程处理,不要关闭保护。 | --- # 三维模型与安装手册 ## FLY-LLL Flux Buffer 资料[​](#fly-lll-flux-buffer-资料 "FLY-LLL Flux Buffer 资料的直接链接") * [下载三维模型(ZIP)](https://cnb.cool/3dmellow/public/FLY-Model-PDF-Hub/-/git/raw/master/ExtensionBoard/FLY-LLL%20Flux%20Buffer/FLY-LLL%20Flux%20Buffer-STL.zip) * [下载安装手册(PDF)](https://cnb.cool/3dmellow/public/FLY-Model-PDF-Hub/-/git/raw/master/ExtensionBoard/FLY-LLL%20Flux%20Buffer/\(%E4%B8%AD%E8%8B%B1%E5%8F%8C%E8%AF%AD%E7%89%88\)%E8%A3%85%E9%85%8D%E6%89%8B%E5%86%8C_%E5%88%86%E4%BD%93%E7%BB%AD%E6%96%99%E7%BC%93%E5%86%B2%E8%A3%85%E7%BD%AEv2.0.pdf?download=1) --- # 传感器校准与测试 本页用于测试两条电机通道的 `S1/S2` 和缓冲器的 `B1/B2/B3/B4` 共 8 个霍尔传感器。未连接缓冲器的多主控从控只需测试 4 个电机传感器,跳过 `B1-B4`。 断电操作 开始整理线束、检查端子、调整缓冲器磁铁或重新插拔传感器前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 接线说明[​](#接线说明 "接线说明的直接链接") Loading... ## 校准前准备[​](#校准前准备 "校准前准备的直接链接") 1. 退出两条电机通道内的耗材,使电机传感器都处于无料状态。 2. 清空缓冲器料路,不要让缓冲器传感器处于触发状态。 3. 确认活动机构没有被按住,且电机按钮不会被误触。 ## 执行校准[​](#执行校准 "执行校准的直接链接") 1. 接通电源,确认所有灯白色闪烁,表示尚未校准。 2. 长按状态按钮约 2 秒。 3. 等待红、绿、蓝灯效结束。灯效播放期间不要断电或操作电机。 4. 灯效结束后,箭头按钮应显示红色;状态按钮会根据当前模式显示红色或绿色。 5. 若校准时缓冲器或电机内存在耗材,基准值可能错误,需要清空料路后重新校准。 Loading... Loading... ## 测试电机传感器[​](#测试电机传感器 "测试电机传感器的直接链接") 在装载模式(状态按钮红色)下,分别测试两个电机通道: 1. 从通道入口缓慢插入耗材,触发该通道的 `S1`。 2. 电机应开始送料;耗材到达出口触发 `S2` 后,电机应回退一小段并停止。 3. `S1` 触发时,对应通道灯应由红色变为绿色;未触发时应显示红色。 4. 第二个通道重复以上步骤。 Loading... 断电操作 整理或重新插拔传感器线束前,请完全关闭打印机并断开电源供应。 如果插入耗材后电机不动且通道灯保持红色,优先检查 `S1`;如果电机持续送料并把耗材送出电机,优先检查 `S2`。完成检查后断电整理或重新插拔线束,并再次测试。 ## 测试缓冲器传感器[​](#测试缓冲器传感器 "测试缓冲器传感器的直接链接") 运动部件 测试时只让缓冲器按小幅度、低速移动,手指和工具应远离夹点、送料轮和电机;发现卡阻或动作异常时立即停止测试,断电后再检查。 确认电机传感器正常后,切换到自动模式(状态按钮绿色),再按以下顺序移动缓冲器机构: | 传感器 | 操作 | 预期动作 | | ------ | -------------------------- | ------------------------ | | `B2` | 缓冲器未撑开 | 当前通道开始送料 | | `B3` | 缓冲器撑开约三分之二 | 当前通道停止送料 | | `B4` | 缓冲器完全撑开 | 当前通道回抽 | | `B1` | 当前通道耗材完全进入缓冲器 | 下一条有料通道才开始送料 | Loading... Loading... Loading... Loading... Loading... 断电操作 调整磁铁位置、传感器安装或线束端子前,请完全关闭打印机并断开电源供应。 如果当前通道耗材刚离开电机、仍在料路中,下一通道就提前开始送料并造成卡料,说明 `B1` 的触发位置或输入状态异常。请断电检查磁铁位置、传感器安装和线束端子,再重新校准。 ## 测试按钮[​](#测试按钮 "测试按钮的直接链接") 运动部件 测试按钮会驱动电机。操作时保持料路畅通,手指和工具远离夹点、送料轮及电机;发现卡阻时立即停止,断电后再检查。 1. 前进箭头短按:对应通道灯黄色闪烁,电机前进。 2. 后退箭头短按:对应通道灯蓝色闪烁,电机后退。 3. 在自动模式下按工作通道箭头,设备应先切换到装载模式,再执行相应动作。 4. 在暂停/装载模式下,通道前进至出口传感器触发后,设备会回退一点并停止,这是正常保护动作。 Loading... ## 测试结束判断[​](#测试结束判断 "测试结束判断的直接链接") 所有通道的 `S1/S2`、缓冲器的 `B1/B2/B3/B4` 以及按钮动作均符合预期后,才可以开始正式使用。若指示灯紫色闪烁或红色快速闪烁,请停止自动送料并排查原因。 --- # 简介 ## 产品概述[​](#产品概述 "产品概述的直接链接") LLL PLUS 缓冲器是 Mellow 公司专为 3D 打印机设计的一款智能耗材缓冲装置。它安装在耗材架与挤出机之间,可自动调节耗材张力,减少送料阻力与拉扯,从而提升打印过程的稳定性和成品质量。 ## 核心功能[​](#核心功能 "核心功能的直接链接") ### 智能缓冲,稳定送料[​](#智能缓冲稳定送料 "智能缓冲,稳定送料的直接链接") 设备实时检测挤出机拉力,自动补送耗材,避免因远端耗材拉扯导致的送料不稳定、层纹或断料问题。 ### 断料检测,自动暂停(需配置)[​](#断料检测自动暂停需配置 "断料检测,自动暂停(需配置)的直接链接") 内置传感器可在耗材用尽或断裂时发出信号,使打印机自动暂停,防止空打。 ### 一键进退料[​](#一键进退料 "一键进退料的直接链接") 通过机身上的按钮即可轻松执行进退料操作,简化穿丝与换料流程。 ## 使用简述[​](#使用简述 "使用简述的直接链接") * **即插即用**:连接 12V–24V 电源即可启用智能缓冲功能。 * **如需断料检测**:需连接信号线并在打印机固件中进行配置。 * **固件可升级**:持续更新功能,支持速度调节、电流设定等进阶设置。 ## 固件版本说明[​](#固件版本说明 "固件版本说明的直接链接") | 版本 | 主要更新 | | ------ | ---------------------------------------------------------------------------- | | V1.0.3 | 新增按键组合功能:单击前进/后退按键控制引脚电平输出;双击任意按键暂停/恢复工作 | | V1.1.1 | 添加速度控制指令支持(`speed nnn` + 换行符) | | V1.1.2 | 优化退料逻辑:退料完成后电机自动停止,需按键或信号触发恢复 | | V1.1.3 | 添加电流配置功能 | | V1.1.4 | 添加断料输出状态配置方法 | *** --- # Fly Buffer Plus 固件烧录 适用版本 此文档适用于固件版本低于 `v2.0.0` 的设备。如果您的固件版本已达到或超过此版本,请参考 [固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/update) 文档,通过网页工具直接更新,无需进入 DFU 模式。 ## 查看固件版本[​](#查看固件版本 "查看固件版本的直接链接") 通过 [**网页工具**](https://mellow.klipper.cn/docs/ToolsDoc/fly-buffer-tool) ,可在连接设备后查看当前固件版本号。 ## 进入 DFU 烧录模式[​](#进入-dfu-烧录模式 "进入 DFU 烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 您可以通过以下任一方式让设备进入烧录模式: * **方法一**: 1. 使用 Type-C 数据线将设备连接到电脑。 2. 按住设备上的 **BOOT** 按键不放,同时轻按一下 **RESET** 按键,然后松开 **BOOT**。 * **方法二**: 1. 按住设备上的 **BOOT** 按键不放。 2. 将 Type-C 数据线连接到设备与电脑,随后松开 **BOOT** 按键。 Loading... ## 烧录方法[​](#烧录方法 "烧录方法的直接链接") * WIN 烧录 * Linux 烧录 * FLYOS 烧录 - [**FLY-LLL-PLUS-V2.0.6-mergedBL.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/LLL-PLUS/mergedBL/FLY-LLL-PLUS-V2.0.6-mergedBL.bin?v=ede439cdf66b) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * STM32CubeProgrammer * APM32 DFUProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并解压 `DFUProgrammer`。 2. 手动安装工具包内的 APM32 DFU 驱动。 3. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 5. 打开 DFUProgrammer,按下图选择设备和固件。 Loading... Loading... 6. 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY-LLL-PLUS-V2.0.6-mergedBL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ExtensionBoard/LLL-PLUS/mergedBL/FLY-LLL-PLUS-V2.0.6-mergedBL.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY-LLL-PLUS-V2.0.6-mergedBL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ExtensionBoard/LLL-PLUS/mergedBL/FLY-LLL-PLUS-V2.0.6-mergedBL.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... 注意 烧录过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 ## 下一步[​](#下一步 "下一步的直接链接") BOOT 固件烧录完成后,设备已支持通过网页工具直接更新主固件,无需再次进入 DFU 模式。 请参考[固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/update)文档完成主固件更新。 --- # 三维模型与安装手册 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型与安装手册[​](#主板三维模型与安装手册 "主板三维模型与安装手册的直接链接") * 点击下方网盘链接 * Loading... --- # Fly Buffer Plus 固件更新 适用版本 此文档适用于固件版本 >= `v2.0.0` 的设备。此版本可直接通过网页工具更新,无需进入 DFU 模式。如果您的固件版本低于此版本,请参考 [固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/flash) 文档。 ## 查看固件版本[​](#查看固件版本 "查看固件版本的直接链接") 通过 [**网页工具**](https://mellow.klipper.cn/docs/ToolsDoc/fly-buffer-tool) ,可在连接设备后查看当前固件版本号。 ## 固件下载[​](#固件下载 "固件下载的直接链接") 请下载用于网页工具更新的正确固件: * [**FLY-LLL-PLUS-V2.0.6.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/LLL-PLUS/Product-Firmware/FLY-LLL-PLUS-V2.0.6.uf2?v=5593144c6d47) * [**FLY-LLL-PLUS-V2.0.6.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/LLL-PLUS/Product-Firmware/FLY-LLL-PLUS-V2.0.6.bin?v=597439d39cfa) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 当前固件位于固件仓库的以下路径: ``` FLY-Firmware/ExtensionBoard/LLL-PLUS/Product-Firmware ``` ## 更新步骤[​](#更新步骤 "更新步骤的直接链接") 1. 使用支持数据传输的 Type-C 线将设备连接到电脑。 2. 访问 [**FLY-Buffer 配置工具**](https://mellow.klipper.cn/docs/ToolsDoc/fly-buffer-tool),点击 **连接设备** 并在弹窗中选择 FLY\_BUFFER 串口。 3. 连接成功后,点击 **进入烧录** 按钮,设备将自动进入烧录模式并弹出烧录对话框。 4. 点击 **选择设备**,在弹出列表中选择 `Fly Buffer Plus`,然后点击 **连接**。 5. 点击 **选择固件**,浏览并选中下载好的固件文件。 6. 点击 **开始烧录**,等待烧录完成。 7. 烧录成功后设备将自动重启。 注意 更新过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 ## 相关资源[​](#相关资源 "相关资源的直接链接") * **固件源代码**: [FlyBufferPlus 固件源代码](https://github.com/Fly3DTeam/Buffer) --- # 引脚图 Loading... --- # 基础接线与断料检测 ## 功能概述[​](#功能概述 "功能概述的直接链接") FLY-LLL PLUS 提供了两种核心功能:智能缓冲与断料检测。您可以根据需求选择单独使用智能缓冲功能,或同时启用断料检测功能。 ### 功能对比表[​](#功能对比表 "功能对比表的直接链接") | 功能 | 接线需求 | 固件配置 | 适用场景 | | ---------------- | ------------------- | ------------- | --------------------------- | | **智能缓冲功能** | 12-24V电源 | 无需配置 | 减少送料阻力,提高打印稳定性 | | **断料检测功能** | 12-24V电源 + 信号线 | 需Klipper配置 | 耗材用尽时自动暂停打印 | ## 接线方法[​](#接线方法 "接线方法的直接链接") ### 第一步:基础电源连接(两种功能都需要)[​](#第一步基础电源连接两种功能都需要 "第一步:基础电源连接(两种功能都需要)的直接链接") 两种功能均需先连接12-24V电源: Loading... **接线说明:** 1. 将12-24V直流电源正极(+)连接至缓冲器的`VIN`端口 2. 将电源负极(-)连接至缓冲器的`GND`端口 3. 确保电源电压符合要求(12-24V范围内) > **提示**:连接电源后,缓冲器的电源指示灯应常亮,表示设备已通电。 ### 第二步:断料检测信号连接(仅限断料检测功能)[​](#第二步断料检测信号连接仅限断料检测功能 "第二步:断料检测信号连接(仅限断料检测功能)的直接链接") 如需使用断料检测功能,需额外连接信号线: Loading... 1. **找到主板接口**:在主板上找到一个空闲的限位开关接口 2. **连接信号线**: * 将缓冲器的`SIGNAL`引脚连接至主板的限位接口信号引脚 * 将缓冲器的`GND`引脚连接至主板的地线引脚 > **注意**:具体引脚位置请参考您的主板说明书。建议使用杜邦线或专用连接线。 ## 固件配置(仅限断料检测功能)[​](#固件配置仅限断料检测功能 "固件配置(仅限断料检测功能)的直接链接") ### Klipper 配置示例[​](#klipper-配置示例 "Klipper 配置示例的直接链接") 在Klipper配置文件(通常是`printer.cfg`)中添加以下配置: ``` [filament_switch_sensor Material_breakage_detection] pause_on_runout: true switch_pin: ^PA0 # 请替换为您实际使用的引脚 runout_gcode: RESPOND MSG="检测到断料,打印已暂停" insert_gcode: RESPOND MSG="耗材已插入,准备继续打印" event_delay: 2.0 # 事件触发延迟(秒) pause_delay: 2.0 # 暂停命令延迟(秒) debounce_delay: 2.0 # 防抖动延迟(秒) ``` --- # 主板信号控制缓冲器 ## 功能概述[​](#功能概述 "功能概述的直接链接") FLY-LLL PLUS 缓冲器支持通过 3D 打印机主板的 GPIO 引脚进行远程控制。主板发送特定的电平信号到缓冲器的指定引脚,即可触发缓冲器自动执行进料或退料动作,实现无需手动操作的全自动耗材管理。 ## 工作原理[​](#工作原理 "工作原理的直接链接") 当主板的 GPIO 引脚输出低电平信号时,缓冲器会检测到该信号并执行相应动作: | 缓冲器引脚 | 触发信号 | 执行动作 | 持续时间 | | ---------- | -------- | -------------- | -------------------- | | PB5 | 低电平 | 缓冲器持续进料 | 信号保持期间持续执行 | | PB6 | 低电平 | 缓冲器持续退料 | 信号保持期间持续执行 | > **注意**:信号恢复为高电平后,缓冲器停止动作。 ## 接线方法[​](#接线方法 "接线方法的直接链接") ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") 1. **确认主板可用引脚**: * 选择两个空闲的限位引脚用于进料和退料控制 * 确保引脚支持输出功能(可配置为 output\_pin) 2. **连接信号线**: ``` 3D打印机主板 → FLY-LLL PLUS 缓冲器 GPIO引脚(例如PG13) → PB5(进料信号输入) GPIO引脚(例如PG14) → PB6(退料信号输入) 任意GND引脚 → GND(地线) ``` Loading... ### 接线注意事项[​](#接线注意事项 "接线注意事项的直接链接") 1. **引脚类型**:确保选择的是限位引脚,而非专用功能引脚 2. **电压匹配**:主板输出信号电压应为 3.3V 或 5V,缓冲器支持这两种电压 ## Klipper 配置[​](#klipper-配置 "Klipper 配置的直接链接") ### 1. 基础配置[​](#1-基础配置 "1. 基础配置的直接链接") 在 Klipper 配置文件(如 `printer.cfg`)中添加以下配置: ``` # 定义缓冲器进料控制引脚 [output_pin _buffer_feed] pin: PG13 # 替换为您实际连接的引脚(连接至缓冲器PB5) value: 1 # 初始状态为高电平(不触发) shutdown_value: 1 # Klipper停止时保持高电平 # 定义缓冲器退料控制引脚 [output_pin _buffer_retract] pin: PG14 # 替换为您实际连接的引脚(连接至缓冲器PB6) value: 1 # 初始状态为高电平(不触发) shutdown_value: 1 # Klipper停止时保持高电平 ``` ### 2. 配置参数说明[​](#2-配置参数说明 "2. 配置参数说明的直接链接") | 参数 | 说明 | 示例值 | | ---------------- | ------------------------------- | ----------------- | | `pin` | 主板上的物理引脚编号 | PG13、PA0、PC5 等 | | `value` | 引脚初始状态(0=低电平,1=高电平) | 1(高电平) | | `shutdown_value` | Klipper停止时引脚状态 | 1(高电平) | ### 3. 创建控制宏[​](#3-创建控制宏 "3. 创建控制宏的直接链接") 为了方便使用,可以创建专门的 G-code 宏: ``` # 缓冲器进料宏 [gcode_macro BUFFER_FEED] description: 控制缓冲器进料 gcode: # 设置进料引脚为低电平,触发缓冲器进料 SET_PIN PIN=_buffer_feed VALUE=0 M118 "缓冲器开始进料" # 可选:等待一段时间后自动停止 # G4 P3000 # 等待3秒 # SET_PIN PIN=_buffer_feed VALUE=1 # M118 "缓冲器停止进料" # 缓冲器退料宏 [gcode_macro BUFFER_RETRACT] description: 控制缓冲器退料 gcode: # 设置退料引脚为低电平,触发缓冲器退料 SET_PIN PIN=_buffer_retract VALUE=0 M118 "缓冲器开始退料" # 可选:等待一段时间后自动停止 # G4 P2000 # 等待2秒 # SET_PIN PIN=_buffer_retract VALUE=1 # M118 "缓冲器停止退料" # 停止所有动作宏 [gcode_macro BUFFER_STOP] description: 停止缓冲器所有动作 gcode: SET_PIN PIN=_buffer_feed VALUE=1 SET_PIN PIN=_buffer_retract VALUE=1 M118 "缓冲器已停止" ``` ## 使用方法[​](#使用方法 "使用方法的直接链接") ### 1. 基本控制命令[​](#1-基本控制命令 "1. 基本控制命令的直接链接") 在 Klipper 终端中执行以下命令: ``` # 开始进料(缓冲器持续进料直到信号停止) SET_PIN PIN=_buffer_feed VALUE=0 # 开始退料(缓冲器持续退料直到信号停止) SET_PIN PIN=_buffer_retract VALUE=0 # 停止所有动作 SET_PIN PIN=_buffer_feed VALUE=1 SET_PIN PIN=_buffer_retract VALUE=1 ``` --- # 按钮信号触发配置 ## 功能概述[​](#功能概述 "功能概述的直接链接") FLY-LLL PLUS 缓冲器的物理按钮支持向 Klipper 发送信号,当您按下按钮时,缓冲器会在指定引脚上输出电平信号,Klipper 主板检测到这些信号后可执行预设的 G-code 命令,从而实现更灵活的打印控制。 ## 信号输出说明[​](#信号输出说明 "信号输出说明的直接链接") | 按钮 | 操作方式 | 信号输出(缓冲器引脚) | 信号类型 | 持续时间 | | ------------------ | -------- | -------------------------- | -------- | ------------------- | | 进料按钮 (FEED) | 单击 | FEED 引脚输出高电平脉冲 | 高电平 | 3秒后自动恢复低电平 | | 进料按钮 (FEED) | 长按 | 一直进料 | 高电平 | 直至松开按钮 | | 退料按钮 (RETRACT) | 单击 | RETRACT 引脚输出低电平脉冲 | 低电平 | 3秒后自动恢复高电平 | | 退料按钮 (RETRACT) | 长按 | 一直退料 | 低电平 | 直至松开按钮 | ## 接线方法[​](#接线方法 "接线方法的直接链接") Loading... ### 接线步骤[​](#接线步骤 "接线步骤的直接链接") 1. **准备连接线**:使用杜邦线或专用连接线。 2. **连接信号线**: * 将缓冲器的 **FEED** 引脚连接至主板的任意空闲限位口或 GPIO 引脚。 * 将缓冲器的 **RETRACT** 引脚连接至主板的另一个空闲限位口或 GPIO 引脚。 * 将缓冲器的 **GND** 引脚连接至主板的地线引脚(GND)。 3. **记录引脚编号**:记下主板侧连接的引脚编号(例如 :PD4 、PD5),用于后续配置。 > **提示**:建议使用主板上的限位口(通常是三针接口),连接时请注意信号线的顺序,避免接反。 ## Klipper 配置[​](#klipper-配置 "Klipper 配置的直接链接") ### 1. 基础配置示例[​](#1-基础配置示例 "1. 基础配置示例的直接链接") 在 Klipper 配置文件(如 `printer.cfg`)中添加以下配置段: ``` [gcode_button 触发进料] pin: ^PD4 # 替换为您实际连接的引脚(例如 PD4) press_gcode: RESPOND MSG="触发进料" # 在此处添加自定义进料 G-code [gcode_button 触发退料] pin: ^!PD5 # 替换为您实际连接的引脚(例如 PD5) press_gcode: RESPOND MSG="触发退料" # 在此处添加自定义退料 G-code ``` ### 2. 配置参数详解[​](#2-配置参数详解 "2. 配置参数详解的直接链接") ``` [gcode_button 按钮名称] # 自定义按钮名称,便于识别 pin: ^!PD4 # 引脚配置 # ^ 表示使用内部上拉电阻(通常用于按钮信号) # ! 表示信号反转(低电平有效时使用) # PD4 替换为您实际连接的引脚编号 press_gcode: # 按钮按下时执行的 G-code 序列 # 可在此处添加任意有效的 G-code 命令 # 例如:控制挤出机进料/退料、暂停打印、执行宏等 ``` ### 3. 常用 G-code 示例[​](#3-常用-g-code-示例 "3. 常用 G-code 示例的直接链接") #### 控制挤出机进料/退料[​](#控制挤出机进料退料 "控制挤出机进料/退料的直接链接") ``` [gcode_button 手动进料] pin: ^!PD4 press_gcode: RESPOND MSG="手动进料 10mm" G91 # 切换到相对坐标模式 G1 E10 F300 # 挤出 10mm,进料速度 300mm/min G90 # 切换回绝对坐标模式 RESPOND MSG="进料完成" [gcode_button 手动退料] pin: ^!PD5 press_gcode: RESPOND MSG="手动退料 5mm" G91 # 切换到相对坐标模式 G1 E-5 F300 # 退料 5mm,速度 300mm/min G90 # 切换回绝对坐标模式 RESPOND MSG="退料完成" ``` --- # MDM模块堵料检测 ## 功能简介[​](#功能简介 "功能简介的直接链接") FLY-LLL PLUS 缓冲器可与 FLY-MDM 断料/堵料传感器配合使用,实现对挤出机堵料状态的实时监测与自动处理功能。 ### 核心功能[​](#核心功能 "核心功能的直接链接") * **堵料检测**:MDM 模块监测缓冲器耗材状态,检测堵料情况 * **断料/堵料统一处理**:断料检测也由MDM模块负责,信号通过缓冲器发送 > **重要说明**:使用MDM模块后,所有断料/堵料检测信号都通过缓冲器发送给主板,主板无法区分信号来源是断料还是堵料。 ### 固件要求[​](#固件要求 "固件要求的直接链接") * 缓冲器固件版本需为 **V1.1.5** 或更高 ## 硬件接线[​](#硬件接线 "硬件接线的直接链接") ### 1. MDM模块与缓冲器连接[​](#1-mdm模块与缓冲器连接 "1. MDM模块与缓冲器连接的直接链接") MDM模块直接与缓冲器通讯,用于检测堵料状态: Loading... ### 2. 缓冲器与主板连接[​](#2-缓冲器与主板连接 "2. 缓冲器与主板连接的直接链接") 主板发送信号给缓冲器 Loading... ### 3. 缓冲器断料检测接线[​](#3-缓冲器断料检测接线 "3. 缓冲器断料检测接线的直接链接") 缓冲器断料需要接到主板上,否则无法正常工作 Loading... **具体连接方式:** | 缓冲器引脚 | 功能说明 | 连接建议 | | ---------- | ------------------ | --------------------------------------- | | STEP | 挤出机步进信号监测 | 连接至主板的空闲 PWM、RGB 或 12864 接口 | | DIR | 挤出机方向信号监测 | 连接至主板的空闲限位接口 | > **提示**:BL-Touch 的舵机口也可用作 STEP 信号监测。 ## Klipper 配置[​](#klipper-配置 "Klipper 配置的直接链接") ### 配置前准备[​](#配置前准备 "配置前准备的直接链接") 在添加MDM模块配置前,请确保已正确配置: * 基础的挤出机配置 * 缓冲器的基础功能配置 * **注意**:断料检测现在通过MDM模块→缓冲器→主板路径 ### 1. 缓冲器监控配置(用于堵料检测)[​](#1-缓冲器监控配置用于堵料检测 "1. 缓冲器监控配置(用于堵料检测)的直接链接") 在 Klipper 配置文件(如 `printer.cfg`)中添加以下配置,监控挤出机状态: ``` [extruder_stepper buffer_monitor] extruder: extruder # 关联的主挤出机名称 step_pin: PE10 # 替换为缓冲器PA5实际连接的引脚 dir_pin: PD4 # 替换为缓冲器PB11实际连接的引脚 rotation_distance: 17.472 # 替换为您挤出机的实际值 gear_ratio: 50:10 # 替换为您挤出机的实际齿轮比 microsteps: 16 # 替换为您挤出机的实际微步数 full_steps_per_rotation: 200 # 标准步进电机为200步/转 ``` ### 完整配置示例[​](#完整配置示例 "完整配置示例的直接链接") ``` # 主挤出机配置 [extruder] step_pin: PB13 dir_pin: PB12 enable_pin: !PB14 microsteps: 16 rotation_distance: 17.472 gear_ratio: 50:10 nozzle_diameter: 0.4 filament_diameter: 1.75 heater_pin: PA1 sensor_type: ATC Semitec 104GT-2 sensor_pin: PC1 control: pid pid_Kp: 21.527 pid_Ki: 1.063 pid_Kd: 108.982 min_temp: -235 max_temp: 350 [extruder_stepper buffer_monitor] extruder: extruder step_pin: PE10 # 连接至缓冲器PA5 dir_pin: PD4 # 连接至缓冲器PB11 rotation_distance: 17.472 gear_ratio: 50:10 microsteps: 16 full_steps_per_rotation: 200 [filament_switch_sensor Material_breakage_detection] pause_on_runout: true switch_pin: ^PA0 # 请替换为您实际使用的引脚 runout_gcode: PAUSE RESPOND MSG= "检测到断料,打印已暂停" insert_gcode: RESPOND MSG="耗材已插入,准备继续打印" event_delay: 2.0 # 事件触发延迟(秒) pause_delay: 2.0 # 暂停命令延迟(秒) debounce_delay: 2.0 # 防抖动延迟(秒) ``` ## 缓冲器配置[​](#缓冲器配置 "缓冲器配置的直接链接") 注意事项 * 如果挤出机配置中没有`gear_ratio`则将`驱动齿轮数`与`从动齿轮数`改为`1` Loading... ### 参数说明[​](#参数说明 "参数说明的直接链接") | 功能说明 | 配置命令 (请在串口工具中输入) | 默认值 | 单位 | 备注 | | ---------------------- | ----------------------------- | ------ | ---- | ------------------------------------------------------------------------ | | **查看当前所有参数** | Loading... | - | - | 发送命令以读取当前所有配置。 | | **设置电机脉冲数** | Loading... | 916 | - | 设置电机每毫米移动所需的脉冲数。 | | **设置编码器检测距离** | Loading... | 1.73 | mm | 设置每个编码器信号所代表的耗材移动距离。 | | **设置运行超时时间** | Loading... | 60000 | ms | 设置无触发状态下的自动停止时间,防止持续挤出。 | | **设置误差缩放系数** | Loading... | 2.0 | - | **允许误差** = `encoder`值 X `scale`值。
例: `1.73 * 2.0 = 3.46` mm | | **设置速度控制指令** | Loading... | 260 | mm | 设置缓冲器运行速度,最高600(转/分钟),固件需要更新到V1.1.1 | **操作须知:** 1. **命令格式**:在上表“配置命令”列中,整行命令(如 `steps 916`)即为需要**完整输入**的内容。 2. **发送方式**:在串口助手的**发送区**输入命令后,点击**发送**按 3. **自动保存**:命令发送成功后,**参数会立即生效并自动保存**,无需额外执行保存操作。 4. **确认配置**:修改任何参数后,可发送 `info` 命令查询当前所有参数,以验证配置是否正确。 注意事项 * 记住设定参数后, 可以通过下方链接配置缓冲器 * [缓冲器配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/wiring-configuration/) ## 功能测试[​](#功能测试 "功能测试的直接链接") ### 1. 连接测试[​](#1-连接测试 "1. 连接测试的直接链接") 1. 完成MDM模块与缓冲器的连接 2. 完成缓冲器与主板的信号线连接 3. 确认所有接线牢固 ### 2. 完整流程测试[​](#2-完整流程测试 "2. 完整流程测试的直接链接") 1. 开始一个测试打印 2. 模拟堵料情况(小心操作) 3. 观察: * MDM模块是否检测到问题 * 缓冲器是否转发信号 * 主板是否收到信号 --- # 简介 # LLL缓冲器使用 LLL耗材缓冲器是一款专为3D打印机远程送丝设计的设备,旨在简化耗材的装载和卸载操作。该缓冲器配备了两个按钮,分别用于进料和退料,允许用户进行电动进料和退料操作。 ### 缓冲功能:[​](#缓冲功能 "缓冲功能:的直接链接") 须知 * N20电机寿命约200小时 * 当电机无法工作后需要更换电机 当3D打印机的挤出机进料时,如果拉扯到远端的耗材架,缓冲器会检测到这一动作,并自动向热端方向送出一段耗材。每次发生拉扯时,缓冲器会重复这一送丝操作。这样可以有效减少挤出机对耗材的拉扯,保持挤出机的推力稳定,从而提高打印质量的稳定性。 ### 断料检测功能:[​](#断料检测功能 "断料检测功能:的直接链接") 缓冲器内置断料检测器,当检测到缓冲器内没有耗材时,会发送信号给3D打印机暂停打印。要使用这一功能,需要连接信号引脚并修改3D打印机的配置。而缓冲功能则无需修改配置即可直接使用。 通过以上功能设计,LLL耗材缓冲器不仅简化了耗材操作,还提升了3D打印过程的稳定性和打印质量。 * 请注意使用需要将耗材接入后才可以使用功能,否则只能通过按钮控制电机运行 ## 配置参考[​](#配置参考 "配置参考的直接链接") ``` [filament_switch_sensor 断料检测] pause_on_runout: true switch_pin: ^PG7 runout_gcode: PAUSE M118 缺料 insert_gcode: M118 上料 ``` ## 接线参考[​](#接线参考 "接线参考的直接链接") Loading... ## 安装示意图[​](#安装示意图 "安装示意图的直接链接") * 哔哩哔哩视频教程 [安装视频](https://b23.tv/1Mn6T0v) * Youtube视频教程 [安装视频](https://www.youtube.com/watch?v=foBfX06pL8s\&t=630s) ## 安装示意图[​](#安装示意图-1 "安装示意图的直接链接") * 点击下方下载链接 * Loading... --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型[​](#主板三维模型 "主板三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # CANBUS Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 支持CAN与电源一分四,可一次性扩展四个CAN工具板 * 板载RJ11接口,设计用于与使用CAN协议的系统进行连接和通信。虽然RJ11在CAN系统中并非标准接口,但我们的产品提供了将二者顺畅连接的可能 * 人性化设计,通过打印件可直接安装到导轨上 ## 产品规格[​](#产品规格 "产品规格的直接链接") * 通信接口 :RJ11 \*1,XH2.54\*5 * 电源接口 :KF128-5 .028-2P\*5 * 输入电压:5V-24V * 兼容性: RRF/Klipper/等CAN ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 请注意,电源输入多少就输出多少 * 请注意,线序不要接错 * 确保在安装扩展板前,上位机已经关闭电源。 * 避免在潮湿或灰尘环境中使用扩展板。 * 安装设备时,请注意工具板的电压规格,以免造成损坏。 --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型[​](#主板三维模型 "主板三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # 参考接线 Loading... ## 支架三维模型下载[​](#支架三维模型下载 "支架三维模型下载的直接链接") * 点击下方下载链接 * Loading... Loading... --- # FLY-EDDY FLY-EDDY 是基于 Klipper `probe_eddy_current` 模块开发的 EDDY 扫床(探针)传感器,采用 TI LDC1612 芯片,通过 I2C 接口与工具板或主板连接,实现非接触式高速网床扫描与 Z 轴探测。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * 非接触式探测,扫床过程中无需反复升降 Z 轴,探测速度快、点数多 * 板载 40MHz 晶振,I2C 地址固定为 `42` * 通过 I2C 接口连接工具板或主板 * 配合 Klipper 的 `probe_eddy_current` 模块使用,支持驱动电流校准与高度校准 ## 型号差异[​](#型号差异 "型号差异的直接链接") FLY-EDDY 分为 EDDY-M 与 EDDY-F 两个型号,电气接口与配置完全相同,仅物理连接方式与适配平台不同。线束均为 5P:VCC / GND / SDA / SCL / TEMP,其中 TEMP 为板载热敏电阻输出,用于 `[temperature_probe]` 温漂补偿: * EDDY-M(MX1.25 端子) * EDDY-F(FPC 排线) - 使用 MX1.25 端子座连接 - 配 5P 排线(单头 MX1.25,30cm),接线直观、便于拆装 - 适配普通工具板或主板,需按实际板卡接线并配置 I2C(地址固定 `0x42`)与 TEMP 温度引脚 Loading... * 使用 FPC(柔性扁平排线)连接 * 配 FPC 排线(5P、0.5mm 间距、同向,可选 150mm / 200mm),占用空间小,适合紧凑安装场景 * 专门适配 SHT36 V3、SB2040 V3、SB2040 PRO V3 工具板的 EDDY 接口 Loading... > **接线方式**:[FLY-EDDY 接线](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/wiring) > > **参考配置**:[FLY-EDDY 参考配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/cfg) > > **校准教程**:[FLY-EDDY 校准](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/calibration) ## 安装注意事项[​](#安装注意事项 "安装注意事项的直接链接") 断电操作 安装传感器、插拔线束或整理走线前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * 线圈面朝向热床方向安装 * 线圈应位于喷嘴上方,线圈与喷嘴尖端的物理高度差保持在 `2~3mm` 的推荐范围内 * 多 Z 轴机器需要先手动调平一次,再执行校准 * 如之前配置过 `eddy`、`Probe`、`BL-Touch` 等探针配置,请先删除,避免冲突 * 测试和校准时建议不要打开热床 * EDDY 属于电涡流传感器,受温度影响会产生漂移,请在温度稳定后执行校准与探测 > **I2C 引脚与配置说明**:[EDDY I2C 引脚与配置说明](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-i2c) --- # FLY-EDDY 校准 版本要求 **Klipper 官方近期对 Eddy 探针功能进行了优化**,建议更新至最新版本使用: * **普通上位机**:请将 Klipper 更新至最新版本 * **FLY Fast 系统**:请将系统版本升级至 **V1.3.8** 或更高版本 * 工具板或相关下位机固件也需更新到最新 使用前检查 * 使用前确保自己的打印机没有漏电 * 如之前有配置 `eddy`、`Probe`、`BL-Touch` 的配置,请删除 * 安装 EDDY 时,线圈需在喷嘴上方,且距离喷嘴 `2~3mm` * 测试和校准时建议不要打开热床 注意事项 * 多 Z 轴机器需要先手动调平一次,再进行校准 ## 校准流程[​](#校准流程 "校准流程的直接链接") ## 线圈模型下载链接[​](#线圈模型下载链接 "线圈模型下载链接的直接链接") * 点击下方按钮下载线圈模型: Loading... ## 计算 XY 偏移值[​](#计算-xy-偏移值 "计算 XY 偏移值的直接链接") 下载模型后,请根据打印机实际结构测量并计算 XY 偏移值,再修改配置中的 `x_offset` 与 `y_offset`。 Loading... Loading... ## EDDY 校准[​](#eddy-校准 "EDDY 校准的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * 请确认没有同时启用 `Probe`、`BL-Touch` 等其他探针配置。 * 多 Z 轴机器需要先手动调平一次。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 安全提示 清洁喷嘴前请等待喷嘴冷却到安全温度;如必须在热机状态清理,只能使用专用工具,严禁用手直接接触喷嘴、热端或热床。 ### 添加临时配置[​](#添加临时配置 "添加临时配置的直接链接") 须知 下方配置仅用于临时校准,使用后必须删除或注释。 1. 添加后点击 `Save & Restart` 保存并重启。 2. 必须添加到 `printer.cfg` 文件顶部,请不要添加到文件末尾。 运动风险 下方临时宏会在未完整确认 Z 轴真实位置时移动机器。执行前请移开手和工具,确认喷嘴下方无遮挡,并随时准备使用急停。 ``` [force_move] enable_force_move: true [gcode_macro _LDC_CALIBRATE_DRIVE_CURRENT] gcode: BED_MESH_CLEAR SET_KINEMATIC_POSITION x=100 y=100 z=10 G28 X Y M104 S0 M140 S0 M106 S0 G0 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F6000 G0 Z30 F600 G4 P1000 LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe G4 P1000 SAVE_CONFIG [gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO] gcode: BED_MESH_CLEAR G28 X Y M104 S0 M140 S0 M106 S0 G90 G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000 {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } {% endif %} PROBE_EDDY_CURRENT_CALIBRATE {rawparams} ``` ### 驱动电流校准[​](#驱动电流校准 "驱动电流校准的直接链接") 在网页控制台中输入: ``` _LDC_CALIBRATE_DRIVE_CURRENT ``` 执行后打印机会移动到中心位置,并将打印头远离热床。随后系统会自动进行驱动电流校准,校准完成后保存配置并重启 Klipper。 ### 校准高度[​](#校准高度 "校准高度的直接链接") 提示 * 多 Z 轴机器需要先手动调平一次,再进行高度校准。 * 多 Z 轴机器完成高度校准后,建议再执行一次调平并重新校准高度。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 在网页控制台中输入: ``` PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=fly_eddy_probe ``` 执行后打印机会移动到中心位置,并弹出校准对话框。此时 Klipper 显示的 Z 高度并不重要,只需要按界面提示逐步降低喷嘴,直到喷嘴与纸张产生轻微摩擦。 完成后点击对话框中的 `ACCEPT`,系统会开始校准 EDDY 高度。校准完成后,点击网页右上角的 `SAVE_CONFIG & Restart` 保存配置并重启 Klipper。 ## 常见问题[​](#常见问题 "常见问题的直接链接") **Q:数据跳动大怎么办?** A:确认纸张测试力度一致,并检查传感器安装是否牢固。 **Q:校准后无效怎么办?** A:确认已执行 `SAVE_CONFIG` 并重启 Klipper。 ## 推荐使用 TAP 模式[​](#recommend-tap "推荐使用 TAP 模式的直接链接") 使用前提 TAP 模式依赖驱动电流与高度校准数据,**必须先完成上方的校准流程才能正常使用**;未完成校准时,TAP 模式无法正常触发。 FLY-EDDY 支持普通下探与 TAP 两种触发模式,**推荐使用 TAP 模式**: * TAP 模式通过喷嘴轻触床面判断触发阈值,触发点更贴近实际打印间隙,Z 偏移更稳定 * 每次打印可通过 `SET_Z_FROM_PROBE METHOD=tap` 自动确认 Z 偏移,减少首层问题 * 支持自动校准阈值(`PROBE_EDDY_CURRENT_TAP_CALIBRATE`),无需手动填写 `tap_threshold` 启用 TAP 模式需在 `[probe_eddy_current fly_eddy_probe]` 中增加: ``` tap_z_offset: 0 # 自动校准 TAP 阈值前先注释掉,校准成功后会由 SAVE_CONFIG 写入 # tap_threshold: 40000 ``` > **TAP 模式调试**:[EDDY TAP 模式调试](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap) > **EDDY 问题排查**:[EDDY 传感器常见问题](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy) > > **参考配置**:[FLY-EDDY 参考配置](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/cfg) --- # FLY-EDDY 参考配置 以下配置参考 SHT36V3 工具板的 EDDY 配置写法,仅将 I2C 地址改为 FLY-EDDY 的 `0x42`(42)。`i2c_mcu`、`i2c_bus` 以及 `x_offset`、`y_offset`、`descend_z` 需按实际连接的 MCU 与安装位置修改。 ## 参考配置[​](#reference-config "参考配置的直接链接") `[probe_eddy_current]` 支持硬件 I2C 与软件 I2C 两种连接方式,二选一即可。MCU 有可用硬件 I2C 总线时优先使用硬件 I2C: * 硬件 I2C(推荐) * 软件 I2C ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # FLY-EDDY 的 I2C 地址为 0x42(42) i2c_mcu: SHT36 # 连接 EDDY 的 MCU 名称,根据实际定义 i2c_bus: i2c1e # I2C 总线标识,根据 MCU 定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY 使用 40MHz 晶振 [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin: SHT36:gpio28 # 温度传感器引脚,按实际连接的 MCU 修改 ``` MCU 没有可用硬件 I2C 总线,或硬件 I2C 通信不稳定时,可使用软件 I2C,指定两个空闲 GPIO 作为 SCL / SDA: ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # FLY-EDDY 的 I2C 地址为 0x42(42) i2c_mcu: SHT36 # 连接 EDDY 的 MCU 名称,根据实际定义 i2c_software_scl_pin: SHT36:gpioXX # 软件 I2C 的 SCL 引脚,gpioXX 为示例占位,需按实际连接 EDDY 的空闲 GPIO 填写 i2c_software_sda_pin: SHT36:gpioXX # 软件 I2C 的 SDA 引脚,gpioXX 为示例占位,需按实际连接 EDDY 的空闲 GPIO 填写 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 400000 # I2C通信速率(Hz),软件 I2C 速率不宜过高,通信不稳定时可降低 frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY 使用 40MHz 晶振 [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin: SHT36:gpio28 # 温度传感器引脚,按实际连接的 MCU 修改 ``` ## 配置说明[​](#config-notes "配置说明的直接链接") * `i2c_address: 42` 为 FLY-EDDY 的固定 I2C 地址(`0x42`),无需修改 * `frequency: 40000000` 必须与 EDDY 板载晶振一致,FLY-EDDY 使用 40MHz 晶振,请勿填写其他值 * `i2c_mcu`、`i2c_bus` 需与连接 EDDY 的 MCU 定义一致;没有可用硬件 I2C 时,可使用软件 I2C(`i2c_software_scl_pin` / `i2c_software_sda_pin`),详见上方两个标签页的完整示例 * `i2c_speed` 通信不稳定时可降低(如 `400000`) * `XY` 偏移值需根据扫床模块与喷头本身的安装位置计算后修改 * `descend_z` 的值必须确保探针线圈与喷嘴尖端之间的物理高度差在 `2~3mm` 的推荐范围内 * `[temperature_probe]` 段的 `sensor_pin` 对应线束中的 TEMP 线(板载热敏电阻,`Generic 3950`);EDDY-F 接 SHT36 V3 / SB2040 V3 / SB2040 PRO V3 时对应工具板 `gpio28`,EDDY-M 接普通工具板或主板时按实际 ADC 引脚修改;不接 TEMP 时温漂补偿不可用 推荐 TAP 模式 FLY-EDDY 推荐使用 TAP 触发模式,每次打印可通过 `SET_Z_FROM_PROBE METHOD=tap` 自动确认 Z 偏移。启用 TAP 需在 `[probe_eddy_current fly_eddy_probe]` 中增加 `tap_z_offset: 0`(`tap_threshold` 由自动校准写入,使用前先注释掉),完整流程见下方 TAP 文档。 ## 优化动作宏[​](#优化动作宏 "优化动作宏的直接链接") 配置与校准完成后,可按需添加以下优化宏,提升扫床与打印体验: ## 使用优化[​](#使用优化 "使用优化的直接链接") ### 快速扫床[​](#快速扫床 "快速扫床的直接链接") 下方宏会让调平流程先将喷头抬升到 `10mm` 进行快速调平,完成后再使用 EDDY 的下探高度进行精细调平。 * Z\_TILT\_ADJUST * QUAD\_GANTRY\_LEVEL ``` [gcode_macro Z_TILT_ADJUST] rename_existing: _Z_TILT_ADJUST gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_Z_TILT BED_MESH_CLEAR {% if not printer.z_tilt.applied %} _Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1 {% endif %} _Z_TILT_ADJUST horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 Z_tilt Completed RESTORE_GCODE_STATE NAME=STATE_Z_TILT M400 ``` ``` [gcode_macro QUAD_GANTRY_LEVEL] rename_existing: _QUAD_GANTRY_LEVEL gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_QGL BED_MESH_CLEAR {% if not printer.quad_gantry_level.applied %} _QUAD_GANTRY_LEVEL horizontal_move_z=10 retry_tolerance=1 {% endif %} _QUAD_GANTRY_LEVEL horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 QGL Completed RESTORE_GCODE_STATE NAME=STATE_QGL M400 ``` ### 热床[​](#热床 "热床的直接链接") 下方宏会让网床扫描使用快速模式,并在扫描时临时关闭热床,减少热床加热和大功率负载对 EDDY 的影响。扫描完成后会恢复原热床目标温度。 ``` [gcode_macro BED_MESH_CALIBRATE] rename_existing: _BED_MESH_CALIBRATE gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} {% set TARGET_TEMP = printer.heater_bed.target %} M140 S0 _BED_MESH_CALIBRATE horizontal_move_z={PROBE_Z_OFFSET} METHOD=rapid_scan {rawparams} M140 S{TARGET_TEMP} ``` ## EDDY 使用 Z 轴偏移功能[​](#eddy-使用-z-轴偏移功能 "EDDY 使用 Z 轴偏移功能的直接链接") 重要通知 EDDY 的 Z 偏移功能此前存在兼容性问题,已在 2025 年 12 月 31 日的 Klipper 更新中修复。 * 普通上位机:请将 Klipper 更新至较新的稳定版本。 * FLY 上位机:请将系统版本升级至 V1.3.5 或更高。 完成更新后,请删除之前配置文件中与 `Z 偏移` 相关的旧设置,否则该功能可能无法正常使用。 ### Z 偏移说明[​](#z-偏移说明 "Z 偏移说明的直接链接") Z 偏移校准前,建议先打印一个较大面积的单层模型,用于观察首层状态。 Mainsail Z 轴偏移校准位置: Loading... Fluidd Z 轴偏移校准位置: Loading... 校准完成后点击保存即可。保存结果只会在控制台中提示,保存后不需要重启 Klipper。 注意事项 Z 偏移校准通常需要重复几次,才能获得更稳定的首层效果。 > **校准教程**:[FLY-EDDY 校准](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/calibration) > > **EDDY 问题排查**:[EDDY 传感器常见问题](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy) > > **TAP 模式**:[EDDY TAP 模式调试](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap) --- # FLY-EDDY 接线 FLY-EDDY 通过 I2C 接口与工具板或主板连接,5P 线束中包含 4 根 I2C 信号线(VCC、GND、SDA、SCL)和 1 根温度检测线(TEMP,板载热敏电阻)。两种型号信号定义一致,适配平台不同: * **EDDY-F(FPC 排线)**:专门适配 SHT36 V3、SB2040 V3、SB2040 PRO V3 工具板的 EDDY 接口 * **EDDY-M(MX1.25 端子)**:适配普通工具板或主板,通过 I2C 接口连接,具体 I2C 配置需按实际主板定义(详见下方 I2C 说明) ## 线束规格[​](#线束规格 "线束规格的直接链接") | 型号 | 线束 | 规格 | | ------ | ---------------- | ------------------------------------------------------------------------ | | EDDY-M | 排线-单头 MX1.25 | 5P(VCC / GND / SDA / SCL / TEMP),30cm | | EDDY-F | FPC 排线 | 5P(VCC / GND / SDA / SCL / TEMP)、0.5mm 间距、同向,可选 150mm / 200mm | ## I2C 引脚定义[​](#eddy-pinout "I2C 引脚定义的直接链接") | 引脚 | 定义 | 说明 | | ---- | ---------- | ----------------------------------------------------------------------------------- | | VCC | 电源正极 | 5V 供电 | | GND | 电源地 | 与 MCU 共地 | | SDA | I2C 数据线 | 连接 MCU 的 I2C SDA 引脚 | | SCL | I2C 时钟线 | 连接 MCU 的 I2C SCL 引脚 | | TEMP | 温度检测 | 板载热敏电阻输出,连接 MCU 的 ADC 引脚,用于 `[temperature_probe]` 温漂补偿(可选) | * **EDDY-M**:MX1.25 端子线序(从左到右)为 SDA、TEMP、SCL、5V、GND * **EDDY-F**:FPC 排线仅适配 FLY 工具板(SHT36 V3 / SB2040 V3 / SB2040 PRO V3)的 EDDY 接口,插入即可,无需核对线序 I2C 信号线注意事项 SDA / SCL 为开漏信号,信号线上不要串接或并联电容(如滤波电容、去耦电容)、电感、二极管等元件,也不要经过 RC / LC 滤波电路或外接电平转换模块,否则会改变信号上升沿时序,导致 I2C 通信不稳定或报错。 FLY-EDDY 的 I2C 地址固定为 `0x42`(42),对应配置项 `i2c_address: 42`。 ## 接线步骤[​](#接线步骤 "接线步骤的直接链接") 断电操作 开始接线前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * EDDY-M(MX1.25 端子) * EDDY-F(FPC 排线) 1. 将 MX1.25 排线插入 EDDY-M 端子座,按端子线序(从左到右:SDA、TEMP、SCL、5V、GND)一一对应 2. 线束另一端接入普通工具板或主板的 I2C 接口,按接口丝印核对引脚顺序 3. TEMP 线接入主板空闲的 ADC 引脚;没有可用 ADC 引脚时可不接,但温漂补偿功能不可用 4. 插紧端子后轻拉线束确认不会脱落,整理走线避免悬垂拉扯 I2C 配置说明 EDDY-M 接普通工具板或主板时,`i2c_mcu`、`i2c_bus` 需按实际主板的 MCU 定义填写;使用软件 I2C 时需指定 `i2c_software_scl_pin` / `i2c_software_sda_pin`。I2C 地址固定为 `0x42`(42),晶振频率 40MHz。 Loading... 1. 将 FPC 排线(5P、0.5mm 间距、同向)插入 EDDY-F 连接器:打开锁扣,将排线金手指按正确方向插入,压平后扣上锁扣固定 2. 排线另一端接入 SHT36 V3 / SB2040 V3 / SB2040 PRO V3 工具板的 EDDY 接口;FPC 与工具板接口一一对应,插入即可,无需核对线序 3. TEMP 线自动接入工具板 EDDY 接口的温度检测引脚(如 SHT36 V3 为 `gpio28`),无需额外接线 4. 确认排线无弯折、无外露铜箔,避免安装时挤压损坏 SHT36 V3 工具板 FPC 连接示意: Loading... SB2040 V3 工具板 FPC 连接示意: Loading... ### 两种连接方式引脚对照[​](#两种连接方式引脚对照 "两种连接方式引脚对照的直接链接") | 信号 | EDDY-M(MX1.25 端子) | EDDY-F(FPC 排线) | 工具板 / 主板接口 | | -------- | --------------------- | ------------------ | ----------------------------------- | | 电源正极 | 5V | 5V | 5V / VCC | | 电源地 | GND | GND | GND | | 数据线 | SDA | SDA | SDA | | 时钟线 | SCL | SCL | SCL | | 温度检测 | TEMP | TEMP | ADC 引脚(如 SHT36 V3 为 `gpio28`) | EDDY-M 的 MX1.25 端子线序(从左到右):SDA、TEMP、SCL、5V、GND;EDDY-F 的 FPC 排线仅适配 FLY 工具板 EDDY 接口,无需核对线序。 ## 走线建议[​](#走线建议 "走线建议的直接链接") * EDDY 通信线应远离电机线、加热线和热床线,避免 I2C 信号受干扰 * I2C 线不宜过长,线材质量差或走线过长可能导致通信不稳定 * 走线必须与电源线交叉时,尽量垂直交叉 ## 接线后验证[​](#接线后验证 "接线后验证的直接链接") 接线完成并确认所有线束插紧后,可通电验证: 1. 执行驱动电流校准:`LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe` 2. 校准正常完成即表示 I2C 通信正常,继续执行高度校准 3. 如出现 `BUS_TIMEOUT`、`Invalid read data` 等 I2C 报错,先断电检查接线,再参考 I2C 配置项调整速率 > **I2C 报错排查**:[EDDY 问题合集](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy#eddy-i2c-comm-error) > > **I2C 配置项说明**:[EDDY I2C 引脚与配置说明](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-i2c#eddy-i2c-config) --- # 产品简介 FilGuard Filament detector兼容VZ-Hextrudort-Low挤出机,支持断料检测,堵料检测,并且带可自定义编辑的按钮。 Loading... Loading... Loading... Loading... Loading... Loading... ## 接线教程[​](#接线教程 "接线教程的直接链接") * 板载PH2.0 5P端子接线更方便 Loading... ## 固件灯状态介绍[​](#固件灯状态介绍 "固件灯状态介绍的直接链接") * 缺料:红色爆闪 * 进料:蓝色闪烁(进料速度越快,闪烁频率越高) * 退料:绿色闪烁(同上) * 有料但是没有进退料:橙色呼吸灯 ## Klipper,断料与堵料参考配置[​](#klipper断料与堵料参考配置 "Klipper,断料与堵料参考配置的直接链接") 注意 堵料检测配置中`detection_length: 2.0` 2.0mm 是该智能耗材检测模块正常工作所需要的最小检测长度。如果你遇到了误触发的问题,试着增加 1 mm 的检测长度直到问题解决。 ``` [respond] default_type: echo [force_move] enable_force_move: True [filament_switch_sensor 断料检测] pause_on_runout: False switch_pin: ^!PG12 runout_gcode: M118 缺料 # filament_unload insert_gcode: M118 上料 FORCE_MOVE STEPPER=extruder DISTANCE=8 VELOCITY=5 ACCEL=60 {% if (printer.extruder.can_extrude|lower != 'true') or (printer.extruder.target == 0)%} M118 等待加热! SET_HEATER_TEMPERATURE HEATER=extruder TARGET=200 TEMPERATURE_WAIT SENSOR=extruder MINIMUM=190 {% endif %} M83 G92 E0 G0 E50 F500 G0 E10 F200 [filament_motion_sensor 堵料检测] extruder: extruder detection_length: 2.0 switch_pin: ^!PG10 pause_on_runout: False runout_gcode: M118 堵料 insert_gcode: M118 堵料恢复 #event_delay: #pause_delay: ``` 信息 进料与退料只能使用其中一个 ## Klipper退料按钮参考配置[​](#klipper退料按钮参考配置 "Klipper退料按钮参考配置的直接链接") ``` [gcode_button filament_unload] pin: ^!PG11 release_gcode: filament_unload press_gcode: [gcode_macro filament_unload] gcode: {% if (printer.print_stats.state != "printing") %} M83 G92 E0 {% if (printer.extruder.can_extrude|lower != 'true') or (printer.extruder.target == 0)%} M118 等待加热! SET_HEATER_TEMPERATURE HEATER=extruder TARGET=190 TEMPERATURE_WAIT SENSOR=extruder MINIMUM=185 {% endif %} G0 E10 F300 G0 E-20 F200 G0 E-50 F500 {% else %} M118 打印中,不会回抽操作! {% endif %} ``` ## Klipper进料按钮参考配置[​](#klipper进料按钮参考配置 "Klipper进料按钮参考配置的直接链接") ``` [gcode_button filament_unload] pin: ^!PG11 release_gcode: filament_unload press_gcode: [gcode_macro filament_unload] gcode: {% if (printer.print_stats.state != "printing") %} M83 G92 E0 {% if (printer.extruder.can_extrude|lower != 'true') or (printer.extruder.target == 0)%} M118 等待加热! SET_HEATER_TEMPERATURE HEATER=extruder TARGET=190 TEMPERATURE_WAIT SENSOR=extruder MINIMUM=185 {% endif %} G0 E20 F300 {% else %} M118 打印中,不会回抽操作! {% endif %} ``` ## 三维模型[​](#三维模型 "三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # FLY-G2T FLY-G2T多功能扩展板是为了扩展树莓派与FLY上位机功能而设计的高性能模块。它支持UART通信,集成了FPC接口可外接TFT-V2,并且还支持5V风扇控制。这使得它成为一个理想的解决方案,用于增强树莓派在各种应用中的互动性和可用性,例如在工业自动化、3D打印机、家庭自动化、机器人控制或任何需要人机界面和外部通信的场合。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 兼容性:支持多种版本的树莓派,包括树莓派Zero/3B/3B+/4B等。 * UART转RS232:提供稳定的串行通信,允许树莓派通过RS232接口与其他硬件设备进行数据交换。 * SPI电容触摸屏:通过FPC接口连接的TFT-V2电容屏,提供了直观的触摸操作,适用于需要图形用户界面的应用,例如 :klipperscreen 等。 * 5V风扇支持:集成5V风扇接口,可连接风扇进行散热,保障上位机在长时间运行或高负载情况下的稳定性。 * 插拔式设计:扩展板设计为易于安装,直接插拔在上位机上,无需额外的接线或复杂配置。 * 紧凑尺寸:扩展板尺寸合理,不会占用过多空间,方便集成到各种项目中。 ## 产品规格[​](#产品规格 "产品规格的直接链接") * 通信接口 :UART 转RS232 * 显示接口 :SPI 转FPC接口 * 风扇电源:5V * 兼容性:树莓派Zero/3B/3B+/4B,FLY Pi V2等 ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 使用RS232连接工具板时,请一定要与上位机`共地`!!!!! - 确保在安装扩展板前,上位机已经关闭电源。 - 避免在潮湿或灰尘环境中使用扩展板。 - 安装屏幕时,请注意不要带电拔插,注意屏线方向,以免造成损坏。 - 安装风扇时,请注意风扇的电流和电压规格,以免造成损坏。 --- # FLY上位机使用说明 ## 注意事项:[​](#注意事项 "注意事项:的直接链接") * 确保在安装扩展板前,上位机已经关闭电源。 * 避免在潮湿或灰尘环境中使用扩展板。 * 安装屏幕时,请注意不要带电拔插,注意屏线方向,以免造成损坏。 * 安装风扇时,请注意风扇的电流和电压规格,以免造成损坏。 * FLY上位机只能使用中间的RS232接口,FAN口与FPC屏幕接口!!! * FLY上位机中可以使用G2T的上位机有`PI V2`、`C8`、`PRO X10` * `Gemini`系列与`PI V1`无法使用 ## 安装G2T[​](#安装g2t "安装G2T的直接链接") * 下方是参考 Loading... * 参考接线 Loading... ## 使用板载RS232连接工具板方法[​](#使用板载rs232连接工具板方法 "使用板载RS232连接工具板方法的直接链接") * FLY上位机刷好最新系统后需要访问**上位机的IP+:9999** * FLY上位机只能使用中间的RS232接口,FAN口与FPC屏幕接口!!! * 在系统设置里面找到**UART1**并且保存重启 Loading... * 下方是参考配置 ``` [mcu] serial: /dev/ttyS1 baud: 250000 restart_method:command ``` ## 板载5VFAN使用[​](#板载5vfan使用 "板载5VFAN使用的直接链接") Loading... ``` [mcu host] serial: /tmp/klipper_host_mcu [temperature_sensor FLY Pi] sensor_type: temperature_host [temperature_fan core_fan] # 上位机散热风扇 pin: host:gpiochip1/gpio102 # 上位机风扇pin脚 max_power: 1.0 sensor_type: temperature_host # 设置为上位机主控温度 control:watermark # 控制方式 target_temp: 48 # 上位机散热风扇启动温度 min_temp: 0 # 最低温度,低于此温度将会报错 max_temp: 90 # 最高温度,高于此温度将会报错 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 # 最大转速,为满功率运转时的80% min_speed: 0.3 # 最小转速,为满功率运转时的30% ``` ## 屏幕使用方法[​](#屏幕使用方法 "屏幕使用方法的直接链接") * FLY上位机刷好最新系统后需要访问**上位机的IP+:9999** * fly-tft-v2-c是3.5寸TFT电容屏选择 * fly-tft-v2-r是3.5寸TFT电阻屏选择 Loading... ### 屏幕安装[​](#屏幕安装 "屏幕安装的直接链接") TFT V2 排线规格 FLY-G2T 连接 FLY-TFT-V2 时,请使用 `FPC 软排线-16P-反向-0.5mm-400mm`,并确认排线金手指方向后再扣紧接口锁扣。 Loading... # 模型下载 * 点击下方下载链接 * Loading... --- # 树莓派使用说明 ## 注意事项:[​](#注意事项 "注意事项:的直接链接") * 确保在安装扩展板前,上位机已经关闭电源。 * 避免在潮湿或灰尘环境中使用扩展板。 * 安装屏幕时,请注意不要带电拔插,注意屏线方向,以免造成损坏。 * 安装风扇时,请注意风扇的电流和电压规格,以免造成损坏。 * 请注意UART1已经默认启用无需再配置 * 请刷最新镜像比如`mainsailos`,不是升级内核 * **树莓派可以使用全部接口!!!** * **注意:树莓派使用的系统内核版本必须大于`5.17.x`, 执行命令`uname -r`查看内核版本** ## 安装G2T[​](#安装g2t "安装G2T的直接链接") * 下方是参考 Loading... * 参考接线 Loading... ## 使用板载RS232连接工具板方法[​](#使用板载rs232连接工具板方法 "使用板载RS232连接工具板方法的直接链接") Loading... * 树莓派刷好最新系统后需要在**编辑boot盘下的config.txt文件** * 请注意UART1默认已经打开无需在系统里面配置,UART3需要在进行下方步骤 * 在**config.txt**中添加即可 ``` dtoverlay=uart3 ``` * 如果使用uart1的id为,下方是参考 ``` [mcu] serial: /dev/ttyAMA0 baud: 250000 restart_method:command ``` * 如果使用uart3的id为,下方是参考 ``` [mcu] serial: /dev/ttyAMA1 baud: 250000 restart_method:command ``` ## 板载5VFAN使用[​](#板载5vfan使用 "板载5VFAN使用的直接链接") * 如果需要树莓派40PIN控制设备需要根据Klipper教程进行安装 [RPi 微控制器](https://www.klipper3d.org/zh/RPi_microcontroller.html?h=rpi) Loading... ``` [mcu host] serial: /tmp/klipper_host_mcu [temperature_sensor Raspberry Pi] sensor_type: temperature_host [temperature_fan core_fan] pin: host:gpio12 max_power: 1.0 sensor_type: temperature_host #设置为上位机主控温度 control:watermark #控制方式 target_temp: 48 #上位机散热风扇启动温度 min_temp: 0 #最低温度,低于此温度将会报错 max_temp: 90 #最高温度,高于此温度将会报错 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 #最大转速,为满功率运转时的80% min_speed: 0.3 #最小转速,为满功率运转时的30% ``` ## 屏幕使用方法[​](#屏幕使用方法 "屏幕使用方法的直接链接") * Github地址 [FLY-TFT](https://github.com/kluoyun/FLY-TFT) ### 1. 介绍[​](#1-介绍 "1. 介绍的直接链接") FLY-TFT-V2是一款基于st7796的TFT液晶屏,支持电容触摸与电阻触摸两种,分辨率320x480,使用SPI接口 ### 2. 系统安装[​](#2-系统安装 "2. 系统安装的直接链接") 提示 * 注意:树莓派使用的系统内核版本必须大于`5.17.x`, 执行命令`uname -r`查看内核版本 * 请刷最新镜像比如`mainsailos`,不是升级内核 * 需要自行安装 [KlipperScreen](https://klipperscreen.readthedocs.io/en/latest/Installation/) - 使用 [Raspberry Imager](https://www.raspberrypi.com/software/) 安装最新的 **MainsailOS** * 下载并安装 [Raspberry Imager](https://www.raspberrypi.com/software/) * 打开**Raspberry Imager** * 点击**CHOOSE DEVICE** * 根据你的设备选择对应型号 * 点击**CHOOSE OS** * 选择**Other specific-purpose OS** * 选择**3D printing** * 选择**Mainsail OS** * 选择最新的版本。如果你的设置支持64位系统则选择**rpi64** * 点击**CHOOSE STORAGE** * 选择你的存储设备,比如SD卡 * 点击**NEXT**,等待安装完成 ### 4. 驱动安装[​](#4-驱动安装 "4. 驱动安装的直接链接") * 安装FLY-TFT-V2驱动 ``` git clone https://github.com/kluoyun/FLY-TFT.git cd FLY-TFT sudo chmod +x ./scripts/install.sh ./scripts/install.sh ``` ### 5. 使用[​](#5-使用 "5. 使用的直接链接") 提示 * 触摸需要启用I2C支持,对应配置为`dtparam=i2c_arm=on` 1. 安装驱动后需要在config.txt文件中添加了 `dtoverlay=fly-tft-v2` 的覆盖层支持 2. 打开 `/boot/config.txt` (bookworm系统为`/boot/firmware/config.txt`) ``` sudo nano /boot/config.txt ``` 3. 在文件末尾添加下面的配置 ``` dtoverlay=fly-tft-v2 ``` * 默认屏幕为90度横屏显示,如果需要旋转屏幕请使用下面的配置 ``` dtoverlay=fly-tft-v2,r90 # 与默认方向一致,横向 dtoverlay=fly-tft-v2,r270 # 270度横屏,横向(翻转) dtoverlay=fly-tft-v2,r0 # 0度竖屏,纵向 dtoverlay=fly-tft-v2,r180 # 180度竖屏,纵向(翻转) ``` * 只能添加任意一个配置,不能添加多个 * 正常情况下,TFT的触摸方向会自动旋转跟随显示方向,无需修改系统内的触摸配置 4. 添加到文件末尾后,执行命令 `sudo reboot` 重启系统 * 请确保硬件连接正确 * 安装了驱动 * 在`/boot/config.txt` (bookworm系统为`/boot/firmware/config.txt`)文件中添加了`dtoverlay=fly-tft-v2` 的覆盖层支持 * 部分系统可能存在默认的fb0设备,FLY-TFT会被分配到fb1设备,需要修改配置文件使能fb1设备 * 执行命令`ls /dev/fb*`查看设备,如果出现两个设备fb0和fb1,请执行下面的命令将fb1设备使能(默认是fb0) * 执行下面的命令修改默认配置为fb1设备 ``` sudo sed -i 's/\/dev\/fb0/\/dev\/fb1/g' /etc/X11/xorg.conf.d/99-fbdev.conf ``` ### 6. 使用KlipperScreen[​](#6-使用klipperscreen "6. 使用KlipperScreen的直接链接") * MainsailOS默认没有安装KlipperScreen,需要手动安装 * 请参考[KlipperScreen](https://github.com/KlipperScreen/KlipperScreen)或使用[kiauh](https://github.com/dw-0/kiauh)安装 * 如果成功安装了KlipperScreen,且第5步骤已正确完成,此时应该已经显示了KlipperScreen界面 ### 7. 所有可用配置[​](#7-所有可用配置 "7. 所有可用配置的直接链接") * `speed` \*\*需要参数:设置TFT的最大SPI时钟频率,单位为Hz,默认96000000(如果出现严重花屏请适当降低该值) * 示例:`dtoverlay=fly-tft-v2,speed=80000000` * `r0/r90/r180/r270` **可选\*\*\*\*无需参数**:设置TFT的显示和触摸方向,默认为90度,可选值为0,90,180,270,(只能添加一个配置) * 示例:`dtoverlay=fly-tft-v2,r90`或`dtoverlay=fly-tft-v2,r180` * `disable_touch` **无需参数**:禁用TFT的触摸功能,默认为启用 * 示例:`dtoverlay=fly-tft-v2,disable_touch` * `invx`,`invy` **无需参数**:设置TFT的触摸方向,`invx`为X方向翻转,`invy`为Y方向翻转 * 示例:`dtoverlay=fly-tft-v2,invx`或`dtoverlay=fly-tft-v2,invy`或`dtoverlay=fly-tft-v2,invx,invy` * `swapxy` **无需参数**:设置TFT的触摸方向,X轴与Y轴互换,即横屏 * 示例:`dtoverlay=fly-tft-v2,swapxy` 提示 * **注意:** 所有参数可以同时设置(可选参数只能选择一个设置),多个参数之间用逗号隔开,多个参数只能在同一行 * **警告:** 正常情况只有`r0`,`r90`,`r180`,`r270`四个参数使用,其他参数仅在特殊情况下使用,尤其是`invx`,`invy`,`swapxy` - 示例:`dtoverlay=fly-tft-v2,speed=80000000,r270` ## 树莓派zero2与zero2W注意事项[​](#树莓派zero2与zero2w注意事项 "树莓派zero2与zero2W注意事项的直接链接") Loading... * 此注意事项针对配合G2T使用FLY-TFT屏幕做的说明 * 树莓派zero2与zero2w需要修改默认显示设备可以执行下方代码直接修改,否则无法显示 * 请注意执行完成后需要重启才可以使用 ``` sudo sed -i 's/\/dev\/fb0/\/dev\/fb1/g' /etc/X11/xorg.conf.d/99-fbdev.conf ``` ## 屏幕安装[​](#屏幕安装 "屏幕安装的直接链接") TFT V2 排线规格 FLY-G2T 连接 FLY-TFT-V2 时,请使用 `FPC 软排线-16P-反向-0.5mm-400mm`,并确认排线金手指方向后再扣紧接口锁扣。 Loading... --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ### 下载3D模型文件[​](#下载3d模型文件 "下载3D模型文件的直接链接") * 点击下方网盘链接 * Loading... --- # 产品简介 * 主控采用ESP32-S3R8,性能比ESP32更强。拥有8MB PSRAM和16MB Flash屏幕是IPS屏幕,解析度高,亮度高,可视角度大,色彩细腻。支持电容触摸。 ## 产品特点[​](#产品特点 "产品特点的直接链接") 提示 * 目前共6个页面,左右上下滑动切换 - 首页(显示待机,打印,停机,错误等状态) - 挤出(控制挤出,回抽,挤出温度) - 系统服务(控制主机,Klipper,Moonraker等服务的启动,停止,重启) - 设置(用于设置halo的各种参数,wifi,ip,语言,背光亮度等) - 设备信息(显示halo的信息,固件版本。检查更新等) - 耗材检测:断料堵料检测,耗材长度检测,堵料指定长度后可自动暂停和拉高GPIO47(这些全部默认关闭,设置中可启用) - 打完关机:支持打印完成后延时设置的时间后关闭主机和拉高GPIO48(这些全部默认关闭,设置中可启用) ## HALO[​](#halo "HALO的直接链接") Loading... --- # 固件下载 1. FLY-Halo发布版全量升级固件 * halo-f-release-v0\_22-0b27aba-full.bin (2024-05-28) * 点击下方下载链接 * Loading... 2. FLY-Halo开发demo包 [点击自动访问](https://github.com/Mellow-3D/FLY-Halo) --- # FLY\_halo ## 1. 首页[​](#1--首页 "1. 首页的直接链接") 单击热床或者热端,从屏幕正上方顺时针滑动需要到达的温度后再点击热床或者热端即可设定温度。 如果需要显示mcu温度与上位机温度需要添加此配置 ``` [temperature_sensor mcu] sensor_type: temperature_mcu # 关联mcu(默认) [temperature_sensor host] # 上位机温度 sensor_type: temperature_host # 关联上位机 ``` 注意事项 * 注意最高温度是读取配置里面的设置 Loading... ## 2. 挤出[​](#2-挤出 "2. 挤出的直接链接") * 长按图标可设置热端温度,挤出长度和挤出速度 注意事项 * halo只支持单个热端的控制 Loading... ## 3. 系统服务[​](#3-系统服务 "3. 系统服务的直接链接") 点击服务可以暂停、重启、启动 Loading... ## 4. 设置[​](#4-设置 "4. 设置的直接链接") 1. 重置WIFI 2. 重置KLIPPER的IP 3. 语言选择 4. 屏保时间、息屏时间、背光、屏幕旋转等功能 Loading... ## 5.设备信息[​](#5设备信息 "5.设备信息的直接链接") Loading... --- # install ## 安装指南[​](#安装指南 "安装指南的直接链接") ## 安装到Voron Stealthburner[​](#安装到voron-stealthburner "安装到Voron Stealthburner的直接链接") * Halo安装到Stealthburner需要使用我们提供的适配件 * 先下载我们提供的模型进行打印 * 点击下方下载链接 * Loading... ### 天线安装[​](#天线安装 "天线安装的直接链接") Loading... Loading... ### FPC安装[​](#fpc安装 "FPC安装的直接链接") * 按照上图安装FPC排线(FPC线方向不要装反,蓝色面朝上) Loading... Loading... ### 固定支架安装[​](#固定支架安装 "固定支架安装的直接链接") Loading... Loading... Loading... Loading... ### 按照上图将FPC穿过线孔[​](#按照上图将fpc穿过线孔 "按照上图将FPC穿过线孔的直接链接") Loading... Loading... ### 按照上图1中的先将下方的卡扣对齐,然后再将上面按进去。上图2为安装好的样子[​](#按照上图1中的先将下方的卡扣对齐然后再将上面按进去上图2为安装好的样子 "按照上图1中的先将下方的卡扣对齐,然后再将上面按进去。上图2为安装好的样子的直接链接") Loading... Loading... ### 安装转接板及接驳线[​](#安装转接板及接驳线 "安装转接板及接驳线的直接链接") * 出线位置可以按照你的习惯来,不一定要贴在风扇背面 Loading... 注意事项 * 出线颜色说明**黑色为负极GND**,**红色为正极VCC可接受电压为DC12-24V**,**白色为GPIO47 可用于堵料检测**,**黄色为GPIO48 可用于打完停机** ## 安装到断料检测[​](#安装到断料检测 "安装到断料检测的直接链接") * 待更新 --- # Halo页面操作介绍 ## 页面结构[​](#页面结构 "页面结构的直接链接") ``` 打印文件页面 首页 挤出页面 系统服务 设置 设备信息 +-------------+ +-------------+ +-------------+ +-------------+ +-------------+ +-------------+ | | | | | | | | | | | | | Print Files |<-->| Home |<-->| Extrude |<-->| Sys Service |<-->| Setting |<-->| Dev Info | | | | | | | | | | | | | +-------------+ +-------------+ +-------------+ +-------------+ +-------------+ +-------------+ ∧ | ∨ +-------------+ | | | Blocking Det| | | +-------------+ 堵料检测页面 (设置中启用堵料检测才会有这个页面) ``` ## 首页[​](#首页 "首页的直接链接") Loading... Loading... * 上图1中的可操作区域与下方序号对应 1. 单击:进入挤出温度设置,通过拖动环形条来调整温度,再次单击区域1可确认设置温度 2. 单击:进入热床温度设置,通过拖动环形条来调整温度,再次单击区域2可确认设置温度 ## 挤出页面[​](#挤出页面 "挤出页面的直接链接") Loading... Loading... * 上图1中的可操作区域与下方序号对应 1. 单击:挤出头目标温度加1 2. 长按:进入挤出温度设置,通过拖动环形条来调整温度,再次单击可确认设置温度 3. 单击:挤出头目标温度减1 4. 单击:挤出 5. 上下滑动:可选择挤出或回抽的长度,单位mm 6. 单击:回抽 7. 长按:进如上图2中的挤出速度设置,上下滑动选择挤出速度,单位mm/s,选择后单击周围空白区域退出 ## 系统服务页面[​](#系统服务页面 "系统服务页面的直接链接") Loading... Loading... * 单击上图1中相应的服务会弹出上图2中的弹窗,可启动,重启,关闭相应的系统服务 * 后续OTA会支持Moonraker中能操作的所有服务 ## 设置页面[​](#设置页面 "设置页面的直接链接") * 待更新 --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型[​](#主板三维模型 "主板三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # 使用教程 ## 注意事项[​](#注意事项 "注意事项的直接链接") * 首次使用必须连接网络,如果您的WIFI无法连接互联网。halo将无法获取首次开机的配置 * 设置页面中所有设置只有点击**保存设置**设备重启后才会生效 * 堵料检测功能默认关闭,在设置中启用堵料检测重启后才可以从首页向上滑进入 * 打完关机功能默认关闭,可在设置中启用 * 所有弹窗中需要取消打印或暂停打印的按钮都必须长按,单击无效(防止误触) * 系统服务页面中Host服务为上位机主机 * 使用官方固件时请不要尝试更换主控芯片或FLASH芯片 提示 * 注意:如果您的`moonraker.conf`配置文件大小超过4MB您可能无法正常使用。如果出现异常请缩减`moonraker.conf`配置文件的大小 ## 系统固件更新[​](#系统固件更新 "系统固件更新的直接链接") * halo版本更新分为全量更新及OTA增量更新两种 * 全量更新:涉及底层的较大升级,需要使用USB烧录全量固件包 * 增量更新:正常OTA升级,在设备信息页面检查更新即可 ## 语言选择[​](#语言选择 "语言选择的直接链接") Loading... ## 使用手机扫码并且配置WIFI[​](#使用手机扫码并且配置wifi "使用手机扫码并且配置WIFI的直接链接") 提示 * 部分移动设备可能没有扫码连接WiFi的功能,可以在手机WIFI设置中连接名为**FLY-halo-xxxxxxxx**的热点 提示 * 如果连接热点后没有弹出网页需要手动去浏览器打开链接 提示 * 请注意HALO只能使用2.4GWiFi 提示 * Halo屏幕无法搜索到隐藏的WIFI ### 如果连接wifi后手机并没有跳转可以访问下面网址进入控制台[​](#如果连接wifi后手机并没有跳转可以访问下面网址进入控制台 "如果连接wifi后手机并没有跳转可以访问下面网址进入控制台的直接链接") Loading... ### 选择需要连接的WIFI[​](#选择需要连接的wifi "选择需要连接的WIFI的直接链接") * 选择需要连接的WIFI Loading... ### 输入连接KLIPPER的IP[​](#输入连接klipper的ip "输入连接KLIPPER的IP的直接链接") * 在MoonRaker IP处输入KLIPPER的ip Loading... ### 保存并且退出[​](#保存并且退出 "保存并且退出的直接链接") * halo会自动重启并且连接KLIPPER,halo自带的热点会自动关闭 Loading... --- # Halo 固件升级 ## 增量升级(OTA)[​](#增量升级ota "增量升级(OTA)的直接链接") 在 Halo 设备信息页面里面,版本号位置可点击检查更新,如果有可用更新会弹出信息,这时点击 Update 即可开始升级。 注意 升级过程中不要断电,等待进度 100% 后会自动重启。 ## 全量升级(USB)[​](#全量升级usb "全量升级(USB)的直接链接") 如果发布全量升级固件,则需要使用 USB 将 Halo 连接到电脑来升级。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 重要 全量升级您的原有设置将不会保留,所有设置都会恢复默认。 ### 烧录步骤[​](#烧录步骤 "烧录步骤的直接链接") 1. 下载 USB 烧录工具 `flash_download_tool` * Loading... 2. 下载固件:[Halo 固件下载](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-halo/firmware) 3. 打开 `flash_download_tool_3.9.4.exe` * **注意**:打开烧录工具后会先弹出一个 CMD 窗口,然后再弹出烧录工具的界面,一定不要关闭 CMD 窗口 4. 在烧录工具中进行以下设置: * `ChipType:` 选择 `ESP32-S3` * `WorkMode:` 选择 `Develop` * `LoadMode:` 选择 `USB` * 最后点击 `OK`,可参考下图 Loading... Loading... 重要 上图中的绿色框选区域必须保证和图片中一致,不可自行修改。 5. 将 Halo 通过 USB Type-C 数据线连接到电脑 6. 点击上图中的蓝色区域 1 按钮选择你下载的固件 7. 点击上图中的蓝色区域 2 选择 Halo 的串口(如果没有,可以按住 Halo 背面的 `B` 按键不放,然后再连接电脑) 8. 点击上图中的蓝色区域 3 开始烧录,等待烧录完成后重启 Halo 即可完成全量升级 注意 必须等待提示烧录完成后才能断开 Halo 的线,否则可能导致固件损坏。 --- # 产品简介 KPPM安全关机模块——Klipper系统专用电源保护方案 * 双电源冗余保护。采用主电源+电容备电双回路设计,打印机意外断电时能迅速切换至储能电容供电,为FLY Pi/树莓派等上位机提供5-15秒应急续航 * 数据完整性保障。通过实时电源监控算法,在异常断电时能自动触发安全关机协议,预留关键数据写入时间,防止上位机SD卡文件系统损坏 * 可选OLED显示屏,实时显示电压、电流、温度等关键信息 * 配合FLYos-Fast,可实现KLipper断电续打功能 * 支持12-24V 直流电源输入,集成过流、过压、反接、浪涌、高温五重保护 * USB-OUT/2.54端子最高可输出5V/5A,为上位机提供充足的电源 * 兼容主流Klipper上位机,体积小巧,安装便捷 Loading... --- # Klipper 断电续打 * FLY上位机可以使用flyos-fast系统 * 树莓派等其他暂时无法使用断电续打 * [Klipper 断电续打](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ### 下载3D模型文件[​](#下载3d模型文件 "下载3D模型文件的直接链接") * 点击下方网盘链接 * Loading... --- # 使用KPPM FLY-KPPM安装关机模块是专为树莓派等开发板设计的安全模块,旨在防止停电导致数据丢失的问题。采用先进的技术,当停电发生时能自动切换至电容电源,确保开发板能在停电情况下依然稳定运行15秒,保障数据有效保存。小巧方便,安装简单。 Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 须知 输入电源只支持 DC12-24V,接线时注意分清正负极,接线过程必须在断电状态下进行,确认接线无误方可上电;因接线有误造成的损失,我司不予负责。 须知 5V OUT插座处+5V 为应急电源输出,不做常用供电输出,请使用 USB-OUT或者SIG/IO 给上位机供电。 须知 搭配安全关机模块时,需要使用 12V-24V 电源供电,为确保模块工作正常,安全关机模块板内 5V 输出电压不能低于 4.9V,否则 安全关机模块 会从内部升压取电,电容会一直处于充电状态,导致模块持续发热 ## 屏幕显示内容说明[​](#屏幕显示内容说明 "屏幕显示内容说明的直接链接") | 屏幕内容说明 | 左边说明 | 右边参数 | 右边说明 | | ------------ | ---------------- | -------- | ----------------- | | `IN:` | 输入电压 | `OUT:` | 输出电压 | | `CA:` | 电容总电压 | `OI:` | 输出负载电流 | | `C1:` | C1电容电压 | `C2:` | C2电容电压 | | `Temp:` | 安全关机模块温度 | `E:` | 状态提示,请看下方 | | 显示内容 | 状态说明 | | ----------- | --------------------------------------------------------- | | `Ready!` | 正常开机 | | `IN LOW!` | 输入电压低 | | `IN OVR!` | 输出电流过高 | | `OV LOE!` | 输出电压过低 | | `OV OVR` | 输出电流过高 | | `TP OVR!` | 温度过高 | | `NONE` | 未知错误 | | `R: XX Sec` | 如果在10秒内断电在上电会显示此提示,倒计时结束后重启上位机 | ## 引脚说明[​](#引脚说明 "引脚说明的直接链接") * OUT-RST 重置 * OUT-PDN 关机 * IN-PIN 默认拉高, 模块上电时会自动检测上次掉电时间, 如果掉电时间小于10秒,会等待到10秒后自动开关一次5V输出 (确保上位机完成关机并能再次重新启动) 如果接到GND. 将禁用自动检测掉电时间功能 Loading... ## FLY上位机使用教程[​](#fly上位机使用教程 "FLY上位机使用教程的直接链接") 信息 只适用于FLY-Pi FLY-Pi-V2 FLY-C8 FAST系统自带无需安装 FLY上位机需要使用SSH执行下方命令 ``` sudo curl -kfSL --progress-bar https://cnb.cool/3dmellow/public/static-files/-/git/raw/main/host/sun50i-h5-power-key.dtbo -o /boot/dtb/allwinner/overlay/sun50i-h5-power-key.dtbo sudo grep -q "^overlays=.*power-key" /boot/FlyOS-Env.txt || sudo sed -i '/^overlays=/ s/$/ power-key/' /boot/FlyOS-Env.txt ``` 重启系统 ``` sudo reboot ``` ### FLY上位机接线教程[​](#fly上位机接线教程 "FLY上位机接线教程的直接链接") * FLY上位机接线教程 - FLY-C8 使用5V接线 - FLY-C8 使用USB接线 - FLY-Pi(π) 使用5V接线 - FLY-Pi(π) 使用USB接线 - FLY-Pi-V2 使用5V接线 - FLY-Pi-V2 使用USB接线 - FLY-lite2.1 使用USB接线 * FLY-C8 V1.2 接线 Loading... * FLY-C8使用USB接线 Loading... * FLY-Pi使用5V接线 Loading... * FLY-Pi使用USB接线 Loading... * FLY-Pi-V2使用5V接线 Loading... * FLY-Pi-V2使用USB接线 Loading... * FLY-Lite2使用USB接线 Loading... ## 树莓派上位机使用教程[​](#树莓派上位机使用教程 "树莓派上位机使用教程的直接链接") 树莓派和上面操作类似,树莓派需要将装有系统镜像的 SD 卡插入电脑中,在config.txt文件中添加`dtoverlay=gpio-shutdown,gpio_pin=21`这一行命令,然后保存退出即可。 Loading... * 树莓派使用5V接线 * 树莓派 使用USB接线 - 树莓派使用5V接线 Loading... * 树莓派使用USB接线 Loading... --- # FLY-M2WE Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * M2WE出厂已经预刷好FLYOS可以直接启动 * M2WE只能使用在FLY的产品上,不支持其他设备 * M2WE的天线端子是`IPEX1` * M2WE不支持2.4G与5G双频合一、中文、特殊字符、默认隐藏的WIFI --- # 系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") 兼容性说明 `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") * 方式一:Config Myprint * 方式二:Rufus **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 插入M2WE与M2SD** 将 M2WE 插入 M2SD,再将 M2SD 连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的 M2WE。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除** M2WE 上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | -------- | -------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志H618 | fly-C5、fly-C8P、fly-PI-V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志H5 | fly-pi系列、fly-c8系列、fly-gemini系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志H3 | fly-pi-lite2系列、fly-miniPad | **步骤3: 连接存储设备** * 将 M2WE 插入 M2SD,再将 M2SD 连接至电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择 M2WE 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除** M2WE 上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出设备 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于 M2WE 速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出 M2WE * 取出 M2WE 后即可插入设备使用 *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/fast_config) 电源要求 为确保设备稳定运行,请严格遵守以下电源要求: **基本要求**: * 首次启动及后续使用中,请始终使用不低于 **5V 2A** 的电源适配器 * 部分电脑的USB接口可能无法达到这一标准,建议使用独立电源适配器 **首次启动建议**: * 第一次系统启动时,请使用 **5V 2A** 电源适配器 * 启动时**不要外接显示屏**,待系统完全启动后再连接 * 如果使用FPC,请断电连接 **系统扩容注意事项**: * 系统扩容过程对供电稳定性要求较高 * 供电不足可能导致设备不稳定或扩容失败 * 扩容时务必使用 **5V 2A** 或更高规格的电源适配器 --- # 产品简介 * MDM断堵料传感器,体积小巧,使用简单,触发灵敏。 * 可用于Klipper,Marlin,RRF等3D打印机 * 断料检测:高速红外扫描,0.25 秒捕捉耗材断裂瞬间,立即暂停打印并报警,避免空打损耗。 * 堵料预警:编码器光感信号识别,识别喷头 / 喉管堵塞前兆,减少废件率超 80%。 * 广泛兼容:支持 PLA、ABS、PETG、TPU 等全类型线材(直径 1.75mm),无论是刚性材料还是柔性耗材,均能稳定识别。 * 安装简单:提供孔距 图纸 接线图和配置文件的材料方便安装使用。 Loading... --- # 模型下载与打印组装 ## 模型下载与说明[​](#模型下载与说明 "模型下载与说明的直接链接") ### 下载3D模型文件[​](#下载3d模型文件 "下载3D模型文件的直接链接") * 点击下方网盘链接 * Loading... *** ### 模型文件说明[​](#模型文件说明 "模型文件说明的直接链接") | 模型文件名称 | 描述 | | ---------------------------------- | -------------------------------------------------------------------------------------------------------------- | | pcb\_cover.stp | PCB盖子 | | switch\_sensor\_trigger\_block.stp | 断料检测触发块 | | rear\_cover.stp | 后盖 | | upper\_cover.stp | 上盖 | | main\_body.stp | 模型主体 | | encoder\_3\_5.8mm.stp | 编码器码盘,3波段,最小检测距离5.8mm
`高流量(大于 20 mm³/s)打印可使用这个` | | encoder\_5\_3.5mm.stp | 编码器码盘,5波段,最小检测距离3.5mm
`适中,建议使用` | | encoder\_10\_1.73mm.stp | 编码器码盘,10波段,最小检测距离1.73mm
`低速高精打印可使用这个`
受限于3D打印机固件耗材检测的采样率限制 | ## 打印组装[​](#打印组装 "打印组装的直接链接") 模型打印注意事项 * 外壳不建议使用 `PETG` 和 `透明材料` 打印,会影响传感器感应。 ## 安装视频[​](#安装视频 "安装视频的直接链接") Loading... ### 组装图[​](#组装图 "组装图的直接链接") Loading... --- # Klipper配置 ## 断料功能配置[​](#断料功能配置 "断料功能配置的直接链接") ``` [filament_switch_sensor mdm_switch_sensor] switch_pin: ^PG12 # 替换成自己使用的引脚, 连接到断料检测的引脚 pause_on_runout: True # 当设置为 "True "时,会在检测到耗尽后立即暂停打印机. # 请注意, 如果 pause_on_runout 为 False 并且没有定义. # runout_gcode的话, 耗尽检测将被禁用. # 默认为 True. runout_gcode: M118 断料 # insert_gcode: event_delay: 1.0 # 事件之间的最小延迟时间(秒). # 在这个时间段内触发的事件将被默许忽略. # 默认为3秒. pause_delay: 0.5 # 暂停命令和执行 runout_gcode 之间的延迟时间, 单位是秒. # 如果在OctoPrint的情况下,增加这个延迟可能改善暂 # 停的可靠性.如果OctoPrint表现出奇怪的暂停行为, # 考虑增加这个延迟. # 默认为0.5秒. ``` ## 堵料功能配置[​](#堵料功能配置 "堵料功能配置的直接链接") ``` [filament_motion_sensor mdm_motion_sensor] switch_pin: PD6 # 替换成自己使用的引脚, 连接到堵料检测的引脚 detection_length: 3.5 # 触发传感器 switch_pin 引脚状态变化的最小距离. extruder: extruder # 该传感器相关联的挤出机. # 必须提供此参数. # pause_on_runout: runout_gcode: M118 堵料 # insert_gcode: event_delay: 3.0 pause_delay: 1.0 ``` --- # Marlin配置 ## 断料及堵料功能配置[​](#断料及堵料功能配置 "断料及堵料功能配置的直接链接") Loading... 1. 打开 Marlin 配置文件 `Configuration.h`,找到 `#define FILAMENT_RUNOUT_SENSOR`,将其前面的注释符号去掉。 2. 找到 `#define FILAMENT_RUNOUT_DISTANCE_MM`,将其前面的注释符号去掉,并设置为 `3.5` (根据所使用的码盘而改变,如果出现误触发请适当增大此值)。 3. 找到 `#define FILAMENT_MOTION_SENSOR`,将其前面的注释符号去掉。 4. Marlin的灯丝传感器功能也需要启用 `#define NOZZLE_PARK_FEATURE` 和 `#define ADVANCED_PAUSE_FEATURE` 。请取消注释并根据您的打印机设置具体参数。 --- # RRF配置 ## 断料及堵料功能配置[​](#断料及堵料功能配置 "断料及堵料功能配置的直接链接") Loading... 1. 打开RRF打印机网页界面,进入 `Files` -> `System`,找到 `config.g` 文件,点击打开编辑文件。 2. 在文件中添加以下代码启用断料检测功能。 ``` M591 D0 P2 C"PA9" S1 ``` 3. 在文件中添加以下代码启用堵料检测功能。(`L` 参数根据所使用的码盘而改变,如果出现误触发请适当增大此值) ``` M591 D0 P7 C"PA10" L3.5 R75:125 S1 ``` --- # 接线图 须知 * 输入电源只支持 DC 3.3V/5V,接线时注意分清正负极,接线过程必须在断电状态下进行,确认接线无误方可上电;因接线有误造成的损失,我司不予负责。 Loading... --- # 产品简介 * MDM断堵料传感器,体积小巧,使用简单,触发灵敏。 * 可用于Klipper,Marlin,RRF等3D打印机 * 断料检测:高速红外扫描,0.25 秒捕捉耗材断裂瞬间,立即暂停打印并报警,避免空打损耗。 * 堵料预警:编码器光感信号识别,识别喷头 / 喉管堵塞前兆,减少废件率超 80%。 * 广泛兼容:支持 PLA、ABS、PETG、TPU 等全类型线材(直径 2.85mm),无论是刚性材料还是柔性耗材,均能稳定识别。 * 安装简单:提供孔距 图纸 接线图和配置文件的材料方便安装使用。 Loading... --- # 模型下载与打印组装 ## 模型下载与说明[​](#模型下载与说明 "模型下载与说明的直接链接") ### 下载3D模型文件[​](#下载3d模型文件 "下载3D模型文件的直接链接") * 点击下方网盘链接 * Loading... *** ## 打印组装[​](#打印组装 "打印组装的直接链接") 模型打印注意事项 * 外壳不建议使用 `PETG` 和 `透明材料` 打印,会影响传感器感应。 ### 组装图[​](#组装图 "组装图的直接链接") Loading... --- # Klipper配置 ## 断料功能配置[​](#断料功能配置 "断料功能配置的直接链接") ⚠️ 配置文件材料直径**必须修改为2.85mm**
并且切片器的打印机配置文件中也要**修改为2.85mm** ``` [filament_switch_sensor mdm_switch_sensor] switch_pin: ^PG12 # 替换成自己使用的引脚, 连接到断料检测的引脚 pause_on_runout: True # 当设置为 "True "时,会在检测到耗尽后立即暂停打印机. # 请注意, 如果 pause_on_runout 为 False 并且没有定义. # runout_gcode的话, 耗尽检测将被禁用. # 默认为 True. runout_gcode: M118 断料 # insert_gcode: event_delay: 1.0 # 事件之间的最小延迟时间(秒). # 在这个时间段内触发的事件将被默许忽略. # 默认为3秒. pause_delay: 0.5 # 暂停命令和执行 runout_gcode 之间的延迟时间, 单位是秒. # 如果在OctoPrint的情况下,增加这个延迟可能改善暂 # 停的可靠性.如果OctoPrint表现出奇怪的暂停行为, # 考虑增加这个延迟. # 默认为0.5秒. ``` ## 堵料功能配置[​](#堵料功能配置 "堵料功能配置的直接链接") ``` [filament_motion_sensor mdm_motion_sensor] switch_pin: PD6 # 替换成自己使用的引脚, 连接到堵料检测的引脚 detection_length: 3.7 # 触发传感器 switch_pin 引脚状态变化的最小距离. extruder: extruder # 该传感器相关联的挤出机. # 必须提供此参数. # pause_on_runout: runout_gcode: M118 堵料 # insert_gcode: event_delay: 3.0 pause_delay: 1.0 ``` --- # Marlin配置 ## 断料及堵料功能配置[​](#断料及堵料功能配置 "断料及堵料功能配置的直接链接") Loading... 1. 打开 Marlin 配置文件 `Configuration.h`,找到 `#define FILAMENT_RUNOUT_SENSOR`,将其前面的注释符号去掉。 2. 找到 `#define FILAMENT_RUNOUT_DISTANCE_MM`,将其前面的注释符号去掉,并设置为 `3.7` (根据所使用的码盘而改变,如果出现误触发请适当增大此值)。 3. 找到 `#define FILAMENT_MOTION_SENSOR`,将其前面的注释符号去掉。 4. Marlin的灯丝传感器功能也需要启用 `#define NOZZLE_PARK_FEATURE` 和 `#define ADVANCED_PAUSE_FEATURE` 。请取消注释并根据您的打印机设置具体参数。 --- # RRF配置 ## 断料及堵料功能配置[​](#断料及堵料功能配置 "断料及堵料功能配置的直接链接") Loading... 1. 打开RRF打印机网页界面,进入 `Files` -> `System`,找到 `config.g` 文件,点击打开编辑文件。 2. 在文件中添加以下代码启用断料检测功能。 ``` M591 D0 P2 C"PA9" S1 ``` 3. 在文件中添加以下代码启用堵料检测功能。(`L` 参数根据所使用的码盘而改变,如果出现误触发请适当增大此值) ``` M591 D0 P7 C"PA10" L3.7 R75:125 S1 ``` --- # 接线图 须知 * 输入电源只支持 DC3.3V/5V,接线时注意分清正负极,接线过程必须在断电状态下进行,确认接线无误方可上电;因接线有误造成的损失,我司不予负责。 Loading... --- # FLY-MiniAB集线板 ## 接线说明[​](#接线说明 "接线说明的直接链接") 提示 * 本教程以E3V2为例 Loading... Loading... ## 风扇说明[​](#风扇说明 "风扇说明的直接链接") * VCC对应风扇接法,如果使用5V风扇请将跳线移动到上方 Loading... --- # FLY VoltUp Power FLY-VoltUp Power该升压模块专为高压驱动设计,用户无需额外购买高压电源即可实现高压驱动,有助于在设计3D打印机时节省空间 Loading... ## 产品特性[​](#产品特性 "产品特性的直接链接") * 输出电源48V/60V可选 * 板载风扇口,并且自带4010风扇固定,电源输入多少V则输出多少V * 双电源接口扩展:提供一个电源接口,允许用户同时扩展两个电源输出,并且可单独设定某一个电源输出48V或者60V * 易于安装:采用标准尺寸设计,适用于多种环境,无需额外驱动安装。 * 紧凑尺寸:扩展板尺寸合理,不会占用过多空间,方便集成到各种项目中。 ## 产品规格:[​](#产品规格 "产品规格:的直接链接") * 电源接口:12V/24V * 输出接口:两路可选电源 48V/60V (通过跳线帽选择) * 风扇接口:两个XH2.54 2P VCC FAN ## 注意事项:[​](#注意事项 "注意事项:的直接链接") * 安装前, 请断开电源并关闭所有设备。 * 每个通道的输出电压可独立调节。当输出电压设为48V时, 通道的最大电流可设为2A; 当设为60V时, 通道的最大电流可设为1A. * 两个VCC FAN接口的输出电压与电源输入电压相同。 * 模块预留了4010风扇的安装孔位。由于升压模块发热量较大, 必须安装风扇进行散热。 * 内置防反接保护电路, 可防止因电源极性接反而损坏元器件。 * 请勿同时插入电压选择跳线帽, 以免损坏元器件。 * 请正确连接正负极, 避免损坏元器件。 Loading... --- # 跳线帽选择 Loading... ## 模块接线参考[​](#模块接线参考 "模块接线参考的直接链接") Loading... --- # VORON\_StealthBurner\_LED * 适用`VORON_StealthBurner`的LED灯珠 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 固定牢固,减少焊接的必要 * 可以控制颜色 ## 产品规格[​](#产品规格 "产品规格的直接链接") * 工作电压:5V * 灯珠数量:8+1+1 ## 注意事项[​](#注意事项 "注意事项的直接链接") Loading... --- # 参考接线 ## Klipper配置[​](#klipper配置 "Klipper配置的直接链接") ``` [neopixel sb_leds] pin: 'enter_your_led_data_pin_name' chain_count: 10 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1.0 initial_WHITE: 0.0 ###66CCFF ``` ## 适用StealthBurner\_LED固定模型下载[​](#适用stealthburner_led固定模型下载 "适用StealthBurner_LED固定模型下载的直接链接") * 点击下方网盘链接 * Loading... --- # TAP ## TAP接线示意图\![​](#tap接线示意图 "TAP接线示意图!的直接链接") 注意事项 * 请注意不要将tap接到舵机口,需要接到限位口!!! Loading... ## TAP的配置教程[​](#tap的配置教程 "TAP的配置教程的直接链接") 提示 * 因为tap是直接使用喷嘴当限位触发所以无任何XY偏移 提示 * TAP修改的地方只有z限位与probe ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # endstop_pin: ^sht36:PA1 # position_endstop: -0.5 [probe] pin: ^sht36:PC15 # 信号接口 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 3.0 # 调平速度 lift_speed: 5 # 抬起探头速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 3.0 # 调平回缩距离 samples_tolerance: 0.075 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 activate_gcode: {% set PROBE_TEMP = 150 %} {% set MAX_TEMP = PROBE_TEMP + 5 %} {% set ACTUAL_TEMP = printer.extruder.temperature %} {% set TARGET_TEMP = printer.extruder.target %} {% if TARGET_TEMP > PROBE_TEMP %} { action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) } M106 S255 M109 S{ PROBE_TEMP } M106 S26 {% else %} # Temperature target is already low enough, but nozzle may still be too hot. {% if ACTUAL_TEMP > MAX_TEMP %} { action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) } TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP } {% endif %} {% endif %} ``` ## 起始宏修改[​](#起始宏修改 "起始宏修改的直接链接") * 效果 Loading... ### PrusaSlicer起始宏修改[​](#prusaslicer起始宏修改 "PrusaSlicer起始宏修改的直接链接") ``` M109 S150 print_start M109 S[first_layer_temperature] ``` ### CURA起始宏修改[​](#cura起始宏修改 "CURA起始宏修改的直接链接") ``` M109 S150 print_start M109 S{material_print_temperature_layer_0} ;Start heating extruder ``` ### Orca-Slicer起始宏修改[​](#orca-slicer起始宏修改 "Orca-Slicer起始宏修改的直接链接") ``` M190 S[bed_temperature_initial_layer_single] M109 S150 print_start PRINT_MIN={first_layer_print_min[0]},{first_layer_print_min[1]} PRINT_MAX={first_layer_print_max[0]},{first_layer_print_max[1]} M109 S[nozzle_temperature_initial_layer] ``` ## 三维模型[​](#三维模型 "三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # FLY U-IP 本产品是一款基于树莓派RP2040微控制器的多功能状态监控模块,集成Type-A公头与Type-C母口,支持即插即用(Windows/本产品是一款基于树莓派RP2040微控制器的嵌入式状态监控模块,集成1.14寸全视角IPS屏幕(240x135分辨率),配备Type-A公头与Type-C母口,支持即插即用(Windows/Linux免驱)。专为3D打印、物联网设备及网络调试场景设计,通过屏幕直接显示设备网络信息、系统资源占用率及服务运行状态,无需额外终端工具,操作直观便捷。 Loading... ## 特点[​](#特点 "特点的直接链接") * 使用树莓派RP2040主控,主频200Mhz * 支持USB Type-A公头与USB Type-c母口 * 搭载1.14寸LCD全视角IPS屏幕,240x135分辨率 * Windows及常见Linux发行版免驱使用 * 支持通过Moonraker获取IP地址等信息 * 支持通过SSH获取IP地址等信息 * 支持电脑通过网页修改参数 * 屏幕主题颜色可自定义 * 屏幕支持90°与270°两种显示方向旋转 * 屏幕背光亮度可调 * 显示的所有信息刷新时间与显示时间可自定义 * 可选是否显示IPV6地址 * 支持三击RST按键恢复出厂设置 ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 本产品暂不支持苹果设备 * 需要系统支持ECM或者Rndis,否则无法正常使用 * 本产品需要专为Klipper设计,需要配合Moonraker服务才能显示IP与系统资源,否则需要打开后台并且配置SSH模式才能使用 --- # 固件更新 注意事项 * 需要 Windows 系统配合才能使用 * 连接方法只能使用下面的方法,并且只能二选一,没有其他连接方式 ## 下载固件[​](#下载固件 "下载固件的直接链接") * 请下载用于 U-IP 的正确固件: - [**fly-uip.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/U-IP/fly-uip.uf2?v=f0d9865dbdb6) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 ## 更新方法[​](#更新方法 "更新方法的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 1. 将 U-IP 连接到电脑,在浏览器的网址栏中输入 `192.168.4.1`。 2. 找到 **系统控制**,点击 **重启到烧录模式**。 Loading... ### 更新固件[​](#更新固件 "更新固件的直接链接") 1. 点击 **重启到烧录模式** 后,电脑将弹出 `RPI-RP2` 磁盘。 Loading... 2. 将需要烧录的固件复制到 `RPI-RP2` 磁盘中。 Loading... 3. 固件复制进去后等待大约十秒钟,`RPI-RP2` 磁盘会自动消失,此时固件烧录完毕。 注意 复制固件过程中请勿断开 U-IP 与电脑的连接,否则可能导致烧录失败。 --- # 开机界面 Loading... ## 第一界面[​](#第一界面 "第一界面的直接链接") 注意事项 * 需要系统支持ECM或者Rndis,否则无法正常使用 * 本产品专为Klipper设计,需要配合Moonraker服务才能显示IP与资源,否则需要打开后台并且配置SSH模式才能使用 - IP显示会从连接机器读取到的信息来显示,如果无法读取或者未读取到IP则提示 Loading... - 正常读取到则出现下方界面(IP根据上位机显示) Loading... ## 第二界面[​](#第二界面 "第二界面的直接链接") * 显示连接机器的CPU与内存使用情况 Loading... ## 第三界面[​](#第三界面 "第三界面的直接链接") * 显示上位机启动的服务,请注意显示是与Klipper相关的服务 * 如果未启动则在服务前面显示红点 * 如果启动则在服务前面显示蓝点 Loading... --- # 使用方法 ## 连接方法[​](#连接方法 "连接方法的直接链接") 注意事项 * 连接方法只能使用下面的两个方法,并且只能二选一,没有其他连接方式!!! `方法一:` 将U-IP的USB A(公口)接到上位机的USB A(母口) `方法二:` 使用数据线(USB转TYPE-C)一头接上位机的USB A(母口)一头接到U-IP上 Loading... `然后:` 接好线后正常等待即可 # 配置U-IP方法 注意事项 * 暂不支持苹果用户 * 需要WINDOWS系统配合才能使用 * 连接方法只能使用下面的两个方法,并且只能二选一,没有其他连接方式!!! `方法一:` 将U-IP的USB A(公口)接到电脑的USB A(母口) `方法二:` 使用数据线(USB转TYPE-C)一头接电脑的USB A(母口)一头接到U-IP上 Loading... `然后:`等待`五秒后`使用WINDOWS中的浏览器,并且在网址栏中输入`http://192.168.4.1/`,回车后即可出现下方界面 Loading... ## 界面介绍[​](#界面介绍 "界面介绍的直接链接") ### 网络设置[​](#网络设置 "网络设置的直接链接") * 可以设定U-IP的IP地址、MAC地址、主机名与后台管理端口 * 请不要乱设置 Loading... ### 显示设置[​](#显示设置 "显示设置的直接链接") * 可以设定显示的方向、背光亮度与是否显示被连接机器的IPV6地址等 Loading... ### 系统控制[​](#系统控制 "系统控制的直接链接") * 可以设定固件版本等,并且可以重启设备或者进入U-IP的烧录模式 Loading... ## 系统连接配置[​](#系统连接配置 "系统连接配置的直接链接") ### Moonraker 配置[​](#moonraker-配置 "Moonraker 配置的直接链接") * 第一个是是否启用Moonraker连接,默认打开 * 第二个为自动分配给机器的IP地址 * 第三个是Moonraker的端口号,默认7125 Loading... ### SSH 配置[​](#ssh-配置 "SSH 配置的直接链接") * 对于特殊系统可以尝试此方法,但请注意并不是全部机器可以正常使用此功能 * 打开SSH连接后输入机器的SSH账号与密码,端口号默认22 * 此选项会通过SSH登录到机器并且获取机器IP与系统资源,如果无法获取则会一直在开机界面一直循环 Loading... --- # FLY-UTOC FLY-UTOC 是一款 USB 转 CAN 总线模块, 可使支持 USB 的主机设备扩展 CAN 总线通信功能。模块提供多种形态的 CAN 接口, 方便连接不同的开发板或设备。 Loading... ## 主要特性[​](#主要特性 "主要特性的直接链接") * **CAN 总线优势**:数据传输距离远, 抗干扰能力强, 实时性高, 可靠性高。 * **型号说明**: * **FLY-UTOC 1**:支持四路 CAN 设备接入总线。 * **FLY-UTOC 3**:在 UTOC 1 的基础上, 额外提供两路 USB 母口, 可用于连接那些未集成 CAN 收发器但主控芯片具备 CAN 控制器功能的设备(例如, 通过将主板 USB 接口的物理引脚直接与主控芯片的 CAN TX/RX 引脚相连, 实现 CAN 通信)。 ## 产品规格[​](#产品规格 "产品规格的直接链接") * **主控芯片**:STM32F072 / APM32F072 * **逻辑电压**:DC 3.3V * **USB 通信接口**:USB Type-C, 仅用于连接上位机 * **电源与接口**: * **FLY-UTOC 1**: * 两路 XH2.54-4P 接口(CAN 接口, 可对外提供 5V 电源) * 两路 POWER 接线端子, 支持 12–24V 直流输入(模块需单独接入电源, 否则无供电) * **FLY-UTOC 3**: * 在 UTOC 1 的基础上, 增加两路 USB 母口 * **终端电阻**:板载 120Ω 终端电阻, 无需跳线或外接 --- # FLY-UTOC 固件更新 须知 UTOC 出厂已经预刷好固件,仅在需要更新固件时按本文操作。 ## 固件下载[​](#固件下载 "固件下载的直接链接") 请下载用于完整烧录的正确固件: * [**FLY\_UTOC.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/UTOC/FLY_UTOC.bin?v=01d958f14b43) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 完整烧录固件位于固件仓库的以下路径: ``` FLY-Firmware/ExtensionBoard/UTOC ``` ## 进入 DFU 烧录模式[​](#进入-dfu-烧录模式 "进入 DFU 烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 1. 在 UTOC 断电的情况下,使用跳线帽短接 **BOOT**。 2. 使用支持数据传输的 Type-C 数据线将 UTOC 连接到电脑,随后即可开始烧录。 ## 烧录方法[​](#烧录方法 "烧录方法的直接链接") * WIN 烧录 * Linux 烧录 * FLYOS 烧录 - [**FLY\_UTOC.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ExtensionBoard/UTOC/FLY_UTOC.bin?v=01d958f14b43) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * STM32CubeProgrammer * APM32 DFUProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并解压 `DFUProgrammer`。 2. 手动安装工具包内的 APM32 DFU 驱动。 3. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 5. 打开 DFUProgrammer,按下图选择设备和固件。 Loading... Loading... 6. 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_UTOC.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ExtensionBoard/UTOC/FLY_UTOC.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_UTOC.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ExtensionBoard/UTOC/FLY_UTOC.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... 注意 烧录过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 ## 参考[​](#参考 "参考的直接链接") 如需更详细的 STM32 / APM32 烧录说明,请参考 [通用烧录教程](https://mellow.klipper.cn/docs/DebugDoc/baodian/programming)。 --- # 接口功能 Loading... ## UTOC-1 接线说明[​](#utoc-1-接线说明 "UTOC-1 接线说明的直接链接") * **CAN 接口 (XH2.54-4P)**
通过板载 XH2.54-4P 连接器连接 CAN 设备.该接口可提供 5V 电源输出,用于为外部 CAN 设备供电.
**注意**:本接口已集成 120Ω 终端电阻跳线,无需外接. * **电源与 CAN 组合端子 (KF128-5.0-4P)**
板载两个 KF128-5.0-4P 接线端子,每个端子同时提供 VCC 电源输入和 CAN 接口功能,方便用户根据接线需求选择使用. * 引脚定义(以其中一个为例): | 引脚 | 功能 | 说明 | | ---- | ------ | ------------------------ | | 1 | VCC | 12-24V 电源输入(最高24V) | | 2 | GND | 电源地 | | 3 | CAN\_H | CAN 总线高电平信号 | | 4 | CAN\_L | CAN 总线低电平信号 | * 该端子支持直接接入 12-24V 直流电源,同时提供 CAN 总线连接,适用于需要简化布线的场景. * **注意**:本接口已集成 120Ω 终端电阻跳线,无需外接. * **VCC 电源输入接口**
支持接入 12V-24V 直流电源(最高输入电压 24V),专用于为外部 CAN 设备供电.
**注意**:请确保电源极性正确,切勿反接;此接口仅对外供电,不影响 UTOC-1 自身的电源. * **GND 接地接口**
建议将该接口连接到机器金属框架或电源的 GND(选择一处连接即可),以提供良好的接地参考,有效减少信号干扰,确保通信稳定. * **外部独立供电选项**
CAN 工具板也可直接使用自身电源接口独立供电,无需依赖 UTOC-1 提供的 5V 或 VCC 电源.此时,请务必将外部电源的 GND 与 UTOC-1 的 GND 相连,保证信号共地. *** ## UTOC-3 接线说明[​](#utoc-3-接线说明 "UTOC-3 接线说明的直接链接") UTOC-3 是在 UTOC-1 基础上扩展而来的多功能 CAN 工具板,功能完全兼容 UTOC-1,并额外增加了两路 USB 母口,用于便捷地连接不具备 CAN 收发器但主控芯片内置 CAN 控制器的设备. * **USB 母口(两路)**
这两路标准 USB-A 母口用于连接不具备 CAN 收发器但主控芯片具备 CAN 控制器功能的设备(如 STM32 开发板).使用时只需一根带数据传输功能的 USB Type-C 线,将主板与 UTOC-3 的任一 USB 母口相连即可. **使用前提**: * 目标主板的 USB 接口引脚(D+,D-)需在硬件上连接到主控芯片的 CAN 控制器引脚(例如 STM32 的 PA11,PA12).请查阅主板原理图确认. * 在主板的固件中,需启用 CAN 功能并将相应引脚配置为 CAN 模式(如 STM32 的 PA11 作为 CAN\_RX,PA12 作为 CAN\_TX).由于主板型号众多,具体编译参数请用户根据产品文档自行设置. **连接方式**: 1. 确保主板已烧录正确配置的固件. 2. 使用一根标准 USB Type-C 数据线,一端连接主板的 USB 口,另一端连接 UTOC-3 的 USB 母口. 3. 无需额外驱动或跳线,UTOC-3 即可将主板的 CAN 控制器信号接入 CAN 总线. **注意事项**: * 请使用具备数据传输功能的 Type-C 线缆(充电线可能缺少数据线芯,无法通信). * 建议使用屏蔽线缆并将屏蔽层良好接地,以增强抗干扰能力. --- # FLY-UTOR FLY-UTOR是一款高性能、多用途的接口扩展解决方案,旨在为用户提供额外的USB接口和电源扩展能力,同时支持UART转RS232通信。该扩展板设计紧凑,易于安装,适用于需要额外接口和电源输出的各种应用场景。 Loading... ## 产品特性[​](#产品特性 "产品特性的直接链接") * 双USB口扩展:扩展板提供两个额外的USB接口,支持USB 2.0标准,确保与各种USB设备的兼容性和高速数据传输。 * UART转RS232支持:内置UART转RS232转换器,方便用户将串行设备接入系统,扩展设备的通信能力。 * 双电源接口扩展:提供两个电源接口,允许用户同时扩展两个外部电源,满足额外电源需求。 * 稳定电源设计:扩展板设计有稳定的电源电路,确保连接设备的稳定运行。 * 易于安装:采用标准尺寸设计,适用于多种环境,无需额外驱动安装。 * 紧凑尺寸:扩展板尺寸合理,不会占用过多空间,方便集成到各种项目中。 ## 产品规格:[​](#产品规格 "产品规格:的直接链接") * 可用接口 :USB X2,UART转RS232 X2 ,电源接口 X2 * 电源接口:12V/24扩展 * 兼容性:带USB接口的上位机 ## 注意事项:[​](#注意事项 "注意事项:的直接链接") * 安装前断开电源并关闭所有设备。 * 将多功能USB扩展板插入主板USB口或其他USB扩展接口中。 * 连接所需的USB设备和/或电源到扩展板。 * 如需使用UART转RS232功能,连接相应的串行设备。 * 重新连接电源,并启动设备。 * 系统应自动检测到扩展板并进行配置。如有必要,请参考操作后面配置注意事项 * `独立运行`: 本USB扩展器设计为完全独立的外设。其供电与操作逻辑不参与3D打印机主控制板的启动、关闭或固件加载过程。 # 模型下载 * 点击下方下载链接 * Loading... --- # 参考接线 Loading... ## 搜索工具板的RS232 ID[​](#搜索工具板的rs232-id "搜索工具板的RS232 ID的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要准备 1. **固件要求**:
工具板**必须刷入RS232固件**,否则无法通信 2. **强制共地**:
⚠️ 连接工具板前,必须确保将工具板与主板的GND相连(共用同一个`24V/12V`电源即可实现) ## RS232注意事项[​](#rs232注意事项 "RS232注意事项的直接链接") * 除了D8、D8PRO与C8P支持RS232接口外,其他主板均不支持RS232接口 * 不支持的主板需要使用`G2T`或者`UTOR`进行链接 ## 搜索RS232 ID[​](#搜索rs232-id "搜索RS232 ID的直接链接") 1. 打开浏览器,在网址栏中输入上位机的IP地址,比如我上位机IP是`192.168.101.179`直接输入然后回车即可 Loading... 2. 打开上位机的WEB界面,在左侧边栏的配置选项里找到: | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 3.点击`printer.cfg` 进去后,在点击右上方的`DEVICES` | | | | ---------- | ---------- | | Loading... | Loading... | 4.点击`SERIAL` ,然后刷新 | | | | ------------------------ | -------------------------- | | - fluidd的刷新Loading... | - mainsail的刷新Loading... | 5.复制ID,点击箭头所指即可复制 | | | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | - fluidd需要确认是否存在`ch341-uart`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | - mainsail需要确认是否存在`CH341-UART`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | 注意事项 * 使用`UTOR`连接工具板时,通常会出现两个`RS232_ID`,请逐一尝试。 ## 填写工具板RS232 ID[​](#填写工具板rs232-id "填写工具板RS232 ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> baud: 250000 restart_method: command ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 主板一定是`[mcu]`,工具板才是`[mcu toolboard]` - 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不相同,请填写实际获取到的ID. *** --- # FLY-C5 主板简介 Loading... 重要:关于存储 FLY-C5**出厂时不附带任何存储设备**(即不包含**M2WE**模块或**Micro SD**卡)。您必须至少配置以下一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买 FLY 定制**M2WE**模块,以获得更快的系统响应速度和更高的可靠性。 * **选项二**:自行准备 `Micro SD` (TF) 卡,容量需在`16GB-128GB`之间。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * 32位 ARM Cortex-M4,550MHz,STM32H723VGT6 芯片 * 支持 TMC 驱动的 SPI、UART、STEP/DIR 工作模式 * DIAG 功能引脚不占用限位,配置后可实现无限位归位 * 数控风扇支持 24V、12V、5V,无需额外降压模块 * 支持断电自动关机与断电续打(默认开启断电自动关机) * 出厂预装 USB Klipper 固件 * 多路电源管理,端口、限位、驱动等短路不影响上位机运行 * 预留 5V RGB 接口 * TFT 与 HDMI 屏幕支持一线通 * 系统预装 Klipper、Moonraker、mainsail、fluidd、klipper-screen、Crowsnest、共振补偿插件 numpy,无需换源,易于上手(需购买 TF 卡或 M2WE) ## 产品参数[​](#产品参数 "产品参数的直接链接") ### 上位机[​](#上位机 "上位机的直接链接") * **CPU**:全志 H618,4核 64位 Cortex-A53 * **GPU**:Arm Mali-G31 * **RAM**:1GB DDR4 * **ROM**:最大支持 128GB SDCARD * **外设**: * TFT x1 * USB 2.0 x2 * Micro HDMI x1 * 以太网口(Eth)x1(100M) * FPC-HDMI x1 * UART x1 * **接口**:板载 M.2,可扩展 WIFI、eMMC 等(私有协议,勿连接非 FLY 专用 M.2 设备) * **支持**:TFT 屏幕与 HDMI 屏幕 FPC 一线通 * **系统预装**:Klipper 、Moonraker、mainsail、fluidd、klipper-screen、Crowsnest、共振补偿插件 numpy,无需换源,易上手(需购买 TF 卡或 M2WE) ### 下位机[​](#下位机 "下位机的直接链接") * **MCU**:STM32H723VGT6 * **固件**:KLIPPER /RRF/Marlin * **供电**:支持 12-24V 直流供电,省去降压模块 * **热床端口最大输出电流**:15A * **加热棒端口最大输出电流**:6A * **风扇端口最大输出电流**:1A * **驱动工作模式**:SPI 、UART、STEP/DIR * **支持驱动**:TMC5160Pro 、TMC5160、TMC2209、TMC2225、TMC2226、TMC2208、TMC2130、A4988 等 * **拓展接口**:BLTouch (Servos、Probe)、RGB x1、UART x1、CAN x1 * **风扇**:两线数控风扇 x4(支持 24V、12V、5V 可选) * **温度传感器**:3 路 NTC 100K * **支持结构**:Cartesian 、Delta、Kossel、Ultimaker、CoreXY 等 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` # This file contains common pin mappings for the Mellow Fly-C5. # To use this config, the firmware should be compiled for the # STM32H723 with a "128KiB bootloader" "25 MHz crystal" # and "USB (on PA11/PA12)" or "CAN bus (on PB8/PB9)". # See docs/Config_Reference.md for a description of parameters. [stepper_x] step_pin: PD1 dir_pin: !PD0 enable_pin: !PD3 microsteps: 16 rotation_distance: 40 endstop_pin: ^PE10 position_endstop: 0 position_max: 200 homing_speed: 50 [stepper_y] step_pin: PD6 dir_pin: !PD5 enable_pin: !PD7 microsteps: 16 rotation_distance: 40 endstop_pin: ^PE12 position_endstop: 0 position_max: 200 homing_speed: 50 [stepper_z] step_pin: PE1 dir_pin: PE0 enable_pin: !PE2 microsteps: 16 rotation_distance: 8 endstop_pin: ^PE14 position_endstop: 0.0 position_max: 200 [extruder] step_pin: PE5 dir_pin: !PE4 enable_pin: !PE6 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PA6 sensor_type: Generic 3950 sensor_pin: PA4 control:watermark min_temp: -235 max_temp: 350 #[filament_switch_sensor material_0] #switch_pin: PB10 #[extruder1] #step_pin: PC15 #dir_pin: PC14 #enable_pin: !PC0 #heater_pin: PA7 #sensor_pin: PA2 #... [heater_bed] heater_pin: PA0 sensor_type: Generic 3950 sensor_pin: PA3 min_temp: -235 max_temp: 120 control:watermark [fan] pin: PD15 #[heater_fan fan1] #pin: PD14 #[heater_fan fan2] #pin: PD13 #[heater_fan fan3] #pin: PD12 [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00 [printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_z_velocity: 5 max_z_accel: 100 ######################################## # TMC2209 configuration ######################################## #[tmc2209 stepper_x] #uart_pin: PA15 #run_current: 0.800 #diag_pin: PC7 #[tmc2209 stepper_y] #uart_pin: PD4 #run_current: 0.800 #diag_pin: PA8 #[tmc2209 stepper_z] #uart_pin: PB7 #run_current: 0.800 #diag_pin: PB6 #[tmc2209 extruder] #uart_pin: PE3 #run_current: 0.600 #diag_pin: PC1 #[tmc2209 extruder1] #uart_pin: PC13 #run_current: 0.600 #diag_pin: PC2 ######################################## # TMC5160 configuration ######################################## #[tmc5160 stepper_x] #cs_pin: PA15 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PC7 #[tmc5160 stepper_y] #cs_pin: PD4 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PA8 #[tmc5160 stepper_z] #cs_pin: PB7 #spi_bus: spi1a #run_current: 0.650 #diag1_pin: PB6 #[tmc5160 extruder] #cs_pin: PE3 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PC1 #[tmc5160 extruder1] #cs_pin: PC13 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PC2 #[bltouch] #sensor_pin: ^PC5 #control_pin: PB0 # Proximity switch #[probe] #pin: PC15 #[neopixel my_neopixel1] #pin: PE15 #[neopixel my_neopixel2] #pin: PB0 [include fluidd.cfg] ``` --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H618 配置项[​](#h618-配置项 "H618 配置项的直接链接") 以下默认值和可选值已按 H618 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对;v1.4.0 测试镜像新增的配置会单独标注。 #### 无线网络[​](#无线网络 "无线网络的直接链接") `WIFI_SSID` 和 `WIFI_PASS` 在每次启动时读取。使用开放网络时密码可以留空;使用加密网络时,两项都要填写。 | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时自动连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。系统已完成首次启动后,再修改这些项目不会重新执行初始化。 | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | -------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------- | | `language` | `zh-CN` | `zh-CN`、`en`、`ja`、`ko` 等镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 任意不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | `/usr/lib/firmware/klipper/stm32h723-128k-usb.bin` | 镜像内固件路径,或 `/config/klipper.bin` | C5、C5 V1.1、C8P 首次启动时可按 `board` 自动烧录板载 MCU;Pi V3 不会用该项烧录外接主板 | 自动烧录条件 自动烧录只在首次启动标记存在、`board` 和 `firmware` 均有效且固件文件存在时执行。不要为了重复烧录而手动创建首次启动标记;后续固件维护请使用对应主板的固件烧录教程。 #### 系统与主板[​](#系统与主板 "系统与主板的直接链接") 以下设置会在每次启动时读取。 | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------- | | `board` | `none` | `fly-c5`、`fly-c5-v1.1`、`fly-c8p`、`fly-pi-v3` | 选择实际设备型号;该值会影响 H618 的串口和 SPI 外设配置 | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `printer` | `klipper` | `klipper`、`rrf` | 选择要启动的打印控制环境 | | `console` | `serial` | `serial`、`both` | 设置系统控制台;无明确需求时保持默认 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 设置系统 CAN 接口速率,必须与总线上的所有 CAN 设备一致 | 正确选择 `board` 镜像原始配置为 `board=none`,设备会优先尝试读取硬件识别结果;仍无法识别时,H618 v1.3.10 会回退为 `fly-c5`。因此 C8P、C5 V1.1 和 Pi V3 用户应在首次启动前明确选择自己的设备型号,不要依赖回退值。 不同 `board` 值启用的 H618 外设如下。此表只用于说明选择错误的影响,不代表这些串口或 SPI 接口可以随意改作其他用途。 | `board` 配置值 | 系统启用的板载外设 | | -------------- | --------------------------- | | `fly-c5` | UART1 | | `fly-c5-v1.1` | UART1、SPI1.2 | | `fly-c8p` | UART1、UART3、UART4、SPI1.2 | | `fly-pi-v3` | UART1、UART3、UART4、SPI1.2 | #### 屏幕与界面[​](#屏幕与界面 "屏幕与界面的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ---------------------------------------------- | ----------------------------------------------------------------------------------------- | | `screen` | `hdmi` | `none`、`hdmi`、`fly-tft-v2-r`、`fly-tft-v2-c` | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认为 `0` 度,FLY-TFT 默认为 `90` 度;HDMI 显示和触摸方向也会应用手动角度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 实际串口设备路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口通信速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。使用 FLY Screen 时,应设置 `klipper_screen=0`、`fly_screen=1`。 OTA 升级保留旧配置 从旧版本 OTA 升级后,`config.txt` 可能缺少 `fly_screen`、`m2u_port` 或 `m2u_baud`。需要相应功能时,可参照上表补充配置项。 #### Klipper 网页与摄像头[​](#klipper-网页与摄像头 "Klipper 网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | ---------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭摄像头服务 | v1.4.0 测试版配置 | 配置项 | 默认值 | 可选值 | 说明 | | ------- | ------ | -------- | ------------------------- | | `gocam` | `0` | `0`、`1` | 启用 GoCam UVC 摄像头服务 | v1.3.10 正式版没有 `gocam`。v1.4.0 测试版中如果 `crowsnest=1` 与 `gocam=1` 同时设置,系统会优先启动 Crowsnest。使用 GoCam 时应明确设置 `crowsnest=0`、`gocam=1`。 > **GoCam 使用方法**:[查看 GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam) #### 断电关机[​](#断电关机 "断电关机的直接链接") H618 v1.3.10 的原始配置中,`shutdown_pin_state` 与 `shutdown_pin` 默认被注释,即不启用断电关机检测。不同产品和硬件版本的触发电平可能不同,请按对应产品的“断电关机与断电续打”文档填写,不要直接复制其他设备的值。 功能互斥 断电关机与断电续打不能同时启用。需要断电续打时,请保持断电关机检测关闭。 #### 高级配置[​](#高级配置 "高级配置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------- | ----------- | ------------------------------- | ------------------------------------ | | `spidev` | `spidev0.0` | 产品文档明确给出的 SPI 设备组合 | 控制提供给 Linux 用户空间的 SPI 设备 | `spidev`、`overlays` 等项目用于底层硬件启用。没有产品教程明确要求时,请保持镜像默认值,并且不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 之后的内容。 --- # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 使用 CAN 工具板:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ----------------------- | ---------------------------------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时使用 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/firmware/compile?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在使用 CAN 工具板时选择;需要确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/firmware/compile?tab-0=can) | # 拨码介绍 * FLY C5 通过拨码选择下位机与上位机的连接方式,如果拨码的位置不对会导致上位机无法连接下位机,请务必注意!!! ## 板载拨码说明[​](#板载拨码说明 "板载拨码说明的直接链接") 须知 * 正常使用时,请将`拨码向上拨` * 拨码时,请向`上拨到底`,否则可能无法连接下位机!!! Loading... --- # FLY-C5 Bootloader 恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * C5只能使用自带的上位机烧录 ## SSH连接到上位机[​](#ssh连接到上位机 "SSH连接到上位机的直接链接") 警告 * BL固件烧录前需要使用`wifi连接到上位机SSH` - 首先请:[使用wifi连接到上位机ssh](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/ssh#使用wifi连接到上位机ssh) ***
## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * 拨码开关朝上拨,将下位机USB连接上位机 Loading... * 输入下方指令开始烧录BL ``` fly-flash -d auto -u -f /usr/lib/firmware/bootloader/hid_bootloader_h723_v1.0.bin ``` Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 检查拨码[​](#检查拨码 "检查拨码的直接链接") 须知 * 正常使用时,请将`拨码向上拨` * 拨码时,请向`上拨到底`,否则可能无法连接下位机!!! Loading... ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 主板ID读取查看 重要提示 * 本教程仅适用于 FLY-C5 主板的 ID 读取与查看。 * 若您使用的是工具板,请参考对应工具板产品文档的 ID 搜索教程。 * 请根据下位机实际刷写的固件类型,点击下方对应选项。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的操作与使用,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * USB ID获取 * CANBus UUID获取 ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要前提 在开始搜索工具板 ID 前,请务必确认满足以下所有条件: * **固件准备**: 工具板已刷入 `USB` 固件,或正处于 `USB` 烧录模式。 * **目标明确**: 本教程仅用于搜索**工具板**的 ID,**不适用于主板 ID**。 * **硬件连接**: **工具板**已通过USB正确连接到上位机的`USB-A`接口。 * **登录方式**: 请通过网络 **SSH** 登录到上位机进行操作,**请勿使用串口登录**。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") ``` ls /dev/serial/by-id/* ``` * **正常情况**: 终端会显示类似下方的ID(下图仅为示例) Loading... - 如果输入下方命令后没有ID出来,但是`lsusb`有设备请更换上位机或者更换上位机系统 注意事项 如果出现多个ID,请根据你的主板**MCU**型号选择相对应的ID. ### 将USB的ID,填写到配置里面[​](#将usb的id填写到配置里面 "将USB的ID,填写到配置里面的直接链接") | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## 填写工具板USB ID[​](#填写工具板usb-id "填写工具板USB ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 并且主板一定是`[mcu]`,工具板才是`[mcu toolboard]` | | | | ------------------------ | -------------------------- | | - fluidd的参考Loading... | - mainsail的参考Loading... | * 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper - CAN参考接线 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | --------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/kppm) | | **U盘打印说明** | U盘打印说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **摄像头说明** | 摄像头说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` | | | | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | | - 如果您是`C5`版本请使用下方代码``` shutdown_pin_state=0 shutdown_pin=PI4 ``` | - 如果您是`C5 V1.1`版本请使用下方代码``` shutdown_pin_state=1 shutdown_pin=PI4 ``` | * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 - C5 参考 - C5-V1.1 参考 * 如果您是`C5`版本请使用下方代码 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: !host:gpiochip0/gpio260 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 如果您是`C5-V1.1`版本请使用下方代码 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip0/gpio260 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 引脚分布 说明 * 本页列出 FLY-C5 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-C5 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | --- | ------- | ---- | | DRIVER0 | PD1 | PD0 | PD3 | PA15 | PC7 | | DRIVER1 | PD6 | PD5 | PD7 | PD4 | PA8 | | DRIVER2 | PE1 | PE0 | PE2 | PB7 | PB6 | | DRIVER3 | PE5 | PE4 | PE6 | PE3 | PC1 | | DRIVER4 | PC15 | PC14 | PC0 | PC13 | PC2 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 DRIVER0–4 的 DIAG 信号已独立接入主控,使用无限位归位时直接按下方 `DIAG` 行配置对应驱动的 `diag_pin`。这些 DIAG 引脚不占用上方普通限位口,普通限位口仍可按实际接线作为机械限位或输入使用。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PE9 | - | | 限位口1 / IO1 | PE10 | - | | 限位口2 / IO2 | PE11 | - | | 限位口3 / IO3 | PE12 | - | | 限位口4 / IO4 | PE13 | - | | 限位口5 / IO5 | PE14 | - | | DIAG | PC7 | DRIVER0 | | DIAG | PA8 | DRIVER1 | | DIAG | PB6 | DRIVER2 | | DIAG | PC1 | DRIVER3 | | DIAG | PC2 | DRIVER4 | | 探针(Probe) | PC5 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PA0 | | 加热口0 | PA6 | | 加热口1 | PC6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PA3 | | 热敏口0 | PA4 | | 热敏口1 | PA1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PD15 | | 风扇口1 | PD14 | | 风扇口2 | PD13 | | 风扇口3 | PD12 | ## PWM[​](#pwm "PWM的直接链接") FLY-C5 提供 3 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PB0 | 舵机 / BLTouch 控制 | | PB10 | RGB / Neopixel | | PE15 | RGB / Neopixel | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PB0 | | 探针信号 | PC5 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | --------------- | ---- | | RGB0 / Neopixel | PB10 | | RGB1 / Neopixel | PE15 | ## 屏幕 / EXP 说明[​](#屏幕--exp-说明 "屏幕 / EXP 说明的直接链接") 接口说明 FLY-C5 未提供标准 `EXP1` / `EXP2` 12864 排针。屏幕请使用本板的 `TFT`、`FPC HDMI`、`HDMI` 或 `UART` 屏幕接口,不要套用其他主板的 `EXP1` / `EXP2` 引脚表。 | 接口 | 引脚 / 说明 | | ------------- | --------------------- | | UART 屏幕接口 | PA10 / PA9 / GND / 5V | | TFT 屏幕接口 | FPC 一线通接口 | | HDMI 屏幕接口 | HDMI / FPC HDMI | > **屏幕接线与配置**:[查看 FLY-C5 屏幕文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c5/screen) --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-C5 资料[​](#fly-c5-资料 "Fly-C5 资料的直接链接") * 点击下方网盘链接 * Loading... --- # 屏幕接线与配置 ## C5 屏幕接线[​](#c5-屏幕接线 "C5 屏幕接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向;连接串口屏幕时,请确认 `5V`、`GND`、`TX`、`RX` 接线正确。 * TFT屏接线 * HDMI FPC一线通接线 * HDMI 普通接线 * 串口屏幕接线 * Nova 3.5 接线 ### TFT屏幕接线与配置[​](#tft屏幕接线与配置 "TFT屏幕接线与配置的直接链接") 提示 * FLY-C5 TFT 屏幕排线规格:`FPC 软排线-16P-反向-0.5mm-400mm` * FLY-C5 必须使用 `16P` 排线 * 电阻屏需要将拨码开关拨至`Resi` * 电容屏需要将拨码开关拨至`Cap` Loading... ### HDMI FPC一线通接线[​](#hdmi-fpc一线通接线 "HDMI FPC一线通接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 Loading... ### HDMI 普通接线[​](#hdmi-普通接线 "HDMI 普通接线的直接链接") Loading... ### 串口屏幕接线[​](#串口屏幕接线 "串口屏幕接线的直接链接") * 使用此功能需要刷串口固件 * [七寸屏幕串口固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/updata) * [五寸屏幕串口固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/updata) Loading... ### Nova 3.5 接线[​](#nova-35-接线 "Nova 3.5 接线的直接链接") `Nova 3.5` 通过 UART 与 C5 通信。接线时需要确认 `TX`、`RX` 交叉连接,并避免 `5V` 与 `GND` 接反。 Loading... ## 重要提示[​](#重要提示 "重要提示的直接链接") 配置注意事项 * 建议使用`mainsail`或`fluidd`网页界面进行配置修改 * 请不要开启网页翻译功能,否则可能导致系统无法正常启动 * 配置文件中请勿输入中文或特殊字符 * 配置文件修改后,需要重启系统才能生效 重要警告 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`以下的内容请勿修改 ## 配置文件修改方法[​](#配置文件修改方法 "配置文件修改方法的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在**首次启动**时生效的配置项,必须在烧录完成后使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`进行修改 ### 系统启动后在线配置修改[​](#系统启动后在线配置修改 "系统启动后在线配置修改的直接链接") * 普通配置项可在系统网页配置页面修改,重启后生效 1. 浏览器访问设备IP地址,例如:`http://192.168.1.2/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,该文件是可移动磁盘`FlyOS-Conf`中`config.txt`配置文件的软链接 Loading... 4. 修改配置项后保存文件 重要提示 修改配置后,请重启系统使配置生效 配置格式说明 * 配置文件格式必须为`key=value`,请勿修改为`key: value`或其他格式 * 等号前后不要添加空格 ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") * TFT电阻屏幕配置 * TFT电容屏幕配置 * HDMI屏幕配置 * 串口屏幕配置 - 需要将`screen=`后面修改成`fly-tft-v2-r` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v2-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-tft-v2-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 串口屏幕使用 `moon2uart` 通信,需要将 `moon2uart` 后面的 `0` 修改成 `1` * Nova 3.5 与 WiScreen 串口模式不使用 FLY Screen 本机屏幕服务,需要确认 `klipper_screen=0` 和 `fly_screen=0` 保持关闭 * 下方是修改好后的参考 ``` moon2uart=1 klipper_screen=0 fly_screen=0 ``` Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 连接上位机SSH 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到C5示意图 - TF卡安装到C5示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY上位机需要使用`M2WE`或者`2.4G WIFI`模块,否则无法使用WiFi * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") Loading... * 只通过TYPE-C供电并不接其他主板电源时至少亮两个灯`3.3V`与`5V` * 在接入主板电源后主板电源灯应该亮`3.3V`、`5V`、`VCC` ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V` - 如果接上主板电源与驱动电源后`5V`灯不亮,需要联系客服售后 ## 驱动[​](#驱动 "驱动的直接链接") * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 请注意接线顺序,三线限位需要注意5V、GND、S这三个如果接错很可能导致主板损坏 * 如果两线直接接S与GND即可 * PL08与其他接近开关需要在信号口外接二极管将电压降低到3.3V以下 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # 接线参考 ## PIN脚说明[​](#pin脚说明 "PIN脚说明的直接链接") Loading... ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!请严格按照接线图中所示的接线方式接线! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... ## 尺寸图[​](#尺寸图 "尺寸图的直接链接") Loading... --- # FLY C8 3D打印机控制主板 Loading... 存储设备须知 FLY-C8 **出厂不包含存储设备**。您需要自备以下任一存储介质以安装和运行系统: 1. **推荐选项**:购买专用的 **FLY M2WE模块**,获得更快的系统速度和更高的可靠性。 2. **备选方案**:使用容量在 **16GB 至 128GB** 之间的 Micro SD (TF) 卡。 ## 核心特点[​](#核心特点 "核心特点的直接链接") FLY-C8 是一款高度集成的上位机一体式控制板,专为高性能3D打印需求设计,兼具强大算力与驱动能力。 * **强大核心**:采用 **STM32F407VGT6** 作为下位机主控(ARM Cortex-M4,168MHz);上位机搭载**全志H5四核64位处理器**,集成1GB DDR3内存。 * **智能驱动**:全面支持 TMC 系列驱动器的 **SPI** 与 **UART** 模式,实现静音、平滑运动。 * **便捷易用**:板载 **DIAG** 功能引脚,通过跳线帽即可实现无限位归位;全新Flash刷写方式,指令直刷固件,升级更简单。 * **灵活供电与散热**:支持 **12-24V** 宽电压输入;数控风扇端口支持 **24V/12V/5V** 电压可选,省去额外降压模块。 * **丰富扩展**:预留 **RGB灯带**、**SPI加速度计**、**CAN桥接** 接口,并支持 **TFT屏幕与HDMI屏幕一线通**。 * **开箱即用**:系统镜像预装 Klipper、Moonraker、Mainsail 及常用插件(如Crowsnest、共振补偿),无需复杂配置,新手也能快速上手(需配合存储设备使用)。 ## 详细规格[​](#详细规格 "详细规格的直接链接") ### 上位机系统 (SoC)[​](#上位机系统-soc "上位机系统 (SoC)的直接链接") * **CPU**:全志H5,四核Cortex-A53 @ 1.2GHz * **GPU**:Mali-450 MP6 * **内存**:1GB DDR3 (与GPU共享) * **存储扩展**:支持 Micro SD 卡 (最高128GB);板载 **M.2 Key-E** 接口(私有协议),可扩展专用WiFi或eMMC模块。 * **外设接口**: * USB 2.0 × 3, USB OTG × 1 * 10/100M 以太网 × 1 * CAN总线 × 1 * Micro HDMI × 1 * 3.5mm 音频接口 × 1 * 可控5V风扇接口 (ZH1.5) × 1 ### 下位机控制 (MCU)[​](#下位机控制-mcu "下位机控制 (MCU)的直接链接") * **主控芯片**:STM32F407VGT6 * **兼容固件**:Klipper / RRF * **电源输入**:DC 12-24V * **高功率输出**: * 热床端口:最大 **15A** * 加热棒端口:最大 **6A** * 风扇端口:最大 **1A** * **电机驱动支持**:支持 **SPI**、**UART**、**STEP/DIR** 模式,兼容 TMC5160Pro、TMC2209、A4988 等主流驱动。 * **功能接口**: * 温度传感器 (NTC 100K) × 3 * 两线数控风扇接口 × 6 (电压可选) * BLTouch/伺服探头接口 * RGB灯带接口 × 2 * UART、12864液晶屏接口 * **支持结构**:Cartesian , Delta, CoreXY, Ultimaker 等主流架构。 ## 重要参数与提示[​](#重要参数与提示 "重要参数与提示的直接链接") ### 端口输出电流能力[​](#端口输出电流能力 "端口输出电流能力的直接链接") 供电电压直接影响端口的最大输出电流,请务必参照下表配置您的加热元件: | 输出端口 | 在 24V 电源下最大电流 | 在 12V 电源下最大电流 | | -------------- | --------------------- | --------------------- | | **热床端口** | 15 A | 7.5 A | | **加热棒端口** | 6 A | 3 A | | **风扇端口** | 1 A | 0.5 A | **提示**:为保证系统稳定,建议为高功率负载(如热床)单独配置受控电源或使用接近上限电流时酌情降额使用。 --- # 加速度计使用 ## 主板接线[​](#主板接线 "主板接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 FLY-C8 使用 ADXL345 加速度计时,请按照下图连接 SPI 接口,并确认 `5V`、`GND`、`spi0_MISO`、`spi0_CLK`、`spi0_MOSI` 和 `spi0_CS0` 的线序正确。 Loading... ## 配置[​](#配置 "配置的直接链接") 将以下内容加入 `printer.cfg`。 ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:None spi_bus: spidev1.0 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 150, 150, 20 # 请根据打印机实际范围调整 ``` ## 使用[​](#使用 "使用的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /(需要自行添加) # #################################################################################### ## Fly-C8资料网址:http://mellow.klipper.cn/#/board/fly_fly_C8/ ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id [mcu host] # FlyOS已默认为您生成linux MCU,定义即可使用 serial: /tmp/klipper_host_mcu ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-C8] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- [temperature_sensor BOX] # 箱内温度 (需要增加一颗温感,参考配置) sensor_type: ATC Semitec 104GT-2 # 传感器型号 sensor_pin: PC3 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # ADXL345 ##################################################################### [adxl345] cs_pin: host:None spi_bus: spidev1.0 #-------------------------------------------------------------------- [resonance_tester] accel_chip: adxl345 # 使用的加速度芯片名称 probe_points: 150, 150, 20 # 共振测试的坐标点 min_freq: 5 # 共振测试的最小频率 max_freq: 130 # 共振测试的最大频率 accel_per_hz: 75 # 每赫兹加速度(mm/sec),加速度=每赫兹加速度*频率,如果共振过于强烈,可以减少该值.默认75 hz_per_sec: 1 # 测试的速度,较小的值会加长测试时间,较大的值会降低测试精度,(Hz/sec == sec^-2),默认1 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # z1 z2 # B__________A # # # # # Z0 12864 Z3 ##################################################################### # X 轴步进电机 (DRIVER0) # ##################################################################### ## DRIVER0电机位置 [stepper_x] step_pin: PE5 # X轴电机脉冲引脚设置 dir_pin: PA8 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PA15 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PD9 # 限位开关PIN脚,建议常闭接常闭 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度-最大 100 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] uart_pin: PC9 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] #cs_pin: PC9 # SPI 片选Pin脚定义 #spi_bus: spi1a # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 (DRIVER1) # ##################################################################### ## DRIVER1电机位置 [stepper_y] step_pin: PE4 dir_pin: PC11 enable_pin: !PC12 rotation_distance: 40 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PD8 # 限位开关PIN脚,建议常闭然后添加!反转状态 #endstop_pin: tmc5160_stepper_y:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 50 homing_retract_dist: 5 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2209 or 5160) [tmc2209 stepper_y] uart_pin: PC10 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] #cs_pin: PC10 #spi_bus: spi1a # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### ## DRIVER2电机位置 [stepper_z] step_pin: PE3 dir_pin: !PD1 enable_pin: !PD2 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 microsteps: 32 endstop_pin: PD11 # 限位开关接口 position_max: 290 # 软限位最大行程 (240mm-290mm-340mm) position_endstop: -0.5 position_min: -5 # 软限位最小行程(配置喷嘴清洁需要-5左右) homing_speed: 10 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 3 # 后撤距离 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PD0 interpolate: false run_current: 0.8 sense_resistor: 0.110 ##-------------------------------------------------------------------- ## DRIVER4电机位置 [stepper_z1] step_pin: PE2 dir_pin: PD4 enable_pin: !PD5 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z1] uart_pin: PD3 interpolate: false run_current: 1.0 sense_resistor: 0.110 #-------------------------------------------------------------------- ## DRIVER5电机位置 [stepper_z2] step_pin: PE1 dir_pin: !PD7 enable_pin: !PB6 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z2] uart_pin: PD6 interpolate: false run_current: 1.0 sense_resistor: 0.110 ##-------------------------------------------------------------------- ## DRIVER6电机位置 [stepper_z3] step_pin: PE0 dir_pin: PC13 enable_pin: !PC14 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z3] uart_pin: PB7 interpolate: False run_current: 1.0 sense_resistor: 0.110 ##################################################################### # 挤出机配置 ##################################################################### ## DRIVER7电机位置 [extruder] # 挤出机 step_pin:PE7 dir_pin:PE11 enable_pin: !PE10 microsteps: 16 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) rotation_distance: 22.52245 # 主动带轮周长mm # 校准步进值: rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.750 # 耗材直径 heater_pin: PD14 # 挤出头加热棒控制Pin脚设置(e0) sensor_type: Generic 3950 # 传感器型号 sensor_pin: PC2 # 挤出头传感器Pin脚(T_E0) max_power: 1.0 # 加热棒PWM最大输出功率 min_temp: -235 # 挤出机最小温度 max_temp: 350 # 挤出机最大温度 min_extrude_temp: 150 # 加热棒最低挤出温度(达到此温度挤出机才能有挤出动作) pressure_advance: 0.04 # 挤出机压力提前参数 pressure_advance_smooth_time:0.040 # 平稳推进时间-默认值为0.040 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 max_extrude_only_distance: 800 max_extrude_cross_section:800 control:watermark [tmc2209 extruder] uart_pin:PC15 interpolate: False run_current: 0.6 sense_resistor: 0.110 ##################################################################### # 热床配置 ##################################################################### [heater_bed] heater_pin: PB0 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC5 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 热床最小温度 max_temp: 120 # 热床最大温度 # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin:PA0 kick_start_time: 1.0 # 启动时间(勿动) off_below: 0.10 # 勿动 hardware_pwm: true max_power: 1.0 #-------------------------------------------------------------------- [heater_fan 喉管散热] # 喉管冷却风扇 pin:PA1 max_power: 1.0 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 #-------------------------------------------------------------------- [heater_fan 热床风扇] # 电器仓风扇 pin: PA2 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 5.0 heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 #--------------------------------------------------------------- [fan_generic 热床风扇1] pin:PC6 max_power: 1.0 # #-------------------------------------------------------------------- [fan_generic 侧边风扇_fan] pin:PC7 max_power: 1.0 # #-------------------------------------------------------------------- [fan_generic 侧边风扇_fan1] pin:PC8 max_power: 1.0 #-------------------------------------------------------------------- [temperature_fan core_fan] # 上位机散热风扇 pin: host:gpiochip1/gpio106 # 上位机风扇pin脚 max_power: 1.0 sensor_type: temperature_host # 设置为上位机主控温度 control:watermark # 控制方式 target_temp: 48 # 上位机散热风扇启动温度 min_temp: 0 # 最低温度,低于此温度将会报错 max_temp: 90 # 最高温度,高于此温度将会报错 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 # 最大转速,为满功率运转时的80% min_speed: 0.3 # 最小转速,为满功率运转时的30% ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PD10 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.007 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^PC0 # 信号接口 #control_pin: PE6 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- gantry_corners: # 300mm机器调平点位 -60,-10 360,370 points: 50,25 50,225 250,225 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # LED灯配置(需要时启用) ##################################################################### [neopixel sb_leds] pin: PD15 # 信号接口 chain_count: 3 # 灯珠数量 color_order: GRBW # 灯珠类型 initial_RED: 0.4 # 天 initial_GREEN: 0.8 # 依 initial_BLUE: 1 # 蓝 initial_WHITE: 0.0 #-------------------------------------------------------------------- [board_pins] aliases: EXP1_1=PB10, EXP1_3=PA14, EXP1_5=PE15, EXP1_7=PE13, EXP1_9=, EXP1_2=PB1, EXP1_4=PA13, EXP1_6=PE14, EXP1_8=PB11, EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_3=PA9, EXP2_5=PA10, EXP2_7=PE12, EXP2_9=, EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- [display] lcd_type: uc1701 # 显示屏驱动类型 cs_pin: EXP1_3 # 显示屏片选cs引脚设置 a0_pin: EXP1_4 # 显示屏数据a0引脚设置 rst_pin: EXP1_5 # 显示屏复位rst脚设置 contrast: 63 # 对比度 encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 # -------------------------------------------------------------------- ####适用于FLY Mini12864 [neopixel fly_mini12864] pin: EXP1_6 # 显示屏背光灯控制引脚设置 chain_count: 3 initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) color_order: RGB # 颜色顺序 ##################################################################### # 自定义gcode宏 ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 clean_nozzle # 擦嘴 QUAD_GANTRY_LEVEL # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 clean_nozzle BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_huaxian] gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z1.00 X20.0 Y20.0 F6000 # 移动喷嘴以移除料线 TURN_OFF_HEATERS # 关闭热端 M107 # 关闭风扇 G1 Z2 F3000 # 将喷嘴向上移动2毫米 G90 # 设置绝对坐标体系 G0 X150 Y280 F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # 主控散热风扇 ## 接线[​](#接线 "接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔风扇线束或触碰端子。 FLY-C8 板载 `ZH1.5-2P` 可控 `5V` 风扇接口,可用于主控散热。请按照下图连接风扇,确认 `GND` 和 `5V` 线序正确。 Loading... 5V 风扇接口 * 该接口仅适用于额定电压为 `5V` 的风扇,请勿接入 `12V` 或 `24V` 风扇。 * 风扇额定电流不得超过主板接口规格;不确定时请联系售后确认。 ## 配置[​](#配置 "配置的直接链接") 将以下配置加入 `printer.cfg`。该配置根据上位机温度自动控制主控散热风扇;`target_temp`、`min_temp` 和 `max_temp` 请根据实际散热需求调整。 ``` [mcu host] serial: /tmp/klipper_host_mcu [temperature_fan core_fan] pin: host:gpiochip1/gpio106 max_power: 1.0 sensor_type: temperature_host control: watermark target_temp: 48 min_temp: 0 max_temp: 90 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 min_speed: 0.3 ``` --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/firmware/compile?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/firmware/compile?tab-0=can) | # 拨码介绍 提示 FLY c8 通过拨码连接上位机,如果拨码位置不对则无法正常使用 须知 请注意拨码开关需要拨打指定位置才可以正常连接上位机 ## 连接板载上位机[​](#连接板载上位机 "连接板载上位机的直接链接") * 拨码开关`1`,`2`往右边拨,将下位机与上位机通过内置USB连接 * 拨码开关`3`,`4`往左边拨,否则会影响下位机与上位机连接 Loading... * 按照此方法拨动拨码开关后,下方usb口将被下位机占用,请不要接入其他设备 Loading... ## 连接外置上位机[​](#连接外置上位机 "连接外置上位机的直接链接") * 拨码开关`3`,`4`往右边拨,将下位机与上位机通过内置USB连接 * 拨码开关`1`,`2`往左边拨,否则会影响下位机与上位机连接 Loading... --- # FLY-C8 Bootloader 恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * C8只能使用自带的上位机烧录 ## SSH连接到上位机[​](#ssh连接到上位机 "SSH连接到上位机的直接链接") 警告 * BL固件烧录前需要使用`wifi连接到上位机SSH` - 首先请:[使用wifi连接到上位机ssh](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/ssh#使用wifi连接到上位机ssh) *** ## 按下烧录键[​](#按下烧录键 "按下烧录键的直接链接") Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * 输入下方指令开始烧录BL * 执行下方代码需要按住烧录键 ``` fly-flash -d auto -u -f /usr/lib/firmware/bootloader/hid_bootloader_f407_v1.0.bin ``` Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 主板ID读取查看 重要提示 * 本教程仅适用于 FLY-C8 主板的 ID 读取与查看。 * 若您使用的是工具板,请参考对应工具板产品文档的 ID 搜索教程。 * 请根据下位机实际刷写的固件类型,点击下方对应选项。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * USB ID获取 * CANBus UUID获取 ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要前提 在开始搜索工具板 ID 前,请务必确认满足以下所有条件: * **固件准备**: 工具板已刷入 `USB` 固件,或正处于 `USB` 烧录模式。 * **目标明确**: 本教程仅用于搜索**工具板**的 ID,**不适用于主板 ID**。 * **硬件连接**: **工具板**已通过USB正确连接到上位机的`USB-A`接口。 * **登录方式**: 请通过网络 **SSH** 登录到上位机进行操作,**请勿使用串口登录**。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") ``` ls /dev/serial/by-id/* ``` * **正常情况**: 终端会显示类似下方的ID(下图仅为示例) Loading... - 如果输入下方命令后没有ID出来,但是`lsusb`有设备请更换上位机或者更换上位机系统 注意事项 如果出现多个ID,请根据你的主板**MCU**型号选择相对应的ID. ### 将USB的ID,填写到配置里面[​](#将usb的id填写到配置里面 "将USB的ID,填写到配置里面的直接链接") | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## 填写工具板USB ID[​](#填写工具板usb-id "填写工具板USB ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 并且主板一定是`[mcu]`,工具板才是`[mcu toolboard]` | | | | ------------------------ | -------------------------- | | - fluidd的参考Loading... | - mainsail的参考Loading... | * 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper - CAN参考接线 - **终端电阻配置检查:** | 设备 | 配置方式 | 目标状态 | | ---------- | ---------------------------------- | --------------------- | | **主板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | | **工具板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | **目的:** 此电阻是保证 CAN 总线信号稳定、避免通信错误的关键。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------ | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/kppm) | | **加速度计使用** | ADXL345 接线与 Klipper 配置。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/adxl) | | **主控散热风扇** | 板载 5V 风扇接线与温控配置。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8/corefan) | | **U盘打印说明** | U盘打印说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **摄像头说明** | 摄像头说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 接线[​](#接线 "接线的直接链接") 重要注意事项 * FLY C8 断电关机/续打功能注意事项 * 通过USB连接其他主板时,必须断开或隔离5V供电线(如剪断线缆或使用仅含数据针的USB连接线) * 必须将KPPM模块接上,否则无法正常使用 * 若无法断开下位机与上位机间的5V连接,必须在主板完全断电后方可重新开机,否则可能导致无法正常启动 - FLY-C8 接线 - FLY-C8 V1.2 接线 * FLY-C8使用USB接线 Loading... - FLY-C8 V1.2 Loading... ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` ``` shutdown_pin_state=1 shutdown_pin=PA21 ``` * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip1/gpio21 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 引脚分布 说明 * 本页列出 FLY-C8 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-C8 提供 8 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE5 | PA8 | PA15 | PC9 | PD9 | | DRIVER1 | PE4 | PC11 | PC12 | PC10 | PD8 | | DRIVER2 | PE3 | PD1 | PD2 | PD0 | PD11 | | DRIVER3 | PE2 | PD4 | PD5 | PD3 | PD10 | | DRIVER4 | PE1 | PD7 | PB6 | PD6 | PA5 | | DRIVER5 | PE0 | PC13 | PC14 | PB7 | PA4 | | DRIVER6 | PE7 | PE11 | PE10 | PC15 | PD15 | | DRIVER7 | PE8 | PA7 | PA6 | PE9 | PA3 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。`RGB / PWM` 行不是 DIAG 输入,不能用于无限位归位。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PD9 | DRIVER0 | | 限位口1 / IO1 | PD8 | DRIVER1 | | 限位口2 / IO2 | PD11 | DRIVER2 | | 限位口3 / IO3 | PD10 | DRIVER3 | | 限位口4 / IO4 | PA5 | DRIVER4 | | 限位口5 / IO5 | PA4 | DRIVER5 | | RGB / PWM | PD15 | - | | RGB / PWM | PA3 | - | | 探针(Probe) | PC0 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PB0 | | 加热口0 | PD12 | | 加热口1 | PD13 | | 加热口2 | PD14 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PC5 | | 热敏口0 | PC2 | | 热敏口1 | PC3 | | 热敏口2 | PC4 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PC6 | | 风扇口4 | PC7 | | 风扇口5 | PC8 | ## PWM[​](#pwm "PWM的直接链接") FLY-C8 提供 3 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PD15 | RGB / Neopixel | | PA3 | RGB / Neopixel | | PE6 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC0 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | --------------- | ---- | | RGB0 / Neopixel | PD15 | | RGB1 / Neopixel | PA3 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PB10 | | EXP1\_2 | PB1 | | EXP1\_3 | PA14 | | EXP1\_4 | PA13 | | EXP1\_5 | PE15 | | EXP1\_6 | PE14 | | EXP1\_7 | PE13 | | EXP1\_8 | PB11 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PA9 | | EXP2\_4 | PB12 | | EXP2\_5 | PA10 | | EXP2\_6 | PB15 | | EXP2\_7 | PE12 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 板载40PIN脚图 Loading... --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-C8资料[​](#fly-c8资料 "Fly-C8资料的直接链接") * 点击下方网盘链接 * Loading... --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 重要安全提示 * 使用FPC排线连接TFT或HDMI屏幕时,请务必在**完全断电**状态下操作,防止屏幕损坏 * TFT屏幕接线时请仔细确认FPC排线的**插入方向**,避免排线反接导致设备故障 - TFT电阻屏接线 - C8 V1-V1.2 使用G2T接线 - C8 V1.3版本 - HDMI接线 提示 * TFT 屏幕排线规格:`FPC 软排线-14P-反向-0.5mm-400mm` * 电阻屏请务必使用 `14P` 排线 重要提示 * 屏幕不支持热插拔,请在完全断电状态下进行接线操作 1. FLY-C8 TFT电阻屏接线 | | | | --------------------------- | -------------------------- | | - TFT-V1 接线参考Loading... | - TFT-V2 接线参考 正在更新 | 提示 * C8 V1-V1.2版本需搭配G2T转接板使用TFT V2电容屏 * TFT V2 G2T 排线规格:`FPC 软排线-16P-反向-0.5mm-400mm` * TFT V2 G2T 屏幕请务必使用 `16P` 排线 重要提示 * 屏幕不支持热插拔,请在完全断电状态下进行接线操作 1. G2T与TFT屏幕安装 | | | | ---------------------- | ---------------------- | | - 电阻屏安装Loading... | - 电容屏安装Loading... | 提示 * TFT V2 G2T 排线规格:`FPC 软排线-16P-反向-0.5mm-400mm` * TFT V2 G2T 屏幕请务必使用 `16P` 排线 重要提示 * 屏幕不支持热插拔,请在完全断电状态下进行接线操作 1. G2T与TFT屏幕安装 * TFT屏幕安装示意 Loading... HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI-LCD5`屏幕接线 重要提示 * 使用FPC排线时,屏幕不支持热插拔,请在完全断电状态下进行接线操作 | | | | -------------------- | -------------------- | | 接线方式一Loading... | 接线方式二Loading... | ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 打开`sys-config.conf`文件,根据您的屏幕类型选择对应配置方法: * TFT电阻屏幕配置方法 * TFT电容屏幕配置方法 * HDMI屏幕配置方法 * 串口屏幕配置方法 - 需要将`screen=`后面修改成`fly-tft-v2-r` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v2-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-tft-v2-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`moon2uart`后面的`0`修改成`1` * 需要确认`klipper_screen=0`和`fly_screen=0`保持关闭 * 下方是修改好后的参考 ``` moon2uart=1 klipper_screen=0 fly_screen=0 ``` Loading... 4. 修改保存后 重要提示 修改配置后,请重启系统使配置生效 --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 连接上位机SSH 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到C8示意图 - TF卡安装到C8示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY上位机需要使用`M2WE`或者`2.4G WIFI`模块,否则无法使用WiFi * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") Loading... * 只通过TYPE-C供电并不接其他主板电源时至少亮两个灯`3.3V`与`5V` * 在接入主板电源后主板电源灯应该亮`3.3V`、`5V`、`VCC` ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V` - 如果接上主板电源与驱动电源后`5V`灯不亮,需要联系客服售后 ## 驱动[​](#驱动 "驱动的直接链接") * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 请注意接线顺序,三线限位需要注意5V、GND、S这三个如果接错很可能导致主板损坏 * 如果两线直接接S与GND即可 * PL08与其他接近开关需要在信号口外接二极管将电压降低到3.3V以下 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # 接线参考 ## 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ## PIN脚说明[​](#pin脚说明 "PIN脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # FLY C8P Loading... 重要:关于存储 FLY-C8P**出厂时不附带任何存储设备**(即不包含**M2WE**模块或**Micro SD**卡)。您必须至少配置以下一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买 FLY 定制**M2WE**模块,以获得更快的系统响应速度和更高的可靠性。 * **选项二**:自行准备 `Micro SD` (TF) 卡,容量需在`16GB-128GB`之间。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * 采用 32 位主频 550MHz 的 Arm® Cortex®-M7 系列 STM32H723VGT6 主控芯片 * 支持 TMC 驱动的 SPI 和 UART 工作模式 * 板载 DIAG 功能引脚,只需通过简单的拔插跳线帽即可使用无限位归位 * 数控风扇 24V、12V、5V 电压可选,省去购买降压模块麻烦。 * 全新Flash刷写方式,可通过指令行直接更新固件 * 多路电源管理,如果端口、限位、驱动等短路不会影响上位机运行 * 预留RGB接口支持(12V,5V)电压可选 * TFT屏幕与HDMI屏幕支持一线通 * 系统预装Klipper、Moonraker、mainsail、fluidd、klipper-screen、Crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手 ## 产品参数[​](#产品参数 "产品参数的直接链接") ### 上位机[​](#上位机 "上位机的直接链接") * **CPU**:全志 H618,4核 64位 Cortex-A53 * **GPU**:Arm Mali-G31 * **RAM**:1GB DDR4 * **ROM**:最大支持 128GB SDCARD * **外设**: * TFT x1 * USB 2.0 x2 * Micro HDMI x1 * 以太网口(Eth)x1(100M) * FPC-HDMI x1 * UART x1 * RS232 X2 * **接口**:板载 M.2,可扩展 WIFI、eMMC 等(私有协议,勿连接非 FLY 专用 M.2 设备) * **支持**:TFT 屏幕与 HDMI 屏幕 FPC 一线通 * **系统预装**:Klipper 、Moonraker、mainsail、fluidd、klipper-screen、Crowsnest、共振补偿插件 numpy,无需换源,易上手(需购买 TF 卡或 M2WE) ### 下位机[​](#下位机 "下位机的直接链接") * MCU: STM32H723VGT6 * 固件: KLIPPER/RRF * 支持12-24V直流供电,供电更稳定,省去降压模块 * 热床端口最大输出电流: 15A * 加热棒端口最大输出电流: 6A * 风扇端口最大输出电流: 1A * 驱动工作模式支持 :SPI 、UART、STEP/DIR * 支持驱动:支持外置TMC5160Pro、TMC5160、TMC2209、TMC2225、TMC2226、TMC2208、TMC2130、A4988等 * 拓展接口 :BLTouch (Servos、Probe)、RGB X2、UART X1、12864 X1、 CAN X1 * 风扇: 两线数控风扇 X6 (支持24V、12V、5V)可选 * 温度传感器:4路 NTC 100K * 支持机器结构 :Cartesian 、Delta、Kossel、Ultimaker、CoreXY等 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` # [include fluidd.cfg] # This file contains common pin mappings for the Mellow Fly-C8P. # To use this config, the firmware should be compiled for the # STM32H723 with a "128KiB bootloader" "25 MHz crystal" # and "USB (on PA11/PA12)" or "CAN bus (on PB8/PB9)". # See docs/Config_Reference.md for a description of parameters. [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00 [printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_z_velocity: 5 max_z_accel: 100 [stepper_x] step_pin: PE5 dir_pin: !PA8 enable_pin: !PA15 microsteps: 16 rotation_distance: 40 endstop_pin: ^PD9 position_endstop: 0 position_max: 200 homing_speed: 50 [stepper_y] step_pin: PE4 dir_pin: !PC11 enable_pin: !PC12 microsteps: 16 rotation_distance: 40 endstop_pin: ^PD8 position_endstop: 0 position_max: 200 homing_speed: 50 [stepper_z] step_pin: PE3 dir_pin: PD1 enable_pin: !PD2 microsteps: 16 rotation_distance: 8 endstop_pin: ^PD11 position_endstop: 0.0 position_max: 200 [extruder] step_pin: PE2 dir_pin: !PD4 enable_pin: !PD5 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PD12 sensor_type: Generic 3950 sensor_pin: PC2 control:watermark min_temp: -235 max_temp: 350 #[filament_switch_sensor material_0] #switch_pin: PD10 #[extruder1] #step_pin: PE1 #dir_pin: PD7 #enable_pin: !PB6 #heater_pin: PD13 #sensor_pin: PC3 #... #[filament_switch_sensor material_1] #switch_pin: PA5 #[extruder2] #step_pin: PE0 #dir_pin: PC13 #enable_pin: !PC14 #heater_pin: PD14 #sensor_pin: PC4 #... #[filament_switch_sensor material_2] #switch_pin: PA4 #[extruder3] #step_pin: PE7 #dir_pin: PE11 #enable_pin: !PE10 #... #[extruder4] #step_pin: PE8 #dir_pin: PA7 #enable_pin: !PA6 #... [heater_bed] heater_pin: PB0 sensor_type: Generic 3950 sensor_pin: PC5 min_temp: -235 max_temp: 120 control:watermark [fan] pin: PA0 #[heater_fan fan1] #pin: PA1 #[heater_fan fan2] #pin: PA2 #[heater_fan fan3] #pin: PC6 #[heater_fan fan4] #pin: PC7 #[heater_fan fan5] #pin: PC8 ######################################## # TMC2209 configuration ######################################## #[tmc2209 stepper_x] #uart_pin: PC9 #run_current: 0.800 #diag_pin: PD9 #[tmc2209 stepper_y] #uart_pin: PC10 #run_current: 0.800 #diag_pin: PD8 #[tmc2209 stepper_z] #uart_pin: PD0 #run_current: 0.800 #diag_pin: PD11 #[tmc2209 extruder] #uart_pin: PD3 #run_current: 0.600 #diag_pin: PD10 #[tmc2209 extruder1] #uart_pin: PD6 #run_current: 0.600 #diag_pin: PA5 #[tmc2209 extruder2] #uart_pin: PB7 #run_current: 0.600 #diag_pin: PA4 #[tmc2209 extruder3] #uart_pin: PC15 #run_current: 0.600 #[tmc2209 extruder4] #uart_pin: PE9 #run_current: 0.600 ######################################## # TMC5160 configuration ######################################## #[tmc5160 stepper_x] #cs_pin: PC9 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PD9 #[tmc5160 stepper_y] #cs_pin: PC10 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PD8 #[tmc5160 stepper_z] #cs_pin: PD0 #spi_bus: spi1a #run_current: 0.650 #diag1_pin: PD11 #[tmc5160 extruder] #cs_pin: PD3 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PD10 #[tmc5160 extruder1] #cs_pin: PD6 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PA5 #[tmc5160 extruder2] #cs_pin: PB7 #spi_bus: spi1a #run_current: 0.800 #diag1_pin: PA4 #[tmc5160 extruder3] #cs_pin: PC15 #spi_bus: spi1a #run_current: 0.800 #[tmc5160 extruder4] #cs_pin: PE9 #spi_bus: spi1a #run_current: 0.800 # [board_pins] # aliases: # # EXP1扩展接口 / EXP1 header # EXP1_1=PB10, EXP1_3=PA14, EXP1_5=PE15, EXP1_7=PE13, EXP1_9=, # EXP1_2=PB1, EXP1_4=PA13, EXP1_6=PE14, EXP1_8=PB11, EXP1_10=<5V>, # # EXP2扩展接口 / EXP2 header # EXP2_1=PB14, EXP2_3=PA9, EXP2_5=PA10, EXP2_7=PE12, EXP2_9=, # EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, #[bltouch] #sensor_pin: PC0 #control_pin: PE6 # Proximity switch #[probe] #pin: PC0 #[neopixel my_neopixel1] #pin: PA3 #[neopixel my_neopixel2] #pin: PD15 ``` --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H618 配置项[​](#h618-配置项 "H618 配置项的直接链接") 以下默认值和可选值已按 H618 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对;v1.4.0 测试镜像新增的配置会单独标注。 #### 无线网络[​](#无线网络 "无线网络的直接链接") `WIFI_SSID` 和 `WIFI_PASS` 在每次启动时读取。使用开放网络时密码可以留空;使用加密网络时,两项都要填写。 | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时自动连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。系统已完成首次启动后,再修改这些项目不会重新执行初始化。 | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | -------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------- | | `language` | `zh-CN` | `zh-CN`、`en`、`ja`、`ko` 等镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 任意不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | `/usr/lib/firmware/klipper/stm32h723-128k-usb.bin` | 镜像内固件路径,或 `/config/klipper.bin` | C5、C5 V1.1、C8P 首次启动时可按 `board` 自动烧录板载 MCU;Pi V3 不会用该项烧录外接主板 | 自动烧录条件 自动烧录只在首次启动标记存在、`board` 和 `firmware` 均有效且固件文件存在时执行。不要为了重复烧录而手动创建首次启动标记;后续固件维护请使用对应主板的固件烧录教程。 #### 系统与主板[​](#系统与主板 "系统与主板的直接链接") 以下设置会在每次启动时读取。 | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------- | | `board` | `none` | `fly-c5`、`fly-c5-v1.1`、`fly-c8p`、`fly-pi-v3` | 选择实际设备型号;该值会影响 H618 的串口和 SPI 外设配置 | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `printer` | `klipper` | `klipper`、`rrf` | 选择要启动的打印控制环境 | | `console` | `serial` | `serial`、`both` | 设置系统控制台;无明确需求时保持默认 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 设置系统 CAN 接口速率,必须与总线上的所有 CAN 设备一致 | 正确选择 `board` 镜像原始配置为 `board=none`,设备会优先尝试读取硬件识别结果;仍无法识别时,H618 v1.3.10 会回退为 `fly-c5`。因此 C8P、C5 V1.1 和 Pi V3 用户应在首次启动前明确选择自己的设备型号,不要依赖回退值。 不同 `board` 值启用的 H618 外设如下。此表只用于说明选择错误的影响,不代表这些串口或 SPI 接口可以随意改作其他用途。 | `board` 配置值 | 系统启用的板载外设 | | -------------- | --------------------------- | | `fly-c5` | UART1 | | `fly-c5-v1.1` | UART1、SPI1.2 | | `fly-c8p` | UART1、UART3、UART4、SPI1.2 | | `fly-pi-v3` | UART1、UART3、UART4、SPI1.2 | #### 屏幕与界面[​](#屏幕与界面 "屏幕与界面的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ---------------------------------------------- | ----------------------------------------------------------------------------------------- | | `screen` | `hdmi` | `none`、`hdmi`、`fly-tft-v2-r`、`fly-tft-v2-c` | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认为 `0` 度,FLY-TFT 默认为 `90` 度;HDMI 显示和触摸方向也会应用手动角度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 实际串口设备路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口通信速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。使用 FLY Screen 时,应设置 `klipper_screen=0`、`fly_screen=1`。 OTA 升级保留旧配置 从旧版本 OTA 升级后,`config.txt` 可能缺少 `fly_screen`、`m2u_port` 或 `m2u_baud`。需要相应功能时,可参照上表补充配置项。 #### Klipper 网页与摄像头[​](#klipper-网页与摄像头 "Klipper 网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | ---------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭摄像头服务 | v1.4.0 测试版配置 | 配置项 | 默认值 | 可选值 | 说明 | | ------- | ------ | -------- | ------------------------- | | `gocam` | `0` | `0`、`1` | 启用 GoCam UVC 摄像头服务 | v1.3.10 正式版没有 `gocam`。v1.4.0 测试版中如果 `crowsnest=1` 与 `gocam=1` 同时设置,系统会优先启动 Crowsnest。使用 GoCam 时应明确设置 `crowsnest=0`、`gocam=1`。 > **GoCam 使用方法**:[查看 GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam) #### 断电关机[​](#断电关机 "断电关机的直接链接") H618 v1.3.10 的原始配置中,`shutdown_pin_state` 与 `shutdown_pin` 默认被注释,即不启用断电关机检测。不同产品和硬件版本的触发电平可能不同,请按对应产品的“断电关机与断电续打”文档填写,不要直接复制其他设备的值。 功能互斥 断电关机与断电续打不能同时启用。需要断电续打时,请保持断电关机检测关闭。 #### 高级配置[​](#高级配置 "高级配置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------- | ----------- | ------------------------------- | ------------------------------------ | | `spidev` | `spidev0.0` | 产品文档明确给出的 SPI 设备组合 | 控制提供给 Linux 用户空间的 SPI 设备 | `spidev`、`overlays` 等项目用于底层硬件启用。没有产品教程明确要求时,请保持镜像默认值,并且不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 之后的内容。 --- # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * RS232 不需要修改 C8P 主板固件,只需为对应工具板选择 RS232 固件。 * 两种主板固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/firmware/compile?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/firmware/compile?tab-0=can) | # 拨码介绍 * FLY C8P 通过拨码选择下位机与上位机的连接方式,如果拨码的位置不对会导致上位机无法连接下位机,请务必注意!!! ## 板载拨码说明[​](#板载拨码说明 "板载拨码说明的直接链接") 须知 * 正常使用时,请将`拨码向上拨` * 拨码时,请向`上拨到底`,否则可能无法连接下位机!!! Loading... --- # FLY-C8P Bootloader 恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * C8P只能使用自带的上位机烧录 ## SSH连接到上位机[​](#ssh连接到上位机 "SSH连接到上位机的直接链接") 警告 * BL固件烧录前需要使用`wifi连接到上位机SSH` - 首先请:[使用wifi连接到上位机ssh](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/ssh#使用wifi连接到上位机ssh) ***
## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * 拨码开关朝上拨,将下位机USB连接上位机 Loading... * 输入下方指令开始烧录BL ``` fly-flash -d auto -u -f /usr/lib/firmware/bootloader/hid_bootloader_h723_v1.0.bin ``` Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 检查拨码[​](#检查拨码 "检查拨码的直接链接") 须知 * 正常使用时,请将`拨码向上拨` * 拨码时,请向`上拨到底`,否则可能无法连接下位机!!! Loading... ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * USB ID获取 * CANBus UUID获取 * RS232使用方法 ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要前提 在开始搜索工具板 ID 前,请务必确认满足以下所有条件: * **固件准备**: 工具板已刷入 `USB` 固件,或正处于 `USB` 烧录模式。 * **目标明确**: 本教程仅用于搜索**工具板**的 ID,**不适用于主板 ID**。 * **硬件连接**: **工具板**已通过USB正确连接到上位机的`USB-A`接口。 * **登录方式**: 请通过网络 **SSH** 登录到上位机进行操作,**请勿使用串口登录**。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") ``` ls /dev/serial/by-id/* ``` * **正常情况**: 终端会显示类似下方的ID(下图仅为示例) Loading... - 如果输入下方命令后没有ID出来,但是`lsusb`有设备请更换上位机或者更换上位机系统 注意事项 如果出现多个ID,请根据你的主板**MCU**型号选择相对应的ID. ### 将USB的ID,填写到配置里面[​](#将usb的id填写到配置里面 "将USB的ID,填写到配置里面的直接链接") | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## 填写工具板USB ID[​](#填写工具板usb-id "填写工具板USB ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 并且主板一定是`[mcu]`,工具板才是`[mcu toolboard]` | | | | ------------------------ | -------------------------- | | - fluidd的参考Loading... | - mainsail的参考Loading... | * 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper - CAN参考接线 - **终端电阻配置检查:** | 设备 | 配置方式 | 目标状态 | | ---------- | ---------------------------------- | --------------------- | | **主板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | | **工具板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | **目的:** 此电阻是保证 CAN 总线信号稳定、避免通信错误的关键。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 * RS232参考接线 Loading... # 接口配置说明 ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要准备 1. **固件要求**:
工具板**必须刷入RS232固件**,否则无法通信 2. **强制共地**:
⚠️ 连接工具板前,必须确保其与`C8P`使用同一个电源或者将工具板与主板的GND相连(共用同一个`24V/12V`电源即可实现) 3. **接口特性**: * 双RS232接口支持**独立与两个同时使用** * Klipper `serial:` 参数**硬件固定不可修改** ## 接线规范[​](#接线规范 "接线规范的直接链接") | | | | ----------------------------------------------- | ----------------------------------------------- | | - 左侧接口`(SERIAL3)`接线方法Loading... | - 右侧接口`(SERIAL4)`接线方法Loading... | * 左侧接口(SERIAL3) * 右侧接口(UART4) ### 配置步骤[​](#配置步骤 "配置步骤的直接链接") 1. **编辑printer.cfg** ``` [mcu Laser] serial: /dev/serial3 # 左侧接口固定设备节点 baud: 250000 restart_method: command ``` 2. **关键设置说明** * `[mcu Laser]` 中的`Laser`可以自定义 * `/dev/serial3` 是**左侧接口专用节点**,不可更改 ### 配置步骤[​](#配置步骤-1 "配置步骤的直接链接") 1. **编辑printer.cfg** ``` [mcu ToolBoard] serial: /dev/serial4 # 右侧接口固定设备节点 baud: 250000 restart_method: command ``` 2. **关键设置说明** * `[mcu ToolBoard]` 中的`ToolBoard`可以自定义 * `/dev/serial4` 是**右侧接口专用节点**,不可更改 ## 配置ID[​](#配置id "配置ID的直接链接") 1. 打开浏览器,在网址栏中输入上位机的IP地址,比如我上位机IP是`192.168.101.179`直接输入然后回车即可 Loading... 2. 打开上位机的WEB界面,在左侧边栏的配置选项里找到: | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 3. 填写对应ID | | | | ---------- | ---------- | | Loading... | Loading... | 2. **应用配置** * 将配置代码粘贴到对应区域后 * 点击右上角 `SAVE & RESTART` 3. 若Klipper提示 `ADC out of range` 此为正常现象,将热床和热敏连接到主板,并配置好喷头、热床的热敏引脚,再保存重启即可。 --- # FAST系统镜像烧录 ## FLYOS-FAST v1.4.0 测试版下载[​](#flyos-fast-v140-测试版下载 "FLYOS-FAST v1.4.0 测试版下载的直接链接") 以下网盘包含适用于 FLY-C8P 的 FLYOS-FAST v1.4.0 测试版系统镜像及对应更新包: Loading... 测试版本 v1.4.0 当前为测试版本。下载和烧录前请确认系统镜像与设备型号匹配。 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-c/fly-c8p/kppm) | | **U盘打印说明** | U盘打印说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **摄像头说明** | 摄像头说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/camera) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` ``` shutdown_pin_state=1 shutdown_pin=PI4 ``` * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip0/gpio260 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 引脚分布 说明 * 本页列出 FLY-C8P 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-C8P 提供 8 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE5 | PA8 | PA15 | PC9 | PD9 | | DRIVER1 | PE4 | PC11 | PC12 | PC10 | PD8 | | DRIVER2 | PE3 | PD1 | PD2 | PD0 | PD11 | | DRIVER3 | PE2 | PD4 | PD5 | PD3 | PD10 | | DRIVER4 | PE1 | PD7 | PB6 | PD6 | PA5 | | DRIVER5 | PE0 | PC13 | PC14 | PB7 | PA4 | | DRIVER6 | PE7 | PE11 | PE10 | PC15 | - | | DRIVER7 | PE8 | PA7 | PA6 | PE9 | - | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。DRIVER6 / DRIVER7 未在表格中列出 DIAG 对应输入口。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PD9 | DRIVER0 | | 限位口1 / IO1 | PD8 | DRIVER1 | | 限位口2 / IO2 | PD11 | DRIVER2 | | 限位口3 / IO3 | PD10 | DRIVER3 | | 限位口4 / IO4 | PA5 | DRIVER4 | | 限位口5 / IO5 | PA4 | DRIVER5 | | 探针(Probe) | PC0 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PB0 | | 加热口0 | PD12 | | 加热口1 | PD13 | | 加热口2 | PD14 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PC5 | | 热敏口0 | PC2 | | 热敏口1 | PC3 | | 热敏口2 | PC4 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PC6 | | 风扇口4 | PC7 | | 风扇口5 | PC8 | ## PWM[​](#pwm "PWM的直接链接") FLY-C8P 提供 3 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PE6 | 舵机 / BLTouch 控制 | | PA3 | RGB / Neopixel | | PD15 | RGB / Neopixel | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC0 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | --------------- | ---- | | RGB0 / Neopixel | PA3 | | RGB1 / Neopixel | PD15 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PB10 | | EXP1\_2 | PB1 | | EXP1\_3 | PA14 | | EXP1\_4 | PA13 | | EXP1\_5 | PE15 | | EXP1\_6 | PE14 | | EXP1\_7 | PE13 | | EXP1\_8 | PB11 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PA9 | | EXP2\_4 | PB12 | | EXP2\_5 | PA10 | | EXP2\_6 | PB15 | | EXP2\_7 | PE12 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-C8P资料[​](#fly-c8p资料 "Fly-C8P资料的直接链接") * 点击下方网盘链接 * Loading... --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向;连接串口屏幕时,请确认 `5V`、`GND`、`TX`、`RX` 接线正确。 * TFT屏幕接线 * HDMI接线 * 串口屏幕接线 * Nova 3.5 接线 ### TFT屏幕接线与配置[​](#tft屏幕接线与配置 "TFT屏幕接线与配置的直接链接") 提示 * FLY-C8P TFT 屏幕排线规格:`FPC 软排线-16P-反向-0.5mm-400mm` * FLY-C8P 必须使用 `16P` 排线 * 电阻屏需要将拨码开关拨至`Resi` * 电容屏需要将拨码开关拨至`Cap` Loading... ### HDMI接线方式[​](#hdmi接线方式 "HDMI接线方式的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 | | | | -------------------- | -------------------- | | 接线方式一Loading... | 接线方式二Loading... | ### 串口屏幕接线[​](#串口屏幕接线 "串口屏幕接线的直接链接") * 使用此功能需要刷串口固件 * [七寸屏幕串口固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/updata) * [五寸屏幕串口固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/updata) Loading... ### Nova 3.5 接线[​](#nova-35-接线 "Nova 3.5 接线的直接链接") `Nova 3.5` 通过 UART 与 C8P 通信。接线时需要确认 `TX`、`RX` 交叉连接,并避免 `5V` 与 `GND` 接反。 Loading... ## 重要提示[​](#重要提示 "重要提示的直接链接") 配置注意事项 * 建议使用`mainsail`或`fluidd`网页界面进行配置修改 * 请不要开启网页翻译功能,否则可能导致系统无法正常启动 * 配置文件中请勿输入中文或特殊字符 * 配置文件修改后,需要重启系统才能生效 重要警告 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`以下的内容请勿修改 ## 配置文件修改方法[​](#配置文件修改方法 "配置文件修改方法的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在**首次启动**时生效的配置项,必须在烧录完成后使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`进行修改 ### 系统启动后在线配置修改[​](#系统启动后在线配置修改 "系统启动后在线配置修改的直接链接") * 普通配置项可在系统网页配置页面修改,重启后生效 1. 浏览器访问设备 IP 地址,例如:`http://192.168.1.2/` | | | | ------------------------------------------------------------ | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的 `.flyos-config` 文件夹,找到 `sys-config.conf` 配置文件 Loading... 3. 编辑 `sys-config.conf` 文件,该文件是可移动磁盘 `FlyOS-Conf` 中 `config.txt` 配置文件的软链接 Loading... 4. 修改配置项后保存文件 重要提示 修改配置后,请重启系统使配置生效 配置格式说明 * 配置文件格式必须为`key=value`,请勿修改为`key: value`或其他格式 * 等号前后不要添加空格 ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") * TFT电阻屏幕配置 * TFT电容屏幕配置 * HDMI屏幕配置 * 串口屏幕配置 - 需要将`screen=`后面修改成`fly-tft-v2-r` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v2-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-tft-v2-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 串口屏幕使用 `moon2uart` 通信,需要将 `moon2uart` 后面的 `0` 修改成 `1` * Nova 3.5 与 WiScreen 串口模式不使用 FLY Screen 本机屏幕服务,需要确认 `klipper_screen=0` 和 `fly_screen=0` 保持关闭 * 下方是修改好后的参考 ``` moon2uart=1 klipper_screen=0 fly_screen=0 ``` Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 连接上位机SSH 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到C8P示意图 - TF卡安装到C8P示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY上位机需要使用`M2WE`或者`2.4G WIFI`模块,否则无法使用WiFi * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") Loading... ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V` - 如果接上主板电源与驱动电源后`5V`灯不亮,需要联系客服售后 ## 驱动[​](#驱动 "驱动的直接链接") * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 请注意接线顺序,三线限位需要注意5V、GND、S这三个如果接错很可能导致主板损坏 * 如果两线直接接S与GND即可 * PL08与其他接近开关需要在信号口外接二极管将电压降低到3.3V以下 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # 接线参考 ## 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ## PIN脚说明[​](#pin脚说明 "PIN脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # CDY V3\_V2 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407ZGT6芯片 * 支持驱动电压选择,默认5V * 支持RRF固件 ## 产品参数[​](#产品参数 "产品参数的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407ZGT6芯片 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定 * 固件 :Reprap /Klipper * 驱动支持 :A4988 、LV8729、DRV8225、TMC2208/2209/5160等 * 驱动模式支持:TMC :UART /SPI * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 使用Reprap固件,可以使用扩展ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度 * PCB采用2OZ铜厚,能够支持更大的电流 * 3个ADC接口,最多支持三路热敏 * 6个IO接口,可以用于调平和限位 * 4个加热棒接口,最多支持四路加热棒 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # FLY-CDY V3 Bootloader 恢复 仅用于救砖恢复 本页仅用于 Bootloader 损坏后的救砖恢复。正常更新 Klipper 固件时,请使用固件编译与烧录页面中的 TF 卡流程。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 右边为`BOOT按键`,左边为`RESET按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - CDY的bootloader固件 - 您可以通过以下链接获取固件: * [**CDYV3\_V2.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/CDY/CDYV3_V2.bin?v=4290b27ab386) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/CDY ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `CDYV3_V2.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/CDY/CDYV3_V2.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `CDYV3_V2.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/CDY/CDYV3_V2.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # Klipper参考配置 ``` # This file contains common pin mappings for the Mellow Fly-CDY-v3. # To use this config, the firmware should be compiled for the # STM32F407 with a "32KiB bootloader". # The "make flash" command does not work on the Fly-CDY-v3. Instead, # after running "make", copy the generated "out/klipper.bin" file to a # file named "firmware.bin" on an SD card and then restart the Fly-CDY-v3 # with that SD card. # See docs/Config_Reference.md for a description of parameters. [stepper_x] step_pin: PE5 dir_pin: PC0 enable_pin: !PC1 microsteps: 16 rotation_distance: 40 endstop_pin: ^PC7 # X-MAX PC6 position_endstop: 0 position_max: 200 homing_speed: 50 step_pulse_duration: 0.000004 [stepper_y] step_pin: PE4 dir_pin: !PC13 enable_pin: !PC14 microsteps: 16 rotation_distance: 40 endstop_pin: ^PD11 # Y-MAX PD10 position_endstop: 0 position_max: 200 homing_speed: 50 step_pulse_duration: 0.000004 [stepper_z] step_pin: PE3 dir_pin: PB7 enable_pin: !PB8 microsteps: 16 rotation_distance: 40 endstop_pin: ^PB10 # Z-MAX PB11 position_endstop: 0.5 position_max: 200 step_pulse_duration: 0.000004 [extruder] step_pin: PE2 dir_pin: PD6 enable_pin: !PD7 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PD12 sensor_pin: PA3 sensor_type: EPCOS 100K B57560G104F control:watermark min_temp: -235 max_temp: 350 step_pulse_duration: 0.000004 #[extruder1] #step_pin: PE1 #dir_pin: !PD3 #enable_pin: !PD4 #heater_pin: PD13 #sensor_pin: PC4 #step_pulse_duration: 0.000004 #[extruder2] #step_pin: PE0 #dir_pin: !PA15 #enable_pin: !PD0 #heater_pin: PD14 #sensor_pin: PC5 #step_pulse_duration: 0.000004 [heater_bed] heater_pin: PB0 sensor_type: Generic 3950 sensor_pin: PB1 control: watermark min_temp: -235 max_temp: 120 #FAN0 [fan] pin: PA0 #FAN1 #[heater_fan fan1] #pin: PA1 #FAN2 #[heater_fan fan2] #pin: PA2 [mcu] serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00 [printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_z_velocity: 5 max_z_accel: 100 ######################################## # TMC2209 configuration ######################################## #[tmc2209 stepper_x] #uart_pin: PC15 #run_current: 0.800 #diag_pin: PC7 #[tmc2209 stepper_y] #uart_pin: PA8 #run_current: 0.800 #diag_pin: PC6 #[tmc2209 stepper_z] #uart_pin: PB6 #run_current: 0.800 #diag_pin: PD11 #[tmc2209 extruder] #uart_pin: PD5 #run_current: 0.600 #diag_pin: PD10 #[tmc2209 extruder1] #uart_pin: PD1 #run_current: 0.600 #diag_pin: PB10 #[tmc2209 extruder2] #uart_pin: PE9 #run_current: 0.600 #diag_pin: PB11 ######################################## # TMC5160 configuration ######################################## #[tmc5160 stepper_x] #cs_pin: PC15 #spi_bus: spi3 #run_current: 0.800 #diag1_pin: PC7 #[tmc5160 stepper_y] #cs_pin: PA8 #spi_bus: spi3 #run_current: 0.800 #diag1_pin: PC6 #[tmc5160 stepper_z] #cs_pin: PB6 #spi_bus: spi3 #run_current: 0.800 #diag1_pin: PD11 #[tmc5160 extruder] #cs_pin: PD5 #spi_bus: spi3 #run_current: 0.800 #diag1_pin: PD10 #[tmc5160 extruder1] #cs_pin: PD1 #spi_bus: spi3 #run_current: 0.800 #diag1_pin: PB10 #[tmc5160 extruder2] #cs_pin: PE9 #spi_bus: spi3 #run_current: 0.800 #diag1_pin: PB11 ######################################## # Accelerometer (ADXL345) pins ######################################## ## SCK=PA5, MISO=PA6, MOSI=PA7 #[adxl345] #cs_pin: PE7 #spi_bus: spi1 ######################################## # EXP1 / EXP2 (display) pins ######################################## #[board_pins] #aliases: # # EXP1 header # EXP1_1=, EXP1_3=PB2, EXP1_5=PE15, EXP1_7=PA13, EXP1_9=, # EXP1_2=PA9, EXP1_4=PA10, EXP1_6=PE14, EXP1_8=PA14, EXP1_10=<5V>, # # EXP2 header # EXP2_1=PA6, EXP2_3=PD8, EXP2_5=PD9, EXP2_7=PE13, EXP2_9=, # EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, # See the sample-lcd.cfg file for definitions of common LCD displays. ``` --- # USB 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 STMicroelectronics STM32 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 STM32F407 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 32KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Clock Reference 选择 8 MHz crystal (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6Communication interface 选择 USB (on PA11/PA12) (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 9出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/stm32/spi.o Compiling out/src/stm32/i2c.o Compiling out/src/stm32/usbotg.o Compiling out/src/stm32/chipid.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/stm32/hard\_pwm.o Compiling out/src/stm32/sdio.o Preprocessing out/src/generic/armcm\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") * 开始烧录固件前,请先[使用网络连接SSH](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/ "点击即可跳转") * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * 需要准备一张容量不超过`32G`的TF卡,并且建议TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 使用**MobaXterm\_Personal**左边文件目录找到`klipper`选择然后找到`out`打开 * 普通系统固件下载目录 * FlyOS-FAST系统固件下载目录 注意 * 普通系统注意事项 * 树莓派、FLY派等普通上位机系统都看此类 * 编译完成的固件在`/home/<您的上位机用户名>/klipper/out/`目录下 Loading... 注意 * `FlyOS-FAST`系统注意事项 * `FAST系统`的固件目录 * 编译完成的固件在`/data/klipper/out/`目录下 Loading... 4. 并且将`klipper.bin`下载到TF卡里面,并且重命名为`firmware.bin` ``` firmware.bin ``` Loading... Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。重命名固件前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 重命名文件时确认完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 给主板上电,等待10秒 7) 取下TF卡,插入电脑,如果SD卡中的`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... ## 烧录后搜索 USB ID[​](#烧录后搜索-usb-id "烧录后搜索 USB ID的直接链接") 固件烧录完成并给主板重新上电后,请继续搜索 USB ID。 [查看 USB ID 获取方法](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-cdy/fly-cdy-v3/read-id?tab-0=usb) --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_CDY-V3-Marlin[​](#fly_cdy-v3-marlin "Fly_CDY-V3-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 找到你编译好的`Marlin`固件,在`.pio\buid\LPC1716\`下的`firmware.bin`文件 * 请注意`LPC1716`需要替换成对应的主板型号 Loading... 4. 将`firmware.bin`下载到TF卡里面 Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。复制固件到 TF 卡前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 确认 TF 卡中的完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 主板上电,等待10秒 7) 取下TF卡,插入电脑如果SD卡中的看`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... --- # 引脚分布 说明 * 本页列出 FLY-CDY-V3 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-CDY-V3 提供 6 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE5 | PC0 | PC1 | PC15 | PC7 | | DRIVER1 | PE4 | PC13 | PC14 | PA8 | PC6 | | DRIVER2 | PE3 | PB7 | PB8 | PB6 | PD11 | | DRIVER3 | PE2 | PD6 | PD7 | PD5 | PD10 | | DRIVER4 | PE1 | PD3 | PD4 | PD1 | PB10 | | DRIVER5 | PE0 | PA15 | PD0 | PE9 | PB11 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 使用无限位(Sensorless Homing)归位时,驱动芯片通过 DIAG 引脚输出堵转检测信号,Klipper 需通过对应输入口读取该信号。本主板 DIAG 与限位口的对应关系见下方“限位与探针”表格。 启用无限位后,对应限位口被 DIAG 信号占用,不得同时接入机械或光电限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi3` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi3 cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ---------------- | ---- | ------------- | | 限位口0(X-MIN) | PC7 | DRIVER0 | | 限位口1(X-MAX) | PC6 | DRIVER1 | | 限位口2(Y-MIN) | PD11 | DRIVER2 | | 限位口3(Y-MAX) | PD10 | DRIVER3 | | 限位口4(Z-MIN) | PB10 | DRIVER4 | | 限位口5(Z-MAX) | PB11 | DRIVER5 | | 探针(Probe) | PC2 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PB0 | | 加热口0 | PD12 | | 加热口1 | PD13 | | 加热口2 | PD14 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PB1 | | 热敏口0 | PA3 | | 热敏口1 | PC4 | | 热敏口2 | PC5 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | ## PWM[​](#pwm "PWM的直接链接") FLY-CDY-V3 提供 3 路 PWM 输出,可用于舵机、激光、RGB 等: | 引脚 | 备注 | | ---- | ------------------- | | PE6 | 舵机 / BLTouch 控制 | | PB9 | LASER | | PD15 | RGB / Neopixel | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC2 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------- | ---- | | Neopixel | PD15 | ## 扩展 SPI / ADXL345[​](#扩展-spi--adxl345 "扩展 SPI / ADXL345的直接链接") | 功能 | 引脚 | | ------- | ---- | | CS | PE7 | | SCK | PA5 | | MISO | PA6 | | MOSI | PA7 | | 备用 IO | PE6 | 接口复用 * `PE6` 同时引出到扩展排针和 BL-Touch 舵机信号口,使用时选择其中一个功能配置即可。 * `PA5` / `PA6` / `PA7` 同时出现在扩展 SPI 与 EXP2 排针中,不能在两个外设上同时配置为冲突功能。 * `PA9` / `PA10` 同时引出到 UART 接口与 EXP1 排针;不使用 UART 时,也可在 Klipper 中作为普通输入口使用,常见用途包括断料检测、堵料检测等。 ## UART / 通用输入[​](#uart--通用输入 "UART / 通用输入的直接链接") | 引脚 | UART 功能 | 其他常见用途 | | ---- | --------- | -------------------------------------- | | PA9 | TX | 普通输入口,可用于断料检测、堵料检测等 | | PA10 | RX | 普通输入口,可用于断料检测、堵料检测等 | ## ST-LINK[​](#st-link "ST-LINK的直接链接") | 功能 | 引脚 | | ----- | ---- | | SWDIO | PA13 | | SWCLK | PA14 | | RESET | RST | ## EXP1[​](#exp1 "EXP1的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 | 排针 | 引脚 | | -------- | ---- | | EXP1\_1 | NC | | EXP1\_2 | PA9 | | EXP1\_3 | PB2 | | EXP1\_4 | PA10 | | EXP1\_5 | PE15 | | EXP1\_6 | PE14 | | EXP1\_7 | PA13 | | EXP1\_8 | PA14 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ## EXP2[​](#exp2 "EXP2的直接链接") | 排针 | 引脚 | | -------- | ---- | | EXP2\_1 | PA6 | | EXP2\_2 | PA5 | | EXP2\_3 | PD8 | | EXP2\_4 | PA4 | | EXP2\_5 | PD9 | | EXP2\_6 | PA7 | | EXP2\_7 | PE13 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 须知 * 本教程是针对主板的ID读取查看方法,工具板请参考对应产品的ID搜索教程 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 三维模型与原理图 信息 * 本文档提供以下几种资料 * 主板原理图 * 主板三维模型 ## Fly-CDY-V3资料[​](#fly-cdy-v3资料 "Fly-CDY-V3资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 主板接线 ## 接口图[​](#接口图 "接口图的直接链接") ### 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ### Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 电源接线[​](#电源接线 "电源接线的直接链接") Loading... Loading... *** ## 驱动器安装[​](#驱动器安装 "驱动器安装的直接链接") ### 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * **STEP/DIR模式。** 在这个模式下,通过使用跳线帽来设置细分,通过调节电位器来调整电流。最常见的是A4988、8825驱动需要查询厂家提供的细分配置表,然后通过跳线帽来设置细分。 * **UART模式。** 最常见的使用这种模式的驱动有:TMC2208、TMC2209、TMC2226等。这类驱动芯片可以与主控进行UART异步串行通信,可以通过修改配置文件来设置驱动的细分、运行电流、静音模式等。 * **SPI模式。** 最常见的使用这种模式的驱动有:TMC5160、TMC2130、TMC2240等也可以通过修改配置文件来设置驱动的细分、运行电流、静音模式等。 Loading... *** ### 驱动的安装[​](#驱动的安装 "驱动的安装的直接链接") * 驱动在安装前需要进行相应的检查,以免对驱动或主板造成损坏。 * **FLY驱动:** 如果不使用无限位归零功能,请将拨码开关拨到1的位置;相反如果要使用无限位归零功能,请将拨码开关拨到ON的位置。 Loading... 危险 * **注意!!! 安装驱动模块时,一定要保证插入的方向正确,即EN引脚在左上角,否则会损坏驱动甚至主板!!!注意给驱动贴好散热片!!!** Loading... *** ## 步进电机接线[​](#步进电机接线 "步进电机接线的直接链接") * 在3D打印机中,最常用的是两相四线步进电机,其原理如图所示。鉴别步进电机线序有两种方法: 1. 短接步进电机四根线中任意两根线,用手转动电机轴,如果转动阻力很大,则这两根线为同一组线圈,即A+和B+或者A-和B-。如果和没有短接一样转起来很轻松,说明这两根线不是同一组线圈。 2. 使用万用表的蜂鸣器档,测量四根线中任意两根,如果蜂鸣器响,则说明这两根线为同一组。反之,则不是同一组,需要更换其中一根线再次测量。 Loading... Loading... *** ## 加热管接线[​](#加热管接线 "加热管接线的直接链接") Loading... *** ## 热床接线[​](#热床接线 "热床接线的直接链接") * **交流热床:** 固态继电器在接线时,请注意输入和输出别接错了。 Loading... Loading... * **直流热床:** 板载MOS接直流热床时请注意使用功率,直流热床最大电流不能超过10A.如果超过10A,建议使用外接MOS模块来使用热床,否则可能会对主板造成不可逆的损伤。 Loading... *** ## 测温热敏接线[​](#测温热敏接线 "测温热敏接线的直接链接") ### 热敏类型介绍[​](#热敏类型介绍 "热敏类型介绍的直接链接") * 热敏的接线方法如下图。热敏电阻的类型请咨询购买商家。 * 如果为fly购买的(如下图所示),请将sensor\_type 配置为:**ATC Semitec 104GT-2** Loading... * 如果为常规的NTC 100K(如下图所示),请将sensor\_type 配置为:**Generic 3950** Loading... Loading... *** ### 主板热敏接线[​](#主板热敏接线 "主板热敏接线的直接链接") Loading... *** ## 风扇接线[​](#风扇接线 "风扇接线的直接链接") * **风扇接线** 提示 * MOS需要安装上去 - 风扇接线 Loading... Loading... Loading... *** ## 限位开关接线[​](#限位开关接线 "限位开关接线的直接链接") * 限位开关有常开(NO)和常闭(NC)两种。一般在3D打印机上,建议使用**常闭(NC)**,这样在限位开关线路出现问题时,系统会及时报错,可以避免一些不必要的撞车,避免损坏打印机。 Loading... *** ## 调平传感器接线[​](#调平传感器接线 "调平传感器接线的直接链接") ### BL-Touch接线[​](#bl-touch接线 "BL-Touch接线的直接链接") * BL-touch一共有五根线,三根为第一组,负责传感器的供电和探针的收放,第二组为地线和信号线,输出限位信号。BL-touch接线时请仔细核对线序,错误的接线可能会永久性损坏传感器和主板!!!接线方法如下图所示。 Loading... *** ### Klicky接线[​](#klicky接线 "Klicky接线的直接链接") * Klicky为第三方的调平传感器,能够用极低的成本自己在家制作,且性能稳定,性价比高,推荐使用。接线方法如下图所示。 * 项目地址:[jlas1/Klicky-Probe](https://github.com/jlas1/Klicky-Probe "项目地址,点击即可跳转") Loading... *** ### Voron Tap接线[​](#voron-tap接线 "Voron Tap接线的直接链接") * Tap是一种基于喷嘴的z探针,适用于V2和Trident打印机设计。整个工具头移动以触发光开关,精度比常规限位开关更好,可以使用几乎市面上所有的打印平台。 注意 Voron Tap不建议接 **24V** ,某些版本使用 **24V** 有一定概率会导致Tap传感器烧坏,这并非Fly产品的问题,是Voron Tap的设计缺陷,请悉知!!! 危险 注意:5V和GND不能接反,否则会损坏Tap传感器甚至主板!!! Loading... *** ## FLY-Mini12864 LCD接线[​](#fly-mini12864-lcd接线 "FLY-Mini12864 LCD接线的直接链接") * 下图为FLY的mini12864的接线方式,其他厂家的屏幕请咨询相应厂家。Mini12864屏幕接反,接错可能会导致上位机连不上MCU.如果使用mini12864屏幕之前可以正常连上主板的MCU,而使用mini12864后就连不上MCU了,请尝试拔出mini12864的接线!!! Loading... *** ## 连接到上位机[​](#连接到上位机 "连接到上位机的直接链接") * 主板通过Type-C接口连接到上位机的USB口,也可以通过串口连接到上位机。这里只对前者做介绍。 Loading... *** --- # FLY-D5 主板简介 > Mellow Fly-D5 是广州镁伦电子科技有限公司 Fly3D 主板研发团队推出的一款高性能 3D 打印机主板,最多支持 5 路步进电机。 Loading... 重要提示 1. **固件支持**: 本主板支持 Klipper 与 Marlin 固件。若使用 Klipper 固件,需要配合上位机使用。 2. **供电说明**: D5 主板 **不支持** 通过接口为上位机反向供电。 > **电源指示灯说明**:[查看 D5 电源指示灯说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d5/power) ## 产品特点[​](#产品特点 "产品特点的直接链接") * **主控芯片**: 采用 32 位 ARM Cortex-M0+ 架构的 STM32F072RBT6 芯片,主频 48MHz. * **通信总线**: 支持 CAN 总线连接,具有数据传输稳定、延迟低、连接可靠等优势。 * **驱动兼容**: 支持 A4988、LV8729、DRV8225、TMC2208/2209/5160 等多种步进电机驱动器。 * **智能限位**: 板载 DIAG 功能引脚,通过跳线帽即可轻松实现无需物理限位开关的传感器归位。 * **丰富接口**: 提供 BLTouch(舵机与探头)、UART、12864 液晶屏等多种拓展接口。 * **灵活供电**: 支持 12-24V 宽电压直流输入,供电稳定,省去额外降压模块。 ## 产品参数[​](#产品参数 "产品参数的直接链接") * **主控 MCU**: STM32F072RBT6 * **支持固件**: Klipper, Marlin * **输入电压**: DC 12-24V * **驱动接口模式**: SPI, UART, STEP/DIR * **兼容驱动器**: TMC5160Pro, TMC5160, TMC2209, TMC2225, TMC2226, TMC2208, TMC2130, A4988 等 * **温度传感器**: 2 路 NTC 100K 热敏电阻接口 * **加热输出**: 2 路 MOS 控制接口,支持大电流加热棒 * **风扇接口**: * 2 路两线可控风扇 * 2 路并联风扇接口 * 2 路常开风扇接口 * **支持机型结构**: Cartesian, Delta, Kossel, Ultimaker, CoreXY 等 Loading... ## 电气规格(最大持续电流)[​](#电气规格最大持续电流 "电气规格(最大持续电流)的直接链接") | 输出端口 | 24V 电源下最大电流 | 12V 电源下最大电流 | | ---------- | ------------------ | ------------------ | | 加热棒端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | * 请确保供电电压与电流满足上述要求,避免过载。 * 在连接电源前,请再次确认极性,防止反接。 --- # ADXL345 ## 接线[​](#接线 "接线的直接链接") * 加速度计的连接方式如下图所示 Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [adxl345] cs_pin: PB12 spi_bus: spi2 # 硬spi,硬spi和软spi二选一.默认硬spi # spi_software_mosi_pin: PB15 # 软spi,硬spi和软spi二选一.默认硬spi # spi_software_miso_pin: PB14 # spi_software_sclk_pin: PB13 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # 一般为热床的正中间,请根据您机器的实际情况修改 ``` ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /(需要自行添加) # #################################################################################### ## Fly-D5资料网址: ## Fly-D5原理图网址: ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f072xb_************************ ### 查询usb固件id是:ls /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f072xb_************************替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-D5] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) ##################################################################### #[temperature_sensor FLY-π] # 上位机温度 #sensor_type: temperature_host # 关联上位机 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B__________A # Z0 # # 12864 ##################################################################### # X 轴步进电机 (B电机) # ##################################################################### ## DRIVER0电机位置 [stepper_x] step_pin: PC15 # X轴电机脉冲引脚设置 dir_pin: PC14 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PC2 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: ^PB4 # 限位开关PIN脚,建议常闭接常闭 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 无限位归零配置 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 200 # 复位速度-最大 100 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 ##################################################################### ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] uart_pin: PC13 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### # [tmc5160 stepper_x] # cs_pin: PC13 # spi_bus: spi2 # run_current: 1.0 # 电机运行电流值 # interpolate: False # 是否开启256微步插值(开启是True,关闭是False) # sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 (A电机) # ##################################################################### ## DRIVER1电机位置 [stepper_y] step_pin: PA1 dir_pin: PA0 enable_pin: !PA2 rotation_distance: 40 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: ^PB3 # 限位开关PIN脚,建议常闭然后添加!反转状态 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 无限位归零配置 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 200 homing_retract_dist: 5 ##################################################################### ## 请确保驱动型号配置正确 (2209 or 5160) [tmc2209 stepper_y] uart_pin: PC3 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### #[tmc5160 stepper_y] #cs_pin: PC3 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### ## DRIVER2电机位置 [stepper_z] step_pin: PA5 dir_pin: !PA4 enable_pin: !PA6 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改 microsteps: 16 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: ^PD2 # 限位开关接口 position_max: 290 # 软限位最大行程 (240mm-290mm-340mm) position_endstop: -0.5 position_min: -5 # 软限位最小行程(配置喷嘴清洁需要-5左右) homing_speed: 10 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 3 # 后撤距离 ##################################################################### [tmc2209 stepper_z] uart_pin: PA3 interpolate: false run_current: 0.8 sense_resistor: 0.110 ###################################################################### ## DRIVER4电机位置 #[stepper_z1] #step_pin: PB10 #dir_pin: PB2 #enable_pin: !PB11 #rotation_distance: 8 #microsteps: 32 #[tmc2209 stepper_z1] #uart_pin: PB1 #interpolate: false #run_current: 1.0 #sense_resistor: 0.110 ##################################################################### # 挤出机配置 ##################################################################### ## DRIVER7电机位置 [extruder] # 挤出机 step_pin:PC5 dir_pin:PC4 enable_pin: !PB0 microsteps: 16 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) rotation_distance: 22.52245 # 主动带轮周长mm # 校准步进值: 23.1325301 = 旧值22.6789511*实际值102/目标值100 gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.750 # 耗材直径 heater_pin: PC6 # 挤出头加热棒控制Pin脚设置(e0) sensor_type: Generic 3950 # 传感器型号 sensor_pin: PC1 # 挤出头传感器Pin脚(T_E0) max_power: 1.0 # 加热棒PWM最大输出功率 min_temp: -235 # 挤出机最小温度 max_temp: 350 # 挤出机最大温度 min_extrude_temp: 150 # 加热棒最低挤出温度(达到此温度挤出机才能有挤出动作) pressure_advance: 0.04 # 挤出机压力提前参数 pressure_advance_smooth_time:0.040 # 平稳推进时间-默认值为0.040 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark [tmc2209 extruder] uart_pin:PA7 interpolate: False run_current: 0.6 sense_resistor: 0.110 ##################################################################### # 热床配置 ##################################################################### [heater_bed] heater_pin: PC7 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC0 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 热床最小温度 max_temp: 120 # 热床最大温度 # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin:PC9 kick_start_time: 1.0 # 启动时间(勿动) off_below: 0.10 # 勿动 max_power: 1.0 ##################################################################### [heater_fan 喉管散热] # 喉管冷却风扇 pin:PC8 max_power: 1.0 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PB5 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.007 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### #[bltouch] #sensor_pin: ^PB5 # 信号接口 #control_pin: PA8 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 ##################################################################### #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 12864配置(需要时启用) ##################################################################### [board_pins] aliases: EXP1_1=NC, EXP1_3=PC11, EXP1_5=PC10, EXP1_7=NC, EXP1_9=, EXP1_2=PA15, EXP1_4=PA14, EXP1_6=PA13, EXP1_8=NC, EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_3=PC12, EXP2_5=PB6, EXP2_7=NC, EXP2_9=, EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, ##################################################################### [display] lcd_type: uc1701 # 显示屏驱动类型 cs_pin: EXP1_3 # 显示屏片选cs引脚设置 a0_pin: EXP1_4 # 显示屏数据a0引脚设置 rst_pin: EXP1_5 # 显示屏复位rst脚设置 contrast: 63 # 对比度 encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #################################################################### ####适用于FLY Mini12864 [neopixel fly_mini12864] pin: EXP1_6 # 显示屏背光灯控制引脚设置 chain_count: 3 initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) color_order: RGB # 颜色顺序 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 G28 # 归位所有轴 G1 Z20 F3000 # 抬高龙门 #SET_LED LED=LEDlight RED=0.2 GREEN=0.2 BLUE=0.5 # LED灯控制 #M117 Printing # 向屏幕发送文本 ##################################################################### [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 ##################################################################### [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # 主板常见问题解答 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D5 主板**必须且只能**通过其板载的 **Type-C USB 接口** 与上位机建立 Klipper 通信连接。 Loading... **连接要求**: * 使用 **高质量 Type-C 数据线**, 确保数据传输稳定。 * 建议数据线长度 **不超过 1.5 米**, 避免因线缆过长导致信号衰减。 * 请将数据线另一端连接至上位机的标准 **USB-A 接口**。 *** ## **常见问题与排查**[​](#常见问题与排查 "常见问题与排查的直接链接") ### **问题 1: 上位机无法识别 D5 主板**[​](#问题-1-上位机无法识别-d5-主板 "问题-1-上位机无法识别-d5-主板的直接链接") **排查步骤**: 1. **检查物理连接**: 确认是否使用主板上的 **Type-C 接口** 进行连接。 2. **确认固件状态**: 检查主板是否已正确刷入 Klipper 固件。 *** ### **问题 2: 上位机出现间歇性重启或通信异常**[​](#问题-2-上位机出现间歇性重启或通信异常 "问题-2-上位机出现间歇性重启或通信异常的直接链接") **问题现象** 若将 Fly-D5 主板作为上位机(如树莓派)的供电来源, 可能会导致上位机出现: * 间歇性无故重启 * 与主板的通信意外中断 * USB设备识别异常 * Klipper 服务意外停止 **根本原因与解决方案** 此问题的根本原因是**供电方式错误**。上位机必须由其**独立的电源适配器**供电, 以获得稳定、充足的电流。 **您必须确保**: 1. **上位机独立供电**: 树莓派等上位机必须连接其原装或专用的电源适配器。 2. **禁止通过主板供电**: **严禁**将主板的 5V 引脚连接到上位机的 5V 供电引脚来为其供电。 **请检查**您的接线, 确保上位机与主板之间**仅通过 USB 数据线连接**, 不存在任何额外的供电线。 *** ## **限位器接线说明**[​](#限位器接线说明 "限位器接线说明的直接链接") 接线注意事项 * 三线限位开关**极其容易接错**, 请务必确认线序正确。 * 如果您不确定接线方式, **请勿连接主板的 5V 引脚**, 以免造成短路或设备损坏。 **标准三线限位接口定义**: 1. **信号** (Signal) 2. **GND** (接地) 3. **5V** (电源) > 更多详细接线方法与配置, 请参阅: [各类限位接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) --- # 固件烧录说明 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D5主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## 如何选择正确的固件[​](#如何选择正确的固件 "如何选择正确的固件的直接链接") 🔧 固件选择规则 请根据您的连接方式和工具板类型,按照以下规则选择正确的固件: | 配置场景 | 主板固件 | 工具板固件 | 关键说明 | | ----------------------------------- | ------------- | ---------- | ------------------------------------------------------------------------------------- | | **不使用工具板**
(直接USB连接) | `USB固件` | — | 最常用配置,适用于大多数单挤出机打印机。 | | **使用 CAN 工具板** | `CAN桥接固件` | `CAN固件` | 通过CAN总线通信。**请注意**:主板必须刷写CAN桥接固件,否则需准备USB转CAN适配器(如UTOC). | --- # FLY-D5 Bootloader(Katapult)恢复 ## 固件说明[​](#固件说明 "固件说明的直接链接") 仅用于救砖恢复 * Fly-D5主板**只能通过Type-C USB接口**进行BL烧录 * 出厂已经默认自带Katapult固件 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 左边为`RST按键`,右边为`BOOT按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - D5的Katapult固件 - 您可以通过以下链接获取固件: * [**FLY\_D5.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D5.bin?v=da1166929371) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/D ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_D5.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/D/FLY_D5.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_D5.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/D/FLY_D5.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 * 请不要放在中文路径下 * Marlin固件下, D5不支持使用12864屏幕 ## Fly\_D5-Marlin[​](#fly_d5-marlin "Fly_D5-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - CAN参考接线 Loading... * 需要将`120Ω`跳线接上 ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 引脚分布 说明 * 本页列出 FLY-D5 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-D5 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PC15 | PC14 | PC2 | PC13 | PB4 | | DRIVER1 | PA1 | PA0 | PA2 | PC3 | PB3 | | DRIVER2 | PA5 | PA4 | PA6 | PA3 | PD2 | | DRIVER3 | PC5 | PC4 | PB0 | PA7 | PB5 | | DRIVER4 | PB10 | PB2 | PB11 | PB1 | NC | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。未列出 DIAG 对应关系的驱动不能直接按表格配置无限位归位。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi2` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi2 cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------------- | ---- | ------------- | | 限位口0 / IO3 | PB4 | DRIVER0 | | 限位口1 / IO2 | PB3 | DRIVER1 | | 限位口2 / IO1 | PD2 | DRIVER2 | | 通用输入 / IO0 | PD3 | - | | 探针(Probe) / IO4 | PB5 | DRIVER3 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ---- | | 加热口0 | PC6 | | 加热口1 | PC7 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PC0 | | 热敏口1 | PC1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PC8 | | 风扇口1 | PC9 | ## PWM[​](#pwm "PWM的直接链接") FLY-D5 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PA8 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PA8 | | 探针信号 | PB5 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | NC | | EXP1\_2 | PA15 | | EXP1\_3 | PC11 | | EXP1\_4 | PA14 | | EXP1\_5 | PC10 | | EXP1\_6 | PA13 | | EXP1\_7 | NC | | EXP1\_8 | NC | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PC12 | | EXP2\_4 | PB12 | | EXP2\_5 | PB6 | | EXP2\_6 | PB15 | | EXP2\_7 | NC | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 电源指示灯 FLY-D5 主板上的电源指示灯用于显示各路电源是否正常供电。指示灯仅用于快速观察,不能替代完整的故障检测。 Loading... | 指示灯 | 含义 | 正常状态 | | ------ | ------------------- | ---------------------------- | | `3.3V` | 3.3V 电源 | 主板正常供电时点亮 | | `5V` | 5V 电源 | 主板正常供电时点亮 | | `VCC` | 主板输入/主电源状态 | 接入主板电源并正常供电时点亮 | 安全提示 * 观察指示灯时不要触碰主板上的端子、裸露焊点或电源区域。 * 如果某个指示灯不亮,请先关闭电源并检查电源线、极性和供电条件;不要在通电状态下插拔线束或测量端子。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-D5资料[​](#fly-d5资料 "Fly-D5资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 主板接线 ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ## 主板接线[​](#主板接线-1 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # FLY-D7 主板简介 > Mellow Fly-D7 是广州镁伦电子科技有限公司 Fly3D 主板研发团队推出的一款高性能 3D 打印机主板,最多支持 7 路步进电机。 Loading... 重要提示 1. **固件支持**: 本主板支持 Klipper 与 Marlin 固件。若使用 Klipper 固件,需要配合上位机使用。 2. **供电说明**: D7 主板 **不支持** 通过接口为上位机反向供电。 > **电源指示灯说明**:[查看 D7 电源指示灯说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d7/power) ## 产品特点[​](#产品特点 "产品特点的直接链接") * **主控芯片**: 采用 32 位 ARM Cortex-M0+ 架构的 STM32F072RBT6 芯片,主频 48MHz. * **通信总线**: 支持 CAN 总线连接,具有数据传输稳定、延迟低、连接可靠等优势。 * **驱动兼容**: 支持 A4988、LV8729、DRV8225、TMC2208/2209/5160 等多种步进电机驱动器。 * **智能限位**: 板载 DIAG 功能引脚,通过跳线帽即可轻松实现无需物理限位开关的传感器归位。 * **丰富接口**: 提供 BLTouch(舵机与探头)、液晶屏等多种拓展接口。 * **灵活供电**: 支持 12-24V 宽电压直流输入,供电稳定,省去额外降压模块。 ## 产品参数[​](#产品参数 "产品参数的直接链接") * **MCU**: STM32F072RBT6 * **固件**: Klipper/Marlin * 支持12-24V直流供电,供电更稳定,省去降压模块 * **驱动工作模式支持**:SPI 、UART、STEP/DIR * **支持驱动**:支持外置TMC5160Pro、TMC5160、TMC2209、TMC2225、TMC2226、TMC2208、TMC2130、A4988等 * **拓展接口**:BLTouch (Servos、Probe)、UART X1 * **加热接口**:3路可控接口支持10A * **风扇接口**: * 2 路两线可控风扇 * 2 路并联风扇接口 * 2 路常开风扇接口 * **支持机型结构**: Cartesian, Delta, Kossel, Ultimaker, CoreXY 等 ## 电气规格(最大持续电流)[​](#电气规格最大持续电流 "电气规格(最大持续电流)的直接链接") | 输出端口 | 24V 电源下最大电流 | 12V 电源下最大电流 | | ---------- | ------------------ | ------------------ | | 加热棒端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | * 请确保供电电压与电流满足上述要求,避免过载。 * 在连接电源前,请再次确认极性,防止反接。 --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /FLY-D7 # #################################################################################### ## FLY-D7 资料网址: https://mellow.klipper.cn/#/board/fly_d7/README ## FLY-D7 原理图网址:https://mellow.klipper.cn/#/board/fly_d7/schematic ## FLY 官方淘宝店:https://item.taobao.com/item.htm?abbucket=8&id=760788458714&ns=1&spm=a21n57.1.0.0.632e523cCKBdRJ ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ## ***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### [include fluidd.cfg] # FLUIDD调用文件. [include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f072xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-D7] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 (B Motor) # ##################################################################### [stepper_x] step_pin: PC14 # X轴电机脉冲引脚设置 dir_pin: PC13 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PB3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # X轴的最小行程 position_endstop: 300 # 限位开关的位置 (250mm-300mm-350mm) position_max: 300 # X轴的最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PB7 # 通讯端口Pin脚定义 interpolate: False # 否开启256微步插值,建议关闭(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PB7 # SPI 片选Pin脚定义 #spi_bus: spi2 #run_current: 0.800 # 电机运行电流值 #interpolate: False # 是否开启256微步插值,建议关闭(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 (A Motor) # ##################################################################### [stepper_y] step_pin: PA1 # Y轴电机脉冲引脚设置 dir_pin: PA0 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PA2 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PD2 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # Y轴的最小行程 position_endstop: 300 # 限位开关的位置 (250mm-300mm-350mm) position_max: 300 # Y轴的最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PC3 # 通讯端口Pin脚定义 interpolate: False # 否开启256微步插值,建议关闭(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PC3 # SPI 片选Pin脚定义 #spi_bus: spi2 #run_current: 0.800 # 电机运行电流值 #interpolate: False # 是否开启256微步插值,建议关闭(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 [stepper_z] step_pin: PA5 # Z轴电机脉冲引脚设置 dir_pin: !PA4 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PA6 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改,总共需要修改3处 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PA9 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) position_endstop: -0.5 ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # Z轴的最小行程(配置喷嘴清洁需要-5左右) position_max: 300 # Z轴的最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PA3 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PA3 # SPI 片选Pin脚定义 #spi_bus: spi2 #run_current: 0.800 # 电机运行电流值 #interpolate: False # 是否开启256微步插值,建议关闭(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 [stepper_z1] step_pin: PB10 # z1轴电机脉冲引脚设置 dir_pin: !PB2 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PB11 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PB1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PB1 # SPI 片选Pin脚定义 #spi_bus: spi2 #run_current: 0.800 # 电机运行电流值 #interpolate: False # 是否开启256微步插值,建议关闭(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方 [stepper_z2] step_pin: PC12 # z2轴电机脉冲引脚设置 dir_pin: !PB5 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC11 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PB6 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PB6 # SPI 片选Pin脚定义 #spi_bus: spi2 #run_current: 0.800 # 电机运行电流值 #interpolate: False # 是否开启256微步插值,建议关闭(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### [extruder] # 挤出机 step_pin: PC5 # 挤出电机脉冲引脚 dir_pin: !PC4 # 挤出电机方向引脚设置 enable_pin: !PB0 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB12 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (#Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PC2 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PA7 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.5 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PA7 # SPI 片选Pin脚定义 #spi_bus: spi2 #run_current: 0.800 # 电机运行电流值 #interpolate: False # 是否开启256微步插值,建议关闭(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PC7 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC0 # 热床传感器接口 max_power: 0.5 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PC9 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PC8 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PB4 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤. G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略的测量是你的床的中间. #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # 主板常见问题解答 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D7主板**必须通过其Type-C USB接口**与上位机建立Klipper通信。 Loading... **连接要求**: * 使用**高质量的Type-C数据线**,以保证数据传输稳定性。 * 建议数据线长度不超过1.5米,避免使用过长的线缆。 * 请将数据线另一端连接至上位机的标准USB-A接口。 *** ## **常见问题与排查**[​](#常见问题与排查 "常见问题与排查的直接链接") ### **问题 1: 上位机无法识别 D7 主板**[​](#问题-1-上位机无法识别-d7-主板 "问题-1-上位机无法识别-d7-主板的直接链接") **排查步骤**: 1. **检查物理连接**: 确认是否使用主板上的 **Type-C 接口** 进行连接。 2. **确认固件状态**: 检查主板是否已正确刷入 Klipper 固件。 *** ### **问题 2: 上位机出现间歇性重启或通信异常**[​](#问题-2-上位机出现间歇性重启或通信异常 "问题-2-上位机出现间歇性重启或通信异常的直接链接") **问题现象** 若将 Fly-D7 主板作为上位机(如树莓派)的供电来源, 可能会导致上位机出现: * 间歇性无故重启 * 与主板的通信意外中断 * USB设备识别异常 * Klipper 服务意外停止 **根本原因与解决方案** 此问题的根本原因是**供电方式错误**。上位机必须由其**独立的电源适配器**供电, 以获得稳定、充足的电流。 **您必须确保**: 1. **上位机独立供电**: 树莓派等上位机必须连接其原装或专用的电源适配器。 2. **禁止通过主板供电**: **严禁**将主板的 5V 引脚连接到上位机的 5V 供电引脚来为其供电。 **请检查**您的接线, 确保上位机与主板之间**仅通过 USB 数据线连接**, 不存在任何额外的供电线。 *** ## **限位器接线说明**[​](#限位器接线说明 "限位器接线说明的直接链接") 接线注意事项 * 三线限位开关**极其容易接错**, 请务必确认线序正确。 * 如果您不确定接线方式, **请勿连接主板的 5V 引脚**, 以免造成短路或设备损坏。 **标准三线限位接口定义**: 1. **信号** (Signal) 2. **GND** (接地) 3. **5V** (电源) > 更多详细接线方法与配置, 请参阅: [各类限位接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) --- # 固件烧录说明 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D7主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## 如何选择正确的固件[​](#如何选择正确的固件 "如何选择正确的固件的直接链接") 🔧 固件选择规则 请根据您的连接方式和工具板类型,按照以下规则选择正确的固件: | 配置场景 | 主板固件 | 工具板固件 | 关键说明 | | ----------------------------------- | ------------- | ---------- | ------------------------------------------------------------------------------------- | | **不使用工具板**
(直接USB连接) | `USB固件` | — | 最常用配置,适用于大多数单挤出机打印机。 | | **使用 CAN 工具板** | `CAN桥接固件` | `CAN固件` | 通过CAN总线通信。**请注意**:主板必须刷写CAN桥接固件,否则需准备USB转CAN适配器(如UTOC). | --- # FLY-D7 Bootloader(Katapult)恢复 ## 固件说明[​](#固件说明 "固件说明的直接链接") 仅用于救砖恢复 * Fly-D7主板**只能通过Type-C USB接口**进行BL烧录 * 出厂已经默认自带Katapult固件 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 左边为`RST按键`,右边为`BOOT按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - D7的Katapult固件 - 您可以通过以下链接获取固件: * [**FLY\_D7.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D7.bin?v=da1166929371) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/D ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_D7.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/D/FLY_D7.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_D7.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/D/FLY_D7.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_D7-Marlin[​](#fly_d7-marlin "Fly_D7-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - CAN参考接线 Loading... * 需要将`120Ω`跳线接上 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 引脚分布 说明 * 本页列出 FLY-D7 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-D7 提供 7 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PC14 | PC13 | PC15 | PB7 | PB3 | | DRIVER1 | PA1 | PA0 | PA2 | PC3 | PD2 | | DRIVER2 | PA5 | PA4 | PA6 | PA3 | PA9 | | DRIVER3 | PC5 | PC4 | PB0 | PA7 | PB4 | | DRIVER4 | PB10 | PB2 | PB11 | PB1 | NC | | DRIVER5 | PC12 | PB5 | PC11 | PB6 | NC | | DRIVER6 | PA15 | PA14 | PA13 | PC10 | NC | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。未列出 DIAG 对应关系的驱动不能直接按表格配置无限位归位。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi2` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi2 cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PB3 | DRIVER0 | | 限位口1 / IO1 | PD2 | DRIVER1 | | 限位口2 / IO2 | PA9 | DRIVER2 | | 限位口3 / IO3 | PA10 | - | | 探针(Probe) | PB4 | DRIVER3 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ---- | | 加热口0 | PC6 | | 加热口1 | PC7 | | 加热口2 | PB12 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PC0 | | 热敏口1 | PC1 | | 热敏口2 | PC2 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PC8 | | 风扇口1 | PC9 | ## PWM[​](#pwm "PWM的直接链接") FLY-D7 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PA8 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PA8 | | 探针信号 | PB4 | ## 屏幕 / EXP 说明[​](#屏幕--exp-说明 "屏幕 / EXP 说明的直接链接") 接口说明 FLY-D7 未提供标准 `EXP1` / `EXP2` 12864 排针。图中的 `UART` 接口为串口扩展接口,不等同于 12864 `EXP1` / `EXP2` 接口。 | 接口 | 引脚 | | --------- | --------------------- | | UART 接口 | PA10 / PA9 / GND / 5V | --- # 电源指示灯 FLY-D7 主板上的电源指示灯用于显示各路电源是否正常供电。指示灯仅用于快速观察,不能替代完整的故障检测。 Loading... | 指示灯 | 含义 | 正常状态 | | ------ | ------------------- | ---------------------------- | | `3.3V` | 3.3V 电源 | 主板正常供电时点亮 | | `5V` | 5V 电源 | 主板正常供电时点亮 | | `VCC` | 主板输入/主电源状态 | 接入主板电源并正常供电时点亮 | 安全提示 * 观察指示灯时不要触碰主板上的端子、裸露焊点或电源区域。 * 如果某个指示灯不亮,请先关闭电源并检查电源线、极性和供电条件;不要在通电状态下插拔线束或测量端子。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-D7资料[​](#fly-d7资料 "Fly-D7资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 接线参考 ## PIN脚说明[​](#pin脚说明 "PIN脚说明的直接链接") Loading... ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... --- # FLY-D8 主板简介 > Mellow Fly-D8 是广州镁伦电子科技有限公司 Fly3D 主板研发团队推出的一款高性能 3D 打印机控制主板,最多可支持 8 路步进电机驱动。 Loading... ## 产品概述[​](#产品概述 "产品概述的直接链接") FLY-D8 是一款基于 STM32F407 高性能 ARM Cortex-M4 内核的主控板,专为多轴、高精度 3D 打印机设计。主板具备丰富的接口、完善的保护功能与良好的扩展性,支持 Marlin 2.0 及 Klipper 固件,适用于 DIY 升级或新一代打印机开发。 ## 主要特点[​](#主要特点 "主要特点的直接链接") * **核心性能**:采用 STM32F407VGT6 芯片,32 位 ARM Cortex-M4 内核,主频 168MHz,运算能力强。 * **接口丰富**:支持 8 路电机驱动、6 路限位、4 路加热与热敏、2 路 RGB 灯带,扩展性强。 * **连接可靠**:支持 CAN 总线与 RS232 通信,数据传输稳定、延迟低。 * **安全保护**: * 电源输入具备防反接保护。 * 限位等接口的 5V 供电采用隔离设计,未接主电源时不输出,避免误操作损坏。 * **调试便捷**:板载 BOOT 与 RESET 按键,可通过 USB 轻松进入 DFU 模式刷写固件。 * **双 USB 设计**:提供两个 USB 2.0 接口,其中一个可通过物理开关切换为 RS232 接口,适配多种外部设备。 ## 技术规格[​](#技术规格 "技术规格的直接链接") | 项目 | 说明 | | ------------ | ----------------------------------------------------------------- | | **主控芯片** | STM32F407VGT6 (ARM Cortex-M4 @ 168MHz) | | **支持固件** | Marlin 2.0 / Klipper | | **驱动支持** | 8 路,兼容 A4988、LV8729、DRV8225、TMC2208/2209/5160 (UART/SPI) 等 | | **显示接口** | 串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 | | **探头支持** | BLTouch、PL08N、Klicky、Voron Tap 等自动调平传感器 | | **输入电压** | DC 12V 或 24V | | **温度检测** | 4 路独立热敏接口 | | **加热输出** | 4 路(热床 1 路 + 挤出机加热 3 路) | | **其他接口** | 6 路限位接口、2 路 RGB 接口、CAN 总线接口、USB/RS232 切换接口 | ## 接口与连接[​](#接口与连接 "接口与连接的直接链接") * **电源**:采用防反接端子,支持 12V/24V 输入。 * **电机驱动**: 8 个独立驱动插槽,支持多种步进驱动模块。 * **通信**:支持 USB、CAN 及 RS232,可根据需要灵活配置。 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V 电源下最大电流 | 12V 电源下最大电流 | | ---------- | ------------------ | ------------------ | | 热床端口 | 10A | 5A | | 加热棒端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | * 请确保供电电压与电流满足上述要求,避免过载。 * 在连接电源前,请再次确认极性,防止反接。 --- # 摄像头连接与使用 连接与配置须知 * **连接方式**:D8 主板通过其 **USB-A 接口** 外接摄像头,并由上位机进行识别和配置。 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头,此类摄像头可在 Linux、Armbian 等系统的 Klipper 中直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他工具,配置原理相通,具体步骤请参阅其官方文档。 ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘正常已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /FLY-D8 # #################################################################################### ## FLY-D8资料网址: https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-d/fly-d8-f407/ ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id ### Search for the USB firmware ID: ls -l /dev/serial/by-id/ ### Replace /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX with the ID you found. #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ### Query the CAN firmware ID: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### For the CAN ID, replace 'serial' with 'canbus_uuid:' and append the ID. ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-D8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # z1 z2 # B__________A # # # # # Z0 12864 Z3 ##################################################################### # X 轴步进电机 (DRIVER0) # ##################################################################### ## DRIVER0电机位置 [stepper_x] step_pin: PE5 # X轴电机脉冲引脚设置 dir_pin: PA8 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PA15 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PD9 # 限位开关PIN脚,建议常闭接常闭 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度-最大 100 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] uart_pin: PC9 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] #cs_pin: PC9 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 (DRIVER1) # ##################################################################### ## DRIVER1电机位置 [stepper_y] step_pin: PE4 dir_pin: PC11 enable_pin: !PC12 rotation_distance: 40 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PD8 # 限位开关PIN脚,建议常闭然后添加!反转状态 #endstop_pin: tmc5160_stepper_y:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 50 homing_retract_dist: 5 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2209 or 5160) [tmc2209 stepper_y] uart_pin: PC10 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] #cs_pin: PC10 #spi_bus: spi3 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### ## DRIVER2电机位置 [stepper_z] step_pin: PE3 dir_pin: !PD1 enable_pin: !PD2 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 microsteps: 32 endstop_pin: !PD11 # 限位开关接口 position_max: 290 # 软限位最大行程 (240mm-290mm-340mm) position_endstop: -0.5 position_min: -5 # 软限位最小行程(配置喷嘴清洁需要-5左右) homing_speed: 10 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 3 # 后撤距离 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PD0 interpolate: false run_current: 0.8 sense_resistor: 0.110 ##-------------------------------------------------------------------- ## DRIVER4电机位置 [stepper_z1] step_pin: PE2 dir_pin: PD4 enable_pin: !PD5 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z1] uart_pin: PD3 interpolate: false run_current: 1.0 sense_resistor: 0.110 #-------------------------------------------------------------------- ## DRIVER5电机位置 [stepper_z2] step_pin: PE1 dir_pin: !PD7 enable_pin: !PB6 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z2] uart_pin: PD6 interpolate: false run_current: 1.0 sense_resistor: 0.110 ##-------------------------------------------------------------------- ## DRIVER6电机位置 [stepper_z3] step_pin: PE0 dir_pin: PC13 enable_pin: !PC14 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z3] uart_pin: PB7 interpolate: False run_current: 1.0 sense_resistor: 0.110 ##################################################################### # 挤出机配置 ##################################################################### ## DRIVER7电机位置 [extruder] # 挤出机 step_pin:PE7 dir_pin:PE11 enable_pin: !PE10 microsteps: 16 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) rotation_distance: 22.52245 # 主动带轮周长mm # 校准步进值: rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.750 # 耗材直径 heater_pin: PD12 # 挤出头加热棒控制Pin脚设置(e0) sensor_type: Generic 3950 # 传感器型号 sensor_pin: PC4 # 挤出头传感器Pin脚(T_E0) max_power: 1.0 # 加热棒PWM最大输出功率 min_temp: -235 # 挤出机最小温度 max_temp: 350 # 挤出机最大温度 min_extrude_temp: 150 # 加热棒最低挤出温度(达到此温度挤出机才能有挤出动作) pressure_advance: 0.04 # 挤出机压力提前参数 pressure_advance_smooth_time:0.040 # 平稳推进时间-默认值为0.040 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark [tmc2209 extruder] uart_pin:PC15 interpolate: False run_current: 0.6 sense_resistor: 0.110 ##################################################################### # 热床配置 ##################################################################### [heater_bed] heater_pin: PB0 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC5 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 热床最小温度 max_temp: 120 # 热床最大温度 # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin:PA0 kick_start_time: 1.0 # 启动时间(勿动) off_below: 0.10 # 勿动 hardware_pwm: true max_power: 1.0 #-------------------------------------------------------------------- [heater_fan 喉管散热] # 喉管冷却风扇 pin:PA1 max_power: 1.0 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 #-------------------------------------------------------------------- [heater_fan 热床风扇] # 电器仓风扇 pin: PA2 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 5.0 heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 #--------------------------------------------------------------- [fan_generic 热床风扇1] pin:PC6 max_power: 1.0 # #-------------------------------------------------------------------- [fan_generic 侧边风扇_fan] pin:PC7 max_power: 1.0 # #-------------------------------------------------------------------- [fan_generic 侧边风扇_fan1] pin:PC8 max_power: 1.0 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PC0 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.007 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^PC0 # 信号接口 #control_pin: PE6 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- gantry_corners: # 300mm机器调平点位 -60,-10 360,370 points: 50,25 50,225 250,225 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # LED灯配置(需要时启用) ##################################################################### [neopixel sb_leds] pin: PD15 # 信号接口 chain_count: 3 # 灯珠数量 color_order: GRBW # 灯珠类型 initial_RED: 0.4 # 天 initial_GREEN: 0.8 # 依 initial_BLUE: 1 # 蓝 initial_WHITE: 0.0 #-------------------------------------------------------------------- [board_pins] aliases: EXP1_1=PB10, EXP1_3=PA14, EXP1_5=PE15, EXP1_7=PE13, EXP1_9=, EXP1_2=PB1, EXP1_4=PA13, EXP1_6=PE14, EXP1_8=PB11, EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_3=PA9, EXP2_5=PA10, EXP2_7=PE12, EXP2_9=, EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- [display] lcd_type: uc1701 # 显示屏驱动类型 cs_pin: EXP1_3 # 显示屏片选cs引脚设置 a0_pin: EXP1_4 # 显示屏数据a0引脚设置 rst_pin: EXP1_5 # 显示屏复位rst脚设置 contrast: 63 # 对比度 encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 # -------------------------------------------------------------------- ####适用于FLY Mini12864 [neopixel fly_mini12864] pin: EXP1_6 # 显示屏背光灯控制引脚设置 chain_count: 3 initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) color_order: RGB # 颜色顺序 ##################################################################### # 自定义gcode宏 ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 clean_nozzle # 擦嘴 QUAD_GANTRY_LEVEL # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 clean_nozzle # BED_MESH_CALIBRATE PRINT_MIN={params.PRINT_MIN} PRINT_MAX={params.PRINT_MAX} FORCE_NEW_MESH=True #根据打印面积探测网床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_huaxian] gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z1.00 X20.0 Y20.0 F6000 # 移动喷嘴以移除料线 TURN_OFF_HEATERS # 关闭热端 M107 # 关闭风扇 G1 Z2 F3000 # 将喷嘴向上移动2毫米 G90 # 设置绝对坐标体系 G0 X150 Y280 F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # 主板注意事项 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D8主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## **USB接口功能说明**[​](#usb接口功能说明 "usb接口功能说明的直接链接") ### 集成架构说明[​](#集成架构说明 "集成架构说明的直接链接") 功能独立,物理集成 Fly-D8主板上的**RS232串口**和**USB扩展功能**是两个完全独立的功能模块,仅通过物理形式集成在主板上。 Fly-D8主板配备两个USB接口,具有不同的功能: ### 1. Type-C USB (主机接口)[​](#1-type-c-usb-主机接口 "1. Type-C USB (主机接口)的直接链接") * **功能**: 专用于连接上位机 * **电源开关**: 旁边有`USB-5V>EN`开关,用于控制Type-C接口的5V供电输出 * **按下**: 打开Type-C接口5V输出(可为上位机供电) * **弹起**: 关闭Type-C接口5V输出 上位机连接建议 **常规使用时建议将`USB-5V>EN`开关弹起**(关闭5V输出),以避免: 1. 与上位机自身的5V电源冲突 2. 潜在的电源回流问题 3. 保护上位机USB接口 仅在上位机需要从Type-C接口获取额外供电时才按下开关(打开5V输出)。 ### 2. USB-A (设备扩展接口)[​](#2-usb-a-设备扩展接口 "2. USB-A (设备扩展接口)的直接链接") * **功能**: 用于扩展外设,支持连接: * USB摄像头 * U盘/存储设备 * 其他标准USB设备 * **独立模块**: USB扩展功能是完全独立的模块,仅通过主板物理集成 *** ## **USB/RS232模式切换**[​](#usbrs232模式切换 "usbrs232模式切换的直接链接") ### 功能选择说明[​](#功能选择说明 "功能选择说明的直接链接") Fly-D8主板通过拨码开关在同一物理接口上选择**USB扩展功能**或**RS232串口功能**。 ### 拨码开关设置[​](#拨码开关设置 "拨码开关设置的直接链接") Loading... | 拨码方向 | 功能模式 | 对应接口 | 典型用途 | | ---------- | ----------------- | ---------- | ------------------------ | | **向右拨** | **USB扩展模式** | USB-A接口❷ | 连接摄像头、U盘等USB设备 | | **向左拨** | **RS232串口模式** | RS232接口❸ | 连接支持RS232的工具板 | ### 模式切换注意事项[​](#模式切换注意事项 "模式切换注意事项的直接链接") 1. **功能互斥**: USB扩展与RS232串口功能不可同时启用,只能二选一 2. **固件匹配**: 使用RS232功能时,需要工具板支持RS232通信并烧录了RS232固件 3. **独立模块**: RS232串口和USB扩展是两个独立功能模块,仅通过主板物理集成 *** ## **常见问题与排查**[​](#常见问题与排查 "常见问题与排查的直接链接") ### 问题1: 上位机无法识别D8主板[​](#问题1-上位机无法识别d8主板 "问题1: 上位机无法识别D8主板的直接链接") **排查步骤**: 1. 确认使用Type-C接口连接 2. 检查Type-C接口旁边的`USB-5V>EN`开关状态(常规使用建议弹起/关闭5V输出) 3. 检查数据线质量,尝试更换数据线 4. 验证上位机USB端口正常工作 5. 检查主板电源是否正常供电 ### 问题2: USB设备无法识别[​](#问题2-usb设备无法识别 "问题2: USB设备无法识别的直接链接") **排查步骤**: 1. 确认拨码开关设置正确(向右为USB扩展模式) 2. 检查USB设备兼容性 3. 验证USB设备在其他主机上正常工作 4. 确保Type-C接口的`USB-5V>EN`开关已弹起(关闭5V输出) ### 问题3: RS232通信异常[​](#问题3-rs232通信异常 "问题3: RS232通信异常的直接链接") **排查步骤**: 1. 确认拨码开关设置正确(向左为RS232串口模式) 2. 检查RS232线缆连接,确认TX/RX交叉连接 3. 检查是否共地(确保主板和工具板的GND连接) 4. 验证工具板是否支持RS232通信并烧录了相应固件 *** ## **使用建议**[​](#使用建议 "使用建议的直接链接") 1. **Type-C连接**: 连接上位机时,建议将`USB-5V>EN`开关弹起(关闭5V输出),避免电源冲突 2. **功能选择**: 根据需求选择USB扩展或RS232串口功能,两者为独立模块 3. **RS232连接**: 需要连接RS232工具板时,将拨码开关向左切换 4. **USB扩展**: 需要连接摄像头等USB设备时,将拨码开关向右切换 5. **安全操作**: 所有模式切换操作必须在断电状态下进行 6. **固件匹配**: 使用RS232功能前,确认工具板已烧录RS232固件 ## **限位器接线说明**[​](#限位器接线说明 "限位器接线说明的直接链接") 接线注意事项 * 三线限位开关**极其容易接错**, 请务必确认线序正确。 * 如果您不确定接线方式, **请勿连接主板的 5V 引脚**, 以免造成短路或设备损坏。 **标准三线限位接口定义**: 1. **信号** (Signal) 2. **GND** (接地) 3. **5V** (电源) > 更多详细接线方法与配置, 请参阅: [各类限位接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) --- # 固件烧录说明 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D8主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## 如何选择正确的固件[​](#如何选择正确的固件 "如何选择正确的固件的直接链接") 🔧 固件选择规则 请根据您的连接方式和工具板类型,按照以下规则选择正确的固件: | 配置场景 | 主板固件 | 工具板固件 | 关键说明 | | ----------------------------------- | ------------- | ----------- | ------------------------------------------------------------------------------------- | | **不使用工具板**
(直接USB连接) | `USB固件` | — | 最常用配置,适用于大多数单挤出机打印机。 | | **使用 CAN 工具板** | `CAN桥接固件` | `CAN固件` | 通过CAN总线通信。**请注意**:主板必须刷写CAN桥接固件,否则需准备USB转CAN适配器(如UTOC). | | **使用 RS232 工具板** | `USB固件` | `RS232固件` | 通过串口连接工具板,主板仍使用USB固件即可。 | --- # FLY-D8 Bootloader(Katapult)恢复 ## 固件说明[​](#固件说明 "固件说明的直接链接") 仅用于救砖恢复 * Fly-D8主板**只能通过Type-C USB接口**进行BL烧录 * 出厂已经默认自带Katapult固件 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 左边为`RST按键`,右边为`BOOT按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - D8的Katapult固件 - 您可以通过以下链接获取固件: * [**FLY\_D8\_F407.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D8_F407.bin?v=0d3064a41856) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/D ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_D8_F407.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/D/FLY_D8_F407.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_D8_F407.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/D/FLY_D8_F407.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_D8-Marlin[​](#fly_d8-marlin "Fly_D8-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * USB ID获取 * CANBus UUID获取 * RS232使用方法 ## USB连接方法[​](#usb连接方法 "USB连接方法的直接链接") ### 支持的设备[​](#支持的设备 "支持的设备的直接链接") | 设备类型 | 连接方式 | 要求 / 前提 | | -------------- | ---------------------------- | ------------------------------- | | **工具板** | 连接到 **D8主板的USB-A接口** | 需刷写 **USB通信固件** | | **扩展的主板** | 连接到 **D8主板的USB-A接口** | 需刷写 **USB通信固件** | | **USB摄像头** | 连接到 **D8主板的USB-A接口** | 需为 **免驱即插即用** 型 | | **U盘** | 连接到 **D8主板的USB-A接口** | 建议格式化为 **FAT32** 文件系统 | Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要前提 在开始搜索工具板 ID 前,请务必确认满足以下所有条件: * **固件准备**: 工具板已刷入 `USB` 固件,或正处于 `USB` 烧录模式。 * **目标明确**: 本教程仅用于搜索**工具板**的 ID,**不适用于主板 ID**。 * **硬件连接**: **工具板**已通过USB正确连接到上位机的`USB-A`接口。 * **登录方式**: 请通过网络 **SSH** 登录到上位机进行操作,**请勿使用串口登录**。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") ``` ls /dev/serial/by-id/* ``` * **正常情况**: 终端会显示类似下方的ID(下图仅为示例) Loading... - 如果输入下方命令后没有ID出来,但是`lsusb`有设备请更换上位机或者更换上位机系统 注意事项 如果出现多个ID,请根据你的主板**MCU**型号选择相对应的ID. ### 将USB的ID,填写到配置里面[​](#将usb的id填写到配置里面 "将USB的ID,填写到配置里面的直接链接") | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## 填写工具板USB ID[​](#填写工具板usb-id "填写工具板USB ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 并且主板一定是`[mcu]`,工具板才是`[mcu toolboard]` | | | | ------------------------ | -------------------------- | | - fluidd的参考Loading... | - mainsail的参考Loading... | * 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper - CAN参考接线 - **终端电阻配置检查:** | 设备 | 配置方式 | 目标状态 | | ---------- | ---------------------------------- | --------------------- | | **主板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | | **工具板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | **目的:** 此电阻是保证 CAN 总线信号稳定、避免通信错误的关键。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 * RS232参考接线 Loading... ## 搜索工具板的RS232 ID[​](#搜索工具板的rs232-id "搜索工具板的RS232 ID的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要准备 1. **固件要求**:
工具板**必须刷入RS232固件**,否则无法通信 2. **强制共地**:
⚠️ 连接工具板前,必须确保将工具板与主板的GND相连(共用同一个`24V/12V`电源即可实现) ## RS232注意事项[​](#rs232注意事项 "RS232注意事项的直接链接") * 除了D8、D8PRO与C8P支持RS232接口外,其他主板均不支持RS232接口 * 不支持的主板需要使用`G2T`或者`UTOR`进行链接 ## 搜索RS232 ID[​](#搜索rs232-id "搜索RS232 ID的直接链接") 1. 打开浏览器,在网址栏中输入上位机的IP地址,比如我上位机IP是`192.168.101.179`直接输入然后回车即可 Loading... 2. 打开上位机的WEB界面,在左侧边栏的配置选项里找到: | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 3.点击`printer.cfg` 进去后,在点击右上方的`DEVICES` | | | | ---------- | ---------- | | Loading... | Loading... | 4.点击`SERIAL` ,然后刷新 | | | | ------------------------ | -------------------------- | | - fluidd的刷新Loading... | - mainsail的刷新Loading... | 5.复制ID,点击箭头所指即可复制 | | | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | - fluidd需要确认是否存在`ch341-uart`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | - mainsail需要确认是否存在`CH341-UART`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | 注意事项 * 使用`UTOR`连接工具板时,通常会出现两个`RS232_ID`,请逐一尝试。 ## 填写工具板RS232 ID[​](#填写工具板rs232-id "填写工具板RS232 ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> baud: 250000 restart_method: command ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 主板一定是`[mcu]`,工具板才是`[mcu toolboard]` - 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不相同,请填写实际获取到的ID. *** --- # 引脚分布 说明 * 本页列出 FLY-D8 (F407) 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-D8 (F407) 提供 8 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE5 | PA8 | PA15 | PC9 | PD9 | | DRIVER1 | PE4 | PC11 | PC12 | PC10 | PD8 | | DRIVER2 | PE3 | PD1 | PD2 | PD0 | PD11 | | DRIVER3 | PE2 | PD4 | PD5 | PD3 | PD10 | | DRIVER4 | PE1 | PD7 | PB6 | PD6 | PA5 | | DRIVER5 | PE0 | PC13 | PC14 | PB7 | PA4 | | DRIVER6 | PE7 | PE11 | PE10 | PC15 | PD15 | | DRIVER7 | PE8 | PA7 | PA6 | PE9 | PA3 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。`RGB / PWM` 行不是 DIAG 输入,不能用于无限位归位。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") * 请注意RGB信号脚不能接限位,只能当做PWM口 | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PD9 | DRIVER0 | | 限位口1 / IO1 | PD8 | DRIVER1 | | 限位口2 / IO2 | PD11 | DRIVER2 | | 限位口3 / IO3 | PD10 | DRIVER3 | | 限位口4 / IO4 | PA5 | DRIVER4 | | 限位口5 / IO5 | PA4 | DRIVER5 | | RGB / PWM | PD15 | - | | RGB / PWM | PA3 | - | | 探针(Probe) | PC0 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PB0 | | 加热口0 | PD12 | | 加热口1 | PD13 | | 加热口2 | PD14 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PC5 | | 热敏口0 | PC2 | | 热敏口1 | PC3 | | 热敏口2 | PC4 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PC6 | | 风扇口4 | PC7 | | 风扇口5 | PC8 | ## PWM[​](#pwm "PWM的直接链接") FLY-D8 (F407) 提供 3 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PD15 | RGB / Neopixel | | PA3 | RGB / Neopixel | | PE6 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC0 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | --------------- | ---- | | RGB0 / Neopixel | PD15 | | RGB1 / Neopixel | PA3 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PB10 | | EXP1\_2 | PB1 | | EXP1\_3 | PA14 | | EXP1\_4 | PA13 | | EXP1\_5 | PE15 | | EXP1\_6 | PE14 | | EXP1\_7 | PE13 | | EXP1\_8 | PB11 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PA9 | | EXP2\_4 | PB12 | | EXP2\_5 | PA10 | | EXP2\_6 | PB15 | | EXP2\_7 | PE12 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 注意事项 * D8与D8-PRO 使用相同原理图 ## Fly-D8资料[​](#fly-d8资料 "Fly-D8资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 接线参考 ## PIN脚说明[​](#pin脚说明 "PIN脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # FLY-D8-Pro 主板简介 > Mellow Fly-D8-Pro 是广州镁伦电子科技有限公司 Fly3D 主板研发团队推出的一款高性能 3D 打印机控制主板,最多可支持 8 路步进电机驱动。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 主板限位等接口5V供电做了隔离保护,如果不接POWER电源将不输出电源 * 采用32位主频550MHz的ARM Cortex-M7系列STM32H723主控芯片 * 支持CAN总线与RS232连接,数据传输更稳定,延迟更小,连接更稳定 * 主板预留BOOT和RESET按键,用户可以通过USB进入DFU模式更新固件 * 电源接口有防反接保护,避免客户在 DIY 时接反电源线导致板子烧毁 * 提供两个USB2.0接口,扩展了更多的连接可能性,其中一个USB接口通过开关可切换为RS232接口,以适应各种设备的连接需求 ## 主要特点[​](#主要特点 "主要特点的直接链接") * **核心性能**:采用 STM32H723 芯片,32 位 ARM Cortex-M7 内核,主频 550MHz,运算能力强。 * **接口丰富**:支持 8 路电机驱动、6 路限位、4 路加热与热敏、2 路 RGB 灯带,扩展性强。 * **连接可靠**:支持 CAN 总线与 RS232 通信,数据传输稳定、延迟低。 * **安全保护**: * 电源输入具备防反接保护。 * 限位等接口的 5V 供电采用隔离设计,未接主电源时不输出,避免误操作损坏。 * **调试便捷**:板载 BOOT 与 RESET 按键,可通过 USB 轻松进入 DFU 模式刷写固件。 * **双 USB 设计**:提供两个 USB 2.0 接口,其中一个可通过物理开关切换为 RS232 接口,适配多种外部设备。 ## 技术规格[​](#技术规格 "技术规格的直接链接") | 项目 | 说明 | | ------------ | ----------------------------------------------------------------- | | **主控芯片** | STM32H723 (ARM Cortex-M7 @ 550MHz) | | **支持固件** | Marlin 2.0 / Klipper | | **驱动支持** | 8 路,兼容 A4988、LV8729、DRV8225、TMC2208/2209/5160 (UART/SPI) 等 | | **显示接口** | 串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 | | **探头支持** | BLTouch、PL08N、Klicky、Voron Tap 等自动调平传感器 | | **输入电压** | DC 12V 或 24V | | **温度检测** | 4 路独立热敏接口 | | **加热输出** | 4 路(热床 1 路 + 挤出机加热 3 路) | | **其他接口** | 6 路限位接口、2 路 RGB 接口、CAN 总线接口、USB/RS232 切换接口 | ## 接口与连接[​](#接口与连接 "接口与连接的直接链接") * **电源**:采用防反接端子,支持 12V/24V 输入。 * **电机驱动**: 8 个独立驱动插槽,支持多种步进驱动模块。 * **通信**:支持 USB、CAN 及 RS232,可根据需要灵活配置。 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V 电源下最大电流 | 12V 电源下最大电流 | | ---------- | ------------------ | ------------------ | | 热床端口 | 10A | 5A | | 加热棒端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | * 请确保供电电压与电流满足上述要求,避免过载。 * 在连接电源前,请再次确认极性,防止反接。 --- # 摄像头连接与使用 连接与配置须知 * **连接方式**:D8-Pro 主板通过其 **USB-A 接口** 外接摄像头,并由上位机进行识别和配置。 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头,此类摄像头可在 Linux、Armbian 等系统的 Klipper 中直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他工具,配置原理相通,具体步骤请参阅其官方文档。 ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘正常已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /FLY-D8 PRO # #################################################################################### ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id ### Search for the USB firmware ID: ls -l /dev/serial/by-id/ ### Replace /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX with the ID you found. #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ### Query the CAN firmware ID: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### For the CAN ID, replace 'serial' with 'canbus_uuid:' and append the ID. ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-D8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # z1 z2 # B__________A # # # # # Z0 12864 Z3 ##################################################################### # X 轴步进电机 (DRIVER0) # ##################################################################### ## DRIVER0电机位置 [stepper_x] step_pin: PE5 # X轴电机脉冲引脚设置 dir_pin: PA8 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PA15 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PD9 # 限位开关PIN脚,建议常闭接常闭 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度-最大 100 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] uart_pin: PC9 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] #cs_pin: PC9 # SPI 片选Pin脚定义 #spi_bus: spi1a # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 (DRIVER1) # ##################################################################### ## DRIVER1电机位置 [stepper_y] step_pin: PE4 dir_pin: PC11 enable_pin: !PC12 rotation_distance: 40 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PD8 # 限位开关PIN脚,建议常闭然后添加!反转状态 #endstop_pin: tmc5160_stepper_y:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 50 homing_retract_dist: 5 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2209 or 5160) [tmc2209 stepper_y] uart_pin: PC10 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] #cs_pin: PC10 #spi_bus: spi1a # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### ## DRIVER2电机位置 [stepper_z] step_pin: PE3 dir_pin: !PD1 enable_pin: !PD2 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 microsteps: 32 endstop_pin: !PD11 # 限位开关接口 position_max: 290 # 软限位最大行程 (240mm-290mm-340mm) position_endstop: -0.5 position_min: -5 # 软限位最小行程(配置喷嘴清洁需要-5左右) homing_speed: 10 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 3 # 后撤距离 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PD0 interpolate: false run_current: 0.8 sense_resistor: 0.110 ##-------------------------------------------------------------------- ## DRIVER4电机位置 [stepper_z1] step_pin: PE2 dir_pin: PD4 enable_pin: !PD5 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z1] uart_pin: PD3 interpolate: false run_current: 1.0 sense_resistor: 0.110 #-------------------------------------------------------------------- ## DRIVER5电机位置 [stepper_z2] step_pin: PE1 dir_pin: !PD7 enable_pin: !PB6 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z2] uart_pin: PD6 interpolate: false run_current: 1.0 sense_resistor: 0.110 ##-------------------------------------------------------------------- ## DRIVER6电机位置 [stepper_z3] step_pin: PE0 dir_pin: PC13 enable_pin: !PC14 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc2209 stepper_z3] uart_pin: PB7 interpolate: False run_current: 1.0 sense_resistor: 0.110 ##################################################################### # 挤出机配置 ##################################################################### ## DRIVER7电机位置 [extruder] # 挤出机 step_pin:PE8 dir_pin:PE12 enable_pin: !PE11 microsteps: 16 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) rotation_distance: 22.52245 # 主动带轮周长mm # 校准步进值: rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.750 # 耗材直径 heater_pin: PD12 # 挤出头加热棒控制Pin脚设置(e0) sensor_type: Generic 3950 # 传感器型号 sensor_pin: PC5 # 挤出头传感器Pin脚(T_E0) max_power: 1.0 # 加热棒PWM最大输出功率 min_temp: -235 # 挤出机最小温度 max_temp: 350 # 挤出机最大温度 min_extrude_temp: 150 # 加热棒最低挤出温度(达到此温度挤出机才能有挤出动作) pressure_advance: 0.04 # 挤出机压力提前参数 pressure_advance_smooth_time:0.040 # 平稳推进时间-默认值为0.040 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark [tmc2209 extruder] uart_pin:PC15 interpolate: False run_current: 0.6 sense_resistor: 0.110 ##################################################################### # 热床配置 ##################################################################### [heater_bed] heater_pin: PB1 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PB0 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 热床最小温度 max_temp: 120 # 热床最大温度 # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin:PA1 kick_start_time: 1.0 # 启动时间(勿动) off_below: 0.10 # 勿动 hardware_pwm: true max_power: 1.0 #-------------------------------------------------------------------- [heater_fan 喉管散热] # 喉管冷却风扇 pin:PA2 max_power: 1.0 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 #-------------------------------------------------------------------- [heater_fan 热床风扇] # 电器仓风扇 pin: PA3 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 5.0 heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 #--------------------------------------------------------------- [fan_generic 热床风扇1] pin:PC6 max_power: 1.0 # #-------------------------------------------------------------------- [fan_generic 侧边风扇_fan] pin:PC7 max_power: 1.0 # #-------------------------------------------------------------------- [fan_generic 侧边风扇_fan1] pin:PC8 max_power: 1.0 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PC0 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.007 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^PC0 # 信号接口 #control_pin: PE6 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- gantry_corners: # 300mm机器调平点位 -60,-10 360,370 points: 50,25 50,225 250,225 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # LED灯配置(需要时启用) ##################################################################### [neopixel sb_leds] pin: PD15 # 信号接口 chain_count: 3 # 灯珠数量 color_order: GRBW # 灯珠类型 initial_RED: 0.4 # 天 initial_GREEN: 0.8 # 依 initial_BLUE: 1 # 蓝 initial_WHITE: 0.0 #-------------------------------------------------------------------- [board_pins] aliases: EXP1_1=PB11, EXP1_3=PA14, EXP1_5=PB10, EXP1_7=PE14, EXP1_9=, EXP1_2=PE7, EXP1_4=PA13, EXP1_6=PE15, EXP1_8=PA0 , EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_3=PA9, EXP2_5=PA10, EXP2_7=PE13, EXP2_9=, EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- [display] lcd_type: uc1701 # 显示屏驱动类型 cs_pin: EXP1_3 # 显示屏片选cs引脚设置 a0_pin: EXP1_4 # 显示屏数据a0引脚设置 rst_pin: EXP1_5 # 显示屏复位rst脚设置 contrast: 63 # 对比度 encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 # -------------------------------------------------------------------- ####适用于FLY Mini12864 [neopixel fly_mini12864] pin: EXP1_6 # 显示屏背光灯控制引脚设置 chain_count: 3 initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) color_order: RGB # 颜色顺序 ##################################################################### # 自定义gcode宏 ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 clean_nozzle # 擦嘴 QUAD_GANTRY_LEVEL # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 clean_nozzle # BED_MESH_CALIBRATE PRINT_MIN={params.PRINT_MIN} PRINT_MAX={params.PRINT_MAX} FORCE_NEW_MESH=True #根据打印面积探测网床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_huaxian] gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z1.00 X20.0 Y20.0 F6000 # 移动喷嘴以移除料线 TURN_OFF_HEATERS # 关闭热端 M107 # 关闭风扇 G1 Z2 F3000 # 将喷嘴向上移动2毫米 G90 # 设置绝对坐标体系 G0 X150 Y280 F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # 主板注意事项 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D8-Pro主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## **USB接口功能说明**[​](#usb接口功能说明 "usb接口功能说明的直接链接") ### 集成架构说明[​](#集成架构说明 "集成架构说明的直接链接") 功能独立,物理集成 Fly-D8-Pro主板上的**RS232串口**和**USB扩展功能**是两个完全独立的功能模块,仅通过物理形式集成在主板上。 Fly-D8-Pro主板配备两个USB接口,具有不同的功能: ### 1. Type-C USB (主机接口)[​](#1-type-c-usb-主机接口 "1. Type-C USB (主机接口)的直接链接") * **功能**: 专用于连接上位机 * **电源开关**: 旁边有`USB-5V>EN`开关,用于控制Type-C接口的5V供电输出 * **按下**: 打开Type-C接口5V输出(可为上位机供电) * **弹起**: 关闭Type-C接口5V输出 上位机连接建议 **常规使用时建议将`USB-5V>EN`开关弹起**(关闭5V输出),以避免: 1. 与上位机自身的5V电源冲突 2. 潜在的电源回流问题 3. 保护上位机USB接口 仅在上位机需要从Type-C接口获取额外供电时才按下开关(打开5V输出)。 ### 2. USB-A (设备扩展接口)[​](#2-usb-a-设备扩展接口 "2. USB-A (设备扩展接口)的直接链接") * **功能**: 用于扩展外设,支持连接: * USB摄像头 * U盘/存储设备 * 其他标准USB设备 * **独立模块**: USB扩展功能是完全独立的模块,仅通过主板物理集成 *** ## **USB/RS232模式切换**[​](#usbrs232模式切换 "usbrs232模式切换的直接链接") ### 功能选择说明[​](#功能选择说明 "功能选择说明的直接链接") Fly-D8-Pro主板通过拨码开关在同一物理接口上选择**USB扩展功能**或**RS232串口功能**。 ### 拨码开关设置[​](#拨码开关设置 "拨码开关设置的直接链接") Loading... | 拨码方向 | 功能模式 | 对应接口 | 典型用途 | | ---------- | ----------------- | ---------- | ------------------------ | | **向右拨** | **USB扩展模式** | USB-A接口❷ | 连接摄像头、U盘等USB设备 | | **向左拨** | **RS232串口模式** | RS232接口❸ | 连接支持RS232的工具板 | ### 模式切换注意事项[​](#模式切换注意事项 "模式切换注意事项的直接链接") 1. **功能互斥**: USB扩展与RS232串口功能不可同时启用,只能二选一 2. **固件匹配**: 使用RS232功能时,需要工具板支持RS232通信并烧录了RS232固件 3. **独立模块**: RS232串口和USB扩展是两个独立功能模块,仅通过主板物理集成 *** ## **常见问题与排查**[​](#常见问题与排查 "常见问题与排查的直接链接") ### 问题1: 上位机无法识别D8-Pro主板[​](#问题1-上位机无法识别d8-pro主板 "问题1: 上位机无法识别D8-Pro主板的直接链接") **排查步骤**: 1. 确认使用Type-C接口连接 2. 检查Type-C接口旁边的`USB-5V>EN`开关状态(常规使用建议弹起/关闭5V输出) 3. 检查数据线质量,尝试更换数据线 4. 验证上位机USB端口正常工作 5. 检查主板电源是否正常供电 ### 问题2: USB设备无法识别[​](#问题2-usb设备无法识别 "问题2: USB设备无法识别的直接链接") **排查步骤**: 1. 确认拨码开关设置正确(向右为USB扩展模式) 2. 检查USB设备兼容性 3. 验证USB设备在其他主机上正常工作 4. 确保Type-C接口的`USB-5V>EN`开关已弹起(关闭5V输出) ### 问题3: RS232通信异常[​](#问题3-rs232通信异常 "问题3: RS232通信异常的直接链接") **排查步骤**: 1. 确认拨码开关设置正确(向左为RS232串口模式) 2. 检查RS232线缆连接,确认TX/RX交叉连接 3. 检查是否共地(确保主板和工具板的GND连接) 4. 验证工具板是否支持RS232通信并烧录了相应固件 *** ## **使用建议**[​](#使用建议 "使用建议的直接链接") 1. **Type-C连接**: 连接上位机时,建议将`USB-5V>EN`开关弹起(关闭5V输出),避免电源冲突 2. **功能选择**: 根据需求选择USB扩展或RS232串口功能,两者为独立模块 3. **RS232连接**: 需要连接RS232工具板时,将拨码开关向左切换 4. **USB扩展**: 需要连接摄像头等USB设备时,将拨码开关向右切换 5. **安全操作**: 所有模式切换操作必须在断电状态下进行 6. **固件匹配**: 使用RS232功能前,确认工具板已烧录RS232固件 ## **限位器接线说明**[​](#限位器接线说明 "限位器接线说明的直接链接") 接线注意事项 * 三线限位开关**极其容易接错**, 请务必确认线序正确。 * 如果您不确定接线方式, **请勿连接主板的 5V 引脚**, 以免造成短路或设备损坏。 **标准三线限位接口定义**: 1. **信号** (Signal) 2. **GND** (接地) 3. **5V** (电源) > 更多详细接线方法与配置, 请参阅: [各类限位接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) --- # 固件烧录说明 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D8主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## 如何选择正确的固件[​](#如何选择正确的固件 "如何选择正确的固件的直接链接") 🔧 固件选择规则 请根据您的连接方式和工具板类型,按照以下规则选择正确的固件: | 配置场景 | 主板固件 | 工具板固件 | 关键说明 | | ----------------------------------- | ------------- | ----------- | ------------------------------------------------------------------------------------- | | **不使用工具板**
(直接USB连接) | `USB固件` | — | 最常用配置,适用于大多数单挤出机打印机。 | | **使用 CAN 工具板** | `CAN桥接固件` | `CAN固件` | 通过CAN总线通信。**请注意**:主板必须刷写CAN桥接固件,否则需准备USB转CAN适配器(如UTOC). | | **使用 RS232 工具板** | `USB固件` | `RS232固件` | 通过串口连接工具板,主板仍使用USB固件即可。 | --- # FLY-D8 Pro Bootloader(Katapult)恢复 ## 固件说明[​](#固件说明 "固件说明的直接链接") 仅用于救砖恢复 * Fly-D8-Pro主板**只能通过Type-C USB接口**进行BL烧录 * 出厂已经默认自带Katapult固件 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 左边为`RST按键`,右边为`BOOT按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固d8-f[​](#烧录固d8-f "烧录固d8-f的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - D8-Pro的Katapult固件 - 您可以通过以下链接获取固件: * [**FLY\_D8\_H723.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_D8_H723.bin?v=b8dcd911d4b7) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/D ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_D8_H723.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/D/FLY_D8_H723.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_D8_H723.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/D/FLY_D8_H723.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_D8-Pro-Marlin[​](#fly_d8-pro-marlin "Fly_D8-Pro-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * USB ID获取 * CANBus UUID获取 * RS232使用方法 ## USB连接方法[​](#usb连接方法 "USB连接方法的直接链接") ### 支持的设备[​](#支持的设备 "支持的设备的直接链接") | 设备类型 | 连接方式 | 要求 / 前提 | | -------------- | -------------------------------- | ------------------------------- | | **工具板** | 连接到 **D8-Pro主板的USB-A接口** | 需刷写 **USB通信固件** | | **扩展的主板** | 连接到 **D8-Pro主板的USB-A接口** | 需刷写 **USB通信固件** | | **USB摄像头** | 连接到 **D8-Pro主板的USB-A接口** | 需为 **免驱即插即用** 型 | | **U盘** | 连接到 **D8-Pro主板的USB-A接口** | 建议格式化为 **FAT32** 文件系统 | Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要前提 在开始搜索工具板 ID 前,请务必确认满足以下所有条件: * **固件准备**: 工具板已刷入 `USB` 固件,或正处于 `USB` 烧录模式。 * **目标明确**: 本教程仅用于搜索**工具板**的 ID,**不适用于主板 ID**。 * **硬件连接**: **工具板**已通过USB正确连接到上位机的`USB-A`接口。 * **登录方式**: 请通过网络 **SSH** 登录到上位机进行操作,**请勿使用串口登录**。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") ``` ls /dev/serial/by-id/* ``` * **正常情况**: 终端会显示类似下方的ID(下图仅为示例) Loading... - 如果输入下方命令后没有ID出来,但是`lsusb`有设备请更换上位机或者更换上位机系统 注意事项 如果出现多个ID,请根据你的主板**MCU**型号选择相对应的ID. ### 将USB的ID,填写到配置里面[​](#将usb的id填写到配置里面 "将USB的ID,填写到配置里面的直接链接") | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## 填写工具板USB ID[​](#填写工具板usb-id "填写工具板USB ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 并且主板一定是`[mcu]`,工具板才是`[mcu toolboard]` | | | | ------------------------ | -------------------------- | | - fluidd的参考Loading... | - mainsail的参考Loading... | * 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper - CAN参考接线 - **终端电阻配置检查:** | 设备 | 配置方式 | 目标状态 | | ---------- | ---------------------------------- | --------------------- | | **主板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | | **工具板** | 找到标有 `120Ω` 的跳线座或拨码开关 | 接上跳线帽或拨至 `ON` | **目的:** 此电阻是保证 CAN 总线信号稳定、避免通信错误的关键。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 * RS232参考接线 Loading... ## 搜索工具板的RS232 ID[​](#搜索工具板的rs232-id "搜索工具板的RS232 ID的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要准备 1. **固件要求**:
工具板**必须刷入RS232固件**,否则无法通信 2. **强制共地**:
⚠️ 连接工具板前,必须确保将工具板与主板的GND相连(共用同一个`24V/12V`电源即可实现) ## RS232注意事项[​](#rs232注意事项 "RS232注意事项的直接链接") * 除了D8、D8PRO与C8P支持RS232接口外,其他主板均不支持RS232接口 * 不支持的主板需要使用`G2T`或者`UTOR`进行链接 ## 搜索RS232 ID[​](#搜索rs232-id "搜索RS232 ID的直接链接") 1. 打开浏览器,在网址栏中输入上位机的IP地址,比如我上位机IP是`192.168.101.179`直接输入然后回车即可 Loading... 2. 打开上位机的WEB界面,在左侧边栏的配置选项里找到: | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 3.点击`printer.cfg` 进去后,在点击右上方的`DEVICES` | | | | ---------- | ---------- | | Loading... | Loading... | 4.点击`SERIAL` ,然后刷新 | | | | ------------------------ | -------------------------- | | - fluidd的刷新Loading... | - mainsail的刷新Loading... | 5.复制ID,点击箭头所指即可复制 | | | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | - fluidd需要确认是否存在`ch341-uart`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | - mainsail需要确认是否存在`CH341-UART`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | 注意事项 * 使用`UTOR`连接工具板时,通常会出现两个`RS232_ID`,请逐一尝试。 ## 填写工具板RS232 ID[​](#填写工具板rs232-id "填写工具板RS232 ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> baud: 250000 restart_method: command ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 主板一定是`[mcu]`,工具板才是`[mcu toolboard]` - 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不相同,请填写实际获取到的ID. *** --- # 引脚分布 说明 * 本页列出 FLY-D8 (H723) 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-D8 (H723) 提供 8 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE5 | PA8 | PA15 | PC9 | PD9 | | DRIVER1 | PE4 | PC11 | PC12 | PC10 | PD8 | | DRIVER2 | PE3 | PD1 | PD2 | PD0 | PD11 | | DRIVER3 | PE2 | PD4 | PD5 | PD3 | PD10 | | DRIVER4 | PE1 | PD7 | PB6 | PD6 | PA6 | | DRIVER5 | PE0 | PC13 | PC14 | PB7 | PA5 | | DRIVER6 | PE8 | PE12 | PE11 | PC15 | PD15 | | DRIVER7 | PE9 | PC4 | PA7 | PE10 | PA4 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。`RGB / PWM` 行不是 DIAG 输入,不能用于无限位归位。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") * 请注意RGB信号脚不能接限位,只能当做PWM口 | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PD9 | DRIVER0 | | 限位口1 / IO1 | PD8 | DRIVER1 | | 限位口2 / IO2 | PD11 | DRIVER2 | | 限位口3 / IO3 | PD10 | DRIVER3 | | 限位口4 / IO4 | PA6 | DRIVER4 | | 限位口5 / IO5 | PA5 | DRIVER5 | | RGB / PWM | PD15 | - | | RGB / PWM | PA4 | - | | 探针(Probe) | PC0 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PB1 | | 加热口0 | PD12 | | 加热口1 | PD13 | | 加热口2 | PD14 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PB0 | | 热敏口0 | PC2 | | 热敏口1 | PC3 | | 热敏口2 | PC5 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA1 | | 风扇口1 | PA2 | | 风扇口2 | PA3 | | 风扇口3 | PC6 | | 风扇口4 | PC7 | | 风扇口5 | PC8 | ## PWM[​](#pwm "PWM的直接链接") FLY-D8 (H723) 提供 3 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PD15 | RGB / Neopixel | | PA4 | RGB / Neopixel | | PE6 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC0 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | --------------- | ---- | | RGB0 / Neopixel | PD15 | | RGB1 / Neopixel | PA4 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PB11 | | EXP1\_2 | PE7 | | EXP1\_3 | PA14 | | EXP1\_4 | PA13 | | EXP1\_5 | PB10 | | EXP1\_6 | PE15 | | EXP1\_7 | PE14 | | EXP1\_8 | PA0 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PA9 | | EXP2\_4 | PB12 | | EXP2\_5 | PA10 | | EXP2\_6 | PB15 | | EXP2\_7 | PE13 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 注意事项 * D8与D8-PRO 使用相同原理图 ## Fly-D8-Pro资料[​](#fly-d8-pro资料 "Fly-D8-Pro资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 接线参考 ## PIN脚说明[​](#pin脚说明 "PIN脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # FLY-DP5 主板简介 > Mellow Fly-DP5 是广州镁伦电子科技有限公司 Fly3D 主板研发团队推出的一款高性能 3D 打印机主板,最多支持 5 路步进电机。 Loading... 重要提示 1. **固件支持**: 本主板支持 Klipper 与 Marlin 固件。若使用 Klipper 固件,需要配合上位机使用。 2. **供电说明**: DP5 主板 **不支持** 通过接口为上位机反向供电。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * **主控芯片**: 采用 32 位 ARM Cortex-M0+ 架构的 STM32F072RBT6 芯片,主频 48MHz. * **通信总线**: 支持 CAN 总线连接,具有数据传输稳定、延迟低、连接可靠等优势。 * **驱动兼容**: 支持 TMC5160、TMC2209与TP2240 * **智能限位**: 板载 DIAG 功能引脚,通过跳线帽即可轻松实现无需物理限位开关的传感器归位。 * **丰富接口**: 提供 BLTouch(舵机与探头)、UART、12864 液晶屏等多种拓展接口。 * **灵活供电**: 支持 12-24V 宽电压直流输入,供电稳定,省去额外降压模块。 ## 产品参数[​](#产品参数 "产品参数的直接链接") * **主控 MCU**: STM32F072RBT6 * **支持固件**: Klipper, Marlin * **输入电压**: DC 12-24V * **驱动接口模式**: SPI, UART, STEP/DIR * **兼容驱动器**: TMC5160、TMC2209与TP2240 * **温度传感器**: 2 路 NTC 100K 热敏电阻接口 * **加热输出**: 2 路 MOS 控制接口,支持大电流加热棒 * **风扇接口**: * 2 路两线可控风扇 * 2 路并联风扇接口 * 2 路常开风扇接口 * **支持机型结构**: Cartesian, Delta, Kossel, Ultimaker, CoreXY 等 Loading... ## 电气规格(最大持续电流)[​](#电气规格最大持续电流 "电气规格(最大持续电流)的直接链接") | 输出端口 | 24V 电源下最大电流 | 12V 电源下最大电流 | | ---------- | ------------------ | ------------------ | | 加热棒端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | * 请确保供电电压与电流满足上述要求,避免过载。 * 在连接电源前,请再次确认极性,防止反接。 --- # ADXL345 ## 接线[​](#接线 "接线的直接链接") * 加速度计的连接方式如下图所示 Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [adxl345] cs_pin: PB12 spi_bus: spi2 # 硬spi,硬spi和软spi二选一.默认硬spi # spi_software_mosi_pin: PB15 # 软spi,硬spi和软spi二选一.默认硬spi # spi_software_miso_pin: PB14 # spi_software_sclk_pin: PB13 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # 一般为热床的正中间,请根据您机器的实际情况修改 ``` ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # Klipper参考 # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /(需要自行添加) # #################################################################################### ## Fly-DP5资料网址: ## Fly-DP5原理图网址: ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f072xb_************************ ### 查询usb固件id是:ls /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f072xb_************************替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-DP5] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) ##################################################################### #[temperature_sensor FLY-π] # 上位机温度 #sensor_type: temperature_host # 关联上位机 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B__________A # Z0 # # 12864 ##################################################################### # X 轴步进电机 (B电机) # ##################################################################### ## DRIVER0电机位置 [stepper_x] step_pin: PC15 # X轴电机脉冲引脚设置 dir_pin: PC14 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PC2 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: ^PB4 # 限位开关PIN脚,建议常闭接常闭 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 无限位归零配置 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 200 # 复位速度-最大 100 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 ##################################################################### ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] uart_pin: PC13 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### # [tmc5160 stepper_x] # cs_pin: PC13 # spi_bus: spi2 # run_current: 1.0 # 电机运行电流值 # interpolate: False # 是否开启256微步插值(开启是True,关闭是False) # sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 (A电机) # ##################################################################### ## DRIVER1电机位置 [stepper_y] step_pin: PA1 dir_pin: PA0 enable_pin: !PA2 rotation_distance: 40 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: ^PB3 # 限位开关PIN脚,建议常闭然后添加!反转状态 #endstop_pin: tmc5160_stepper_x:virtual_endstop # 无限位归零配置 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 200 homing_retract_dist: 5 ##################################################################### ## 请确保驱动型号配置正确 (2209 or 5160) [tmc2209 stepper_y] uart_pin: PC3 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### #[tmc5160 stepper_y] #cs_pin: PC3 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### ## DRIVER2电机位置 [stepper_z] step_pin: PA5 dir_pin: !PA4 enable_pin: !PA6 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改 microsteps: 16 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: ^PD2 # 限位开关接口 position_max: 290 # 软限位最大行程 (240mm-290mm-340mm) position_endstop: -0.5 position_min: -5 # 软限位最小行程(配置喷嘴清洁需要-5左右) homing_speed: 10 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 3 # 后撤距离 ##################################################################### [tmc2209 stepper_z] uart_pin: PA3 interpolate: false run_current: 0.8 sense_resistor: 0.110 ###################################################################### ## DRIVER4电机位置 #[stepper_z1] #step_pin: PB10 #dir_pin: PB2 #enable_pin: !PB11 #rotation_distance: 8 #microsteps: 32 #[tmc2209 stepper_z1] #uart_pin: PB1 #interpolate: false #run_current: 1.0 #sense_resistor: 0.110 ##################################################################### # 挤出机配置 ##################################################################### ## DRIVER7电机位置 [extruder] # 挤出机 step_pin:PC5 dir_pin:PC4 enable_pin: !PB0 microsteps: 16 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) rotation_distance: 22.52245 # 主动带轮周长mm # 校准步进值: 23.1325301 = 旧值22.6789511*实际值102/目标值100 gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.750 # 耗材直径 heater_pin: PC6 # 挤出头加热棒控制Pin脚设置(e0) sensor_type: Generic 3950 # 传感器型号 sensor_pin: PC1 # 挤出头传感器Pin脚(T_E0) max_power: 1.0 # 加热棒PWM最大输出功率 min_temp: -235 # 挤出机最小温度 max_temp: 350 # 挤出机最大温度 min_extrude_temp: 150 # 加热棒最低挤出温度(达到此温度挤出机才能有挤出动作) pressure_advance: 0.04 # 挤出机压力提前参数 pressure_advance_smooth_time:0.040 # 平稳推进时间-默认值为0.040 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark [tmc2209 extruder] uart_pin:PA7 interpolate: False run_current: 0.6 sense_resistor: 0.110 ##################################################################### # 热床配置 ##################################################################### [heater_bed] heater_pin: PC7 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC0 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 热床最小温度 max_temp: 120 # 热床最大温度 # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin:PC9 kick_start_time: 1.0 # 启动时间(勿动) off_below: 0.10 # 勿动 max_power: 1.0 ##################################################################### [heater_fan 喉管散热] # 喉管冷却风扇 pin:PC8 max_power: 1.0 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PB5 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.007 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### #[bltouch] #sensor_pin: ^PB5 # 信号接口 #control_pin: PA8 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 ##################################################################### #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 12864配置(需要时启用) ##################################################################### [board_pins] aliases: EXP1_1=NC, EXP1_3=PC11, EXP1_5=PC10, EXP1_7=NC, EXP1_9=, EXP1_2=PA15, EXP1_4=PA14, EXP1_6=PA13, EXP1_8=NC, EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_3=PC12, EXP2_5=PB6, EXP2_7=NC, EXP2_9=, EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, ##################################################################### [display] lcd_type: uc1701 # 显示屏驱动类型 cs_pin: EXP1_3 # 显示屏片选cs引脚设置 a0_pin: EXP1_4 # 显示屏数据a0引脚设置 rst_pin: EXP1_5 # 显示屏复位rst脚设置 contrast: 63 # 对比度 encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #################################################################### ####适用于FLY Mini12864 [neopixel fly_mini12864] pin: EXP1_6 # 显示屏背光灯控制引脚设置 chain_count: 3 initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) color_order: RGB # 颜色顺序 #################################################################### [neopixel TP_led] pin:PB7 chain_count: 50 color_order: GRB initial_RED: 0.0 initial_GREEN: 0.1 initial_BLUE: 0.0 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 G28 # 归位所有轴 G1 Z20 F3000 # 抬高龙门 #SET_LED LED=LEDlight RED=0.2 GREEN=0.2 BLUE=0.5 # LED灯控制 #M117 Printing # 向屏幕发送文本 ##################################################################### [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 ##################################################################### [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # 主板常见问题解答 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-DP5 主板**必须且只能**通过其板载的 **Type-C USB 接口** 与上位机建立 Klipper 通信连接。 Loading... **连接要求**: * 使用 **高质量 Type-C 数据线**, 确保数据传输稳定。 * 建议数据线长度 **不超过 1.5 米**, 避免因线缆过长导致信号衰减。 * 请将数据线另一端连接至上位机的标准 **USB-A 接口**。 *** ## **常见问题与排查**[​](#常见问题与排查 "常见问题与排查的直接链接") ### **问题 1: 上位机无法识别 DP5 主板**[​](#问题-1-上位机无法识别-dp5-主板 "问题-1-上位机无法识别-dp5-主板的直接链接") **排查步骤**: 1. **检查物理连接**: 确认是否使用主板上的 **Type-C 接口** 进行连接。 2. **确认固件状态**: 检查主板是否已正确刷入 Klipper 固件。 *** ### **问题 2: 上位机出现间歇性重启或通信异常**[​](#问题-2-上位机出现间歇性重启或通信异常 "问题-2-上位机出现间歇性重启或通信异常的直接链接") **问题现象** 若将 Fly-DP5 主板作为上位机(如树莓派)的供电来源, 可能会导致上位机出现: * 间歇性无故重启 * 与主板的通信意外中断 * USB设备识别异常 * Klipper 服务意外停止 **根本原因与解决方案** 此问题的根本原因是**供电方式错误**。上位机必须由其**独立的电源适配器**供电, 以获得稳定、充足的电流。 **您必须确保**: 1. **上位机独立供电**: 树莓派等上位机必须连接其原装或专用的电源适配器。 2. **禁止通过主板供电**: **严禁**将主板的 5V 引脚连接到上位机的 5V 供电引脚来为其供电。 **请检查**您的接线, 确保上位机与主板之间**仅通过 USB 数据线连接**, 不存在任何额外的供电线。 *** ## **限位器接线说明**[​](#限位器接线说明 "限位器接线说明的直接链接") 接线注意事项 * 三线限位开关**极其容易接错**, 请务必确认线序正确。 * 如果您不确定接线方式, **请勿连接主板的 5V 引脚**, 以免造成短路或设备损坏。 **标准三线限位接口定义**: 1. **信号** (Signal) 2. **GND** (接地) 3. **5V** (电源) > 更多详细接线方法与配置, 请参阅: [各类限位接线说明](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/optimum_usage/stop) --- # 固件烧录说明 ## **上位机连接说明**[​](#上位机连接说明 "上位机连接说明的直接链接") 核心连接限制 Fly-D5主板**只能通过Type-C USB接口**与上位机进行Klipper通信。 Loading... **连接要求**: * 使用**高质量Type-C数据线**,确保数据传输稳定 * 建议避免使用过长的数据线(不超过1.5米) * 连接至上位机的标准USB-A接口 *** ## 如何选择正确的固件[​](#如何选择正确的固件 "如何选择正确的固件的直接链接") 🔧 固件选择规则 请根据您的连接方式和工具板类型,按照以下规则选择正确的固件: | 配置场景 | 主板固件 | 工具板固件 | 关键说明 | | ----------------------------------- | ------------- | ---------- | ------------------------------------------------------------------------------------- | | **不使用工具板**
(直接USB连接) | `USB固件` | — | 最常用配置,适用于大多数单挤出机打印机。 | | **使用 CAN 工具板** | `CAN桥接固件` | `CAN固件` | 通过CAN总线通信。**请注意**:主板必须刷写CAN桥接固件,否则需准备USB转CAN适配器(如UTOC). | --- # FLY-DP5 Bootloader(Katapult)恢复 ## 固件说明[​](#固件说明 "固件说明的直接链接") 仅用于救砖恢复 * Fly-DP5主板**只能通过Type-C USB接口**进行BL烧录 * 出厂已经默认自带Katapult固件 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 左边为`RST按键`,右边为`BOOT按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - DP5的Katapult固件 - 您可以通过以下链接获取固件: * [**FLY\_DP5.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/D/FLY_DP5.bin?v=da1166929371) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/D ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_DP5.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/D/FLY_DP5.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_DP5.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/D/FLY_DP5.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_DP5-Marlin[​](#fly_dp5-marlin "Fly_DP5-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - CAN参考接线 Loading... * 需要将`120Ω`跳线接上 ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 通过插件扩展驱动LED 需要通过ssh连接到上位机后按照下方链接进行安装与配置 ``` https://github.com/julianschill/klipper-led_effect ``` ## 安装[​](#安装 "安装的直接链接") 请使用**MobaXterm\_Personal**等**SSH工具**连接通过**WIFI**到您的上位机,并且需要确定以下几点 1. **请确保上位机安装好了Klipper固件** 2. **请确保登录的用户必须是安装好Klipper的用户** 3. **请确保你的输入法是英文** 4. **请确保你的上位机可以正常搜索到设备** 5. **请确保以上注意事项都做到,否则无法进行下一步** 该模块可以使用安装脚本安装到现有的 Klipper 安装中。 ``` cd ~ git clone https://github.com/julianschill/klipper-led_effect.git cd klipper-led_effect ./install-led_effect.sh ``` ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [neopixel TP_led] pin: PB7 chain_count: 25 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 #66CCFF [led_effect sb_nozzle_cooling] autostart: false frame_rate: 24 leds: neopixel:TP_led (9,10) layers: breathing 3 1 top (0.0, 0.0, 1.0, 0.1) [led_effect rainbow] leds: neopixel:TP_led autostart: true frame_rate: 24 layers: gradient 0.3 1 add (0.3, 0.0, 0.0),(0.0, 0.3, 0.0),(0.0, 0.0, 0.3) ``` --- # LED 效果 凭借其灵活性和相对易用性,可编程LED(Addressable LED)正逐渐取代RGB LED.每个独立的LED元件都能以极高的速度显示全光谱颜色,因此可用于创建各种灯光效果。 ## 配置灯带 (Configuring the strips)[​](#配置灯带-configuring-the-strips "配置灯带 (Configuring the strips)的直接链接") 断电操作 连接、拔插或更换 LED 灯带、数据线、电源线前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、改线或触碰裸露端子。 在您的配置文件中,每个连接到IO引脚的灯带或灯链都必须有一个定义。需要定义每条灯带的数据引脚(如果适用,还需时钟引脚)以及灯链中的LED数量。LED效果实例能够同时使用多种不同类型和颜色顺序的灯带,但每条灯带必须首先按其类型定义。 ``` [neopixel panel_ring] pin: # 数据引脚 chain_count: 16 # LED数量 ``` ## 配置效果 (Configuring the effects)[​](#配置效果-configuring-the-effects "配置效果 (Configuring the effects)的直接链接") 从更抽象的意义上说,效果是灯带所处的*状态*。效果可以由1个LED或100个LED组成。可以有1个效果层或10个效果层。这一切都是任意且可扩展的。这意味着,可以同时运行的层数和LED数量的唯一限制是宿主操作系统的处理能力。在初步测试中,在树莓派4上以24 FPS的速度同时运行了超过100个LED和12个效果层。 ## 基本层定义 (Basic layer definition)[​](#基本层定义-basic-layer-definition "基本层定义 (Basic layer definition)的直接链接") 在我们的示例打印机中,有一个由16个Neopixel LED组成的环,位于前面板上;还有一小段Neopixel LED位于热端旁边,用于照亮打印件。 此外,在热床下方还有5个 Dotstar LED。下方配置中的引脚均使用占位符,请按实际主板文档替换。 ``` [neopixel panel_ring] # 前面板环形灯带 pin: chain_count: 16 [neopixel tool_lights] # 工具头灯光 pin: chain_count: 6 [dotstar bed_lights] # 热床灯光 data_pin: # Dotstar需要数据引脚 clock_pin: # Dotstar需要时钟引脚 chain_count: 5 ``` 我们希望当打印机上线时,环形灯带亮起浅蓝色,并且亮度进行*呼吸*(逐渐变亮再变暗)。 ``` [led_effect panel_idle] # 定义名为panel_idle的效果 autostart: true # 开机自动启动 frame_rate: 24 # 帧率 (FPS) leds: # 应用效果的灯带 neopixel:panel_ring layers: # 效果层定义 breathing 10 1 top (.5,.5,1) # 呼吸效果 速度10 截止值1 顶部混合模式 颜色(0.5,0.5,1) [浅蓝] ``` 这定义了一个名为 `panel_idle` 的效果。 ### 控制效果 (Controlling the effects)[​](#控制效果-controlling-the-effects "控制效果 (Controlling the effects)的直接链接") 效果可以是活动的(active)或非活动的(inactive)。非活动效果不输出任何颜色数据,而活动效果返回颜色数据,这些数据会在它们运行的每个LED上进行叠加求和。 #### 激活和停用效果 (Activating and deactivating effects)[​](#激活和停用效果-activating-and-deactivating-effects "激活和停用效果 (Activating and deactivating effects)的直接链接") 我们的示例效果可以通过运行GCode命令 `SET_LED_EFFECT EFFECT=panel_idle` 来激活。为了停止当前在新效果所使用的LED上运行的所有其他效果,将 `REPLACE` 参数设置为1: `SET_LED_EFFECT EFFECT=panel_idle REPLACE=1` 运行命令 `SET_LED_EFFECT EFFECT=panel_idle STOP=1` 会再次停用这个特定的效果。 要停用所有效果,我们可以使用GCode命令 `STOP_LED_EFFECTS`。 要仅停用特定LED的效果,我们可以指定LEDS参数: `STOP_LED_EFFECTS LEDS="neopixel:panel_ring"` 您也可以指定索引(见下文): `STOP_LED_EFFECTS LEDS="neopixel:panel_ring (1-7)"`。一次只能指定一个LED参数。要停止多个LED的效果,我们必须多次运行该命令。 #### 淡入淡出 (Fading in and out)[​](#淡入淡出-fading-in-and-out "淡入淡出 (Fading in and out)的直接链接") 可以通过指定 `FADETIME` 参数来使效果淡入淡出: `SET_LED_EFFECT EFFECT=panel_idle FADETIME=1.0` 在1秒内将效果淡入。运行 `SET_LED_EFFECT EFFECT=panel_idle STOP=1 FADETIME=1.0` 在1秒内将其淡出。我们也可以通过运行 `STOP_LED_EFFECTS FADETIME=1.0` 将所有效果淡出。还可以通过将 `REPLACE` 参数与 `SET_LED_EFFECT` 结合使用来实现效果间的交叉淡入淡出(见上文): `SET_LED_EFFECT EFFECT=panel_idle REPLACE=1 FADETIME=1.0` ### 附加的效果级别参数 (Additional effect level parameters)[​](#附加的效果级别参数-additional-effect-level-parameters "附加的效果级别参数 (Additional effect level parameters)的直接链接") * `autostart: true` - 在启动时自动启动效果。 * `frame_rate:` - 设置效果的帧率(每秒帧数)。 * `run_on_error:` - (需要打补丁的MCU固件。当前不支持。) * `heater:` - 指定用于加热器效果(heater effect)的加热器。使用 `extruder` 表示挤出机,`heater_bed` 表示热床。对于温控风扇或传感器,添加类型并使用引号。 示例:`heater: "temperature_fan myfan"` * `analog_pin:` - 指定用于需要模拟信号的效果的引脚。 * `stepper:` - 指定用于步进电机效果(stepper effect)的轴。可能的值有:`x`, `y` 和 `z`. 示例:`stepper: x` * `endstops:` - 指定归位效果(homing effect)触发时生效的限位开关。多个限位开关可以指定为逗号分隔的列表。可能的值有:`x`, `y`, `z` 和 `probe`. 示例:`endstops: x, y` ## 定义LED (Defining LEDs)[​](#定义led-defining-leds "定义LED (Defining LEDs)的直接链接") `leds:` 部分是一个列表,列出了组成该效果的Neopixel或Dotstar灯带。两种类型可以用于同一个效果。每条灯带在 `leds:` 部分下方单独一行定义并缩进。 ``` leds: neopixel:panel_ring neopixel:tool_lights dotstar:bed_lights ``` 此外,可以决定只让特定的LED显示该效果。这是通过在灯带名称后提供要使用的LED索引来实现的。索引可以是列表或范围。范围也可以倒置以反转效果方向。如果省略索引,则使用整条灯带。 同样,如果出于某种原因需要,同一条灯带可以在一个效果中使用两次,并指定不同的LED. ``` leds: neopixel:tool_lights # 使用整个tool_lights灯带 neopixel:panel_ring (1-7) # 使用panel_ring灯带的LED 1到7 neopixel:panel_ring (16-9) # 使用panel_ring灯带的LED 16到9 (倒序) dotstar:bed_lights (1,3,5) # 使用bed_lights灯带的LED 1, 3, 5 ``` ## 定义效果层 (Defining Effect Layers)[​](#定义效果层-defining-effect-layers "定义效果层 (Defining Effect Layers)的直接链接") 效果是逐帧生成的。每帧包含的像素数等于为该效果定义的LED数量。因此,一个指定了22个LED的效果每帧将有22个像素。 每个效果层都是作为一帧生成的。每一层帧与下一层混合以生成最终效果。混合是累积性的,颜色如何混合由顶层的混合模式定义。 每个效果层在其自己的行上列出,并且每个层都有自己的设置。 大多数效果层(如呼吸breathing和渐变gradient)在Klipper启动时预渲染,以节省后续的计算开销。其他效果(如火焰Fire和闪烁Twinkle)则是按需渲染。 每层使用以下参数定义: * **层名称 (Layer name)** - 效果类型(如 static, breathing, fire 等) * **效果速率 (Effect Rate)** - 控制效果速度、周期或强度的数字参数(具体含义因效果而异) * **截止值 (Cutoff)** - 另一个数字参数,通常控制效果的长度、衰减或阈值(具体含义因效果而异) * **混合模式 (Blending mode)** - 定义该层如何与下方图层混合(如 top, add, screen 等) * **调色板 (Color palette)** - 定义效果使用的颜色,格式为 (R, G, B) 或 (R, G, B, W),值范围0.0到1.0 每层必须在单独的一行上定义,并且每行必须缩进。 调色板的长度可以是任意的,但可能会根据帧大小或灯带上的LED数量进行压缩。颜色定义为红(Red)、绿(Green)、蓝(Blue)和(可选的)白(White)的分组。白色通道仅用于RGBW LED,在RGB LED上会被忽略。每种颜色的范围是从0.0到1.0的小数。因此,黄色应使用 (1.0, 1.0, 0.0)。对于白色,在RGB LED上应使用 (1.0, 1.0, 1.0),在RGBW LED上应使用 (0.0, 0.0, 0.0, 1.0)。 单个颜色必须用括号括起来,并用逗号分隔。 一些示例调色板: 彩虹 Rainbow (1.0, 0.0, 0.0),(0.0, 1.0, 0.0),(0.0, 0.0, 1.0) # 红 -> 绿 -> 蓝 火焰 Fire (0.0, 0.0, 0.0),(1.0, 0.0, 0.0),(1.0, 1.0, 0.0),(1.0, 1.0, 1.0) # 黑 -> 红 -> 黄 -> 白 蓝色彗星 Blue Comet (0.8, 1.0, 1.0),(0.0, 0.8, 1.0),(0.0, 0.0, 1.0) # 浅青 -> 蓝青 -> 深蓝 ``` layers: breathing .5 0 screen (0,.1,1), (0,1,.5), (0, 1,1), (0,.1,.5) # 呼吸效果 速度0.5 截止值0 屏幕混合模式 4种蓝色调 static 1 0 bottom (1,.1,0), (1,.1,0), (1,.1,0), (1,1,0) # 静态效果 速率1 截止值0 底部混合模式 橙色(重复4次) ``` 有几种效果可供选择。 #### 静态 (Static)[​](#静态-static "静态 (Static)的直接链接") **效果速率 (Effect Rate):** 未使用,但必须提供 **截止值 (Cutoff):** 未使用,但必须提供 **调色板 (Palette):** 颜色在灯带上均匀混合 显示单一颜色且不变化。如果提供包含多种颜色的调色板,颜色将根据色相差异在LED上均匀混合。 #### 线性渐变 (LinearFade)[​](#线性渐变-linearfade "线性渐变 (LinearFade)的直接链接") **效果速率 (Effect Rate):** 3 一个完整周期的持续时间(秒) **截止值 (Cutoff):** 0 未使用,但必须提供 **调色板 (Palette):** 颜色按顺序循环 LED在颜色之间线性渐变。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。效果速率参数控制遍历所有颜色所需的时间。 #### 呼吸 (Breathing)[​](#呼吸-breathing "呼吸 (Breathing)的直接链接") **效果速率 (Effect Rate):** 3 一个完整呼吸周期(亮->暗->亮)的持续时间(秒) **截止值 (Cutoff):** 0 未使用,但必须提供 **调色板 (Palette):** 颜色按顺序循环 颜色逐渐变亮再变暗(呼吸)。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。效果速率参数控制一次“呼吸”所需的时间。 #### 闪烁 (Blink)[​](#闪烁-blink "闪烁 (Blink)的直接链接") **效果速率 (Effect Rate):** 1 一个完整周期(亮->灭->亮)的持续时间(秒) **截止值 (Cutoff):** 0.5 LED处于亮起状态的时间比例(0到1之间) **调色板 (Palette):** 颜色按顺序循环 LED根据效果速度完全亮起和完全熄灭。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。 #### 频闪 (Strobe)[​](#频闪-strobe "频闪 (Strobe)的直接链接") **效果速率 (Effect Rate):** 1 每秒频闪的次数 **截止值 (Cutoff):** 1.5 决定衰减速率。数值越大衰减越快 **调色板 (Palette):** 颜色按顺序循环 LED完全亮起,然后随时间衰减熄灭。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。效果速率控制灯光每秒频闪的次数。截止值参数控制衰减速率。1.5是一个不错的衰减速率值。 #### 闪烁 (Twinkle)[​](#闪烁-twinkle "闪烁 (Twinkle)的直接链接") **效果速率 (Effect Rate):** 1 增加LED点亮的概率。 **截止值 (Cutoff):** .25 决定衰减速率。数值越大衰减越快 **调色板 (Palette):** 随机选择颜色 沿灯带随机闪光并衰减。如果指定了调色板,则从调色板中随机选择一种颜色。 #### 渐变 (Gradient)[​](#渐变-gradient "渐变 (Gradient)的直接链接") **效果速率 (Effect Rate):** 1 渐变循环的速度,负值改变方向。 **截止值 (Cutoff):** 1 灯链上渐变的数量(值越大,单个渐变越短) **调色板 (Palette):** 具有均匀间距的线性渐变。 调色板中的颜色混合成一条沿灯带长度的线性渐变。效果速率参数控制颜色循环的速度。效果速率的负值会改变渐变循环的方向(从右向左 vs 从左向右)。截止值决定渐变长度相对于灯链长度的关系。数值越大,渐变越短(例如,值2表示在灯链长度上有2个渐变)。 #### 图案 (Pattern)[​](#图案-pattern "图案 (Pattern)的直接链接") **效果速率 (Effect Rate):** 1 图案移动的时间间隔(秒) **截止值 (Cutoff):** 1 图案每次移动的LED位置数量 **调色板 (Palette):** 要移动的图案 调色板作为重复图案应用于灯链,并沿灯链移动。效果速率决定移动之间的时间(秒),截止值决定图案每次移动的LED位置数量。 #### 彗星 (Comet)[​](#彗星-comet "彗星 (Comet)的直接链接") **效果速率 (Effect Rate):** 1 彗星移动的速度,负值改变方向 **截止值 (Cutoff):** 1 彗尾的长度(相对值) **调色板 (Palette):** “彗头”的颜色和“彗尾”的渐变 一个光点穿过LED,并带有衰减的拖尾。方向可以通过使用负的效果速率值来控制。调色板颜色决定彗星和拖尾的颜色。调色板的第一个颜色定义彗星“头部”的颜色,其余颜色混合到“尾部”。 #### 追逐 (Chase)[​](#追逐-chase "追逐 (Chase)的直接链接") **效果速率 (Effect Rate):** 1 光点移动的速度,负值改变方向 **截止值 (Cutoff):** 1 拖尾的长度(相对值) **调色板 (Palette):** “头部”的颜色和“尾部”的渐变 设置与彗星相同,但有多个光点相互追逐。 #### 加热器 (Heater)[​](#加热器-heater "加热器 (Heater)的直接链接") **效果速率 (Effect Rate):** 1 激活效果的最低温度(℃) **截止值 (Cutoff):** 0 达到目标温度后是否禁用效果(1=禁用, 0=保持静态) **调色板 (Palette):** 从冷到热混合的颜色值 当指定的加热器处于活动状态或温度高于指定的最低温度时,此效果激活。例如,如果加热器打开并设置目标温度,LED将循环渐变颜色,直到达到目标温度。一旦达到目标温度,将使用渐变的最后一个颜色,并且效果本质上变为静态颜色,直到加热器状态改变。如果提供了截止值参数(设为1),则在达到目标温度后效果将禁用。如果加热器关闭,颜色将反向遵循此模式,直到温度降至配置中指定的最低温度以下。LED 只能作为状态提示,不能作为热端或热床可触摸的安全依据;触摸前必须查看实际温度,并等待热端、热床充分冷却。 #### 温度 (Temperature)[​](#温度-temperature "温度 (Temperature)的直接链接") **效果速率 (Effect Rate):** 20 冷端温度(℃) **截止值 (Cutoff):** 80 热端温度(℃) **调色板 (Palette):** 从冷到热混合的颜色值 所配置加热器的温度决定了在调色板上渐变显示的颜色。当调色板中只定义了一种颜色时,该颜色的亮度由温度决定。 #### 火焰 (Fire)[​](#火焰-fire "火焰 (Fire)的直接链接") **效果速率 (Effect Rate):** 45 “火花”发生的概率 **截止值 (Cutoff):** 40 “冷却”速率 **调色板 (Palette):** 从“冷”到“热”混合的颜色值 Arduino的FastLED库附带了一个名为Fire2012WithPalette的示例程序。此效果是该程序的移植版。它通过“点燃”一个LED来模拟火焰。来自该LED的“热量”沿着LED长度传播,并逐渐冷却。较高的火花率会导致在灯带底部积累更多的热量,从而产生更强烈的火焰。改变冷却速率会导致整体火焰更长或更短。 #### 加热器火焰 (HeaterFire)[​](#加热器火焰-heaterfire "加热器火焰 (HeaterFire)的直接链接") **效果速率 (Effect Rate):** 1 激活效果的最低温度(℃) **截止值 (Cutoff):** 0 达到目标温度后是否禁用效果(1=禁用, 0=保持) **调色板 (Palette):** 从“冷”到“热”混合的颜色值 火焰效果,但对指定加热器的温度有响应。火焰从一个小余烬开始,随着加热器达到目标温度而增加强度。如果截止值参数设置为1,则在达到目标温度后效果将禁用,否则它将保持活动状态直到加热器关闭。 #### 模拟引脚 (AnalogPin)[​](#模拟引脚-analogpin "模拟引脚 (AnalogPin)的直接链接") **效果速率 (Effect Rate):** 10 输入信号的乘数 **截止值 (Cutoff):** 40 触发效果的最小阈值(原始值或电压百分比) **调色板 (Palette):** 混合的颜色值 此效果使用从模拟引脚读取的值来确定颜色。如果在调色板中指定了多种颜色,则根据引脚的值选择一种颜色。如果只指定了一种颜色,则亮度与引脚值成正比。此功能仅适合连接与主板 ADC 电压范围兼容的成品电位器模块或受支持的低压信号模块。不要把未知电压源、高于主板允许范围的信号或电源输出直接接入模拟引脚,否则可能损坏控制板。 #### 步进电机 (Stepper)[​](#步进电机-stepper "步进电机 (Stepper)的直接链接") **效果速率 (Effect Rate):** 4 尾部LED数量(负值表示填充步进位置之前的所有LED) **截止值 (Cutoff):** 4 头部LED数量(负值表示填充步进位置之后的所有LED) **调色板 (Palette):** 混合的颜色值 指定步进电机的位置由调色板中的第一个颜色表示。渐变中剩余的颜色在两侧混合并镜像。随着步进电机位置相对于轴长度的变化,灯光在灯带上上下移动。需要注意的是,效果本身每半秒更新一次步进电机位置(基于报告的步进位置,类似于GET\_POSITION gcode命令)。它不是实时的。效果速率中的负值将填充步进位置之前的整个灯带,截止值中的负值将填充步进位置之后的整个灯带。 #### 步进颜色 (StepperColor)[​](#步进颜色-steppercolor "步进颜色 (StepperColor)的直接链接") **效果速率 (Effect Rate):** 1 位置缩放因子 **截止值 (Cutoff):** 0 位置偏移量 **调色板 (Palette):** 混合的颜色值 LED的颜色由步进电机的位置决定。位置被映射到0到100之间,然后乘以效果速率并加上截止值作为偏移量。这个结果决定了在作为指定颜色值渐变的调色板中的取值。 #### 进度 (Progress)[​](#进度-progress "进度 (Progress)的直接链接") **效果速率 (Effect Rate):** 4 尾部LED数量(负值表示填充进度位置之前的所有LED) **截止值 (Cutoff):** 4 头部LED数量(负值表示填充进度位置之后的所有LED) **调色板 (Palette):** 混合的颜色值 配置与步进电机(Stepper)效果完全相同,但此层报告打印进度而不是步进电机位置。 #### 归位 (Homing)[​](#归位-homing "归位 (Homing)的直接链接") **效果速率 (Effect Rate):** 1 决定衰减速率。数值越大衰减越慢(淡出时间) **截止值 (Cutoff):** 0 未使用,但必须提供 **调色板 (Palette):** 颜色按顺序循环 在归位过程中,当限位开关触发时,LED亮起并再次淡出。效果速率决定淡出所需的时间。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。 ## 效果层混合 (Effect Layer Blending)[​](#效果层混合-effect-layer-blending "效果层混合 (Effect Layer Blending)的直接链接") 如果您使用过图像编辑软件,您可能熟悉图像层之间的颜色混合。几种常见的颜色混合技术已被添加用于混合LED层。配置中定义的层从上到下排序(配置文件中靠下的层是“底部”层,靠上的是“顶部”层)。 如果定义了3个层,首先将底部层与中间层混合。然后将结果层与顶部层混合。即使指定了混合模式,底部层也永远不会与任何层混合(它作为基础)。 层混合总是从下往上评估。 由于值不能超过100%亮度或0%暗度,因此它们被限制在这个范围内作为浮点数(0.0 - 1.0)。 #### 底部 (bottom)[​](#底部-bottom "底部 (bottom)的直接链接") 不进行混合,使用底部层的颜色通道值。`(b)` (底部层颜色) #### 顶部 (top)[​](#顶部-top "顶部 (top)的直接链接") 不进行混合,使用顶部层的颜色通道值。`(t)` (顶部层颜色) #### 相加 (add)[​](#相加-add "相加 (add)的直接链接") ``` ( t + b ) # 顶部层颜色 + 底部层颜色 ``` 颜色通道(红、绿、蓝)彼此相加。这导致通道变得更亮。 #### 相减 (subtract)[​](#相减-subtract "相减 (subtract)的直接链接") ``` ( b - t ) # 底部层颜色 - 顶部层颜色 ``` 从底部层减去顶部层。这会导致相似颜色变暗。 #### 反向相减 (subtract\_b)[​](#反向相减-subtract_b "反向相减 (subtract_b)的直接链接") ``` ( t - b ) # 顶部层颜色 - 底部层颜色 ``` 从顶部层减去底部层。这会导致相似颜色变暗。 #### 差值 (difference)[​](#差值-difference "差值 (difference)的直接链接") ``` abs( t - b ) # |顶部层颜色 - 底部层颜色| ``` 两个通道中较亮的减去较暗的。`( |t - b| )` #### 平均 (average)[​](#平均-average "平均 (average)的直接链接") ``` ( t + b ) / 2 # (顶部层颜色 + 底部层颜色) / 2 ``` 取通道的平均值。 #### 相乘 (multiply)[​](#相乘-multiply "相乘 (multiply)的直接链接") ``` ( t * b ) # 顶部层颜色 * 底部层颜色 ``` 通道相乘,这有助于使颜色变暗。 #### 相除 (divide)[​](#相除-divide "相除 (divide)的直接链接") ``` ( t / b ) # 顶部层颜色 / 底部层颜色 ``` 通道相除,这会使颜色变亮,通常是白色。 #### 反向相除 (divide\_inv)[​](#反向相除-divide_inv "反向相除 (divide_inv)的直接链接") ``` ( b / t ) # 底部层颜色 / 顶部层颜色 ``` 类似于相除,但用底部除以顶部。 #### 滤色 (screen)[​](#滤色-screen "滤色 (screen)的直接链接") ``` 1 - ( 1 - t ) * ( 1 - b ) # 1 - (1 - 顶部层颜色) * (1 - 底部层颜色) ``` 将值取反,相乘,然后再取反。类似于相除,它会产生更亮的颜色。 #### 变亮 (lighten)[​](#变亮-lighten "变亮 (lighten)的直接链接") ``` max( t, b ) # 取每个通道 t 和 b 的最大值 ``` 使用颜色通道中较亮的那个。`( max(t, b) )` #### 变暗 (darken)[​](#变暗-darken "变暗 (darken)的直接链接") ``` min( t, b ) # 取每个通道 t 和 b 的最小值 ``` 与变亮相反,使用颜色通道中较暗的那个。`( min(t, b) )` #### 叠加 (overlay)[​](#叠加-overlay "叠加 (overlay)的直接链接") ``` ( 2*t*b if t > .5 else 1 - 2*(1-t)*(1-b) ) # 条件混合 ``` 叠加是相乘(multiply)和滤色(screen)的组合。这具有增加对比度的类似效果。 ## 示例配置 (Sample Configurations)[​](#示例配置-sample-configurations "示例配置 (Sample Configurations)的直接链接") ## 故障警示灯 (das Blinkenlights)[​](#故障警示灯-das-blinkenlights "故障警示灯 (das Blinkenlights)的直接链接") 在发生严重错误时,所有LED灯带同步呼吸红色,以提供打印机出现错误状况的可见指示。此效果在正常操作期间禁用,仅在MCU进入关闭状态时启动(当前不支持)。 ``` [led_effect critical_error] leds: neopixel:tool_lights neopixel:bed_lights layers: strobe 1 1.5 add (1.0, 1.0, 1.0) # 频闪 白色 breathing 2 0 difference (0.95, 0.0, 0.0) # 呼吸 红色 (与下方差值混合产生脉动) static 1 0 top (1.0, 0.0, 0.0) # 静态 纯红 (基础) autostart: false # 不自动启动 frame_rate: 24 # 24 FPS run_on_error: true # (计划特性: 出错时运行) ``` ## 带温度显示的热床空闲状态 (Bed Idle with Temperature)[​](#带温度显示的热床空闲状态-bed-idle-with-temperature "带温度显示的热床空闲状态 (Bed Idle with Temperature)的直接链接") ``` [led_effect bed_effects] leds: neopixel:bed_lights # 应用在热床灯带 autostart: true frame_rate: 24 heater: heater_bed # 关联热床加热器 layers: heater 50 0 add (1,1,0),(1,0,0) # 加热器效果: 激活温度>50℃, 渐变从黄(1,1,0)到红(1,0,0) static 0 0 top (1,0,0) # 静态红色层 (顶部, 当达到目标温度时显示纯红) ``` ## 电位器控制亮度 (Brightness Controlled By Potentiometer)[​](#电位器控制亮度-brightness-controlled-by-potentiometer "电位器控制亮度 (Brightness Controlled By Potentiometer)的直接链接") 断电操作 接入电位器、风扇转速线或任何模拟信号前,请完全关闭打印机并断开电源供应。仅使用与主板 ADC 电压范围兼容的成品模块或线束,不要把未知电压源、高于主板允许范围的信号或电源输出直接接入模拟引脚。 这是一个如何将模拟引脚(Analog Pin)效果与图层混合结合以控制灯光亮度的示例。建议使用与主板接口兼容的成品电位器模块,并按照主板文档连接到允许的模拟输入端口。效果速率和截止值需要根据特定的电位器和电路板组合进行调整。 ``` [led_effect bed_effects] leds: neopixel:bed_lights autostart: true frame_rate: 24 analog_pin: # 模拟输入引脚 layers: analogpin 10 0 subtract (1,1,1) # 模拟引脚效果: 乘数10 阈值0 相减混合模式 白色(1,1,1) (值越大, 减的白色越多, 越暗) static 0 0 top (1,1,1) # 静态 纯白层 (基础亮度) ``` ## 进度条 (Progress Bar)[​](#进度条-progress-bar "进度条 (Progress Bar)的直接链接") 使用单条LED灯带,打印进度显示为深蓝色背景上的一条浅蓝色线。 ``` [led_effect progress_bar] leds: neopixel:progress_lights # 进度条灯带 autostart: true frame_rate: 24 layers: progress -1 0 add ( 0, 0, 1),( 0, 0.1, 0.6) # 进度效果: 负值填充左侧, 添加混合, 从深蓝(0,0,1)到中蓝(0,0.1,0.6)渐变 static 0 0 top ( 0, 0, 0.1) # 静态 暗蓝色背景层 (顶部) ``` ## 常见问题解答 (Frequently Asked Questions)[​](#常见问题解答-frequently-asked-questions "常见问题解答 (Frequently Asked Questions)的直接链接") ## 我的LED随机闪烁[​](#我的led随机闪烁 "我的LED随机闪烁的直接链接") 这通常是由于某种信号问题造成的。大多数可编程LED使用特定的通信协议。它通常涉及以特定间隔发送数据位,然后是复位锁存信号以通知它们点亮。它们将保持最后一次设置的颜色,直到被告知要做其他事情。 在打印机固件中实现的大多数可编程LED方案中,颜色数据在执行gcode命令时发送一次,之后不再发送。只要初始信号被读取,它们就会保持该颜色。 在此特定实现中,颜色数据按照效果帧率确定的固定间隔进行更新。因此,每秒10帧意味着每秒向LED发送10次颜色更新。 数据线容易受到打印机上其他电子设备的电磁干扰。当存在这种干扰时,可能会导致发送到LED的数据格式错误。 为了缓解这种情况,可以尝试对数据线进行绝缘或与其他电线隔离。尽量保持数据线尽可能短。这对于通常以3.3V输出数据信号的32位主板尤其成问题。 数据线上的振铃(ringing)和反射也会降低信号完整性,特别是当连接到第一个LED的电缆相当长时。如需改善数据线反射,优先使用带串联电阻的成品 LED 转接线、信号调理模块或更短的数据线。不建议客户自行改线;如必须处理线束,请先完全断电并断开电源。 另一个闪烁来源是压降。根据设置的亮度,每个可编程LED消耗20到60mA的功率。如果它们在无法提供足够功率的电源上运行(例如打印机主板的内部稳压器),则可能表现为闪烁或灯带整体变暗。 ## 我灯带末端的LED不如其他部分亮[​](#我灯带末端的led不如其他部分亮 "我灯带末端的LED不如其他部分亮的直接链接") 这通常与灯带末端的LED相比灯带开头的LED获得的功率不足有关。解决方法是使用带接插件的成品电源注入线、合适规格的独立 5V 电源,或更换更短/功耗更低的灯带。不建议客户自行改接 VCC 和 GND 线。所有 LED 电源线调整前必须完全断电并断开电源。 ## 我的颜色不正确[​](#我的颜色不正确 "我的颜色不正确的直接链接") 不同的芯片制造商和芯片类型使用略有不同的颜色数据协议。有些指定颜色顺序为红(Red)、绿(Green)、蓝(Blue),另一些指定为绿(Green)、红(Red)、蓝(Blue).LED灯带的配置在 'neopixel' 部分有一个可选参数可以设置颜色顺序。 `color_order: GRB` (例如,如果灯带实际是GRB顺序,但发送RGB数据时显示为绿色) 如果您不确定LED的颜色顺序并想测试,可以注释掉或禁用所有已配置的效果,并使用gcode命令直接设置灯带的颜色。 `SET_LED LED= RED=1 GREEN=0 BLUE=0 TRANSMIT=1` (例如 `SET_LED LED=panel_ring RED=1 GREEN=0 BLUE=0 TRANSMIT=1`) 此命令应将整个灯带变为红色。如果灯带变为绿色,则它使用GRB颜色顺序。 一些LED,如SK6812,还有一个白色通道。对于这些LED,颜色顺序可以设置为: `color_order: GRBW` * 注意:对于FLY的TP(可能是特定品牌/型号)驱动器,需要配置为 `color_order: GRB` *** --- # 引脚分布 说明 * 本页列出 FLY-DP5 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-DP5 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PC15 | PC14 | PC2 | PC13 | PB4 | | DRIVER1 | PA1 | PA0 | PA2 | PC3 | PB3 | | DRIVER2 | PA5 | PA4 | PA6 | PA3 | PD2 | | DRIVER3 | PC5 | PC4 | PB0 | PA7 | PB5 | | DRIVER4 | PB10 | PB2 | PB11 | PB1 | NC | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。未列出 DIAG 对应关系的驱动不能直接按表格配置无限位归位。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi2` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi2 cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PB4 | DRIVER0 | | 限位口1 / IO1 | PB3 | DRIVER1 | | 限位口2 / IO2 | PD2 | DRIVER2 | | 探针(Probe) | PB5 | DRIVER3 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ---- | | 加热口0 | PC6 | | 加热口1 | PC7 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PC0 | | 热敏口1 | PC1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PC8 | | 风扇口1 | PC9 | ## PWM[​](#pwm "PWM的直接链接") FLY-DP5 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PA8 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PA8 | | 探针信号 | PB5 | ## 驱动RGB[​](#驱动rgb "驱动RGB的直接链接") * 请注意 没有单独引出 | 引脚 | 备注 | | :----: | :----: | | PB7 | 驱动RGB | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | NC | | EXP1\_2 | PA15 | | EXP1\_3 | PC11 | | EXP1\_4 | PA14 | | EXP1\_5 | PC10 | | EXP1\_6 | PA13 | | EXP1\_7 | NC | | EXP1\_8 | NC | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PC12 | | EXP2\_4 | PB12 | | EXP2\_5 | PB6 | | EXP2\_6 | PB15 | | EXP2\_7 | NC | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-DP5资料[​](#fly-dp5资料 "Fly-DP5资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板接线 ## 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 主板接线[​](#主板接线-1 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # E3 Pro Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407VGT6芯片 * 支持RRF固件 ## 产品参数[​](#产品参数 "产品参数的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F40VZGT6芯片 * 固件 :Reprap /Klipper * 板载五个TMC2209驱动 * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 1个高压IN口,支持自动平床传感器 :BLTouch 、PL08N等接近传感器、Klicky、Voron Tap等 * 使用Reprap固件,可以使用ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度,四个2pin风扇接口 * PCB采用2OZ铜厚,能够支持更大的电流 * 2个ADC接口,最多支持两路热敏 * 4个IO接口,可以用于调平和限位 * 3个加热棒接口,最多支持三路加热棒 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` # TMC2209 on board # Integrated Linux host # "FLY flyboard FLY-E3 Pro" board # use this config, the firmware should be compiled for the STM32F407 # with a "32KiB bootloader". # after running "make", copy the generated "out/klipper.bin" file to a # file named "firmware.bin" on an SD card and then restart the FLYBOARD # with that SD card. # See docs/Config_Reference.md for a description of parameters. [stepper_x] step_pin: PE3 dir_pin: !PE2 enable_pin: !PE5 microsteps: 16 rotation_distance: 40 endstop_pin: !PA2 position_endstop: 0 position_max: 210 homing_speed: 80 [stepper_y] step_pin: PB9 dir_pin: PB8 enable_pin: !PE1 microsteps: 16 rotation_distance: 40 endstop_pin: !PB10 position_endstop: 210 position_max: 210 homing_speed: 50 [stepper_z] step_pin: PA15 dir_pin: !PD7 enable_pin: !PC2 microsteps: 16 step_pulse_duration: 0.0000004 rotation_distance: 8 endstop_pin: PC4 position_endstop: 0.5 position_max: 210 [extruder] step_pin: PD4 dir_pin: PD3 enable_pin: !PD6 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PA5 sensor_pin: PA4 sensor_type: EPCOS 100K B57560G104F pullup_resistor: 2200 max_extrude_only_distance: 800 max_extrude_cross_section:800 control:watermark min_temp: -235 max_temp: 350 #[extruder1] #step_pin: PC13 #dir_pin: PC0 #enable_pin: !PC15 #microsteps: 16 #rotation_distance: 33.500 #nozzle_diameter: 0.400 #filament_diameter: 1.750 #heater_pin: PC6 #sensor_pin: PA1 #sensor_type: EPCOS 100K B57560G104F #control:watermark #min_temp: 0 #max_temp: 350 [heater_bed] heater_pin: PA0 sensor_pin: PA3 pullup_resistor: 2200 sensor_type: ATC Semitec 104GT-2 control: watermark min_temp: -235 max_temp: 120 [fan] #Fan1 pin: PA6 #cycle_time: 0.50 [fan] #Fan4 pin: PB6 #cycle_time: 0.50 [heater_fan E0] #Fan0 pin: PA7 #cycle_time: heater: extruder heater_temp: 50.0 fan_speed: 1.0 #[heater_fan E1] #Fan3 #pin: PB7 ##cycle_time: #heater: extruder1 #heater_temp: 50.0 #fan_speed: 1.0 [mcu] serial: /dev/ttyACM0 [mcu host] serial: /tmp/klipper_host_mcu [printer] kinematics: corexy max_velocity: 300 max_accel: 3000 max_z_velocity: 5 max_z_accel: 100 [temperature_sensor E3-PRO-MCU] sensor_type: temperature_mcu [tmc2209 stepper_x] uart_pin: PE4 run_current: 0.800 interpolate: False [tmc2209 stepper_y] uart_pin: PE0 run_current: 0.800 interpolate: False [tmc2209 stepper_z] uart_pin: PA8 run_current: 0.800 interpolate: False [tmc2209 extruder] uart_pin: PD5 run_current: 0.800 interpolate: False #[tmc2209 extruder1] #uart_pin: PC14 #run_current: 0.800 #interpolate: False ######################################## # BLTouch ######################################## #[bltouch] #sensor_pin: ^PC5 #control_pin: PB0 #pin_move_time: 0.680 #x_offset: 0.0 #y_offset: 2.3 #z_offset: 2.2 #speed: 70 #[safe_z_home] #home_xy_position: 105,105 ######################################## # EXP1 / EXP2 (display) pins ######################################## [board_pins] aliases: # EXP1 header EXP1_1=PE11, EXP1_3=PA14, EXP1_5=PE9, EXP1_7=PE7, EXP1_9=, EXP1_2=PE12, EXP1_4=PE6, EXP1_6=PE10, EXP1_8=PE8, EXP1_10=<5V>, # EXP2 header EXP2_1=PB4, EXP2_3=PA10, EXP2_5=PA9, EXP2_7=PA13, EXP2_9=, EXP2_2=PB3, EXP2_4=PB2, EXP2_6=PB5, EXP2_8=, EXP2_10= # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2" # See the sample-lcd.cfg file for definitions of common LCD displays. ``` --- # USB 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 STMicroelectronics STM32 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 STM32F407 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 32KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Clock Reference 选择 8 MHz crystal (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6Communication interface 选择 USB (on PA11/PA12) (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 9出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/stm32/spi.o Compiling out/src/stm32/i2c.o Compiling out/src/stm32/usbotg.o Compiling out/src/stm32/chipid.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/stm32/hard\_pwm.o Compiling out/src/stm32/sdio.o Preprocessing out/src/generic/armcm\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") * 开始烧录固件前,请先[使用网络连接SSH](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/ "点击即可跳转") * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * 需要准备一张容量不超过`32G`的TF卡,并且建议TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 使用**MobaXterm\_Personal**左边文件目录找到`klipper`选择然后找到`out`打开 * 普通系统固件下载目录 * FlyOS-FAST系统固件下载目录 注意 * 普通系统注意事项 * 树莓派、FLY派等普通上位机系统都看此类 * 编译完成的固件在`/home/<您的上位机用户名>/klipper/out/`目录下 Loading... 注意 * `FlyOS-FAST`系统注意事项 * `FAST系统`的固件目录 * 编译完成的固件在`/data/klipper/out/`目录下 Loading... 4. 并且将`klipper.bin`下载到TF卡里面,并且重命名为`firmware.bin` ``` firmware.bin ``` Loading... Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。重命名固件前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 重命名文件时确认完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 给主板上电,等待10秒 7) 取下TF卡,插入电脑,如果SD卡中的`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... ## 烧录后搜索 USB ID[​](#烧录后搜索-usb-id "烧录后搜索 USB ID的直接链接") 固件烧录完成并给主板重新上电后,请继续搜索 USB ID。 [查看 USB ID 获取方法](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-e3/fly-e3-pro/read-id?tab-0=usb) --- # 引脚分布 说明 * 本页列出 FLY-E3-PRO 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚;本页表格未列出对应关系时,请以主板实际引出关系和产品资料为准。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-E3-PRO 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | --- | ---- | ------- | ---- | | DRIVER0 | PE3 | PE2 | PE5 | PE4 | - | | DRIVER1 | PB9 | PB8 | PE1 | PE0 | - | | DRIVER2 | PA15 | PD7 | PC2 | PA8 | - | | DRIVER3 | PD4 | PD3 | PD6 | PD5 | - | | DRIVER4 | PC13 | PC0 | PC15 | PC14 | - | DIAG 说明 当前表格未列出驱动 DIAG 对应限位关系,限位与探针表中的 `对应驱动 DIAG` 均为 `-`。配置无限位归位前,请以主板实际引出关系和产品资料为准。 ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PA2 | - | | 限位口1 / IO1 | PB10 | - | | 限位口2 / IO2 | PC4 | - | | 探针(Probe) | PC5 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PA0 | | 加热口0 | PA5 | | 加热口1 | PC6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PA3 | | 热敏口0 | PA4 | | 热敏口1 | PA1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA7 | | 风扇口1 | PA6 | | 风扇口2 | PB6 | | 风扇口3 | PB7 | ## PWM[​](#pwm "PWM的直接链接") FLY-E3-PRO 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PB0 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PB0 | | 探针信号 | PC5 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PE11 | | EXP1\_2 | PE12 | | EXP1\_3 | PA14 | | EXP1\_4 | PE6 | | EXP1\_5 | PE9 | | EXP1\_6 | PE10 | | EXP1\_7 | PE7 | | EXP1\_8 | PE8 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB4 | | EXP2\_2 | PB3 | | EXP2\_3 | PA10 | | EXP2\_4 | PB2 | | EXP2\_5 | PA9 | | EXP2\_6 | PB5 | | EXP2\_7 | PA13 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 须知 * 本教程是针对主板的ID读取查看方法 - USB ID获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-E3-Pro资料[​](#fly-e3-pro资料 "Fly-E3-Pro资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # E3 PRO ## 主板接口说明[​](#主板接口说明 "主板接口说明的直接链接") Loading... ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... ## Z驱动器跳线[​](#z驱动器跳线 "Z驱动器跳线的直接链接") * 如果只使用一个 Z 输出,则应在另一个 Z 输出上安装跳线,如下所示 Loading... ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # E3 Pro Ultra Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 32位ARM Cortex-M4系列550 MHz,STM32H723VGT6芯片 * 固件支持 :Reprap /Klipper ## 产品参数[​](#产品参数 "产品参数的直接链接") * 32位ARM Cortex-M4系列550 MHz,STM32H723VGT6芯片 * 固件 :Reprap /Klipper * 板载五个TMC2209驱动,XYZ 3个驱动位置支持无限位模式 * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 支持自动平床传感器 :BLTouch 、PL08N等接近传感器、Klicky、Voron Tap等 * 使用Reprap固件,可以使用ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度,四个2pin风扇接口 * 3个ADC接口用于温度传感器 3个限位口可以接限位开关 * 4个IO接口,可以用于接近开关,限位,激光头,RGB灯等 * 3个加热接口 * 1个串口屏幕接口用于RRF * Max版本支持1个k型热电偶和1个PT100温度传感器 * 新增加了拨码开关可用Pt100温度传感器2/3/4线模式选择 * 新增一体散热片,增大了当驱动的散热片面积 * 新增了can接口 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` # TMC2209 on board # Integrated Linux host # "FLY flyboard FLY-E3 Pro" board # use this config, the firmware should be compiled for the STM32F407 # with a "32KiB bootloader". # after running "make", copy the generated "out/klipper.bin" file to a # file named "firmware.bin" on an SD card and then restart the FLYBOARD # with that SD card. # See docs/Config_Reference.md for a description of parameters. [stepper_x] step_pin: PE3 dir_pin: !PE2 enable_pin: !PE5 microsteps: 16 rotation_distance: 40 endstop_pin: !PD12 position_endstop: 0 position_max: 210 homing_speed: 80 [stepper_y] step_pin: PD1 dir_pin: PD0 enable_pin: !PE1 microsteps: 16 rotation_distance: 40 endstop_pin: !PB10 position_endstop: 210 position_max: 210 homing_speed: 50 [stepper_z] step_pin: PA15 dir_pin: !PD7 enable_pin: !PC2 microsteps: 16 step_pulse_duration: 0.0000004 rotation_distance: 8 endstop_pin: PC4 position_endstop: 0.5 position_max: 210 [extruder] step_pin: PD4 dir_pin: PD3 enable_pin: !PD6 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PA2 sensor_pin: PA4 sensor_type: EPCOS 100K B57560G104F pullup_resistor: 2200 ######################### PT100 MAX31865 ######################### # sensor_type: MAX31865 # sensor_pin:PD13 # spi_software_sclk_pin:PA5 # spi_software_mosi_pin:PA7 # spi_software_miso_pin:PA6 # rtd_reference_r: 430 ## 使用PT100时请设置为430,使用PT1000时请设置为4300 # rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 ################## K型热电偶传感器配置 #################### # sensor_type: MAX31855 # sensor_pin:PC7 # spi_software_sclk_pin:PA5 # spi_software_mosi_pin:PA7 # spi_software_miso_pin:PA6 max_extrude_only_distance: 800 max_extrude_cross_section:800 ################################################################################ control:watermark min_temp: -235 max_temp: 350 #[extruder1] #step_pin: PC13 #dir_pin: PC0 #enable_pin: !PC15 #microsteps: 16 #rotation_distance: 33.500 #nozzle_diameter: 0.400 #filament_diameter: 1.750 #heater_pin: PC6 #sensor_pin: PA1 #sensor_type: EPCOS 100K B57560G104F max_extrude_only_distance: 800 max_extrude_cross_section:800 #control:watermark #min_temp: 0 #max_temp: 350 [heater_bed] heater_pin: PA0 sensor_pin: PA3 pullup_resistor: 2200 sensor_type: ATC Semitec 104GT-2 control: watermark min_temp: -235 max_temp: 120 [fan] #Fan1 pin: PD14 #cycle_time: 0.50 [fan] #Fan2 pin: PB6 #cycle_time: 0.50 [heater_fan E0] #Fan0 pin: PD15 #cycle_time: heater: extruder heater_temp: 50.0 fan_speed: 1.0 #[heater_fan E1] #Fan3 #pin: PB7 ##cycle_time: #heater: extruder1 #heater_temp: 50.0 #fan_speed: 1.0 [mcu] serial: /dev/ttyACM0 [mcu host] serial: /tmp/klipper_host_mcu [printer] kinematics: corexy max_velocity: 300 max_accel: 3000 max_z_velocity: 5 max_z_accel: 100 [temperature_sensor E3-PRO-MCU] sensor_type: temperature_mcu [tmc2209 stepper_x] uart_pin: PE4 run_current: 0.800 interpolate: False [tmc2209 stepper_y] uart_pin: PE0 run_current: 0.800 interpolate: False [tmc2209 stepper_z] uart_pin: PA8 run_current: 0.800 interpolate: False [tmc2209 extruder] uart_pin: PD5 run_current: 0.800 interpolate: False #[tmc2209 extruder1] #uart_pin: PC14 #run_current: 0.800 #interpolate: False ######################################## # BLTouch ######################################## #[bltouch] #sensor_pin: ^PC5 #control_pin: PB0 #pin_move_time: 0.680 #x_offset: 0.0 #y_offset: 2.3 #z_offset: 2.2 #speed: 70 #[safe_z_home] #home_xy_position: 105,105 ######################################## # EXP1 / EXP2 (display) pins ######################################## [board_pins] aliases: # EXP1 header EXP1_1=PE11, EXP1_3=PA14, EXP1_5=PE9, EXP1_7=PE7, EXP1_9=, EXP1_2=PE12, EXP1_4=PE6, EXP1_6=PE10, EXP1_8=PE8, EXP1_10=<5V>, # EXP2 header EXP2_1=PB4, EXP2_3=PA10, EXP2_5=PA9, EXP2_7=PA13, EXP2_9=, EXP2_2=PB3, EXP2_4=PB2, EXP2_6=PB5, EXP2_8=, EXP2_10= # Pins EXP2_1, EXP2_6, EXP2_2 are also MISO, MOSI, SCK of bus "spi2" # See the sample-lcd.cfg file for definitions of common LCD displays. ``` --- # FLY-E3 Ultra Bootloader(TF 卡)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * 正常更新 Klipper 固件时,请使用固件编译页面中的 TF 卡流程 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 右边为`BOOT按键`,左边为`RESET按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - E3-PRO-Ultra 的 TF 卡 Bootloader 固件 - 您可以通过以下链接获取固件: * [**E3\_Ultra.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/E3/E3_Ultra.bin?v=5e74d3d8e27a) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/E3 ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) 提示 烧录完成后,需要给主板彻底断电一次。 * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `E3_Ultra.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/E3/E3_Ultra.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `E3_Ultra.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/E3/E3_Ultra.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_E3-ULTRA-Marlin[​](#fly_e3-ultra-marlin "Fly_E3-ULTRA-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 找到你编译好的`Marlin`固件,在`.pio\buid\LPC1716\`下的`firmware.bin`文件 * 请注意`LPC1716`需要替换成对应的主板型号 Loading... 4. 将`firmware.bin`下载到TF卡里面 Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。复制固件到 TF 卡前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 确认 TF 卡中的完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 主板上电,等待10秒 7) 取下TF卡,插入电脑如果SD卡中的看`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... --- # 引脚分布 说明 * 本页列出 FLY-E3 Ultra 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-E3 Ultra 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | --- | ---- | ------- | ---- | | DRIVER0 | PC13 | PC0 | PC15 | PC14 | - | | DRIVER1 | PE3 | PE2 | PE5 | PE4 | PD12 | | DRIVER2 | PD1 | PD0 | PE1 | PE0 | PB10 | | DRIVER3 | PA15 | PD7 | PC2 | PA8 | PC4 | | DRIVER4 | PD4 | PD3 | PD6 | PD5 | - | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。未列出 DIAG 对应关系的驱动不能直接按表格配置无限位归位。 ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PD12 | DRIVER1 | | 限位口1 / IO1 | PB10 | DRIVER2 | | 限位口2 / IO2 | PC4 | DRIVER3 | | 探针(Probe) | PC5 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PA0 | | 加热口0 | PA2 | | 加热口1 | PC6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PA3 | | 热敏口0 | PA4 | | 热敏口1 | PA1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PD15 | | 风扇口1 | PD14 | | 风扇口2 | PB6 | | 风扇口3 | PB7 | ## PWM[​](#pwm "PWM的直接链接") FLY-E3 Ultra 提供 5 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PB0 | 舵机 / BLTouch 控制 | | PD10 | PWE-DE | | PB1 | LASER | | PD11 | PS-ON | | PB11 | RGB / Neopixel | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PB0 | | 探针信号 | PC5 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ---- | | RGB / Neopixel | PB11 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PE11 | | EXP1\_2 | PE12 | | EXP1\_3 | PA14 | | EXP1\_4 | PE6 | | EXP1\_5 | PE9 | | EXP1\_6 | PE10 | | EXP1\_7 | PE7 | | EXP1\_8 | PE8 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB4 | | EXP2\_2 | PB3 | | EXP2\_3 | PA10 | | EXP2\_4 | PB2 | | EXP2\_5 | PA9 | | EXP2\_6 | PB5 | | EXP2\_7 | PA13 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly\_E3-Ultra资料[​](#fly_e3-ultra资料 "Fly_E3-Ultra资料的直接链接") * 点击下方网盘链接 * Loading... --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 线束、整理接口线序或触碰端子。 # 工具板ID读取查看 * CANBus UUID获取 - CAN参考接线 Loading... * 主板与工具板的 CAN\_H、CAN\_L、GND 和 5V 线序请按图连接 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # E3 PRO ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... ## 主板接口说明[​](#主板接口说明 "主板接口说明的直接链接") Loading... Loading... ## Z驱动器跳线[​](#z驱动器跳线 "Z驱动器跳线的直接链接") * 如果只使用一个 Z 输出,则应在另一个 Z 输出上安装跳线,如下所示 Loading... --- # E3V2 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407VZGT6芯片 * 支持CAN桥接 * 支持RRF固件 ## 产品参数[​](#产品参数 "产品参数的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407VZGT6芯片 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定 * 固件 :Reprap /Klipper * 驱动支持 :A4988 、LV8729、DRV8225、TMC2208/2209/5160等 * 驱动模式支持:TMC :UART /SPI * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 1个高压IN口,支持自动平床传感器 :BLTouch 、PL08N等接近传感器、Klicky、Voron Tap等 * 使用Reprap固件,可以使用扩展ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度,四个2pin风扇接口 * PCB采用2OZ铜厚,能够支持更大的电流 * 2个ADC接口,最多支持两路热敏 * 4个IO接口,可以用于调平和限位 * 3个加热棒接口,最多支持三路加热棒 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /(需要自行添加) # #################################################################################### ## Fly-E3-V2资料网址:http://mellow.klipper.cn/#/board/fly_e3_v2/ ## Fly-E3-V2原理图网址:https://github.com/Mellow-3D/fly-e3-v2 ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-E3-V2] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |-------挤出机------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 X电机位 (B Motor) # ##################################################################### #注:接完线需测试运行方向 [stepper_x] step_pin: PE5 # X轴电机脉冲引脚设置 dir_pin: PC0 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PC1 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PE7 # 限位开关PIN脚,建议常闭接常闭 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # x 驱动配置 -TMC2209 uart_pin: PC15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC15 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 ## spi_software_sclk_pin: PB3 ## spi_software_mosi_pin: PB5 ## spi_software_miso_pin: PB4 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 Y电机位 (A Motor) # ##################################################################### #注:接完线需测试运行方向 [stepper_y] step_pin: PE4 # Y轴电机脉冲引脚设置 dir_pin: PC13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PC14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PE8 # 限位开关PIN脚,建议常闭然后添加!反转状态 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PB6 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PB6 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 ## spi_software_sclk_pin: PB3 ## spi_software_mosi_pin: PB5 ## spi_software_miso_pin: PB4 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |------Z1------| # | | # | | # | | # |-----显示屏----| ##################################################################### # Z轴步进电机 # ##################################################################### #注:接完线需测试运行方向 [stepper_z] step_pin: PE1 # Z轴电机脉冲引脚设置 dir_pin: !PB7 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE3 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ### 请根据购买的丝杆参数进行修改 rotation_distance: 4 # 丝杆导程为 4 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: PE9 # 限位开关PIN脚,建议常闭然后添加!反转状态 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # 配置喷嘴清洁需要-5左右 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PD7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PD7 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 ## spi_software_sclk_pin: PB3 ## spi_software_mosi_pin: PB5 ## spi_software_miso_pin: PB4 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### [extruder] # 挤出机 step_pin: PE2 # 挤出电机脉冲引脚 dir_pin: PD5 # 挤出电机方向引脚设置 enable_pin: !PD6 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PC6 # 加热棒引脚,接到HETA0 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PC4 # 传感器引脚 ################## K型热电偶传感器配置 #################### # sensor_type: MAX31855 # sensor_pin:PC7 # spi_software_sclk_pin:PD14 # spi_software_mosi_pin:PD13 # spi_software_miso_pin:PD12 ################################################################################ min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PD4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PD4 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 ## spi_software_sclk_pin: PB3 ## spi_software_mosi_pin: PB5 ## spi_software_miso_pin: PB4 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PB0 # 热床接口 sensor_type: Generic 3950 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PB1 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA2 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA0 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # PL08N感应探头 ##################################################################### # PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! #[probe] #pin: # 信号接口 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 #speed: 10.0 # 调平速度 #samples: 3 # 采样次数 #samples_result: median # 取值方式(默认median-中位数) #sample_retract_dist: 4.0 # 调平回缩距离 #samples_tolerance: 0.01 # 采样公差(注意过小的值可能造成采样次数增加) #samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^PC2 # 信号接口 #control_pin:PE6 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位和龙门调整程序 ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 ##################################################################### # FLY-Mini 12864 LCD # ##################################################################### [board_pins] aliases: EXP1_1=PD10, EXP1_3=PA8, EXP1_5=PE15, EXP1_7=PA14, EXP1_9=, EXP1_2=PA9, EXP1_4=PA10, EXP1_6=PE14, EXP1_8=PA13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB11, EXP2_5=PB10, EXP2_7=PE13, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 1.0 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 1.0 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 1.0 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 G28 # 归位所有轴 G1 Z20 F3000 # 抬高龙门 #SET_LED LED=LEDlight RED=0.2 GREEN=0.2 BLUE=0.5 # LED灯控制 #M117 Printing # 向屏幕发送文本 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- 提示 * E3 V2默认使用TF卡进行固件烧录 * 请准备一张容量不超过`32G`TF卡 * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * TF卡的传输速度最好为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写;E3 V2 的固件使用 TF 卡烧录。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-e3/fly-e3-v2/flash/firmware?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-e3/fly-e3-v2/flash/firmware?tab-0=can) | --- # FLY-E3 V2 Bootloader(TF 卡)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * 正常更新 Klipper 固件时,请使用固件编译页面中的 TF 卡流程 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 左边为`BOOT按键`,右边为`RESET按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - E3 V2 的 TF 卡 Bootloader 固件 - 您可以通过以下链接获取固件: * [**E3\_V2.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/E3/E3_V2.bin?v=4290b27ab386) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/E3 ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `E3_V2.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/E3/E3_V2.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `E3_V2.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/E3/E3_V2.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_E3-V2-Marlin[​](#fly_e3-v2-marlin "Fly_E3-V2-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 找到你编译好的`Marlin`固件,在`.pio\buid\LPC1716\`下的`firmware.bin`文件 * 请注意`LPC1716`需要替换成对应的主板型号 Loading... 4. 将`firmware.bin`下载到TF卡里面 Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。复制固件到 TF 卡前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 确认 TF 卡中的完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 主板上电,等待10秒 7) 取下TF卡,插入电脑如果SD卡中的看`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... --- # 引脚分布 说明 * 本页列出 FLY-E3 V2 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-E3 V2 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE5 | PC0 | PC1 | PC15 | PE7 | | DRIVER1 | PE4 | PC13 | PC14 | PB6 | PE8 | | DRIVER2 | PE1 | PB7 | PE3 | PD7 | PE9 | | DRIVER3 | PE2 | PD5 | PD6 | PD4 | NC | | DRIVER4 | PE0 | PD1 | PD3 | PD0 | NC | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 使用无限位(Sensorless Homing)归位时,驱动芯片通过 DIAG 引脚输出堵转检测信号,Klipper 需通过对应输入口读取该信号。本主板 DIAG 与限位口的对应关系如下: * **DRIVER0–2**:DIAG 已直连主控对应限位输入口(DRIVER*n* → 限位口*n*),板上**无 DIAG 跳线插针**,DIAG 信号始终送达主控。启用无限位时直接配置对应限位口引脚为 `diag_pin` 即可,**不能在该限位口接入物理限位开关**。 * **DRIVER3 / DRIVER4**:DIAG 未引出到限位口,不能直接按表格配置无限位归位。 启用无限位后,对应限位口被 DIAG 信号占用,不得同时接入机械或光电限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi3` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi3 cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PE7 | DRIVER0 | | 限位口1 / IO1 | PE8 | DRIVER1 | | 限位口2 / IO2 | PE9 | DRIVER2 | | 探针(Probe) | PC2 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ---- | | 加热口0 | PC6 | | 加热口1 | PC7 | | 加热口2 | PB0 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PC4 | | 热敏口1 | PB1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PA3 | ## PWM[​](#pwm "PWM的直接链接") FLY-E3 V2 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PE6 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC2 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PD10 | | EXP1\_2 | PA9 | | EXP1\_3 | PA8 | | EXP1\_4 | PA10 | | EXP1\_5 | PE15 | | EXP1\_6 | PE14 | | EXP1\_7 | PA14 | | EXP1\_8 | PA13 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PA6 | | EXP2\_2 | PA5 | | EXP2\_3 | PB11 | | EXP2\_4 | PA4 | | EXP2\_5 | PB10 | | EXP2\_6 | PA7 | | EXP2\_7 | PE13 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-E3-V2资料[​](#fly-e3-v2资料 "Fly-E3-V2资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - CAN参考接线 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 主板接线 ## 接口图[​](#接口图 "接口图的直接链接") ### 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ### 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... *** ## 主板接线[​](#主板接线-1 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # 9轴 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407ZGT6芯片 * 支持RRF固件 ## 产品参数[​](#产品参数 "产品参数的直接链接") * 32位ARM Cortex-M4系列168 MHz,STM32F407ZGT6芯片 * 固件 :Marlin 2.0/Reprap/Klipper * 驱动支持 :A4988 、LV8729、DRV8225、TMC2208/2209/5160等 * 驱动模式支持:TMC :UART /SPI * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 使用Reprap固件,可以使用扩展ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度 * PCB采用2OZ铜厚,能够支持更大的电流 * 6个ADC接口,最多支持六路热敏 * 7个IO接口,可以用于调平和限位 * 七个加热棒接口,最多支持七路加热棒 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 6A | 3A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /FLY-9轴 # #################################################################################### ## FLY-9轴 资料网址: ## FLY-9轴 原理图网址:https://github.com/Mellow-3D/FLYF407ZG ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-9轴] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 (B 电机) # ##################################################################### ## X电机口 [stepper_x] step_pin: PB9 # X轴电机脉冲引脚设置 dir_pin: PE0 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PE1 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PC3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PG13 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PG13 # SPI 片选Pin脚定义 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # y 轴步进电机 (A 电机) # ##################################################################### ## Y电机口 [stepper_y] step_pin: PB8 # Y轴电机脉冲引脚设置 dir_pin: PG11 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PG12 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PF2 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PG10 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PG10 # SPI 片选Pin脚定义 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 z接口 [stepper_z] step_pin: PA8 # Z轴电机脉冲引脚设置 dir_pin: !PD6 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PD7 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 4 # 丝杆导程为 4 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PF0 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PD5 # 驱动通信端口 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PD5 # SPI 片选Pin脚定义 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方E0接口 [stepper_z1] step_pin: PC7 # z1轴电机脉冲引脚设置 dir_pin: !PD3 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PD4 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 4 # 丝杆导程为 4 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PD1 # 驱动通信端口 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PD1 # SPI 片选Pin脚定义 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方E1接口 [stepper_z2] step_pin: PC6 # z2轴电机脉冲引脚设置 dir_pin: !PA15 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PD0 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 4 # 丝杆导程为 4 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PA14 # 驱动通信端口 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PA14 # SPI 片选Pin脚定义 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 挤出机设置 (E0 Settings) # ##################################################################### #E5电机口 [extruder] # 挤出机 step_pin: PD12 # 挤出电机脉冲引脚 dir_pin: !PD8 # 挤出电机方向引脚设置 enable_pin: !PD9 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PF7 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PA0 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PB12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PB12 # SPI 片选Pin脚定义 #spi_bus: spi2 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE2 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PF3 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PF8 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PF9 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: PC14 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: PC14 # 信号接口 #control_pin:PE11 # 舵机引脚(SERVOO) #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之后抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤. G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略的测量是你的床的中间. #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PB10, EXP1_3=P314, EXP1_5=PE10, EXP1_7=PE8, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=, EXP1_8=PE7, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 #cs_pin: EXP1_3 #a0_pin: EXP1_4 #rst_pin: EXP1_5 #contrast: 63 #encoder_pins: ^EXP2_5, ^!EXP2_3 #click_pin: ^!EXP1_2 ##spi_bus: spi1 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 1.0 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 1.0 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 1.0 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # USB 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 STMicroelectronics STM32 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 STM32F407 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 32KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Clock Reference 选择 8 MHz crystal (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6Communication interface 选择 USB (on PA11/PA12) (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 9出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/stm32/spi.o Compiling out/src/stm32/i2c.o Compiling out/src/stm32/usbotg.o Compiling out/src/stm32/chipid.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/stm32/hard\_pwm.o Compiling out/src/stm32/sdio.o Preprocessing out/src/generic/armcm\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") * 开始烧录固件前,请先[使用网络连接SSH](https://mellow.klipper.cn/docs/DebugDoc/BasicTutorial/ "点击即可跳转") * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * 需要准备一张容量不超过`32G`的TF卡,并且建议TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 使用**MobaXterm\_Personal**左边文件目录找到`klipper`选择然后找到`out`打开 * 普通系统固件下载目录 * FlyOS-FAST系统固件下载目录 注意 * 普通系统注意事项 * 树莓派、FLY派等普通上位机系统都看此类 * 编译完成的固件在`/home/<您的上位机用户名>/klipper/out/`目录下 Loading... 注意 * `FlyOS-FAST`系统注意事项 * `FAST系统`的固件目录 * 编译完成的固件在`/data/klipper/out/`目录下 Loading... 4. 并且将`klipper.bin`下载到TF卡里面,并且重命名为`firmware.bin` ``` firmware.bin ``` Loading... Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。重命名固件前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 重命名文件时确认完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 给主板上电,等待10秒 7) 取下TF卡,插入电脑,如果SD卡中的`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... ## 烧录后搜索 USB ID[​](#烧录后搜索-usb-id "烧录后搜索 USB ID的直接链接") 固件烧录完成并给主板重新上电后,请继续搜索 USB ID。 [查看 USB ID 获取方法](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-f407zg/read-id?tab-0=usb) --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_F407ZG-Marlin[​](#fly_f407zg-marlin "Fly_F407ZG-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 找到你编译好的`Marlin`固件,在`.pio\buid\LPC1716\`下的`firmware.bin`文件 * 请注意`LPC1716`需要替换成对应的主板型号 Loading... 4. 将`firmware.bin`下载到TF卡里面 Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。复制固件到 TF 卡前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 确认 TF 卡中的完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 主板上电,等待10秒 7) 取下TF卡,插入电脑如果SD卡中的看`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... --- # 引脚分布 说明 * 本页列出 FLY-F407ZG 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * FLY-F407ZG 的驱动座未提供可直接用于 Klipper 无限位归位的 DIAG 映射;下方普通 IO 仅作为限位或通用输入使用。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-F407ZG 提供 9 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PB9 | PE0 | PE1 | PG13 | - | | DRIVER1 | PB8 | PG11 | PG12 | PG10 | - | | DRIVER2 | PA8 | PD6 | PD7 | PD5 | - | | DRIVER3 | PC7 | PD3 | PD4 | PD1 | - | | DRIVER4 | PC6 | PA15 | PD0 | PA14 | - | | DRIVER5 | PD15 | PG7 | PG8 | PG6 | - | | DRIVER6 | PD14 | PG4 | PG5 | PG3 | - | | DRIVER7 | PD13 | PD11 | PG2 | PD10 | - | | DRIVER8 | PD12 | PD8 | PD9 | PB12 | - | DIAG 与无限位 FLY-F407ZG 的引脚图与参考配置均未给出驱动 DIAG 到主控输入口的对应关系,因此驱动表中 `DIAG` 保持为 `-`。 下方 `IO0-IO7` 是独立的普通限位 / 通用输入口,不是驱动 DIAG 信号。配置 Klipper 时不要把这些普通 IO 直接当作某个驱动的 `diag_pin` 使用。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PC3 | - | | 限位口1 / IO1 | PC2 | - | | 限位口2 / IO2 | PF2 | - | | 限位口3 / IO3 | PF1 | - | | 限位口4 / IO4 | PF0 | - | | 限位口5 / IO5 | PC15 | - | | 限位口6 / IO6 | PC14 | - | | 限位口7 / IO7 | PA3 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PE2 | | 加热口0 | PF7 | | 加热口1 | PF6 | | 加热口2 | PE6 | | 加热口3 | PE5 | | 加热口4 | PE4 | | 加热口5 | PE3 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PF3 | | 热敏口0 | PA0 | | 热敏口1 | PC1 | | 热敏口2 | PC0 | | 热敏口3 | PF10 | | 热敏口4 | PF5 | | 热敏口5 | PF4 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PF8 | | 风扇口1 | PF9 | | 风扇口2 | PA2 | | 风扇口3 | PA1 | | 风扇口4 | PE13 | | 风扇口5 | PB11 | ## PWM[​](#pwm "PWM的直接链接") FLY-F407ZG 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PE11 | 舵机 / BLTouch 控制 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PB10 | | EXP1\_2 | PE15 | | EXP1\_3 | PE14 | | EXP1\_4 | PE12 | | EXP1\_5 | PE10 | | EXP1\_6 | PE9 | | EXP1\_7 | PE8 | | EXP1\_8 | PE7 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PC5 | | EXP2\_4 | PF11 | | EXP2\_5 | PC4 | | EXP2\_6 | PB15 | | EXP2\_7 | PB2 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 须知 * 本教程是针对主板的ID读取查看方法 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-9轴资料[​](#fly-9轴资料 "Fly-9轴资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 主板接线 ## 接口图[​](#接口图 "接口图的直接链接") ### 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ### Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ### 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... *** ## 主板接线[​](#主板接线-1 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # Gemini V2 一体式3D打印机控制板 Loading... ## 产品概览[​](#产品概览 "产品概览的直接链接") Gemini V2 是一款集成上位机与下位机的 3D 打印机控制板。板载全志 H5 上位机与 STM32F405 下位机,可直接运行 Klipper 环境,减少外置上位机和数据线连接。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * **一体式设计**:板载 Linux 上位机与 STM32 下位机,可直接运行 Klipper。 * **运行内存**:Gemini V2 升级至 1GB DDR3,可同时使用 CAN 与 KlipperScreen。 * **扩展存储**:支持 Micro SD 卡,并可通过 FLY 专用 M.2 接口扩展 WiFi 或 eMMC 模块。 * **外设接口**:支持 USB、Micro HDMI、以太网、SPI、UART 等常用接口。 * **驱动接口**:提供 4 个高压驱动位,支持 TMC 驱动 UART/SPI 模式。 ## 与 Gemini V3 的主要区别[​](#与-gemini-v3-的主要区别 "与 Gemini V3 的主要区别的直接链接") | 项目 | Gemini V2 | Gemini V3 | | ---------- | ---------------------------------- | ------------------------------------- | | 下位机 MCU | STM32F405 | STM32F405 | | CAN 使用 | 需要搭配 CANHAT 使用,CANHAT 已停产 | 板载 CAN 收发芯片 | | 拨码 | 8P 拨码选择 USB/CAN/外部Type-C连接 | 4P 拨码选择板载上位机或外部Type-C连接 | ## 重要参数[​](#重要参数 "重要参数的直接链接") | 项目 | 参数 | | ---------- | ---------------------------- | | 上位机 CPU | 全志 H5,4核 64 位 Cortex-A53 | | GPU | Mali 450 | | RAM | 1GB DDR3 | | 存储 | Micro SD,最大 128GB | | 下位机 MCU | STM32F405 | | 驱动位 | 4 个高压驱动位 | | 供电 | DC 12-24V | --- # 系统配置指南 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * Gemini V2 没有板载 CAN 收发芯片,需要搭配 CANHAT;CANHAT 已停产,请确认已有模块后再选择 CAN 固件。 * 两种固件只能选择一种;Gemini V2 下位机固件统一使用 TF 卡烧录。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ----------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 板载上位机直连,通信稳定 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/firmware/compile?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可通过 CAN 总线连接多个工具板 | 仅在已有 CANHAT 且需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/firmware/compile?tab-0=can) | ## 8P 拨码介绍[​](#8p-拨码介绍 "8P 拨码介绍的直接链接") Gemini V2 通过 8P 拨码开关选择下位机与板载上位机、CANHAT 或外部 Type-C 的连接方式。拨码位置不正确会导致上位机无法连接下位机。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ### 板载上位机直连下位机[​](#板载上位机直连下位机 "板载上位机直连下位机的直接链接") 常用模式 * 打开拨码 `3`、`4`,其余拨码保持关闭。 * 该模式下,STM32 下位机通过板内 USB 与板载上位机连接。 * 不使用 CAN 工具板时,一般使用此模式并刷写 `USB固件`。 Loading... ### CANHAT / CAN 桥接模式[​](#canhat--can-桥接模式 "CANHAT / CAN 桥接模式的直接链接") CANHAT 已停产 * Gemini V2 使用 CAN 工具板时需要安装 CANHAT 模块。 * CANHAT 已经停产。若没有 CANHAT 模块,请不要按本模式配置。 * 打开拨码 `1`、`2`、`5`、`6`,其余拨码保持关闭。 * 该模式需要刷写 `USB桥接CAN固件`。 Loading... ### 外部 Type-C 连接下位机[​](#外部-type-c-连接下位机 "外部 Type-C 连接下位机的直接链接") 提示 * 打开拨码 `7`、`8`,其余拨码保持关闭。 * 该模式将 STM32 下位机连接到板载 Type-C 口,通常只在外部上位机直连调试时使用。 Loading... ### SBC 模式拨码[​](#sbc-模式拨码 "SBC 模式拨码的直接链接") 注意 * 全部拨码打开用于 SBC 模式。 * 使用 Klipper / FAST 系统时无需切换到该模式。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 主板ID读取查看 重要提示 * 本教程仅适用于 Gemini V2 主板的 ID 读取与查看方法。 * 若您使用的是 CAN 工具板,请参考对应工具板产品文档的 ID 搜索教程。 * 若您已刷写 `USB固件`,请查看 `USB ID获取`。 * 若您已刷写 `USB桥接CAN固件`,请查看 `CANBus UUID获取`。 * 使用 CANHAT 时会出现主板和工具板等多个 UUID。建议先不连接 CAN 工具板,只搜索 Gemini V2 主板自身 UUID,确认后再接入工具板。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据常用场景整理了以下入口,方便快速找到 Gemini V2 上位机相关操作。 ## 新手上路[​](#新手上路 "新手上路的直接链接") | 文档主题 | 说明 | 链接 | | -------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | **系统简介** | 了解 FAST 系统基础特性。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | 查看 FAST 系统常见说明。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为 TF 卡或 M2WE 烧录系统镜像。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/flyos-fast) | | **系统配置指南** | 修改系统基础配置。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/fast_config) | | **SSH连接上位机** | 通过串口、WiFi 或网线连接上位机。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/ssh) | | **连接WIFI** | 配置无线网络。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/wifi) | | **屏幕接线与配置** | 配置 TFT 或 HDMI 屏幕。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/screen) | | **下位机固件烧录** | 查看拨码、USB 固件、CANHAT 桥接 CAN 固件和 ID 搜索。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v2/firmware/) | ## 日常维护[​](#日常维护 "日常维护的直接链接") | 文档主题 | 说明 | 链接 | | --------------- | ------------------------ | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用 U 盘备份配置。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | | **U盘打印说明** | U 盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | --- # 引脚分布 说明 * 本页列出 FLY-Gemini V2 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * Gemini V2 与 Gemini V3 引脚不完全相同,请不要混用两款主板的配置。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Gemini V2 提供 4 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | | ---- | ---- | --- | ---- | ------- | | X | PC13 | PC1 | PB2 | PB11 | | Y | PC14 | PC4 | PD2 | PB9 | | Z | PC15 | PC5 | PC12 | PB8 | | E | PC3 | PC8 | PC11 | PB7 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 驱动配置提醒 * `enable_pin` 通常需要写成 `!PB2`、`!PD2`、`!PC12`、`!PC11` 这类低电平有效形式。 * TMC 驱动的 `sense_resistor` 应以实际驱动板参数为准,不要只按芯片型号照抄。 * 使用无限位归位时,请按实际驱动模块和限位口接法确认 DIAG 信号,不要同时在被 DIAG 占用的限位口接入物理限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线: | 功能 | 引脚 | | ---- | ------------------------- | | MOSI | PB5 | | MISO | PB4 | | SCLK | PB3 | | CS | 对应驱动的 `UART/CS` 引脚 | 配置示例: ``` [tmc5160 stepper_x] spi_bus: spi3 cs_pin: PB11 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | | ------------- | ---- | | X 限位 | PA3 | | Y 限位 | PB1 | | Z 限位 | PB10 | | 探针(Probe) | PA1 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 挤出加热 | PA0 | | 热床加热 | PA2 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 挤出温度 | PC0 | | 热床温度 | PC2 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PC6 | | 风扇口1 | PC7 | ## 舵机与 BL-Touch[​](#舵机与-bl-touch "舵机与 BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PB0 | | 探针信号 | PA1 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PC9 | | EXP1\_2 | PB6 | | EXP1\_3 | PA13 | | EXP1\_4 | PA10 | | EXP1\_5 | PA9 | | EXP1\_6 | PA8 | | EXP1\_7 | NC | | EXP1\_8 | NC | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PA15 | | EXP2\_4 | PB12 | | EXP2\_5 | PA14 | | EXP2\_6 | PB15 | | EXP2\_7 | PC10 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | ## 常用配置提醒[​](#常用配置提醒 "常用配置提醒的直接链接") * 使用 USB 连接下位机时,`[mcu]` 中使用 `serial`。 * 使用 CAN 连接下位机时,`[mcu]` 中使用 `canbus_uuid`,并删除或注释 `serial`。 --- # 原理图与资料 ## Gemini V2 资料[​](#gemini-v2-资料 "Gemini V2 资料的直接链接") Gemini V2 原理图项目地址: ``` https://github.com/Mellow-3D/Fly-Gemini-V2 ``` --- # 屏幕接线与配置 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` 2. 进入文件管理界面并显示隐藏文件。 3. 打开 `.flyos-config/sys-config.conf`,根据屏幕类型修改对应配置项。 * TFT屏幕配置 * HDMI屏幕配置 ``` screen=fly-tft-v1 klipper_screen=0 fly_screen=1 ``` ``` screen=hdmi klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 如需使用 FLY Screen,需要设置 `klipper_screen=0`、`fly_screen=1`。 * 如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen。 * 配置文件格式必须为 `key=value`,等号后面不能有空格。 保存配置后请重启系统使配置生效。 --- # 连接上位机SSH 危险 * 此文档仅适用于带板载上位机的 FLY 设备。 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程。 - 可以使用串口或者 WIFI 连接到设备。 - 请提前准备好 **MobaXterm\_Personal** 或其他 **SSH终端工具**。 - 请确认 `SD` 卡或者 `M2WE` 已烧录对应上位机的系统。 - 如果上位机不能正常启动,请先断电并移除驱动、限位、风扇等外设后再排查。 - 编译固件建议通过 WIFI 或网线连接上位机 SSH。 ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到Gemini示意图 - TF卡安装到Gemini示意图 Loading... Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # Gemini V3 一体式3D打印机控制板 Loading... ## 产品概览[​](#产品概览 "产品概览的直接链接") Gemini V3 是一款高度集成的上位机一体式控制解决方案。其板载高性能计算核心可直接替代树莓派等独立上位机,并集成了1GB DDR3内存,配合经过增强的5V电源保护设计,显著提升了系统可靠性与稳定性。 存储设备须知 Gemini系列 **出厂不包含存储设备**。您需要自备以下任一存储介质以安装和运行系统: 1. **推荐选项**:购买专用的 **FLY M2WE模块**,获得更快的系统速度和更高的可靠性。 2. **备选方案**:使用容量在 **16GB 至 128GB** 之间的 Micro SD (TF) 卡。 ## 核心特点[​](#核心特点 "核心特点的直接链接") * **一体式设计**:板载全志H5上位机,集成1GB内存,无需额外购买和连接树莓派,简化布线,降低成本。 * **增强可靠性**:优化5V电源电路保护,有效降低因电压异常导致芯片损坏的风险。 * **开箱即用**:系统镜像预装完整的Klipper生态软件(包括Moonraker、Mainsail、KlipperScreen等)及常用插件,免除复杂配置,大幅降低新手入门门槛(需自备存储设备)。 ## 详细规格[​](#详细规格 "详细规格的直接链接") ### 上位机系统 (SoC)[​](#上位机系统-soc "上位机系统 (SoC)的直接链接") * **处理器**:全志H5,四核64位Cortex-A53 * **图形处理**:六核Mali 450 GPU * **运行内存**:1GB DDR3(与GPU共享) * **存储扩展**: * 支持Micro SD卡,最大容量128GB. * 板载M.2接口(私有协议),可用于扩展专用Wi-Fi或eMMC存储模块(**请勿连接非FLY官方设备**)。 * **外设接口**: * USB 2.0 × 3, USB OTG × 1 * 10/100M 以太网 × 1 * CAN总线 × 1 * Micro HDMI × 1 * SPI × 2, UART × 2 * 5V可控风扇接口 × 1(专用于上位机散热) ### 下位机控制 (MCU)[​](#下位机控制-mcu "下位机控制 (MCU)的直接链接") * **主控制器**:STM32F405 * **电机驱动**:支持4个高压电机驱动位 * **电源输入**:支持DC 12-24V宽电压输入,供电稳定,无需额外降压模块。 * **扩展接口**:预留CAN总线扩展接口。 ## 重要参数与安全提示[​](#重要参数与安全提示 "重要参数与安全提示的直接链接") ### 端口输出电流能力[​](#端口输出电流能力 "端口输出电流能力的直接链接") 各端口的最大输出电流随供电电压(12V或24V)变化,请严格参照下表配置设备,并确保电源功率充足。 | 输出端口 | 在 24V 电源下最大电流 | 在 12V 电源下最大电流 | | -------------- | --------------------- | --------------------- | | **热床端口** | 15 A | 7.5 A | | **加热棒端口** | 6 A | 3 A | | **风扇端口** | 1 A | 0.5 A | **注意**:建议为接近电流上限的负载(尤其是热床)规划充足的电源余量,并确保线路连接牢固,以避免过载风险。 --- # 加速度计使用 ## 主板接线[​](#主板接线 "主板接线的直接链接") 接口冲突警告 **TFT屏幕与SPI加速度计接口不可同时使用!** * **物理冲突**:TFT 屏幕(通过FPC-TFT接口)、SPI加速度计接口(ZH1.5-7P),在硬件上共享同一组SPI资源。 * **后果**:若同时连接,将导致**屏幕显示异常**与**加速度计测量数据严重失准**。 * **解决方案**:使用时请务必仅连接其中之一。 Loading... ## 配置[​](#配置 "配置的直接链接") ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:None spi_bus: spidev0.0 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # an example ``` ## 使用[​](#使用 "使用的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 FlyOS-Fast 的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW / FLY_GEMINI # #################################################################################### ## FLY_GEMINI资料网址:http://mellow.klipper.cn/#/board/fly_gemini_v3/README ## FLY_GEMINI原理图网址:https://github.com/Mellow-3D/Fly-Gemini-V3 ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] serial: /dev/ttyACM0 #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 200 # 打印机最大速度 max_accel: 2000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 300 # Z轴最大加速度 square_corner_velocity: 6.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor FLY MCU] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 X电机位 (B Motor) # ##################################################################### #注:接完线需测试运行方向,driver0 [stepper_x] step_pin: PC13 # X轴电机脉冲引脚设置 dir_pin: PC1 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PA3 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PA4 # 限位开关PIN脚,建议常闭接常闭 #endstop_pin: tmc2209_stepper_x:virtual_endstop #无限位 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 0 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PB11 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 diag_pin: ^PA4 # If you have Mellows 2209 drivers they have a small dip switch on the driver to enable sensorless homing, other wise no jumper is needed driver_SGTHRS: 255 # this is set to 255 which is the MAX sensitivity for sensorless homing, you will need to tune this later #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PB11 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 Y电机位 (A Motor) # ##################################################################### #注:接完线需测试运行方向,driver1 [stepper_y] step_pin: PC14 # Y轴电机脉冲引脚设置 dir_pin: PC4 # Y轴电机运行引脚设置,方向按实际判断x,加感叹号会让运行方向反转 enable_pin: !PD2 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PA5 # 限位开关PIN脚,建议常闭然后添加!反转状态 #endstop_pin: tmc2209_stepper_y:virtual_endstop #无限位 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 0 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PC10 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 diag_pin: ^PA5 # If you have Mellows 2209 drivers they have a small dip switch on the driver to enable sensorless homing, other wise no jumper is needed driver_SGTHRS: 255 # this is set to 255 which is the MAX sensitivity for sensorless homing, you will need to tune this later #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PC10 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 # ##################################################################### #注:接完线需测试运行方向,driver2 [stepper_z] step_pin: PC15 # Z轴电机脉冲引脚设置 dir_pin: !PC5 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC12 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ### 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PA6 # 限位开关PIN脚,建议常闭然后添加!反转状态 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -1.5 # 配置喷嘴清洁需要-5左右 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 20 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 3 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PB7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PB7 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(不建议开启) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #注:接完线需测试运行方向,driver3 [extruder] # 挤出机 step_pin: PC3 # 挤出电机脉冲引脚 dir_pin: PC8 # 挤出电机方向引脚设置 enable_pin: !PC11 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.23 # 步进值 gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PA0 # 加热棒引脚,接到HETA0 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PC0 # 传感器引脚 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.00 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PB6 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PB6 # SPI 片选Pin脚定义 #spi_bus: spi3 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PA2 # 热床接口 sensor_type: Generic 3950 # 传感器型号 (generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PC2 # 热床传感器接口 smooth_time: 3.0 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PC6 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.13 # 勿动 cycle_time: 0.010 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PC7 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 #fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- #Fly Gemini does have another controllable fan header but its 5v only, and its on the HOST mcu, if you have a 24v fan to use then you will need to power this off the always on fan header # [controller_fan MCU_fan] # pin: host:gpiochip0/gpio3 # max_power: 1.0 # kick_start_time: 0.5 # heater: extruder # #fan_speed: 1.0 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [homing_override] axes: xyz set_position_z: 0 gcode: G90 G0 Z5 F600 {% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %} {% if home_all or 'X' in params %} _HOME_X {% endif %} {% if home_all or 'Y' in params %} _HOME_Y {% endif %} {% if home_all or 'Z' in params %} _HOME_Z {% endif %} #[safe_z_home] Only needed if you are using V0.0 or V0.1 Z endstop location #home_xy_position: 120,120 #speed: 50.0 #z_hop: 5 ## To be used with BED_SCREWS_ADJUST [bed_screws] screw1: 60,5 screw1_name: front screw screw2: 5,115 screw2_name: back left screw3: 115,115 screw3_name: back right Probe_height: 0.1 ##################################################################### # Neopixel ##################################################################### [neopixel board_rgb] pin: PA9 chain_count: 1 color_order: GRB initial_RED: 0.0 initial_GREEN: 0.1 initial_BLUE: 0.0 ##################################################################### # FLY-Mini 12864 LCD # ##################################################################### [board_pins] aliases: # EXP1 header EXP1_1=PC9, EXP1_3=PA13, EXP1_5=PA9, EXP1_7=, EXP1_9=, EXP1_2=PB10, EXP1_4=PA10, EXP1_6=PA8, EXP1_8=, EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_3=PA15, EXP2_5=PA14, EXP2_7=PA7, EXP2_9=, EXP2_2=PB13, EXP2_4=PB12, EXP2_6=PB15, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 1.0 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 1.0 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 1.0 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 G28 # 归位所有轴 G1 Z20 F3000 # 抬高龙门 #SET_LED LED=LEDlight RED=0.2 GREEN=0.2 BLUE=0.5 # LED灯控制 #M117 Printing # 向屏幕发送文本 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 #-------------------------------------------------------------------- [gcode_macro LOAD_FILAMENT] gcode: M83 ; set extruder to relative G1 E30 F300 ; load G1 E15 F150 ; prime nozzle with filament M82 ; set extruder to absolute [gcode_macro UNLOAD_FILAMENT] gcode: M83 ; set extruder to relative G1 E10 F300 ; extrude a little to soften tip G1 E-40 F1800 ; retract some, but not too much or it will jam M82 ; set extruder to absolute #-------------------------------------------------------------------- [gcode_macro _HOME_X] gcode: # Always use consistent run_current on A/B steppers during sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y} # Home G28 X # Move away G91 G1 X-10 F1200 # Wait just a second… (give StallGuard registers time to clear) G4 P1000 G90 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y} #-------------------------------------------------------------------- [gcode_macro _HOME_Y] gcode: # Set current for sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y} # Home G28 Y # Move away G91 G1 Y-10 F1200 # Wait just a second… (give StallGuard registers time to clear) G4 P1000 G90 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y} #-------------------------------------------------------------------- [gcode_macro _HOME_Z] gcode: G90 G28 Z G1 Z30 ``` --- # 板载5V风扇接口 ## 板载5V风扇接线[​](#板载5v风扇接线 "板载5V风扇接线的直接链接") * Gemini V3板载了一个5V的可控接口,用于主控散热,接线方法如下图 Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [mcu host] # FlyOS已默认为您生成linux MCU,定义即可使用 serial: /tmp/klipper_host_mcu [temperature_sensor Gemini-V3] # 上位机温度 sensor_type: temperature_host [temperature_fan core_fan] # 上位机散热风扇 pin: host:gpiochip0/gpio3 # 上位机风扇pin脚 max_power: 1.0 sensor_type: temperature_host # 设置为上位机主控温度 control:watermark # 控制方式 target_temp: 48 # 上位机散热风扇启动温度 min_temp: 0 # 最低温度,低于此温度将会报错 max_temp: 90 # 最高温度,高于此温度将会报错 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 # 最大转速,为满功率运转时的80% min_speed: 0.3 # 最小转速,为满功率运转时的30% ``` --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * Gemini V3 已板载 CAN 收发芯片,不需要额外外接 CAN 模块。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/firmware/compile?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/firmware/compile?tab-0=can) | # 拨码介绍 * Gemini V3 通过拨码选择下位机与板载上位机或外部Type-C口的连接方式,如果拨码位置不对会导致上位机无法连接下位机,请务必注意!!! 须知 请注意拨码开关需要拨打指定位置才可以正常连接上位机 ## 连接板载上位机[​](#连接板载上位机 "连接板载上位机的直接链接") * 拨码开关`1`,`2`打开,将下位机与板载上位机通过内置USB连接 * 拨码开关`3`,`4`关闭,否则会影响下位机与上位机连接 Loading... * 按照此方法拨动拨码开关后,下方Type-C口会被下位机占用,请不要接入其他设备 ## 连接外置上位机[​](#连接外置上位机 "连接外置上位机的直接链接") * 拨码开关`3`,`4`打开,将下位机USB连接到板载Type-C口 * 拨码开关`1`,`2`关闭,否则会影响下位机与外置上位机连接 Loading... ## 5P拨码说明[​](#5p拨码说明 "5P拨码说明的直接链接") 提示 * 5P拨码用于RRF的SBC模式。 * 使用Klipper时无需改动5P拨码。 --- # FLY-Gemini V3 Bootloader 恢复 仅用于救砖恢复 * 请注意出厂已经预刷了 HID Bootloader,无需再刷 * 普通固件更新请优先使用USB固件或USB桥接CAN固件页面,不要重复刷写BL固件 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * 进入烧录模式有两种方法 * 第一种:在主板完全断电情况下,使用跳线帽连接BOOT和BOOT1,然后将带有数据传输功能的数据线一头接主板一头接电脑 * 第二种方式涉及复位时序,普通用户不建议自行操作。如售后要求使用该方式,请按售后给出的步骤执行 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - Gemini的bootloader固件 - 您可以通过以下链接获取固件: * [**GeminiV3.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Gemini/GeminiV3.bin?v=0d30b531d5a4) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/Gemini ``` * 拨码开关`3`,`4`打开,将下位机USB连接到板载Type-C口 * 拨码开关`1`,`2`关闭,否则会影响下位机与电脑连接 Loading... - STM32CubeProgrammer - DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * 拨码开关`1`,`2`打开,将下位机与板载上位机通过内置USB连接 * 拨码开关`3`,`4`关闭,否则会影响下位机与上位机连接 Loading... * 按照此方法拨动拨码开关后,下方Type-C口会被下位机占用,请不要接入其他设备 - Linux - FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `GeminiV3.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/Gemini/GeminiV3.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `GeminiV3.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/Gemini/GeminiV3.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 主板ID读取查看 重要提示 * 本教程仅适用于 Gemini V3 主板的 ID 读取与查看。 * 若您使用的是工具板,请参考对应工具板产品文档的 ID 搜索教程。 * 请根据下位机实际刷写的固件类型,点击下方对应选项。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FlyOS-Fast 系统介绍 ## 概述[​](#概述 "概述的直接链接") FlyOS-Fast 是专为3D打印深度优化的轻量化Linux系统,为Fly全系列上位机平台提供稳定、高效的运行环境。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### 🏗️ 系统架构[​](#️-系统架构 "🏗️ 系统架构的直接链接") * **单用户模式**:极简设计,仅支持 `root` 用户,确保系统安全稳定 * **文件系统优化**:仅 `/etc` 和 `/data` 目录可写,核心目录只读,大幅降低断电损坏风险 * **快速启动**:优化启动流程,30秒内完成KlipperScreen启动 ### 📦 软件生态[​](#-软件生态 "📦 软件生态的直接链接") * **完整预置生态**:内置 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务 * **精简包管理**:移除传统包管理器,预置必要工具,保持系统轻量化 * **环境优化**:全局Python环境,简化插件安装和命令执行 ### ⚡ 功能特性[​](#-功能特性 "⚡ 功能特性的直接链接") | 功能类别 | 特性说明 | 备注 | | ------------ | ----------------------------------- | ------------------------- | | **系统切换** | 支持Klipper和RRF双系统切换 | 满足不同打印需求 | | **界面管理** | Mainsail和Fluidd网页界面一键切换 | 操作便捷 | | **电源管理** | 断电关机与断电续打功能 | 二选一配置,不可同时启用 | | **数据管理** | USB口配置文件备份 + OTA系统更新 | 双重保障 | | **显示支持** | Fly-WiScreen串口屏幕显示 | 稳定可靠 | | **固件管理** | 支持通过 `fly-flash` 烧录下位机固件 | 适用于Gemini V3等FAST设备 | | **个性化** | 预设UI语言和默认打印机名称 | 开箱即用 | --- # 🚀 快速开始 **🎯 本指南目标**:在30分钟内,完成Fly-Gemini 主板的系统部署与固件烧录,使其达到可连接Klipper并进行基础测试的状态.
**✅ 完成标志**:通过网页访问Klipper界面,并能正确连接到Fly-Gemini 主板. 📍 重要提示 * **📦 必须配件**: Fly-Gemini 必须配合 **Fly-M2WE** 或 **TF卡** 使用,否则系统无法启动 * **⚡ 电源要求**: 输入电压范围 **12V-24V**,请勿超出此范围 * **🔌 安全操作**: **所有接线操作前,请务必断开电源!** 烧录固件时,也请按指南要求操作 * **🔧 工具准备**: 提前准备好螺丝刀、数据线等基本工具 *** ## 📦 **第1步: 准备工具与资源**[​](#-第1步-准备工具与资源 "-第1步-准备工具与资源的直接链接") Loading...

📝 包含内容 * `MobaXterm`(用于连接上位机) * `CH340`(用于系统连接的串口驱动) * `Panasonic_SDFormatter`(用于格式化TF卡) * `SetupSTM32CubeProgrammer`(用于烧录下位机固件) *** ## 🖥️ **第2步: 安装系统与基础配置**[​](#️-第2步-安装系统与基础配置 "️-第2步-安装系统与基础配置的直接链接") ### 1. 系统镜像烧录[​](#1-系统镜像烧录 "1. 系统镜像烧录的直接链接") * [系统镜像烧录指南](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/flyos-fast) ### 2. 系统基础配置[​](#2-系统基础配置 "2. 系统基础配置的直接链接") * [系统配置修改](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/fast_config) ### 3. 网络与远程连接[​](#3-网络与远程连接 "3. 网络与远程连接的直接链接") * [连接SSH](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/ssh) * [连接WIFI](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/wifi) ### 4. 显示设备配置[​](#4-显示设备配置 "4. 显示设备配置的直接链接") * [屏幕配置](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/screen)

📝 本步说明 * 烧录镜像前请确认TF卡或M2WE已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH连接时默认用户名 :root ,密码 :mellow * 屏幕配置仅在有屏幕设备时需要配置 *** ## 🔌 **第3步: 烧录固件与设备识别**[​](#-第3步-烧录固件与设备识别 "-第3步-烧录固件与设备识别的直接链接") **为何需要此步骤?** 上一步是为上位机(计算模块)安装操作系统.此步骤是为下位机(Fly-Gemini 控制主板本身)烧录Klipper固件,两者需配对才能工作. ### 1. 固件说明与拨码选择[​](#1-固件说明与拨码选择 "1. 固件说明与拨码选择的直接链接") * [下位机固件烧录](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/firmware/) ### 2. 烧录USB固件或者CAN桥接固件[​](#2-烧录usb固件或者can桥接固件 "2. 烧录USB固件或者CAN桥接固件的直接链接") * 根据您的连接方式选择烧录对应的固件 - [USB固件烧录](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/firmware/compile?tab-0=usb) 或者 [CAN桥接固件烧录](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/firmware/compile?tab-0=can) 📝 本步说明 * 烧录固件时确保主板将拨码拨到正确为主,否则无法识别设备 * 设备ID是Klipper配置中必需的信息,请务必正确获取 * 遇到烧录失败可尝试恢复 Bootloader 后再烧录主固件 - [Bootloader 救砖](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/firmware/bl) *** ## 🛠️ **第4步: 硬件连接与接口配置**[​](#️-第4步-硬件连接与接口配置 "️-第4步-硬件连接与接口配置的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ### 1. 基础硬件连接[​](#1-基础硬件连接 "1. 基础硬件连接的直接链接") * [硬件连接与接口说明](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/wiring) ### 2. Klipper参考配置[​](#2-klipper参考配置 "2. Klipper参考配置的直接链接") * [Klipper参考配置](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/cfg) ### 3. 外置驱动器连接与配置(可选功能)[​](#3-外置驱动器连接与配置可选功能 "3. 外置驱动器连接与配置(可选功能)的直接链接") * [外置驱动器连接与配置](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/servo-drive) ### 4. 主板注意事项[​](#4-主板注意事项 "4. 主板注意事项的直接链接") * [主板注意事项](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/warning) 📝 本步说明 * **强烈建议**:所有接线操作前,确保电源已完全断开 * 电源极性请务必确认正确,接反可能导致主板损坏 * 电机接线顺序参考您的打印机框架图纸 * 热床和热端加热前请检查温度传感器连接 *** ## 📈 **第5步: 扩展功能与进阶配置 (可选)**[​](#-第5步-扩展功能与进阶配置-可选 "-第5步-扩展功能与进阶配置-可选的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: 📝 扩展功能与进阶配置 ### 摄像头使用[​](#摄像头使用 "摄像头使用的直接链接") * [摄像头配置](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/camera) ### 外接工具板[​](#外接工具板 "外接工具板的直接链接") * [工具板连接与ID获取](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/toolboard) ### 资源下载[​](#资源下载 "资源下载的直接链接") * [资源下载中心](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/schematic) *** * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-gemini/fly-gemini-v3/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 引脚分布 说明 * 本页列出 FLY-Gemini V3 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Gemini V3 提供 4 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | --- | ---- | ------- | ---- | | DRIVER0 | PC13 | PC1 | PA3 | PB11 | PA4 | | DRIVER1 | PC14 | PC4 | PD2 | PC10 | PA5 | | DRIVER2 | PC15 | PC5 | PC12 | PB7 | PA6 | | DRIVER3 | PC3 | PC8 | PC11 | PB6 | PB1 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 使用无限位(Sensorless Homing)归位时,驱动芯片通过 DIAG 引脚输出堵转检测信号,Klipper 需通过对应输入口读取该信号。本主板 DIAG 与限位口的对应关系如下: * **DRIVER0–3**:DIAG 已直连主控对应限位输入口(DRIVER*n* → 限位口*n*),板上**无 DIAG 跳线插针**,DIAG 信号始终送达主控。启用无限位时直接配置对应限位口引脚为 `diag_pin` 即可,**不能在该限位口接入物理限位开关**。 启用无限位后,对应限位口被 DIAG 信号占用,不得同时接入机械或光电限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi3` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi3 cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PA4 | DRIVER0 | | 限位口1 / IO1 | PA5 | DRIVER1 | | 限位口2 / IO2 | PA6 | DRIVER2 | | 限位口3 / IO3 | PB1 | DRIVER3 | | 探针(Probe) | PA1 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 加热口0 | PA0 | | 热床加热 | PA2 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PC0 | | 热敏口1 | PC2 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PC6 | | 风扇口1 | PC7 | ## PWM[​](#pwm "PWM的直接链接") FLY-Gemini V3 提供 1 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PB0 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PB0 | | 探针信号 | PA1 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PC9 | | EXP1\_2 | PB10 | | EXP1\_3 | PA13 | | EXP1\_4 | PA10 | | EXP1\_5 | PA9 | | EXP1\_6 | PA8 | | EXP1\_7 | NC | | EXP1\_8 | NC | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB14 | | EXP2\_2 | PB13 | | EXP2\_3 | PA15 | | EXP2\_4 | PB12 | | EXP2\_5 | PA14 | | EXP2\_6 | PB15 | | EXP2\_7 | PA7 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-gemini-v3 资料[​](#fly-gemini-v3-资料 "Fly-gemini-v3 资料的直接链接") * 点击下方网盘链接 * Loading... --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 重要安全提示 * 使用FPC排线连接HDMI屏幕时,请务必在**完全断电**状态下操作,防止屏幕损坏 * TFT屏幕使用线束或FPC排线连接,请在断电状态下按图示线序接线,并确认插头方向,避免接错导致设备故障 - TFT V1接口接线 - HDMI接线 ### Gemini V3 TFT 接线[​](#gemini-v3-tft-接线 "Gemini V3 TFT 接线的直接链接") 提示 * Gemini V3 主板的 FPC 屏幕接口为 TFT V1 接口,请勿按其他版本接口接线 * 线束接线和 FPC 接线方式不同,请按实际屏幕及线材选择对应说明 #### TFT 线束接线[​](#tft-线束接线 "TFT 线束接线的直接链接") 1. TFT屏幕安装示意 | | | | -------------------- | -------------------- | | - 线序参考Loading... | - 连接方式Loading... | #### TFT FPC 接线[​](#tft-fpc-接线 "TFT FPC 接线的直接链接") * 以下图片分别为 FLY-TFT-V1 和 FLY-TFT-V2 屏幕与 Gemini V3 的 FPC 连接示意,请按屏幕型号选择对应图片 * 接线时请确认 FPC 排线金手指方向及接口锁扣已正确固定 2. FLY-TFT-V1 屏幕 FPC 接线示意 Loading... 3. FLY-TFT-V2 屏幕 FPC 接线示意 Loading... ### HDMI接线[​](#hdmi接线 "HDMI接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI-LCD5`屏幕接线示意 Loading... ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型修改对应配置项 * TFT电阻屏幕配置方法 * HDMI屏幕配置方法 - 需要将`screen=`后面修改成`fly-tft-v1` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v1 ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 请确认屏幕背面拨码开关正确设置:电阻屏拨至`Resi` * 配置文件格式必须为`key=value`,等号后面不能有空格 * 禁止私自修改配置文件格式,否则配置不会生效 4. 保存配置后 重要提示 修改配置后,请重启系统使配置生效 --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 连接上位机SSH 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到Gemini示意图 - TF卡安装到Gemini示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY上位机需要使用`M2WE`或者`2.4G WIFI`模块,否则无法使用WiFi * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * USB ID获取 * CANBus UUID获取 ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要前提 在开始搜索工具板 ID 前,请务必确认满足以下所有条件: * **固件准备**: 工具板已刷入 `USB` 固件,或正处于 `USB` 烧录模式。 * **目标明确**: 本教程仅用于搜索**工具板**的 ID,**不适用于主板 ID**。 * **硬件连接**: **工具板**已通过USB正确连接到上位机的`USB-A`接口。 * **登录方式**: 请通过网络 **SSH** 登录到上位机进行操作,**请勿使用串口登录**。 ## 搜索USBID[​](#搜索usbid "搜索USBID的直接链接") ``` ls /dev/serial/by-id/* ``` * **正常情况**: 终端会显示类似下方的ID(下图仅为示例) Loading... - 如果输入下方命令后没有ID出来,但是`lsusb`有设备请更换上位机或者更换上位机系统 注意事项 如果出现多个ID,请根据你的主板**MCU**型号选择相对应的ID. ### 将USB的ID,填写到配置里面[​](#将usb的id填写到配置里面 "将USB的ID,填写到配置里面的直接链接") | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## 填写工具板USB ID[​](#填写工具板usb-id "填写工具板USB ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 并且主板一定是`[mcu]`,工具板才是`[mcu toolboard]` | | | | ------------------------ | -------------------------- | | - fluidd的参考Loading... | - mainsail的参考Loading... | * 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper - 请注意工具板电源线不是接到CAN口,是接到12V-24v电源线上 Loading... * 请注意120Ω跳线要接上 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 主板注意事项 ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V` - 如果接上主板电源与驱动电源后`5V`灯不亮,需要联系客服售后 ## 驱动[​](#驱动 "驱动的直接链接") * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 请注意接线顺序,三线限位需要注意5V、GND、S这三个如果接错很可能导致主板损坏 * 如果两线直接接S与GND即可 * PL08与其他接近开关需要在信号口外接二极管将电压降低到3.3V以下 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # 主板接线 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 接口图[​](#接口图 "接口图的直接链接") ### 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ### Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线-1 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # Micro4 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 支持CAN桥接 * 板载4个2209 * 板载 DIAG 功能引脚,只需通过简单的拔插跳线帽即可使用无限位归位支持 ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 固件: Klipper * 支持12-24V直流供电,供电更稳定,省去降压模块 * 驱动工作模式支持 :UART 、STEP/DIR * 拓展接口 :BLTouch (Servos、Probe)、接近开关 X1 * 风扇: 两线可控风扇 X2 、常开风扇 X1 * 温度传感器:2路 NTC 100K * 加热接口:2路可控接口支持10A ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 10A | 5A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW # #################################################################################### ## Fly micro资料网址:http://mellow.klipper.cn/#/board/fly_micro/README ## Fly micro原理图网址:http://mellow.klipper.cn/#/board/fly_micro/schematic ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY#RRF固件交流群:786561979 ##################################################################### # Notes ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # file invocation ##################################################################### [include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # Master ID Configuration ##################################################################### [mcu] serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 ### 查询usb固件id是:ls /dev/serial/by-id/* ### 把/dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00替换查询到的id #canbus_uuid: 114514114514 ### 查询can固件id是:~/klippy#env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor Micro4] #显示主板的温度 sensor_type: temperature_mcu ##################################################################### # [temperature_sensor lite2] #上位机温度 # sensor_type: temperature_host ##################################################################### # Tmodel and acceleration ##################################################################### [printer] kinematics: corexy max_velocity: 200 max_accel: 2000 max_z_velocity: 15 max_z_accel: 300 square_corner_velocity: 6.0 ##################################################################### # X/Y Stepper Settings ##################################################################### [stepper_x] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: gpio6 dir_pin:gpio3 # Check motor direction in link above. If inverted, add a ! before gpio3 enable_pin:!gpio7 rotation_distance: 40 microsteps: 32 full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors endstop_pin: tmc2209_stepper_x:virtual_endstop position_endstop: 120 position_max: 120 homing_speed: 40 # for sensorless homing it is recommended not to go above 40mm/s homing_retract_dist: 0 [tmc2209 stepper_x] uart_pin:gpio9 uart_address:0 interpolate: False run_current: 0.8 sense_resistor: 0.110 diag_pin: ^gpio13 driver_SGTHRS: 80 [stepper_y] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin:gpio1 dir_pin:gpio0 # Check motor direction in link above. If inverted, add a ! before gpio0 enable_pin:!gpio2 rotation_distance: 40 microsteps: 32 full_steps_per_rotation: 200 endstop_pin: tmc2209_stepper_y:virtual_endstop position_endstop: 120 position_max: 120 homing_speed: 40 homing_retract_dist: 0 [tmc2209 stepper_y] uart_pin:gpio9 uart_address:1 interpolate: False run_current: 0.8 sense_resistor: 0.110 diag_pin: ^gpio14 driver_SGTHRS: 80 ##################################################################### # Z Stepper Settings ##################################################################### [stepper_z] ## Refer to https://docs.vorondesign.com/build/startup/#v0 step_pin: gpio23 dir_pin: gpio22 enable_pin: !gpio24 rotation_distance: 8 microsteps: 32 endstop_pin: ^gpio12 position_endstop: 105 position_max: 105 position_min: -1.5 homing_speed: 20 second_homing_speed: 3.0 homing_retract_dist: 3.0 [tmc2209 stepper_z] uart_pin:gpio9 uart_address:2 interpolate: False run_current: 0.8 sense_resistor: 0.110 ##################################################################### # Extruder ##################################################################### [extruder] ## Type of sensor # common thermistors are (Generic 3950, ATC Semitec 104GT#2) ## 传感器类型#常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT#2) sensor_type: ATC Semitec 104GT-2 sensor_pin: gpio28 ##################################################################### ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 #pullup_resistor: 1100 #sensor_pin: gpio28 ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin: gpio26 dir_pin:!gpio25 enable_pin: !gpio27 rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin: gpio20 min_temp: -235 max_temp: 350 max_power: 1.0 min_extrude_temp: 150 pressure_advance: 0.05 ##Pressure in advance ##压力提前 ##https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 [tmc2209 extruder] uart_pin:gpio9 uart_address:3 interpolate: False run_current: 0.8 sense_resistor: 0.110 ##################################################################### # Bed Heater ##################################################################### [heater_bed] heater_pin: gpio21 ## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common#thermistors for common thermistor types. ## Use "Generic 3950" for Keenovo heaters sensor_type:Generic 3950 sensor_pin: gpio29 smooth_time: 3.0 #max_power: 0.6 # Only needed for 100w pads min_temp: -235 max_temp: 120 control:watermark ##################################################################### # Fan Control ##################################################################### [fan] pin: gpio16 max_power: 1.0 kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start off_below: 0.13 cycle_time: 0.010 ##################################################################### [heater_fan hotend_fan] pin: gpio17 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 ##################################################################### # Filament Runout Sensor ##################################################################### #[filament_switch_sensor Filament_Runout_Sensor] #pause_on_runout: True #runout_gcode: PAUSE #switch_pin: gpio11 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [idle_timeout] timeout: 1800 [homing_override] axes: xyz set_position_z: 0 gcode: G90 G0 Z5 F600 {% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %} {% if home_all or 'X' in params %} _HOME_X {% endif %} {% if home_all or 'Y' in params %} _HOME_Y {% endif %} {% if home_all or 'Z' in params %} _HOME_Z {% endif %} #[safe_z_home] Only needed if you are using V0.0 or V0.1 Z endstop location #home_xy_position: 120,120 #speed: 50.0 #z_hop: 5 ## To be used with BED_SCREWS_ADJUST [bed_screws] screw1: 60,5 screw1_name: front screw screw2: 5,115 screw2_name: back left screw3: 115,115 screw3_name: back right Probe_height: 0.1 ##################################################################### # Macros ##################################################################### [gcode_macro PRINT_START] # Use PRINT_START for the slicer starting script # please customize for your slicer of choice gcode: G28 ; home all axes G90 ; absolute positioning G1 Z20 F3000 ; move nozzle away from bed [gcode_macro PRINT_END] # Use PRINT_END for the slicer ending script - please customize for your slicer of choice gcode: M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-4.0 F3600 ; retract filament G91 ; relative positioning # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe direction to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} G0 Z{z_safe} F3600 ; move nozzle up G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing TURN_OFF_HEATERS M107 ; turn off fan G90 ; absolute positioning G0 X60 Y{max_y-10} F3600 ; park nozzle at rear [gcode_macro LOAD_FILAMENT] gcode: M83 ; set extruder to relative G1 E30 F300 ; load G1 E15 F150 ; prime nozzle with filament M82 ; set extruder to absolute [gcode_macro UNLOAD_FILAMENT] gcode: M83 ; set extruder to relative G1 E10 F300 ; extrude a little to soften tip G1 E#40 F1800 ; retract some, but not too much or it will jam M82 ; set extruder to absolute [gcode_macro _HOME_X] gcode: # Always use consistent run_current on A/B steppers during sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y} # Home G28 X # Move away G91 G1 X#10 F1200 # Wait for StallGuard registers to clear M400 G90 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y} [gcode_macro _HOME_Y] gcode: # Set current for sensorless homing {% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %} {% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %} {% set HOME_CURRENT_RATIO = 0.7 %} # by default we are dropping the motor current during homing. you can adjust this value if you are having trouble with skipping while homing SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y} # Home G28 Y # Move away G91 G1 Y#10 F1200 # Wait for StallGuard registers to clear M400 G90 # Set current during print SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X} SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y} [gcode_macro _HOME_Z] gcode: G90 G28 Z G1 Z30 ``` --- 提示 * Micro4默认使用USB连接方式的Katapult进行固件烧录 # 固件烧录说明 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 * 可以快速按两次重置后看主板上是否有一个LED闪烁起来,如果有则代表主板已经进入Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-micro/fly-micro4/flash/firmware?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-micro/fly-micro4/flash/firmware?tab-0=can) | --- # FLY-Micro4 Bootloader(Katapult)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`katapult`无需再刷 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 圈起来为`BOOT按键` * 进入烧录模式需要在主板完全断电情况下,按住BOOT按键然后将带有数据传输的数据线一头接主板一头接你设备 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - Micro4的Katapult固件 - 您可以通过以下链接获取固件: * [**Mico\_Katapult\_USB.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Mico/Mico_Katapult_USB.uf2?v=ce5054ba5ef5) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/Mico/ ``` * STM32CubeProgrammer * DFU-AUTO 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `Mico_Katapult_USB.uf2` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/Mico/Mico_Katapult_USB.uf2 ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `Mico_Katapult_USB.uf2` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/Mico/Mico_Katapult_USB.uf2 ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 引脚分布 说明 * 本页列出 FLY-Micro4 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Micro4 提供 4 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ------ | ------ | ------ | --------------- | ------ | | DRIVER0 | gpio6 | gpio3 | gpio7 | gpio9(地址 0) | gpio13 | | DRIVER1 | gpio1 | gpio0 | gpio2 | gpio9(地址 1) | gpio14 | | DRIVER2 | gpio26 | gpio25 | gpio27 | gpio9(地址 2) | gpio15 | | DRIVER3 | gpio23 | gpio22 | gpio24 | gpio9(地址 3) | gpio12 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。 ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------------- | ------ | ------------- | | 限位口0 / IO3 | gpio12 | DRIVER3 | | 限位口1 / IO2 | gpio13 | DRIVER0 | | 限位口2 / IO1 | gpio14 | DRIVER1 | | 限位口3 / IO0 | gpio15 | DRIVER2 | | 探针(Probe) / IO4 | gpio18 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ------ | | 加热口0 | gpio20 | | 加热口1 | gpio21 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ------ | | 热敏口0 | gpio28 | | 热敏口1 | gpio29 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ------ | | 风扇口0 | gpio16 | | 风扇口1 | gpio17 | ## PWM[​](#pwm "PWM的直接链接") FLY-Micro4 提供 3 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ------ | ------------------- | | gpio10 | Laser | | gpio11 | RGB / Neopixel | | gpio19 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ------ | | 舵机信号 | gpio19 | | 探针信号 | gpio18 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio11 | ## 屏幕 / EXP 说明[​](#屏幕--exp-说明 "屏幕 / EXP 说明的直接链接") 接口说明 FLY-Micro4 未提供标准 `EXP1` / `EXP2` 12864 排针。请按本页已列出的驱动、限位、BL-Touch、RGB、Laser 等专用接口使用,不要套用其他主板的 `EXP1` / `EXP2` 引脚表。 --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-Micro4资料[​](#fly-micro4资料 "Fly-Micro4资料的直接链接") * 点击下方网盘链接 * Loading... --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板与连接到刷了桥接固件的Micro4主板 - 并且请将`120Ω`跳线接上,下方是参考接线图 Loading... - CAN工具板接线参考 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # Micro 4 Loading... # 主板参考接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... --- # 简介 # FLY PRO\_X10 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 采用 32 位主频 550 MHz 的 ARM Cortex-M7 系列 STM32H723ZGT6 主控芯片 * 主板与核心板使用 BTB 的连接方式,可以使用香橙派CM4与树莓派CM4等核心板 * 主板预留 BOOT 按键,用户可以通过 DFU 方式更新主板引导程序 * 十路拔插式TP驱动,无需任何跳线即可使用切换驱动模式 * 板载 DIAG 功能引脚,只需通过简单的拔插跳线帽即可使用无限位归位 * 驱动电源支持HVIN与VIN电源选择 * 可通过 MicroSD 卡升级 MCU 固件,也可通过 Klipper 的 make flash 命令通过DFU更新MCU 固件 * 六路两线可控风扇,并且支持可插拔MOS,两路四线风扇,一路VCC风扇 * 数控风扇 24V、12V、5V 电压可选,省去客户外接变压模块的操作,从而减少主板损坏几率 * 采用可更换保险丝设计。 ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU: STM32H723ZGT6 * 驱动电源: VIN(12V-24V),HVIN(12V-48V) * 主板电源: VIN(12V-24V) * 热床电源: BED IN(12V-24V) * 加热接口: 热床(BED OUT)、加热棒(HETA0,HETA1,HETA2,HETA3) * 驱动工作模式支持 :SPI 、UART、STEP/DIR * 拓展接口 :BLTouch (Servos、Probe)、UART X1、高压限位口 X1 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ``` #################################################################################### # 3D MELLOW /(需要自行添加) # #################################################################################### ## Fly-PRO_X10资料网址:https://mellow.klipper.cn/#/board/fly_pro/README ## Fly-PRO_X10原理图网址:https://mellow.klipper.cn/#/board/fly_pro/schematic ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm:a230r.1.14.4.1a4840a8hyvpPJ&user_number_id:2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_MELLOW-if00 ### 查询usb固件id是:ls /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id # canbus_uuid: 87ecc744787b ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 10000 # 最大加速度 最大3000 max_z_velocity: 10 # Z轴最大速度 max_z_accel: 1000 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-C8] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) ##################################################################### # [temperature_sensor RPI] # 上位机温度 # sensor_type: temperature_host # 关联上位机 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # z1 z2 # B__________A # # # # # Z0 12864 Z3 ##################################################################### # X 轴步进电机 (DRIVER0) # ##################################################################### ## DRIVER0电机位置 [stepper_x] step_pin: PE7 # X轴电机脉冲引脚设置 dir_pin: !PG11 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PG10 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PD9 # 限位开关PIN脚,建议常闭接常闭 # endstop_pin: tmc2209_stepper_x:virtual_endstop # 限位开关接口 # endstop_pin: tmc5160_stepper_x:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 200 # 复位速度-最大 100 homing_retract_dist: 0 # 第一次触发复位开关之后的后退距离 ##################################################################### ## 请确保驱动型号配置正确 (2208 or 2209) # [tmc2209 stepper_x] # x 驱动配置 -TMC2209 # uart_pin: PG12 # 通讯端口Pin脚定义 # interpolate: False # 是否开启256微步插值(开启是True,关闭是False) # run_current: 0.8 # 运行电流 # sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### [tmc5160 stepper_x] cs_pin: PG12 spi_bus: spi1 run_current: 1.3 # 电机运行电流值 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) # diag0_pin: ^!PG8 # 虚拟限位 # driver_SGT: 1 ##################################################################### # Y 轴步进电机 (DRIVER1) # ##################################################################### ## DRIVER1电机位置 [stepper_y] step_pin: PE8 dir_pin: !PE14 enable_pin: !PE13 rotation_distance: 40 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG7 # 限位开关PIN脚,建议常闭然后添加!反转状态 # endstop_pin: tmc2209_stepper_y:virtual_endstop # 限位开关接口 # endstop_pin: tmc5160_stepper_y:virtual_endstop # 限位开关接口 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 position_endstop: 300 position_max: 300 homing_speed: 150 homing_retract_dist: 0 ##################################################################### ## 请确保驱动型号配置正确 (2209 or 5160) # [tmc2209 stepper_y] # uart_pin: PE15 # interpolate: False # 是否开启256微步插值(开启是True,关闭是False) # run_current: 0.8 # 运行电流 # sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### [tmc5160 stepper_y] cs_pin: PE15 spi_bus: spi1 # SPI 通讯总线定义 run_current: 1.0 # 电机运行电流值 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) # diag0_pin: ^!PG7 # 虚拟限位 # driver_SGT: 1 ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### ## DRIVER2电机位置 [stepper_z] step_pin: PE9 dir_pin: !PG1 enable_pin: !PG0 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 microsteps: 32 endstop_pin: !PG6 # endstop_pin: probe:z_virtual_endstop position_max: 290 # 软限位最大行程 (240mm-290mm-340mm) position_endstop:0 position_min: -5 # 软限位最小行程(配置喷嘴清洁需要-5左右) homing_speed: 50 # 复位速度-最大 20 second_homing_speed: 10 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 [tmc5160 stepper_z] cs_pin: PE12 spi_bus: spi1 run_current: 0.8 interpolate: False sense_resistor: 0.075 ###################################################################### ## DRIVER4电机位置 [stepper_z1] step_pin: PE10 dir_pin: PF14 enable_pin: !PF13 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc5160 stepper_z1] cs_pin: PF15 spi_bus: spi1 run_current: 0.8 interpolate: False sense_resistor: 0.075 ##################################################################### ## DRIVER5电机位置 [stepper_z2] step_pin: PE11 dir_pin: !PF11 enable_pin: !PB2 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc5160 stepper_z2] cs_pin: PF12 spi_bus: spi1 run_current: 0.8 interpolate: False sense_resistor: 0.075 ###################################################################### ## DRIVER6电机位置 ###################################################################### [stepper_z3] step_pin: PE2 dir_pin: PF10 enable_pin: !PC0 rotation_distance: 40 gear_ratio: 80:16 microsteps: 32 [tmc5160 stepper_z3] cs_pin: PF5 spi_bus: spi1 run_current: 0.8 interpolate: False sense_resistor: 0.075 ##################################################################### # 挤出机配置 ##################################################################### [extruder] step_pin:PE3 dir_pin:PF2 enable_pin: !PF4 microsteps: 16 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) rotation_distance: 22.52245 # 主动带轮周长mm # 校准步进值: rotation_distance : <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> gear_ratio: 50:10 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.750 # 耗材直径 heater_pin: PF8 # 挤出头加热棒控制Pin脚设置 sensor_type: Generic 3950 # 传感器型号 sensor_pin: PB0 # 挤出头传感器Pin脚(T_E0) max_power: 1.0 # 加热棒PWM最大输出功率 min_temp: -235 # 挤出机最小温度 max_temp: 350 # 挤出机最大温度 min_extrude_temp: 150 # 加热棒最低挤出温度(达到此温度挤出机才能有挤出动作) pressure_advance: 0.04 # 挤出机压力提前参数 pressure_advance_smooth_time:0.040 # 平稳推进时间-默认值为0.040 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER:extruder TARGET:245 control:watermark [tmc2209 extruder] uart_pin:PF1 interpolate: False run_current: 0.6 sense_resistor: 0.110 ####################################################################### [verify_heater extruder] max_error: 20 check_gain_time:120 hysteresis: 50 heating_gain: 2 ##################################################################### # FAN ##################################################################### ####四线风扇参考配置 [fan] pin:PB10 max_power: 1.0 tachometer_pin: ^PD15 ##################################################################### # [fan] # pin:PA3 # max_power: 1.0 # tachometer_pin: ^PD14 ##################################################################### [heater_fan 喉管散热] # 喉管冷却风扇 pin:PA1 max_power: 1.0 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 ##################################################################### [heater_fan 热床风扇] # 电器仓风扇 pin: PA15 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 5.0 heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PD10 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.007 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### #[bltouch] #sensor_pin: ^PC3 # 信号接口 #control_pin: PC6 # 舵机控制 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:150,150 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 ##################################################################### #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 ##################################################################### gantry_corners: # 300mm机器调平点位 -60,-10 360,370 points: 50,25 50,225 250,225 250,25 ##################################################################### #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 ##################################################################### speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 [force_move] enable_force_move: true ##################################################################### # 驱动LED ##################################################################### [neopixel TP_led] pin: PA8 # 信号接口 chain_count: 50 # 灯珠数量 color_order: GRB initial_RED: 0 #66CCFF initial_GREEN: 0 initial_BLUE: 0 initial_WHITE: 0.0 ##################################################################### # 自定义gcode宏 ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 clean_nozzle # 擦嘴 QUAD_GANTRY_LEVEL # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 clean_nozzle BED_MESH_PROFILE LOAD:default # 加载网床 [gcode_macro PRINT_huaxian] gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 ##################################################################### [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z1.00 X20.0 Y20.0 F6000 # 移动喷嘴以移除料线 TURN_OFF_HEATERS # 关闭热端 M107 # 关闭风扇 G1 Z2 F3000 # 将喷嘴向上移动2毫米 G90 # 设置绝对坐标体系 G0 X150 Y280 F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- # csi ## 主板接线[​](#主板接线 "主板接线的直接链接") Loading... ## CSI使用[​](#csi使用 "CSI使用的直接链接") ## CSI使用方法[​](#csi使用方法 "CSI使用方法的直接链接") * 镜像烧写完成后,进入/boot/config.txt中找到`camera_auto_detect=1`并且修改成`camera_auto_detect=0`然后按照摄像头型号添加配置 * 下方是参考配置 ``` dtoverlay=imx219,cam1 ``` Loading... Loading... --- # 固件烧录说明 注意事项 * PRO X10预刷的是Katapult * 只要烧录过BL后续无需再烧录BL * PRO X10的BL有两种,分别为Katapult固件与TF卡烧录的BL固件 * 如果有需要可以根据自己选择重新[TF 卡 Bootloader 救砖](https://mellow.klipper.cn/bl) 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 * 可以快速按两次重置后看主板上是否有一个LED闪烁起来,如果有则代表主板已经进入Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写;Pro X10 的固件支持通过 USB Katapult 更新。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-pro/fly-pro-x10/flash/firmware?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-pro/fly-pro-x10/flash/firmware?tab-0=can) | ## 拨码说明[​](#拨码说明 "拨码说明的直接链接") ### 请注意拨码状态[​](#请注意拨码状态 "请注意拨码状态的直接链接") Loading... ### TF卡槽使用说明[​](#tf卡槽使用说明 "TF卡槽使用说明的直接链接") Loading... --- # FLY-Pro X10 Bootloader(TF 卡)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * 本页提供 TF 卡使用的 Bootloader;USB Katapult 请勿与本页固件混用 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - PRO X10 的 TF 卡 Bootloader 固件 - 您可以通过以下链接获取固件: * [**BL.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/ProX10/BL.bin?v=5e74d3d8e27a) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/ProX10 ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `BL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/ProX10/BL.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `BL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/ProX10/BL.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 通过插件扩展驱动LED 需要通过ssh连接到上位机后按照下方链接进行安装与配置 ``` https://github.com/julianschill/klipper-led_effect ``` ## 安装[​](#安装 "安装的直接链接") 请使用**MobaXterm\_Personal**等**SSH工具**连接通过**WIFI**到您的上位机,并且需要确定以下几点 1. **请确保上位机安装好了Klipper固件** 2. **请确保登录的用户必须是安装好Klipper的用户** 3. **请确保你的输入法是英文** 4. **请确保你的上位机可以正常搜索到设备** 5. **请确保以上注意事项都做到,否则无法进行下一步** 该模块可以使用安装脚本安装到现有的 Klipper 安装中。 ``` cd ~ git clone https://github.com/julianschill/klipper-led_effect.git cd klipper-led_effect ./install-led_effect.sh ``` ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [neopixel TP_led] pin: PA8 chain_count: 50 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 #66CCFF [led_effect sb_nozzle_cooling] autostart: false frame_rate: 24 leds: neopixel:TP_led (9,10) layers: breathing 3 1 top (0.0, 0.0, 1.0, 0.1) [led_effect rainbow] leds: neopixel:TP_led autostart: true frame_rate: 24 layers: gradient 0.3 1 add (0.3, 0.0, 0.0),(0.0, 0.3, 0.0),(0.0, 0.0, 0.3) ``` --- # LED 效果 凭借其灵活性和相对易用性,可编程LED(Addressable LED)正逐渐取代RGB LED.每个独立的LED元件都能以极高的速度显示全光谱颜色,因此可用于创建各种灯光效果。 ## 配置灯带 (Configuring the strips)[​](#配置灯带-configuring-the-strips "配置灯带 (Configuring the strips)的直接链接") 断电操作 连接、拔插或更换 LED 灯带、数据线、电源线前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、改线或触碰裸露端子。 在您的配置文件中,每个连接到IO引脚的灯带或灯链都必须有一个定义。需要定义每条灯带的数据引脚(如果适用,还需时钟引脚)以及灯链中的LED数量。LED效果实例能够同时使用多种不同类型和颜色顺序的灯带,但每条灯带必须首先按其类型定义。 ``` [neopixel panel_ring] pin: # 数据引脚 chain_count: 16 # LED数量 ``` ## 配置效果 (Configuring the effects)[​](#配置效果-configuring-the-effects "配置效果 (Configuring the effects)的直接链接") 从更抽象的意义上说,效果是灯带所处的*状态*。效果可以由1个LED或100个LED组成。可以有1个效果层或10个效果层。这一切都是任意且可扩展的。这意味着,可以同时运行的层数和LED数量的唯一限制是宿主操作系统的处理能力。在初步测试中,在树莓派4上以24 FPS的速度同时运行了超过100个LED和12个效果层。 ## 基本层定义 (Basic layer definition)[​](#基本层定义-basic-layer-definition "基本层定义 (Basic layer definition)的直接链接") 在我们的示例打印机中,有一个由16个Neopixel LED组成的环,位于前面板上;还有一小段Neopixel LED位于热端旁边,用于照亮打印件。 此外,在热床下方还有5个 Dotstar LED。下方配置中的引脚均使用占位符,请按实际主板文档替换。 ``` [neopixel panel_ring] # 前面板环形灯带 pin: chain_count: 16 [neopixel tool_lights] # 工具头灯光 pin: chain_count: 6 [dotstar bed_lights] # 热床灯光 data_pin: # Dotstar需要数据引脚 clock_pin: # Dotstar需要时钟引脚 chain_count: 5 ``` 我们希望当打印机上线时,环形灯带亮起浅蓝色,并且亮度进行*呼吸*(逐渐变亮再变暗)。 ``` [led_effect panel_idle] # 定义名为panel_idle的效果 autostart: true # 开机自动启动 frame_rate: 24 # 帧率 (FPS) leds: # 应用效果的灯带 neopixel:panel_ring layers: # 效果层定义 breathing 10 1 top (.5,.5,1) # 呼吸效果 速度10 截止值1 顶部混合模式 颜色(0.5,0.5,1) [浅蓝] ``` 这定义了一个名为 `panel_idle` 的效果。 ### 控制效果 (Controlling the effects)[​](#控制效果-controlling-the-effects "控制效果 (Controlling the effects)的直接链接") 效果可以是活动的(active)或非活动的(inactive)。非活动效果不输出任何颜色数据,而活动效果返回颜色数据,这些数据会在它们运行的每个LED上进行叠加求和。 #### 激活和停用效果 (Activating and deactivating effects)[​](#激活和停用效果-activating-and-deactivating-effects "激活和停用效果 (Activating and deactivating effects)的直接链接") 我们的示例效果可以通过运行GCode命令 `SET_LED_EFFECT EFFECT=panel_idle` 来激活。为了停止当前在新效果所使用的LED上运行的所有其他效果,将 `REPLACE` 参数设置为1: `SET_LED_EFFECT EFFECT=panel_idle REPLACE=1` 运行命令 `SET_LED_EFFECT EFFECT=panel_idle STOP=1` 会再次停用这个特定的效果。 要停用所有效果,我们可以使用GCode命令 `STOP_LED_EFFECTS`。 要仅停用特定LED的效果,我们可以指定LEDS参数: `STOP_LED_EFFECTS LEDS="neopixel:panel_ring"` 您也可以指定索引(见下文): `STOP_LED_EFFECTS LEDS="neopixel:panel_ring (1-7)"`。一次只能指定一个LED参数。要停止多个LED的效果,我们必须多次运行该命令。 #### 淡入淡出 (Fading in and out)[​](#淡入淡出-fading-in-and-out "淡入淡出 (Fading in and out)的直接链接") 可以通过指定 `FADETIME` 参数来使效果淡入淡出: `SET_LED_EFFECT EFFECT=panel_idle FADETIME=1.0` 在1秒内将效果淡入。运行 `SET_LED_EFFECT EFFECT=panel_idle STOP=1 FADETIME=1.0` 在1秒内将其淡出。我们也可以通过运行 `STOP_LED_EFFECTS FADETIME=1.0` 将所有效果淡出。还可以通过将 `REPLACE` 参数与 `SET_LED_EFFECT` 结合使用来实现效果间的交叉淡入淡出(见上文): `SET_LED_EFFECT EFFECT=panel_idle REPLACE=1 FADETIME=1.0` ### 附加的效果级别参数 (Additional effect level parameters)[​](#附加的效果级别参数-additional-effect-level-parameters "附加的效果级别参数 (Additional effect level parameters)的直接链接") * `autostart: true` - 在启动时自动启动效果。 * `frame_rate:` - 设置效果的帧率(每秒帧数)。 * `run_on_error:` - (需要打补丁的MCU固件。当前不支持。) * `heater:` - 指定用于加热器效果(heater effect)的加热器。使用 `extruder` 表示挤出机,`heater_bed` 表示热床。对于温控风扇或传感器,添加类型并使用引号。 示例:`heater: "temperature_fan myfan"` * `analog_pin:` - 指定用于需要模拟信号的效果的引脚。 * `stepper:` - 指定用于步进电机效果(stepper effect)的轴。可能的值有:`x`, `y` 和 `z`. 示例:`stepper: x` * `endstops:` - 指定归位效果(homing effect)触发时生效的限位开关。多个限位开关可以指定为逗号分隔的列表。可能的值有:`x`, `y`, `z` 和 `probe`. 示例:`endstops: x, y` ## 定义LED (Defining LEDs)[​](#定义led-defining-leds "定义LED (Defining LEDs)的直接链接") `leds:` 部分是一个列表,列出了组成该效果的Neopixel或Dotstar灯带。两种类型可以用于同一个效果。每条灯带在 `leds:` 部分下方单独一行定义并缩进。 ``` leds: neopixel:panel_ring neopixel:tool_lights dotstar:bed_lights ``` 此外,可以决定只让特定的LED显示该效果。这是通过在灯带名称后提供要使用的LED索引来实现的。索引可以是列表或范围。范围也可以倒置以反转效果方向。如果省略索引,则使用整条灯带。 同样,如果出于某种原因需要,同一条灯带可以在一个效果中使用两次,并指定不同的LED. ``` leds: neopixel:tool_lights # 使用整个tool_lights灯带 neopixel:panel_ring (1-7) # 使用panel_ring灯带的LED 1到7 neopixel:panel_ring (16-9) # 使用panel_ring灯带的LED 16到9 (倒序) dotstar:bed_lights (1,3,5) # 使用bed_lights灯带的LED 1, 3, 5 ``` ## 定义效果层 (Defining Effect Layers)[​](#定义效果层-defining-effect-layers "定义效果层 (Defining Effect Layers)的直接链接") 效果是逐帧生成的。每帧包含的像素数等于为该效果定义的LED数量。因此,一个指定了22个LED的效果每帧将有22个像素。 每个效果层都是作为一帧生成的。每一层帧与下一层混合以生成最终效果。混合是累积性的,颜色如何混合由顶层的混合模式定义。 每个效果层在其自己的行上列出,并且每个层都有自己的设置。 大多数效果层(如呼吸breathing和渐变gradient)在Klipper启动时预渲染,以节省后续的计算开销。其他效果(如火焰Fire和闪烁Twinkle)则是按需渲染。 每层使用以下参数定义: * **层名称 (Layer name)** - 效果类型(如 static, breathing, fire 等) * **效果速率 (Effect Rate)** - 控制效果速度、周期或强度的数字参数(具体含义因效果而异) * **截止值 (Cutoff)** - 另一个数字参数,通常控制效果的长度、衰减或阈值(具体含义因效果而异) * **混合模式 (Blending mode)** - 定义该层如何与下方图层混合(如 top, add, screen 等) * **调色板 (Color palette)** - 定义效果使用的颜色,格式为 (R, G, B) 或 (R, G, B, W),值范围0.0到1.0 每层必须在单独的一行上定义,并且每行必须缩进。 调色板的长度可以是任意的,但可能会根据帧大小或灯带上的LED数量进行压缩。颜色定义为红(Red)、绿(Green)、蓝(Blue)和(可选的)白(White)的分组。白色通道仅用于RGBW LED,在RGB LED上会被忽略。每种颜色的范围是从0.0到1.0的小数。因此,黄色应使用 (1.0, 1.0, 0.0)。对于白色,在RGB LED上应使用 (1.0, 1.0, 1.0),在RGBW LED上应使用 (0.0, 0.0, 0.0, 1.0)。 单个颜色必须用括号括起来,并用逗号分隔。 一些示例调色板: 彩虹 Rainbow (1.0, 0.0, 0.0),(0.0, 1.0, 0.0),(0.0, 0.0, 1.0) # 红 -> 绿 -> 蓝 火焰 Fire (0.0, 0.0, 0.0),(1.0, 0.0, 0.0),(1.0, 1.0, 0.0),(1.0, 1.0, 1.0) # 黑 -> 红 -> 黄 -> 白 蓝色彗星 Blue Comet (0.8, 1.0, 1.0),(0.0, 0.8, 1.0),(0.0, 0.0, 1.0) # 浅青 -> 蓝青 -> 深蓝 ``` layers: breathing .5 0 screen (0,.1,1), (0,1,.5), (0, 1,1), (0,.1,.5) # 呼吸效果 速度0.5 截止值0 屏幕混合模式 4种蓝色调 static 1 0 bottom (1,.1,0), (1,.1,0), (1,.1,0), (1,1,0) # 静态效果 速率1 截止值0 底部混合模式 橙色(重复4次) ``` 有几种效果可供选择。 #### 静态 (Static)[​](#静态-static "静态 (Static)的直接链接") **效果速率 (Effect Rate):** 未使用,但必须提供 **截止值 (Cutoff):** 未使用,但必须提供 **调色板 (Palette):** 颜色在灯带上均匀混合 显示单一颜色且不变化。如果提供包含多种颜色的调色板,颜色将根据色相差异在LED上均匀混合。 #### 线性渐变 (LinearFade)[​](#线性渐变-linearfade "线性渐变 (LinearFade)的直接链接") **效果速率 (Effect Rate):** 3 一个完整周期的持续时间(秒) **截止值 (Cutoff):** 0 未使用,但必须提供 **调色板 (Palette):** 颜色按顺序循环 LED在颜色之间线性渐变。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。效果速率参数控制遍历所有颜色所需的时间。 #### 呼吸 (Breathing)[​](#呼吸-breathing "呼吸 (Breathing)的直接链接") **效果速率 (Effect Rate):** 3 一个完整呼吸周期(亮->暗->亮)的持续时间(秒) **截止值 (Cutoff):** 0 未使用,但必须提供 **调色板 (Palette):** 颜色按顺序循环 颜色逐渐变亮再变暗(呼吸)。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。效果速率参数控制一次“呼吸”所需的时间。 #### 闪烁 (Blink)[​](#闪烁-blink "闪烁 (Blink)的直接链接") **效果速率 (Effect Rate):** 1 一个完整周期(亮->灭->亮)的持续时间(秒) **截止值 (Cutoff):** 0.5 LED处于亮起状态的时间比例(0到1之间) **调色板 (Palette):** 颜色按顺序循环 LED根据效果速度完全亮起和完全熄灭。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。 #### 频闪 (Strobe)[​](#频闪-strobe "频闪 (Strobe)的直接链接") **效果速率 (Effect Rate):** 1 每秒频闪的次数 **截止值 (Cutoff):** 1.5 决定衰减速率。数值越大衰减越快 **调色板 (Palette):** 颜色按顺序循环 LED完全亮起,然后随时间衰减熄灭。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。效果速率控制灯光每秒频闪的次数。截止值参数控制衰减速率。1.5是一个不错的衰减速率值。 #### 闪烁 (Twinkle)[​](#闪烁-twinkle "闪烁 (Twinkle)的直接链接") **效果速率 (Effect Rate):** 1 增加LED点亮的概率。 **截止值 (Cutoff):** .25 决定衰减速率。数值越大衰减越快 **调色板 (Palette):** 随机选择颜色 沿灯带随机闪光并衰减。如果指定了调色板,则从调色板中随机选择一种颜色。 #### 渐变 (Gradient)[​](#渐变-gradient "渐变 (Gradient)的直接链接") **效果速率 (Effect Rate):** 1 渐变循环的速度,负值改变方向。 **截止值 (Cutoff):** 1 灯链上渐变的数量(值越大,单个渐变越短) **调色板 (Palette):** 具有均匀间距的线性渐变。 调色板中的颜色混合成一条沿灯带长度的线性渐变。效果速率参数控制颜色循环的速度。效果速率的负值会改变渐变循环的方向(从右向左 vs 从左向右)。截止值决定渐变长度相对于灯链长度的关系。数值越大,渐变越短(例如,值2表示在灯链长度上有2个渐变)。 #### 图案 (Pattern)[​](#图案-pattern "图案 (Pattern)的直接链接") **效果速率 (Effect Rate):** 1 图案移动的时间间隔(秒) **截止值 (Cutoff):** 1 图案每次移动的LED位置数量 **调色板 (Palette):** 要移动的图案 调色板作为重复图案应用于灯链,并沿灯链移动。效果速率决定移动之间的时间(秒),截止值决定图案每次移动的LED位置数量。 #### 彗星 (Comet)[​](#彗星-comet "彗星 (Comet)的直接链接") **效果速率 (Effect Rate):** 1 彗星移动的速度,负值改变方向 **截止值 (Cutoff):** 1 彗尾的长度(相对值) **调色板 (Palette):** “彗头”的颜色和“彗尾”的渐变 一个光点穿过LED,并带有衰减的拖尾。方向可以通过使用负的效果速率值来控制。调色板颜色决定彗星和拖尾的颜色。调色板的第一个颜色定义彗星“头部”的颜色,其余颜色混合到“尾部”。 #### 追逐 (Chase)[​](#追逐-chase "追逐 (Chase)的直接链接") **效果速率 (Effect Rate):** 1 光点移动的速度,负值改变方向 **截止值 (Cutoff):** 1 拖尾的长度(相对值) **调色板 (Palette):** “头部”的颜色和“尾部”的渐变 设置与彗星相同,但有多个光点相互追逐。 #### 加热器 (Heater)[​](#加热器-heater "加热器 (Heater)的直接链接") **效果速率 (Effect Rate):** 1 激活效果的最低温度(℃) **截止值 (Cutoff):** 0 达到目标温度后是否禁用效果(1=禁用, 0=保持静态) **调色板 (Palette):** 从冷到热混合的颜色值 当指定的加热器处于活动状态或温度高于指定的最低温度时,此效果激活。例如,如果加热器打开并设置目标温度,LED将循环渐变颜色,直到达到目标温度。一旦达到目标温度,将使用渐变的最后一个颜色,并且效果本质上变为静态颜色,直到加热器状态改变。如果提供了截止值参数(设为1),则在达到目标温度后效果将禁用。如果加热器关闭,颜色将反向遵循此模式,直到温度降至配置中指定的最低温度以下。LED 只能作为状态提示,不能作为热端或热床可触摸的安全依据;触摸前必须查看实际温度,并等待热端、热床充分冷却。 #### 温度 (Temperature)[​](#温度-temperature "温度 (Temperature)的直接链接") **效果速率 (Effect Rate):** 20 冷端温度(℃) **截止值 (Cutoff):** 80 热端温度(℃) **调色板 (Palette):** 从冷到热混合的颜色值 所配置加热器的温度决定了在调色板上渐变显示的颜色。当调色板中只定义了一种颜色时,该颜色的亮度由温度决定。 #### 火焰 (Fire)[​](#火焰-fire "火焰 (Fire)的直接链接") **效果速率 (Effect Rate):** 45 “火花”发生的概率 **截止值 (Cutoff):** 40 “冷却”速率 **调色板 (Palette):** 从“冷”到“热”混合的颜色值 Arduino的FastLED库附带了一个名为Fire2012WithPalette的示例程序。此效果是该程序的移植版。它通过“点燃”一个LED来模拟火焰。来自该LED的“热量”沿着LED长度传播,并逐渐冷却。较高的火花率会导致在灯带底部积累更多的热量,从而产生更强烈的火焰。改变冷却速率会导致整体火焰更长或更短。 #### 加热器火焰 (HeaterFire)[​](#加热器火焰-heaterfire "加热器火焰 (HeaterFire)的直接链接") **效果速率 (Effect Rate):** 1 激活效果的最低温度(℃) **截止值 (Cutoff):** 0 达到目标温度后是否禁用效果(1=禁用, 0=保持) **调色板 (Palette):** 从“冷”到“热”混合的颜色值 火焰效果,但对指定加热器的温度有响应。火焰从一个小余烬开始,随着加热器达到目标温度而增加强度。如果截止值参数设置为1,则在达到目标温度后效果将禁用,否则它将保持活动状态直到加热器关闭。 #### 模拟引脚 (AnalogPin)[​](#模拟引脚-analogpin "模拟引脚 (AnalogPin)的直接链接") **效果速率 (Effect Rate):** 10 输入信号的乘数 **截止值 (Cutoff):** 40 触发效果的最小阈值(原始值或电压百分比) **调色板 (Palette):** 混合的颜色值 此效果使用从模拟引脚读取的值来确定颜色。如果在调色板中指定了多种颜色,则根据引脚的值选择一种颜色。如果只指定了一种颜色,则亮度与引脚值成正比。此功能仅适合连接与主板 ADC 电压范围兼容的成品电位器模块或受支持的低压信号模块。不要把未知电压源、高于主板允许范围的信号或电源输出直接接入模拟引脚,否则可能损坏控制板。 #### 步进电机 (Stepper)[​](#步进电机-stepper "步进电机 (Stepper)的直接链接") **效果速率 (Effect Rate):** 4 尾部LED数量(负值表示填充步进位置之前的所有LED) **截止值 (Cutoff):** 4 头部LED数量(负值表示填充步进位置之后的所有LED) **调色板 (Palette):** 混合的颜色值 指定步进电机的位置由调色板中的第一个颜色表示。渐变中剩余的颜色在两侧混合并镜像。随着步进电机位置相对于轴长度的变化,灯光在灯带上上下移动。需要注意的是,效果本身每半秒更新一次步进电机位置(基于报告的步进位置,类似于GET\_POSITION gcode命令)。它不是实时的。效果速率中的负值将填充步进位置之前的整个灯带,截止值中的负值将填充步进位置之后的整个灯带。 #### 步进颜色 (StepperColor)[​](#步进颜色-steppercolor "步进颜色 (StepperColor)的直接链接") **效果速率 (Effect Rate):** 1 位置缩放因子 **截止值 (Cutoff):** 0 位置偏移量 **调色板 (Palette):** 混合的颜色值 LED的颜色由步进电机的位置决定。位置被映射到0到100之间,然后乘以效果速率并加上截止值作为偏移量。这个结果决定了在作为指定颜色值渐变的调色板中的取值。 #### 进度 (Progress)[​](#进度-progress "进度 (Progress)的直接链接") **效果速率 (Effect Rate):** 4 尾部LED数量(负值表示填充进度位置之前的所有LED) **截止值 (Cutoff):** 4 头部LED数量(负值表示填充进度位置之后的所有LED) **调色板 (Palette):** 混合的颜色值 配置与步进电机(Stepper)效果完全相同,但此层报告打印进度而不是步进电机位置。 #### 归位 (Homing)[​](#归位-homing "归位 (Homing)的直接链接") **效果速率 (Effect Rate):** 1 决定衰减速率。数值越大衰减越慢(淡出时间) **截止值 (Cutoff):** 0 未使用,但必须提供 **调色板 (Palette):** 颜色按顺序循环 在归位过程中,当限位开关触发时,LED亮起并再次淡出。效果速率决定淡出所需的时间。如果提供包含多种颜色的调色板,它将按照调色板中指定的顺序循环这些颜色。 ## 效果层混合 (Effect Layer Blending)[​](#效果层混合-effect-layer-blending "效果层混合 (Effect Layer Blending)的直接链接") 如果您使用过图像编辑软件,您可能熟悉图像层之间的颜色混合。几种常见的颜色混合技术已被添加用于混合LED层。配置中定义的层从上到下排序(配置文件中靠下的层是“底部”层,靠上的是“顶部”层)。 如果定义了3个层,首先将底部层与中间层混合。然后将结果层与顶部层混合。即使指定了混合模式,底部层也永远不会与任何层混合(它作为基础)。 层混合总是从下往上评估。 由于值不能超过100%亮度或0%暗度,因此它们被限制在这个范围内作为浮点数(0.0 - 1.0)。 #### 底部 (bottom)[​](#底部-bottom "底部 (bottom)的直接链接") 不进行混合,使用底部层的颜色通道值。`(b)` (底部层颜色) #### 顶部 (top)[​](#顶部-top "顶部 (top)的直接链接") 不进行混合,使用顶部层的颜色通道值。`(t)` (顶部层颜色) #### 相加 (add)[​](#相加-add "相加 (add)的直接链接") ``` ( t + b ) # 顶部层颜色 + 底部层颜色 ``` 颜色通道(红、绿、蓝)彼此相加。这导致通道变得更亮。 #### 相减 (subtract)[​](#相减-subtract "相减 (subtract)的直接链接") ``` ( b - t ) # 底部层颜色 - 顶部层颜色 ``` 从底部层减去顶部层。这会导致相似颜色变暗。 #### 反向相减 (subtract\_b)[​](#反向相减-subtract_b "反向相减 (subtract_b)的直接链接") ``` ( t - b ) # 顶部层颜色 - 底部层颜色 ``` 从顶部层减去底部层。这会导致相似颜色变暗。 #### 差值 (difference)[​](#差值-difference "差值 (difference)的直接链接") ``` abs( t - b ) # |顶部层颜色 - 底部层颜色| ``` 两个通道中较亮的减去较暗的。`( |t - b| )` #### 平均 (average)[​](#平均-average "平均 (average)的直接链接") ``` ( t + b ) / 2 # (顶部层颜色 + 底部层颜色) / 2 ``` 取通道的平均值。 #### 相乘 (multiply)[​](#相乘-multiply "相乘 (multiply)的直接链接") ``` ( t * b ) # 顶部层颜色 * 底部层颜色 ``` 通道相乘,这有助于使颜色变暗。 #### 相除 (divide)[​](#相除-divide "相除 (divide)的直接链接") ``` ( t / b ) # 顶部层颜色 / 底部层颜色 ``` 通道相除,这会使颜色变亮,通常是白色。 #### 反向相除 (divide\_inv)[​](#反向相除-divide_inv "反向相除 (divide_inv)的直接链接") ``` ( b / t ) # 底部层颜色 / 顶部层颜色 ``` 类似于相除,但用底部除以顶部。 #### 滤色 (screen)[​](#滤色-screen "滤色 (screen)的直接链接") ``` 1 - ( 1 - t ) * ( 1 - b ) # 1 - (1 - 顶部层颜色) * (1 - 底部层颜色) ``` 将值取反,相乘,然后再取反。类似于相除,它会产生更亮的颜色。 #### 变亮 (lighten)[​](#变亮-lighten "变亮 (lighten)的直接链接") ``` max( t, b ) # 取每个通道 t 和 b 的最大值 ``` 使用颜色通道中较亮的那个。`( max(t, b) )` #### 变暗 (darken)[​](#变暗-darken "变暗 (darken)的直接链接") ``` min( t, b ) # 取每个通道 t 和 b 的最小值 ``` 与变亮相反,使用颜色通道中较暗的那个。`( min(t, b) )` #### 叠加 (overlay)[​](#叠加-overlay "叠加 (overlay)的直接链接") ``` ( 2*t*b if t > .5 else 1 - 2*(1-t)*(1-b) ) # 条件混合 ``` 叠加是相乘(multiply)和滤色(screen)的组合。这具有增加对比度的类似效果。 ## 示例配置 (Sample Configurations)[​](#示例配置-sample-configurations "示例配置 (Sample Configurations)的直接链接") ## 故障警示灯 (das Blinkenlights)[​](#故障警示灯-das-blinkenlights "故障警示灯 (das Blinkenlights)的直接链接") 在发生严重错误时,所有LED灯带同步呼吸红色,以提供打印机出现错误状况的可见指示。此效果在正常操作期间禁用,仅在MCU进入关闭状态时启动(当前不支持)。 ``` [led_effect critical_error] leds: neopixel:tool_lights neopixel:bed_lights layers: strobe 1 1.5 add (1.0, 1.0, 1.0) # 频闪 白色 breathing 2 0 difference (0.95, 0.0, 0.0) # 呼吸 红色 (与下方差值混合产生脉动) static 1 0 top (1.0, 0.0, 0.0) # 静态 纯红 (基础) autostart: false # 不自动启动 frame_rate: 24 # 24 FPS run_on_error: true # (计划特性: 出错时运行) ``` ## 带温度显示的热床空闲状态 (Bed Idle with Temperature)[​](#带温度显示的热床空闲状态-bed-idle-with-temperature "带温度显示的热床空闲状态 (Bed Idle with Temperature)的直接链接") ``` [led_effect bed_effects] leds: neopixel:bed_lights # 应用在热床灯带 autostart: true frame_rate: 24 heater: heater_bed # 关联热床加热器 layers: heater 50 0 add (1,1,0),(1,0,0) # 加热器效果: 激活温度>50℃, 渐变从黄(1,1,0)到红(1,0,0) static 0 0 top (1,0,0) # 静态红色层 (顶部, 当达到目标温度时显示纯红) ``` ## 电位器控制亮度 (Brightness Controlled By Potentiometer)[​](#电位器控制亮度-brightness-controlled-by-potentiometer "电位器控制亮度 (Brightness Controlled By Potentiometer)的直接链接") 断电操作 接入电位器、风扇转速线或任何模拟信号前,请完全关闭打印机并断开电源供应。仅使用与主板 ADC 电压范围兼容的成品模块或线束,不要把未知电压源、高于主板允许范围的信号或电源输出直接接入模拟引脚。 这是一个如何将模拟引脚(Analog Pin)效果与图层混合结合以控制灯光亮度的示例。建议使用与主板接口兼容的成品电位器模块,并按照主板文档连接到允许的模拟输入端口。效果速率和截止值需要根据特定的电位器和电路板组合进行调整。 ``` [led_effect bed_effects] leds: neopixel:bed_lights autostart: true frame_rate: 24 analog_pin: # 模拟输入引脚 layers: analogpin 10 0 subtract (1,1,1) # 模拟引脚效果: 乘数10 阈值0 相减混合模式 白色(1,1,1) (值越大, 减的白色越多, 越暗) static 0 0 top (1,1,1) # 静态 纯白层 (基础亮度) ``` ## 进度条 (Progress Bar)[​](#进度条-progress-bar "进度条 (Progress Bar)的直接链接") 使用单条LED灯带,打印进度显示为深蓝色背景上的一条浅蓝色线。 ``` [led_effect progress_bar] leds: neopixel:progress_lights # 进度条灯带 autostart: true frame_rate: 24 layers: progress -1 0 add ( 0, 0, 1),( 0, 0.1, 0.6) # 进度效果: 负值填充左侧, 添加混合, 从深蓝(0,0,1)到中蓝(0,0.1,0.6)渐变 static 0 0 top ( 0, 0, 0.1) # 静态 暗蓝色背景层 (顶部) ``` ## 常见问题解答 (Frequently Asked Questions)[​](#常见问题解答-frequently-asked-questions "常见问题解答 (Frequently Asked Questions)的直接链接") ## 我的LED随机闪烁[​](#我的led随机闪烁 "我的LED随机闪烁的直接链接") 这通常是由于某种信号问题造成的。大多数可编程LED使用特定的通信协议。它通常涉及以特定间隔发送数据位,然后是复位锁存信号以通知它们点亮。它们将保持最后一次设置的颜色,直到被告知要做其他事情。 在打印机固件中实现的大多数可编程LED方案中,颜色数据在执行gcode命令时发送一次,之后不再发送。只要初始信号被读取,它们就会保持该颜色。 在此特定实现中,颜色数据按照效果帧率确定的固定间隔进行更新。因此,每秒10帧意味着每秒向LED发送10次颜色更新。 数据线容易受到打印机上其他电子设备的电磁干扰。当存在这种干扰时,可能会导致发送到LED的数据格式错误。 为了缓解这种情况,可以尝试对数据线进行绝缘或与其他电线隔离。尽量保持数据线尽可能短。这对于通常以3.3V输出数据信号的32位主板尤其成问题。 数据线上的振铃(ringing)和反射也会降低信号完整性,特别是当连接到第一个LED的电缆相当长时。如需改善数据线反射,优先使用带串联电阻的成品 LED 转接线、信号调理模块或更短的数据线。不建议客户自行改线;如必须处理线束,请先完全断电并断开电源。 另一个闪烁来源是压降。根据设置的亮度,每个可编程LED消耗20到60mA的功率。如果它们在无法提供足够功率的电源上运行(例如打印机主板的内部稳压器),则可能表现为闪烁或灯带整体变暗。 ## 我灯带末端的LED不如其他部分亮[​](#我灯带末端的led不如其他部分亮 "我灯带末端的LED不如其他部分亮的直接链接") 这通常与灯带末端的LED相比灯带开头的LED获得的功率不足有关。解决方法是使用带接插件的成品电源注入线、合适规格的独立 5V 电源,或更换更短/功耗更低的灯带。不建议客户自行改接 VCC 和 GND 线。所有 LED 电源线调整前必须完全断电并断开电源。 ## 我的颜色不正确[​](#我的颜色不正确 "我的颜色不正确的直接链接") 不同的芯片制造商和芯片类型使用略有不同的颜色数据协议。有些指定颜色顺序为红(Red)、绿(Green)、蓝(Blue),另一些指定为绿(Green)、红(Red)、蓝(Blue).LED灯带的配置在 'neopixel' 部分有一个可选参数可以设置颜色顺序。 `color_order: GRB` (例如,如果灯带实际是GRB顺序,但发送RGB数据时显示为绿色) 如果您不确定LED的颜色顺序并想测试,可以注释掉或禁用所有已配置的效果,并使用gcode命令直接设置灯带的颜色。 `SET_LED LED= RED=1 GREEN=0 BLUE=0 TRANSMIT=1` (例如 `SET_LED LED=panel_ring RED=1 GREEN=0 BLUE=0 TRANSMIT=1`) 此命令应将整个灯带变为红色。如果灯带变为绿色,则它使用GRB颜色顺序。 一些LED,如SK6812,还有一个白色通道。对于这些LED,颜色顺序可以设置为: `color_order: GRBW` * 注意:对于FLY的TP(可能是特定品牌/型号)驱动器,需要配置为 `color_order: GRB` *** --- # 引脚分布 说明 * 本页列出 FLY-Pro X10 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Pro X10 提供 10 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE7 | PG11 | PG10 | PG12 | PG8 | | DRIVER1 | PE8 | PE14 | PE13 | PE15 | PG7 | | DRIVER2 | PE9 | PG1 | PG0 | PE12 | PG6 | | DRIVER3 | PE10 | PF14 | PF13 | PF15 | PG5 | | DRIVER4 | PE11 | PF11 | PB2 | PF12 | PG4 | | DRIVER5 | PE2 | PF10 | PC0 | PF5 | PG3 | | DRIVER6 | PE3 | PF2 | PF4 | PF1 | PG2 | | DRIVER7 | PE4 | PC15 | PF0 | PC14 | PB1 | | DRIVER8 | PE1 | PB7 | PC13 | PB6 | PF9 | | DRIVER9 | PE0 | PG14 | PG15 | PG13 | PC6 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 表格中 `对应驱动 DIAG` 不为 `-` 的行表示该驱动 DIAG 已接入主控对应输入口。启用无限位时直接按表格配置 `diag_pin`,对应输入口会被 DIAG 信号占用,不要同时接入机械或光电限位开关。`PWM-OUT / 通用输出` 与 `舵机信号 / BLTouch 控制` 本身为输出口,只有因表格中标注了对应驱动 DIAG 时,才可作为该驱动的 DIAG 信号参考。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ----------------------- | ---- | ------------- | | 限位口0 / IO0 | PG8 | DRIVER0 | | 限位口1 / IO1 | PG7 | DRIVER1 | | 限位口2 / IO2 | PG6 | DRIVER2 | | 限位口3 / IO3 | PG5 | DRIVER3 | | 限位口4 / IO4 | PG4 | DRIVER4 | | 限位口5 / IO5 | PG3 | DRIVER5 | | 限位口6 / IO6 | PG2 | DRIVER6 | | HV-IN / 通用输入 | PB1 | DRIVER7 | | PWM-OUT / 通用输出 | PF9 | DRIVER8 | | 舵机信号 / BLTouch 控制 | PC6 | DRIVER9 | | 探针(Probe) | PC3 | - | 舵机口作为 DIAG 信号 舵机信号口本身为输出端口,不能作为信号输入。本产品因内部直连驱动 DIAG 引脚,才可直接在驱动表中查看对应 DIAG 引脚号用于无限位归位。 ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PC7 | | 加热口0 | PF8 | | 加热口1 | PF7 | | 加热口2 | PF6 | | 加热口3 | PE6 | | 加热口4 | PE5 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PF3 | | 热敏口0 | PC5 | | 热敏口1 | PC4 | | 热敏口2 | PA4 | | 热敏口3 | PB0 | | 热敏口4 | PC1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PA3 | | 风扇口4 | PA15 | | 风扇口5 | PB10 | ## 多功能风扇口[​](#多功能风扇口 "多功能风扇口的直接链接") FAN6、FAN7 为多功能风扇口,支持 PWM 调速与转速反馈、舵机模式: | 功能 | PWM 输出 | 转速反馈 | | ------- | -------- | -------- | | 风扇口6 | PB11 | PD14 | | 风扇口7 | PD12 | PD15 | ## PWM[​](#pwm "PWM的直接链接") FLY-Pro X10 提供 4 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PF9 | IN / PWM\_OUT | | PC6 | 舵机 / BLTouch 控制 | | PB11 | FAN6 | | PD12 | FAN7 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PC6 | | 探针信号 | PC3 | ## 屏幕 / EXP 说明[​](#屏幕--exp-说明 "屏幕 / EXP 说明的直接链接") 接口说明 FLY-Pro X10 未提供标准 `EXP1` / `EXP2` 12864 排针。图中的 `SCREEN`、`TFT V2` 等为本板专用屏幕接口,不等同于 12864 `EXP1` / `EXP2` 接口。 | 接口 | 引脚 / 说明 | | ----------- | --------------------- | | SCREEN 接口 | PA10 / PA9 / GND / 5V | | TFT V2 | 本板专用屏幕接口 | --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 树莓派CM4系统烧录 ## 拨码介绍[​](#拨码介绍 "拨码介绍的直接链接") * 请注意拨码状态 Loading... * TF卡槽使用说明 Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 1. 禁止带电时拔插除USB之外的任何设备 2. Type C 接口可以用作供电也可以用作USB SLAVE接口烧录镜像 3. 为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。 4. 模块没有带任何保护,请勿短路电源。 5. FLY主板不支持POE功能!请不要使用POE供电 须知 * 注意 :EMMC 版本不可以使用SD卡 * 注意:不带EMMC版本使用MICRO SD 卡启动,需要使用读卡器烧录镜像 * 内存卡建议TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 Loading... ## 镜像下载[​](#镜像下载 "镜像下载的直接链接") * 下载系统[戳我下载](https://www.raspberrypi.org/downloads/raspberry-pi-os/)下载最新发布的系统(或如图所示)。 * 如果下载的是种子文件,使用迅雷或彗星等软件再下载 Loading... * 带有桌面和推荐软件的镜像`(Raspberry Pi OS with desktop and recommended software)`,建议使用EMMC 16G或CM4 lite搭配16G以上容量的TF卡 须知 EMMC版本需要在断电情况下切换拨码进入CM4烧录模式,Lite版本直接给系统卡烧录镜像即可 须知 * EMMC版本需要进入烧录模式才能进入,下方是进入烧录模式的方法 * Lite版本无需进入烧录模式,直接格式化后烧录即可 ## rpiboot(引导加载程序)下载[​](#rpiboot引导加载程序下载 "rpiboot(引导加载程序)下载的直接链接") * 下载并以管理员权限打开rpiboot软件[戳我下载](https://files.waveshare.net/wiki/w/upload/f/f3/Rpiboot_setup.zip) * 以安装驱动程序和启动工具。安装成功之后在安装目录下有一个rpiboot.exe的应用 Loading... ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") * 此时连接电脑并且给主板供电,电脑设备管理器中会识别出一个BCMxxx的设备 Loading... * 然后运行rpiboot Loading... * 等待运行结束,在我的电脑上面会出现一个U盘的盘符 须知 注意:如果电脑没有识别出BCMxxx的设备 ,可能是上面哪个步骤有问题。一定要识别出BCMxxx的设备运行rpiboot 才会有效,否则无效。 ## 格式化EMMC或者SD卡[​](#格式化emmc或者sd卡 "格式化EMMC或者SD卡的直接链接") * 使用SDFormatter.exe[点击这里下载](https://www.waveshare.net/w/upload/d/d7/Panasonic_SDFormatter.zip)软件格式化SD 卡 Loading... * 或者使用WIN自带的磁盘管理删除分区,删除分区之后重新建立分区即可。 * 此电脑右键 -> 管理 -> 磁盘管理 -> 找到新添加的盘符(选择错了就完蛋了) -> 删除所有分区 -> 建立一个分区(任意文件系统)如果是烧录过系统会有两个盘符,不要管直接格式化或者删除分区就好了 ## 烧写镜像[​](#烧写镜像 "烧写镜像的直接链接") 1. 用Raspberry Pi Imager [点这里下载](https://www.raspberrypi.com/software/)烧写镜像。 2. 烧录前需要配置账号密码与打开SSH Loading... 3. 烧录完毕之后,在我的电脑会识别出一个U盘的盘符 ## 烧录完成并重启[​](#烧录完成并重启 "烧录完成并重启的直接链接") * 烧录完毕断开电源,断开和电脑的连接线,将BOOT拨码拨回去。重新上电即可 ## 树莓派zero2与zero2W注意事项[​](#树莓派zero2与zero2w注意事项 "树莓派zero2与zero2W注意事项的直接链接") * 此注意事项针对配合G2T使用FLY-TFT屏幕做的说明 * 树莓派zero2与zero2w需要修改默认显示设备可以执行下方代码直接修改\\ * 请注意执行完成后需要重启才可以使用 ``` sudo sed -i 's/\/dev\/fb0/\/dev\/fb1/g' /etc/X11/xorg.conf.d/99-fbdev.conf ``` --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-ProX10资料[​](#fly-prox10资料 "Fly-ProX10资料的直接链接") * 点击下方网盘链接 * Loading... --- # 屏幕使用 * LCD HDMI屏幕使用 * LCD DSI屏幕使用 * 使用TFT屏幕 HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 Loading... Loading... ## DSI使用方法[​](#dsi使用方法 "DSI使用方法的直接链接") * 镜像烧写完成后,进入/boot/config.txt中添加下方指令 ``` dtoverlay=vc4-kms-dsi-7inch ``` Loading... * 保存并且退出 TFT 排线规格 FLY-Pro X10 使用 TFT V2 屏幕时,请使用 `FPC 软排线-16P-反向-0.5mm-400mm`。 Loading... ## 注意事项:[​](#注意事项 "注意事项:的直接链接") * 确保在安装扩展板前,上位机已经关闭电源。 * 避免在潮湿或灰尘环境中使用扩展板。 * 安装屏幕时,请注意不要带电拔插,并注意屏线方向,以免造成损坏。 * 安装风扇时,请注意风扇的电流和电压规格,以免造成损坏。 * 请注意UART1已默认启用,无需再进行配置 * 请刷最新镜像比如`mainsailos`,不是升级内核 * **树莓派可以使用全部接口!!!** * **注意:树莓派使用的系统内核版本必须大于`5.17.x`, 执行命令`uname -r`查看内核版本** ## 安装屏幕驱动[​](#安装屏幕驱动 "安装屏幕驱动的直接链接") * 请注意可以直接使用预先安装好的系统 * 项目地址:[FLY-TFT](https://github.com/kluoyun/FLY-TFT) ### 介绍[​](#介绍 "介绍的直接链接") FLY-TFT-V2是一款基于st7796的TFT液晶屏,支持电容触摸与电阻触摸两种,分辨率320x480,使用SPI接口 * 需要自行安装[KlipperScreen](https://klipperscreen.readthedocs.io/en/latest/Installation/) ### 系统安装[​](#系统安装 "系统安装的直接链接") 注意事项 注意:树莓派使用的系统内核版本必须大于`5.17.x`, 执行命令`uname -r`查看内核版本 请刷最新镜像比如`mainsailos`,不是升级内核 * 使用 [Raspberry Imager](https://www.raspberrypi.com/software/) 安装最新的 **MainsailOS** 1. 下载并安装 [Raspberry Imager](https://www.raspberrypi.com/software/) 2. 打开**Raspberry Imager** 3. 点击**CHOOSE DEVICE** 4. 根据你的设备选择对应型号 5. 点击**CHOOSE OS** 6. 选择**Other specific-purpose OS** 7. 选择**3D printing** 8. 选择**Mainsail OS** 9. 选择最新的版本。如果你的设置支持64位系统则选择**rpi64** 10. 点击**CHOOSE STORAGE** 11. 选择你的存储设备,比如SD卡 12. 点击**NEXT**,等待安装完成 ### 驱动安装[​](#驱动安装 "驱动安装的直接链接") * 安装FLY-TFT-V2驱动 ``` git clone https://github.com/kluoyun/FLY-TFT.git cd FLY-TFT sudo chmod +x ./scripts/install.sh ./scripts/install.sh ``` ### 启用TFT显示[​](#启用tft显示 "启用TFT显示的直接链接") * 触摸需要启用I2C支持,对应配置为`dtparam=i2c_arm=on` 1. 安装驱动后需要在config.txt文件中添加 `dtoverlay=fly-tft-v2` 的覆盖层支持 2. 打开 `/boot/config.txt` (bookworm系统为`/boot/firmware/config.txt`) ``` sudo nano /boot/config.txt ``` 3. 在文件末尾添加下面的配置 ``` dtoverlay=fly-tft-v2 ``` * 默认屏幕为90度横屏显示,如果需要旋转屏幕请使用下面的配置 ``` dtoverlay=fly-tft-v2,r90 # 与默认方向一致,横向 dtoverlay=fly-tft-v2,r270 # 270度横屏,横向(翻转) dtoverlay=fly-tft-v2,r0 # 0度竖屏,纵向 dtoverlay=fly-tft-v2,r180 # 180度竖屏,纵向(翻转) ``` * 只能添加任意一个配置,不能添加多个 * 正常情况下,TFT的触摸方向会自动旋转跟随显示方向,无需修改系统内的触摸配置 4. 添加到文件末尾后,执行命令 `sudo reboot` 重启系统 ### 使用TFT[​](#使用tft "使用TFT的直接链接") * 请确保硬件连接正确 * 安装了驱动 * 在`/boot/config.txt` (bookworm系统为`/boot/firmware/config.txt`)文件中添加了`dtoverlay=fly-tft-v2` 的覆盖层支持 * 部分系统可能存在默认的fb0设备,FLY-TFT会被分配到fb1设备,需要修改配置文件使能fb1设备 * 执行命令`ls /dev/fb*`查看设备,如果出现两个设备fb0和fb1,请执行下面的命令将fb1设备使能(默认是fb0) * 执行下面的命令修改默认配置为fb1设备 ``` sudo sed -i 's/\/dev\/fb0/\/dev\/fb1/g' /etc/X11/xorg.conf.d/99-fbdev.conf ``` ### 使用KlipperScreen[​](#使用klipperscreen "使用KlipperScreen的直接链接") * MainsailOS默认没有安装KlipperScreen,需要手动安装 * 请参考[KlipperScreen](https://github.com/KlipperScreen/KlipperScreen)或使用[kiauh](https://github.com/dw-0/kiauh)安装 * 如果成功安装了KlipperScreen,且第5步骤已正确完成,此时应该已经显示了KlipperScreen界面 ### 所有可用配置[​](#所有可用配置 "所有可用配置的直接链接") * `speed` \[**需要参数**]:设置TFT的最大SPI时钟频率,单位为Hz,默认96000000(如果出现严重花屏请适当降低该值) * 示例:`dtoverlay=fly-tft-v2,speed=80000000` * `r0/r90/r180/r270` \[**可选**]\[**无需参数**]:设置TFT的显示和触摸方向,默认为90度,可选值为0,90,180,270,(只能添加一个配置) * 示例:`dtoverlay=fly-tft-v2,r90`或`dtoverlay=fly-tft-v2,r180` * `disable_touch` \[**无需参数**]:禁用TFT的触摸功能,默认为启用 * 示例:`dtoverlay=fly-tft-v2,disable_touch` * `invx`,`invy` \[**无需参数**]:设置TFT的触摸方向,`invx`为X方向翻转,`invy`为Y方向翻转 * 示例:`dtoverlay=fly-tft-v2,invx`或`dtoverlay=fly-tft-v2,invy`或`dtoverlay=fly-tft-v2,invx,invy` * `swapxy` \[**无需参数**]:设置TFT的触摸方向,X轴与Y轴互换,即横屏 * 示例:`dtoverlay=fly-tft-v2,swapxy` > **注意:** 所有参数可以同时设置(可选参数只能选择一个设置),多个参数之间用逗号隔开,多个参数只能在同一行 > **警告:** 正常情况只有`r0`,`r90`,`r180`,`r270`四个参数使用,其他参数仅在特殊情况下使用,尤其是`invx`,`invy`,`swapxy` * 示例:`dtoverlay=fly-tft-v2,speed=80000000,r270` --- # 外置驱动使用教程 提示 **文档正在编辑中,敬请期待.....** --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - 请注意工具板电源线不是接到CAN口,是接到12V-24v电源线上 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") * 在使用Type-C供电并不接其他主板电源时应该亮`SYS_5V`与SYS\_3.3V * 在接入主板电源`HVIN`、`VIN`、`BOARD`、`POWER`后主板电源灯应该常亮 ## 驱动[​](#驱动 "驱动的直接链接") * TP5160与TP2209只是命名不同,并且不需要跳线即可选择驱动模式 * 驱动口只能安装TP驱动,不能安装其他设备 ## 限位口[​](#限位口 "限位口的直接链接") * ProX10支持5V与12V电源选择,请注意如果使用接近开关需要安装二极管进行降压 ## 上位机[​](#上位机 "上位机的直接链接") * ProX10支持使用外置上位机,拨码选择连接Type-c后即可使用 ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") * 主板支持使用TF卡进行烧录,但是出厂默认是`Katapult` * 如果需要使用TF卡进行烧录需要重新烧录BL --- # 接线参考 ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** # 主板接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! ## 上位机接口说明[​](#上位机接口说明 "上位机接口说明的直接链接") Loading... *** ## 主板接线说明[​](#主板接线说明 "主板接线说明的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # FLY-Rpfmex Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 板载4个2209 ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 固件: Klipper * 支持12-24V直流供电,供电更稳定,省去降压模块 * 驱动工作模式支持 :UART 、STEP/DIR * 拓展接口:可控风扇*2,HV-IN输入*1,限位/ADC复用接口\*3 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 10A | 5A | | 风扇端口 | 1A | 0.5A | --- # FLY-RPFMEX Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-RPFMEX 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 圈起来为`BOOT按键` * 进入烧录模式需要在主板完全断电情况下,按住BOOT按键然后将带有数据传输的数据线一头接主板一头接你设备 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - rpfmex的Katapult固件 - 您可以通过以下链接获取固件: * [**rpfmex.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/Rpfmex/rpfmex.uf2?v=f3c1e2a766b0) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/Rpfmex ``` * STM32CubeProgrammer * DFU-AUTO 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `rpfmex.uf2` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/Rpfmex/rpfmex.uf2 ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `rpfmex.uf2` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/Rpfmex/rpfmex.uf2 ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 参考配置 提示 文档中出现的所有`*`包裹的内容需要按照自己实际的修改 ``` ## RPFMEX设置 [mcu rpfmex] serial: */dev/serial/by-id/usb-Klipper_rp2040_12345-if00* ## RPFMEX温度 [temperature_sensor FLY-RPFMEX] sensor_type: temperature_mcu sensor_mcu: rpfmex ## FAN0 [fan] pin: rpfmex:gpio11 ## FAN1 [fan_generic fan] pin: rpfmex:gpio12 ## M0 [stepper_x] step_pin: rpfmex:gpio6 dir_pin: rpfmex:gpio5 enable_pin: !rpfmex:gpio9 microsteps: 16 rotation_distance: 40 endstop_pin: !rpfmex:gpio27 ## RPFMEX板有gpio27,gpio28,gpio29三个限位引脚可用,按照实际接线修改配置 ## M1 [stepper_y] step_pin: rpfmex:gpio1 dir_pin: rpfmex:gpio0 enable_pin: !rpfmex:gpio4 microsteps: 16 rotation_distance: 40 endstop_pin: !rpfmex:gpio28 ## RPFMEX板有gpio27,gpio28,gpio29三个限位引脚可用,按照实际接线修改配置 ## M2 [stepper_z] step_pin: rpfmex:gpio22 dir_pin: rpfmex:gpio21 enable_pin: !rpfmex:gpio25 microsteps: 16 rotation_distance: 40 endstop_pin: !rpfmex:gpio29 ## RPFMEX板有gpio27,gpio28,gpio29三个限位引脚可用,按照实际接线修改配置 ## M3 [extruder] step_pin: rpfmex:gpio17 dir_pin: rpfmex:gpio16 enable_pin: !rpfmex:gpio20 microsteps: 16 rotation_distance: 33.5 max_extrude_only_distance: 800 max_extrude_cross_section:800 [tmc2209 stepper_x] uart_pin: rpfmex:gpio7 run_current: 0.800 #diag_pin: rpfmex:gpio8 [tmc2209 stepper_y] uart_pin: rpfmex:gpio2 run_current: 0.800 #diag_pin: rpfmex:gpio3 [tmc2209 stepper_z] uart_pin: rpfmex:gpio23 run_current: 0.800 #diag_pin: rpfmex:gpio24 [tmc2209 extruder] uart_pin: rpfmex:gpio18 run_current: 0.800 #diag_pin: rpfmex:gpio19 ## HV-IN / 通用输入 ## gpio10 是输入口,不是 RGB / Neopixel 输出口 ## 如需使用该输入口,请按实际用途配置 gcode_button、filament_switch_sensor 等输入类模块 ## 热敏设置 [temperature_sensor PT100] sensor_pin: rpfmex:gpio27 ## RPFMEX板有gpio27,gpio28,gpio29三个热敏引脚可用,按照实际接线修改配置 ## 热敏接限位接口的GND和GPIO sensor_type: ATC Semitec 104GT-2 pullup_resistor: 2200 ``` --- # USB 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 16KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 USBSERIAL (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (USBSERIAL) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 8出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/rp2040/bootrom.o Compiling out/src/rp2040/usbserial.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/rp2040/chipid.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 确认是否进入烧录模式[​](#确认是否进入烧录模式 "确认是否进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理线序或触碰端子。 * 使用Type-C数据线将主板连接至上位机后,**双击reset按钮**,此时主板上会有LED灯闪烁。 警告 * 如果没有LED灯闪烁,请重新烧录Katapult固件:[烧录Katapult固件](https://mellow.klipper.cn/bl) * 如果没有LED灯闪烁,请在烧录完Katapult固件后,再执行下一步 ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") 适用范围 本流程用于通过 **USB Katapult** 烧录刚刚编译好的 Klipper 固件,只需要操作当前页面所选的固件类型。 ### 1. 搜索 Katapult USB ID[​](#1-搜索-katapult-usb-id "1. 搜索 Katapult USB ID的直接链接") 非 FLY 官方上位机需要先安装 Katapult: [查看 Katapult 安装方法](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#katapult-install-deps) 执行以下命令: ``` ls /dev/serial/by-id/* ``` 识别结果 搜索结果中应出现包含 `usb-katapult_` 的完整路径,例如: ``` /dev/serial/by-id/usb-katapult_<芯片型号>_<设备ID>-if00 ``` 每块下位机的 ID 都不同,请复制自己设备显示的完整路径。 ### 2. 烧录 Klipper 固件[​](#2-烧录-klipper-固件 "2. 烧录 Klipper 固件的直接链接") 替换设备 ID 请将命令中的 `` 替换为上一步搜索到的完整路径,不要保留尖括号。 * 普通 Linux 上位机 * FLYOS / FLY 上位机 ``` ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d ``` ``` python3 ~/katapult/scripts/flashtool.py -d ``` ### 3. 确认烧录结果[​](#3-确认烧录结果 "3. 确认烧录结果的直接链接") 命令执行完成且没有出现报错,即表示固件已经写入。烧录完成后,Katapult USB ID 会消失;请按照当前产品页面后续步骤重新上电并搜索对应的 Klipper ID。 Loading... ### 重刷固件[​](#重刷固件 "重刷固件的直接链接") 以后需要更新已经刷入的 Klipper 固件时,不需要重复烧录 Katapult。请先在当前页面重新编译目标固件,再根据设备当前状态选择一种方法。 #### 方法一:使用命令自动进入 Katapult[​](#方法一使用命令自动进入-katapult "方法一:使用命令自动进入 Katapult的直接链接") 如果当前能搜索到 `usb-Klipper_` ID,可以让 Klipper 自动请求下位机进入 Katapult 并完成重刷: ``` cd ~/klipper && make flash FLASH_DEVICE= ``` 请将 `` 替换为 `ls /dev/serial/by-id/*` 搜索到的完整路径。命令默认使用 `~/klipper/out/klipper.bin`。 #### 方法二:双击 RST 后手动烧录[​](#方法二双击-rst-后手动烧录 "方法二:双击 RST 后手动烧录的直接链接") 如果当前没有 `usb-Klipper_` ID,或方法一执行失败,请使用以下方法: 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 USB 线或触碰端子。 1. 断电后重新连接 Type-C 数据线。 2. 快速双击下位机的 `RST` 按键,等待状态灯闪烁,表示已进入 Katapult。 3. 搜索 Katapult USB ID: ``` ls /dev/serial/by-id/* ``` 4. 使用搜索到的 `usb-katapult_` ID 执行烧录: 普通 Linux 上位机: ``` ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d -f ~/klipper/out/klipper.bin ``` FLYOS / FLY 上位机: ``` python3 ~/katapult/scripts/flashtool.py -d -f ~/klipper/out/klipper.bin ``` 注意 重刷时必须使用与当前连接方式对应的固件。USB 桥接 CAN 固件虽然最终通过 CAN 工作,但 Katapult 重刷仍然使用 USB ID 和 USB 烧录命令。 ## 烧录后搜索 USB ID[​](#烧录后搜索-usb-id "烧录后搜索 USB ID的直接链接") 固件烧录完成并给主板重新上电后,请继续搜索 USB ID。 [查看 USB ID 获取方法](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-rpfmex/read-id?tab-0=usb) --- # 引脚分布 说明 * 本页列出 FLY-RPFMEX 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART` 为 TMC2209 驱动通信引脚。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-RPFMEX 提供 4 个驱动口: | 驱动 | STEP | DIR | EN | UART | DIAG | | ------- | ------ | ------ | ------ | ------ | ------ | | DRIVER0 | gpio6 | gpio5 | gpio9 | gpio7 | gpio8 | | DRIVER1 | gpio1 | gpio0 | gpio4 | gpio2 | gpio3 | | DRIVER2 | gpio22 | gpio21 | gpio25 | gpio23 | gpio24 | | DRIVER3 | gpio17 | gpio16 | gpio20 | gpio18 | gpio19 | ## DIAG 与无限位[​](#diag-与无限位 "DIAG 与无限位的直接链接") DRIVER0–3 的 DIAG 信号已独立直连主控 GPIO,使用无限位归位时直接按驱动表中的 DIAG 引脚配置 `diag_pin`: | 驱动 | DIAG / diag\_pin | | ------- | ---------------- | | DRIVER0 | gpio8 | | DRIVER1 | gpio3 | | DRIVER2 | gpio24 | | DRIVER3 | gpio19 | 这些 DIAG 引脚不是下方“限位”表中的普通限位口,启用无限位时不会占用 `gpio27`、`gpio28`、`gpio29` 普通限位输入。 ## 限位与温度复用[​](#限位与温度复用 "限位与温度复用的直接链接") | 功能 | 引脚 | 备注 | | ------------------ | ------ | ------------- | | 限位 / ADC 复用口1 | gpio27 | 与热敏口1复用 | | 限位 / ADC 复用口2 | gpio28 | 与热敏口2复用 | | 限位 / ADC 复用口3 | gpio29 | 与热敏口3复用 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | 备注 | | ------- | ------ | ------------------------ | | 热敏口1 | gpio27 | 与限位 / ADC 复用口1复用 | | 热敏口2 | gpio28 | 与限位 / ADC 复用口2复用 | | 热敏口3 | gpio29 | 与限位 / ADC 复用口3复用 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 接口复用 `gpio27`、`gpio28`、`gpio29` 同时具备普通输入与 ADC 采样功能,只能按一种用途使用。作为热敏输入后,不要再把同一接口配置为机械限位或其他输入。接口图左侧从上到下依次为 `gpio29`、`gpio28`、`gpio27`,请按实际线序核对。 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | 备注 | | ----- | ------ | ------------------------- | | 风扇0 | gpio11 | 可控输出 | | 风扇1 | gpio12 | 可控输出 | | 风扇2 | - | 常供电接口,不受 MCU 控制 | ## 通用输入[​](#通用输入 "通用输入的直接链接") | 功能 | 引脚 | 备注 | | ---------------- | ------ | --------------------------- | | HV-IN / 通用输入 | gpio10 | 输入口,不作为 RGB 输出使用 | ## PWM[​](#pwm "PWM的直接链接") | PWM | 引脚 | 备注 | | ---- | ------ | ----- | | PWM0 | gpio11 | 风扇0 | | PWM1 | gpio12 | 风扇1 | ## 屏幕 / EXP 说明[​](#屏幕--exp-说明 "屏幕 / EXP 说明的直接链接") 接口说明 FLY-RPFMEX 未提供标准 `EXP1` / `EXP2` 12864 排针。请按本页已列出的驱动、限位、温度、风扇和通用输入接口使用,不要套用其他主板的 `EXP1` / `EXP2` 引脚表。 --- # 主板ID读取查看 须知 * 本教程是针对主板的ID读取查看方法,工具板请参考对应产品的ID搜索教程 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-Rpfmex资料[​](#fly-rpfmex资料 "Fly-Rpfmex资料的直接链接") * 点击下方网盘链接 * Loading... --- # Super5 Pro Loading... # 产品参数 * 采用 32 位主频 550 MHz 的 ARM Cortex-M7 系列 STM32H723ZGT6 主控芯片 * 固件 :Marlin 2.0/Reprap/Klipper * 驱动支持 :A4988 、LV8729、DRV8225、TMC2208/2209/5160等 * 驱动模式支持:TMC :UART /SPI * 5个高压驱动位、支持5个独立电机驱动 * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 1个高压IN口,支持自动平床传感器 :BLTouch 、PL08N等接近传感器、Klicky、Voron Tap等 * 可选限位开关电源:5V/12V/24V * 使用Reprap固件,可以使用板载ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度,两个2pin风扇接口可支持4pin PWM风扇 * PCB采用2OZ铜厚,能够支持更大的电流 * 3个ADC接口,最多支持三路热敏 * 7个IO接口,可以用于调平和限位 * 3个加热棒接口,最多支持三路加热棒 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ## 示例配置[​](#示例配置 "示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /Fly-Super5 # #################################################################################### ## Fly-Super5-PRO资料网址: ## Fly-Super5-PRO原理图网址: ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [safe_z_home] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super5-PRO] # FLY主板温度 sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 DRIVER0 (B Motor) # ##################################################################### #注:接完线需测试运行方向 [stepper_x] step_pin: PE14 # X轴电机脉冲引脚设置 dir_pin: PE15 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PB11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PB7 # 限位开关PIN脚,建议常闭接常闭 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PB10 # 通讯端口Pin脚定义 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PB10 # SPI 片选Pin脚定义 #spi_bus: spi1 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 DRIVER01 (B Motor) # ##################################################################### #注:接完线需测试运行方向 [stepper_y] step_pin: PE11 # Y轴电机脉冲引脚设置 dir_pin: PE12 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PE13 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: PC7 # 限位开关PIN脚,建议常闭然后添加!反转状态 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PE10 # 通讯端口Pin脚定义 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 #spi_bus: spi1 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |------Z1------| # | | # | | # | | # |-----显示屏----| ##################################################################### # Z轴步进电机 DRIVER02 # ##################################################################### #注:接完线需测试运行方向 [stepper_z] step_pin: PE7 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ### 请根据购买的丝杆参数进行修改 rotation_distance: 4 # 丝杆导程为 4 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: PC6 # 限位开关PIN脚,建议常闭然后添加!反转状态 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # 配置喷嘴清洁需要-5左右 position_endstop: 120 # 软限位最大行程 (250mm-300mm-350mm)(voron0.1是120) position_max: 120 # 机械限位最大行程 (250mm-300mm-350mm)(voron0.1是120) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PA4 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PA4 # SPI 片选Pin脚定义 #spi_bus: spi1 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(不建议开启) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #DRIVER03 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: PE5 # 挤出电机方向引脚设置 enable_pin: !PC1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是98毫米: ## 新值=旧值 x(实际挤出长度/目标长度) ## 校准步进值: 23.1325301 = 旧值22.6789511*(实际值102/目标值100) rotation_distance: 22.6789511 # 步进值-Bondtech 5mm 驱动齿轮 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PD12 # 加热棒引脚,接到HETA0 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) pullup_resistor:2200 # 上拉电阻 sensor_pin: PC4 # 传感器引脚,接到ADC-1 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PC0 # 通讯端口Pin脚定义 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PC0 # SPI 片选Pin脚定义 #spi_bus: spi1 # SPI 通讯总线定义 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PB0 # 热床接口,接到HETA1 sensor_type: Generic 3950 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PB1 # 热床传感器接口 pullup_resistor:2200 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # PL08N感应探头 ##################################################################### # PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! #[probe] #pin: # 信号接口 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 #speed: 10.0 # 调平速度 #samples: 3 # 采样次数 #samples_result: median # 取值方式(默认median-中位数) #sample_retract_dist: 4.0 # 调平回缩距离 #samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) #samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^PC2 # 信号接口 #control_pin:PE6 # 舵机引脚 #x_offset: 0 # X轴-传感器相对喷嘴偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量 ##################################################################### # FLY-Mini 12864 LCD # ##################################################################### [board_pins] aliases: # EXP1 header EXP1_1=PA8, EXP1_3=PA15, EXP1_5=PD0, EXP1_7=PD4, EXP1_9=, EXP1_2=PA13, EXP1_4=PA14,EXP1_6=PD1, EXP1_8=PD3, EXP1_10=<5V>, # EXP2 header EXP2_1=PB4, EXP2_3=PD7, EXP2_5=PD6, EXP2_7=PD5, EXP2_9=, EXP2_2=PB3, EXP2_4=PB6, EXP2_6=PB5, EXP2_8=, EXP2_10=<5V> #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1a # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 G28 # 归位所有轴 G1 Z20 F3000 # 抬高龙门 #SET_LED LED=LEDlight RED=0.2 GREEN=0.2 BLUE=0.5 # LED灯控制 #M117 Printing # 向屏幕发送文本 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` --- 提示 * Super5 Pro默认使用TF卡进行固件烧录 * 请准备一张容量不超过`32G`TF卡 * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * TF卡的传输速度最好为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 # 固件烧录说明 提示 * Super5 Pro出厂已经预刷TF卡bootloader,无需自己再刷一次 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写;Super5 Pro 的固件使用 TF 卡烧录。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super5/flash/firmware?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super5/flash/firmware?tab-0=can) | --- # FLY-Super5 Pro Bootloader(TF 卡)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * 正常更新 Klipper 固件时,请使用固件编译页面中的 TF 卡流程 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 右边为`BOOT跳线`,左边为`RESET按键` * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,按住BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,按住BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - SUPER5 PRO 的 TF 卡 Bootloader 固件 - 您可以通过以下链接获取固件: * [**SUPER5PRO.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/SUPER/SUPER5PRO.bin?v=5e74d3d8e27a) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/SUPER ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `SUPER5PRO.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/SUPER/SUPER5PRO.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `SUPER5PRO.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/SUPER/SUPER5PRO.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # 引脚分布 说明 * 本页列出 FLY-Super5 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Super5 提供 5 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE14 | PE15 | PB11 | PB10 | PB7 | | DRIVER1 | PE11 | PE12 | PE13 | PE10 | PC13 | | DRIVER2 | PE7 | PE8 | PE9 | PA4 | PC7 | | DRIVER3 | PE4 | PE5 | PC1 | PC0 | PC14 | | DRIVER4 | PE1 | PE2 | PE3 | PE0 | PC6 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 使用无限位(Sensorless Homing)归位时,驱动芯片通过 DIAG 引脚输出堵转检测信号,Klipper 需通过对应输入口读取该信号。本主板 DIAG 与限位口的对应关系如下: * **DRIVER0–4**:DIAG 已直连主控对应限位输入口(DRIVER*n* → 限位口*n*),板上**无 DIAG 跳线插针**,DIAG 信号始终送达主控。启用无限位时直接配置对应限位口引脚为 `diag_pin` 即可,**不能在该限位口接入物理限位开关**。 启用无限位后,对应限位口被 DIAG 信号占用,不得同时接入机械或光电限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ------------- | ---- | ------------- | | 限位口0 / IO0 | PB7 | DRIVER0 | | 限位口1 / IO1 | PC13 | DRIVER1 | | 限位口2 / IO2 | PC7 | DRIVER2 | | 限位口3 / IO3 | PC14 | DRIVER3 | | 限位口4 / IO4 | PC6 | DRIVER4 | | 限位口5 / IO5 | PC15 | - | | 探针(Probe) | PC2 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PB0 | | 加热口0 | PD12 | | 加热口1 | PD13 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床热敏 | PB1 | | 热敏口0 | PC4 | | 热敏口1 | PC5 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PA3 | ## PWM[​](#pwm "PWM的直接链接") FLY-Super5 提供 2 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PB2 | IN / PWM\_OUT | | PE6 | 舵机 / BLTouch 控制 | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PE6 | | 探针信号 | PC2 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PA8 | | EXP1\_2 | PA13 | | EXP1\_3 | PA15 | | EXP1\_4 | PA14 | | EXP1\_5 | PD0 | | EXP1\_6 | PD1 | | EXP1\_7 | PD4 | | EXP1\_8 | PD3 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PB4 | | EXP2\_2 | PB3 | | EXP2\_3 | PD7 | | EXP2\_4 | PB6 | | EXP2\_5 | PD6 | | EXP2\_6 | PB5 | | EXP2\_7 | PD5 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | 5V | --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-Super5资料[​](#fly-super5资料 "Fly-Super5资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - CAN参考接线 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") Loading... * 只通过TYPE-C供电并不接其他主板电源时至少亮两个灯`3.3V`与`5V` * 在接入主板电源后主板电源灯应该亮`3.3V`、`5V`、`12V` * 驱动电源0-2、驱动电源3-7、热床电源接入后,主板左下方电源指示灯才会正常亮起来 ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V`与`5V`两个LED - 如果`3.3V`与`5V`不亮,请检查主板5V跳线 - 更换跳线后还是一样,并且确认Type-C正常供电,需要联系客服售后 - 如果`3.3V`、`5V`中有一个灯闪烁,代表有芯片短路,需要联系客服售后 Loading... ## 驱动[​](#驱动 "驱动的直接链接") * 驱动供电可以使用48V但是只能全部驱动都使用48V * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 如果发现限位口不能使用可以更换限位口或者剪去驱动的无限位脚 Loading... ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") * 主板使用TF卡进行烧录 * 之前因教程问题使用 DFU 进行烧录,如需恢复 Bootloader,请进入 [Bootloader 救砖页面](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super5/flash/bl) --- # 主板接线 ## 接口图[​](#接口图 "接口图的直接链接") ### 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ### Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线-1 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # Super8 Pro Loading... # 产品参数 * 采用 32 位主频 550 MHz 的 ARM Cortex-M7 系列 STM32H723ZGT6 主控芯片 * 固件 :Marlin 2.0/Reprap/Klipper * 驱动支持 :A4988 、LV8729、DRV8225、TMC2208/2209/5160等 * 驱动模式支持:TMC :UART /SPI * 8个高压驱动位、支持8个独立电机驱动、5个挤出机、10个PWM风扇 * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 1个高压IN口,支持自动平床传感器 :BLTouch 、PL08N等接近传感器、Klicky、Voron Tap等 * 可选限位开关电源:5V/12V/24V * 使用Reprap固件,可以使用板载ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度,两个2pin风扇接口可支持4pin PWM风扇 * PCB采用2OZ铜厚,能够支持更大的电流 * 6个ADC接口,最多支持六路热敏 * 8个IO接口,可以用于调平和限位 * 5个加热棒接口,最多支持五路加热棒 * 2个PMW接口 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ## Voron Trident示例配置[​](#voron-trident示例配置 "Voron Trident示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI ## spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver3 [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改,总共需要修改3处 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG10 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) position_endstop: -0.5 ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.5 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI总线选, 建议优先使用软件SPI # spi_speed: 100000 # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 0.5 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤. G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略的测量是你的床的中间. #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## Voron 2.4 示例配置[​](#voron-24-示例配置 "Voron 2.4 示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG9 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: !PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # Z1-------------Z2 # | | # | | # | | # Z0----显示屏----Z3 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_endstop:-0.5 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右后方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z3 步进电机 - 右前方 on Driver6 [stepper_z3] step_pin: PE0 # z2轴电机脉冲引脚设置 dir_pin: PG3 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PG4 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z3] uart_pin: PG2 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z3] # 挤出机驱动配置- TMC5160 #cs_pin: PG2 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- #gantry_corners: # 300mm机器调平点位 # -60,-10 # 360,370 #points: # 50,25 # 50,225 # 250,225 # 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 quad_gantry_level # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## vzboot示例配置[​](#vzboot示例配置 "vzboot示例配置的直接链接") ``` ### For Fly Super PRO 8 #### ### And Mellow Kit #### ### For Fly Super non pro, the SPI bus is spi3 [include mainsail.cfg] [include timelapse.cfg] #[include PIS.cfg] this is the fysetc accelerometer #[include crampon.cfg] This is the Annex Crampon accelerometer ##### VzBoT############ ####################### [printer] kinematics: corexy max_velocity: 2500 max_accel: 10000 #max_accel_to_decel: 5000 max_z_velocity: 20 max_z_accel: 1500 square_corner_velocity: 10 ######################## ######################## [mcu] serial:/dev/serial/by-id/[replace with your own board ID] #restart_method: command [mcu rpi] serial: /tmp/klipper_host_mcu #[adxl345] (if you run sensor connected to Pi) #cs_pin: rpi:None #[resonance_tester] This is for accel sensor connected to Pi #accel_chip: adxl345 #probe_points: # 155,155,20 # an example ######################## ######################## [stepper_x] ## in M3 position step_pin: PE14 dir_pin: PE8 enable_pin: !PE9 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG11 position_endstop: -19 position_min: -19 position_max: 315 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_x] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE7 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_x1] ## in M5 position step_pin: PE1 dir_pin: PF0 enable_pin: !PC15 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_x1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PF1 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y] ## in M4 position step_pin: PE15 dir_pin: PE11 enable_pin: !PF2 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG12 position_endstop: -0 position_min: -0 position_max: 310 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_y] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE10 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y1] ## in M6 position step_pin: PE0 dir_pin: PG3 enable_pin: !PG4 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_y1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PG2 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 ######################### [stepper_z] ## In M0 position step_pin: PE2 dir_pin: !PC5 enable_pin: !PF11 microsteps: 32 rotation_distance: 4 endstop_pin: ^PG10 position_endstop: 0.0 position_max: 400 full_steps_per_rotation: 200 homing_retract_dist: 5.0 homing_positive_dir: false homing_speed: 5.0 second_homing_speed: 2.5 [tmc2209 stepper_z] interpolate: false uart_pin: PC4 run_current: 1 sense_resistor: 0.110 ######################### [extruder] ## In M1 position ### Vz-HextrudORT step_pin: PE3 dir_pin: PF13 microsteps: 16 enable_pin: !PF14 rotation_distance: 22 gear_ratio: 50:10 nozzle_diameter: 0.5 filament_diameter: 1.750 heater_pin: PB0 sensor_type: PT1000 sensor_pin: PF4 ### control:watermark min_temp: -235 max_temp: 350 full_steps_per_rotation: 200 max_extrude_only_distance: 1000.0 max_extrude_cross_section: 500 max_extrude_only_velocity: 200 max_extrude_only_accel: 10000 min_extrude_temp: 170 pressure_advance: 0.02 pressure_advance_smooth_time: 0.03 [tmc2209 extruder] interpolate: false uart_pin: PF12 run_current: 0.7 sense_resistor: 0.110 ######################## ######################## [heater_bed] heater_pin: PE5 sensor_type: Generic 3950 sensor_pin: PC1 control:watermark min_temp: -235 max_temp: 120 ######################## #### FANS ############## ######################## [fan] ## Print Cooling Fan pin: PF8 max_power: 0.9 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 [heater_fan hotend_fan] ## Hotend Fan - FAN0 Connector (or watercooling pump+fan on radiator) pin: PA0 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 [fan_generic Exhaust_fan] ## exhaust fan - In FAN4 pin: PA15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic chamber_fan] ## chamber fan - In FAN9 Positon pin: PD15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic RSCS] ## RSCS Fans - In FAN1 Positon pin: PA1 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 #[controller_fan driver_fan] # This is if you connect your driver fan to Super8 #or if you want to add fan to the Super8. Other wise connect them in the driver fan ports #stepper: stepper_x #pin: PB11 #max_power: 1 #shutdown_speed: 0 #kick_start_time: 0.1 #off_below: 0.10 ######################## ######################## [temperature_sensor FLY-Super8] sensor_type: temperature_mcu #[temperature_sensor chamber] optional for chamber temp #sensor_type: NTC 100K MGB18-104F39050L32 #pullup_resistor: 4700 #sensor_pin: PF9 #min_temp: 0 #max_temp: 60 #gcode_id: C: C [temperature_sensor raspberry_pi] sensor_type: temperature_host ######################## ######################## [pause_resume] recover_velocity: 350 ######################## ######################## [filament_switch_sensor sentinel] pause_on_runout: true switch_pin: PA8 runout_gcode: G91 G1 E-30 F2500 G90 G1 X0 Y0 F30000 M104 S0 ######################## ######################## #[homing_override] #set_position_z: 0 #axes: xy #gcode: # G0 Z3 F200 # G28 y0 # G28 x0 # G28 Z0 ######################## ######################## [firmware_retraction] retract_length: 0.5 retract_speed: 60 unretract_extra_length: 0.00 unretract_speed: 60 ########################################### #########Custom PINs Definition ############ ########################################### [output_pin LED] #In FAN8 position pin: PD14 pwm: false value: 1 shutdown_value:1 ### gcode command: SET_PIN PIN=LED value=0 to 1 ################################################################################################ ################################################################################################ ##### MACROS ################## [gcode_macro RETRACTION_UP] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float + 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} [gcode_macro RETRACTION_DOWN] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float - 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} #[gcode_macro SET_RETRACTIONLENGTH] #gcode: # SET_RETRACTION RETRACT_LENGTH={params.LENGTH|float} # GET_RETRACTION ######################## [gcode_macro exhaustfan_on] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=1 ### [gcode_macro exhaustfan_off] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=0 ### [gcode_macro enclosurefan_on] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=1 ### [gcode_macro enclosurefan_off] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=0 [gcode_macro RSCS_on] gcode: SET_FAN_SPEED FAN=RSCS SPEED=1 ### [gcode_macro RSCS_off] gcode: SET_FAN_SPEED FAN=RSCS SPEED=0 ### [gcode_macro LED_on] gcode: SET_PIN PIN=LED value=1 [gcode_macro LED_off] gcode: SET_PIN PIN=LED value=0 ### [gcode_macro PA_tunning] gcode: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ##### [gcode_macro POWER_OFF] gcode: {action_call_remote_method("set_device_power", device="tplink", state="off")} ##### [gcode_macro TEST_RESONNANCES_X] gcode: TEST_RESONANCES AXIS=X [gcode_macro TEST_RESONNANCES_Y] gcode: TEST_RESONANCES AXIS=Y [gcode_macro DUMP_WARNINGS] description: Debug: Print all warning messages from klipper gcode: {% set parameters = ["printer.configfile.warnings:"] %} {% for warning in printer.configfile.warnings %} {% set parameters = parameters.append("%s -> %s -> %s\n%s" % (warning.type, warning.section, warning.option, warning.message)) %} {% endfor %} {action_respond_info(parameters|join("\n"))} [gcode_macro ACCELL_TEST_X] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{minX} Y{minY} F{speed} G1 X{maxX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro ACCELL_TEST_Y] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{maxX} Y{minY} F{speed} G1 X{minX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro enable_stepper] gcode: SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_x1 ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y1 ENABLE=1 ################################################################################################ ################################################################################################ [virtual_sdcard] path: ~/gcode_files ######################## ######################## [display_status] ######################## ######################## [bed_screws] screw1: 20,20 screw2: 20,290 screw3: 290,290 screw4: 290,20 ######################## ######################## [input_shaper] shaper_freq_x: 118 shaper_type_x: mzv shaper_freq_y: 81 shaper_type_y: mzv ``` --- 提示 * Super8 PRO默认使用TF卡进行固件烧录 * 请准备一张容量不超过`32G`TF卡 * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * TF卡的传输速度最好为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 # 固件烧录说明 提示 * Super8 Pro出厂已经预刷TF卡bootloader,无需自己再刷一次 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写;Super8 Pro 的固件使用 TF 卡烧录。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super8-pro/flash/firmware?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super8-pro/flash/firmware?tab-0=can) | --- # FLY-Super8 Pro Bootloader(TF 卡)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * 正常更新 Klipper 固件时,请使用固件编译页面中的 TF 卡流程 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,短接BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,短接BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - SUPER8 PRO 的 TF 卡 Bootloader 固件 - 您可以通过以下链接获取固件: * [**SUPER8PRO.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/SUPER/SUPER8PRO.bin?v=5e74d3d8e27a) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/SUPER ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `SUPER8PRO.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/SUPER/SUPER8PRO.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `SUPER8PRO.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/SUPER/SUPER8PRO.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_SUPER8-Pro-Marlin[​](#fly_super8-pro-marlin "Fly_SUPER8-Pro-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 找到你编译好的`Marlin`固件,在`.pio\buid\LPC1716\`下的`firmware.bin`文件 * 请注意`LPC1716`需要替换成对应的主板型号 Loading... 4. 将`firmware.bin`下载到TF卡里面 Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。复制固件到 TF 卡前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 确认 TF 卡中的完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 主板上电,等待10秒 7) 取下TF卡,插入电脑如果SD卡中的看`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... --- # 引脚分布 说明 * 本页列出 FLY-Super8 Pro 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`;个别驱动仍需按说明设置 DIAG 跳线。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Super8 Pro 提供 8 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE2 | PC5 | PF11 | PC4 | PG12 | | DRIVER1 | PE3 | PF13 | PF14 | PF12 | PG11 | | DRIVER2 | PE4 | PG0 | PG1 | PF15 | PG10 | | DRIVER3 | PE14 | PE8 | PE9 | PE7 | PG9 | | DRIVER4 | PE15 | PE11 | PF2 | PE10 | PD7 | | DRIVER5 | PE1 | PF0 | PC15 | PF1 | PD6 | | DRIVER6 | PE0 | PG3 | PG4 | PG2 | PA8 | | DRIVER7 | PE6 | PG6 | PG7 | PG5 | PF3 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 使用无限位(Sensorless Homing)归位时,驱动芯片通过 DIAG 引脚输出堵转检测信号,Klipper 需通过对应输入口读取该信号。本主板 DIAG 与限位口的对应关系如下: * **DRIVER0–6**:DIAG 已直连主控对应限位输入口(DRIVER*n* → 限位口*n*),板上**无 DIAG 跳线插针**,DIAG 信号始终送达主控。启用无限位时直接配置对应限位口引脚为 `diag_pin` 即可,**不能在该限位口接入物理限位开关**。 * **DRIVER7**:DIAG 未直连限位口,需**手动插上旁边的 DIAG 跳线帽**将 DIAG 信号引入 PF3(DIAG 复用口),方可使用无限位归位。 启用无限位后,对应限位口被 DIAG 信号占用,不得同时接入机械或光电限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ---------------- | ---- | ------------- | | 限位口0 / IO0 | PG12 | DRIVER0 | | 限位口1 / IO1 | PG11 | DRIVER1 | | 限位口2 / IO2 | PG10 | DRIVER2 | | 限位口3 / IO3 | PG9 | DRIVER3 | | 限位口4 / IO4 | PD7 | DRIVER4 | | 限位口5 / IO5 | PD6 | DRIVER5 | | 限位口6 / IO6 | PA8 | DRIVER6 | | HV-IN / 通用输入 | PF3 | DRIVER7 | | IN / PWM\_OUT | PF8 | - | | 探针(Probe) | PC3 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PE5 | | 加热口0 | PB0 | | 加热口1 | PB1 | | 加热口2 | PC7 | | 加热口3 | PF7 | | 加热口4 | PF6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PF4 | | 热敏口1 | PF5 | | 热敏口2 | PF9 | | 热敏口3 | PF10 | | 热敏口4 | PC0 | | 热敏口5 | PC1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PA3 | | 风扇口4 | PA15 | | 风扇口5 | PB11 | | 风扇口6 | PB10 | | 风扇口7 | PD12 | | 风扇口8 | PD14 | | 风扇口9 | PD15 | ## PWM[​](#pwm "PWM的直接链接") FLY-Super8 Pro 提供 2 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PC6 | 舵机 / BLTouch 控制 | | PF8 | IN / PWM\_OUT | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PC6 | | 探针信号 | PC3 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PE12 | | EXP1\_2 | PE13 | | EXP1\_3 | PB2 | | EXP1\_4 | PG8 | | EXP1\_5 | PC14 | | EXP1\_6 | PC13 | | EXP1\_7 | PG14 | | EXP1\_8 | PG13 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PA6 | | EXP2\_2 | PA5 | | EXP2\_3 | PB7 | | EXP2\_4 | PA4 | | EXP2\_5 | PB6 | | EXP2\_6 | PA7 | | EXP2\_7 | PG15 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-Super8 Pro资料[​](#fly-super8-pro资料 "Fly-Super8 Pro资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - 请准备一条具有数据传输功能的数据线,如果长度特别长建议使用带磁环的数据线 - 搜索ID前使用XT30数据线将工具板与连接到刷了桥接固件的Super8 Pro主板 - CAN工具板接线参考 提醒 Super8 pro的引脚与super8相同,因此这里直接引用super8的接线图,不另作说明。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") Loading... * 只通过TYPE-C供电并不接其他主板电源时至少亮两个灯`3.3V`与`5V` * 在接入主板电源后主板电源灯应该亮`3.3V`、`5V`、`12V` * 驱动电源0-2、驱动电源3-7、热床电源接入后,主板左下方电源指示灯才会正常亮起来 ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V`与`5V`两个LED - 如果`3.3V`与`5V`不亮,请检查主板5V跳线 - 更换跳线后还是一样,并且确认Type-C正常供电,需要联系客服售后 - 如果`3.3V`、`5V`与`12V`中有一个灯闪烁,代表有芯片短路,需要联系客服售后 Loading... ## 驱动[​](#驱动 "驱动的直接链接") * 请注意驱动电源,驱动电源分两路,第一路给驱动3-7供电,第二路0-2 * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 除了最后一个驱动口(Drive7)带无限位跳线,其他驱动口的无限位都是直连限位口 * 如果发现限位口不能使用可以更换限位口或者剪去驱动的无限位脚 Loading... ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") * 主板使用TF卡进行烧录 * 之前因教程问题使用 DFU 进行烧录,如需恢复 Bootloader,请进入 [Bootloader 救砖页面](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super8-pro/flash/bl) ## 热敏[​](#热敏 "热敏的直接链接") * 主板热敏口支持 * NTC热敏电阻 * PT1000热敏电阻 --- # 主板接线 ## 接口图[​](#接口图 "接口图的直接链接") ### 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ### Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** # 主板接线 提醒 Super8 pro的引脚与super8相同,因此这里直接引用super8的接线图,不另作说明。 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # Super8 Loading... # 产品参数 * 32位ARM Cortex-M4系列168 MHz,STM32F407ZGT6芯片 * 固件 :Marlin 2.0/Reprap/Klipper * 驱动支持 :A4988 、LV8729、DRV8225、TMC2208/2209/5160等 * 驱动模式支持:TMC :UART /SPI * 8个高压驱动位、支持8个独立电机驱动、5个挤出机、10个PWM风扇 * 显示:串行触摸屏、mini12864 LCD、12864 LCD、2004 LCD、FLY 4.3/7.0 V1 * 1个高压IN口,支持自动平床传感器 :BLTouch 、PL08N等接近传感器、Klicky、Voron Tap等 * 可选限位开关电源:5V/12V/24V * 使用Reprap固件,可以使用板载ESP32 WiFi模块,支持1.6m/s * 独特的PWM Fan MOS板设计,损坏可直接更换,降低客户维修难度,两个2pin风扇接口可支持4pin PWM风扇 * PCB采用2OZ铜厚,能够支持更大的电流 * 6个ADC接口,最多支持六路热敏 * 8个IO接口,可以用于调平和限位 * 5个加热棒接口,最多支持五路加热棒 * 2个PMW接口 ## 注意事项[​](#注意事项 "注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 热床端口 | 15A | 7.5A | | 加热端口 | 6A | 3A | | 风扇端口 | 1A | 0.5A | --- # Klipper参考配置 ## Voron Trident示例配置[​](#voron-trident示例配置 "Voron Trident示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 ## spi_speed: 100000 # SPI通讯速度 # Klipper SPI速率配置,单位Hz,常用5MHz #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 ## spi_speed: 100000 # SPI通讯速度 # Klipper SPI速率配置,单位Hz,常用5MHz #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver3 [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改,总共需要修改3处 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG10 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) position_endstop: -0.5 ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 ## spi_speed: 100000 # SPI通讯速度 # Klipper SPI速率配置,单位Hz,常用5MHz #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 ## spi_speed: 100000 # SPI通讯速度 # Klipper SPI速率配置,单位Hz,常用5MHz #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 ## spi_speed: 100000 # SPI通讯速度 # Klipper SPI速率配置,单位Hz,常用5MHz #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.5 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 ## spi_speed: 100000 # SPI通讯速度 # Klipper SPI速率配置,单位Hz,常用5MHz #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 0.5 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤. G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略的测量是你的床的中间. #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## Voron 2.4 示例配置[​](#voron-24-示例配置 "Voron 2.4 示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG9 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: !PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # Z1-------------Z2 # | | # | | # | | # Z0----显示屏----Z3 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_endstop:-0.5 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右后方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z3 步进电机 - 右前方 on Driver6 [stepper_z3] step_pin: PE0 # z2轴电机脉冲引脚设置 dir_pin: PG3 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PG4 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z3] uart_pin: PG2 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z3] # 挤出机驱动配置- TMC5160 #cs_pin: PG2 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- #gantry_corners: # 300mm机器调平点位 # -60,-10 # 360,370 #points: # 50,25 # 50,225 # 250,225 # 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 quad_gantry_level # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## vzboot示例配置[​](#vzboot示例配置 "vzboot示例配置的直接链接") ``` ### For Fly Super PRO 8 #### ### And Mellow Kit #### ### For Fly Super non pro, the SPI bus is spi3 [include mainsail.cfg] [include timelapse.cfg] #[include PIS.cfg] this is the fysetc accelerometer #[include crampon.cfg] This is the Annex Crampon accelerometer ##### VzBoT############ ####################### [printer] kinematics: corexy max_velocity: 2500 max_accel: 10000 #max_accel_to_decel: 5000 max_z_velocity: 20 max_z_accel: 1500 square_corner_velocity: 10 ######################## ######################## [mcu] serial:/dev/serial/by-id/[replace with your own board ID] #restart_method: command [mcu rpi] serial: /tmp/klipper_host_mcu #[adxl345] (if you run sensor connected to Pi) #cs_pin: rpi:None #[resonance_tester] This is for accel sensor connected to Pi #accel_chip: adxl345 #probe_points: # 155,155,20 # an example ######################## ######################## [stepper_x] ## in M3 position step_pin: PE14 dir_pin: PE8 enable_pin: !PE9 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG11 position_endstop: -19 position_min: -19 position_max: 315 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_x] spi_bus: spi1a spi_speed: 100000 # Klipper SPI速率配置,单位Hz,常用5MHz #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE7 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_x1] ## in M5 position step_pin: PE1 dir_pin: PF0 enable_pin: !PC15 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_x1] spi_bus: spi1a spi_speed: 100000 # Klipper SPI速率配置,单位Hz,常用5MHz #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PF1 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y] ## in M4 position step_pin: PE15 dir_pin: PE11 enable_pin: !PF2 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG12 position_endstop: -0 position_min: -0 position_max: 310 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_y] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE10 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y1] ## in M6 position step_pin: PE0 dir_pin: PG3 enable_pin: !PG4 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_y1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PG2 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 ######################### [stepper_z] ## In M0 position step_pin: PE2 dir_pin: !PC5 enable_pin: !PF11 microsteps: 32 rotation_distance: 4 endstop_pin: ^PG10 position_endstop: 0.0 position_max: 400 full_steps_per_rotation: 200 homing_retract_dist: 5.0 homing_positive_dir: false homing_speed: 5.0 second_homing_speed: 2.5 [tmc2209 stepper_z] interpolate: false uart_pin: PC4 run_current: 1 sense_resistor: 0.110 ######################### [extruder] ## In M1 position ### Vz-HextrudORT step_pin: PE3 dir_pin: PF13 microsteps: 16 enable_pin: !PF14 rotation_distance: 22 gear_ratio: 50:10 nozzle_diameter: 0.5 filament_diameter: 1.750 heater_pin: PB0 sensor_type: PT1000 sensor_pin: PF4 ### control:watermark min_temp: -235 max_temp: 350 full_steps_per_rotation: 200 max_extrude_only_distance: 1000.0 max_extrude_cross_section: 500 max_extrude_only_velocity: 200 max_extrude_only_accel: 10000 min_extrude_temp: 170 pressure_advance: 0.02 pressure_advance_smooth_time: 0.03 [tmc2209 extruder] interpolate: false uart_pin: PF12 run_current: 0.7 sense_resistor: 0.110 ######################## ######################## [heater_bed] heater_pin: PE5 sensor_type: Generic 3950 sensor_pin: PC1 control:watermark min_temp: -235 max_temp: 120 ######################## #### FANS ############## ######################## [fan] ## Print Cooling Fan pin: PF8 max_power: 0.9 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 [heater_fan hotend_fan] ## Hotend Fan - FAN0 Connector (or watercooling pump+fan on radiator) pin: PA0 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 [fan_generic Exhaust_fan] ## exhaust fan - In FAN4 pin: PA15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic chamber_fan] ## chamber fan - In FAN9 Positon pin: PD15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic RSCS] ## RSCS Fans - In FAN1 Positon pin: PA1 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 #[controller_fan driver_fan] # This is if you connect your driver fan to Super8 #or if you want to add fan to the Super8. Other wise connect them in the driver fan ports #stepper: stepper_x #pin: PB11 #max_power: 1 #shutdown_speed: 0 #kick_start_time: 0.1 #off_below: 0.10 ######################## ######################## [temperature_sensor FLY-Super8] sensor_type: temperature_mcu #[temperature_sensor chamber] optional for chamber temp #sensor_type: NTC 100K MGB18-104F39050L32 #pullup_resistor: 4700 #sensor_pin: PF9 #min_temp: 0 #max_temp: 60 #gcode_id: C: C [temperature_sensor raspberry_pi] sensor_type: temperature_host ######################## ######################## [pause_resume] recover_velocity: 350 ######################## ######################## [filament_switch_sensor sentinel] pause_on_runout: true switch_pin: PA8 runout_gcode: G91 G1 E-30 F2500 G90 G1 X0 Y0 F30000 M104 S0 ######################## ######################## #[homing_override] #set_position_z: 0 #axes: xy #gcode: # G0 Z3 F200 # G28 y0 # G28 x0 # G28 Z0 ######################## ######################## [firmware_retraction] retract_length: 0.5 retract_speed: 60 unretract_extra_length: 0.00 unretract_speed: 60 ########################################### #########Custom PINs Definition ############ ########################################### [output_pin LED] #In FAN8 position pin: PD14 pwm: false value: 1 shutdown_value:1 ### gcode command: SET_PIN PIN=LED value=0 to 1 ################################################################################################ ################################################################################################ ##### MACROS ################## [gcode_macro RETRACTION_UP] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float + 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} [gcode_macro RETRACTION_DOWN] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float - 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} #[gcode_macro SET_RETRACTIONLENGTH] #gcode: # SET_RETRACTION RETRACT_LENGTH={params.LENGTH|float} # GET_RETRACTION ######################## [gcode_macro exhaustfan_on] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=1 ### [gcode_macro exhaustfan_off] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=0 ### [gcode_macro enclosurefan_on] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=1 ### [gcode_macro enclosurefan_off] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=0 [gcode_macro RSCS_on] gcode: SET_FAN_SPEED FAN=RSCS SPEED=1 ### [gcode_macro RSCS_off] gcode: SET_FAN_SPEED FAN=RSCS SPEED=0 ### [gcode_macro LED_on] gcode: SET_PIN PIN=LED value=1 [gcode_macro LED_off] gcode: SET_PIN PIN=LED value=0 ### [gcode_macro PA_tunning] gcode: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ##### [gcode_macro POWER_OFF] gcode: {action_call_remote_method("set_device_power", device="tplink", state="off")} ##### [gcode_macro TEST_RESONNANCES_X] gcode: TEST_RESONANCES AXIS=X [gcode_macro TEST_RESONNANCES_Y] gcode: TEST_RESONANCES AXIS=Y [gcode_macro DUMP_WARNINGS] description: Debug: Print all warning messages from klipper gcode: {% set parameters = ["printer.configfile.warnings:"] %} {% for warning in printer.configfile.warnings %} {% set parameters = parameters.append("%s -> %s -> %s\n%s" % (warning.type, warning.section, warning.option, warning.message)) %} {% endfor %} {action_respond_info(parameters|join("\n"))} [gcode_macro ACCELL_TEST_X] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{minX} Y{minY} F{speed} G1 X{maxX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro ACCELL_TEST_Y] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{maxX} Y{minY} F{speed} G1 X{minX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro enable_stepper] gcode: SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_x1 ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y1 ENABLE=1 ################################################################################################ ################################################################################################ [virtual_sdcard] path: ~/gcode_files ######################## ######################## [display_status] ######################## ######################## [bed_screws] screw1: 20,20 screw2: 20,290 screw3: 290,290 screw4: 290,20 ######################## ######################## [input_shaper] shaper_freq_x: 118 shaper_type_x: mzv shaper_freq_y: 81 shaper_type_y: mzv ``` *** ## sidebar\_position: 5 sidebar\_label: Klipper参考配置[​](#sidebar_position-5sidebar_label-klipper参考配置 "sidebar_position: 5 sidebar_label: Klipper参考配置的直接链接") # Klipper参考配置 ## Voron Trident示例配置[​](#voron-trident示例配置-1 "Voron Trident示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver3 [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改,总共需要修改3处 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG10 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) position_endstop: -0.5 ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.5 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 0.5 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤. G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略的测量是你的床的中间. #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## Voron 2.4 示例配置[​](#voron-24-示例配置-1 "Voron 2.4 示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG9 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: !PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # Z1-------------Z2 # | | # | | # | | # Z0----显示屏----Z3 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_endstop:-0.5 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右后方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z3 步进电机 - 右前方 on Driver6 [stepper_z3] step_pin: PE0 # z2轴电机脉冲引脚设置 dir_pin: PG3 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PG4 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z3] uart_pin: PG2 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z3] # 挤出机驱动配置- TMC5160 #cs_pin: PG2 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- #gantry_corners: # 300mm机器调平点位 # -60,-10 # 360,370 #points: # 50,25 # 50,225 # 250,225 # 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 quad_gantry_level # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## vzboot示例配置[​](#vzboot示例配置-1 "vzboot示例配置的直接链接") ``` ### For Fly Super PRO 8 #### ### And Mellow Kit #### ### For Fly Super non pro, the SPI bus is spi3 [include mainsail.cfg] [include timelapse.cfg] #[include PIS.cfg] this is the fysetc accelerometer #[include crampon.cfg] This is the Annex Crampon accelerometer ##### VzBoT############ ####################### [printer] kinematics: corexy max_velocity: 2500 max_accel: 10000 #max_accel_to_decel: 5000 max_z_velocity: 20 max_z_accel: 1500 square_corner_velocity: 10 ######################## ######################## [mcu] serial:/dev/serial/by-id/[replace with your own board ID] #restart_method: command [mcu rpi] serial: /tmp/klipper_host_mcu #[adxl345] (if you run sensor connected to Pi) #cs_pin: rpi:None #[resonance_tester] This is for accel sensor connected to Pi #accel_chip: adxl345 #probe_points: # 155,155,20 # an example ######################## ######################## [stepper_x] ## in M3 position step_pin: PE14 dir_pin: PE8 enable_pin: !PE9 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG11 position_endstop: -19 position_min: -19 position_max: 315 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_x] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE7 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_x1] ## in M5 position step_pin: PE1 dir_pin: PF0 enable_pin: !PC15 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_x1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PF1 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y] ## in M4 position step_pin: PE15 dir_pin: PE11 enable_pin: !PF2 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG12 position_endstop: -0 position_min: -0 position_max: 310 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_y] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE10 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y1] ## in M6 position step_pin: PE0 dir_pin: PG3 enable_pin: !PG4 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_y1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PG2 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 ######################### [stepper_z] ## In M0 position step_pin: PE2 dir_pin: !PC5 enable_pin: !PF11 microsteps: 32 rotation_distance: 4 endstop_pin: ^PG10 position_endstop: 0.0 position_max: 400 full_steps_per_rotation: 200 homing_retract_dist: 5.0 homing_positive_dir: false homing_speed: 5.0 second_homing_speed: 2.5 [tmc2209 stepper_z] interpolate: false uart_pin: PC4 run_current: 1 sense_resistor: 0.110 ######################### [extruder] ## In M1 position ### Vz-HextrudORT step_pin: PE3 dir_pin: PF13 microsteps: 16 enable_pin: !PF14 rotation_distance: 22 gear_ratio: 50:10 nozzle_diameter: 0.5 filament_diameter: 1.750 heater_pin: PB0 sensor_type: PT1000 sensor_pin: PF4 ### control:watermark min_temp: -235 max_temp: 350 full_steps_per_rotation: 200 max_extrude_only_distance: 1000.0 max_extrude_cross_section: 500 max_extrude_only_velocity: 200 max_extrude_only_accel: 10000 min_extrude_temp: 170 pressure_advance: 0.02 pressure_advance_smooth_time: 0.03 [tmc2209 extruder] interpolate: false uart_pin: PF12 run_current: 0.7 sense_resistor: 0.110 ######################## ######################## [heater_bed] heater_pin: PE5 sensor_type: Generic 3950 sensor_pin: PC1 control:watermark min_temp: -235 max_temp: 120 ######################## #### FANS ############## ######################## [fan] ## Print Cooling Fan pin: PF8 max_power: 0.9 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 [heater_fan hotend_fan] ## Hotend Fan - FAN0 Connector (or watercooling pump+fan on radiator) pin: PA0 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 [fan_generic Exhaust_fan] ## exhaust fan - In FAN4 pin: PA15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic chamber_fan] ## chamber fan - In FAN9 Positon pin: PD15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic RSCS] ## RSCS Fans - In FAN1 Positon pin: PA1 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 #[controller_fan driver_fan] # This is if you connect your driver fan to Super8 #or if you want to add fan to the Super8. Other wise connect them in the driver fan ports #stepper: stepper_x #pin: PB11 #max_power: 1 #shutdown_speed: 0 #kick_start_time: 0.1 #off_below: 0.10 ######################## ######################## [temperature_sensor FLY-Super8] sensor_type: temperature_mcu #[temperature_sensor chamber] optional for chamber temp #sensor_type: NTC 100K MGB18-104F39050L32 #pullup_resistor: 4700 #sensor_pin: PF9 #min_temp: 0 #max_temp: 60 #gcode_id: C: C [temperature_sensor raspberry_pi] sensor_type: temperature_host ######################## ######################## [pause_resume] recover_velocity: 350 ######################## ######################## [filament_switch_sensor sentinel] pause_on_runout: true switch_pin: PA8 runout_gcode: G91 G1 E-30 F2500 G90 G1 X0 Y0 F30000 M104 S0 ######################## ######################## #[homing_override] #set_position_z: 0 #axes: xy #gcode: # G0 Z3 F200 # G28 y0 # G28 x0 # G28 Z0 ######################## ######################## [firmware_retraction] retract_length: 0.5 retract_speed: 60 unretract_extra_length: 0.00 unretract_speed: 60 ########################################### #########Custom PINs Definition ############ ########################################### [output_pin LED] #In FAN8 position pin: PD14 pwm: false value: 1 shutdown_value:1 ### gcode command: SET_PIN PIN=LED value=0 to 1 ################################################################################################ ################################################################################################ ##### MACROS ################## [gcode_macro RETRACTION_UP] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float + 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} [gcode_macro RETRACTION_DOWN] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float - 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} #[gcode_macro SET_RETRACTIONLENGTH] #gcode: # SET_RETRACTION RETRACT_LENGTH={params.LENGTH|float} # GET_RETRACTION ######################## [gcode_macro exhaustfan_on] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=1 ### [gcode_macro exhaustfan_off] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=0 ### [gcode_macro enclosurefan_on] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=1 ### [gcode_macro enclosurefan_off] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=0 [gcode_macro RSCS_on] gcode: SET_FAN_SPEED FAN=RSCS SPEED=1 ### [gcode_macro RSCS_off] gcode: SET_FAN_SPEED FAN=RSCS SPEED=0 ### [gcode_macro LED_on] gcode: SET_PIN PIN=LED value=1 [gcode_macro LED_off] gcode: SET_PIN PIN=LED value=0 ### [gcode_macro PA_tunning] gcode: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ##### [gcode_macro POWER_OFF] gcode: {action_call_remote_method("set_device_power", device="tplink", state="off")} ##### [gcode_macro TEST_RESONNANCES_X] gcode: TEST_RESONANCES AXIS=X [gcode_macro TEST_RESONNANCES_Y] gcode: TEST_RESONANCES AXIS=Y [gcode_macro DUMP_WARNINGS] description: Debug: Print all warning messages from klipper gcode: {% set parameters = ["printer.configfile.warnings:"] %} {% for warning in printer.configfile.warnings %} {% set parameters = parameters.append("%s -> %s -> %s\n%s" % (warning.type, warning.section, warning.option, warning.message)) %} {% endfor %} {action_respond_info(parameters|join("\n"))} [gcode_macro ACCELL_TEST_X] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{minX} Y{minY} F{speed} G1 X{maxX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro ACCELL_TEST_Y] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{maxX} Y{minY} F{speed} G1 X{minX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro enable_stepper] gcode: SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_x1 ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y1 ENABLE=1 ################################################################################################ ################################################################################################ [virtual_sdcard] path: ~/gcode_files ######################## ######################## [display_status] ######################## ######################## [bed_screws] screw1: 20,20 screw2: 20,290 screw3: 290,290 screw4: 290,20 ######################## ######################## [input_shaper] shaper_freq_x: 118 shaper_type_x: mzv shaper_freq_y: 81 shaper_type_y: mzv ``` # Klipper参考配置 ## Voron Trident示例配置[​](#voron-trident示例配置-2 "Voron Trident示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # |----- Z1 -----| # | | # | | # | | # Z0----显示屏----Z2 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver3 [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8,请根据你的实际使用情况修改,总共需要修改3处 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG10 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) position_endstop: -0.5 ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #spi_bus: spi1a #spi_speed: 500000 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右前方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 ### T8x4丝杠.旋转一圈,热床可移动4毫米 ## 请根据购买的丝杆参数进行修改 rotation_distance: 8 # 丝杆导程为 8 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.5 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 ## spi_bus: spi1a # SPI通讯速度 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 0.5 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### # [safe_z_home] # Z轴限位坐标 # home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) # speed:100 # 归位速度 # z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- [homing_override] # Z 轴归位宏(如果使用Klicky,请注释掉这部分) axes: z set_position_z: 0 gcode: G90 G0 Z5 F600 G28 X Y ## Z限位开关位置 ## 再测试几遍,确保没有问题之后更新X和Y到您的值(如X157, Y305) ## 结束引脚位置定义步骤. G0 X-10 Y-10 F3600 # 更新此处的 X 和 Y 数值 G28 Z G0 Z10 F1800 ## 根据你的机型尺寸删除掉对应的配置前的 “#”: ## 粗略的测量是你的床的中间. #-------------------------------------------------------------------- ## 250mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X125 Y125 Z30 F3600 #-------------------------------------------------------------------- ## 300mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X150 Y150 Z30 F3600 #-------------------------------------------------------------------- ## 350mm 机型请删掉下面一行配置前的 “#” 以启用配置 #G0 X175 Y175 Z30 F3600 #-------------------------------------------------------------------- ##################################################################### # 3Z调平 ##################################################################### [z_tilt] ## 使用 Z_TILT_ADJUST 命令来调平热床 ## z_positions: 打印头的位置 ##-------------------------------------------------------------------- ## 250mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 125, 298 # 300, 18 #points: # 30, 5 # 125, 195 # 220, 5 ##-------------------------------------------------------------------- ## 300mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 150, 348 # 350, 18 #points: # 30, 5 # 150, 245 # 270, 5 ##-------------------------------------------------------------------- ## 350mm 机型请删掉下面配置前的 “#” 以启用配置 #z_positions: # -50, 18 # 175, 398 # 400, 18 #points: # 30, 5 # 175, 295 # 320, 5 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 Z_TILT_ADJUST # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## Voron 2.4 示例配置[​](#voron-24-示例配置-2 "Voron 2.4 示例配置的直接链接") ``` #################################################################################### # 3D MELLOW /FLY-Super8-Pro # #################################################################################### ## FLY-Super8-Pro 资料网址: http://mellow.klipper.cn/#/board/fly_super8_pro/README ## FLY-Super8-Pro 原理图网址:https://github.com/Mellow-3D/Fly-Super8Pro ## FLY 官方淘宝店:https://shop126791347.taobao.com/shop/view_shop.htm?spm=a230r.1.14.4.1a4840a8hyvpPJ&user_number_id=2464680006 ## 如需售后,请联系淘宝客服 ## FLY 售后技术支持群:621032883 ## FLY-RRF固件交流群:786561979 ##################################################################### # 注意事项 # ##################################################################### ##***需要更改/检查的事项:*** ## MCU 路径 [mcu] ## 打印机活动范围 xyz的position ## 热敏电阻类型 [extruder] 和 [heater_bed] ## Z轴限位开关停止位置 [homing_override] ## Z轴限位开关偏移位置 [stepper_z] ## PID 校准 [extruder] 和 [heater_bed] ## 微调挤出机电机步进值 [extruder] ##################################################################### # 文件调用 # ##################################################################### #[include fluidd.cfg] # FLUIDD调用文件. #[include mainsail.cfg] # MAINSAIL调用文件. #需要自行确定使用哪个文件 ##################################################################### # 主板配置 # ##################################################################### [mcu] # FLY主板ID serial: /dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_stm32f407xx_XXXXXXXXXXXXXXXXXXXXX替换查询到的id #canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 机型和加速度 # ##################################################################### [printer] # 打印机设置 kinematics: corexy # 运动学结构分为:笛卡尔和corexy等等.笛卡尔:cartesian max_velocity: 300 # 打印机最大速度 max_accel: 3000 # 最大加速度 最大3000 max_z_velocity: 15 # Z轴最大速度 max_z_accel: 100 # Z轴最大加速度 square_corner_velocity: 5.0 # 方形拐角速度,小一点可以有效避免平台重带来的惯性 ##################################################################### # 温度监控 # ##################################################################### [temperature_sensor Fly-Super8] # FLY主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) #-------------------------------------------------------------------- [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host # 关联上位机 #-------------------------------------------------------------------- # [temperature_sensor Box] # 箱内温度 (需要增加一颗温感,参考配置) # sensor_type: ATC Semitec 104GT-2 # 传感器型号 # sensor_pin: PA4 # 信号接口 ##################################################################### # 热床网格校准 ##################################################################### [bed_mesh] speed: 50 # 校准速度 horizontal_move_z: 5 # 探针前往下一个点之前Z需要抬升的高 mesh_min: 30,30 # 最小校准点坐标x,y mesh_max: 270, 270 # 最大校准点坐标x,y probe_count: 4,4 # 采样点数(4X4为16点) mesh_pps: 2,2 # 补充采样点数 algorithm: bicubic # 算法模型 bicubic_tension: 0.2 # 算法插值不要动 ##################################################################### # X/Y步进电机设置 (X/Y Stepper Settings) # ##################################################################### # B Motor ---- Motor A # | | # |------挤出机-------| # | | # | | # 正前方 ##################################################################### # X 轴步进电机 on Driver0 (B Motor) # ##################################################################### [stepper_x] step_pin: PE2 # X轴电机脉冲引脚设置 dir_pin: PC5 # X轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF11 # X轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG9 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-3 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100.归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_x] # X 驱动配置 -TMC2209 uart_pin: PC4 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_x] # 挤出机驱动配置- TMC5160 #cs_pin: PC4 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Y 轴步进电机 on Driver1 (A Motor) # ##################################################################### [stepper_y] step_pin: PE3 # Y轴电机脉冲引脚设置 dir_pin: !PF13 # Y轴电机运行引脚设置,方向按实际判断,加感叹号会让运行方向反转 enable_pin: !PF14 # Y轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400) endstop_pin: !PG12 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-0 ###接常闭后是触发状态,加感叹号可以反转这个状态,万一断线时可以避免撞机 position_min: 0 # 软限位最小行程 position_endstop: 300 # 软限位最大行程 (250mm-300mm-350mm) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 50 # 复位速度,最大为100 归位速度建议别太快 homing_retract_dist: 5 # 第一次触发复位开关之后的后退距离 homing_positive_dir: true # 复位方向(一般不需要改动) step_pulse_duration: 0.000004 #-------------------------------------------------------------------- ## 请确保驱动型号配置正确 (2208 or 2209) [tmc2209 stepper_y] # Y驱动配置 -TMC2209 uart_pin: PF12 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_y] # 挤出机驱动配置- TMC5160 #cs_pin: PF12 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # Z轴步进电机 (Z Stepper Settings) # ##################################################################### # Z1-------------Z2 # | | # | | # | | # Z0----显示屏----Z3 ##################################################################### # Z轴步进电机 # ##################################################################### ## Z步进电机 - 左前方 on Driver [stepper_z] step_pin: PE14 # Z轴电机脉冲引脚设置 dir_pin: !PE8 # Z轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PE9 # Z轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 endstop_pin: !PG11 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-1 ## position_endstop 是喷嘴相对于打印表面(Z0)到Z限位停止触发点的位置(单位:mm) ## 正数值 = 高于平台的终止点,负数值 = 低于平台的终止点 ## 增加position_ endstop的数值会使喷嘴更靠近床 ## 在运行Z_ENDSTOP_CALIBRATE之后,position_endstop将存储在CFG配置的最后 position_endstop:-0.5 position_min: -15 # (配置喷嘴清洁需要-5左右) position_max: 300 # 机械限位最大行程 (250mm-300mm-350mm) homing_speed: 5 # 复位速度-最大 20 second_homing_speed: 3 # 二次复位速度-最大 10 homing_retract_dist: 0 # 后撤距离 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z] uart_pin: PE7 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z] # 挤出机驱动配置- TMC5160 #cs_pin: PE7 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z1 步进电机 - 后方 on Driver4 [stepper_z1] step_pin: PE15 # z1轴电机脉冲引脚设置 dir_pin: !PE11 # z1轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PF2 # z1轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z1] uart_pin: PE10 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z1] # 挤出机驱动配置- TMC5160 #cs_pin: PE10 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z2 步进电机 - 右后方 on Driver5 [stepper_z2] step_pin: PE1 # z2轴电机脉冲引脚设置 dir_pin: !PF0 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PC15 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z2] uart_pin: PF1 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z2] # 挤出机驱动配置- TMC5160 #cs_pin: PF1 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) #-------------------------------------------------------------------- ## Z3 步进电机 - 右前方 on Driver6 [stepper_z3] step_pin: PE0 # z2轴电机脉冲引脚设置 dir_pin: PG3 # z2轴电机方向引脚设置,方向引脚需要按实际判断,加感叹号会让运行方向反转 enable_pin: !PG4 # z2轴电机使能引脚设置,使能引脚需要加感叹号,否则电机不工作 rotation_distance: 40 # 主动轮周长mm (2GT-20T为 40mm 16T为 32mm) gear_ratio: 80:16 # 减速比 full_steps_per_rotation: 200 # 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400 microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 stepper_z3] uart_pin: PG2 # 驱动通信端口 interpolate: false # 微步插值256 run_current: 0.8 # 运行电流mA sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 stepper_z3] # 挤出机驱动配置- TMC5160 #cs_pin: PG2 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # E0 挤出机设置 (E0 Settings) # ##################################################################### #Driver2 [extruder] # 挤出机 step_pin: PE4 # 挤出电机脉冲引脚 dir_pin: !PG0 # 挤出电机方向引脚设置 enable_pin: !PG1 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: PB0 # 加热棒引脚 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: PF4 # 传感器引脚,连接到 ADC_0 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: PF15 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 #-------------------------------------------------------------------- #[tmc5160 extruder] # 挤出机驱动配置- TMC5160 #cs_pin: PF15 # SPI 片选Pin脚定义 # spi_software_mosi_pin: PB5 # spi_software_miso_pin: PB4 # spi_software_sclk_pin: PB3 #run_current: 1.0 # 电机运行电流值 #interpolate: False # 是否开启256微步插值(开启是True,关闭是False) #sense_resistor: 0.075 # 驱动采样电阻不要改(如果使用5160 Pro,请将数值修改为0.033) ##################################################################### # 热床配置 # ##################################################################### [heater_bed] heater_pin: PE5 # 热床接口 sensor_type: Generic 3950 # 热床传感器类型 sensor_pin: PC1 # 热床传感器接口 max_power: 1.0 # 热床功率 min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 120 # 最大温度(注意:测量温度超过设定值会触发紧急停止) # 热床温度PID校准命令: "PID_CALIBRATE HEATER=heater_bed TARGET=100" control:watermark ##################################################################### # 风扇配置 # ##################################################################### [fan] # 模型冷却风扇 pin: PA0 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: PA1 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan controller_fan] # 电器仓风扇 pin: PA2 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 50 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 #-------------------------------------------------------------------- [heater_fan exhaust_fan] # 排风扇 pin: PA3 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: heater_bed # 关联的设备:热床 heater_temp: 70 # 热床达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # 闲置关闭热床 # ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 调平传感器 # ##################################################################### #默认PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^PF3 # 限位开关PIN脚,建议常闭然后添加!反转状态,位置在io-2 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 ##################################################################### # 归位 # ##################################################################### [safe_z_home] # Z轴限位坐标 home_xy_position:206,300 # Z轴限位位置定义(重要!!!自行进行调整) speed:100 # 归位速度 z_hop:10 # 归位之前抬升高度 #-------------------------------------------------------------------- #[homing_override] #axes: z #set_position_z: 0 #gcode: # G90 # G0 Z15 F600 # G28 X Y # ## Z 限位开关的 XY 位置 # ##通过后将X0和Y0更新为你的值(如X157、Y305) # ## Z 轴限位位置定义 # G0 X185 Y250 F3600 #250mm # G28 Z # G0 Z10 F1800 ##################################################################### # 4Z调平 ##################################################################### [quad_gantry_level] # 300mm机器调平参数 #gantry_corners: # -60,-10 # 310,320 #points: # 250mm机器调平点位 # 50,25 # 50,175 # 200,175 # 200,25 #-------------------------------------------------------------------- #gantry_corners: # 300mm机器调平点位 # -60,-10 # 360,370 #points: # 50,25 # 50,225 # 250,225 # 250,25 #-------------------------------------------------------------------- #gantry_corners: # 350mm机器调平点位 # -60,-10 # 410,420 #points: # 50,25 # 50,275 # 300,275 # 300,25 #-------------------------------------------------------------------- speed: 100 # 调平速度 horizontal_move_z: 10 # Z轴起始高度 retry_tolerance: 0.0075 # 采样公差 retries: 5 # 超公差重试次数 max_adjust: 10 # 调平最大调整行程 ##################################################################### # FLY-Mini 12864 LCD ##################################################################### [board_pins] aliases: EXP1_1=PE12, EXP1_3=PB2, EXP1_5=PC14, EXP1_7=PG14, EXP1_9=, EXP1_2=PE13, EXP1_4=PG8, EXP1_6=PC13, EXP1_8=PG13, EXP1_10=<5V>, # EXP2 header EXP2_1=PA6, EXP2_3=PB7, EXP2_5=PB6, EXP2_7=PG15, EXP2_9=, EXP2_2=PA5, EXP2_4=PA4, EXP2_6=PA7, EXP2_8=, EXP2_10=, #-------------------------------------------------------------------- #[display] #lcd_type: uc1701 # 显示屏驱动类型 #cs_pin: EXP1_3 # 显示屏片选cs引脚设置 #a0_pin: EXP1_4 # 显示屏数据a0引脚设置 #rst_pin: EXP1_5 # 显示屏复位rst脚设置 #contrast: 63 # 对比度 #encoder_pins: ^EXP2_5, ^!EXP2_3 # 旋转编码器(旋钮开关)引脚设置 #click_pin: ^!EXP1_2 # 旋转编码器(旋钮开关)确认按键的引脚设置 #spi_bus: spi1 # 必须指定SPI通道 #-------------------------------------------------------------------- #####适用于FLY Mini12864 #[neopixel fly_mini12864] #pin: EXP1_6 # 显示屏背光灯控制引脚设置 #chain_count: 3 #initial_RED: 0.5 # 红色LED灯亮度控制(范围:0-1) #initial_GREEN: 0.5 # 绿色LED灯亮度控制(范围:0-1) #initial_BLUE: 0.5 # 蓝色LED灯亮度控制(范围:0-1) #color_order: RGB # 颜色顺序 ##################################################################### # 闲置关闭热床 ##################################################################### [idle_timeout] timeout: 1800 # 空闲时间超过30分钟则关闭热床 ##################################################################### # 自定义gcode宏 # ##################################################################### [gcode_macro PRINT_START] # 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作 gcode: G92 E0 # 重置挤出 BED_MESH_CLEAR # 卸载网床 G28 # 归位所有轴 quad_gantry_level # 龙门架调平 G28 # 归位所有轴 G1 Z20 F3000 # 将喷嘴移离热床 BED_MESH_PROFILE LOAD=default # 加载网床 #-------------------------------------------------------------------- [gcode_macro PRINT_HUAXIAN] # 将 PRINT_HUAXIAN] 设置为PRINT_START后的宏,自定义打印前的动作 gcode: G1 Z5 F3000 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 G0 X5 Y1 F6000 # 移动至x5 y1位置,速度100mm/s(F6000,意为6000mm每分钟) G0 Z0.4 # 移动Z轴高度至0.4 G91 # 设置坐标体系为相对坐标 G1 X100 E20 F1200; # 移动x轴100mm,并挤出,更改F可更改挤出率 G1 Y1 # 移动y轴1mm G1 X-100 E20 F1200; # 反方向移动x轴100mm,并挤出,更改F可更改挤出率 G0 z5 # 抬高Z轴5mm G1 E-5.0 F3600 # 缩回耗材丝 G92 E0; # 重置挤出 G90 # 设置绝对坐标体系 #-------------------------------------------------------------------- [gcode_macro PRINT_END] # 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作 gcode: # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} # Check end position to determine safe directions to move {% if printer.toolhead.position.x < (max_x - 20) %} {% set x_safe = 20.0 %} {% else %} {% set x_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.y < (max_y - 20) %} {% set y_safe = 20.0 %} {% else %} {% set y_safe = -20.0 %} {% endif %} {% if printer.toolhead.position.z < (max_z - 2) %} {% set z_safe = 2.0 %} {% else %} {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} M400 # 等待缓冲区清除 G92 E0 # 将挤出机归零 G1 E-10.0 F3600 # 缩回耗材丝 G91 # 相对定位 G0 Z{z_safe} F3600 # 抬高龙门 G0 X{x_safe} Y{y_safe} F20000 # 移动喷嘴以移除料线 M104 S0 # 关闭挤出头 M140 S0 # 关闭热床 M106 S0 # 关闭模型风扇 G90 # 设置绝对坐标体系 G0 X{max_x / 2} Y{max_y} F3600 # 将喷嘴停在后部 BED_MESH_CLEAR # 卸载网床 ``` ## vzboot示例配置[​](#vzboot示例配置-2 "vzboot示例配置的直接链接") ``` ### For Fly Super PRO 8 #### ### And Mellow Kit #### ### For Fly Super non pro, the SPI bus is spi3 [include mainsail.cfg] [include timelapse.cfg] #[include PIS.cfg] this is the fysetc accelerometer #[include crampon.cfg] This is the Annex Crampon accelerometer ##### VzBoT############ ####################### [printer] kinematics: corexy max_velocity: 2500 max_accel: 10000 #max_accel_to_decel: 5000 max_z_velocity: 20 max_z_accel: 1500 square_corner_velocity: 10 ######################## ######################## [mcu] serial:/dev/serial/by-id/[replace with your own board ID] #restart_method: command [mcu rpi] serial: /tmp/klipper_host_mcu #[adxl345] (if you run sensor connected to Pi) #cs_pin: rpi:None #[resonance_tester] This is for accel sensor connected to Pi #accel_chip: adxl345 #probe_points: # 155,155,20 # an example ######################## ######################## [stepper_x] ## in M3 position step_pin: PE14 dir_pin: PE8 enable_pin: !PE9 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG11 position_endstop: -19 position_min: -19 position_max: 315 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_x] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE7 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_x1] ## in M5 position step_pin: PE1 dir_pin: PF0 enable_pin: !PC15 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_x1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PF1 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y] ## in M4 position step_pin: PE15 dir_pin: PE11 enable_pin: !PF2 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 endstop_pin: ^PG12 position_endstop: -0 position_min: -0 position_max: 310 homing_speed: 35 homing_retract_dist: 0 [tmc5160 stepper_y] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PE10 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 [stepper_y1] ## in M6 position step_pin: PE0 dir_pin: PG3 enable_pin: !PG4 rotation_distance: 40 microsteps: 16 full_steps_per_rotation: 200 [tmc5160 stepper_y1] spi_bus: spi1a #spi_software_mosi_pin: PB5 #spi_software_miso_pin: PB4 #spi_software_sclk_pin: PB3 cs_pin: PG2 interpolate: false run_current: 1.75 sense_resistor: 0.033 driver_TBL: 0 driver_TOFF: 1 ######################### [stepper_z] ## In M0 position step_pin: PE2 dir_pin: !PC5 enable_pin: !PF11 microsteps: 32 rotation_distance: 4 endstop_pin: ^PG10 position_endstop: 0.0 position_max: 400 full_steps_per_rotation: 200 homing_retract_dist: 5.0 homing_positive_dir: false homing_speed: 5.0 second_homing_speed: 2.5 [tmc2209 stepper_z] interpolate: false uart_pin: PC4 run_current: 1 sense_resistor: 0.110 ######################### [extruder] ## In M1 position ### Vz-HextrudORT step_pin: PE3 dir_pin: PF13 microsteps: 16 enable_pin: !PF14 rotation_distance: 22 gear_ratio: 50:10 nozzle_diameter: 0.5 filament_diameter: 1.750 heater_pin: PB0 sensor_type: PT1000 sensor_pin: PF4 ### control:watermark min_temp: -235 max_temp: 350 full_steps_per_rotation: 200 max_extrude_only_distance: 1000.0 max_extrude_cross_section: 500 max_extrude_only_velocity: 200 max_extrude_only_accel: 10000 min_extrude_temp: 170 pressure_advance: 0.02 pressure_advance_smooth_time: 0.03 [tmc2209 extruder] interpolate: false uart_pin: PF12 run_current: 0.7 sense_resistor: 0.110 ######################## ######################## [heater_bed] heater_pin: PE5 sensor_type: Generic 3950 sensor_pin: PC1 control:watermark min_temp: -235 max_temp: 120 ######################## #### FANS ############## ######################## [fan] ## Print Cooling Fan pin: PF8 max_power: 0.9 cycle_time: 0.002 hardware_pwm: false shutdown_speed: 0 [heater_fan hotend_fan] ## Hotend Fan - FAN0 Connector (or watercooling pump+fan on radiator) pin: PA0 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 [fan_generic Exhaust_fan] ## exhaust fan - In FAN4 pin: PA15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic chamber_fan] ## chamber fan - In FAN9 Positon pin: PD15 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 [fan_generic RSCS] ## RSCS Fans - In FAN1 Positon pin: PA1 max_power: 1 shutdown_speed: 0 kick_start_time: 0.1 off_below: 0.10 #[controller_fan driver_fan] # This is if you connect your driver fan to Super8 #or if you want to add fan to the Super8. Other wise connect them in the driver fan ports #stepper: stepper_x #pin: PB11 #max_power: 1 #shutdown_speed: 0 #kick_start_time: 0.1 #off_below: 0.10 ######################## ######################## [temperature_sensor FLY-Super8] sensor_type: temperature_mcu #[temperature_sensor chamber] optional for chamber temp #sensor_type: NTC 100K MGB18-104F39050L32 #pullup_resistor: 4700 #sensor_pin: PF9 #min_temp: 0 #max_temp: 60 #gcode_id: C: C [temperature_sensor raspberry_pi] sensor_type: temperature_host ######################## ######################## [pause_resume] recover_velocity: 350 ######################## ######################## [filament_switch_sensor sentinel] pause_on_runout: true switch_pin: PA8 runout_gcode: G91 G1 E-30 F2500 G90 G1 X0 Y0 F30000 M104 S0 ######################## ######################## #[homing_override] #set_position_z: 0 #axes: xy #gcode: # G0 Z3 F200 # G28 y0 # G28 x0 # G28 Z0 ######################## ######################## [firmware_retraction] retract_length: 0.5 retract_speed: 60 unretract_extra_length: 0.00 unretract_speed: 60 ########################################### #########Custom PINs Definition ############ ########################################### [output_pin LED] #In FAN8 position pin: PD14 pwm: false value: 1 shutdown_value:1 ### gcode command: SET_PIN PIN=LED value=0 to 1 ################################################################################################ ################################################################################################ ##### MACROS ################## [gcode_macro RETRACTION_UP] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float + 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} [gcode_macro RETRACTION_DOWN] gcode: {% set CRLEN = printer.firmware_retraction.retract_length|float %} {% set NRLEN = CRLEN|float - 0.1 %} { action_respond_info("current retract_length %.2f, new retract_length %.2f" % (CRLEN, NRLEN)) } SET_RETRACTION RETRACT_LENGTH={NRLEN} #[gcode_macro SET_RETRACTIONLENGTH] #gcode: # SET_RETRACTION RETRACT_LENGTH={params.LENGTH|float} # GET_RETRACTION ######################## [gcode_macro exhaustfan_on] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=1 ### [gcode_macro exhaustfan_off] gcode: SET_FAN_SPEED FAN=Exhaust_fan SPEED=0 ### [gcode_macro enclosurefan_on] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=1 ### [gcode_macro enclosurefan_off] gcode: SET_FAN_SPEED FAN=chamber_fan SPEED=0 [gcode_macro RSCS_on] gcode: SET_FAN_SPEED FAN=RSCS SPEED=1 ### [gcode_macro RSCS_off] gcode: SET_FAN_SPEED FAN=RSCS SPEED=0 ### [gcode_macro LED_on] gcode: SET_PIN PIN=LED value=1 [gcode_macro LED_off] gcode: SET_PIN PIN=LED value=0 ### [gcode_macro PA_tunning] gcode: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ##### [gcode_macro POWER_OFF] gcode: {action_call_remote_method("set_device_power", device="tplink", state="off")} ##### [gcode_macro TEST_RESONNANCES_X] gcode: TEST_RESONANCES AXIS=X [gcode_macro TEST_RESONNANCES_Y] gcode: TEST_RESONANCES AXIS=Y [gcode_macro DUMP_WARNINGS] description: Debug: Print all warning messages from klipper gcode: {% set parameters = ["printer.configfile.warnings:"] %} {% for warning in printer.configfile.warnings %} {% set parameters = parameters.append("%s -> %s -> %s\n%s" % (warning.type, warning.section, warning.option, warning.message)) %} {% endfor %} {action_respond_info(parameters|join("\n"))} [gcode_macro ACCELL_TEST_X] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{minX} Y{minY} F{speed} G1 X{maxX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro ACCELL_TEST_Y] gcode: {% set steps = params.STEPS|default(100)|int %} {% set speed = params.VELOCITY|default(1000)|float * 60 %} {% set inset = 10.0|float %} {% set accel = 10000|int %} {% set maxX = printer.configfile.settings.stepper_x.position_max|float - inset %} {% set maxY = printer.configfile.settings.stepper_y.position_max|float - inset %} {% set minX = printer.configfile.settings.stepper_x.position_min|float + inset %} {% set minY = printer.configfile.settings.stepper_y.position_min|float + inset %} SAVE_GCODE_STATE NAME=accelltest_state SET_VELOCITY_LIMIT ACCEL={accel} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={accel} G28 G1 Z5 G1 X{minX} Y{minY} F{speed} {% for INTERVAL in range(steps) %} {% set eff = accel + (INTERVAL * 1000) %} SET_VELOCITY_LIMIT ACCEL={eff} SET_VELOCITY_LIMIT ACCEL_TO_DECEL={eff} G1 X{maxX} Y{minY} F{speed} G1 X{minX} Y{maxY} F{speed} {% endfor %} RESTORE_GCODE_STATE NAME=accelltest_state [gcode_macro enable_stepper] gcode: SET_STEPPER_ENABLE STEPPER=stepper_x ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_x1 ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y ENABLE=1 SET_STEPPER_ENABLE STEPPER=stepper_y1 ENABLE=1 ################################################################################################ ################################################################################################ [virtual_sdcard] path: ~/gcode_files ######################## ######################## [display_status] ######################## ######################## [bed_screws] screw1: 20,20 screw2: 20,290 screw3: 290,290 screw4: 290,20 ######################## ######################## [input_shaper] shaper_freq_x: 118 shaper_type_x: mzv shaper_freq_y: 81 shaper_type_y: mzv ``` --- 提示 * Super8默认使用TF卡进行固件烧录 * 请准备一张容量不超过`32G`TF卡 * 杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * TF卡的传输速度最好为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 # 固件烧录说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 不使用 CAN 工具板:请选择 **USB 固件**。 * 需要 CAN 工具板时:请选择 **USB 桥接 CAN 固件**。 * 两种固件只能选择一种,不要同时刷写;Super8 的固件使用 TF 卡烧录。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ----------------- | ------------------- | ---------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super8/flash/firmware?tab-0=usb) | | USB 桥接 CAN 固件 | 需要 CAN 工具板时 | 可连接多个 CAN 设备,减少 USB 占用 | 仅在需要 CAN 工具板时选择;确认 CAN 接线、终端电阻和 CAN 速率配置一致 | [编译 USB 桥接 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/MainBoard/fly-super/fly-super8/flash/firmware?tab-0=can) | --- # FLY-Super8 Bootloader(TF 卡)恢复 仅用于救砖恢复 * 请注意出厂已经预刷了`bootloader`无需再刷 * 正常更新 Klipper 固件时,请使用固件编译页面中的 TF 卡流程 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") * 进入烧录模式有两种方法 * 第一种:在工具板完全断电情况下,短接BOOT按键然后将带有数据传输的TYPE-C线一头接主板一头接你设备 * 第二种:在将带有数据传输的TYPE-C线一头接主板一头接你设备后,短接BOOT键然后按下RST键,然后松开RST键最后松开BOOT键 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * WIN 烧录 * LINUX/FLYOS 烧录 - SUPER8 的 TF 卡 Bootloader 固件 - 您可以通过以下链接获取固件: - 您可以通过以下链接获取固件: * [**SUPER8.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/MainBoard/SUPER/SUPER8.bin?v=4290b27ab386) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/MainBoard/SUPER ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `SUPER8.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/MainBoard/SUPER/SUPER8.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `SUPER8.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/MainBoard/SUPER/SUPER8.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件USB 桥接 CAN 固件 --- # Marlin固件下载 注意事项 请不要放在中文路径下 ## Fly\_SUPER8-Marlin[​](#fly_super8-marlin "Fly_SUPER8-Marlin的直接链接") * 点击下方下载链接 * Loading... # Marlin固件编译 须知 * 本教程基于`Windows`系统下操作 * 本教程使用到`vscode`请提前安装好 ## 安装Python环境[​](#安装python环境 "安装Python环境的直接链接") * 下载Python环境 * 点击下方下载链接 * Loading... Loading... * 安装完成 Loading... ## 安装vscode扩展(插件)[​](#安装vscode扩展插件 "安装vscode扩展(插件)的直接链接") 1. 打开vscode,打开扩展商店(界面左侧有四个方块的按钮) 2. 搜索框输入 ``` platformIO ``` 3. 找到插件并安装 4. 重启vscode Loading... ## 固件地址[​](#固件地址 "固件地址的直接链接") * 编译成功后,您所需的固件文件为 `firmware.bin`。 * 它位于项目目录下的 `.pio\build\<您的主板型号>\` 文件夹中。 * **路径说明**:`<您的主板型号>` 需替换为您在编译时选择的具体主板型号,例如 `D8` 或 `super8`,该目录名称与您的编译环境一致。 Loading... ### 下载固件[​](#下载固件 "下载固件的直接链接") 1. 使用之前准备好的TF卡 2. 使用`SDFormatter`格式化 Loading... 3. 找到你编译好的`Marlin`固件,在`.pio\buid\LPC1716\`下的`firmware.bin`文件 * 请注意`LPC1716`需要替换成对应的主板型号 Loading... 4. 将`firmware.bin`下载到TF卡里面 Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `firmware.bin.txt` 或 `firmware.bin.bin`。复制固件到 TF 卡前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 确认 TF 卡中的完整文件名为 `firmware.bin`。 5) 主板断电,将TF卡插入主板 6) 主板上电,等待10秒 7) 取下TF卡,插入电脑如果SD卡中的看`firmware.bin`消失,出现`FLY.CUR`就是烧录成功了 Loading... --- # 引脚分布 说明 * 本页列出 FLY-Super8 主板烧录 Klipper 固件后的引脚分布,引脚号以主板原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 TMC5160 等 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 * `DIAG` 为驱动诊断信号引脚,无限位归位时按下方表格配置对应的 `diag_pin`;个别驱动仍需按说明设置 DIAG 跳线。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") FLY-Super8 提供 8 个驱动口: | 驱动 | STEP | DIR | EN | UART/CS | DIAG | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE2 | PC5 | PF11 | PC4 | PG12 | | DRIVER1 | PE3 | PF13 | PF14 | PF12 | PG11 | | DRIVER2 | PE4 | PG0 | PG1 | PF15 | PG10 | | DRIVER3 | PE14 | PE8 | PE9 | PE7 | PG9 | | DRIVER4 | PE15 | PE11 | PF2 | PE10 | PD7 | | DRIVER5 | PE1 | PF0 | PC15 | PF1 | PD6 | | DRIVER6 | PE0 | PG3 | PG4 | PG2 | PA8 | | DRIVER7 | PE6 | PG6 | PG7 | PG5 | PF3 | 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 DIAG 与无限位 使用无限位(Sensorless Homing)归位时,驱动芯片通过 DIAG 引脚输出堵转检测信号,Klipper 需通过对应输入口读取该信号。本主板 DIAG 与限位口的对应关系如下: * **DRIVER0–6**:DIAG 已直连主控对应限位输入口(DRIVER*n* → 限位口*n*),板上**无 DIAG 跳线插针**,DIAG 信号始终送达主控。启用无限位时直接配置对应限位口引脚为 `diag_pin` 即可,**不能在该限位口接入物理限位开关**。 * **DRIVER7**:DIAG 未直连限位口,需**手动插上旁边的 DIAG 跳线帽**将 DIAG 信号引入 PF3(DIAG 复用口),方可使用无限位归位。 启用无限位后,对应限位口被 DIAG 信号占用,不得同时接入机械或光电限位开关。 ## SPI 总线[​](#spi-总线 "SPI 总线的直接链接") TMC5160 等 SPI 驱动使用主板硬件 SPI 总线,配置中填写 `spi_bus: spi1a` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: ``` [tmc5160 stepper_x] spi_bus: spi1a cs_pin: 对应驱动的 UART/CS 引脚 ``` > **软件 SPI 与 SPI 速度等详细说明**:[SPI 配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/spi-config) ## 限位与探针[​](#限位与探针 "限位与探针的直接链接") | 功能 | 引脚 | 对应驱动 DIAG | | ---------------- | ---- | ------------- | | 限位口0 / IO0 | PG12 | DRIVER0 | | 限位口1 / IO1 | PG11 | DRIVER1 | | 限位口2 / IO2 | PG10 | DRIVER2 | | 限位口3 / IO3 | PG9 | DRIVER3 | | 限位口4 / IO4 | PD7 | DRIVER4 | | 限位口5 / IO5 | PD6 | DRIVER5 | | 限位口6 / IO6 | PA8 | DRIVER6 | | HV-IN / 通用输入 | PF3 | DRIVER7 | | IN / PWM\_OUT | PF8 | - | | 探针(Probe) | PC3 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------- | ---- | | 热床加热 | PE5 | | 加热口0 | PB0 | | 加热口1 | PB1 | | 加热口2 | PC7 | | 加热口3 | PF7 | | 加热口4 | PF6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ---- | | 热敏口0 | PF4 | | 热敏口1 | PF5 | | 热敏口2 | PF9 | | 热敏口3 | PF10 | | 热敏口4 | PC0 | | 热敏口5 | PC1 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ---- | | 风扇口0 | PA0 | | 风扇口1 | PA1 | | 风扇口2 | PA2 | | 风扇口3 | PA3 | | 风扇口4 | PA15 | | 风扇口5 | PB11 | | 风扇口6 | PB10 | | 风扇口7 | PD12 | | 风扇口8 | PD14 | | 风扇口9 | PD15 | ## PWM[​](#pwm "PWM的直接链接") FLY-Super8 提供 2 路 PWM 输出,可用于舵机、风扇调速等: | 引脚 | 备注 | | ---- | ------------------- | | PC6 | 舵机 / BLTouch 控制 | | PF8 | IN / PWM\_OUT | ## BL-Touch[​](#bl-touch "BL-Touch的直接链接") | 功能 | 引脚 | | -------- | ---- | | 舵机信号 | PC6 | | 探针信号 | PC3 | ## EXP 接口[​](#exp-接口 "EXP 接口的直接链接") EXP 配置提醒 * EXP 排针常用于 Mini12864 等屏幕或扩展外设。 * 若同一引脚已被 SPI、UART、限位、风扇等功能占用,不要在 EXP 外设中重复配置。 ### EXP1[​](#exp1 "EXP1的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP1\_1 | PE12 | | EXP1\_2 | PE13 | | EXP1\_3 | PB2 | | EXP1\_4 | PG8 | | EXP1\_5 | PC14 | | EXP1\_6 | PC13 | | EXP1\_7 | PG14 | | EXP1\_8 | PG13 | | EXP1\_9 | GND | | EXP1\_10 | 5V | ### EXP2[​](#exp2 "EXP2的直接链接") | 功能 | 引脚 | | -------- | ---- | | EXP2\_1 | PA6 | | EXP2\_2 | PA5 | | EXP2\_3 | PB7 | | EXP2\_4 | PA4 | | EXP2\_5 | PB6 | | EXP2\_6 | PA7 | | EXP2\_7 | PG15 | | EXP2\_8 | RST | | EXP2\_9 | GND | | EXP2\_10 | NC | --- # 主板ID读取查看 重要提示 * 本教程仅适用于**主板**的 ID 读取与查看方法。
若您使用的是**工具板**,请参考对应产品的 ID 搜索教程。 * 如果您正在使用工具板,可直接点击下方按钮跳转:
[连接工具板](https://mellow.klipper.cn/toolboard) * 若您已刷写 **USB 固件**,请查看 **USB-ID 获取** 部分。 * 若您已刷写 **USB 桥接固件**,请查看 **CAN-ID 获取** 部分。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件USB 桥接 CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种资料 * 主板原理图 * 主板三维模型 ## Fly-Super8资料[​](#fly-super8资料 "Fly-Super8资料的直接链接") * 点击下方网盘链接 * Loading... --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 * CANBus UUID获取 - 请准备一条具有数据传输功能的数据线,如果长度特别长建议使用带磁环的数据线 - 搜索ID前使用XT30数据线将工具板与连接到刷了桥接固件的Super8主板 - CAN工具板接线参考 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 主板注意事项 ## 电源指示灯[​](#电源指示灯 "电源指示灯的直接链接") Loading... * 只通过TYPE-C供电并不接其他主板电源时至少亮两个灯`3.3V`与`5V` * 在接入主板电源后主板电源灯应该亮`3.3V`、`5V`、`12V` * 驱动电源0-2、驱动电源3-7、热床电源接入后,主板左下方电源指示灯才会正常亮起来 ### 问题排查[​](#问题排查 "问题排查的直接链接") 须知 * 在没有任何外接设备情况下(驱动、限位、12864等) * 只通过TYPE-C供电至少会常亮`3.3V`与`5V`两个LED - 如果`3.3V`与`5V`不亮,请检查主板5V跳线 - 更换跳线后还是一样,并且确认Type-C正常供电,需要联系客服售后 - 如果`3.3V`、`5V`与`12V`中有一个灯闪烁,代表有芯片短路,需要联系客服售后 Loading... ## 驱动[​](#驱动 "驱动的直接链接") * 请注意驱动电源,驱动电源分两路,第一路给驱动3-7供电,第二路0-2 * 主板支持外置驱动 [接线与配置教程](https://mellow.klipper.cn/servo-drive) ## 限位口[​](#限位口 "限位口的直接链接") * 除了最后一个驱动口(Drive7)带无限位跳线,其他驱动口的无限位都是直连限位口 * 如果发现限位口不能使用可以更换限位口或者剪去驱动的无限位脚 Loading... ## 热敏[​](#热敏 "热敏的直接链接") * 主板热敏口支持 * NTC热敏电阻 * PT1000热敏电阻 --- # 接线参考 ## 接口说明[​](#接口说明 "接口说明的直接链接") Loading... *** ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... *** ## 主板驱动跳线[​](#主板驱动跳线 "主板驱动跳线的直接链接") * FLY主板安装驱动与驱动跳线说明 Loading... ## DIAG说明[​](#diag说明 "DIAG说明的直接链接") Loading... *** ## 主板接线[​](#主板接线 "主板接线的直接链接") 警告 请勿使用购买的成品**三线限位开关**,此类限位开关可能会使**主板短路**,**损坏主板**!!!请严格按照接线图中所示的接线方式接线!!! 提示 * 由于接线图分辨率较高,部分网络不好的用户加载速度会较慢,请耐心等待\~\~\~ (≧∀≦)ゞ * 建议将鼠标光标放在接线图上方,`单击右键->将图像另存为`,将接线图保存到桌面再看会更方便哦\~\~\~ σ(´∀`\*) Loading... *** --- # 简介 * 一些驱动注意事项 ## 驱动安装[​](#驱动安装 "驱动安装的直接链接") * 请注意需要EN对准左上角安装 * FLY主板驱动口的EN脚都在左上方 * FLY的DP5、PRO X10、MMU只能使用TP驱动 Loading... ## 驱动配置[​](#驱动配置 "驱动配置的直接链接") * TP驱动和普通驱动的配置方法是一样的 * FLY-2240驱动支持UART连接,但是需要手动修改电阻 * 驱动采样电阻需要注意,如果配置错误可能会导致电机、驱动损坏 --- # A4988 Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") * 适用于 : Marlin/Klipper/RRF 固件 * 过热关机保护 * 接地短路保护 * 加载短路保护 ## 引脚分布[​](#引脚分布 "引脚分布的直接链接") Loading... ## 安装FLY主板[​](#安装fly主板 "安装FLY主板的直接链接") * 请注意需要EN对准左上角安装 * FLY的DP5、PRO X10、MMU只能使用TP驱动 Loading... ## 驱动电流调整与细分说明[​](#驱动电流调整与细分说明 "驱动电流调整与细分说明的直接链接") * 驱动电流调整说明 Loading... * 4988使用正常跳线帽模式,支持接满四个跳线后配置16细分即可 Loading... ## Klipper参考配置[​](#klipper参考配置 "Klipper参考配置的直接链接") * 4988无需配置驱动比如`[tmc5160 stepper_x] `或者`[tmc2209 stepper_x] `等,它是不需要的,配置后无法正常使用 * 将`microsteps:`设置成`16` * **`enable_pin` 需要添加 `!`**:A4988 的使能脚为低电平有效,配置时必须加 `!` 前缀取反,例如 `enable_pin: !gpio1`,否则电机将无法锁定。 Loading... --- # TMC 5160 转接模块 ## 驱动转接模块说明[​](#驱动转接模块说明 "驱动转接模块说明的直接链接") | | | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ### 5160 Plus 转接模块[​](#5160-plus-转接模块 "5160 Plus 转接模块的直接链接")- **主板驱动电源**:无需额外接线,由主板直接供电。
- **驱动模块电源**:必须连接外部供电(12–60 V)。Loading... | ### 5160 Pro 转接模块[​](#5160-pro-转接模块 "5160 Pro 转接模块的直接链接")- **主板驱动电源**:主板电源接口需要接12-24V。
- **驱动模块电源**:必须连接外部供电(12–60 V)。Loading... | ## SD 模式切换方法[​](#sd-模式切换方法 "SD 模式切换方法的直接链接") 不同型号的 TMC5160 驱动模块切换 SD 模式的方法有所不同,请根据您的具体产品参考对应的切换说明。 切换注意事项 * 切换模式前请**务必断开电源**,避免带电操作损坏驱动模块 * 切换完成后请仔细检查拨码/跳线位置是否正确 * 模式切换后需要相应修改固件配置文件 - TMC5160 Plus - TMC5160 Pro - TMC5160 HV ### TMC5160 Plus 切换方法[​](#tmc5160-plus-切换方法 "TMC5160 Plus 切换方法的直接链接") # 添加 TMC5160 Plus 切换 SD 模式的具体方法说明 Loading... ### TMC5160 Pro 切换方法[​](#tmc5160-pro-切换方法 "TMC5160 Pro 切换方法的直接链接") # 添加 TMC5160 Pro 切换 SD 模式的具体方法说明 Loading... ### TMC5160 HV 切换方法[​](#tmc5160-hv-切换方法 "TMC5160 HV 切换方法的直接链接") # 添加 TMC5160 HV 切换 SD 模式的具体方法说明 Loading... ## 相关资源[​](#相关资源 "相关资源的直接链接") * [TMC5160 开发手册](https://www.analog.com/cn/products/tmc5160.html) --- # 外置驱动使用教程 ## 外置驱动器配置指南[​](#外置驱动器配置指南 "外置驱动器配置指南的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 前提条件 * 本教程基于 **Klipper固件** 进行配置 * 模块支持两种接线方式,请根据实际情况选择 * 选择接线方式后,请确保硬件连接与所选方式一致 ## 模块选择[​](#模块选择 "模块选择的直接链接") Loading... * 普通直通模块 * 5V升压模块 **适用主板:** SUPER系列、GEMINI系列、E3系列 **说明:** 普通模块只做信号转接,不会升压。主板原本输出 `3.3V`,模块输出仍为 `3.3V`;主板原本输出 `5V`,模块输出仍为 `5V`。 若外置驱动器要求 `5V` 输入,而主板驱动信号只有 `3.3V`,使用普通直通模块可能导致电机不转、只单向转或方向异常。 **适用主板:** D系列、C系列 **说明:** 5V升压模块会把 `3.3V` 驱动信号转换为 `5V`;如果主板原本输出 `5V`,模块输出仍为 `5V`。 D系列、C系列主板的驱动引脚通常为 `3.3V` 信号。若外置驱动器不能稳定识别 `3.3V` 输入,请使用 5V 升压模块。 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 使用前必须测试 安装5V升压模块后,**请勿立即连接外置驱动器**,请先按照[5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test)完成安全检查,确认模块和配置无异常后再进行接线。 ## 选择接线方式[​](#选择接线方式 "选择接线方式的直接链接") 请根据您的硬件配置选择对应的接线方式: 断电操作 选择或更改外置驱动器接线方式前,请完全关闭打印机并断开电源供应。不要在通电状态下接线、拔插驱动器信号线或触碰裸露端子。 选择建议 如不确定使用哪种方式,请参考驱动模块的说明书或咨询厂家。 * 接线参考一 * 接线参考二 ### 接线示意图[​](#接线示意图 "接线示意图的直接链接") Loading... ### 接线示意图[​](#接线示意图-1 "接线示意图的直接链接") * 将驱动器的 **PUL+**、**DIR+**、**EN+** 连接到共阳极接线 * 将驱动器的 **PUL-**、**DIR-**、**EN-** 连接到DIR、STEP、EN Loading... ## 驱动细分设置[​](#驱动细分设置 "驱动细分设置的直接链接") 简化设置 **无需配置任何驱动跳线**,细分由驱动板载拨码直接设定。 ## 驱动拨码设置[​](#驱动拨码设置 "驱动拨码设置的直接链接") 推荐将驱动板载拨码设置为 **`3200`** 断电操作 调整驱动器拨码开关前,请完全关闭打印机并断开电源供应。不要在通电状态下拨动驱动器开关。 Loading... ## 细分设置说明[​](#细分设置说明 "细分设置说明的直接链接") 核心计算公式 **电机每转所需脉冲数 = `rotation_distance` / `step_distance`** 更基础的推导为: **电机每转所需脉冲数 = `full_steps_per_rotation` × `microsteps`** **分步配置逻辑:** 1. **确定电机固有参数**:常见电机 `full_steps_per_rotation: 200`(每转200整步,即1.8°/步) 2. **设置Klipper微步 `microsteps`**:在配置文件中设定,如 `microsteps: 16` 3. **匹配驱动器物理细分**:根据上述设置和所需精度,计算并设置驱动器拨码 * **本教程推荐值**:`200 (整步) × 16 (Klipper微步) = 3200 脉冲/转` * 此时,驱动器需设置为 **16细分**,拨码值应设为 **`3200`**(部分驱动器显示细分数16,部分显示脉冲数3200,请根据驱动器说明书确认) * 这意味着驱动器将Klipper发送的 **每个脉冲** 作为 **1个微步** 来执行 | 配置层级 | 配置项 | 设定值 | 说明 | | --------------- | ------------------------------------ | ------------------- | --------------------------------------- | | **电机参数** | 每转整步数 `full_steps_per_rotation` | `200` | 电机固有属性,通常为200 (1.8°) | | **Klipper配置** | 微步数 `microsteps` | `16` | 在 `printer.cfg` 中设定 | | **驱动器硬件** | 拨码细分值 | `3200` (16细分) | 物理拨码开关设定 | | **最终效果** | **电机每转所需脉冲数** | **200 × 16 = 3200** | Klipper需要发送3200个脉冲使电机转一整圈 | **如果需要其他细分效果:** 请遵循上述逻辑,确保 **Klipper配置的微步数(`microsteps`)** 与 **驱动器拨码设定的细分档位** 协调一致。例如,若Klipper中设为 `microsteps: 32`,则驱动器拨码应设为 `6400` (32细分),以实现 `200 × 32 = 6400` 脉冲/转 的总精度。 ## Klipper配置参考[​](#klipper配置参考 "Klipper配置参考的直接链接") 先确认驱动器说明书 不同外置驱动器的 EN 有效电平、PUL 触发边沿和最小脉冲宽度可能不同。下表只给出 Klipper 写法和常见起始值,最终应以驱动器说明书为准。 | 配置项 | 说明 | 配置示例 | | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | | **驱动类型** | 无需配置,由驱动拨码开关物理设定 | — | | **微步 (`microsteps:`)** | 设置为 `16` | Loading... | | **脉冲时长 (`step_pulse_duration:`)** | 按驱动器说明书设置。若说明书未标注,可先从 `0.000005` 起测试,再根据现象逐步调大 | Loading... | | **使能引脚 (`enable_pin:`)** | **根据驱动器 EN 有效电平调整**:
1. 低电平使能:需要添加 `!`
2. 高电平使能:不添加 `!`
3. 上电即使能:可删除此行 | 低电平使能:Loading...
高电平使能:Loading...
禁用使能控制:删除此行 | 删除 TMC 驱动配置 使用外置驱动时,对应轴只保留 `[stepper_*]` 配置。若原配置中有 `[tmc2209 ...]`、`[tmc5160 ...]` 等 TMC 驱动配置节,请删除或整段注释;下方图片中的 TMC 配置仅用于说明普通驱动配置位置,不适用于外置驱动。 配置参考图示: Loading... ## step\_pulse\_duration 与方向时序[​](#step_pulse_duration-与方向时序 "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`。 **取值建议:** 1. 查阅外置驱动器说明书中 `Minimum Step Pulse Width` 或 `Direction Setup Time` 参数; 2. 如果两个参数同时存在,优先按较大的时间值设置,并适当留出余量; 3. 若说明书未标注,常见外置驱动器(含光耦隔离型)通常需要 5µs \~ 35µs,建议从 `0.000005` 起逐步调大测试。 注意 若配置后出现不转、振动、丢步或模型倾斜,请先参考 FAQ 排查,不要盲目反复改线或做大距离运动测试。 ## 配置注意事项[​](#配置注意事项 "配置注意事项的直接链接") 删除 TMC 驱动配置 使用外置步进电机驱动器后,Klipper 中对应轴只保留 `[stepper_*]` 配置,必须删除或整段注释对应的 TMC 驱动配置节,例如 `[tmc2209 stepper_x]`、`[tmc5160 stepper_x]`、`[tmc2209 extruder]` 等。 如果继续保留 TMC 配置,Klipper 会尝试通过 UART/SPI 初始化板载或插入式 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 ``` > **问题排查**:[外置驱动常见问题排查](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#troubleshooting) --- # TMC 2209 Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") * 输入电压 :12V-24V * 适用于 : Marlin/Klipper/RRF 固件 * 电机不容易丢步 * 支持静音模式 * 大面积风扇热垫,降低驱动工作温度 * 驱动模式支持:TMC :UART * 支持电机堵转检测 ## 主板跳线说明[​](#主板跳线说明 "主板跳线说明的直接链接") * TMC2209使用UART跳线 Loading... * FLY驱动的UART脚是在左边往下数第四个脚,PDN脚就是UART脚。如果主板不是对应脚位则无法使用UART * 其他驱动如果是在第五脚使用我们主板可以使用参考此方法解决 [UART使用不了解决方法](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-tmc#链接不上驱动ifcnt-通信失败) Loading... ## TMC2209参考配置[​](#tmc2209参考配置 "TMC2209参考配置的直接链接") 危险 驱动采样电阻是0.110请不要设置错误 ``` [tmc2209 stepper_x] uart_pin: interpolate: False run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 0 ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc2209_stepper_x:virtual_endstop` * 配置`diag_pin:`后刷新限位状态是未触发 * 配置`driver_SGTHRS:`需要自行测试一个合适的值 Loading... * 参考配置 提示 * FLY 2209背面有拨码,需要拨到另外一边 * FLY 2209C是直连驱动DIAG不需要进行此步 ``` [stepper_x] # endstop_pin: endstop_pin: tmc2209_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc2209 stepper_x] diag_pin: ^ driver_SGTHRS: 100 ``` --- # TMC 2240 Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") * 输入电压 :12V-36V * 适用于 : Klipper/RRF 固件 * 驱动模式支持:TMC :SPI /UART * 集成温度检测 * 通用模拟输入全保护和诊断 * 完全集成的无损电流感应 (ICS) * 带微步插值 microPlyer 的步进/方向接口 * 短路保护、欠压锁定、芯片过热保护(热关断) * 支持stallGuard2高精度无传感器电机负载检测 * 集成StallGuard2 和 StallGuard4 无传感器电机负载检测 * StealthChop 和 SpreadCycle 的无抖动组合,解决了斩波切换速度点的电机跳动问题。 * 功率更大,发热量更低。(支持更大电压,3.0AMAX,适用于更高领域的3D打印工作,及更长时间工作不易发热及损坏。) ## 主板跳线说明[​](#主板跳线说明 "主板跳线说明的直接链接") * TMC2240默认使用SPI跳线 Loading... * TMC2240使用UART跳线方法 Loading... ## TMC2240参考配置[​](#tmc2240参考配置 "TMC2240参考配置的直接链接") 危险 驱动采样电阻是`rref: 12300`请不要设置错误 ### SPI模式参考配置[​](#spi模式参考配置 "SPI模式参考配置的直接链接") ``` [tmc2240 stepper_x] cs_pin: spi_bus: run_current: 0.65 # 电机运行电流值 interpolate: False # 是否开启256微步插值(不建议开启) rref: 12300 stealthchop_threshold: 0 # 静音阀值(如果不需要静音,请将数值改为0) ``` ### UART模式参考配置[​](#uart模式参考配置 "UART模式参考配置的直接链接") ``` [tmc2240 stepper_x] uart_pin: run_current: 0.65 # 电机运行电流值 interpolate: False # 是否开启256微步插值(不建议开启) rref: 12300 # 驱动采样电阻 stealthchop_threshold: 0 # 静音阀值(如果不需要静音,请将数值改为0) ``` * 如果出现下方报错 Loading... * 需要在SSH终端下登录到安装了Klipper的用户下然后执行此代码 ``` sed -i 's/"uart_pin"/\'"'"'uart_pin'\''/g' ~/klipper/klippy/extras/tmc2240.py ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc2240_stepper_x:virtual_endstop` * 配置`diag0_pin:`后刷新限位状态是未触发 * 配置`driver_SGT:`需要自行测试一个合适的值正常为`1` - 参考配置 ``` [stepper_x] # endstop_pin:PF3 # 需要将原来的限位口屏蔽或者删除 endstop_pin: tmc2240_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc2240 stepper_x] diag0_pin: ^!PG12 driver_SGT: 1 ``` --- # TMC 5160 Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") * 输入电压 :12V-24V * 最大电流 :4.4A * 适用于 : Marlin/Klipper/RRF 固件 * 驱动模式支持:TMC :SPI * 带微步插值 microPlyer 的步进/方向接口 * 最高分辨率为256细分 * 支持stealthChop2静音工作和流畅动作 * 支持中频共振的共振抑制 * 支持spreadCycle高动态电机控制斩波器 * 支持dcStep负载相关的速度控制 * 支持stallGuard2高精度无传感器电机负载检测 * 支持coolStep电流控制,最高可节能75% ## 主板跳线说明[​](#主板跳线说明 "主板跳线说明的直接链接") * TMC5160使用SPI跳线 * FLY驱动的SPI脚是在左边往下数第四个脚,CS脚就是SPI脚。如果主板不是对应脚位则无法使用SPI Loading... ## TMC5160参考配置[​](#tmc5160参考配置 "TMC5160参考配置的直接链接") 危险 * 驱动采样电阻是`sense_resistor: 0.075`请不要设置错误 * spi\_bus和spi\_software只能二选一 ### SPI模式参考配置[​](#spi模式参考配置 "SPI模式参考配置的直接链接") ``` [tmc5160 stepper_x] cs_pin: spi_bus: # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: run_current: 1.0 # 电机运行电流值 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) sense_resistor: 0.075 stealthchop_threshold: 0 driver_DISS2G: 1 driver_DISS2VS: 1 ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 本款驱动需要自行焊接DIAG脚,否则无法使用无限位功能 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc5160_stepper_x:virtual_endstop` * 配置`diag1_pin:`后刷新限位状态是未触发 * 配置`driver_SGT:`需要自行测试一个合适的值 - 参考配置 ``` [stepper_x] # endstop_pin: endstop_pin: tmc5160_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc5160 stepper_x] diag1_pin: ^! driver_SGT: 1 # 配置好后请确保限位状态是未触发 # 这个引脚通常使用"^"前缀来开启内部上拉 # 灵敏度和皮带松紧有关需要自行调节 # (确保同时设置了driver_SGTHRS为一个合适的灵敏度) ``` --- # TMC 5160 Plus Loading... ## 概述[​](#概述 "概述的直接链接") TMC5160 Plus 是一款高性能步进电机驱动模块,支持 SPI 通信协议,适用于 3D 打印机、CNC 等需要精密运动控制的场景。其集成了多种先进功能,如静音驱动、共振抑制和负载检测,并提供 RGB 灯效与风扇散热支持。 ## 基本参数[​](#基本参数 "基本参数的直接链接") | 项目 | 规格 | | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | 输入电压 | 12 - 60 V DC | | 最大电流 | 10 A | | 适用固件 | Marlin / Klipper / RRF | | 驱动模式 | SPI | | 接口类型 | 步进/方向(带微步插值 microPlyer™) | | 最高细分 | 256 微步 | | 主要功能 | stealthChop2(静音运行)、spreadCycle(高动态电机控制)、dcStep(负载相关速度控制)、stallGuard2(无传感器负载检测)、coolStep(节能电流控制,最高节能 75%) | ## 硬件安装与接线[​](#硬件安装与接线 "硬件安装与接线的直接链接") ### 主板跳线设置[​](#主板跳线设置 "主板跳线设置的直接链接") 提示 TMC5160 Plus 采用 **SPI 模式**。若使用 FLY 主板,请将 SPI 相关跳线帽安装正确;若使用其他品牌主板,请参考其说明书或咨询供应商。 Loading... ### FPC 排线连接[​](#fpc-排线连接 "FPC 排线连接的直接链接") Loading... ### 转接模块接线说明[​](#转接模块接线说明 "转接模块接线说明的直接链接") * **主板驱动电源**:无需额外接线,由主板直接供电。 * **驱动模块电源**:必须连接外部供电(12–60 V)。 Loading... ### 驱动供电接线示例[​](#驱动供电接线示例 "驱动供电接线示例的直接链接") Loading... ### RGB 灯效控制[​](#rgb-灯效控制 "RGB 灯效控制的直接链接") 提示 若使用主板的 **EN(使能)引脚** 控制 RGB,电机将被强制锁定。 Loading... **多个驱动 RGB 串联接线示例**: Loading... ### 12V 风扇接线[​](#12v-风扇接线 "12V 风扇接线的直接链接") Loading... ## 固件配置参考[​](#固件配置参考 "固件配置参考的直接链接") 危险 **重要**:本驱动采样电阻为 **0.033 Ω**,配置时请勿设置错误。 * 模式:驱动EN控制RGB * 模式:主板RGB控制 * RGB灯效配置 拨码开关朝向 **FAN 接口方向**。 ``` [stepper_x] step_pin: dir_pin: # enable_pin: ! [tmc5160 stepper_x] cs_pin: spi_software_mosi_pin: spi_software_miso_pin: spi_software_sclk_pin: run_current: 1.0 interpolate: False sense_resistor: 0.033 stealthchop_threshold: 0 driver_DISS2G: 1 driver_DISS2VS: 1 ``` 拨码开关朝向 **FAN 接口反方向**。 ``` [stepper_x] step_pin: dir_pin: enable_pin: ! [tmc5160 stepper_x] cs_pin: spi_software_mosi_pin: spi_software_miso_pin: spi_software_sclk_pin: run_current: 1.0 interpolate: False sense_resistor: 0.033 stealthchop_threshold: 0 driver_DISS2G: 1 driver_DISS2VS: 1 ``` 可通过 Neopixel/LED 插件扩展控制驱动 LED: [点击跳转至插件说明](https://mellow.klipper.cn/docs/DebugDoc/addon/led.mdx) ``` [neopixel TP_led] pin: chain_count: 6 # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 # 初始颜色 #66CCFF ``` ## 电流设置警告[​](#电流设置警告 "电流设置警告的直接链接") 危险 * TMC5160 Plus 最大支持 **10A** 电流,但过高电流可能导致 **电机损坏**。 * 高电流运行时 **必须加强散热**,确保驱动模块温度在安全范围内。 --- # TMC 5160 Pro V1.2 Loading... ## 产品概述[​](#产品概述 "产品概述的直接链接") TMC5160 Pro V1.2 是一款高性能步进电机驱动模块,采用 Trinamic TMC5160 芯片,支持 SPI 通信接口,适用于高精度运动控制系统。 ## 技术规格[​](#技术规格 "技术规格的直接链接") | 项目 | 规格 | | -------- | -------------------------------------------------------------------------------------------------------------------------------- | | 输入电压 | 24 - 48 V DC | | 最大电流 | 6 A | | 适用固件 | Marlin / Klipper / RRF | | 驱动模式 | SPI | | 最高细分 | 256 微步 | | 接口类型 | 步进/方向(带微步插值 microPlyer™) | | 主要功能 | stealthChop2(静音运行)、spreadCycle(高动态控制)、dcStep(负载相关速度控制)、stallGuard2(无传感器负载检测)、coolStep(节能电流控制) | ## 硬件安装指南[​](#硬件安装指南 "硬件安装指南的直接链接") ### 主板跳线设置[​](#主板跳线设置 "主板跳线设置的直接链接") * **通信模式**:SPI * **引脚说明**:FLY 驱动的 SPI 引脚位于左侧向下第4个引脚(CS引脚) * **兼容性提示**:非FLY主板请确认引脚兼容性 Loading... ### 模块引脚说明[​](#模块引脚说明 "模块引脚说明的直接链接") 备注 主板驱动电源输入范围为 **12V-24V** Loading... ### 散热风扇连接[​](#散热风扇连接 "散热风扇连接的直接链接") Loading... ### 电源接线示例[​](#电源接线示例 "电源接线示例的直接链接") Loading... ## 固件配置[​](#固件配置 "固件配置的直接链接") 重要配置提示 * **采样电阻**:必须设置为 `sense_resistor: 0.033` * **SPI模式**:`spi_bus` 和 `spi_software_*` 配置只能二选一 ### SPI 配置示例[​](#spi-配置示例 "SPI 配置示例的直接链接") ``` [tmc5160 stepper_x] cs_pin: # SPI片选引脚(必需) spi_bus: # SPI硬件总线(与软件SPI二选一) # spi_software_mosi_pin: # 软件SPI数据输出引脚 # spi_software_miso_pin: # 软件SPI数据输入引脚 # spi_software_sclk_pin: # 软件SPI时钟引脚 run_current: 1.0 # 电机运行电流(单位:A) interpolate: False # 256微步插值(True:开启,False:关闭) sense_resistor: 0.033 # 电流检测电阻值 stealthchop_threshold: 0 # 静音模式速度阈值 driver_DISS2G: 1 # 数字输入状态设置 driver_DISS2VS: 1 # 电压调节设置 ``` 配置建议 1. **电流设置**:根据电机额定电流和散热条件合理设置 `run_current` 2. **微步插值**:开启后可获得更平滑的运动,但会增加处理开销 3. **静音模式**:设置 `stealthchop_threshold` 为0可全程使用静音模式 4. **散热考虑**:高电流运行时确保良好的散热条件 --- # TMC 5160 Pro V1.5 Loading... ## 概述[​](#概述 "概述的直接链接") TMC5160 Pro V1.5 是一款高性能步进电机驱动模块,支持 SPI 通信协议,适用于需要精密运动控制和高效能耗比的应用场景。 ## 技术规格[​](#技术规格 "技术规格的直接链接") | 项目 | 规格 | | -------- | -------------------------------------------------------------------------------------------------------------------------------- | | 输入电压 | 24 - 48 V DC | | 最大电流 | 6 A | | 适用固件 | Marlin / Klipper / RRF | | 驱动模式 | SPI | | 最高细分 | 256 微步 | | 主要功能 | stealthChop2(静音运行)、spreadCycle(高动态控制)、dcStep(负载相关速度控制)、stallGuard2(无传感器负载检测)、coolStep(节能电流控制) | ## 硬件安装与配置[​](#硬件安装与配置 "硬件安装与配置的直接链接") ### 主板跳线设置[​](#主板跳线设置 "主板跳线设置的直接链接") TMC5160 Pro 使用 **SPI 跳线**模式: * FLY 驱动的 SPI 引脚为左边向下数第4个引脚(CS引脚) * 若使用其他主板,请确认引脚兼容性 Loading... ### 模块引脚说明[​](#模块引脚说明 "模块引脚说明的直接链接") 备注 主板驱动电源输入为 **12V-24V** Loading... ### FPC 排线连接[​](#fpc-排线连接 "FPC 排线连接的直接链接") Loading... ### 散热风扇连接[​](#散热风扇连接 "散热风扇连接的直接链接") Loading... ### 驱动供电接线[​](#驱动供电接线 "驱动供电接线的直接链接") Loading... ## 固件配置[​](#固件配置 "固件配置的直接链接") 重要提示 * 采样电阻值:`sense_resistor: 0.033`(请勿设置错误) * `spi_bus` 和 `spi_software` 配置只能二选一 ### SPI 模式配置示例[​](#spi-模式配置示例 "SPI 模式配置示例的直接链接") ``` [tmc5160 stepper_x] cs_pin: # SPI片选引脚 spi_bus: # SPI总线(与spi_software_*二选一) # spi_software_mosi_pin: # 软件SPI数据输出 # spi_software_miso_pin: # 软件SPI数据输入 # spi_software_sclk_pin: # 软件SPI时钟 run_current: 1.0 # 运行电流设置 interpolate: False # 256微步插值(True开启/False关闭) sense_resistor: 0.033 # 采样电阻值 stealthchop_threshold: 0 # 静音模式速度阈值 driver_DISS2G: 1 driver_DISS2VS: 1 ``` ## 无限位传感器配置[​](#无限位传感器配置 "无限位传感器配置的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 使用说明 1. **硬件准备**:必须安装4pin FPC排线 2. **配置修改**: * 注释或删除原有的 `endstop_pin:` * 添加 `endstop_pin: tmc5160_stepper_x:virtual_endstop` 3. **状态确认**:配置后限位状态应显示"未触发" 4. **灵敏度调节**:`driver_SGT:` 值需根据实际情况调整 ### 参考配置[​](#参考配置 "参考配置的直接链接") ``` [stepper_x] # endstop_pin: # 注释或删除原有配置 endstop_pin: tmc5160_stepper_x:virtual_endstop homing_retract_dist: 0 # 设置为0避免回退导致归位失败 [tmc5160 stepper_x] diag0_pin: ^! # 通常需要上拉电阻 driver_SGT: 1 # 灵敏度值(根据实际情况调整) ``` 配置建议 * `diag0_pin:` 通常使用 `^` 前缀开启内部上拉 * 灵敏度受皮带张力、机械结构等因素影响,需通过测试确定最佳值 * 同时可设置 `driver_SGTHRS` 参数调整灵敏度阈值 --- # TMC 5160HV Loading... Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") * 输入电压 :12V-48V * 最大电流 :4.4A * 适用于 : Marlin/Klipper/RRF 固件 * 驱动模式支持:TMC :SPI * 带微步插值 microPlyer 的步进/方向接口 * 最高分辨率为256细分 * 支持stealthChop2静音工作和流畅动作 * 支持中频共振的共振抑制 * 支持spreadCycle高动态电机控制斩波器 * 支持dcStep负载相关的速度控制 * 支持stallGuard2高精度无传感器电机负载检测 * 支持coolStep电流控制,最高可节能75% ## 主板跳线说明[​](#主板跳线说明 "主板跳线说明的直接链接") * TMC5160使用SPI跳线 * FLY驱动的SPI脚是在左边往下数第四个脚,CS脚就是SPI脚。如果主板不是对应脚位则无法使用SPI Loading... ## TMC5160参考配置[​](#tmc5160参考配置 "TMC5160参考配置的直接链接") 危险 * 驱动采样电阻是`sense_resistor: 0.075`请不要设置错误 * spi\_bus和spi\_software只能二选一 ### SPI模式参考配置[​](#spi模式参考配置 "SPI模式参考配置的直接链接") ``` [tmc5160 stepper_x] cs_pin: spi_bus: # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: run_current: 1.0 # 电机运行电流值 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) sense_resistor: 0.075 stealthchop_threshold: 0 driver_DISS2G: 1 driver_DISS2VS: 1 ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc5160_stepper_x:virtual_endstop` * 配置`diag1_pin:`后刷新限位状态是未触发 * 配置`driver_SGT:`需要自行测试一个合适的值 - 参考配置 ``` [stepper_x] # endstop_pin: endstop_pin: tmc5160_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc5160 stepper_x] diag1_pin: ^! driver_SGT: 1 # 配置好后请确保限位状态是未触发 # 这个引脚通常使用"^"前缀来开启内部上拉 # 灵敏度和皮带松紧有关需要自行调节 # (确保同时设置了driver_SGTHRS为一个合适的灵敏度) ``` --- # TP 5V 外置驱动 `TP 5V 外置驱动` 是 FLY 推出的全新品类**外置驱动**,延续 TP 系列命名,适配 DP 系列与 PRO X10。 它是一款 **5V 升压模块**,将主板输出的 `3.3V` 驱动信号(STEP/DIR/EN)提升至 `5V`,用于适配需要 `5V` 逻辑电平输入的外置驱动器。 Loading... Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") | 项目 | 说明 | | -------- | ------------------------------------------------------- | | 支持主板 | DP5、PRO X10、MMU | | 主要功能 | 将驱动信号从 `3.3V` 提升至 `5V`,适配更多外置驱动 | | 供电要求 | 需要主板提供 `24V` 供电,主板驱动电源输入不能超过 `24V` | 供电注意 本模块需要主板提供 `24V` 供电,且主板驱动电源输入不能超过 `24V`。接入前请确认主板供电规格,避免损坏模块。 ## 接线说明[​](#接线说明 "接线说明的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 Loading... Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") `TP 5V 外置驱动` 为电平转换模块,**本身无需配置 `[tmc5160]`、`[tmc2209]` 等驱动段**,主板端按外置驱动方式配置 STEP/DIR/EN 引脚即可。 > **外置驱动器配置指南**:[外置驱动使用教程](https://mellow.klipper.cn/docs/ProductDoc/ModuleDrive/servo-drive) 使用前必须测试 安装本模块后,请勿立即连接外置驱动器,请先按照 [5V模块测试说明](https://mellow.klipper.cn/docs/DebugDoc/faq/servo-drive#5v-module-test) 完成安全检查,确认模块和配置无异常后再进行接线。 --- # TP 2209 Loading... ## 基本参数[​](#基本参数 "基本参数的直接链接") * 输入电压 :12V-24V * 适用于 : Marlin/Klipper/RRF 固件 * 电机不容易丢步 * 支持静音模式 * 大面积风扇热垫,降低驱动工作温度 * 驱动模式支持:TMC :UART * 支持电机堵转检测 ## FLY主板跳线[​](#fly主板跳线 "FLY主板跳线的直接链接") 提示 * TP2209使用UART模式 * TP2209无需驱动跳线帽,只需要单纯配置即可 ## TP2209参考配置[​](#tp2209参考配置 "TP2209参考配置的直接链接") 危险 驱动采样电阻是0.110请不要设置错误 ``` [tmc2209 stepper_x] uart_pin: interpolate: False run_current: 0.8 # 运行电流 sense_resistor: 0.110 # 驱动采样电阻不要改 stealthchop_threshold: 0 ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc2209_stepper_x:virtual_endstop` * 配置`diag_pin:`后刷新限位状态是未触发 * 配置`driver_SGTHRS:`需要自行测试一个合适的值 - 参考配置 ``` [stepper_x] # endstop_pin: endstop_pin: tmc2209_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc2209 stepper_x] diag_pin: ^ driver_SGTHRS: 100 ``` --- # TP 2240 Loading... ## TMC-2240[​](#tmc-2240 "TMC-2240的直接链接") * 输入电压 :12V-36V * 适用于 : Klipper/RRF 固件 * 驱动模式支持:TMC :SPI * 集成温度检测 * 通用模拟输入全保护和诊断 * 完全集成的无损电流感应 (ICS) * 带微步插值 microPlyer 的步进/方向接口 * 短路保护、欠压锁定、芯片过热保护(热关断) * 支持stallGuard2高精度无传感器电机负载检测 * 集成StallGuard2 和 StallGuard4 无传感器电机负载检测 * StealthChop 和 SpreadCycle 的无抖动组合,解决了斩波切换速度点的电机跳动问题。 * 功率更大,发热量更低。(支持更大电压,3.0AMAX,适用于更高领域的3D打印工作,及更长时间工作不易发热及损坏。) ## TP2240参考配置[​](#tp2240参考配置 "TP2240参考配置的直接链接") 危险 * 驱动采样电阻是`rref: 12300`请不要设置错误 * spi\_bus和spi\_software只能二选一 ### SPI模式参考配置[​](#spi模式参考配置 "SPI模式参考配置的直接链接") ``` [tmc2240 stepper_x] cs_pin: spi_bus: # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: run_current: 0.65 # 电机运行电流值 interpolate: False # 是否开启256微步插值(不建议开启) rref: 12300 stealthchop_threshold: 0 # 静音阀值(如果不需要静音,请将数值改为0) ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 使用TP2240的无限位需要将主板的DIAG跳线接上 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc2240_stepper_x:virtual_endstop` * 配置`diag1_pin:`后刷新限位状态是未触发 * 配置`driver_SGT:`需要自行测试一个合适的值 - 参考配置 ``` [stepper_x] # endstop_pin: endstop_pin: tmc2240_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc2240 stepper_x] diag1_pin: ^! driver_SGT: 1 # 配置好后请确保限位状态是未触发 # 这个引脚通常使用"^"前缀来开启内部上拉 # 灵敏度和皮带松紧有关需要自行调节 # (确保同时设置了driver_SGTHRS为一个合适的灵敏度) ``` --- # TP 5160 Loading... ## TMC-5160[​](#tmc-5160 "TMC-5160的直接链接") * 输入电压 :12V-48V * 最大电流 :4.4A * 适用于 : Marlin/Klipper/RRF 固件 * 驱动模式支持:TMC :SPI * 带微步插值 microPlyer 的步进/方向接口 * 最高分辨率为256细分 * 支持stealthChop2静音工作和流畅动作 * 支持中频共振的共振抑制 * 支持spreadCycle高动态电机控制斩波器 * 支持dcStep负载相关的速度控制 * 支持stallGuard2高精度无传感器电机负载检测 * 支持coolStep电流控制,最高可节能75% ## TP5160参考配置[​](#tp5160参考配置 "TP5160参考配置的直接链接") 危险 * 驱动采样电阻是`sense_resistor: 0.075`请不要设置错误 * spi\_bus和spi\_software只能二选一 ### SPI模式参考配置[​](#spi模式参考配置 "SPI模式参考配置的直接链接") ``` [tmc5160 stepper_x] cs_pin: spi_bus: # spi_software_mosi_pin: # spi_software_miso_pin: # spi_software_sclk_pin: run_current: 1.0 # 电机运行电流值 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) sense_resistor: 0.075 stealthchop_threshold: 0 driver_DISS2G: 1 driver_DISS2VS: 1 ``` ## 无限位使用说明[​](#无限位使用说明 "无限位使用说明的直接链接") 无限位使用提示 * 无限位使用需要占用一个限位口,正常情况是一号驱动位使用IO1,二号驱动位使用IO2以此类推 * 使用无限位需要注意,请不要在对应的限位口接入任何东西 * FLY部分主板是直连驱动口,请注意DIAG是否直连对应引脚 无限位使用提示 * 使用TP5160的无限位需要将主板的DIAG跳线接上 * 原来的`endstop_pin:`需要屏蔽或者删除,再添加`endstop_pin: tmc5160_stepper_x:virtual_endstop` * 配置`diag1_pin:`后刷新限位状态是未触发 * 配置`driver_SGT:`需要自行测试一个合适的值 - 参考配置 ``` [stepper_x] # endstop_pin: endstop_pin: tmc5160_stepper_x:virtual_endstop homing_retract_dist: 0 # 回退不改0可能会导致归位失败 [tmc5160 stepper_x] diag1_pin: ^! driver_SGT: 1 # 配置好后请确保限位状态是未触发 # 这个引脚通常使用"^"前缀来开启内部上拉 # 灵敏度和皮带松紧有关需要自行调节 # (确保同时设置了driver_SGTHRS为一个合适的灵敏度) ``` --- # FLY-CM4 载板 Fly-CM4与树莓派3B和4B完全兼容,并特别针对树莓派CM4拓展改进,这款拓展板提供了一整套专为3D打印机优化的功能。12-24V直流供电确保了供电的稳定性,对3D打印机的精确控制和连续运行至关重要。支持FLY-TFT和Fly-HDMI屏幕FPC连线功能,提供了更方便的走线方式。提供Can端口,上位机可以直接Can连接下位机,这是目前比较流行的方式。 Loading... ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * 支持树莓派CM4核心板 * 支持12V-24V直流供电 * 板载UTOC模块 * 支持TFT与HDMI一线通 * 支持DSI/spi屏幕接口 * 支持CSI/USB摄像头接口 * 40PIN扩展接口,兼容树莓派 ## 产品接口说明[​](#产品接口说明 "产品接口说明的直接链接") Loading... ## 重要注意事项[​](#重要注意事项 "重要注意事项的直接链接") 使用前请阅读 [FLY-CM4 使用注意事项](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/warning),确认核心板、系统、电源和接口操作要求。 *** --- # CSI 摄像头使用方法 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 主板接线[​](#主板接线 "主板接线的直接链接") Loading... ## CSI使用[​](#csi使用 "CSI使用的直接链接") ## CSI使用方法[​](#csi使用方法 "CSI使用方法的直接链接") * 镜像烧写完成后,进入/boot/config.txt中找到`camera_auto_detect=1`并且修改成`camera_auto_detect=0`然后按照摄像头型号添加配置 * 下方是参考配置 ``` dtoverlay=imx219,cam1 ``` Loading... Loading... --- # 使用方法 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 主板接线[​](#主板接线 "主板接线的直接链接") Loading... ## DSI屏幕使用[​](#dsi屏幕使用 "DSI屏幕使用的直接链接") ## DSI使用方法[​](#dsi使用方法 "DSI使用方法的直接链接") * 镜像烧写完成后,进入/boot/config.txt中添加下方指令 ``` dtoverlay=vc4-kms-dsi-7inch ``` Loading... * 保存并且退出 --- # 快速开始 **本指南目标**: 完成 FLY-CM4、树莓派 CM4 核心板、系统存储和基础外设的安装。 **完成标志**: 树莓派 CM4 系统能够正常启动,并可按需连接屏幕、摄像头或 CAN 工具板。 重要提示 * **必须配件**: FLY-CM4 需要配合树莓派 CM4 核心板及对应的系统存储使用 * **电源要求**: 直流输入范围为 **12V-24V**,请勿超出此范围 * **安全操作**: 所有接线和拨码操作前必须关闭打印机并断开电源 * **系统区别**: FLY-CM4 使用树莓派系统流程,不适用其他 FLY 上位机的 FlyOS Fast 镜像 *** ## 步骤1: 安装系统与存储[​](#步骤1-安装系统与存储 "步骤1: 安装系统与存储的直接链接") | 配置项 | 说明 | 链接 | | ------------ | --------------------- | --------------------------------------------------------------------- | | CM4 系统烧录 | 为树莓派 CM4 烧录系统 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/rpi) | | TF 卡安装 | 安装系统存储卡 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/tf) | *** ## 步骤2: 配置显示与摄像头[​](#步骤2-配置显示与摄像头 "步骤2: 配置显示与摄像头的直接链接") | 功能 | 说明 | 链接 | | ---------- | -------------------- | ------------------------------------------------------------------------ | | HDMI 屏幕 | HDMI 屏幕接线 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/screen) | | DSI 屏幕 | DSI 屏幕接线与使用 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/dsi) | | CSI 摄像头 | CSI 摄像头接线与使用 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/csi) | *** ## 步骤3: 扩展功能与资源[​](#步骤3-扩展功能与资源 "步骤3: 扩展功能与资源的直接链接") | 功能 | 说明 | 链接 | | ---------- | ------------------------------- | --------------------------------------------------------------------------- | | 外接工具板 | 主板 USB ID 与 CANBus UUID 获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/utoc) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/schematic) | *** --- # 树莓派CM4系统烧录 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 打开拨码[​](#打开拨码 "打开拨码的直接链接") * 打开拨码后将Type-C口与电脑连接,即可进入烧录模式 Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") 1. 禁止带电时拔插除USB之外的任何设备 2. Type C 接口可以用作供电也可以用作USB SLAVE接口烧录镜像 3. 为了保证CM4供电正常,在使用Type C 接口烧录镜像时,请不要连接其他设备。 4. 模块没有带任何保护,请勿短路电源。 5. FLY主板不支持POE功能!请不要使用POE供电 须知 * 注意 :EMMC 版本不可以使用SD卡 * 注意:不带EMMC版本使用MICRO SD 卡启动,需要使用读卡器烧录镜像 * 内存卡建议TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 Loading... ## 镜像下载[​](#镜像下载 "镜像下载的直接链接") * 下载系统[戳我下载](https://www.raspberrypi.org/downloads/raspberry-pi-os/)下载最新发布的系统(或如图所示)。 * 如果下载的是种子文件,使用迅雷或彗星等软件再下载 Loading... * 带有桌面和推荐软件的镜像`(Raspberry Pi OS with desktop and recommended software)`,建议使用EMMC 16G或CM4 lite搭配16G以上容量的TF卡 须知 EMMC版本需要在断电情况下切换拨码进入CM4烧录模式,Lite版本直接给系统卡烧录镜像即可 须知 * EMMC版本需要进入烧录模式才能进入,下方是进入烧录模式的方法 * Lite版本无需进入烧录模式,直接格式化后烧录即可 ## rpiboot(引导加载程序)下载[​](#rpiboot引导加载程序下载 "rpiboot(引导加载程序)下载的直接链接") * 下载并以管理员权限打开rpiboot软件[戳我下载](https://files.waveshare.net/wiki/w/upload/f/f3/Rpiboot_setup.zip) * 以安装驱动程序和启动工具。安装成功之后在安装目录下有一个rpiboot.exe的应用 Loading... ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") * 此时连接电脑并且给主板供电,电脑设备管理器中会识别出一个BCMxxx的设备 Loading... * 然后运行rpiboot Loading... * 等待运行结束,在我的电脑上面会出现一个U盘的盘符 须知 注意:如果电脑没有识别出BCMxxx的设备 ,可能是上面哪个步骤有问题。一定要识别出BCMxxx的设备运行rpiboot 才会有效,否则无效。 ## 格式化EMMC或者SD卡[​](#格式化emmc或者sd卡 "格式化EMMC或者SD卡的直接链接") * 使用SDFormatter.exe[点击这里下载](https://www.waveshare.net/w/upload/d/d7/Panasonic_SDFormatter.zip)软件格式化SD 卡 Loading... * 或者使用WIN自带的磁盘管理删除分区,删除分区之后重新建立分区即可。 * 此电脑右键 -> 管理 -> 磁盘管理 -> 找到新添加的盘符(选择错了就完蛋了) -> 删除所有分区 -> 建立一个分区(任意文件系统)如果是烧录过系统会有两个盘符,不要管直接格式化或者删除分区就好了 ## 烧写镜像[​](#烧写镜像 "烧写镜像的直接链接") 1. 用Raspberry Pi Imager [点这里下载](https://www.raspberrypi.com/software/)烧写镜像。 2. 烧录前需要配置账号密码与打开SSH Loading... 3. 烧录完毕之后,在我的电脑会识别出一个U盘的盘符 ## 烧录完成并重启[​](#烧录完成并重启 "烧录完成并重启的直接链接") * 烧录完毕断开电源,断开和电脑的连接线,将BOOT拨码拨回去。重新上电即可 ## 树莓派zero2与zero2W注意事项[​](#树莓派zero2与zero2w注意事项 "树莓派zero2与zero2W注意事项的直接链接") * 此注意事项针对配合G2T使用FLY-TFT屏幕做的说明 * 树莓派zero2与zero2w需要修改默认显示设备可以执行下方代码直接修改\\ * 请注意执行完成后需要重启才可以使用 ``` sudo sed -i 's/\/dev\/fb0/\/dev\/fb1/g' /etc/X11/xorg.conf.d/99-fbdev.conf ``` --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-CM4资料[​](#fly-cm4资料 "Fly-CM4资料的直接链接") * 点击下方网盘链接 * Loading... --- # 屏幕接线 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * 无需配置即可使用 HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 Loading... --- # TF卡安装 Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-CM4、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索连接至 FLY-CM4 板载 UTOC 的 CAN 工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 ### 启用板载 UTOC[​](#启用板载-utoc "启用板载 UTOC的直接链接") 关闭电源后,打开下图所示的 UTOC 拨码开关: Loading... ### CAN 参考接线[​](#can-参考接线 "CAN 参考接线的直接链接") Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # FLY-CM4 使用注意事项 操作前必读 **所有接线和拨码操作前,请务必关闭打印机并断开电源。** 系统烧录时也请按对应指南操作。 ## 1. 核心板与系统[​](#1-核心板与系统 "1. 核心板与系统的直接链接") * FLY-CM4 是树莓派 CM4 载板,必须安装兼容的树莓派 CM4 核心板。 * 系统镜像和烧录方法应遵循 [树莓派 CM4 系统烧录](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-cm4/rpi),不要使用其他 FLY 上位机的 FlyOS Fast 镜像。 ## 2. 电源要求[​](#2-电源要求 "2. 电源要求的直接链接") * FLY-CM4 支持 **DC 12V-24V** 直流输入,请确认电源极性和输入电压正确。 * 不要拆解电源、改动市电接线或触碰裸露的大电流端子。 ## 3. 接口操作[​](#3-接口操作 "3. 接口操作的直接链接") * 安装 CM4 核心板、连接屏幕、摄像头、CAN 线束或调整拨码前必须断电。 * FPC 排线应确认接口方向后再插入,不要强行弯折或反向插接。 *** --- # Fly-Pi-lite2.1 上位机 Fly-Pi-lite2.1 是一款面向初学者的 Klipper 上位机,集成了深度优化的系统与插件,开箱即用,可帮助用户快速搭建 3D 打印控制环境。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * **处理器**:全志 H3 四核 Cortex-A7 * **图形处理**:Mali-400 MP2 * **运行内存**:512MB DDR3 * **存储扩展**:支持最大 128GB Micro SD 卡(TF卡) * **无线网络**:板载 2.4GHz Wi-Fi * **外设接口**: * USB 2.0 × 2 * FPC-TFT × 1 * FPC-HDMI × 1 * **扩展接口**:预留 FPC 接口,支持 HDMI + USB 一线通 * **系统预装**:预置 Klipper、Moonraker、Mainsail/Fluidd、KlipperScreen、共振补偿插件及 NumPy 等,无需换源,简化部署流程(需自备 TF 卡)。 ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * **深度优化,性能提升** 搭载全志 H3 四核处理器,运行**深度定制的 FlyOS & Klipper 固件**,在指令处理与打印性能上相比原生版本有显著优化。 * **开箱即用,生态完整** 预装所有必备插件与组件,免去复杂调试,大幅缩短从安装到首次打印的耗时。 * **一键更新,支持 OTA** 支持在线系统更新(OTA),无需重新烧录固件,可持续获取最新功能与安全补丁。 ## 购买与使用须知[​](#购买与使用须知 "购买与使用须知的直接链接") 重要:关于存储 Fly-Pi-lite2.1 **出厂不附带存储设备**,必须自行准备存储卡方可使用: * 推荐使用 **16GB–128GB** 容量的 Micro SD(TF)卡,建议速度等级 C10 及以上。 重要:关于供电 **Fly-Pi-lite2.1 不支持通过下位机(如主板)为其供电。** 必须使用独立的 5V 电源适配器为上位机供电,否则可能导致设备损坏或工作异常。 ## 产品详细规格[​](#产品详细规格 "产品详细规格的直接链接") ### 1. 核心系统[​](#1-核心系统 "1. 核心系统的直接链接") * **CPU**:全志 H3,四核 Cortex-A7 * **GPU**:Mali-400 MP2 * **运行内存**:512MB DDR3 ### 2. 存储与扩展[​](#2-存储与扩展 "2. 存储与扩展的直接链接") * **外部存储**:最大支持 128GB Micro SD 卡(TF卡) ### 3. 接口一览[​](#3-接口一览 "3. 接口一览的直接链接") * **显示输出** * FPC-HDMI × 1 * FPC-TFT × 1 * 支持 TFT 屏幕或通过 HDMI 一线通连接 * **USB与网络** * USB 2.0 × 2 * 2.4GHz Wi-Fi(板载) ### 4. 电源与功耗管理[​](#4-电源与功耗管理 "4. 电源与功耗管理的直接链接") * **输入电压**:DC 5V * **断电保护功能**: * 支持 **断电续打** 与 **安全断电关机** 功能。 * 需配合 KPPM 安全关机模块使用。 配置说明 此功能需在系统内进行配置以启用,出厂默认均为关闭状态。 ### 5. 系统与软件[​](#5-系统与软件 "5. 系统与软件的直接链接") * **操作系统**:FlyOS-FAST (专为 3D 打印优化的轻量系统) * **核心固件**: * **深度优化的 Klipper 固件**,运动规划与指令处理性能提升 * 原生支持 RRF(RepRapFirmware) * **预装软件**: * 核心组件 :Klipper 、Moonraker * Web 界面 :Mainsail / Fluidd(默认 Fluidd) * 插件与功能 :KlipperScreen 、Crowsnest(摄像头)、输入整形、共振补偿等(NumPy 已预装) ## 注意事项[​](#注意事项 "注意事项的直接链接") 关于 Wi-Fi Fly-Pi-lite2.1 仅支持 2.4GHz Wi-Fi 网络,不支持 5GHz 或双频合一网络。 *** --- # 加速度计使用教程 加速度计使用限制 由于**LITE2系列**的硬件设计,其无法直接连接并驱动独立的SPI/I²C加速度计模块(如ADXL345)。 如果您需要在基于LITE2系列的设备上使用加速度计功能,请选择以下两种方案: | 方案 | 推荐产品 | 连接/说明 | | ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ | | **1. USB加速度计** | **[FLY-USB-LIS2DW](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/)** | 采用USB接口的LIS2DW加速度计,直接插入上位机的USB口即可使用,无需连接主板。 | | **2. 工具板内置加速度计** | 集成LIS2DW或ADXL345的扩展工具板 | 通过CAN或其它接口与主板通信,加速度计作为工具板的一部分被识别和调用。 | **重要提醒**:请勿尝试将ADXL345等模块直接连接到C8P主板的引脚。为确保兼容性与功能正常,建议使用专为外置加速度计设计的**FLY-USB-LIS2DW** USB加速度计。 # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 重要提示 因设备内存(512MB)有限,在运行摄像头功能时易导致内存不足,可能引发设备卡顿等。 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 接线[​](#接线 "接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 KPPM 接线要求 * FLY Lite2.1 断电关机/续打功能注意事项 * 供电必须使用专用的 KPPM 模块,请勿使用其他供电方式 * 若无法断开下位机与上位机间的5V连接,必须在主板完全断电后方可重新开机,否则可能导致无法正常启动 - FLY-Lite2.1 使用USB接线 - FLY-Lite2.1 使用5V接线 * FLY-Pi使用5V接线 Loading... - FLY-Pi使用USB接线 Loading... ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` ``` shutdown_pin_state=1 shutdown_pin=PI4 ``` * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip1/gpio8 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-Lite2.1 资料[​](#fly-lite21-资料 "Fly-Lite2.1 资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-Lite2.1、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索连接至 FLY-Lite2.1 `can0` 网络的 CAN 工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 CAN 连接准备 FLY-Lite2.1 没有板载 CAN 接口。搜索前需要连接成品 USB 转 CAN 模块,并完成 `can0` 网络配置。 ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 快速开始 **本指南目标**: 在30分钟内,完成 FLY-Lite2.1 的系统部署与基础配置,使其达到可访问 Klipper 网页界面的状态。 **完成标志**: 通过浏览器访问 Klipper 网页界面。 重要提示 * **必须配件**: FLY-Lite2.1 必须配合 TF 卡使用,否则系统无法启动 * **电源要求**: 仅支持 **5V** 输入,请勿接入更高电压 * **安全操作**: 所有接线操作前必须关闭打印机并断开电源 * **系统启动**: 第一次启动建议先通过网络 SSH 完成配置 *** ## 步骤1: 准备工具与资源[​](#步骤1-准备工具与资源 "步骤1: 准备工具与资源的直接链接") Loading... **包含内容**: * `MobaXterm` - 用于连接上位机 * `CH340` - 用于系统连接的串口驱动 * `Panasonic_SDFormatter` - 用于格式化 TF 卡 * `SetupSTM32CubeProgrammer` - 用于烧录下位机固件 *** ## 步骤2: 安装系统与基础配置[​](#步骤2-安装系统与基础配置 "步骤2: 安装系统与基础配置的直接链接") | 配置项 | 说明 | 链接 | | ------------ | -------------------- | ------------------------------------------------------------------------------------------- | | 系统镜像烧录 | 烧录 FlyOS 系统镜像 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/flyos-fast) | | 系统基础配置 | 修改系统配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/fast_config) | | SSH 连接 | 远程连接上位机 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/ssh) | | Wi-Fi 配置 | 配置无线网络 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/wifi) | | 屏幕配置 | 配置显示设备(可选) | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/screen) | | 上位机供电 | 选择正确供电方式 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/power) | **说明**: * 烧录镜像前请确认 TF 卡已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH 默认用户名为 `root`,密码为 `mellow` *** ## 步骤3: 扩展功能与进阶配置[​](#步骤3-扩展功能与进阶配置 "步骤3: 扩展功能与进阶配置的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: | 功能 | 说明 | 链接 | | ---------- | ------------------------ | --------------------------------------------------------------------------------------------- | | 摄像头使用 | USB 摄像头配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/advanced/camera) | | 断电续打 | 打印优化功能 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/advanced/kppm) | | 共振补偿 | 使用加速度计进行输入整形 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/advanced/adxl) | | 外接工具板 | 工具板连接与 ID 获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/advanced/toolboard) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/advanced/schematic) | **建议**: * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FlyOS-Fast 系统介绍 ## 概述[​](#概述 "概述的直接链接") FlyOS-Fast 是专为3D打印深度优化的轻量化Linux系统,为Fly全系列上位机平台提供稳定、高效的运行环境。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### 🏗️ 系统架构[​](#️-系统架构 "🏗️ 系统架构的直接链接") * **单用户模式**:极简设计,仅支持 `root` 用户,确保系统安全稳定 * **文件系统优化**:仅 `/etc` 和 `/data` 目录可写,核心目录只读,大幅降低断电损坏风险 * **快速启动**:优化启动流程,30秒内完成KlipperScreen启动 ### 📦 软件生态[​](#-软件生态 "📦 软件生态的直接链接") * **完整预置生态**:内置 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务 * **精简包管理**:移除传统包管理器,预置必要工具,保持系统轻量化 * **环境优化**:全局Python环境,简化插件安装和命令执行 ### ⚡ 功能特性[​](#-功能特性 "⚡ 功能特性的直接链接") | 功能类别 | 特性说明 | 备注 | | ------------ | -------------------------------- | --------------------------------- | | **系统切换** | 支持Klipper和RRF双系统切换 | 满足不同打印需求 | | **界面管理** | Mainsail和Fluidd网页界面一键切换 | 操作便捷 | | **电源管理** | 断电关机与断电续打功能 | 二选一配置,不可同时启用 | | **数据管理** | USB口配置文件备份 + OTA系统更新 | 双重保障 | | **显示支持** | Fly-WiScreen串口屏幕显示 | 稳定可靠 | | **固件管理** | 开机自动烧录固件 | 支持fly-c8、fly-c5、fly-c8p等设备 | | **个性化** | 预设UI语言和默认打印机名称 | 开箱即用 | --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2.1/host/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 上位机供电方式 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 Fly-Pi-lite2系列支持以下两种供电方式,请根据实际需求选择其一。 ## 一、通过5V直流电源供电[​](#一通过5v直流电源供电 "一、通过5V直流电源供电的直接链接") * 请使用专用电源端子连接直流电源,建议电压为 **5V**。 * 电源连接器型号为 `ZH-1.5-2P`,接线方式请参考下图: * **请注意**:`LITE系列`不支持通过主板进行供电。 Loading... ## 二、通过Type-C接口供电[​](#二通过type-c接口供电 "二、通过Type-C接口供电的直接链接") * 可通过Type-C接口直接供电,建议使用 **输出不低于5V/2A** 的电源适配器。 * 接线示意图如下: Loading... *** --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向,避免反接导致设备故障。 * TFT屏接线 * HDMI接线 ### TFT屏接线[​](#tft屏接线 "TFT屏接线的直接链接") 提示 * `lite2.1` 排线规格:`FPC 软排线-16P-反向-0.5mm-400mm` * `lite2.1` 请务必使用 `16P` 排线 1. FLY-lite TFT屏幕接线示意 Loading... ### HDMI接线[​](#hdmi接线 "HDMI接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI`屏幕接线示意 Loading... ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型修改对应配置项 * TFT电阻屏幕配置 * TFT电容屏幕配置 * HDMI屏幕配置 - 需要将`screen=`后面修改成`fly-tft-v2-r` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` board=fly-lite2.1 ``` ``` screen=fly-tft-v2-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` board=fly-lite2.1 ``` ``` screen=fly-tft-v2-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 请确认屏幕背面拨码开关正确设置:电阻屏拨至`Resi`,电容屏拨至`Cap` * 配置文件格式必须为`key=value`,等号后面不能有空格 * 禁止私自修改配置文件格式,否则配置不会生效 4. 保存配置后 重要提示 修改配置后,请重启系统使配置生效 --- # 连接上位机SSH 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装WIFI天线 注意 * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # FLY-Lite2.1 使用注意事项 操作前必读 **所有接线操作前,请务必关闭打印机并断开电源。** 烧录固件时也请按对应指南操作。 ## 1. 接口说明[​](#1-接口说明 "1. 接口说明的直接链接") 下图为主板各接口的布局示意图,可供快速参考: Loading... ## 2. 电源要求[​](#2-电源要求 "2. 电源要求的直接链接") * **Type-C 供电**:需使用 **5V/2A 及以上** 输出的电源适配器。 * **端子供电**:通过 `ZH-1.5-2P` 端子连接外部 5V 直流电源。 注意 LITE 系列**不支持**通过主板取电,必须使用独立电源供电。 ## 3. 存储配置[​](#3-存储配置 "3. 存储配置的直接链接") 重要 LITE 系列出厂**不包含存储设备**,必须自备 Micro SD(TF)卡方可启动系统。 * **容量要求**: 建议使用 **16GB \~ 128GB** 的 Micro SD 卡。 * **速度要求**: 内存卡速度需要`C10`以上 *** --- # Fly-Pi-lite2 上位机 Fly-Pi-lite2 是一款面向初学者的 Klipper 上位机,集成了深度优化的系统与插件,开箱即用,可帮助用户快速搭建 3D 打印控制环境。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * **处理器**:全志 H3 四核 Cortex-A7 * **图形处理**:Mali-400 MP2 * **运行内存**:512MB DDR3 * **存储扩展**:支持最大 128GB Micro SD 卡(TF卡) * **无线网络**:板载 2.4GHz Wi-Fi * **外设接口**: * USB 2.0 × 2 * FPC-TFT × 1 * FPC-HDMI × 1 * **扩展接口**:预留 FPC 接口,支持 HDMI + USB 一线通 * **系统预装**:预置 Klipper、Moonraker、Mainsail/Fluidd、KlipperScreen、共振补偿插件及 NumPy 等,无需换源,简化部署流程(需自备 TF 卡)。 ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * **深度优化,性能提升** 搭载全志 H3 四核处理器,运行**深度定制的 FlyOS & Klipper 固件**,在指令处理与打印性能上相比原生版本有显著优化。 * **开箱即用,生态完整** 预装所有必备插件与组件,免去复杂调试,大幅缩短从安装到首次打印的耗时。 * **一键更新,支持 OTA** 支持在线系统更新(OTA),无需重新烧录固件,可持续获取最新功能与安全补丁。 ## 购买与使用须知[​](#购买与使用须知 "购买与使用须知的直接链接") 重要:关于存储 Fly-Pi-lite2 **出厂不附带存储设备**,必须自行准备存储卡方可使用: * 推荐使用 **16GB–128GB** 容量的 Micro SD(TF)卡,建议速度等级 C10 及以上。 重要:关于供电 **Fly-Pi-lite2 不支持通过下位机(如主板)为其供电。** 必须使用独立的 5V 电源适配器为上位机供电,否则可能导致设备损坏或工作异常。 ## 产品详细规格[​](#产品详细规格 "产品详细规格的直接链接") ### 1. 核心系统[​](#1-核心系统 "1. 核心系统的直接链接") * **CPU**:全志 H3,四核 Cortex-A7 * **GPU**:Mali-400 MP2 * **运行内存**:512MB DDR3 ### 2. 存储与扩展[​](#2-存储与扩展 "2. 存储与扩展的直接链接") * **外部存储**:最大支持 128GB Micro SD 卡(TF卡) ### 3. 接口一览[​](#3-接口一览 "3. 接口一览的直接链接") * **显示输出** * FPC-HDMI × 1 * FPC-TFT × 1 * 支持 TFT 屏幕或通过 HDMI 一线通连接 * **USB与网络** * USB 2.0 × 2 * 2.4GHz Wi-Fi(板载) ### 4. 系统与软件[​](#4-系统与软件 "4. 系统与软件的直接链接") * **操作系统**:FlyOS-FAST (专为 3D 打印优化的轻量系统) * **核心固件**: * **深度优化的 Klipper 固件**,运动规划与指令处理性能提升 * 原生支持 RRF(RepRapFirmware) * **预装软件**: * 核心组件 :Klipper 、Moonraker * Web 界面 :Mainsail / Fluidd(默认 Fluidd) * 插件与功能 :KlipperScreen 、Crowsnest(摄像头)、输入整形、共振补偿等(NumPy 已预装) ## 注意事项[​](#注意事项 "注意事项的直接链接") 关于 Wi-Fi Fly-Pi-lite2 仅支持 2.4GHz Wi-Fi 网络,不支持 5GHz 或双频合一网络。 *** --- # 加速度计使用教程 加速度计使用限制 由于**LITE2系列**的硬件设计,其无法直接连接并驱动独立的SPI/I²C加速度计模块(如ADXL345)。 如果您需要在基于LITE2系列的设备上使用加速度计功能,请选择以下两种方案: | 方案 | 推荐产品 | 连接/说明 | | ------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ | | **1. USB加速度计** | **[FLY-USB-LIS2DW](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-usb-adxl/fly-usb-lis2dw/)** | 采用USB接口的LIS2DW加速度计,直接插入上位机的USB口即可使用,无需连接主板。 | | **2. 工具板内置加速度计** | 集成LIS2DW或ADXL345的扩展工具板 | 通过CAN或其它接口与主板通信,加速度计作为工具板的一部分被识别和调用。 | **重要提醒**:请勿尝试将ADXL345等模块直接连接到C8P主板的引脚。为确保兼容性与功能正常,建议使用专为外置加速度计设计的**FLY-USB-LIS2DW** USB加速度计。 # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 重要提示 因设备内存(512MB)有限,在运行摄像头功能时易导致内存不足,可能引发设备卡顿等。 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-Lite2 资料[​](#fly-lite2-资料 "Fly-Lite2 资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-Lite2、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索连接至 FLY-Lite2 `can0` 网络的 CAN 工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 CAN 连接准备 FLY-Lite2 没有板载 CAN 接口。搜索前需要连接成品 USB 转 CAN 模块,并完成 `can0` 网络配置。 ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 快速开始 **本指南目标**: 在30分钟内,完成 FLY-Lite2 的系统部署与基础配置,使其达到可访问 Klipper 网页界面的状态。 **完成标志**: 通过浏览器访问 Klipper 网页界面。 重要提示 * **必须配件**: FLY-Lite2 必须配合 TF 卡使用,否则系统无法启动 * **电源要求**: 仅支持 **5V** 输入,请勿接入更高电压 * **安全操作**: 所有接线操作前必须关闭打印机并断开电源 * **系统启动**: 第一次启动建议先通过网络 SSH 完成配置 *** ## 步骤1: 准备工具与资源[​](#步骤1-准备工具与资源 "步骤1: 准备工具与资源的直接链接") Loading... **包含内容**: * `MobaXterm` - 用于连接上位机 * `CH340` - 用于系统连接的串口驱动 * `Panasonic_SDFormatter` - 用于格式化 TF 卡 * `SetupSTM32CubeProgrammer` - 用于烧录下位机固件 *** ## 步骤2: 安装系统与基础配置[​](#步骤2-安装系统与基础配置 "步骤2: 安装系统与基础配置的直接链接") | 配置项 | 说明 | 链接 | | ------------ | -------------------- | ----------------------------------------------------------------------------------------- | | 系统镜像烧录 | 烧录 FlyOS 系统镜像 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/flyos-fast) | | 系统基础配置 | 修改系统配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/fast_config) | | SSH 连接 | 远程连接上位机 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/ssh) | | Wi-Fi 配置 | 配置无线网络 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/wifi) | | 屏幕配置 | 配置显示设备(可选) | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/screen) | | 上位机供电 | 选择正确供电方式 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/power) | **说明**: * 烧录镜像前请确认 TF 卡已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH 默认用户名为 `root`,密码为 `mellow` *** ## 步骤3: 扩展功能与进阶配置[​](#步骤3-扩展功能与进阶配置 "步骤3: 扩展功能与进阶配置的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: | 功能 | 说明 | 链接 | | ---------- | ------------------------ | ------------------------------------------------------------------------------------------- | | 摄像头使用 | USB 摄像头配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/advanced/camera) | | 共振补偿 | 使用加速度计进行输入整形 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/advanced/adxl) | | 外接工具板 | 工具板连接与 ID 获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/advanced/toolboard) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/advanced/schematic) | **建议**: * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FlyOS-Fast 系统介绍 ## 概述[​](#概述 "概述的直接链接") FlyOS-Fast 是专为3D打印深度优化的轻量化Linux系统,为Fly全系列上位机平台提供稳定、高效的运行环境。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### 🏗️ 系统架构[​](#️-系统架构 "🏗️ 系统架构的直接链接") * **单用户模式**:极简设计,仅支持 `root` 用户,确保系统安全稳定 * **文件系统优化**:仅 `/etc` 和 `/data` 目录可写,核心目录只读,大幅降低断电损坏风险 * **快速启动**:优化启动流程,30秒内完成KlipperScreen启动 ### 📦 软件生态[​](#-软件生态 "📦 软件生态的直接链接") * **完整预置生态**:内置 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务 * **精简包管理**:移除传统包管理器,预置必要工具,保持系统轻量化 * **环境优化**:全局Python环境,简化插件安装和命令执行 ### ⚡ 功能特性[​](#-功能特性 "⚡ 功能特性的直接链接") | 功能类别 | 特性说明 | 备注 | | ------------ | -------------------------------- | --------------------------------- | | **系统切换** | 支持Klipper和RRF双系统切换 | 满足不同打印需求 | | **界面管理** | Mainsail和Fluidd网页界面一键切换 | 操作便捷 | | **电源管理** | 断电关机与断电续打功能 | 二选一配置,不可同时启用 | | **数据管理** | USB口配置文件备份 + OTA系统更新 | 双重保障 | | **显示支持** | Fly-WiScreen串口屏幕显示 | 稳定可靠 | | **固件管理** | 开机自动烧录固件 | 支持fly-c8、fly-c5、fly-c8p等设备 | | **个性化** | 预设UI语言和默认打印机名称 | 开箱即用 | --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-lite/lite2/host/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 上位机供电方式 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 Fly-Pi-lite2系列支持以下两种供电方式,请根据实际需求选择其一。 ## 一、通过5V直流电源供电[​](#一通过5v直流电源供电 "一、通过5V直流电源供电的直接链接") * 请使用专用电源端子连接直流电源,建议电压为 **5V**。 * 电源连接器型号为 `ZH-1.5-2P`,接线方式请参考下图: * **请注意**:`LITE系列`不支持通过主板进行供电。 Loading... ## 二、通过Type-C接口供电[​](#二通过type-c接口供电 "二、通过Type-C接口供电的直接链接") * 可通过Type-C接口直接供电,建议使用 **输出不低于5V/2A** 的电源适配器。 * 接线示意图如下: Loading... *** --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向,避免反接导致设备故障。 * TFT电阻屏接线 * HDMI接线 ### TFT电阻屏接线[​](#tft电阻屏接线 "TFT电阻屏接线的直接链接") 提示 * `lite2` 排线规格:`FPC 软排线-14P-反向-0.5mm-400mm` * `lite2` 请务必使用 `14P` 排线 | | | | ---------------------------- | ---------------------------- | | - TFT-V2电阻屏接线Loading... | - TFT-V1电阻屏接线Loading... | ### HDMI接线[​](#hdmi接线 "HDMI接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI`屏幕接线示意 Loading... ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型修改对应配置项 * TFT电阻屏幕配置 * HDMI屏幕配置 - 需要将`screen=`后面修改成`fly-tft-v1` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` board=fly-lite2 ``` ``` screen=fly-tft-v1 ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 请确认屏幕背面拨码开关正确设置:电阻屏拨至`Resi` * 配置文件格式必须为`key=value`,等号后面不能有空格 * 禁止私自修改配置文件格式,否则配置不会生效 4. 保存配置后 重要提示 修改配置后,请重启系统使配置生效 --- # 连接上位机SSH 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装WIFI天线 注意 * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # FLY-Lite2 使用注意事项 操作前必读 **所有接线操作前,请务必关闭打印机并断开电源。** 烧录固件时也请按对应指南操作。 ## 1. 电源要求[​](#1-电源要求 "1. 电源要求的直接链接") * **Type-C 供电**:需使用 **5V/2A 及以上** 输出的电源适配器。 * **端子供电**:通过 `ZH-1.5-2P` 端子连接外部 5V 直流电源。 注意 LITE 系列**不支持**通过主板取电,必须使用独立电源供电。 ## 2. 存储配置[​](#2-存储配置 "2. 存储配置的直接链接") 重要 LITE 系列出厂**不包含存储设备**,必须自备 Micro SD(TF)卡方可启动系统。 * **容量要求**: 建议使用 **16GB \~ 128GB** 的 Micro SD 卡。 * **速度要求**: 内存卡速度需要`C10`以上 *** --- # Fly-MINI-Pad上位机 Fly-MINI-Pad 是一款面向初学者的 Klipper 上位机,板载3.5寸TFT屏幕 集成了深度优化的系统与插件,开箱即用,可帮助用户快速搭建 3D 打印控制环境。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * **处理器**:全志 H3 四核 Cortex-A7 * **图形处理**:Mali-400 MP2 * **运行内存**:512MB DDR3 * **存储扩展**:支持最大 128GB Micro SD 卡(TF卡) * **无线网络**:板载 2.4GHz Wi-Fi * **外设接口**: * USB 2.0 × 2 * **系统预装**:预置 Klipper、Moonraker、Mainsail/Fluidd、KlipperScreen、共振补偿插件及 NumPy 等,无需换源,简化部署流程(需自备 TF 卡)。 ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * **深度优化,性能提升** 搭载全志 H3 四核处理器,运行**深度定制的 FlyOS & Klipper 固件**,在指令处理与打印性能上相比原生版本有显著优化。 * **开箱即用,生态完整** 预装所有必备插件与组件,免去复杂调试,大幅缩短从安装到首次打印的耗时。 * **一键更新,支持 OTA** 支持在线系统更新(OTA),无需重新烧录固件,可持续获取最新功能与安全补丁。 ## 购买与使用须知[​](#购买与使用须知 "购买与使用须知的直接链接") 重要:关于存储 Fly-MINI-Pad **出厂不附带存储设备**,必须自行准备存储卡方可使用: * 推荐使用 **16GB–128GB** 容量的 Micro SD(TF)卡,建议速度等级 C10 及以上。 重要:关于供电 **Fly-MINI-Pad 不支持通过下位机(如主板)为其供电。** 必须使用独立的 5V 电源适配器为上位机供电,否则可能导致设备损坏或工作异常。 ## 产品详细规格[​](#产品详细规格 "产品详细规格的直接链接") ### 1. 核心系统[​](#1-核心系统 "1. 核心系统的直接链接") * **CPU**:全志 H3,四核 Cortex-A7 * **GPU**:Mali-400 MP2 * **运行内存**:512MB DDR3 ### 2. 存储与扩展[​](#2-存储与扩展 "2. 存储与扩展的直接链接") * **外部存储**:最大支持 128GB Micro SD 卡(TF卡) ### 3. 接口一览[​](#3-接口一览 "3. 接口一览的直接链接") * **显示输出** * FPC-HDMI × 1 * FPC-TFT × 1 * 支持 TFT 屏幕或通过 HDMI 一线通连接 * **USB与网络** * USB 2.0 × 2 * 2.4GHz Wi-Fi(板载) ### 4. 系统与软件[​](#4-系统与软件 "4. 系统与软件的直接链接") * **操作系统**:FlyOS-FAST (专为 3D 打印优化的轻量系统) * **核心固件**: * **深度优化的 Klipper 固件**,运动规划与指令处理性能提升 * 原生支持 RRF(RepRapFirmware) * **预装软件**: * 核心组件 :Klipper 、Moonraker * Web 界面 :Mainsail / Fluidd(默认 Fluidd) * 插件与功能 :KlipperScreen 、Crowsnest(摄像头)、输入整形、共振补偿等(NumPy 已预装) ## 注意事项[​](#注意事项 "注意事项的直接链接") 关于 Wi-Fi Fly-MINI-Pad 仅支持 2.4GHz Wi-Fi 网络,不支持 5GHz 或双频合一网络。 *** --- # 加速度计使用 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 * Mini Pad可使用板载接口直接连接加速度计或者使用工具板等自带加速度计 ## 板载接口外接加速度计[​](#板载接口外接加速度计 "板载接口外接加速度计的直接链接") Loading... * 参考配置 ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:None spi_bus: spidev1.0 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # an example ``` ## 加速度计使用[​](#加速度计使用-1 "加速度计使用的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 重要提示 MINI-Pad设备内存(512MB)有限,在运行摄像头功能时易导致内存不足,可能引发设备卡顿等。 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-MINI-PAD 资料[​](#fly-mini-pad-资料 "Fly-MINI-PAD 资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-MINI-Pad、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索连接至 FLY-MINI-Pad 板载 UTOC 的 CAN 工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 ### 板载 UTOC(CAN 总线)接口[​](#板载-utoccan-总线接口 "板载 UTOC(CAN 总线)接口的直接链接") 接口说明 FLY-MINI-Pad 的 CAN 接口无法通过软件关闭。不使用 CAN 功能时可保持接口闲置;使用时,主板应刷入 USB 固件,CAN 工具板连接至板载 CAN 接口。 #### CAN 参考接线[​](#can-参考接线 "CAN 参考接线的直接链接") Loading... #### 搜索不到 UTOC[​](#搜索不到-utoc "搜索不到 UTOC的直接链接") 1. 关闭打印机并断开电源。 2. 按下图安装启动跳线,确认跳线帽安装到位后再启动系统。 Loading... 需要重新烧录 UTOC 时,请参考 [固件烧录教程](https://mellow.klipper.cn/docs/DebugDoc/baodian/programming?tab-3=apm\&tab-5=apmlinux): 1. FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 314b:0106,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_UTOC.bin` ``` sudo dfu-util -a 0 -d 314b:0106 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ExtensionBoard/UTOC/FLY_UTOC.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 烧录完成后,正常关闭系统和打印机电源,再重新上电。 ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 快速开始 **本指南目标**: 在30分钟内,完成 FLY-MINI-Pad 的系统部署与基础配置,使其达到可访问 Klipper 网页界面的状态。 **完成标志**: 通过浏览器访问 Klipper 网页界面。 重要提示 * **必须配件**: FLY-MINI-Pad 必须配合 TF 卡使用,否则系统无法启动 * **电源要求**: Type-C 使用 **5V/2A 或以上**电源;直流端子支持 **12V-24V** * **安全操作**: 所有接线操作前必须关闭打印机并断开电源 * **系统启动**: 第一次启动建议先通过网络 SSH 完成配置 *** ## 步骤1: 准备工具与资源[​](#步骤1-准备工具与资源 "步骤1: 准备工具与资源的直接链接") Loading... **包含内容**: * `MobaXterm` - 用于连接上位机 * `CH340` - 用于系统连接的串口驱动 * `Panasonic_SDFormatter` - 用于格式化 TF 卡 * `SetupSTM32CubeProgrammer` - 用于烧录下位机固件 *** ## 步骤2: 安装系统与基础配置[​](#步骤2-安装系统与基础配置 "步骤2: 安装系统与基础配置的直接链接") | 配置项 | 说明 | 链接 | | ------------ | ------------------- | --------------------------------------------------------------------------------------- | | 系统镜像烧录 | 烧录 FlyOS 系统镜像 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/flyos-fast) | | 系统基础配置 | 修改系统配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/fast_config) | | SSH 连接 | 远程连接上位机 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/ssh) | | Wi-Fi 配置 | 配置无线网络 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/wifi) | | 屏幕配置 | 配置内置屏幕 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/screen) | | 上位机供电 | 选择正确供电方式 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/power) | **说明**: * 烧录镜像前请确认 TF 卡已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH 默认用户名为 `root`,密码为 `mellow` *** ## 步骤3: 扩展功能与进阶配置[​](#步骤3-扩展功能与进阶配置 "步骤3: 扩展功能与进阶配置的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: | 功能 | 说明 | 链接 | | ---------- | ------------------------ | ----------------------------------------------------------------------------------------- | | 摄像头使用 | USB 摄像头配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/advanced/camera) | | 共振补偿 | 使用加速度计进行输入整形 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/advanced/adxl) | | 外接工具板 | 工具板连接与 ID 获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/advanced/toolboard) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/advanced/schematic) | **建议**: * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FlyOS-Fast 系统介绍 ## 概述[​](#概述 "概述的直接链接") FlyOS-Fast 是专为3D打印深度优化的轻量化Linux系统,为Fly全系列上位机平台提供稳定、高效的运行环境。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### 🏗️ 系统架构[​](#️-系统架构 "🏗️ 系统架构的直接链接") * **单用户模式**:极简设计,仅支持 `root` 用户,确保系统安全稳定 * **文件系统优化**:仅 `/etc` 和 `/data` 目录可写,核心目录只读,大幅降低断电损坏风险 * **快速启动**:优化启动流程,30秒内完成KlipperScreen启动 ### 📦 软件生态[​](#-软件生态 "📦 软件生态的直接链接") * **完整预置生态**:内置 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务 * **精简包管理**:移除传统包管理器,预置必要工具,保持系统轻量化 * **环境优化**:全局Python环境,简化插件安装和命令执行 ### ⚡ 功能特性[​](#-功能特性 "⚡ 功能特性的直接链接") | 功能类别 | 特性说明 | 备注 | | ------------ | -------------------------------- | --------------------------------- | | **系统切换** | 支持Klipper和RRF双系统切换 | 满足不同打印需求 | | **界面管理** | Mainsail和Fluidd网页界面一键切换 | 操作便捷 | | **电源管理** | 断电关机与断电续打功能 | 二选一配置,不可同时启用 | | **数据管理** | USB口配置文件备份 + OTA系统更新 | 双重保障 | | **显示支持** | Fly-WiScreen串口屏幕显示 | 稳定可靠 | | **固件管理** | 开机自动烧录固件 | 支持fly-c8、fly-c5、fly-c8p等设备 | | **个性化** | 预设UI语言和默认打印机名称 | 开箱即用 | --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-mini-pad/host/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 上位机供电方式 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 Fly-MINI-Pad支持以下三种供电方式,请根据实际需求选择其一。 ## 一、通过12V-24V直流电源供电[​](#一通过12v-24v直流电源供电 "一、通过12V-24V直流电源供电的直接链接") * 请使用专用电源端子连接直流电源,建议电压为 **12V-24V**。 * 电源连接器型号为 `XH-2.54-2P`,接线方式请参考下图: * **请注意**:`Fly-MINI-Pad`不支持通过主板进行供电。 Loading... ## 二、通过Type-C接口供电[​](#二通过type-c接口供电 "二、通过Type-C接口供电的直接链接") * 可通过Type-C接口直接供电,建议使用 **输出不低于5V/2A** 的电源适配器。 * 接线示意图如下: Loading... ## 三、使用电池供电[​](#三使用电池供电 "三、使用电池供电的直接链接") * 电池连接器型号为 `XH-2.54-2P`,接线方式请参考下图: * 电池需要使用`3.7V`带保护的锂电池 * 接线示意图如下: Loading... *** --- # 屏幕配置 ## 屏幕类型识别[​](#屏幕类型识别 "屏幕类型识别的直接链接") Loading... ## FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型修改对应配置项 * 电阻屏配置方法 * 电容屏配置方法 - 需要将`screen=`后面修改成`fly-minipad-r` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-minipad-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` * 需要将`screen=`后面修改成`fly-minipad-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-minipad-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 配置文件格式必须为`key=value`,等号后面不能有空格 * 禁止私自修改配置文件格式,否则配置不会生效 4. 保存配置后 重要提示 修改配置后,请重启系统使配置生效 --- # 连接上位机SSH 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装WIFI天线 注意 * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # FLY-MINI-Pad 使用注意事项 操作前必读 **所有接线操作前,请务必关闭打印机并断开电源。** 烧录固件时也请按对应指南操作。 ## 1. 接口说明[​](#1-接口说明 "1. 接口说明的直接链接") 下图为主板各接口的布局示意图,可供快速参考: Loading... ## 2. 电源要求[​](#2-电源要求 "2. 电源要求的直接链接") * **Type-C 供电**:需使用 **5V/2A 及以上** 输出的电源适配器。 * **端子供电**:通过 `XH-2.54-2P` 端子连接外部 `12V-24V` 直流电源。 注意 上位机**不支持**通过主板取电,必须使用独立电源供电。 ## 3. 存储配置[​](#3-存储配置 "3. 存储配置的直接链接") 重要 Fly-MINI-Pad出厂**不包含存储设备**,必须自备 Micro SD(TF)卡方可启动系统。 * **容量要求**: 建议使用 **16GB \~ 128GB** 的 Micro SD 卡。 * **速度要求**: 内存卡速度需要`C10`以上 *** --- # FLY-Pi V2 上位机 全新推出的FLY-Pi V2上位机,安装尺寸与树莓派兼容,可作为高性能替代方案运行Klipper或RRF固件。板载1GB DDR3内存,并支持通过SPI连接TFT屏幕以实现Klipper屏幕功能。 Loading... ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * **强劲核心,深度优化**:搭载**全志H5四核处理器**,预装深度定制的FlyOS & Klipper固件,相比原生系统在指令处理与运动规划性能上显著提升。 * **双存储方案,灵活选择**:提供板载**M2WE接口**(用于FLY定制模块)与标准**Micro SD卡槽**,用户可按需选择高速eMMC或经济灵活的SD卡方案。 * **开箱即用,生态完善**:系统预装所有必需插件(如输入整形、共振补偿所需环境),极大缩短调试时间,快速投入打印。 * **工业级设计与供电**:支持12-24V宽压输入,集成**专用SPI加速度计接口**,保障长时间稳定可靠运行。 * **丰富接口,全面扩展**:提供多种显示输出(HDMI, TFT)、4个USB 2.0端口、以太网口及CAN总线接口,满足各类外围设备连接需求。 * **便捷维护,支持OTA**:支持一键系统在线更新(OTA),无需重烧系统即可获得最新功能与安全补丁。 ## 购买与使用须知[​](#购买与使用须知 "购买与使用须知的直接链接") 重要:关于存储 FLY-Pi V2**出厂时不附带任何存储设备**。您必须自行准备以下至少一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买FLY定制**M2WE模块**(Wi-Fi/eMMC),获得更快的系统响应与更高可靠性。 * **选项二**:自备`Micro SD`(TF)卡,容量建议在`16GB-128GB`之间。 ## 产品详细规格[​](#产品详细规格 "产品详细规格的直接链接") ### 1. 核心系统[​](#1-核心系统 "1. 核心系统的直接链接") * **CPU**:全志 H5, 4核 64位 Cortex-A53 * **GPU**:Arm Mali-G31 MP2 * **运行内存**:1GB DDR3 ### 2. 存储与扩展[​](#2-存储与扩展 "2. 存储与扩展的直接链接") * **外部存储**:支持 Micro SD卡(TF卡),容量支持16GB-128GB * **板载扩展**:专用 M2WE 接口,用于连接官方 FLY M2WE 模块(提供 Wi-Fi 或 eMMC 存储功能)。 ### 3. 接口一览[​](#3-接口一览 "3. 接口一览的直接链接") * **显示输出**: * Micro HDMI x 1 * FPC-HDMI x 1 * FPC-TFT x 1 * (支持TFT屏幕与HDMI屏幕一线通) * **USB与网络**: * USB 2.0 端口 x 4 * 100M 以太网口(Eth)x 1 * **工业与扩展接口**: * **专用 SPI 接口(ZH1.5-6P)x 1**:用于连接ADXL345等传感器,实现共振补偿。 * CAN 总线接口 x 1 ### 4. 电源管理[​](#4-电源管理 "4. 电源管理的直接链接") * **输入电压**:DC 12V-24V * **风扇接口**:5V 风扇接口 x 1 * **断电保护功能**: * 需搭配KPPM模块使用。 * 支持**断电续打**与**安全断电关机**。 配置说明 此功能需在系统内手动配置启用,出厂默认关闭。 ### 5. 系统与软件[​](#5-系统与软件 "5. 系统与软件的直接链接") * **操作系统**:FlyOS-FAST (专为3D打印优化的轻量级系统) * **核心固件**:**深度优化的Klipper固件** & **原生支持RRF** * **优化说明**:我们对Klipper进行了底层优化与适配,在指令处理、运动规划性能上相比原版有显著提升。 * **预装软件**: * **核心**:Klipper , Moonraker * **Web界面**:Mainsail , Fluidd(默认Fluidd) * **功能插件**:输入整形、共振补偿等必备插件及环境已预置。 * **可选功能**:Klipper-Screen (触摸屏)、Crowsnest(摄像头)支持已集成,默认未启用。 ## 重要注意事项[​](#重要注意事项 "重要注意事项的直接链接") 接口冲突警告 **TFT屏幕、SPI加速度计接口与RRF扩展接口不可同时使用!** * **硬件冲突**:上述接口在物理上共享同一组SPI资源。 * **后果**:同时连接将导致**屏幕显示异常**及**加速度计数据严重错误**。 * **解决方案**:每次仅连接并使用其中一个接口。 M2WE 接口警告 **私有协议,严禁连接非FLY设备!** * 板载 **M2WE** 接口为 **FLY 私有定制协议**,物理与电气规格均非标准。 * **仅限连接**官方提供的 FLY M2WE 模块(Wi-Fi / eMMC)。 * **严禁连接**任何标准或第三方 M.2 设备,否则将导致**主板永久性硬件损坏**。 关于 Wi-Fi 功能 **FLY-Pi V2 无板载 Wi-Fi.** 如需无线连接,请选择: 1. **推荐方案**:使用 FLY 官方 **M2WE Wi-Fi 模块**。 2. **备选方案**:使用**免驱的通用 USB Wi-Fi 模块**,请确保其兼容Linux系统。 --- # 加速度计使用 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 主板接线[​](#主板接线 "主板接线的直接链接") 接口冲突警告 **TFT屏幕与SPI加速度计接口不可同时使用!** * **物理冲突**:TFT 屏幕(通过FPC-TFT接口)、SPI加速度计接口(ZH1.5-6P),在硬件上共享同一组SPI资源。 * **后果**:若同时连接,将导致**屏幕显示异常**与**加速度计测量数据严重失准**。 * **解决方案**:使用时请务必仅连接其中之一。 Loading... ### FPC 接线说明[​](#fpc-接线说明 "FPC 接线说明的直接链接") FLY-Pi V2 使用加速度计时,也可参考以下 FPC 接线图。接线前请确认接口方向和排线金手指方向。 Loading... ## 配置[​](#配置 "配置的直接链接") ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:None spi_bus: spidev1.0 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # an example ``` ## 使用[​](#使用 "使用的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # 板载5V风扇接口 ## 板载5V风扇接线[​](#板载5v风扇接线 "板载5V风扇接线的直接链接") * Pi-V2板载了一个5V的可控接口,用于主控散热,接线方法如下图 Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [mcu host] # FlyOS已默认为您生成linux MCU,定义即可使用 serial: /tmp/klipper_host_mcu [temperature_sensor FLY-Pi] # 上位机温度 sensor_type: temperature_host [temperature_fan core_fan] # 上位机散热风扇 pin: host:gpiochip0/gpio3 # 上位机风扇pin脚 max_power: 1.0 sensor_type: temperature_host # 设置为上位机主控温度 control:watermark # 控制方式 target_temp: 48 # 上位机散热风扇启动温度 min_temp: 0 # 最低温度,低于此温度将会报错 max_temp: 90 # 最高温度,高于此温度将会报错 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 # 最大转速,为满功率运转时的80% min_speed: 0.3 # 最小转速,为满功率运转时的30% ``` --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 接线[​](#接线 "接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 KPPM 接线要求 * FLY Pi-V2 断电关机/续打功能注意事项 * 通过 USB 连接其他设备时,必须使用成品 USB 电源隔离器或仅包含数据线的成品 USB 线,避免两端 5V 电源互相回灌。不要自行剪线改装。 * 供电必须使用专用的 KPPM 模块,请勿使用其他供电方式 * 若无法断开下位机与上位机间的5V连接,必须在主板完全断电后方可重新开机,否则可能导致无法正常启动 - FLY-Pi-V2 使用5V接线 - FLY-Pi-V2 使用USB接线 * FLY-Pi-V2使用5V接线 Loading... - FLY-Pi-V2使用USB接线 Loading... ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` ``` shutdown_pin_state=1 shutdown_pin=PA21 ``` * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip1/gpio21 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 板载40PIN脚图 Loading... --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-PI-V2资料[​](#fly-pi-v2资料 "Fly-PI-V2资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-Pi V2、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索连接至 FLY-Pi V2 板载 UTOC 的 CAN 工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 ### 启用板载 UTOC[​](#启用板载-utoc "启用板载 UTOC的直接链接") 关闭电源后,将 UTOC 拨码开关拨至启用位置: Loading... USB 接口占用 启用板载 UTOC 后,下图所示的 USB 接口会被占用,不能再连接其他 USB 设备。 Loading... ### CAN 参考接线[​](#can-参考接线 "CAN 参考接线的直接链接") Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 快速开始 **本指南目标**: 在30分钟内,完成 FLY-Pi V2 的系统部署与基础配置,使其达到可访问 Klipper 网页界面的状态。 **完成标志**: 通过浏览器访问 Klipper 网页界面。 重要提示 * **必须配件**: FLY-Pi V2 必须配合 FLY M2WE 或 TF 卡使用,否则系统无法启动 * **电源要求**: 直流端子输入范围为 **12V-24V**,请勿超出此范围 * **安全操作**: 所有接线操作前必须关闭打印机并断开电源 * **系统启动**: 第一次启动建议暂不安装屏幕,先通过网络 SSH 完成配置 *** ## 步骤1: 准备工具与资源[​](#步骤1-准备工具与资源 "步骤1: 准备工具与资源的直接链接") Loading... **包含内容**: * `MobaXterm` - 用于连接上位机 * `CH340` - 用于系统连接的串口驱动 * `Panasonic_SDFormatter` - 用于格式化 TF 卡 * `SetupSTM32CubeProgrammer` - 用于烧录下位机固件 *** ## 步骤2: 安装系统与基础配置[​](#步骤2-安装系统与基础配置 "步骤2: 安装系统与基础配置的直接链接") | 配置项 | 说明 | 链接 | | ------------ | -------------------- | ------------------------------------------------------------------------------------ | | 系统镜像烧录 | 烧录 FlyOS 系统镜像 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/flyos-fast) | | 系统基础配置 | 修改系统配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/fast_config) | | SSH 连接 | 远程连接上位机 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/ssh) | | Wi-Fi 配置 | 配置无线网络 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/wifi) | | 屏幕配置 | 配置显示设备(可选) | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/screen) | | 上位机供电 | 选择正确供电方式 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/power) | **说明**: * 烧录镜像前请确认 TF 卡或 M2WE 已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH 默认用户名为 `root`,密码为 `mellow` * 屏幕配置仅在连接屏幕时需要进行 *** ## 步骤3: 扩展功能与进阶配置[​](#步骤3-扩展功能与进阶配置 "步骤3: 扩展功能与进阶配置的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: | 功能 | 说明 | 链接 | | ---------- | ------------------------ | -------------------------------------------------------------------------------------- | | 摄像头使用 | USB 摄像头配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/advanced/camera) | | 断电续打 | 打印优化功能 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/advanced/kppm) | | 共振补偿 | 使用加速度计进行输入整形 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/advanced/adxl) | | 外接工具板 | 工具板连接与 ID 获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/advanced/toolboard) | | 外接风扇 | 板载风扇控制 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/advanced/fan) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/advanced/schematic) | *** * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FlyOS-Fast 系统介绍 ## 概述[​](#概述 "概述的直接链接") FlyOS-Fast 是专为3D打印深度优化的轻量化Linux系统,为Fly全系列上位机平台提供稳定、高效的运行环境。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### 🏗️ 系统架构[​](#️-系统架构 "🏗️ 系统架构的直接链接") * **单用户模式**:极简设计,仅支持 `root` 用户,确保系统安全稳定 * **文件系统优化**:仅 `/etc` 和 `/data` 目录可写,核心目录只读,大幅降低断电损坏风险 * **快速启动**:优化启动流程,30秒内完成KlipperScreen启动 ### 📦 软件生态[​](#-软件生态 "📦 软件生态的直接链接") * **完整预置生态**:内置 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务 * **精简包管理**:移除传统包管理器,预置必要工具,保持系统轻量化 * **环境优化**:全局Python环境,简化插件安装和命令执行 ### ⚡ 功能特性[​](#-功能特性 "⚡ 功能特性的直接链接") | 功能类别 | 特性说明 | 备注 | | ------------ | -------------------------------- | --------------------------------- | | **系统切换** | 支持Klipper和RRF双系统切换 | 满足不同打印需求 | | **界面管理** | Mainsail和Fluidd网页界面一键切换 | 操作便捷 | | **电源管理** | 断电关机与断电续打功能 | 二选一配置,不可同时启用 | | **数据管理** | USB口配置文件备份 + OTA系统更新 | 双重保障 | | **显示支持** | Fly-WiScreen串口屏幕显示 | 稳定可靠 | | **固件管理** | 开机自动烧录固件 | 支持fly-c8、fly-c5、fly-c8p等设备 | | **个性化** | 预设UI语言和默认打印机名称 | 开箱即用 | --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 上位机供电 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 FLY-Pi-V2供电方式有两种 ## 使用12-24V电源供电[​](#使用12-24v电源供电 "使用12-24V电源供电的直接链接") * 接线方式如下图所示,接口端子信号为`XH2.54` Loading... ## 使用Type-C接口供电[​](#使用type-c接口供电 "使用Type-C接口供电的直接链接") * 请使用`功率≥5V/2A`的电源供电 Loading... --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向,避免反接导致设备故障。 * TFT电阻屏接线 * TFT V2 G2T屏幕接线 * HDMI接线 ### TFT电阻屏接线[​](#tft电阻屏接线 "TFT电阻屏接线的直接链接") 提示 * TFT 屏幕排线规格:`FPC 软排线-14P-反向-0.5mm-400mm` * 电阻屏请务必使用 `14P` 排线 1. FLY-Pi V2 TFT电阻屏接线 Loading... ### TFT V2 G2T屏幕接线[​](#tft-v2-g2t屏幕接线 "TFT V2 G2T屏幕接线的直接链接") 提示 * TFT V2 G2T 排线规格:`FPC 软排线-16P-反向-0.5mm-400mm` * TFT V2 G2T 屏幕请务必使用 `16P` 排线 1. G2T转接板与TFT屏幕安装 | | | | -------------------------- | -------------------------- | | - 电阻屏安装示意Loading... | - 电容屏安装示意Loading... | ### HDMI接线[​](#hdmi接线 "HDMI接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI-LCD5`屏幕接线方式 | | | | -------------------- | -------------------- | | 接线方式一Loading... | 接线方式二Loading... | ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型修改对应配置项 * TFT-V1电阻屏幕配置 * TFT-V2电阻屏幕配置 * TFT-V2电容屏幕配置 * HDMI屏幕配置 - 需要将`screen=`后面修改成`fly-tft-v1` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v1 ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-r` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-tft-v2-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-tft-v2-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 请确认屏幕背面拨码开关正确设置:电阻屏拨至`Resi`,电容屏拨至`Cap` * 配置文件格式必须为`key=value`,等号后面不能有空格 * 禁止私自修改配置文件格式,否则配置不会生效 4. 保存配置后 重要提示 修改配置后,请重启系统使配置生效 --- # 连接上位机SSH 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到PI-V2示意图 - TF卡安装到PI-V2示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY上位机需要使用`M2WE`或者`2.4G WIFI`模块,否则无法使用WiFi * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # FLY-Pi V2 使用注意事项 操作前必读 **所有接线操作前,请务必关闭打印机并断开电源。** 烧录固件时也请按对应指南操作。 ## 1. 电源要求[​](#1-电源要求 "1. 电源要求的直接链接") * **Type-C 供电(首次启动推荐)**:使用 **5V/2A 或以上**的电源适配器。部分电脑 USB 接口供电能力不足,可能导致系统首次自动扩容失败。 * **直流端子供电**:支持 **DC 12V-24V** 输入。 * 详细供电说明请参阅 [上位机供电](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v2/host/power)。 ## 2. 存储配置[​](#2-存储配置 "2. 存储配置的直接链接") 重要 FLY-Pi V2 **出厂时不附带任何存储设备**(即不包含 **M2WE 模块** 或 **Micro SD 卡**)。您必须至少配置以下一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买 FLY 定制 **M2WE 模块**,以获得更快的系统响应速度与更高的可靠性。 * **选项二**:自备 **Micro SD(TF)卡**,容量需在 **16GB 至 128GB** 之间。 ## 3. 重要警告[​](#3-重要警告 "3. 重要警告的直接链接") 接口冲突警告 **禁止同时使用 TFT 屏幕与 SPI 加速度计接口!** * **冲突原因**:TFT 屏幕接口(FPC-TFT)、SPI 加速度计接口(ZH1.5-6P)在硬件上共享同一组 SPI 资源。 * **后果**:若同时连接,将导致 **屏幕显示异常** 及 **加速度计数据严重错误**。 * **解决方法**:请确保每次仅连接并使用其中一种设备。 *** --- # FLY-Pi V3 上位机 FLY-Pi V3 是一款外形兼容树莓派的标准尺寸上位机,旨在为专业级3D打印提供稳定、强劲的计算核心。它不仅能完美替代树莓派,更凭借其**深度优化的Klipper系统**、工业级接口及灵活的存储扩展方案,助您解锁更高速、更精密、更可靠的打印体验。 Loading... ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * **深度优化,性能跃升** : 搭载全志`H618`四核处理器,系统预装**深度定制的 FlyOS & Klipper 固件**,相比原生版本在处理效率和打印性能上均有显著提升。 * **存储灵活,按需配置** : 板载专用 **M2WE** 接口,支持 **FLY 定制 M2WE 模块**(Wi-Fi/EMMC),为您提供高速系统启动选项。 * **即开即用,生态完整** : 系统预配置所有必备插件,无需复杂调试,极大缩短了从安装到首次打印的时间。 * **工业级设计,稳定可靠** : 提供12-24V宽压供电、断电关机保护、**专用SPI加速度计接口**,为长时间稳定工作保驾护航。 * **接口丰富,扩展无忧** : 多显示设备输出、多路串口、SPI/RRF复用接口,满足各种外围设备连接需求。 * **一键更新,支持OTA** : 支持一键系统更新,无需重新烧录系统,即可轻松获取最新功能与安全补丁。 ## 购买与使用须知[​](#购买与使用须知 "购买与使用须知的直接链接") 重要:关于存储 FLY-Pi V3**出厂时不附带任何存储设备**(即不包含**M2WE**模块或**Micro SD**卡)。您必须至少配置以下一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买 FLY 定制**M2WE**模块,以获得更快的系统响应速度和更高的可靠性。 * **选项二**:自行准备 `Micro SD` (TF) 卡,容量需在`16GB-128GB`之间。 ## 产品详细规格[​](#产品详细规格 "产品详细规格的直接链接") ### 1. 核心系统 (SoC)[​](#1-核心系统-soc "1. 核心系统 (SoC)的直接链接") * **CPU**: 全志 H618,4核 64位 Cortex-A53 * **GPU**: Arm Mali-G31 MP2 * **运行内存**: 1GB DDR4 ### 2. 存储与扩展[​](#2-存储与扩展 "2. 存储与扩展的直接链接") * **外部存储**: 最大支持 128GB Micro SD卡(TF卡) * **板载 M2WE 扩展接口**: 用于连接官方 FLY M2WE 模块(Wi-Fi / eMMC)。 ### 3. 丰富接口[​](#3-丰富接口 "3. 丰富接口的直接链接") * **显示输出**: * Micro HDMI x 1 * FPC-HDMI x 1 (配套排线规格:`FPC 软排线-25P-反向-0.5mm-1米`;标准 Micro HDMI 接口无需此排线) * FPC-TFT x 1 (配套排线规格:`FPC 软排线-16P-反向-0.5mm-400mm`;FLY-Pi V3 必须使用 16P 排线) * (支持 TFT 屏幕与 HDMI 屏幕一线通连接,部署更灵活) * **USB 与网络**: * USB 2.0 端口 x 4 * 100M 以太网口 (Eth) x 1 * **工业与扩展接口**: * UART x 1 (`XH2.54-4P`,可用于外接串口屏) * **SPI/RRF 复用接口 (ZH1.5-7P) x 1** (可连接 **ADXL345** 等传感器或 RRF 扩展) * RS232 x 2 (`XH2.54-4P`,可连接 RS232 工具板,使用时必须共地) ### 4. 电源与功耗管理[​](#4-电源与功耗管理 "4. 电源与功耗管理的直接链接") * **输入电压**: DC 12V-24V (通过 `XH2.54-2P` 电源端子) 或 5V/2A及以上 (通过 Type-C 接口),两种方式二选一 * **5V风扇接口**: `ZH1.5-2P`,提供常开5V电源输出 (注意:此接口不支持PWM调速) * **断电保护功能**: * 支持 **断电续打** 与 **安全断电关机** 功能。 配置说明 此功能需在系统内进行配置以启用,出厂默认均为关闭状态。 ### 5. 系统与软件[​](#5-系统与软件 "5. 系统与软件的直接链接") * **操作系统**: FlyOS-FAST (专为3D打印优化的轻量级系统) * **核心固件**: **深度优化的 Klipper 固件** & **原生支持 RRF** * **优化说明**:我们基于原生 Klipper 进行了深度的底层优化和适配,在指令处理效率、运动规划和解算性能上相比原版有**显著提升**,为您带来更极致的打印速度与精度。 * **预装软件 (开箱即用)**: * **核心组件**: Klipper, Moonraker * **Web界面**: Mainsail, Fluidd (可选, 默认Fluidd) * **屏幕与触摸支持**: 支持 FLY-TFT、HDMI、KlipperScreen、FLY Screen 和串口屏;KlipperScreen 与 FLY Screen 默认未启用,启用时需二选一并按屏幕类型配置。 * **摄像头支持**: 支持免驱 USB 摄像头,可使用 Crowsnest(默认未启用);FLYOS-FAST v1.4.0 还可选择 GoCam,Crowsnest 与 GoCam 不可同时启用。 * **高级功能插件**: 输入整形、共振补偿等必备插件已预置 (已预装numpy,无需额外配置) ## 重要注意事项[​](#重要注意事项 "重要注意事项的直接链接") 接口冲突警告 **TFT屏幕与SPI加速度计接口不可同时使用!** * **物理冲突**:TFT 屏幕(通过FPC-TFT接口)与 SPI/RRF 复用接口 (ZH1.5-7P) 在硬件上共享同一组 SPI 资源。 * **后果**:若同时连接,将导致**屏幕显示异常**与**加速度计测量数据严重失准**。 * **解决方案**:使用时请务必仅连接其中之一。 M2WE 接口警告 **私有协议,严禁连接非FLY设备!** * 板载的 **M2WE** 扩展接口为 **FLY 私有协议**,物理与电气规格均为定制。 * **仅支持连接官方提供的 FLY M2WE 模块**(用于扩展 Wi-Fi 或 eMMC 存储功能)。 * **绝对禁止连接任何标准的或非官方的 M.2 设备**,否则将**必然导致主板永久性硬件损坏**。 关于 Wi-Fi 功能 **FLY-Pi V3 无板载 Wi-Fi 功能。** 如需使用 Wi-Fi,您有两种选择: 1. **推荐方案**:购买并使用 FLY 官方的 **M2WE Wi-Fi 模块**。 2. **备选方案**:使用**通用的 USB Wi-Fi 模块**,但请务必确保其**支持 Linux 系统并免驱**,以保证兼容性。 --- # 加速度计使用 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 主板接线[​](#主板接线 "主板接线的直接链接") 接口冲突警告 **TFT屏幕与SPI加速度计接口不可同时使用!** * **物理冲突**:TFT 屏幕(通过FPC-TFT接口)与 SPI/RRF 复用接口 (ZH1.5-7P) 在硬件上共享同一组 SPI 资源。 * **后果**:若同时连接,将导致**屏幕显示异常**与**加速度计测量数据严重失准**。 * **解决方案**:使用时请务必仅连接其中之一。 Loading... ## 配置[​](#配置 "配置的直接链接") ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:gpiochip0/gpio263 spi_bus: spidev1.2 [resonance_tester] accel_chip: adxl345 #accel_chip_y: adxl345 bed probe_points: 100, 100, 20 # an example ``` ## 使用[​](#使用 "使用的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 摄像头服务选择 正式版 FlyOS-FAST 使用 Crowsnest(默认未启用)。FLYOS-FAST v1.4.0 也可选择 GoCam;两种服务不可同时启用,具体配置请参考 [GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam)。 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # 板载 5V 风扇接口 FLY-Pi V3 提供一个板载 5V 风扇接口,可用于给上位机或其他低功耗部件散热。 接口特性 该接口为 **ZH1.5(2P)** 接口,提供 **5V 常供电输出**。上电后持续输出电压,不支持 PWM 调速或软件开关控制。请仅连接额定电压为 5V 的风扇。 ## 接线说明[​](#接线说明 "接线说明的直接链接") 断电操作 开始接线前请完全关闭打印机并断开电源。确认风扇接口和电源均已断电后,再插拔风扇线束。 接口旁的标识如下: * 红色线:`5V` * 灰色线:`GND` 请按照风扇线束的正负极接线,避免反接或将其他电压等级的风扇接入该接口。 Loading... --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` ``` shutdown_pin_state=1 shutdown_pin=PI4 ``` * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip0/gpio260 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-PI-V3资料[​](#fly-pi-v3资料 "Fly-PI-V3资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-Pi V3、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索连接至 FLY-Pi V3 `can0` 网络的 CAN 工具板。 * **RS232 工具板**:用于配置连接至 FLY-Pi V3 板载 RS232 接口的工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 - RS232 工具板 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 ## RS232 工具板[​](#rs232-工具板 "RS232 工具板的直接链接") **RS232 参考接线** FLY-Pi V3 提供 2 个 `XH2.54-4P` RS232 端子。RS232 工具板需要单独供电,并且必须与 FLY-Pi V3 共地,否则无法建立通信。 Loading... ### RS232 接口配置[​](#rs232-接口配置 "RS232 接口配置的直接链接") 无需搜索 ID FLY-Pi V3 的两个 RS232 接口使用固定设备节点。左侧 `SERIAL3` 对应 `/dev/serial3`,右侧 `SERIAL4` 对应 `/dev/serial4`,无需执行 USB 或 CAN ID 搜索命令。 * 工具板必须刷入 RS232 固件,否则无法通信。 * 工具板与 FLY-Pi V3 必须共地;共用同一个 `12V/24V` 电源时已经共地。 * 两个 RS232 接口可以单独使用,也可以同时使用。 * `serial:` 后的固定设备节点不可修改。 ### 接线规范[​](#接线规范 "接线规范的直接链接") | | | | ------------------------------- | ------------------------------- | | **左侧 SERIAL3 接口**Loading... | **右侧 SERIAL4 接口**Loading... | ### 写入固定设备节点[​](#写入固定设备节点 "写入固定设备节点的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`,根据使用的接口添加对应配置: * 左侧接口(SERIAL3) * 右侧接口(SERIAL4) ``` [mcu toolboard] serial: /dev/serial3 baud: 250000 restart_method: command ``` `/dev/serial3` 是左侧接口的固定设备节点,不可更改。 ``` [mcu toolboard] serial: /dev/serial4 baud: 250000 restart_method: command ``` `/dev/serial4` 是右侧接口的固定设备节点,不可更改。 同时使用两个接口 同时连接两个 RS232 工具板时,每个 MCU 配置段必须使用不同名称,例如 `[mcu toolboard]` 和 `[mcu toolboard2]`,并分别填写 `/dev/serial3` 与 `/dev/serial4`。 完成配置后,点击 **SAVE & RESTART** 保存并重启 Klipper。 --- # 快速开始 **本指南目标**: 在30分钟内,完成Fly-PI V3主板的系统部署与固件烧录,使其达到可连接Klipper并进行基础测试的状态。 **完成标志**: 通过网页访问Klipper界面。 重要提示 * **必须配件**: Fly-PI V3必须配合 **Fly-M2WE** 或 **TF卡** 使用,否则系统无法启动 * **电源要求**: DC 电源端子输入范围 **12V-24V**;也可使用 Type-C 输入 **5V/2A 及以上**,两种方式只能选择一种 * **安全操作**: 所有接线操作前,请务必断开电源!烧录固件时,也请按指南要求操作 * **工具准备**: 提前准备好螺丝刀、数据线等基本工具 * **系统启动**: 第一次启动建议不要安装屏幕,后续通过SSH连接进行配置 *** ## 步骤1: 准备工具与资源[​](#步骤1-准备工具与资源 "步骤1: 准备工具与资源的直接链接") Loading... **包含内容**: * `MobaXterm` - 用于连接上位机 * `CH340` - 用于系统连接的串口驱动 * `Panasonic_SDFormatter` - 用于格式化TF卡 * `SetupSTM32CubeProgrammer` - 用于烧录下位机固件 *** ## 步骤2: 安装系统与基础配置[​](#步骤2-安装系统与基础配置 "步骤2: 安装系统与基础配置的直接链接") 完成以下配置项,使系统达到可运行状态: | 配置项 | 说明 | 链接 | | ------------ | -------------------- | ------------------------------------------------------------------------------------ | | 系统镜像烧录 | 烧录FlyOS系统镜像 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/flyos-fast) | | 系统基础配置 | 系统配置修改 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/fast_config) | | SSH连接 | 远程连接配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/ssh) | | WIFI配置 | 无线网络配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/wifi) | | 屏幕配置 | 显示设备配置(可选) | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/screen) | | 上位机供电 | 供电方式配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/power) | **说明**: * 烧录镜像前请确认TF卡或M2WE已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH连接默认用户名: `root`,密码: `mellow` * 屏幕配置仅在有屏幕设备时需要配置 *** ## 步骤3: 扩展功能与进阶配置[​](#步骤3-扩展功能与进阶配置 "步骤3: 扩展功能与进阶配置的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: | 功能 | 说明 | 链接 | | ---------- | ------------------ | -------------------------------------------------------------------------------------- | | 摄像头使用 | USB摄像头配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/advanced/camera) | | 断电续打 | 打印优化功能 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/advanced/kppm) | | 共振补偿 | 需要加速度计传感器 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/advanced/adxl) | | 外接工具板 | 工具板连接与ID获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/advanced/toolboard) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/advanced/schematic) | **建议**: * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FlyOS-Fast 系统介绍 FLYOS-FAST 是面向 3D 打印场景优化的轻量化 Linux 系统,为 FLY 系列上位机和集成式主板提供统一的打印控制、网页管理、本地屏幕、摄像头及系统更新环境。 镜像核对说明 本文中的系统结构和共通功能已按 H3、H5、H618 平台的 v1.3.10 正式镜像核对。不同平台支持的设备、屏幕接口和板载 MCU 维护方式存在差异,请根据实际硬件选择对应镜像。 ## 系统设计[​](#系统设计 "系统设计的直接链接") * **只读系统槽**:正式镜像包含两个内容一致的 SquashFS 系统槽,OTA 更新可在 A/B 槽之间切换,降低更新中断导致系统无法启动的风险。 * **独立配置分区**:TF 卡上的 `FlyOS-Conf` 分区保存 `config.txt`,无需进入 Linux 系统即可预先设置网络、设备型号、屏幕和打印模式。 * **持久化用户数据**:系统通过独立数据分区保存 `/etc`、`/data`、`/root` 和当前打印模式的数据目录,核心系统仍保持只读。 * **精简运行环境**:`root` 是唯一的交互式管理账户;系统不提供 `apt`、`dpkg` 等传统软件包管理器,常用运行环境和维护工具已随镜像预装。 * **按需启动服务**:Klipper、RRF、KlipperScreen、FLY Screen、Crowsnest 和 Moon2UART 等服务会根据 `config.txt` 的选项启动,未启用的功能不会随系统同时运行。 ## 主要功能[​](#主要功能 "主要功能的直接链接") | 功能类别 | 系统能力 | 使用说明 | | -------- | ----------------------------------------------- | ------------------------------------------------------------------ | | 打印系统 | Klipper 或 RRF | 通过 `printer` 选择,两种模式不会同时启动 | | 网页界面 | Fluidd 或 Mainsail | Klipper 模式下通过 `klipper_webui` 选择 | | 本地显示 | HDMI、适配的 FLY-TFT、KlipperScreen、FLY Screen | 可用接口和屏幕型号取决于设备平台,支持通过配置调整显示方向 | | 串口屏 | Moon2UART | 可单独设置串口设备和波特率 | | 摄像头 | Crowsnest | 默认关闭,需要时在系统配置中启用 | | 网络管理 | 有线网络、Wi-Fi、SSH | v1.3.9 起,有线网口可自动识别直连 PC 或路由器 | | 系统维护 | A/B OTA、U 盘更新、完整镜像烧录 | 更新方式和升级要求以对应版本的更新说明为准 | | 固件资源 | Klipper、Katapult 和常用 MCU 固件 | 部分集成式设备支持自动维护板载 MCU;外接主板仍需按对应主板教程操作 | 不要单独更新系统组件 FLYOS-FAST 中的 Klipper、Moonraker、网页界面和屏幕服务经过配套适配。请通过系统 OTA 或完整镜像更新,不要使用第三方脚本单独替换这些组件。 ## 选择正确的系统镜像[​](#选择正确的系统镜像 "选择正确的系统镜像的直接链接") FLYOS-FAST 根据上位机芯片分为 H3、H5 和 H618 镜像。镜像名称中的平台必须与实际设备匹配,不同平台的镜像不能混用。 | 镜像平台 | 适用设备 | 常用 `board` 配置值 | | -------- | ---------------------------------------------- | ---------------------------------------------------------------------------------- | | H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | `fly-c5`、`fly-c5-v1.1`、`fly-c8p`、`fly-pi-v3` | | H5 | FLY-Pi、FLY-Pi V2、FLY-Gemini V1/V2/V3、FLY-C8 | `fly-pi`、`fly-pi-v2`、`fly-gemini-v1`、`fly-gemini-v2`、`fly-gemini-v3`、`fly-c8` | | H3 | FLY-Lite2、FLY-Lite2.1、FLY-MiniPad | `fly-lite2`、`fly-lite2.1`、`fly-minipad` | 设备型号必须匹配 `board` 会影响串口、SPI、屏幕等硬件接口配置。请使用对应产品文档给出的值,不要复制其他设备或其他平台的配置。 ## 平台差异[​](#平台差异 "平台差异的直接链接") FLYOS-FAST 的打印服务和管理方式在三个平台上保持一致,但底层硬件配置并不通用: * **H618**:C5、C5 V1.1 和 C8P 可按产品配置维护板载 MCU;Pi V3 是独立上位机,外接主板需单独烧录。 * **H5**:不同设备使用的板载接口、屏幕和固件路径不同,应进入对应产品文档配置。 * **H3**:Lite2、Lite2.1 和 MiniPad 的板载接口及屏幕选项不同,应按具体型号选择配置。 FLYOS-FAST v1.4.0 目前是测试版,不代表正式版本。测试版变化和已知问题请查看[系统更新日志](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/Changelog)。正式使用时,请优先选择下载页面提供的对应平台正式镜像。 > **下一步**:[查看系统镜像烧录教程](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/flash) > **系统配置**:[查看 FLYOS-FAST 快速配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H618 配置项[​](#h618-配置项 "H618 配置项的直接链接") 以下默认值和可选值已按 H618 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对;v1.4.0 测试镜像新增的配置会单独标注。 #### 无线网络[​](#无线网络 "无线网络的直接链接") `WIFI_SSID` 和 `WIFI_PASS` 在每次启动时读取。使用开放网络时密码可以留空;使用加密网络时,两项都要填写。 | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时自动连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。系统已完成首次启动后,再修改这些项目不会重新执行初始化。 | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | -------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------- | | `language` | `zh-CN` | `zh-CN`、`en`、`ja`、`ko` 等镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 任意不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | `/usr/lib/firmware/klipper/stm32h723-128k-usb.bin` | 镜像内固件路径,或 `/config/klipper.bin` | C5、C5 V1.1、C8P 首次启动时可按 `board` 自动烧录板载 MCU;Pi V3 不会用该项烧录外接主板 | 自动烧录条件 自动烧录只在首次启动标记存在、`board` 和 `firmware` 均有效且固件文件存在时执行。不要为了重复烧录而手动创建首次启动标记;后续固件维护请使用对应主板的固件烧录教程。 #### 系统与主板[​](#系统与主板 "系统与主板的直接链接") 以下设置会在每次启动时读取。 | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ------------------------------------------------------- | | `board` | `none` | `fly-c5`、`fly-c5-v1.1`、`fly-c8p`、`fly-pi-v3` | 选择实际设备型号;该值会影响 H618 的串口和 SPI 外设配置 | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `printer` | `klipper` | `klipper`、`rrf` | 选择要启动的打印控制环境 | | `console` | `serial` | `serial`、`both` | 设置系统控制台;无明确需求时保持默认 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 设置系统 CAN 接口速率,必须与总线上的所有 CAN 设备一致 | 正确选择 `board` 镜像原始配置为 `board=none`,设备会优先尝试读取硬件识别结果;仍无法识别时,H618 v1.3.10 会回退为 `fly-c5`。因此 C8P、C5 V1.1 和 Pi V3 用户应在首次启动前明确选择自己的设备型号,不要依赖回退值。 不同 `board` 值启用的 H618 外设如下。此表只用于说明选择错误的影响,不代表这些串口或 SPI 接口可以随意改作其他用途。 | `board` 配置值 | 系统启用的板载外设 | | -------------- | --------------------------- | | `fly-c5` | UART1 | | `fly-c5-v1.1` | UART1、SPI1.2 | | `fly-c8p` | UART1、UART3、UART4、SPI1.2 | | `fly-pi-v3` | UART1、UART3、UART4、SPI1.2 | #### 屏幕与界面[​](#屏幕与界面 "屏幕与界面的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ---------------------------------------------- | ----------------------------------------------------------------------------------------- | | `screen` | `hdmi` | `none`、`hdmi`、`fly-tft-v2-r`、`fly-tft-v2-c` | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认为 `0` 度,FLY-TFT 默认为 `90` 度;HDMI 显示和触摸方向也会应用手动角度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 实际串口设备路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口通信速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。使用 FLY Screen 时,应设置 `klipper_screen=0`、`fly_screen=1`。 OTA 升级保留旧配置 从旧版本 OTA 升级后,`config.txt` 可能缺少 `fly_screen`、`m2u_port` 或 `m2u_baud`。需要相应功能时,可参照上表补充配置项。 #### Klipper 网页与摄像头[​](#klipper-网页与摄像头 "Klipper 网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | ---------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭摄像头服务 | v1.4.0 测试版配置 | 配置项 | 默认值 | 可选值 | 说明 | | ------- | ------ | -------- | ------------------------- | | `gocam` | `0` | `0`、`1` | 启用 GoCam UVC 摄像头服务 | v1.3.10 正式版没有 `gocam`。v1.4.0 测试版中如果 `crowsnest=1` 与 `gocam=1` 同时设置,系统会优先启动 Crowsnest。使用 GoCam 时应明确设置 `crowsnest=0`、`gocam=1`。 > **GoCam 使用方法**:[查看 GoCam 摄像头服务](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/services/gocam) #### 断电关机[​](#断电关机 "断电关机的直接链接") H618 v1.3.10 的原始配置中,`shutdown_pin_state` 与 `shutdown_pin` 默认被注释,即不启用断电关机检测。不同产品和硬件版本的触发电平可能不同,请按对应产品的“断电关机与断电续打”文档填写,不要直接复制其他设备的值。 功能互斥 断电关机与断电续打不能同时启用。需要断电续打时,请保持断电关机检测关闭。 #### 高级配置[​](#高级配置 "高级配置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------- | ----------- | ------------------------------- | ------------------------------------ | | `spidev` | `spidev0.0` | 产品文档明确给出的 SPI 设备组合 | 控制提供给 Linux 用户空间的 SPI 设备 | `spidev`、`overlays` 等项目用于底层硬件启用。没有产品教程明确要求时,请保持镜像默认值,并且不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 之后的内容。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 上位机供电方式 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 FLY-Pi V3 支持以下两种供电方式,请根据实际使用场景选择其中一种。 ## 通过12–24V直流电源供电[​](#通过1224v直流电源供电 "通过12–24V直流电源供电的直接链接") * 请通过专用电源端子连接直流电源,建议电压范围为 **12–24V**。 * 电源连接器采用 `XH2.54-2P` 端子,请参考下图正确接线: Loading... ## 通过Type-C接口供电[​](#通过type-c接口供电 "通过Type-C接口供电的直接链接") * 可通过Type-C接口直接供电,建议使用 **输出为5V/2A及以上** 的电源适配器。DC 电源端子与 Type-C 接口只能选择一种供电方式,请勿同时接入。 * 接线示意图如下: Loading... --- # 屏幕接线与配置 ## 屏幕接线[​](#屏幕接线 "屏幕接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向;连接串口屏幕时,请确认 `5V`、`GND`、`TX`、`RX` 接线正确。 * TFT-V2屏幕接线 * HDMI接线 * 串口屏接线 * Nova 3.5 接线 ### TFT-V2屏幕接线[​](#tft-v2屏幕接线 "TFT-V2屏幕接线的直接链接") 提示 **TFT屏幕连接与配置须知** * **排线选择**:FLY-Pi V3 必须使用规格为 `FPC 软排线-16P-反向-0.5mm-400mm` 的反向 FPC 排线。 * **触摸模式切换**:请根据屏幕类型,正确设置背面的拨码开关: * 使用**电阻屏**时,请拨至 `Resi` 位置。 * 使用**电容屏**时,请拨至 `Cap` 位置。 * *错误的设置将导致触摸功能失效。* 1. FLY-Pi V3 TFT屏幕接线示意 Loading... ### HDMI接线[​](#hdmi接线 "HDMI接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI-LCD5`屏幕接线方式 | | | | -------------------- | -------------------- | | 接线方式一Loading... | 接线方式二Loading... | ### 串口屏幕接线[​](#串口屏幕接线 "串口屏幕接线的直接链接") FLY-Pi V3 的 UART 端子为 `XH2.54-4P`,信号为 `5V`、`GND`、`TX`、`RX`;连接串口屏时请将 `TX` 与 `RX` 交叉连接。 * 使用此功能需要刷串口固件 * [七寸屏幕串口固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/updata) * [五寸屏幕串口固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/updata) Loading... ### Nova 3.5 接线[​](#nova-35-接线 "Nova 3.5 接线的直接链接") `Nova 3.5` 通过 UART 与 Fly-Pi V3 通信。Fly-Pi V3 的 UART 端子为 `XH2.54-4P`;接线时需要确认 `TX`、`RX` 交叉连接,并避免 `5V` 与 `GND` 接反。 Loading... ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型选择对应配置方法: * TFT电阻屏幕配置 * TFT电容屏幕配置 * HDMI屏幕配置 * 串口屏幕配置 - 需要将`screen=`后面修改成`fly-tft-v2-r` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v2-r ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`fly-tft-v2-c` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=fly-tft-v2-c ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 串口屏幕使用 `moon2uart` 通信,需要将 `moon2uart` 后面的 `0` 修改成 `1` * Nova 3.5 与 WiScreen 串口模式不使用 FLY Screen 本机屏幕服务,需要确认 `klipper_screen=0` 和 `fly_screen=0` 保持关闭 * 下方是修改好后的参考 ``` moon2uart=1 klipper_screen=0 fly_screen=0 ``` Loading... 重要提示 修改配置后保存文件,请重启系统使配置生效 --- # 连接上位机SSH 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到PI-V3示意图 - TF卡安装到PI-V3示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY-Pi V3 可使用 `M2WE Wi-Fi` 模块、兼容的 `2.4G Wi-Fi` 模块或免驱 USB Wi-Fi 模块连接无线网络 * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # FLY-Pi V3 使用注意事项 操作前必读 **所有接线操作前,请务必断开电源!** 烧录固件时,也请按指南要求操作。 ## 1. 电源要求[​](#1-电源要求 "1. 电源要求的直接链接") * **通过Type-C供电(首次启动推荐)**:使用 **5V/2A 或以上** 的电源适配器。部分电脑USB接口供电能力不足,可能导致系统首次自动扩容失败。 * **通过DC电源端子供电**:支持 **DC 12V-24V** 输入,适用于日常工作场景。 * 详细供电说明请参阅 [上位机供电](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi-v3/host/power)。 ## 2. 存储配置[​](#2-存储配置 "2. 存储配置的直接链接") 重要 FLY-Pi V3 **出厂时不附带任何存储设备**。您必须至少配置以下一种存储介质: * **选项一(推荐)**:购买 FLY 定制 **M2WE 模块**。 * **选项二**:自备 **Micro SD(TF)卡**,容量需在 **16GB 至 128GB** 之间。 ## 3. 重要警告[​](#3-重要警告 "3. 重要警告的直接链接") 接口冲突警告 **禁止同时使用 TFT 屏幕与 SPI 加速度计接口!** TFT 屏幕接口(FPC-TFT)与 **SPI/RRF 复用接口(ZH1.5-7P)** 在硬件上共享同一组 SPI 资源,同时连接将导致设备工作异常。 M2WE 接口警告 板载 **M2WE** 扩展接口为 FLY 私有协议,**绝对禁止连接任何标准的或非官方的 M.2 设备**,否则将导致主板永久性硬件损坏。 *** --- # FLY-Pi 上位机 * 我们很高兴地发布全新的FLY-π主板。此板可替代树莓派作为上位机运行,它拥有1GB的板载DDR3内存。 * 该上位机可运行Klipper与RRF固件,甚至可以在使用SHT工具板时运行Klipper屏幕。 Loading... ## 核心亮点[​](#核心亮点 "核心亮点的直接链接") * **强劲核心,深度优化**:搭载**全志H5四核处理器**,预装深度定制的FlyOS & Klipper固件,相比原生系统在指令处理与运动规划性能上显著提升。 * **双存储方案,灵活选择**:提供板载**M2WE接口**(用于FLY定制模块)与标准**Micro SD卡槽**,用户可按需选择高速eMMC或经济灵活的SD卡方案。 * **开箱即用,生态完善**:系统预装所有必需插件(如输入整形、共振补偿所需环境),极大缩短调试时间,快速投入打印。 * **工业级设计与供电**:支持12-24V宽压输入,集成**专用SPI加速度计接口**,保障长时间稳定可靠运行。 * **丰富接口,全面扩展**:提供多种显示输出(HDMI, TFT)、4个USB 2.0端口、以太网口及CAN总线接口,满足各类外围设备连接需求。 * **便捷维护,支持OTA**:支持一键系统在线更新(OTA),无需重烧系统即可获得最新功能与安全补丁。 ## 购买与使用须知[​](#购买与使用须知 "购买与使用须知的直接链接") 重要:关于存储 FLY-Pi**出厂时不附带任何存储设备**。您必须自行准备以下至少一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买FLY定制**M2WE模块**(Wi-Fi/eMMC),获得更快的系统响应与更高可靠性。 * **选项二**:自备`Micro SD`(TF)卡,容量建议在`16GB-128GB`之间。 ## 产品详细规格[​](#产品详细规格 "产品详细规格的直接链接") ### 1. 核心系统[​](#1-核心系统 "1. 核心系统的直接链接") * **CPU**:全志 H5, 4核 64位 Cortex-A53 * **GPU**:Arm Mali-G31 MP2 * **运行内存**:1GB DDR3 ### 2. 存储与扩展[​](#2-存储与扩展 "2. 存储与扩展的直接链接") * **外部存储**:支持 Micro SD卡(TF卡),容量支持16GB-128GB * **板载扩展**:专用 M2WE 接口,用于连接官方 FLY M2WE 模块(提供 Wi-Fi 或 eMMC 存储功能)。 ### 3. 接口一览[​](#3-接口一览 "3. 接口一览的直接链接") * **显示输出**: * Micro HDMI x 1 * FPC-TFT x 1 * **USB与网络**: * USB 2.0 端口 x 4 * 100M 以太网口(Eth)x 1 * **工业与扩展接口**: * **专用 SPI 接口(ZH1.5-6P)x 1**:用于连接ADXL345等传感器,实现共振补偿。 * CAN HAT 接口 x 1 ### 4. 电源管理[​](#4-电源管理 "4. 电源管理的直接链接") * **输入电压**:DC 12V-24V * **风扇接口**:5V 风扇接口 x 1 * **断电保护功能**: * 需搭配KPPM模块使用。 * 支持**断电续打**与**安全断电关机**。 配置说明 此功能需在系统内手动配置启用,出厂默认关闭。 ### 5. 系统与软件[​](#5-系统与软件 "5. 系统与软件的直接链接") * **操作系统**:FlyOS-FAST (专为3D打印优化的轻量级系统) * **核心固件**:**深度优化的Klipper固件** & **原生支持RRF** * **优化说明**:我们对Klipper进行了底层优化与适配,在指令处理、运动规划性能上相比原版有显著提升。 * **预装软件**: * **核心**:Klipper , Moonraker * **Web界面**:Mainsail , Fluidd(默认Fluidd) * **功能插件**:输入整形、共振补偿等必备插件及环境已预置。 * **可选功能**:Klipper-Screen (触摸屏)、Crowsnest(摄像头)支持已集成,默认未启用。 ## 重要注意事项[​](#重要注意事项 "重要注意事项的直接链接") 接口冲突警告 **TFT屏幕、SPI加速度计接口与RRF扩展接口不可同时使用!** * **硬件冲突**:上述接口在物理上共享同一组SPI资源。 * **后果**:同时连接将导致**屏幕显示异常**及**加速度计数据严重错误**。 * **解决方案**:每次仅连接并使用其中一个接口。 M2WE 接口警告 **私有协议,严禁连接非FLY设备!** * 板载 **M2WE** 接口为 **FLY 私有定制协议**,物理与电气规格均非标准。 * **仅限连接**官方提供的 FLY M2WE 模块(Wi-Fi / eMMC)。 * **严禁连接**任何标准或第三方 M.2 设备,否则将导致**主板永久性硬件损坏**。 关于 Wi-Fi 功能 **FLY-Pi无板载 Wi-Fi.** 如需无线连接,请选择: 1. **推荐方案**:使用 FLY 官方 **M2WE Wi-Fi 模块**。 2. **备选方案**:使用**免驱的通用 USB Wi-Fi 模块**,请确保其兼容Linux系统。 --- # 加速度计使用 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 接口冲突警告 **禁止同时使用 TFT 屏幕与 SPI 加速度计接口!** * **冲突原因**:TFT 屏幕接口(FPC-TFT)、SPI 加速度计接口(ZH1.5-6P)在硬件上共享同一组 SPI 资源。 * **后果**:若同时连接,将导致 **屏幕显示异常** 及 **加速度计数据严重错误**。 * **解决方法**:请确保每次仅连接并使用其中一种设备。 ## 主板接线[​](#主板接线 "主板接线的直接链接") Loading... ## 配置[​](#配置 "配置的直接链接") ``` [mcu host] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: host:None spi_bus: spidev0.0 [resonance_tester] accel_chip: adxl345 probe_points: 100, 100, 20 # an example ``` ## 使用[​](#使用 "使用的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 摄像头连接与使用 配置顺序提醒 请严格按以下顺序操作,否则可能导致摄像头无法识别: 1. **先启用服务**:确保 `crowsnest` 服务已启动并正常运行。 2. **再配置摄像头**:待服务运行正常后,再进行摄像头的具体参数设置。 **若已误操作**:如果您先配置了摄像头但 `crowsnest` 服务未开启,通常需要**在 Web 界面中删除该摄像头配置,然后重新添加**,以确保配置生效。 > 注:此处是指删除 Web 界面中的摄像头配置条目,而非删除 `crowsnest.cfg` 配置文件。 连接与配置须知 * **连接方式**:请将摄像头直接插入上位机的USB接口,而非上位机其他非USB的接口 * **摄像头要求**:请使用 **免驱、即插即用** 的 USB 摄像头。此类摄像头在 Linux、Armbian 等系统的 Klipper 环境中通常可直接使用,无需额外安装驱动。 * **软件环境**:本教程基于 **Klipper、Crowsnest 和 Fluidd** 的最新版本编写。若您使用 Mainsail 或其他前端,配置原理相通,具体操作请参阅其官方文档。 ## 重要提示[​](#重要提示 "重要提示的直接链接") 必读 * 配置文件中的`部分`设置只会在烧录后第一次启动系统时生效。 * 因配置过程较为麻烦,强烈建议通过网络连接上机器后再通过浏览器进行配置 * 本教程只提供可修改的选项 注意 * 尽量使用`mainsail`或者`fluidd`这两个网页进行配置修改 * 请不要打开网页翻译,否则保存后系统很可能不会启动 * 配置文件中最好不要输入中文或特殊字符。 * 配置文件修改后,需要重启系统才能生效。 危险 * 配置文件中`######### PLEASE DO NOT EDIT THE FOLLOWING #########`下面的内容请不要修改。 ## 如何修改配置文件[​](#如何修改配置文件 "如何修改配置文件的直接链接") ### 烧录完成后修改配置文件[​](#烧录完成后修改配置文件 "烧录完成后修改配置文件的直接链接") * 仅在`首次启动`时生效的配置项必须在烧录完成后,使用专业文本编辑器打开可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`来修改。 ### 系统已支持在线配置修改[​](#系统已支持在线配置修改 "系统已支持在线配置修改的直接链接") * 如果是普通配置项在系统网页配置页面修改后重启系统即可生效。 * 在浏览器打开设备IP地址,例如:`192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,将需要修改的配置项修改后 `保存` -> `关闭` 然后重启即可。 Loading... * 注意:`sys-config.conf`文件中配置项的格式为`key=value`,不要修改为`key: value`。 * 修改保存后,重启系统即可生效。 ## 启用`Crowsnest`服务[​](#启用crowsnest服务 "启用crowsnest服务的直接链接") * 在配置中搜索`crowsnest=0`将其改为`crowsnest=1` * 修改完成后保存配置并且重启系统 * 请注意,配置文件修改后,需要重启系统才能生效。 Loading... ## 打开配置[​](#打开配置 "打开配置的直接链接") 提示 * 摄像头ID根据系统有很多种,我们只需要确定不会变的ID即可 - 在Fluidd中找到配置文件,然后打开`crowsnest.conf` Loading... - 找到`device: `将后面的ID配置删除 Loading... ## 搜索摄像头ID[​](#搜索摄像头id "搜索摄像头ID的直接链接") 提示 * 请确保摄像头已经接到上位机 - 点击上方`DEVICES`,然后点击`VIDEO`,最后点击刷新 Loading... - 寻找到`path_by_id`将后面一行复制 Loading... ## 添加ID[​](#添加id "添加ID的直接链接") * 添加ID,并且保存配置 Loading... ## 启用摄像头[​](#启用摄像头 "启用摄像头的直接链接") * 点击设置,选择摄像头,然后点击添加摄像头 Loading... * 输入自己喜欢的名字,并且点击保存 Loading... ## 查看是否启用[​](#查看是否启用 "查看是否启用的直接链接") * 点击仪表盘应该已经出现摄像头画面 Loading... * 如果不显示需要再次重启系统 --- # 板载5V风扇口 ## Pi板载了一个5V的可控接口,用于主控散热,接线方法如下图[​](#pi板载了一个5v的可控接口用于主控散热接线方法如下图 "Pi板载了一个5V的可控接口,用于主控散热,接线方法如下图的直接链接") Loading... ## 参考配置[​](#参考配置 "参考配置的直接链接") ``` [mcu host] # FlyOS已默认为您生成linux MCU,定义即可使用 serial: /tmp/klipper_host_mcu [temperature_sensor FLY-π] # 上位机温度 sensor_type: temperature_host [temperature_fan core_fan] # 上位机散热风扇 pin: host:gpiochip1/gpio106 # 上位机风扇pin脚 max_power: 1.0 sensor_type: temperature_host # 设置为上位机主控温度 control:watermark # 控制方式 target_temp: 48 # 上位机散热风扇启动温度 min_temp: 0 # 最低温度,低于此温度将会报错 max_temp: 90 # 最高温度,高于此温度将会报错 off_below: 0.10 kick_start_time: 0.50 max_speed: 0.8 # 最大转速,为满功率运转时的80% min_speed: 0.3 # 最小转速,为满功率运转时的30% ``` --- # 断电关机与断电续打 须知 **1. 功能概念与流程** * **断电关机** * **概念**:检测到异常断电后,系统**不保存当前打印状态**,直接执行安全关机。 * **恢复流程**:电力恢复后,设备将**自动重新启动并待命**。之前的打印任务已中止,需要您手动开始新的打印。 * **断电续打** * **概念**:检测到异常断电后,系统会**立即保存当前的打印进度(如位置、层高)**,然后关机。 * **恢复流程**:电力恢复后,通常需要用户确认,设备方可**从断电的位置继续完成未完成的打印**。 **2. 核心规则** * 断电关机与断电续打为**互斥功能**,无法同时启用。 * 若启用断电关机功能,则断电续打功能将自动失效。 **3. 如何选择** * **选择“断电关机”**:如果您更关注用电安全,或希望电力恢复后设备能自动启动并待命,无需恢复中断的打印,请启用此功能。 * **选择“断电续打”**:如果您经常进行耗时较长且不容失败的打印任务,并希望在断电后能从中断点继续打印,请启用此功能。 ## 接线[​](#接线 "接线的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 KPPM 接线要求 * 以下说明适用于 FLY-Pi 的断电关机与断电续打功能。 * 通过 USB 连接其他设备时,必须使用成品 USB 电源隔离器或仅包含数据线的成品 USB 线,避免两端 5V 电源互相回灌。不要自行剪线改装。 * 供电必须使用专用的 KPPM 模块,请勿使用其他供电方式 * 若无法断开下位机与上位机间的5V连接,必须在主板完全断电后方可重新开机,否则可能导致无法正常启动 - FLY-Pi 使用5V接线 - FLY-Pi 使用USB接线 * FLY-Pi使用5V接线 Loading... - FLY-Pi使用USB接线 Loading... ## 配置[​](#配置 "配置的直接链接") * 断电关机 * 断电续打 ### 配置断电关机[​](#配置断电关机 "配置断电关机的直接链接") 须知 * 断电关机配置方法 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置改成下方配置 * 请注意`shutdown_pin=none`需要删除或者前面添加`#` ``` shutdown_pin_state=1 shutdown_pin=PA21 ``` * 然后 `保存` -> `关闭` 然后重启系统即可 Loading... ### 关闭断电关机[​](#关闭断电关机 "关闭断电关机的直接链接") 须知 * 使用断电续打前,请确保 Klipper 已正常启动且能控制打印机。 * 必须关闭断电关机功能,否则断电续打无法生效。 * 关闭断电关机后,设备将保持供电状态。请确保上位机无其他独立供电接入,否则断电后设备仍无法关机。 - 通过浏览器中的网址栏输入设备的IP地址,例如:`http://192.168.6.179` - 进入配置页面 * 在浏览器打开设备IP地址,例如:`http://192.168.1.2/` * fluidd按下图左所示 `取消勾选` -> `筛选隐藏的文件和文件夹`。 * mainsail按下图右所示 `勾选` -> `显示隐藏文件`。 | | | | ---------- | ---------- | | Loading... | Loading... | * 此时可以看到`.flyos-config`文件夹,进入这个文件夹会有`sys-config.conf`文件。 * `sys-config.conf`文件就是可移动磁盘`FlyOS-Conf`中的配置文件`config.txt`的软链接。 Loading... * 打开`sys-config.conf`文件,找到`shutdown_pin_state`与`shutdown_pin=`这两个配置 * 将这两个配置前面加`#` * 然后 `保存` -> `关闭` 然后重启即可 Loading... ### plr.cfg 配置文件[​](#plrcfg-配置文件 "plr.cfg 配置文件的直接链接") * 在打印机配置页面中,找到`plr.cfg` 文件。 * 将里面内容清空,然后将下方配置粘贴进去 * 配置文件内容如下: * **power\_pin 必须使用上位机 GPIO 或产品推荐的引脚**,不能使用下位机(MCU/工具板)的引脚。 ``` [mcu host] serial: /tmp/klipper_host_mcu [power_loss_resume] power_pin: host:gpiochip1/gpio21 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}] # 恢复所有加热器温度 {% for name, heater in PLR.heaters.items() %} {% if heater.target > 0 %} M118 设置加热器[{heater.name}] 目标温度: {heater.target} SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target} {% endif %} {% endfor %} # 等待挤出温度 {% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %} {% set extruder = PLR.heaters[PLR.toolhead.extruder] %} M118 等待[{extruder.name}]到达目标温度: {extruder.target} TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5} {% endif %} M83 ; 相对挤出 G1 E-2 F1000 ; 回抽 G91 ; 相对坐标 G1 Z2 F100 ; 抬升Z,准备X,Y归零 G90 ; 绝对坐标 G28 X Y ; 归零XY resume_gcode: # 移动到目标位置后,开始正式打印前执行的gcode M83 ; 相对挤出 G1 E4 F800 ; 挤出4mm耗材,漏料补偿 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 ; 紧急停止 ``` * 保存上面的配置文件后 * 打开 `printer.cfg` 文件,在文件最前面加入以下内容: ``` [include plr.cfg] ``` * 点击右上角保存并重启即可。 * 至此,Klipper断电续打功能已经配置完成。 ## 关于`[homing_override]`说明[​](#关于homing_override说明 "关于homing_override说明的直接链接") 注意 * 注意如果使用了`[homing_override]`不能在`[homing_override]`中随意设置归位位置。造成的断电续打失败概不负责 * 下方有`[homing_override]`配置说明 - 说明 * `[force_move]`:开启强制移动功能,允许在未归位时强制移动到指定位置。 * `[force_move]`代替了`[homing_override]`中的`set_position_z`功能,如果不按照此配置,可能会导致断电续打失败。 * 下方的`[homing_override]`配置是为了在断电续打时,能够正确归位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轴未归位时才执行,此配置不影响正常使用 ``` {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z=0 G90 G0 Z5 F600 {% endif %} ``` ## 关于 `[gcode_macro _CLIENT_VARIABLE]` 的配置说明[​](#关于-gcode_macro-_client_variable-的配置说明 "关于-gcode_macro-_client_variable-的配置说明的直接链接") * 当您的配置中同时包含 **`[gcode_macro _CLIENT_VARIABLE]`** 宏并设置了以下变量时: * 参考 ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True # 启用自定义位置 variable_custom_park_dz: 5 # 设置自定义停放高度偏移 ``` * 您必须相应地调整 **\[power\_loss\_resume]** 模块中的 `paused_recover_z` 参数值,使其与上述偏移值保持符号相反。 ### 配置对应关系[​](#配置对应关系 "配置对应关系的直接链接") | 宏变量 | 暂停/恢复模块参数 | 对应关系 | | ----------------------------- | ---------------------- | ---------------------- | | `variable_custom_park_dz: 5` | `paused_recover_z: -5` | **符号相反,数值相同** | | `variable_custom_park_dz: -3` | `paused_recover_z: 3` | **符号相反,数值相同** | ### 示例配置[​](#示例配置 "示例配置的直接链接") ``` [gcode_macro _CLIENT_VARIABLE] variable_use_custom_pos: True variable_custom_park_dz: 5 [power_loss_resume] paused_recover_z: -5 ``` > **重要**: 若不保持这种对应关系,可能导致断电续打或暂停恢复时Z轴高度计算错误,影响打印。 ## 测试[​](#测试 "测试的直接链接") ### 第一步测试:通过紧急停机模拟断电[​](#第一步测试通过紧急停机模拟断电 "第一步测试:通过紧急停机模拟断电的直接链接") 1. 开始打印任意文件,在打印过程中点击 **紧急停机** 按钮,模拟断电情况。 2. 再次点击 **固件重启**,等待`Klipper`重新连接并恢复正常。 3. 观察网页界面是否出现弹窗提示。如有提示,说明断电续打功能正常。 4. 后续可进一步测试真实断电情况,以验证功能可靠性。 *** ### 第二步测试:真实断电模拟与功能验证[​](#第二步测试真实断电模拟与功能验证 "第二步测试:真实断电模拟与功能验证的直接链接") 1. **测试准备**:在系统正常启动并连接`Klipper`后,先确认上位机旁的指示灯状态。通常,会有`LED`在系统运行时保持闪烁,此指示灯即为后续需要观察的关键指示灯。 2. 在设备正常运行并连接`Klipper`的状态下,直接断开电源,模拟真实断电场景。 3. 立即检查上位机旁的指示灯是否在 **5 秒内完全熄灭**。 * **如果熄灭**:说明断电关机功能正常,请继续后续步骤。 * **如果未熄灭**:则代表自动关机功能未生效,通常是由于相关配置(如 `kppm`的接线或配置)有误,需要重点检查并排除故障。 4. 等待至少`5`秒后,重新接通电源,观察`Klipper`是否能自动重连并恢复正常运行。(保存数据并且关机需要`3-5`秒) 5. 检查网页界面 * **若出现弹窗提示**:说明断电续打功能已成功激活并运行正常。 * **若无任何提示**:则表明断电续打功能未按预期启动,请根据以上现象系统性地检查相关配置。 *** --- # 板载40PIN脚图 Loading... --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-π资料[​](#fly-π资料 "Fly-π资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板与工具板 ID 读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 注意事项 * **主板 USB ID**:用于搜索通过 USB 连接至 FLY-Pi、且已刷入 USB 固件的主板。 * **CANBus UUID**:用于搜索通过 CAN HAT 连接至 FLY-Pi 的 CAN 工具板。 * USB ID 与 CANBus UUID 均通过网络 SSH 搜索,不通过网页的 `DEVICES` 功能搜索。 - 主板 USB ID 获取 - CANBus UUID 获取 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 ### 安装 CAN HAT[​](#安装-can-hat "安装 CAN HAT的直接链接") CAN HAT 状态 FLY-Pi 使用的 CAN HAT 已停止销售,本选项卡仅供已有模块的用户参考。 Loading... USB 接口占用 安装 CAN HAT 后,下图所示的 USB 接口会被占用,不能再连接其他 USB 设备。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 快速开始 **本指南目标**: 在30分钟内,完成 FLY-Pi 的系统部署与基础配置,使其达到可访问 Klipper 网页界面的状态。 **完成标志**: 通过浏览器访问 Klipper 网页界面。 重要提示 * **必须配件**: FLY-Pi 必须配合 FLY M2WE 或 TF 卡使用,否则系统无法启动 * **电源要求**: 直流端子输入范围为 **12V-24V**,请勿超出此范围 * **安全操作**: 所有接线操作前必须关闭打印机并断开电源 * **系统启动**: 第一次启动建议暂不安装屏幕,先通过网络 SSH 完成配置 *** ## 步骤1: 准备工具与资源[​](#步骤1-准备工具与资源 "步骤1: 准备工具与资源的直接链接") Loading... **包含内容**: * `MobaXterm` - 用于连接上位机 * `CH340` - 用于系统连接的串口驱动 * `Panasonic_SDFormatter` - 用于格式化 TF 卡 * `SetupSTM32CubeProgrammer` - 用于烧录下位机固件 *** ## 步骤2: 安装系统与基础配置[​](#步骤2-安装系统与基础配置 "步骤2: 安装系统与基础配置的直接链接") | 配置项 | 说明 | 链接 | | ------------ | -------------------- | --------------------------------------------------------------------------------- | | 系统镜像烧录 | 烧录 FlyOS 系统镜像 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/flyos-fast) | | 系统基础配置 | 修改系统配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/fast_config) | | SSH 连接 | 远程连接上位机 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/ssh) | | Wi-Fi 配置 | 配置无线网络 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/wifi) | | 屏幕配置 | 配置显示设备(可选) | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/screen) | | 上位机供电 | 选择正确供电方式 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/power) | **说明**: * 烧录镜像前请确认 TF 卡或 M2WE 已正确格式化 * 首次启动系统可能需要3-5分钟,请耐心等待 * SSH 默认用户名为 `root`,密码为 `mellow` * 屏幕配置仅在连接屏幕时需要进行 *** ## 步骤3: 扩展功能与进阶配置[​](#步骤3-扩展功能与进阶配置 "步骤3: 扩展功能与进阶配置的直接链接") 以下功能可在完成基础设置、打印机可正常运行后,根据需要逐步配置: | 功能 | 说明 | 链接 | | ---------- | ------------------------ | ----------------------------------------------------------------------------------- | | 摄像头使用 | USB 摄像头配置 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/advanced/camera) | | 断电续打 | 打印优化功能 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/advanced/kppm) | | 共振补偿 | 使用加速度计进行输入整形 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/advanced/adxl) | | 外接工具板 | 工具板连接与 ID 获取 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/advanced/toolboard) | | 外接风扇 | 板载风扇控制 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/advanced/fan) | | 资源下载 | 三维模型与原理图 | [查看指南](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/advanced/schematic) | *** * 扩展功能建议逐一配置和测试,避免同时改动过多参数 * 摄像头配置需要额外的USB摄像头设备支持 * 共振补偿需要配备加速度计传感器 * 工具板连接适用于多工具头3D打印机 *** --- # FlyOS-Fast 系统介绍 ## 概述[​](#概述 "概述的直接链接") FlyOS-Fast 是专为3D打印深度优化的轻量化Linux系统,为Fly全系列上位机平台提供稳定、高效的运行环境。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### 🏗️ 系统架构[​](#️-系统架构 "🏗️ 系统架构的直接链接") * **单用户模式**:极简设计,仅支持 `root` 用户,确保系统安全稳定 * **文件系统优化**:仅 `/etc` 和 `/data` 目录可写,核心目录只读,大幅降低断电损坏风险 * **快速启动**:优化启动流程,30秒内完成KlipperScreen启动 ### 📦 软件生态[​](#-软件生态 "📦 软件生态的直接链接") * **完整预置生态**:内置 Klipper、RRF、Mainsail、Fluidd、Moonraker、KlipperScreen 等主流服务 * **精简包管理**:移除传统包管理器,预置必要工具,保持系统轻量化 * **环境优化**:全局Python环境,简化插件安装和命令执行 ### ⚡ 功能特性[​](#-功能特性 "⚡ 功能特性的直接链接") | 功能类别 | 特性说明 | 备注 | | ------------ | -------------------------------- | --------------------------------- | | **系统切换** | 支持Klipper和RRF双系统切换 | 满足不同打印需求 | | **界面管理** | Mainsail和Fluidd网页界面一键切换 | 操作便捷 | | **电源管理** | 断电关机与断电续打功能 | 二选一配置,不可同时启用 | | **数据管理** | USB口配置文件备份 + OTA系统更新 | 双重保障 | | **显示支持** | Fly-WiScreen串口屏幕显示 | 稳定可靠 | | **固件管理** | 开机自动烧录固件 | 支持fly-c8、fly-c5、fly-c8p等设备 | | **个性化** | 预设UI语言和默认打印机名称 | 开箱即用 | --- # 系统配置指南 * 本指南将引导您完成FlyOS-Fast系统的基本配置,帮助您快速上手并优化使用体验。 ## 配置方式[​](#配置方式 "配置方式的直接链接") * 通过Config Myprint软件进行系统配置 * 通过浏览器进行系统配置 ### 使用 Config Myprint 配置系统卡[​](#使用-config-myprint-配置系统卡 "使用 Config Myprint 配置系统卡的直接链接") Config Myprint 适合在首次启动前图形化设置系统卡。将烧录完成的系统卡接入电脑,打开软件并等待软件识别 `FlyOS-Conf` 分区。 软件界面与镜像版本 软件可用选项可能晚于测试镜像更新。完成写入后,应打开 `FlyOS-Conf/config.txt`,检查 `board`、屏幕、摄像头和 CAN 速率是否与实际设备一致。软件没有显示的新配置项需要手动添加,不要使用相近名称代替。 #### 第一步:启用系统配置[​](#第一步启用系统配置 "第一步:启用系统配置的直接链接") 打开 **启用系统配置** 开关。 Loading... #### 第二步:完成基础设置[​](#第二步完成基础设置 "第二步:完成基础设置的直接链接") ##### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") * 只选择保存打印机配置文件的文件夹,不要选择单个文件。 * 软件会将选定文件夹中的配置复制到系统卡,并在首次启动时加载。 * 写入前确认文件夹内没有其他打印机遗留的 `printer.cfg` 或重复配置。 Loading... ##### Wi-Fi 网络[​](#wi-fi-网络 "Wi-Fi 网络的直接链接") 填写可用的 Wi-Fi 名称和密码。使用有线网络或准备稍后配置 Wi-Fi 时可以留空。 Loading... ##### Klipper 网页界面[​](#klipper-网页界面 "Klipper 网页界面的直接链接") 选择 Fluidd 或 Mainsail。该选项仅影响 Klipper 模式下默认使用的网页界面。 Loading... ##### 本地显示[​](#本地显示 "本地显示的直接链接") 选择实际连接的显示接口,再决定是否启用 KlipperScreen 或 FLY Screen。如果两项同时开启,系统优先启动 KlipperScreen;使用 FLY Screen 时应关闭 KlipperScreen。 Loading... #### 第三步:完成高级设置[​](#第三步完成高级设置 "第三步:完成高级设置的直接链接") ##### 打印机名称[​](#打印机名称 "打印机名称的直接链接") 设置便于识别的打印机名称。建议只使用英文字母、数字、短横线和下划线。 Loading... ##### 摄像头服务[​](#摄像头服务 "摄像头服务的直接链接") 按需启用 Crowsnest。v1.4.0 测试版镜像如需使用 GoCam,应在写入完成后确认 `config.txt` 中为 `crowsnest=0`、`gocam=1`;两个服务不要同时启用。 Loading... ##### 语言和时区[​](#语言和时区 "语言和时区的直接链接") 选择系统初始语言和实际时区。系统联网后会根据该时区显示时间。 Loading... ##### CAN 通信速率[​](#can-通信速率 "CAN 通信速率的直接链接") 选择与主板及全部 CAN 工具板固件一致的速率。常用值为 `1000000`、`500000` 或 `250000`,同一条 CAN 总线不能混用不同速率。 Loading... #### 第四步:写入并检查[​](#第四步写入并检查 "第四步:写入并检查的直接链接") 完成全部设置后,点击 **手动写入配置**。只在界面中选择选项但没有点击写入,配置不会保存到系统卡。 Loading... 写入完成后执行以下检查: 1. 打开 `FlyOS-Conf/config.txt`。 2. 确认 `board` 与实际设备完全一致。 3. 确认只启用了需要的屏幕 UI 和摄像头服务。 4. 确认 `canbus_bitrate` 与全部 CAN 设备固件一致。 5. 保存后安全弹出系统卡,再插入目标设备启动。 注意事项 * 使用浏览器进行系统配置时,请确保您的设备已连接到同一网络,以便顺利访问配置界面。 * 需要根据SSH连接上位机教程安装好系统卡并启动系统,然后通过浏览器访问系统IP地址进行配置。 ### 修改配置文件[​](#修改配置文件 "修改配置文件的直接链接") FLYOS-FAST 的系统配置文件在不同位置显示为不同名称,但实际指向同一份配置: | 使用场景 | 文件位置 | 适用情况 | | ----------------- | ------------------------------- | ---------------------------------------- | | 系统卡接入电脑 | `FlyOS-Conf/config.txt` | 首次启动前设置网络、设备型号和初始化选项 | | Linux 系统内部 | `/config/config.txt` | 通过 SSH 检查配置 | | Fluidd / Mainsail | `.flyos-config/sys-config.conf` | 系统启动后在线修改每次启动都会读取的选项 | 修改前须知 * 先备份原配置文件。 * 保持 `key=value` 格式,不要改成 `key: value`。 * 不要重复添加同名配置项;需要修改时直接编辑原值。 * 不要使用浏览器网页翻译功能编辑配置,避免配置内容被改写。 * 名称和路径尽量只使用英文字母、数字、短横线及下划线。 * 不要修改 `######### PLEASE DO NOT EDIT THE FOLLOWING #########` 后面的内容。 - 首次启动前修改系统卡 - 系统启动后通过网页修改 1. 完成镜像烧录后,将系统卡重新接入电脑。 2. 打开名为 `FlyOS-Conf` 的可移动磁盘。 3. 使用纯文本编辑器打开 `config.txt`。 4. 按实际设备修改 `board`,再设置 Wi-Fi、打印模式、屏幕和 CAN 速率。 5. 保存文件并安全弹出系统卡,然后插入设备启动。 首次启动项 `language`、`printer_name` 和 `firmware` 等初始化项目应在这里修改。系统已经完成首次启动后,再编辑这些值不会重新执行初始化流程。 1. 确保电脑与上位机连接到同一网络。 2. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 3. 在 Fluidd 中取消勾选“筛选隐藏的文件和文件夹”,或在 Mainsail 中勾选“显示隐藏文件”。 | | | | ---------- | ---------- | | Loading... | Loading... | 4. 打开 `.flyos-config` 文件夹中的 `sys-config.conf`。 Loading... 5. 修改需要的配置项并保存。 Loading... 6. 完全重新启动上位机,使系统服务和硬件配置重新加载。 网页修改限制 网页方式适合修改每次启动都会读取的配置。已经错过首次启动的初始化项目不能仅靠重启重新执行;请使用相应功能自己的修改方法。 #### 保存后检查[​](#保存后检查 "保存后检查的直接链接") 重新启动后至少确认以下项目: * 网页可以正常打开,并且打印模式与网页界面选择正确。 * 本地屏幕、触摸方向和屏幕 UI 正常。 * 摄像头、Moon2UART 等可选服务只启动了需要的一项。 * 使用 CAN 时,系统速率与主板、工具板固件速率完全一致。 * Klipper 或 RRF 可以正常连接对应控制板。 如果修改后系统不能正常启动,将系统卡接入电脑,恢复修改前的 `config.txt`,再逐项修改和验证。 ### H3 / H5 配置项[​](#h3--h5-配置项 "H3 / H5 配置项的直接链接") 以下配置已按 H3、H5 v1.3.10 正式镜像中的 `FlyOS-Conf/config.txt` 核对。两个平台的服务配置基本一致,但 `board`、屏幕型号和底层硬件选项不能混用。 #### 无线网络[​](#无线网络 "无线网络的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ----------- | ------ | ---------- | -------------------------------- | | `WIFI_SSID` | 空 | Wi-Fi 名称 | 填写后,系统启动时尝试连接该网络 | | `WIFI_PASS` | 空 | Wi-Fi 密码 | 开放网络可以留空 | 这两项会在每次启动时读取。名称或密码包含空格及特殊字符时,应保留镜像中的双引号格式。 #### 首次启动设置[​](#首次启动设置 "首次启动设置的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | -------------- | ---------- | ---------------------- | -------------------------------------- | | `language` | `zh-CN` | 镜像列出的语言代码 | 设置 Fluidd 和 Mainsail 的初始语言 | | `printer_name` | 空 | 不含特殊字符的名称 | 设置初始打印机名称 | | `firmware` | 默认不启用 | 产品文档指定的固件路径 | 仅在对应产品明确支持首次启动烧录时使用 | `language`、`printer_name` 和 `firmware` 只在完整镜像烧录后的首次启动流程中使用。不要自行取消 `firmware` 的注释或复制其他产品的固件路径。 #### 设备平台与 `board`[​](#设备平台与-board "设备平台与-board的直接链接") | 镜像平台 | 设备 | `board` 配置值 | | -------- | ------------- | --------------- | | H5 | FLY-Pi | `fly-pi` | | H5 | FLY-Pi V2 | `fly-pi-v2` | | H5 | FLY-Gemini V1 | `fly-gemini-v1` | | H5 | FLY-Gemini V2 | `fly-gemini-v2` | | H5 | FLY-Gemini V3 | `fly-gemini-v3` | | H5 | FLY-C8 | `fly-c8` | | H3 | FLY-Lite2 | `fly-lite2` | | H3 | FLY-Lite2.1 | `fly-lite2.1` | | H3 | FLY-MiniPad | `fly-minipad` | 镜像和设备必须匹配 H5 镜像不能使用 H3 的 `board`,H3 镜像也不能使用 H5 的 `board`。启动脚本会拒绝不属于当前平台的设备值。首次启动前应明确填写实际设备,不要依赖镜像默认值。 H5 v1.3.10 镜像原始默认值为 `board=fly-pi-v2`,H3 v1.3.10 镜像原始默认值为 `board=fly-lite2.1`。只有实际设备正好对应这些型号时才能保留默认值。 #### 系统与通信[​](#系统与通信 "系统与通信的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | --------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- | | `localtime` | `Asia/Shanghai` | [世界时区名称](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/timezone) | 联网校时后使用的系统时区 | | `console` | `serial` | `serial`、`both` | 系统控制台模式;无明确需求时保持默认 | | `printer` | `klipper` | `klipper`、`rrf` | 选择启动 Klipper 或 RRF 打印环境 | | `canbus_bitrate` | `1000000` | `1000000`、`500000`、`250000` | 系统 CAN 速率,必须与总线上的全部设备一致 | #### 屏幕类型[​](#屏幕类型 "屏幕类型的直接链接") | 镜像平台 | `screen` 可选值 | | -------- | ---------------------------------------------------------------------------------------------- | | H5 | `none`、`hdmi`、`fly-tft-v1`、`fly-tft-v2-r`、`fly-tft-v2-c` | | H3 | `none`、`hdmi`、`fly-tft-v1`、`fly-minipad-r`、`fly-minipad-c`、`fly-tft-v2-r`、`fly-tft-v2-c` | | 配置项 | 默认值 | 可选值 | 说明 | | ---------------- | ------------ | ------------------------------- | ---------------------------------------------------- | | `screen` | `hdmi` | 上表中当前平台支持的值 | 选择显示接口;`none` 关闭本地显示输出 | | `rotate` | `auto` | `auto`、`0`、`90`、`180`、`270` | `auto` 时 HDMI 默认使用 `0` 度,TFT 默认使用 `90` 度 | | `klipper_screen` | `0` | `0`、`1` | Klipper 模式下启用 KlipperScreen | | `fly_screen` | `0` | `0`、`1` | Klipper 模式下启用 FLY Screen | | `moon2uart` | `0` | `0`、`1` | 启用 Moon2UART 串口屏服务 | | `m2u_port` | `/dev/ttyS1` | 产品文档指定的串口路径 | Moon2UART 使用的串口 | | `m2u_baud` | `115200` | 屏幕要求的波特率 | Moon2UART 串口速率 | 当 `klipper_screen=1` 与 `fly_screen=1` 同时设置时,系统优先启动 KlipperScreen。屏幕型号、接口方向和串口路径应以对应产品文档为准。 #### 网页与摄像头[​](#网页与摄像头 "网页与摄像头的直接链接") | 配置项 | 默认值 | 可选值 | 说明 | | --------------- | -------- | -------------------- | -------------------------------- | | `klipper_webui` | `fluidd` | `fluidd`、`mainsail` | Klipper 模式下默认使用的网页界面 | | `crowsnest` | `0` | `0`、`1` | 启用或关闭 Crowsnest 摄像头服务 | H3、H5 v1.3.10 正式镜像没有 `gocam` 配置项,请不要照搬 v1.4.0 测试版镜像的设置。 #### 断电关机和高级配置[​](#断电关机和高级配置 "断电关机和高级配置的直接链接") `shutdown_pin_state`、`shutdown_pin`、`spidev` 和 `overlays` 与具体设备硬件有关。只有对应产品文档给出明确值时才可修改,不要复制其他主板、其他硬件版本或其他芯片平台的配置。 断电关机与断电续打不能同时启用。需要断电续打时,应按对应产品教程关闭断电关机检测。 --- # FAST系统镜像烧录 ## 系统烧录前准备[​](#系统烧录前准备 "系统烧录前准备的直接链接") ### 准备需要的设备[​](#准备需要的设备 "准备需要的设备的直接链接") * TF卡启动 * M2WE启动 **必需设备**: * 读卡器 * TF卡一张(容量 16GB-128GB,传输速度 Class10 级或以上) * Windows 系统电脑(Win7、Win10、Win11 均可) **建议**: * 推荐使用**闪迪**、**三星**、**铠侠**等品牌TF卡 * 禁止使用杂牌TF卡,可能导致烧录失败或系统不稳定 **兼容性说明**: * `Lite系列`与`MINI-PAD系列`不支持使用M2WE **必需设备**: * M2WE(FLY专有设备) * M2SD(FLY烧录设备) * Windows 系统电脑(Win7、Win10、Win11 均可) **安装示意图**: Loading... **M2WE打印文件下载**: 使用此打印件可以防止出现接触不良的问题: Loading... *** ## 烧录系统镜像[​](#烧录系统镜像 "烧录系统镜像的直接链接") 注意事项 * 最近因服务器问题暂时无法使用 `Config Myprint` 下载系统 * 请通过系统镜像备用下载链接后在使用 `Config Myprint` 烧录系统镜像。 - 方式一:Config Myprint - 方式二:Rufus - 系统镜像备用下载链接 **步骤1: 下载并安装烧录工具** 下载 **Config Myprint** 系统烧录工具: Loading... > **版本记录与校验文件**:[查看 Config Myprint CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 安装 **Config Myprint**:[查看安装指南](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/download) **步骤2: 进入系统配置界面** 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... **步骤3: 连接存储设备** 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 **步骤4: 识别存储设备** 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... **步骤5: 选择设备型号** 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... **步骤6: 执行烧录操作** 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... **步骤7: 完成烧录** 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... **步骤1: 下载 Rufus 烧录工具** 访问 Rufus 官方网站下载最新版本: * 官网地址:[Rufus官网](https://rufus.ie/) **步骤2: 准备系统镜像文件** * 从官方渠道下载 FlyOS 系统镜像文件: * 下载链接:[FlyOS官方下载](https://flyos.klipper.cn/) 版本选择提示 * 建议始终使用最新版本以获得最佳性能和功能 * 版本号中的 `v1.3.XX` 代表基于1.3系列的不同小版本 | 系统版本 | 芯片平台 | 适用设备 | | --------------------------- | --------- | ----------------------------------------- | | **FlyOS-Fast-H618-v1.3.XX** | 全志 H618 | FLY-C5、FLY-C5 V1.1、FLY-C8P、FLY-Pi V3 | | **FlyOS-Fast-H5-v1.3.XX** | 全志 H5 | FLY-Pi 系列、FLY-C8 系列、FLY-Gemini 系列 | | **FlyOS-Fast-H3-v1.3.XX** | 全志 H3 | FLY-Pi Lite2 系列、FLY-MiniPad | **步骤3: 连接存储设备** * 将存储卡通过读卡器插入电脑USB接口 **步骤4: 启动 Rufus 并配置** 1. 运行 Rufus 程序 2. 在"设备"下拉菜单中选择你的TF卡 3. 点击"选择"按钮,浏览并选择下载好的系统镜像文件 Loading... **步骤5: 开始烧录** * 确认所有设置无误后,点击"开始"按钮 * 系统会弹出警告,提示将清除设备上的所有数据 * 点击"确定"继续 重要警告 * 此操作将**永久擦除**TF卡上的所有数据 * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿拔出TF卡 **步骤6: 等待烧录完成** * 烧录进度条显示当前进度 * 烧录时间取决于TF卡速度和镜像大小,通常需要5-15分钟 * 当状态显示"准备就绪"时,表示烧录完成 Loading... **步骤7: 安全移除设备** * 关闭 Rufus 程序 * 在Windows系统中安全弹出TF卡 * 取出TF卡后即可插入设备使用 - 网盘下载链接 Loading... *** ## 系统启动注意事项[​](#系统启动注意事项 "系统启动注意事项的直接链接") 系统配置建议 **重要**:建议在首次启动系统前,先完成系统配置(WIFI、SSH、屏幕等),可避免启动后重新配置的问题。 详细配置指南请查看:[系统配置选项说明](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 供电要求 * 请使用对应产品文档规定的输入接口、电压和功率,不要将其他上位机或主板的供电参数直接套用到当前设备。 * 首次启动和系统扩容期间应保持供电稳定;供电不足可能导致启动失败、存储卡损坏或扩容中断。 * FPC 屏幕排线必须在设备完全断电后连接,并确认接口方向正确。 --- # FAST系统文档中心 我们根据您的使用场景整理了以下文档,方便您快速找到所需内容。 **1. 新手上路** | 文档主题 | 说明 | 链接 | | -------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------- | | **系统简介** | **新用户必看**:系统简介。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/introduction) | | **系统使用指南与注意事项** | **新用户必看**:了解FAST系统的核心特性、限制与基本操作。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/troubleshooting/faq) | | **系统镜像烧录** | 为新设备首次烧录系统或系统重装。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/flyos-fast) | | **系统配置指南** | 从零开始配置您的FAST系统。 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/fast_config) | | **系统SSH连接** | 安装系统卡与SSH连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/ssh) | | **系统WIFI连接** | WIFI连接方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/wifi) | | **屏幕接线与配置** | 屏幕接线与配置方法 | [查看文档](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/screen) | **2. 日常维护与更新** | 文档主题 | 说明 | 链接 | | ----------- | ------------------------------- | ------------------------------------------------------------------------------- | | **OTA更新** | 通过网页在线升级系统,便捷安全。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/maintenance/ota) | | **U盘备份** | 使用U盘进行配置备份。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_backup) | **3. 功能配置** | 文档主题 | 说明 | 链接 | | -------------------------- | -------------------------------------- | -------------------------------------------------------------------------------------- | | **断电续打与断电关机功能** | 配置断电后自动恢复打印与断电关机功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/power_loss_resume) | | **U盘打印说明** | U盘打印说明与常见问题。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/features/usb_print) | | **各类插件安装** | 安装和配置常用插件,扩展Klipper功能。 | [查看文档](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/) | *** ### **使用建议**[​](#使用建议 "使用建议的直接链接") * **新用户**:建议从"新手上路"开始,按顺序阅读 * **系统升级**:直接查看"OTA在线更新"文档 * **功能配置**:根据需求选择"功能配置"中的相应文档 --- # 上位机供电 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 提示 FLY-Pi 供电方式有两种 ## 使用12-24V电源供电[​](#使用12-24v电源供电 "使用12-24V电源供电的直接链接") * 接线方式如下图所示,接口端子信号为`XH2.54` Loading... ## 使用Type-C接口供电[​](#使用type-c接口供电 "使用Type-C接口供电的直接链接") * 请使用`功率≥5V/2A`的电源供电 Loading... --- # 屏幕接线 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 连接 TFT 或 HDMI 屏幕时,请仔细确认 FPC 排线方向,避免反接导致设备故障。 * TFT电阻屏接线 * TFT V1排线接线 * HDMI接线 ### TFT电阻屏接线[​](#tft电阻屏接线 "TFT电阻屏接线的直接链接") 提示 * TFT 屏幕排线规格:`FPC 软排线-14P-反向-0.5mm-400mm` * 电阻屏请务必使用 `14P` 排线 | | | | ---------------------------- | ---------------------------- | | - TFT-V2电阻屏接线Loading... | - TFT-V1电阻屏接线Loading... | ### TFT电阻屏排线接线[​](#tft电阻屏排线接线 "TFT电阻屏排线接线的直接链接") 提示 * 请注意排线连接线序,确保正确对接 | | | | -------------------- | -------------------- | | - 线序参考Loading... | - 连接方式Loading... | ### HDMI接线[​](#hdmi接线 "HDMI接线的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 1. `FLY-HDMI-LCD5`屏幕接线示意 Loading... ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") ### FLYOS-FAST系统屏幕配置[​](#flyos-fast系统屏幕配置 "FLYOS-FAST系统屏幕配置的直接链接") 1. 浏览器访问设备IP地址,例如:`http://192.168.6.110/` | | | | ----------------------------------------------------------- | ----------------------------------------------- | | `fluidd`界面操作:取消勾选"筛选隐藏的文件和文件夹"Loading... | `mainsail`界面操作:勾选"显示隐藏文件"Loading... | 2. 进入显示的`.flyos-config`文件夹,找到`sys-config.conf`配置文件 Loading... 3. 编辑`sys-config.conf`文件,根据屏幕类型修改对应配置项 * TFT电阻屏幕配置方法 * HDMI屏幕配置方法 - 需要将`screen=`后面修改成`fly-tft-v1` - 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen - 需要将`fly_screen=0`改成`fly_screen=1` - 下方是修改好后的参考 ``` screen=fly-tft-v1 ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` Loading... * 需要将`screen=`后面修改成`hdmi` * 如需使用 FLY Screen,需要设置`klipper_screen=0`;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,默认启用 KlipperScreen * 需要将`fly_screen=0`改成`fly_screen=1` * 下方是修改好后的参考 ``` screen=hdmi ``` * 同时需要修改 ``` klipper_screen=0 fly_screen=1 ``` 配置注意事项 * 请确认屏幕背面拨码开关正确设置:电阻屏拨至`Resi` * 配置文件格式必须为`key=value`,等号后面不能有空格 * 禁止私自修改配置文件格式,否则配置不会生效 4. 保存配置后 重要提示 修改配置后,请重启系统使配置生效 --- # 连接上位机SSH 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 危险 * 此文档仅适用于FLY上位机 * 如果是编译与烧录固件,请查看网络连接教程而不是串口连接教程 - 可以使用串口或者WIFI连接到设备 - 请提前准备好**MobaXterm\_Personal**或其他**SSH终端工具** - 请确认`SD`卡或者`M2WE`已烧录**对应上位机的系统** - **如果上位机不能正常启动请把驱动、限位、风扇等外设拆除!!!** - **最后请通过网络连接到SSH方便编译固件!!** - **需要编译固件请看通过WIFI或者网线连接上位机教程** ## 安装系统存储卡[​](#安装系统存储卡 "安装系统存储卡的直接链接") * 需要确保系统卡有烧录对应的系统,否则无法启动 - M2WE安装到PI示意图 - TF卡安装到PI示意图 Loading... Loading... ## 安装天线[​](#安装天线 "安装天线的直接链接") 1. 安装`M2WE`或`2.4G WiFi`模块的天线 注意 * FLY上位机需要使用`M2WE`或者`2.4G WIFI`模块,否则无法使用WiFi * 请注意,上位机不支持中文名字的WIFI,不支持2.4G和5G双频合一的WiFi - 红色箭头所指的地方为WIFI天线接口 - WIFI天线口是`ipex1` - 请将天线安装到M2WE上,否则可能因为信号差导致无法连接到路由器 Loading... ## 供电[​](#供电 "供电的直接链接") * 使用`USB Type-c`线材将FLY的上位机与电脑连接 * 需要确保`USB Type-C`具有数据传输功能! * 系统启动后会有指示灯快速闪烁!! * 闪烁则代表系统已经启动 Loading... ## 连接SSH[​](#连接ssh "连接SSH的直接链接") * 通过网页连接 * 串口连接 * 网络连接 ## 通过网页使用串口连接到上位机SSH[​](#通过网页使用串口连接到上位机ssh "通过网页使用串口连接到上位机SSH的直接链接") * 将上位机通过USB连接电脑后,点击下方的`设备连接` * 如果正常会显示`USB Serial`或者其他类似设备 * 选择对应的设备, 然后点击`连接` * 连接成功后会有提示 * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * [点击前往网页串口终端工具](https://mellow.klipper.cn/docs/ToolsDoc/serial-terminal) ## 使用串口连接到上位机SSH[​](#使用串口连接到上位机ssh "使用串口连接到上位机SSH的直接链接") * 如果上位机与电脑连接正常,打开设备管理器,就可以看到`CH340`的端口了 Loading... * 打开`MobaXterm`,进行如下设置,端口选择前面在设备管理器看到的端口 Loading... * 请注意`Speed(bps)*`需要选择`115200` Loading... * 一切正常的话就可以看到启动画面了 * 等待片刻,出现这个画面就是启动了 Loading... **如果等了几分钟后,像下图一样,界面没有任何显示,按几下回车键即可** Loading... * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 从`V1.3.2`版本开始,FAST系统使用串口连接双击或连续按两次回车键自动登录 * **回车后会出现下图所示内容** Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 如果需要查看设备`IP`需要确保已连接网线或Wi-Fi [连接WIFI](https://mellow.klipper.cn/wifi) ## 使用网络IP连接到上位机SSH[​](#使用网络ip连接到上位机ssh "使用网络IP连接到上位机SSH的直接链接") * 请登录上位机连接的**路由器后台**,除非你知道上位机IP地址 * 请确保**你清楚上位机的用户名与密码** * FlyOS-FAST 默认用户名**root**, 默认密码**mellow** * 如果主板已经启动且已经连接到网络,可以使用下面方法连接到SSH * 打开MobaXterm,进行如下设置,IP填写前面查看的,也可以在路由器后台查看 Loading... **注意:这里第4步输入的上位机的用户名** Loading... * 第一次连接会弹出这个窗口,点击`Accept`即可 Loading... * 提示输入密码,输入上位机密码后回车 **注意:这里输入的密码是看不到的,输完后直接回车即可** * FLY-FAST系统,用户名为:`root`,密码为:`mellow` Loading... 提示 * 出现下方界面则代表登录成功 * FAST系统在V1.3.0版本后更新下方样式 Loading... * 登录成功 --- # 连接WIFI ## FLYOS-FAST 系统 Wi-Fi 连接指南[​](#flyos-fast-系统-wi-fi-连接指南 "FLYOS-FAST 系统 Wi-Fi 连接指南的直接链接") 系统启动 * 为确保设备稳定运行,首次启动及后续使用中,请始终使用不低于5V 2A的电源适配器器 * 部分电脑的USB接口可能无法达到这一标准 ### 准备工作[​](#准备工作 "准备工作的直接链接") 确保您的 Wi-Fi 模块已正确安装到上位机上,并且路由器正常工作。 ### 连接步骤[​](#连接步骤 "连接步骤的直接链接") #### 步骤 1:启动网络管理工具[​](#步骤-1启动网络管理工具 "步骤 1:启动网络管理工具的直接链接") 1. 通过 SSH 连接到您的运行FAST系统的上位机 2. 在终端中输入以下命令并按 `Enter` 键: ``` nmtui ``` 3. 系统将显示网络管理工具界面: Loading... Loading... #### 步骤 2:选择连接操作[​](#步骤-2选择连接操作 "步骤 2:选择连接操作的直接链接") 配置页面操作说明 * 请确保键盘输入法为半角模式,即英文模式 * 键盘上键`↑`,下键`↓`,用于上下移动光标来选中菜单项 * 确认键`Enter`,用于勾选菜单或进入子菜单 * 退出键`ESC`,用于返回上一级菜单 1. 使用键盘方向键选择 **"Activate a connection"**(激活连接) 2. 按 `Enter` 键进入下一步: Loading... #### 步骤 3:查看可用网络[​](#步骤-3查看可用网络 "步骤 3:查看可用网络的直接链接") 进入连接管理界面: Loading... #### 步骤 4:选择 Wi-Fi 网络[​](#步骤-4选择-wi-fi-网络 "步骤 4:选择 Wi-Fi 网络的直接链接") 1. 系统将自动扫描并列出可用的 Wi-Fi 网络 2. 使用方向键选择您要连接的网络: Loading... 重要注意事项 * **不支持中文 SSID**:请确保您的 Wi-Fi 名称(SSID)**不包含中文字符** * **频段支持**: * 所有模块均支持 2.4G Wi-Fi * 5G Wi-Fi 支持取决于模块型号(FLY-M2WE 支持 5G) * **信号强度**:Wi-Fi 名称后的 `*` 符号数量表示信号强度(`*` 越多信号越强) #### 步骤 5:输入 Wi-Fi 密码[​](#步骤-5输入-wi-fi-密码 "步骤 5:输入 Wi-Fi 密码的直接链接") 1. 按 `Enter` 键选择目标网络 2. 在弹出的密码输入框中,准确输入您的 Wi-Fi 密码: Loading... 3. 按 `Enter` 键确认连接: Loading... #### 步骤 6:确认连接状态[​](#步骤-6确认连接状态 "步骤 6:确认连接状态的直接链接") 连接成功后,系统将返回网络列表界面: * 已连接的 Wi-Fi 前会显示 `*` 标记: Loading... * 按 `Esc` 键两次返回主菜单: Loading... #### 步骤 7:获取设备 IP 地址[​](#步骤-7获取设备-ip-地址 "步骤 7:获取设备 IP 地址的直接链接") 1. 返回终端后,输入以下命令获取网络配置: ``` ip a | grep inet ``` 2. 查找类似 `192.168.x.x` 或 `10.x.x.x` 的 IP 地址: Loading... 快速识别 通常 `wlan0` 或类似接口下的 `inet` 地址就是您的 Wi-Fi IP 地址 #### 步骤 8:访问 Web 控制台[​](#步骤-8访问-web-控制台 "步骤 8:访问 Web 控制台的直接链接") 1. 打开浏览器(Chrome、Edge、Firefox 等) 2. 在地址栏中输入步骤 7 获取的 IP 地址(例如:`http://192.168.1.179`) 3. 按 `Enter` 键访问 FLYOS-FAST Web 控制台: Loading... ### 高级功能[​](#高级功能 "高级功能的直接链接") #### Web 界面切换[​](#web-界面切换 "Web 界面切换的直接链接") FLYOS-FAST 支持在 Mainsail 和 Fluidd 之间无缝切换: 1. 点击 Web 控制台右上角的 **Mainsail/Fluidd 图标** 2. 系统将自动切换到另一个界面,无需重新登录: **切换到 Mainsail**: Loading... **切换到 Fluidd**: Loading... 连接成功提示 * **首次连接**:建议使用网线连接进行初始配置,再切换到 Wi-Fi * **保存配置**:连接成功的 Wi-Fi 配置会自动保存,重启后自动连接 * **多网络环境**:如果同时连接网线和 Wi-Fi,系统将优先使用有线网络 ## 故障排除[​](#故障排除 "故障排除的直接链接") ### 常见问题[​](#常见问题 "常见问题的直接链接") | 问题 | 可能原因 | 解决方案 | | ----------------- | ----------------------------------------------------------- | ------------------------------------------------------------------ | | 看不到 Wi-Fi 列表 | 1. 模块未正确连接
2. 路由器距离太远
3. 驱动不兼容 | 1. 检查模块连接
2. 靠近路由器
3. 尝试其他兼容模块 | | 连接失败 | 1. 密码错误
2. 路由器限制
3. 频段不匹配 | 1. 确认密码正确
2. 检查路由器 MAC 过滤
3. 尝试 2.4G 频段 | | 获取不到 IP | 1. DHCP 服务异常
2. 信号太弱 | 1. 重启路由器
2. 使用静态 IP 配置 | ### 无法激活链接[​](#无法激活链接 "无法激活链接的直接链接") * 下方报错代表系统启动时,电源功率不足导致文件系统扩展失败 * 需要重刷系统并且保证电源适配器至少可以提供5V-2A Loading... ### 支持的无线模块列表[​](#支持的无线模块列表 "支持的无线模块列表的直接链接") 以下是 FLYOS-FAST 系统官方测试并支持的无线网络模块: | 模块类型 | 系列/型号 | 支持频段 | 天线接口 | 备注 | | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | --------------------------------- | | **FLY 官方模块** | **FLY-M2WE** | 2.4G/5G 双频 | IPEX-1 | **推荐使用**,性能稳定,兼容性最佳 | | | **FLY-2.4GWiFi** | 2.4G 频段 | IPEX-1 | 适用于仅需 2.4G 连接的环境 | | **第三方
USB Wi-Fi 模块** | **AIC 系列**
AIC8800DL / DC / D40 / D80 / D80x2 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **MTK (联发科) 系列**
MT7601U / MT76X0U / MT76X2U / MT7663U | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | | | **Realtek (瑞昱) 系列**
RT61 / RT73 / RT2XX 系列
RTL81XX / 87XX / 88XX 系列
RTW88 / 89 系列
RTL815X 系列 | 视具体型号而定 | 视具体型号而定 | 系统已预装驱动,即插即用 | 使用建议 1. **推荐优先使用 FLY 官方模块**,确保最佳的兼容性和稳定性 2. **系统已预装上述芯片的驱动程序**,无需额外配置 3. **5G Wi-Fi 支持**取决于模块硬件能力,请参考具体产品规格 4. **天线连接**:FLY 官方模块使用 IPEX-1 接口,请确保使用匹配的天线 ### 静态 IP 配置(可选)[​](#静态-ip-配置可选 "静态 IP 配置(可选)的直接链接") * 如果需要配置静态 IP,可在 `nmtui` 中选择 "Edit a connection" 进行高级设置。 * 下方是参考 Loading... --- # FLY-Pi 使用注意事项 操作前必读 **所有接线操作前,请务必关闭打印机并断开电源。** 烧录固件时也请按对应指南操作。 ## 1. 电源要求[​](#1-电源要求 "1. 电源要求的直接链接") * **Type-C 供电(首次启动推荐)**:使用 **5V/2A 或以上**的电源适配器。部分电脑 USB 接口供电能力不足,可能导致系统首次自动扩容失败。 * **直流端子供电**:支持 **DC 12V-24V** 输入。 * 详细供电说明请参阅 [上位机供电](https://mellow.klipper.cn/docs/ProductDoc/SBC/fly-pi/host/power)。 ## 2. 存储配置[​](#2-存储配置 "2. 存储配置的直接链接") 重要 FLY-Pi**出厂时不附带任何存储设备**(即不包含 **M2WE 模块** 或 **Micro SD 卡**)。您必须至少配置以下一种存储介质,设备才能正常工作: * **选项一(推荐)**:购买 FLY 定制 **M2WE 模块**,以获得更快的系统响应速度与更高的可靠性。 * **选项二**:自备 **Micro SD(TF)卡**,容量需在 **16GB 至 128GB** 之间。 ## 3. 重要警告[​](#3-重要警告 "3. 重要警告的直接链接") 接口冲突警告 **禁止同时使用 TFT 屏幕与 SPI 加速度计接口!** * **冲突原因**:TFT 屏幕接口(FPC-TFT)、SPI 加速度计接口(ZH1.5-6P)在硬件上共享同一组 SPI 资源。 * **后果**:若同时连接,将导致 **屏幕显示异常** 及 **加速度计数据严重错误**。 * **解决方法**:请确保每次仅连接并使用其中一种设备。 *** --- # 12864 Loading... ## Klipper配置[​](#klipper配置 "Klipper配置的直接链接") 信息 * 正确连接到EXP接口后,将示例配置中的mini12864部分取消注释即可 ## Marlin 配置方法[​](#marlin-配置方法 "Marlin 配置方法的直接链接") * 在配置中添加即可 ``` #if HAS_WIRED_LCD #define BEEPER_PIN EXP1_10_PIN #define BTN_ENC EXP1_09_PIN #if ENABLED(CR10_STOCKDISPLAY) #define LCD_PINS_RS EXP1_07_PIN #define BTN_EN1 EXP2_08_PIN #define BTN_EN2 EXP2_06_PIN #define LCD_PINS_ENABLE EXP1_08_PIN #define LCD_PINS_D4 EXP1_06_PIN #elif ENABLED(MKS_MINI_12864) #define DOGLCD_A0 EXP1_04_PIN #define DOGLCD_CS EXP1_05_PIN #define BTN_EN1 EXP2_08_PIN #define BTN_EN2 EXP2_06_PIN #else #define LCD_PINS_RS EXP1_07_PIN #define BTN_EN1 EXP2_06_PIN #define BTN_EN2 EXP2_08_PIN #define LCD_PINS_ENABLE EXP1_08_PIN #define LCD_PINS_D4 EXP1_06_PIN #if ENABLED(FYSETC_MINI_12864) #define DOGLCD_CS EXP1_08_PIN #define DOGLCD_A0 EXP1_07_PIN //#define LCD_BACKLIGHT_PIN -1 #define LCD_RESET_PIN EXP1_06_PIN // Must be high or open for LCD to operate normally. #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) #ifndef RGB_LED_R_PIN #define RGB_LED_R_PIN EXP1_05_PIN #endif #ifndef RGB_LED_G_PIN #define RGB_LED_G_PIN EXP1_04_PIN #endif #ifndef RGB_LED_B_PIN #define RGB_LED_B_PIN EXP1_03_PIN #endif #elif ENABLED(FYSETC_MINI_12864_2_1) #define NEOPIXEL_PIN EXP1_05_PIN #endif #endif // !FYSETC_MINI_12864 #if IS_ULTIPANEL #define LCD_PINS_D5 EXP1_05_PIN #define LCD_PINS_D6 EXP1_04_PIN #define LCD_PINS_D7 EXP1_03_PIN #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder #endif #endif #endif #endif // HAS_WIRED_LCD ``` --- # DSI-LCD5 Loading... ## 产品简介[​](#产品简介 "产品简介的直接链接") * 屏幕尺寸:120.7mm\*76.0mm * 屏幕显示区域:108mm\*66.2mm * 分辨率:800\*480 * 屏幕类型 :IPS * 通信方式 :DSI /Mipi * 板载接口:15 pin DSI / 22pin Mipi * 工作温度:0°-60°C * 触摸类型 :Capacitive (电容式) * 逻辑电压:3.3V * 重量:135.5g ## 按键说明[​](#按键说明 "按键说明的直接链接") Loading... --- # 树莓派系统 * 这边有预先打包好的系统镜像,已经测试DSI屏幕显示和触摸 * 提示:需要进行屏幕配置 ## 树莓派安装[​](#树莓派安装 "树莓派安装的直接链接") Loading... ## 树莓派配置与接线[​](#树莓派配置与接线 "树莓派配置与接线的直接链接") 注意事项 * 树莓派系统建议使用`bookworm`版本 - 树莓派4B/3B使用DSI接口 - 树莓派5B使用Mipi接口 ## DSI使用方法[​](#dsi使用方法 "DSI使用方法的直接链接") * 镜像烧写完成后,进入/boot/config.txt中添加下方指令 ``` dtoverlay=vc4-kms-dsi-7inch ``` Loading... * 保存并且退出 - 参考接线 Loading... 须知 * 树莓派5的DSI与CSI接口现在已经改名叫MIPI * MIPI接口可通过配置直接使用CSI摄像头或者DSI屏幕 * 请注意金手指方向 - 树莓派5现在有两个MIPI接口,如果正面看的话可以看到上面有标记1和0 - DSI屏幕接线 * 如果使用1号接口需要按下方配置屏幕 ``` dtoverlay=vc4-kms-dsi-7inch,dsi1 ``` * 如果使用0号接口需要按下方配置屏幕 ``` dtoverlay=vc4-kms-dsi-7inch,dsi0 ``` * 参考接线 Loading... ## 三维模型下载[​](#三维模型下载 "三维模型下载的直接链接") * 点击下方下载链接 * Loading... --- # HDMI 7 Loading... HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * **两种连接方式**:可通过 FPC 排线直连 Fly 主板,省去 HDMI 和 USB 线材,布线更简洁;也保留标准 HDMI 接口,兼容常规使用。 * **便捷按键**:设有功能键,可快速调节亮度、旋转屏幕或重启系统。 * **触控流畅**:运用双面低阻散热技术,提升触摸灵敏度。 * **画面清晰**:支持黄光工艺,色彩还原准确,亮度 500nit 不刺眼。 * **坚固防护**:表面为钢化玻璃,抗刮耐冲击。 * **广泛兼容**:完美适配 Raspberry Pi 等主机,电路性能稳定,适合 3D 打印机等长期运行场景。 ## 产品简介[​](#产品简介 "产品简介的直接链接") * 屏幕尺寸:165mm\*100mm * 屏幕显示区域:154mm\*86mm * 分辨率:1024\*600 * 屏幕类型 :IPS * 通信方式 :HDMI * 板载接口 :TYPE-C HDMI FPC-HDMI(FLY私有协议) * 工作温度:0°-60°C * 触摸类型 :Capacitive (电容式) * 重量:239.6g ## 产品尺寸[​](#产品尺寸 "产品尺寸的直接链接") Loading... ## 屏幕三维模型[​](#屏幕三维模型 "屏幕三维模型的直接链接") * 点击下方下载链接 * Loading... --- # 固件烧录 适用版本 此文档适用于固件版本低于 `v1.2.0-2-gf71af68` 的设备。如果您的固件版本已达到或超过此版本,请参考 [固件更新](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/update) 文档,通过网页工具直接更新,无需进入 DFU 模式。 ## 屏幕版本判断[​](#屏幕版本判断 "屏幕版本判断的直接链接") * 请检查屏幕背面是否有下图所示的芯片。 * 若有,则说明您的屏幕为新款,支持自行更新固件。 * 新旧款屏幕对比如下: Loading... ## 查看固件版本[​](#查看固件版本 "查看固件版本的直接链接") 通过 [**网页工具**](https://mellow.klipper.cn/docs/ToolsDoc/hdmi-lcd-tool) ,可在连接设备后查看当前固件版本号。 ## 进入 DFU 烧录模式[​](#进入-dfu-烧录模式 "进入 DFU 烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 您可以通过以下任一方式让屏幕进入烧录模式: * **方法一**: 1. 使用 Type-C 数据线将屏幕连接到电脑。 2. 按住屏幕背面的 **BOOT** 按键不放,同时轻按一下 **RST** 按键,然后松开 **BOOT**。 * **方法二**: 1. 按住屏幕背面的 **BOOT** 按键不放。 2. 将 Type-C 数据线连接到屏幕与电脑,随后松开 **BOOT** 按键。 ## 烧录方法[​](#烧录方法 "烧录方法的直接链接") * WIN 烧录 * Linux 烧录 * FLYOS 烧录 - [**FLY-HDMI-LCD\_v1.2.0-13-gdebeaec-mergedBL.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/HDMI/mergedBL/FLY-HDMI-LCD_v1.2.0-13-gdebeaec-mergedBL.bin?v=420dfa3e8e83) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * STM32CubeProgrammer * APM32 DFUProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并解压 `DFUProgrammer`。 2. 手动安装工具包内的 APM32 DFU 驱动。 3. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 5. 打开 DFUProgrammer,按下图选择设备和固件。 Loading... Loading... 6. 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY-HDMI-LCD_v1.2.0-13-gdebeaec-mergedBL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/Screen/HDMI/mergedBL/FLY-HDMI-LCD_v1.2.0-13-gdebeaec-mergedBL.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY-HDMI-LCD_v1.2.0-13-gdebeaec-mergedBL.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/Screen/HDMI/mergedBL/FLY-HDMI-LCD_v1.2.0-13-gdebeaec-mergedBL.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... 注意 烧录过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 ## 下一步[​](#下一步 "下一步的直接链接") 完整固件烧录完成后,设备已支持通过网页工具直接更新主固件,无需再次进入 DFU 模式。 请参考[固件更新](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/update)文档完成主固件更新。 --- # HDMI 5 Loading... HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 ## 产品特点[​](#产品特点 "产品特点的直接链接") * **两种连接方式**:可通过 FPC 排线直连 Fly 主板,省去 HDMI 和 USB 线材,布线更简洁;也保留标准 HDMI 接口,兼容常规使用。 * **便捷按键**:设有功能键,可快速调节亮度、旋转屏幕或重启系统。 * **触控流畅**:运用双面低阻散热技术,提升触摸灵敏度。 * **画面清晰**:支持黄光工艺,色彩还原准确,亮度 500nit 不刺眼。 * **坚固防护**:表面为钢化玻璃,抗刮耐冲击。 * **广泛兼容**:完美适配 Raspberry Pi 等主机,电路性能稳定,适合 3D 打印机等长期运行场景。 ## 产品简介[​](#产品简介 "产品简介的直接链接") * 屏幕尺寸:121mm\*76mm * 屏幕显示区域:109mm\*66mm * 分辨率:800\*480 * 屏幕类型 :IPS * 通信方式 :HDMI * 板载接口 :TYPE-C HDMI FPC-HDMI(FLY私有协议) * 工作温度:0°-60°C * 触摸类型 :Capacitive (电容式) * 重量:137.2g ## 产品尺寸[​](#产品尺寸 "产品尺寸的直接链接") Loading... ## 屏幕三维模型[​](#屏幕三维模型 "屏幕三维模型的直接链接") * 点击下方下载链接 * Loading... --- # 屏幕分辨率调整指南 ## 问题描述[​](#问题描述 "问题描述的直接链接") 当您发现 FLY-HDMI 屏幕显示分辨率不正确时(如画面拉伸、分辨率不对等),请按照本指南的步骤更新屏幕配置文件。 ## 支持分辨率[​](#支持分辨率 "支持分辨率的直接链接") FLY-HDMI 屏幕支持以下分辨率: * **HDMI-7 英寸屏幕**: 1024 × 600 * **HDMI-5 英寸屏幕**: 800 × 480 ## 操作步骤[​](#操作步骤 "操作步骤的直接链接") ### 步骤 1:连接屏幕[​](#步骤-1连接屏幕 "步骤 1:连接屏幕的直接链接") 1. 使用 Type-C 数据线将屏幕连接至电脑 2. 打开 [FLY-LCD-HDMI 配置工具](https://mellow.klipper.cn/docs/ToolsDoc/hdmi-lcd-tool) 3. 点击 **连接屏幕** 按钮 Loading... ### 步骤 2:选择设备[​](#步骤-2选择设备 "步骤 2:选择设备的直接链接") 在设备列表中选择您的屏幕,然后点击 **连接** Loading... ### 步骤 3:进入配置界面[​](#步骤-3进入配置界面 "步骤 3:进入配置界面的直接链接") 点击 **触摸信息** 按钮 Loading... ### 步骤 4:更新配置文件[​](#步骤-4更新配置文件 "步骤 4:更新配置文件的直接链接") 1. 点击 **更新 CFG 配置** 按钮 Loading... 2. 根据您的屏幕尺寸选择对应的配置文件: * **HDMI-7 英寸屏幕**: 选择 `1024x600` * **HDMI-5 英寸屏幕**: 选择 `800x480` ### 步骤 5:启动更新[​](#步骤-5启动更新 "步骤 5:启动更新的直接链接") 点击 **启动更新配置** 按钮 Loading... ### 步骤 6:确认更新[​](#步骤-6确认更新 "步骤 6:确认更新的直接链接") 在弹出的确认对话框中点击 **确认更新** Loading... ### 步骤 7:重启屏幕[​](#步骤-7重启屏幕 "步骤 7:重启屏幕的直接链接") 1. 更新完成后,点击 **重启** 按钮 Loading... 2. 等待屏幕重启完成 3. 手动重新连接屏幕 ## 验证结果[​](#验证结果 "验证结果的直接链接") 重启后,检查屏幕显示是否正常: * 画面是否清晰无拉伸 * 分辨率是否符合预期 * 触摸功能是否正常 如果问题仍未解决,请尝试重新插拔 Type-C 连接线或联系技术支持。 --- # 固件更新 适用版本 此文档适用于固件版本 >= `v1.2.0-2-gf71af68` 的设备。此版本可直接通过网页工具更新,无需进入 DFU 模式。如果您的固件版本低于此版本,请参考 [固件烧录](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/flash) 文档。 ## 查看固件版本[​](#查看固件版本 "查看固件版本的直接链接") 通过 [**网页工具**](https://mellow.klipper.cn/docs/ToolsDoc/hdmi-lcd-tool) ,可在连接设备后查看当前固件版本号。 ## 固件下载[​](#固件下载 "固件下载的直接链接") 请下载用于网页工具更新的正确固件: * [**FLY-HDMI-LCD\_v1.2.0-13-gdebeaec.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/HDMI/Product-Firmware/FLY-HDMI-LCD_v1.2.0-13-gdebeaec.uf2?v=824478a2579d) * [**FLY-HDMI-LCD\_v1.2.0-13-gdebeaec.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/HDMI/Product-Firmware/FLY-HDMI-LCD_v1.2.0-13-gdebeaec.bin?v=ef396889732b) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 当前固件位于固件仓库的以下路径: ``` FLY-Firmware/Screen/HDMI/Product-Firmware ``` ## 更新步骤[​](#更新步骤 "更新步骤的直接链接") 1. 使用支持数据传输的 Type-C 线将屏幕连接到电脑。 2. 访问 [**FLY-HDMI 固件更新工具**](https://mellow.klipper.cn/docs/ToolsDoc/hdmi-lcd-tool)。 3. 点击 **烧录固件** 按钮。 4. 点击 **选择设备**,在弹出列表中选择 `FLY-HDMI-LCD`,然后点击 **连接**。 5. 连接成功后,可在工具页面查看当前固件版本。 6. 点击 **选择固件**,浏览并选中下载好的固件文件。 7. 点击 **开始烧录**,等待烧录完成。 8. 烧录成功后屏幕将自动重启。 注意 更新过程中请勿断开 Type-C 连接,否则可能导致烧录失败。 --- # FLY-HDMI 屏幕接线指南 ## 注意事项[​](#注意事项 "注意事项的直接链接") ### 1. 分辨率支持[​](#1-分辨率支持 "1. 分辨率支持的直接链接") * 部分系统可能不兼容本屏幕的默认分辨率,选购或使用前建议向卖家确认。 * **FAST 系统**支持以下两种分辨率: * **HDMI-7 英寸屏幕**:1024 × 600 * **HDMI-5 英寸屏幕**:800 × 480 ### 2. 供电建议[​](#2-供电建议 "2. 供电建议的直接链接") * 使用屏幕时,为确保设备稳定运行,建议使用 **5V / 2A 或更高规格**的电源适配器。 * 电脑 USB 端口的输出可能无法达到此要求,因此**不建议**仅通过电脑 USB 供电,请使用独立电源。 ## 屏幕接线方法[​](#屏幕接线方法 "屏幕接线方法的直接链接") FLY-HDMI 屏幕提供两种连接方式,请根据您的需求选择其一: ### 方法一:使用 FPC 排线连接[​](#方法一使用-fpc-排线连接 "方法一:使用 FPC 排线连接的直接链接") HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 * **重要**:采用此方式时,屏幕侧的 **Type-C 接口请勿连接其他设备**,否则可能导致触摸功能失效。 * **安全提示**:FPC 排线**严禁**在通电状态下进行插拔操作。 Loading... ### 方法二:使用 HDMI 线连接[​](#方法二使用-hdmi-线连接 "方法二:使用 HDMI 线连接的直接链接") * **重要**:采用此方式前,请**确保设备已断电**,并移除 FPC 排线。 * **前提条件**:必须使用**支持数据传输功能**的 Type-C 线连接屏幕,以实现触摸功能。 Loading... --- # 简介 * 分体式设计,支持多种核心板DSI与HDMI * 多种尺寸,4.3英寸,4英寸,7英寸 * 高清分辨率,不错过每一个细节 * 支持10级亮度调节 * 支持180°屏幕翻转 注意事项 * 七寸屏幕只能使用HDMI核心板 * DSI无法使用7寸屏 ## 产品尺寸[​](#产品尺寸 "产品尺寸的直接链接") Loading... Loading... --- # DSI使用 提示 本教程使用树莓派4B为例 注意事项 * 树莓派系统建议使用`bookworm`版本 ## 树莓派系统[​](#树莓派系统 "树莓派系统的直接链接") * 这边有预先打包好的系统镜像,已经测试DSI屏幕显示和触摸 * 提示:需要进行屏幕配置 ## 参考接线[​](#参考接线 "参考接线的直接链接") 注意事项 请注意金手指方向 * DSI核心板接线 Loading... * 树莓派接线 Loading... ## 树莓派配置[​](#树莓派配置 "树莓派配置的直接链接") * 树莓派4B/3B使用DSI接口 * 树莓派5B使用Mipi接口 ## DSI使用方法[​](#dsi使用方法 "DSI使用方法的直接链接") * 镜像烧写完成后,进入/boot/config.txt中添加下方指令 ``` dtoverlay=vc4-kms-dsi-7inch ``` Loading... * 保存并且退出 ## 树莓派5搭配MIPI[​](#树莓派5搭配mipi "树莓派5搭配MIPI的直接链接") 提示 FLY\_MIPI是专门给树莓派5设计的转接模块,可通过转接直接使用DSI与CSI设备 ### 树莓派5搭配MIPI接线[​](#树莓派5搭配mipi接线 "树莓派5搭配MIPI接线的直接链接") 须知 * 树莓派5的DSI与CSI接口现在已经改名叫MIPI * MIPI接口可通过配置直接使用CSI摄像头或者DSI屏幕 * 请注意金手指方向 - 树莓派5现在有两个MIPI接口,如果正面看的话可以看到上面有标记1和0 ## DSI屏幕接线[​](#dsi屏幕接线 "DSI屏幕接线的直接链接") * 如果使用1号接口需要按下方配置屏幕 ``` dtoverlay=vc4-kms-dsi-7inch,dsi1 ``` * 如果使用0号接口需要按下方配置屏幕 ``` dtoverlay=vc4-kms-dsi-7inch,dsi0 ``` * 参考接线 Loading... ## CSI摄像头接线[​](#csi摄像头接线 "CSI摄像头接线的直接链接") Loading... * 请注意摄像头型号需要根据自己购买的进行配置,本教程使用imx219进行参考 * 如果使用左边MIPI接口需要按下方配置摄像头 ``` dtoverlay=imx219,cam1 ``` * 如果使用右边MIPI接口需要按下方配置摄像头 ``` dtoverlay=imx219,cam0 ``` * 参考接线 Loading... --- # 屏幕接线与配置 ## FLY上位机使用教程[​](#fly上位机使用教程 "FLY上位机使用教程的直接链接") 提示 FLY 上位机板载的HDMI接口是Micro HDMI,购买HDMI线时请注意!!! 提示 FLY的上位机支持FPC一线通的有`FLY-PI-V2`,`FLY-C8`与`FLY-PRO-X10` HDMI FPC 排线规格 使用 `FPC-HDMI` 接口连接 FLY HDMI 屏幕时,请使用以下规格: * FPC规格:`FPC 软排线-25P-反向-0.5mm-1米` 标准 HDMI 接口连接不需要使用此 FPC 排线。 * 请确保接线正确 - FLY-C8使用LCD FPC一线通接线 - FLY-Pi-V2使用LCD FPC一线通接线 - FLY-PRO-X10使用LCD FPC一线通接线 - FLY-Lite2使用LCD FPC一线通接线 - 使用FPC转HDMI模块 * FLY-C8 HDMI屏幕接线 Loading... * FLY-Pi v2 HDMI屏幕接线 Loading... * FLY-PRO-X10 HDMI屏幕接线 Loading... * FLY-Lite2 HDMI屏幕接线 Loading... * 使用FPC转HDMI模块 * 请注意需要接上带有数据传输功能的type-c到模块与对应的上位机上 Loading... --- # 三维模型 信息 * 本文档提供以下几种 * 三维模型 ## 屏幕三维模型[​](#屏幕三维模型 "屏幕三维模型的直接链接") * 点击下方网盘链接 * Loading... --- # 简介 Fly\_WiScreen 5 是广州镁伦电子科技有限公司(FLY3D)研发的 Klipper 控制屏幕。它支持 **WIFI 固件** 与 **串口固件** 两种模式:既可通过 WIFI 连接局域网内的 Klipper 上位机,也可通过串口直接与 FlyOS-FAST 等系统通信。屏幕配备 5 英寸 IPS 电容触摸屏,并支持通过 USB 或 TF 卡进行文件传输和固件更新。 Loading... 与 FLY Screen 的区别 Fly-WiScreen 5 是独立串口 / WIFI 屏幕。串口模式使用 `moon2uart` 通信,不使用 `fly_screen` 开关;`fly_screen` 是 FlyOS-FAST 本机屏幕显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 ## 核心特性[​](#核心特性 "核心特性的直接链接") ### WIFI 固件模式[​](#wifi-固件模式 "WIFI 固件模式的直接链接") * **网络连接**: 支持通过WIFI搜索并连接局域网内的Klipper上位机。 * **文件传输**: 支持使用板载USB接口或TF卡槽上传打印文件到打印机。 * **集群控制**: 支持主从机模式, 方便同步管理与控制多台打印机。 * **自定义宏**: 支持自定义操作宏命令, 简化调试与复杂操作流程。 ### 串口固件模式[​](#串口固件模式 "串口固件模式的直接链接") * **直接连接**: 支持通过串口直接连接FlyOS-FAST系统或安装了Moon2Uart插件的上位机。 * **自定义宏**: 支持自定义操作宏命令, 简化调试与复杂操作流程。 * **高级功能 (FlyOS-FAST专属)**: * 断电续打提示与恢复。 * 通过屏幕控制上位机的WIFI连接与配置。 * 通过屏幕设置挤出机喷嘴尺寸与耗材类型。 * 文件管理、模型切片及打印队列设置。 * 查看上位机系统版本等信息。 * **注意事项**: * 此模式下将**无法使用板载WIFI功能**。 * 板载USB与TF卡槽**仅可用于固件更新**, 不可用于常规文件传输。 ## 功能入口[​](#功能入口 "功能入口的直接链接") | 功能 | 文档 | | ---------------- | ------------------------------------------------------------------------------------------- | | 固件下载与更新 | [屏幕固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/updata) | | 串口屏幕使用 | [串口屏幕使用](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/serial_usage) | | Klipper 连接配置 | [Klipper 配置](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/klipper) | | 开机图片修改 | [开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/flash) | | 原理图 | [原理图](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/schematic) | ## 产品规格[​](#产品规格 "产品规格的直接链接") * **处理器**: 全志T113-S3, 双核 Cortex-A7, 最高1.2GHz * **运行内存**: 集成128MB DDR3 * **存储**: 128MB NAND Flash * **显示屏**: 5英寸IPS电容屏, 分辨率800X480, 支持多点触控 * **外部接口**: USB 2.0 x1, TF卡槽 x1 * **无线网络**: 支持802.11b/g/n协议 * **供电**: 额定电压5V * **扩展供电**: 5V供电口可外接充电模块, 支持改装为电池供电 ## 如何选择固件?[​](#如何选择固件 "如何选择固件?的直接链接") * 若您需要**无线连接多台Klipper打印机**, 并使用屏幕直接传输文件, 请选择 **“WIFI固件”**。 * 若您使用 **FlyOS-FAST系统**, 并希望获得断电续打、屏幕端 WiFi 配置等深度集成功能, 请选择 **“串口固件”**。 * 若您要启用本机 HDMI / FLY-TFT 显示界面, 请查看 [FLY Screen](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/) 文档,不要用 `fly_screen` 替代 WiScreen 5 的串口固件配置。 * 固件下载与烧录指南, 请参阅后续的“固件更新”章节。 --- # 开机图片修改 本页用于修改 Fly-WiScreen 5 寸屏的开机 LOGO、首页图片和打印界面图片。该操作只替换 WiScreen 5 屏幕资源图片,不会修改 Klipper、FlyOS-FAST 或屏幕固件程序。 适用范围 * Fly-WiScreen 5 寸屏:按本页方法,将图片放入 SD 卡或 U 盘根目录后在屏幕端点击 `升级`。 * FLY Screen:使用浏览器上传到系统配置目录后自动替换,不使用本页的 SD 卡 / U 盘升级方式;当前 FlyScreen 项目不包含 `boot_logo.JPG` 开机 LOGO 替换。 文件要求 * 图片分辨率、格式、文件名和大小必须完全符合要求。 * 文件名区分大小写,`boot_logo.JPG` 中的 `.JPG` 必须为大写。 * 不要把图片放入文件夹中,请直接放在 SD 卡或 U 盘根目录。 ## 图片规格[​](#图片规格 "图片规格的直接链接") | 图片用途 | 分辨率 | 格式 | 文件名 | 大小限制 | | ------------ | ----------- | ---- | ---------- | --------------- | | 开机 LOGO | `800 x 480` | JPG | Loading... | 不超过 `105 KB` | | 第一界面图片 | `500 x 400` | PNG | Loading... | 不超过 `45 KB` | | 打印界面图片 | `311 x 480` | PNG | Loading... | 不超过 `45 KB` | Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `boot_logo.JPG.jpg` 或 `print.png.png`。制作图片前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 重命名文件时确认完整文件名与上表文件名完全一致。 ## 准备文件[​](#准备文件 "准备文件的直接链接") 1. 按上表尺寸制作图片。 2. 确认文件名与上表完全一致。 3. 将需要更新的图片复制到 SD 卡或 U 盘根目录。 4. 安全弹出 SD 卡或 U 盘,避免文件未写入完成。 ## 升级步骤[​](#升级步骤 "升级步骤的直接链接") 1. 确认 WiScreen 5 已正常开机并进入屏幕界面。 2. 将准备好的 SD 卡或 U 盘插入屏幕对应接口。 3. 在屏幕界面点击 `升级`。 4. 等待屏幕提示升级完成或自动刷新。 5. 拔出 SD 卡或 U 盘后,重启屏幕确认图片是否生效。 升级过程 升级过程中不要断电,不要拔出 SD 卡或 U 盘。若升级中断,可能导致图片资源未完整写入,需要重新准备文件并再次升级。 ## 结果判断[​](#结果判断 "结果判断的直接链接") | 现象 | 判断 | | ---------------------- | -------------------------------------- | | 重启后开机 LOGO 已变化 | `boot_logo.JPG` 更新成功 | | 首页图片已变化 | `print.png` 更新成功 | | 打印界面图片已变化 | `print_smail.png` 更新成功 | | 点击升级后无变化 | 优先检查文件名、格式、大小和根目录位置 | ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 屏幕没有识别图片[​](#屏幕没有识别图片 "屏幕没有识别图片的直接链接") 1. 确认图片位于 SD 卡或 U 盘根目录。 2. 确认文件名没有多余后缀,例如不要写成 `boot_logo.JPG.jpg`。 3. 确认 `boot_logo.JPG` 的扩展名为大写 `.JPG`。 4. 确认文件大小没有超过限制。 ### 图片显示变形或裁切[​](#图片显示变形或裁切 "图片显示变形或裁切的直接链接") 请重新按指定分辨率导出图片,不要使用与屏幕比例不一致的图片直接改名。 ### 点击升级后仍显示旧图片[​](#点击升级后仍显示旧图片 "点击升级后仍显示旧图片的直接链接") 1. 重新格式化 SD 卡或 U 盘后再复制图片。 2. 只保留本次需要更新的图片文件,避免混入旧文件。 3. 重新插入屏幕并再次点击 `升级`。 4. 若仍失败,请更换 SD 卡或 U 盘测试。 ## 与 FLY Screen 的区别[​](#与-fly-screen-的区别 "与 FLY Screen 的区别的直接链接") Fly-WiScreen 5 串口屏使用 `moon2uart` 通信,不使用 `fly_screen` 开关。`fly_screen` 是 FlyOS-FAST 本机屏幕显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 两者的图片替换方式不同;`boot_logo.JPG` 仅适用于 Fly-WiScreen 5 寸屏。 | 功能 | 替换方式 | | ------------------- | ------------------------------------------------------------------------------------ | | Fly-WiScreen 5 寸屏 | SD 卡或 U 盘根目录放入图片,在屏幕端点击 `升级` | | FLY Screen | 通过浏览器进入系统配置文件管理界面,上传 `print.png` 或 `print_smail.png` 后自动替换 | > **FLY Screen 图片替换**:[FLY Screen 图片替换](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/image) --- # klipper 提示 出厂已经预先刷好固件,但是建议手动更新一次 ## WIFI连接与基本操作[​](#wifi连接与基本操作 "WIFI连接与基本操作的直接链接") [7寸WiFi电容屏幕控制多台机器](https://www.bilibili.com/video/BV1mr421b7Bf/?spm_id_from=333.788\&vd_source=36affb37d7228751cd1fcbbda487dfdf) ## Klipper配置[​](#klipper配置 "Klipper配置的直接链接") ### LED配置[​](#led配置 "LED配置的直接链接") ``` [led LED] white_pin:PA15 ``` ### PTC/热敏电阻配置[​](#ptc热敏电阻配置 "PTC/热敏电阻配置的直接链接") ``` [heater_generic warehouse] heater_pin:E_CS sensor_type:ATC Semitec 104GT-2 sensor_pin:PA1 min_temp:-270 max_temp:600 control:watermark ``` ### FAN配置[​](#fan配置 "FAN配置的直接链接") ``` [fan_generic fan1] pin: FAN1 ``` ``` [fan_generic fan2] pin: FAN2 ``` ### 自定义Gcode[​](#自定义gcode "自定义Gcode的直接链接") * 屏幕下拉后出现自定义Gcode, * 一个按钮发送多个gcode格式: * 例子: ``` G91 G1 X10 F6000 G90 ``` * 屏幕上输入格式:(从第二行开始,每个命令前面加入\n) ``` G91\nG1 X10 F6000\nG90 ``` ## 多设备连接[​](#多设备连接 "多设备连接的直接链接") * 需要替换Moonraker * 请先连接SSH,并且保证可以正常上网 1. 备份Moonraker文件 ``` mv ~/moonraker ~/moonraker-bak ``` 2. 停止Moonraker服务 ``` sudo systemctl stop moonraker ``` 3. 拉取Moonraker ``` git clone https://cnb.cool/3dmellow/public/moonraker -b dev-flyos moonraker ``` 4. 在浏览器访问上位机找到`moonraker.conf`添加,然后重启系统 ``` [network] ``` 5. 然后在浏览器输入下方地址,其中IP需要替换成上位机的IP ``` http://ip:7125/server/network/wifi/scan ``` * 出现这步代表操作完成 Loading... --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型[​](#主板三维模型 "主板三维模型的直接链接") * 屏幕三维模型 * 点击下方网盘链接 * Loading... --- # 串口屏幕使用 本页用于说明 Fly-WiScreen 5 寸屏刷写串口固件后的日常使用方式。WiScreen 5 寸屏与 WiScreen 7 寸屏的串口屏幕使用教程几乎一样,主要区别是屏幕尺寸、图片资源规格和少量界面布局差异。 串口模式下,WiScreen 通过 `moon2uart` 与 FlyOS-FAST 或已安装 Moon2Uart 的上位机通信,不使用 `fly_screen` 开关。`fly_screen` 是 FlyOS-FAST 本机屏幕显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 > **FLY Screen 使用教程**:[使用教程](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage) 使用教程关系 WiScreen 串口固件的文件列表、打印状态、移动温度、工具校准、设置和断电续打等页面,与 FLY Screen 的日常使用流程基本一致。阅读上方 FLY Screen 使用教程时,请只参考屏幕操作流程,不要把其中的 `klipper_screen=0`、`fly_screen=1` 启用配置用于 WiScreen 串口屏。 ## 使用前确认[​](#使用前确认 "使用前确认的直接链接") 1. 屏幕已刷写 Fly-WiScreen 5 寸屏串口固件。 2. 上位机为 FlyOS-FAST,或已安装并启用 Moon2Uart 相关服务。 3. 屏幕能正常进入主界面,并能读取打印机状态、温度和文件列表。 4. 若屏幕无数据或一直离线,请先检查串口固件、Moon2Uart 服务和连接配置。 ## 常用功能[​](#常用功能 "常用功能的直接链接") 串口屏幕常用功能可直接参考 FLY Screen 使用教程: | 功能 | 参考章节 | | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | 文件列表、选择文件、开始打印 | [文件列表与上传打印文件](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#file-list-upload) | | 打印中暂停、恢复、停止、调速、Z 偏移 | [打印中操作](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#printing-controls) | | 喷嘴、热床、风扇温度控制 | [温度控制](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#temperature-control) | | 归零、移动 X/Y/Z 轴 | [移动与归零](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#move-home) | | 装载、卸载和手动挤出耗材 | [耗材操作](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#filament-control) | | PID、网格调平、共振补偿等校准入口 | [工具与校准](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#tools-calibration) | | WiFi、服务、存储、语言、控制台和关于设备 | [设置与关于](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#settings-about) | | 断电续打 | [断电续打](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#power-loss-resume) | 界面差异 不同串口屏固件、FlyOS-FAST 或 Moon2Uart 版本的按钮名称和位置可能略有差异,请以实际屏幕显示为准。 ## 与 7 寸屏的区别[​](#与-7-寸屏的区别 "与 7 寸屏的区别的直接链接") Fly-WiScreen 5 寸屏和 Fly-WiScreen 7 寸屏的串口屏幕使用逻辑几乎一致。日常打印、温度、移动、设置和断电续打流程可以共用同一套使用说明;涉及图片替换时,请按对应尺寸页面的图片规格制作资源。 > **开机图片修改**:[Fly-WiScreen 5 寸屏开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen5/flash) --- # 固件下载 ## 串口固件下载[​](#串口固件下载 "串口固件下载的直接链接") 1. 点击下方下载链接获取固件: * 您可以通过以下链接获取固件: - [**update.img**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/Wiscreen/Wiscreen-5/UART/update.img?v=08a15458cc12) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/Screen/Wiscreen/Wiscreen-5/UART ``` 2. 下载界面参考: Loading... ## WiFi固件下载[​](#wifi固件下载 "WiFi固件下载的直接链接") 1. 点击下方下载链接获取固件: * 您可以通过以下链接获取固件: - [**update.img**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/Wiscreen/Wiscreen-5/WIFI/update.img?v=f6f13b7ed5e9) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/Screen/Wiscreen/Wiscreen-5/WIFI ``` 2. 下载界面参考: Loading... ## 固件更新步骤[​](#固件更新步骤 "固件更新步骤的直接链接") ### 步骤一: 准备固件文件[​](#步骤一-准备固件文件 "步骤一: 准备固件文件的直接链接") 1. 将下载的固件文件重命名为: ``` update.img ``` 2. **重要提示**: * 如果使用TF卡/U盘, 请确保存储设备: * 只有一个分区 * 格式化为FAT32文件系统 ### 步骤二: 传输固件文件[​](#步骤二-传输固件文件 "步骤二: 传输固件文件的直接链接") 1. 将重命名后的 `update.img` 文件复制到TF卡或U盘的根目录 2. 将存储设备插入屏幕(支持热插拔, 可在屏幕开机状态下插入) ### 步骤三: 执行升级操作[​](#步骤三-执行升级操作 "步骤三: 执行升级操作的直接链接") 1. 在屏幕界面勾选对应选项 2. 点击"升级"按钮开始升级 3. 等待升级完成, 屏幕会自动重启 --- # 简介 Fly\_WiScreen是广州镁伦电子科技有限公司(FLY3D)研发的一款高端Klipper控制屏幕。它**支持两种固件模式(WIFI/串口)**, 为用户提供灵活的连接选择: 既可通过WIFI连接Klipper上位机, 也可通过串口直接与FlyOS-FAST等系统通信。屏幕响应迅速, 配备7英寸IPS电容触摸屏, 并支持通过USB或TF卡传输文件, 带来流畅高效的操作体验。 Loading... ## 核心特性[​](#核心特性 "核心特性的直接链接") ### WIFI 固件模式[​](#wifi-固件模式 "WIFI 固件模式的直接链接") * **网络连接**: 支持通过WIFI搜索并连接局域网内的Klipper上位机。 * **文件传输**: 支持使用板载USB接口或TF卡槽上传打印文件到打印机。 * **集群控制**: 支持主从机模式, 方便同步管理与控制多台打印机。 * **自定义宏**: 支持自定义操作宏命令, 简化调试与复杂操作流程。 ### 串口固件模式[​](#串口固件模式 "串口固件模式的直接链接") * **直接连接**: 支持通过串口直接连接FlyOS-FAST系统或安装了Moon2Uart插件的上位机。 * **自定义宏**: 支持自定义操作宏命令, 简化调试与复杂操作流程。 * **高级功能 (FlyOS-FAST专属)**: * 断电续打提示与恢复。 * 通过屏幕控制上位机的WIFI连接与配置。 * 通过屏幕设置挤出机喷嘴尺寸与耗材类型。 * 文件管理、模型切片及打印队列设置。 * 查看上位机系统版本等信息。 * **注意事项**: * 此模式下将**无法使用板载WIFI功能**。 * 板载USB与TF卡槽**仅可用于固件更新**, 不可用于常规文件传输。 ## 功能入口[​](#功能入口 "功能入口的直接链接") | 功能 | 文档 | | ---------------- | ------------------------------------------------------------------------------------------- | | 固件下载与更新 | [屏幕固件下载](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/updata) | | 串口屏幕使用 | [串口屏幕使用](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/serial_usage) | | Klipper 连接配置 | [Klipper 配置](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/klipper) | | 开机图片修改 | [开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/flash) | | 原理图 | [原理图](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/schematic) | ## 产品规格[​](#产品规格 "产品规格的直接链接") * **处理器**: 全志T113-S3, 双核 Cortex-A7, 最高1.2GHz * **运行内存**: 集成128MB DDR3 * **存储**: 128MB NAND Flash * **显示屏**: 7英寸IPS电容屏, 分辨率1024x600, 支持多点触控 * **外部接口**: USB 2.0 x1, TF卡槽 x1 * **无线网络**: 支持802.11b/g/n协议 * **供电**: 额定电压5V * **扩展供电**: 5V供电口可外接充电模块, 支持改装为电池供电 ## 如何选择固件?[​](#如何选择固件 "如何选择固件?的直接链接") * 若您需要**无线连接多台Klipper打印机**, 并使用屏幕直接传输文件, 请选择 **“WIFI固件”**。 * 若您使用 **FlyOS-FAST系统**, 并希望获得断电续打、屏幕端WiFi配置等深度集成功能, 请选择 **“串口固件”**。 * 固件下载与烧录指南, 请参阅后续的“固件更新”章节。 --- # 开机图片修改 本页用于修改 Fly-WiScreen 7 寸屏的开机 LOGO、首页图片和打印界面图片。该操作只替换 WiScreen 7 屏幕资源图片,不会修改 Klipper、FlyOS-FAST 或屏幕固件程序。 适用范围 * Fly-WiScreen 7 寸屏:按本页方法,将图片放入 SD 卡或 U 盘根目录后在屏幕端点击 `升级`。 * FLY Screen:首页图片和打印界面图片规格相同,但使用浏览器上传到系统配置目录后自动替换,不使用本页的 SD 卡 / U 盘升级方式;当前 FlyScreen 项目不包含 `boot_logo.JPG` 开机 LOGO 替换。 文件要求 * 图片分辨率、格式、文件名和大小必须完全符合要求。 * 文件名区分大小写,`boot_logo.JPG` 中的 `.JPG` 必须为大写。 * 不要把图片放入文件夹中,请直接放在 SD 卡或 U 盘根目录。 ## 图片规格[​](#图片规格 "图片规格的直接链接") | 图片用途 | 分辨率 | 格式 | 文件名 | 大小限制 | | ------------ | ------------ | ---- | ---------- | --------------- | | 开机 LOGO | `1024 x 600` | JPG | Loading... | 不超过 `105 KB` | | 第一界面图片 | `736 x 563` | PNG | Loading... | 不超过 `45 KB` | | 打印界面图片 | `355 x 565` | PNG | Loading... | 不超过 `45 KB` | Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `boot_logo.JPG.jpg` 或 `print.png.png`。制作图片前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 重命名文件时确认完整文件名与上表文件名完全一致。 ## 准备文件[​](#准备文件 "准备文件的直接链接") 1. 按上表尺寸制作图片。 2. 确认文件名与上表完全一致。 3. 将需要更新的图片复制到 SD 卡或 U 盘根目录。 4. 安全弹出 SD 卡或 U 盘,避免文件未写入完成。 ## 升级步骤[​](#升级步骤 "升级步骤的直接链接") 1. 确认 WiScreen 7 已正常开机并进入屏幕界面。 2. 将准备好的 SD 卡或 U 盘插入屏幕对应接口。 3. 在屏幕界面点击 `升级`。 4. 等待屏幕提示升级完成或自动刷新。 5. 拔出 SD 卡或 U 盘后,重启屏幕确认图片是否生效。 升级过程 升级过程中不要断电,不要拔出 SD 卡或 U 盘。若升级中断,可能导致图片资源未完整写入,需要重新准备文件并再次升级。 ## 结果判断[​](#结果判断 "结果判断的直接链接") | 现象 | 判断 | | ---------------------- | -------------------------------------- | | 重启后开机 LOGO 已变化 | `boot_logo.JPG` 更新成功 | | 首页图片已变化 | `print.png` 更新成功 | | 打印界面图片已变化 | `print_smail.png` 更新成功 | | 点击升级后无变化 | 优先检查文件名、格式、大小和根目录位置 | ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 屏幕没有识别图片[​](#屏幕没有识别图片 "屏幕没有识别图片的直接链接") 1. 确认图片位于 SD 卡或 U 盘根目录。 2. 确认文件名没有多余后缀,例如不要写成 `boot_logo.JPG.jpg`。 3. 确认 `boot_logo.JPG` 的扩展名为大写 `.JPG`。 4. 确认文件大小没有超过限制。 ### 图片显示变形或裁切[​](#图片显示变形或裁切 "图片显示变形或裁切的直接链接") 请重新按指定分辨率导出图片,不要使用与屏幕比例不一致的图片直接改名。 ### 点击升级后仍显示旧图片[​](#点击升级后仍显示旧图片 "点击升级后仍显示旧图片的直接链接") 1. 重新格式化 SD 卡或 U 盘后再复制图片。 2. 只保留本次需要更新的图片文件,避免混入旧文件。 3. 重新插入屏幕并再次点击 `升级`。 4. 若仍失败,请更换 SD 卡或 U 盘测试。 ## 与 FLY Screen 的区别[​](#与-fly-screen-的区别 "与 FLY Screen 的区别的直接链接") Fly-WiScreen 7 串口屏使用 `moon2uart` 通信,不使用 `fly_screen` 开关。`fly_screen` 是 FlyOS-FAST 本机屏幕显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 两者的首页图片、打印界面图片使用相同规格与文件名,但替换方式不同;`boot_logo.JPG` 仅适用于 Fly-WiScreen 7 寸屏。 | 功能 | 替换方式 | | ------------------- | ------------------------------------------------------------------------------------ | | Fly-WiScreen 7 寸屏 | SD 卡或 U 盘根目录放入图片,在屏幕端点击 `升级` | | FLY Screen | 通过浏览器进入系统配置文件管理界面,上传 `print.png` 或 `print_smail.png` 后自动替换 | > **FLY Screen 图片替换**:[FLY Screen 图片替换](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/image) --- # klipper 提示 出厂已经预先刷好固件,但是建议手动更新一次 ## WIFI连接与基本操作[​](#wifi连接与基本操作 "WIFI连接与基本操作的直接链接") [7寸WiFi电容屏幕控制多台机器](https://www.bilibili.com/video/BV1mr421b7Bf/?spm_id_from=333.788\&vd_source=36affb37d7228751cd1fcbbda487dfdf) ## Klipper配置[​](#klipper配置 "Klipper配置的直接链接") ### LED配置[​](#led配置 "LED配置的直接链接") ``` [led LED] white_pin:PA15 ``` ### PTC/热敏电阻配置[​](#ptc热敏电阻配置 "PTC/热敏电阻配置的直接链接") ``` [heater_generic warehouse] heater_pin:E_CS sensor_type:ATC Semitec 104GT-2 sensor_pin:PA1 min_temp:-270 max_temp:600 control:watermark ``` ### FAN配置[​](#fan配置 "FAN配置的直接链接") ``` [fan_generic fan1] pin: FAN1 ``` ``` [fan_generic fan2] pin: FAN2 ``` ### 自定义Gcode[​](#自定义gcode "自定义Gcode的直接链接") * 屏幕下拉后出现自定义Gcode, * 一个按钮发送多个gcode格式: * 例子: ``` G91 G1 X10 F6000 G90 ``` * 屏幕上输入格式:(从第二行开始,每个命令前面加入\n) ``` G91\nG1 X10 F6000\nG90 ``` ## 多设备连接[​](#多设备连接 "多设备连接的直接链接") * 需要替换Moonraker * 请先连接SSH,并且保证可以正常上网 1. 备份Moonraker文件 ``` mv ~/moonraker ~/moonraker-bak ``` 2. 停止Moonraker服务 ``` sudo systemctl stop moonraker ``` 3. 拉取Moonraker ``` git clone https://cnb.cool/3dmellow/public/moonraker -b dev-flyos moonraker ``` 4. 在浏览器访问上位机找到`moonraker.conf`添加,然后重启系统 ``` [network] ``` 5. 然后在浏览器输入下方地址,其中IP需要替换成上位机的IP ``` http://ip:7125/server/network/wifi/scan ``` * 出现这步代表操作完成 Loading... --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型[​](#主板三维模型 "主板三维模型的直接链接") * 屏幕三维模型 * 点击下方网盘链接 * Loading... --- # 串口屏幕使用 本页用于说明 Fly-WiScreen 7 寸屏刷写串口固件后的日常使用方式。WiScreen 7 寸屏与 WiScreen 5 寸屏的串口屏幕使用教程几乎一样,主要区别是屏幕尺寸、图片资源规格和少量界面布局差异。 串口模式下,WiScreen 通过 `moon2uart` 与 FlyOS-FAST 或已安装 Moon2Uart 的上位机通信,不使用 `fly_screen` 开关。`fly_screen` 是 FlyOS-FAST 本机屏幕显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 > **FLY Screen 使用教程**:[使用教程](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage) 使用教程关系 WiScreen 串口固件的文件列表、打印状态、移动温度、工具校准、设置和断电续打等页面,与 FLY Screen 的日常使用流程基本一致。阅读上方 FLY Screen 使用教程时,请只参考屏幕操作流程,不要把其中的 `klipper_screen=0`、`fly_screen=1` 启用配置用于 WiScreen 串口屏。 ## 使用前确认[​](#使用前确认 "使用前确认的直接链接") 1. 屏幕已刷写 Fly-WiScreen 7 寸屏串口固件。 2. 上位机为 FlyOS-FAST,或已安装并启用 Moon2Uart 相关服务。 3. 屏幕能正常进入主界面,并能读取打印机状态、温度和文件列表。 4. 若屏幕无数据或一直离线,请先检查串口固件、Moon2Uart 服务和连接配置。 ## 常用功能[​](#常用功能 "常用功能的直接链接") 串口屏幕常用功能可直接参考 FLY Screen 使用教程: | 功能 | 参考章节 | | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | 文件列表、选择文件、开始打印 | [文件列表与上传打印文件](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#file-list-upload) | | 打印中暂停、恢复、停止、调速、Z 偏移 | [打印中操作](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#printing-controls) | | 喷嘴、热床、风扇温度控制 | [温度控制](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#temperature-control) | | 归零、移动 X/Y/Z 轴 | [移动与归零](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#move-home) | | 装载、卸载和手动挤出耗材 | [耗材操作](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#filament-control) | | PID、网格调平、共振补偿等校准入口 | [工具与校准](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#tools-calibration) | | WiFi、服务、存储、语言、控制台和关于设备 | [设置与关于](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#settings-about) | | 断电续打 | [断电续打](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage#power-loss-resume) | 界面差异 不同串口屏固件、FlyOS-FAST 或 Moon2Uart 版本的按钮名称和位置可能略有差异,请以实际屏幕显示为准。 ## 与 5 寸屏的区别[​](#与-5-寸屏的区别 "与 5 寸屏的区别的直接链接") Fly-WiScreen 7 寸屏和 Fly-WiScreen 5 寸屏的串口屏幕使用逻辑几乎一致。日常打印、温度、移动、设置和断电续打流程可以共用同一套使用说明;涉及图片替换时,请按对应尺寸页面的图片规格制作资源。 > **开机图片修改**:[Fly-WiScreen 7 寸屏开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/flash) --- # 下载源码及IDE 提示 下载屏幕源码 * [GITHUB链接](https://github.com/FLYmaker/WiScreen) 提示 下载屏幕源码开发IDE及SDK * [点击下载FlyThings IDE](https://download.flythings.cn/ide/flythings-ide-win32-win32-x86-zkswe-setup.zip) * [点击下载SDK](https://download.flythings.cn/sdk/platforms/t113.7z) ## 安装Flythings IDE[​](#安装flythings-ide "安装Flythings IDE的直接链接") 提示 全部选择下一步即可 ## 导入T113SDK[​](#导入t113sdk "导入T113SDK的直接链接") * 先解压然后将T113文件夹复制到ide的安装目录 Loading... # 打开软件 提示 弹出这个直接选择启动即可 Loading... * 打开软件后会提示更新,更新完以后再使用 # 导入屏幕源码 提示 先将屏幕源码解压 Loading... Loading... Loading... --- # 项目结构介绍 Loading... ## 介绍[​](#介绍 "介绍的直接链接") #### Logic文件夹[​](#logic文件夹 "Logic文件夹的直接链接") * 我们99%的ui代码编程都在logic文件夹,其它文件夹无需关注 * gcodeLogic.cc类似于main.c, 99%的ui代码都存在这里,其他文件无需多关注 #### i18n文件夹[​](#i18n文件夹 "i18n文件夹的直接链接") * 存放各国语言翻译表 #### resources文件夹[​](#resources文件夹 "resources文件夹的直接链接") * 存放ui使用的图片资源 #### ui文件夹[​](#ui文件夹 "ui文件夹的直接链接") * 存放ui界面文件,双击打开显示 * 双击左下角箭头所指“小眼睛”可以打开隐藏的界面 --- # 自定义按钮 Loading... ## 添加按钮[​](#添加按钮 "添加按钮的直接链接") * 根据上面视频先创建一个按钮大小随意设置 * 添加后如下图所示 Loading... ## 设置按钮显示效果[​](#设置按钮显示效果 "设置按钮显示效果的直接链接") Loading... ## 设置按钮作用[​](#设置按钮作用 "设置按钮作用的直接链接") Loading... * 使用函数发送单个Gcode命令 ``` gcode_send2("","G28"); ``` * 使用函数一次发送多个Gcode命令: ``` gcode_send2("","G91\\nG1 X10 F3000\\nG90"); ``` * 或者使用这样的方法一次发送多个Gcode命令: ``` gcode_send2("","G91"); gcode_send2("","G1 X10 F3000"); gcode_send2("","G90"); ``` ## 发送内容写入到按钮内[​](#发送内容写入到按钮内 "发送内容写入到按钮内的直接链接") Loading... --- # 生成升级文件 * 点击按钮即可生成文件 Loading... --- # 固件下载 ## 串口固件下载[​](#串口固件下载 "串口固件下载的直接链接") 1. 点击下方下载链接获取固件: * 您可以通过以下链接获取固件: - [**update.img**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/Wiscreen/Wiscreen-7/URAT/update.img?v=76d6dae73036) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/Screen/Wiscreen/Wiscreen-7/UART ``` 2. 下载界面参考: Loading... ## WiFi固件下载[​](#wifi固件下载 "WiFi固件下载的直接链接") 1. 点击下方下载链接获取固件: * 您可以通过以下链接获取固件: - [**Klipper-UI1-update.img**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/Wiscreen/Wiscreen-7/WIFI/Klipper-UI1-update.img?v=0f7171714346) - [**Klipper-UI0-update.img**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/Screen/Wiscreen/Wiscreen-7/WIFI/Klipper-UI0-update.img?v=01c3e147e8df) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * 固件位置在 ``` FLY-Firmware/Screen/Wiscreen/Wiscreen-7/WIFI ``` 2. 下载界面参考: Loading... Loading... ## 固件更新步骤[​](#固件更新步骤 "固件更新步骤的直接链接") ### 步骤一: 准备固件文件[​](#步骤一-准备固件文件 "步骤一: 准备固件文件的直接链接") 1. 将下载的固件文件重命名为: ``` update.img ``` 2. **重要提示**: * 如果使用TF卡/U盘, 请确保存储设备: * 只有一个分区 * 格式化为FAT32文件系统 ### 步骤二: 传输固件文件[​](#步骤二-传输固件文件 "步骤二: 传输固件文件的直接链接") 1. 将重命名后的 `update.img` 文件复制到TF卡或U盘的根目录 2. 将存储设备插入屏幕(支持热插拔, 可在屏幕开机状态下插入) ### 步骤三: 执行升级操作[​](#步骤三-执行升级操作 "步骤三: 执行升级操作的直接链接") 1. 在屏幕界面勾选对应选项 2. 点击"升级"按钮开始升级 3. 等待升级完成, 屏幕会自动重启 --- # 4.3 & 7.0 Marlin屏幕 本控制屏适配 Marlin 固件,采用串口通信,专为 3D 打印设备打造,支持以下高级功能: Loading... ## 主要特点[​](#主要特点 "主要特点的直接链接") * 支持 Marlin 串口协议,即插即用,兼容性强 * 4.3 寸 / 7 寸高清彩色触控屏,界面直观,操作流畅 * 断料检测功能:可实时监控耗材状态,断料自动暂停打印,保障打印成功率 * 断电续打功能:意外断电后自动保存打印进度,来电恢复打印,减少失败率和材料浪费 * 简洁 UI + 多语言支持:提升用户体验,适用于更广泛人群 * 串口指令支持自定义扩展,适配更多功能 * 内置 G-code 缓存管理,可配合主板实现更精细控制,自定义暂停位置 * 与主板之间支持断电恢复通知通信,确保恢复流程顺畅 ## 参考接线[​](#参考接线 "参考接线的直接链接") Loading... ## 尺寸[​](#尺寸 "尺寸的直接链接") Loading... --- # 断电续打 ## 配置方法[​](#配置方法 "配置方法的直接链接") * 支持断电恢复以及断电恢复模式选择,可以选择按层恢复或掉电点恢复 Loading... Loading... * 在`Configuration.h`中添加下方代码 ``` #define FLY_POWER #define FLY_POWER_LOSS_PING PB11 #define FLY_POWER_LOSS_STATE HIGH ``` * 在`Marlin\src\MarlinCore.cpp`中添加下方代码 ``` #if ENABLED(FLY_POWER) // if (printJobOngoing() && (READ(FLY_POWER_LOSS_PING) == FLY_POWER_LOSS_STATE)){ if ( (READ(FLY_POWER_LOSS_PING) == FLY_POWER_LOSS_STATE)){ WRITE( FLY_BEEP_PING , HIGH ); // thermalManager.; static millis_t send_power_ms = 0; const millis_t power_ms = millis(); if((power_ms - send_power_ms ) >= 200){ thermalManager.setTargetBed(0); SERIAL_ECHOLNPGM("power_LOSS"); //queue.inject_P(PSTR("M81")); send_power_ms = millis(); } } #endif ``` --- # 固件更新 注意事项 * 需要内存卡一张,杂牌内存卡可能导致烧录失败,请尽量使用下方推荐的内存卡进行更新固件 * 需要准备一张容量不超过`32G`的TF卡,并且建议TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 ## 下载固件[​](#下载固件 "下载固件的直接链接") * 点击下方下载链接 * Loading... ### 内存卡格式化软件:[​](#内存卡格式化软件 "内存卡格式化软件:的直接链接") * 推荐使用`SDFormatter`软件进行格式化,其他格式化软件可能会导致更新失败 * 该软件可以在Windows上使用,支持FAT32格式化 * 下载链接: * [SD卡格式化软件](https://www.waveshare.net/w/upload/d/d7/Panasonic_SDFormatter.zip) ## 更新方法[​](#更新方法 "更新方法的直接链接") * 使用`SDFormatter`软件进行格式化 * 格式化完成后,内存卡将被清空,请确保备份重要数据 * 将下载的屏幕固件文件复制到内存卡根目录,并且重命名为下方名字 ``` update.img ``` * 将内存卡插入屏幕的TF卡槽 Loading... * 断电后重新上电,屏幕会自动检测到`update.img`文件并开始更新 * 更新完成后,屏幕会自动重启 --- # 特别功能 提示 * 下方功能都是FLY的屏幕定制功能,已经默认支持 * 只需要在主板固件中启用即可 ### 屏幕启用[​](#屏幕启用 "屏幕启用的直接链接") Loading... ### 断料恢复[​](#断料恢复 "断料恢复的直接链接") * 检测到断料后打印暂停移动至指定位置。 Loading... ## 自定义暂停[​](#自定义暂停 "自定义暂停的直接链接") * 默认 :Z 抬升5mm * 自定义:自定义暂停X,Y的坐标,Z抬升相对距离,继续打印时E的补偿距离 --- # WiFi使用说明 ## 注意事项[​](#注意事项 "注意事项的直接链接") 注意事项 * 使用`WIFI`需要先确定屏幕背面是否带`WiFi` * 并且使用`WIFI`功能需要准备一张内存卡 * 并且容量不超过`32G`的`TF`卡,并且建议`TF`卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 ## 判断屏幕是否支持`WIFI`[​](#判断屏幕是否支持wifi "判断屏幕是否支持wifi的直接链接") * 本屏幕分带`WIFI`与不带`WIFI`两种版本,带`WIFI`版本则可以使用WIFI功能 * 下方是判断屏幕有没有WIFI的方法 Loading... ## 准备工作[​](#准备工作 "准备工作的直接链接") ### 内存卡格式化软件:[​](#内存卡格式化软件 "内存卡格式化软件:的直接链接") * 推荐使用`SDFormatter`软件进行格式化,其他格式化软件可能会导致使用失败 * 该软件可以在Windows上使用,支持FAT32格式化 * 下载链接: * [SD卡格式化软件](https://www.waveshare.net/w/upload/d/d7/Panasonic_SDFormatter.zip) ### 格式化内存卡并且下载配置文件[​](#格式化内存卡并且下载配置文件 "格式化内存卡并且下载配置文件的直接链接") * 使用`SDFormatter`软件进行格式化 * 格式化完成后,内存卡将被清空,请确保备份重要数据 ### 下载屏幕`WEB`配置文件[​](#下载屏幕web配置文件 "下载屏幕web配置文件的直接链接") * 下载的屏幕`WEB`配置文件请注意,需要解压 * 将解压出来的文件全部复制到内存卡根目录 * 点击下方下载屏幕`WEB`配置文件 * Loading... * 将内存卡插入屏幕的TF卡槽 ### 安装`TF`卡[​](#安装tf卡 "安装tf卡的直接链接") * 将内存卡插入屏幕的TF卡槽 * 然后上电开机 Loading... ### 打开`WIFI`并且连接网络[​](#打开wifi并且连接网络 "打开wifi并且连接网络的直接链接") * 点击屏幕右下角的 * 点击屏幕右上角的`More`按钮 Loading... * 点击屏幕右上角的`Screen set` Loading... * 点击屏幕右边的`WIFI`图标 * 点击屏幕`WIFI setup` Loading... * 点击屏幕右上角的按钮打开`WiFi`功能,如果屏幕不支持`WiFi`功能则会无法打开`WIFI` Loading... * 连接好`WIFI`后点击屏幕的右上角的三个点 * 点击后会显示屏幕的`IP`地址,如果显示IP地址则表示连接成功 Loading... ## 注意事项[​](#注意事项-1 "注意事项的直接链接") * 如果屏幕不支持`WIFI`功能,则无法打开`WIFI` * 连接`WIFI`后无法显示`IP`地址,则可能是网络问题,可能是双频合一的路由器导致的 * 如果通过`IP`显示下方提示,则可能是`WEB`配置文件或者`TF`卡有问题 Loading... --- # Fly\_Nova 3.5 屏幕 `Fly_Nova 3.5` 是面向 Klipper 上位机系统设计的串口触摸屏,用于在打印机本机端查看状态、执行常用控制并完成基础操作。屏幕通过 UART 与上位机通信,不需要占用 HDMI 或 USB 显示设备资源。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * **高清显示**:采用 3.5 英寸 IPS 屏幕,分辨率为 `480 x 320`,可视角度达 170°,显示清晰。 * **电容触控**:使用电容式触摸方案,支持多点触控,操作响应更灵敏。 * **UART 通信**:通过 `TX`、`RX`、`VCC(5V)`、`GND` 四线与上位机连接,通信方式简单稳定。 * **低功耗设计**:使用 `5V` 供电,可配合树莓派或 FLY 上位机的低压供电接口使用。 * **节省系统资源**:无需启动 Linux 桌面环境,适合 Klipper 上位机长期运行场景。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 Loading... ## 技术规格[​](#技术规格 "技术规格的直接链接") | 项目 | 参数 | | -------- | ------------------------ | | 屏幕尺寸 | 3.5 英寸 | | 显示类型 | IPS | | 分辨率 | `480 x 320` | | 触摸类型 | 电容式触摸,支持多点触控 | | 主控芯片 | `ssd210` | | 显示芯片 | `st7796s` | | 触摸芯片 | `ft6336u` | | 通信接口 | UART | | 供电电压 | `5V` | | 兼容系统 | Linux | --- # 使用说明 | 项目 | 说明与参数 | | ------------ | --------------------------------------------------------------------------------------------------------- | | 兼容系统版本 | **Fly\_FAST**:已预装 `moon2uart`,启用服务即可使用
**Fly\_Armbian**:需要参考树莓派教程手动安装组件 | | 支持的型号 | Fly-Pi V3、Fly-C5、Fly-C8P | `Nova 3.5` 通过 UART 串口与 FLY 上位机通信。接线完成后,需要在系统配置中启用 `moon2uart` 服务。 ## 接线说明[​](#接线说明 "接线说明的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 接线时请按照对应上位机型号选择接线图。串口线需要确认 `TX`、`RX` 交叉连接,同时确认 `5V` 与 `GND` 不要接反。 * Fly-Pi V3 接线 * Fly-C5 接线 * Fly-C8P 接线 ### Fly-Pi V3 接线[​](#fly-pi-v3-接线 "Fly-Pi V3 接线的直接链接") Loading... ### Fly-C5 接线[​](#fly-c5-接线 "Fly-C5 接线的直接链接") Loading... ### Fly-C8P 接线[​](#fly-c8p-接线 "Fly-C8P 接线的直接链接") Loading... ## 打开 `Nova 3.5` 屏幕服务[​](#打开-nova-35-屏幕服务 "打开-nova-35-屏幕服务的直接链接") 系统差异 * **Fly\_FAST** 系统已预装 `moon2uart`,只需要按下方步骤打开服务。 * **Fly\_Armbian** 系统需要先参考 [树莓派使用教程](https://mellow.klipper.cn/docs/ProductDoc/Screen/nova35/rpi) 安装 `moon2uart`,再按实际串口名称修改配置。 ### 在线修改 Fly\_FAST 配置[​](#在线修改-fly_fast-配置 "在线修改 Fly_FAST 配置的直接链接") Fly\_FAST 支持通过浏览器在线修改配置文件,推荐使用这种方式启用 `Nova 3.5` 串口屏服务。 1. 在浏览器打开设备 IP 地址,例如 `http://192.168.1.2/`。 2. 根据使用的 Web 界面显示隐藏文件。 | | | | ---------------------------------------------------------- | ---------------------------------------------- | | `fluidd` 界面:取消勾选 `筛选隐藏的文件和文件夹`Loading... | `mainsail` 界面:勾选 `显示隐藏文件`Loading... | 3. 进入 `.flyos-config` 文件夹,打开 `sys-config.conf` 文件。 Loading... `sys-config.conf` 是可移动磁盘 `FlyOS-Conf` 中 `config.txt` 的软链接。通过网页修改并保存后,重启系统即可生效。 Loading... 配置格式 配置项必须保持 `key=value` 格式,不要修改为 `key: value`,等号前后也不要添加空格。 ## 屏幕配置[​](#屏幕配置 "屏幕配置的直接链接") 在 `sys-config.conf` 中找到 `moon2uart`,将后面的 `0` 修改为 `1`。 Nova 3.5 使用 `moon2uart` 通信,不使用 FLY Screen 本机屏幕服务。建议同时确认 `klipper_screen` 与 `fly_screen` 保持关闭: ``` moon2uart=1 klipper_screen=0 fly_screen=0 ``` Loading... 修改完成后保存文件,并重启系统让配置生效。 --- # 使用说明 本教程用于在树莓派系统中安装并配置 `moon2uart`,让 `Nova 3.5` 串口屏可以通过 UART 与 Klipper 上位机通信。 | 项目 | 说明 | | -------- | ---------------------------------------------------------------------- | | 参考系统 | Raspberry Pi OS with Desktop | | 参考版本 | `Debian GNU/Linux 12 (bookworm)` | | 前置条件 | 已安装 Klipper 与 Moonraker,并且可以通过浏览器访问 Mainsail 或 Fluidd | | 操作方式 | 需要先通过 SSH 登录到树莓派 | 在开始之前,请先确认系统版本: ``` cat /etc/os-release ``` 如果输出中包含类似 `PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"` 的内容,说明系统版本与本教程一致。 Loading... 如果使用其他 Linux 上位机系统,也可以参考本教程,但文件路径、串口名称或服务管理方式可能不同,需要按实际系统调整。 ## 接线说明[​](#接线说明 "接线说明的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 `Nova 3.5` 使用 UART 串口通信,接线时需要连接 `5V`、`GND`、`TX`、`RX`。具体接线图正在补充中;接线完成后再继续进行下方软件配置。 ## 安装组件[​](#安装组件 "安装组件的直接链接") 在 SSH 中执行下方命令,自动安装 `moon2uart`: ``` curl -sSL https://cnb.cool/3dmellow/public/Moon2Uart/-/git/raw/master/scripts/install.sh | sudo bash ``` Loading... ## 编辑系统串口配置[​](#编辑系统串口配置 "编辑系统串口配置的直接链接") ### 第一步:启用树莓派 UART[​](#第一步启用树莓派-uart "第一步:启用树莓派 UART的直接链接") 打开 `/boot/firmware/config.txt` 文件: ``` sudo nano /boot/firmware/config.txt ``` 在文件末尾添加以下内容: ``` enable_uart=1 dtoverlay=miniuart-bt force_turbo=1 dtoverlay=uart0 ``` Loading... 添加完成后,按 `Ctrl + S` 保存,再按 `Ctrl + X` 退出编辑器。 ### 第二步:关闭系统串口控制台[​](#第二步关闭系统串口控制台 "第二步:关闭系统串口控制台的直接链接") 打开 `/boot/firmware/cmdline.txt` 文件: ``` sudo nano /boot/firmware/cmdline.txt ``` 如果文件中存在 `console=serial0,115200`,请删除这一段内容,避免系统控制台占用串口。 Loading... 修改完成后,按 `Ctrl + S` 保存,再按 `Ctrl + X` 退出编辑器。 ### 第三步:调整日志文件权限[​](#第三步调整日志文件权限 "第三步:调整日志文件权限的直接链接") 在 SSH 中执行下方命令: ``` sudo chmod 777 /home/pi/printer_data/logs/moon2uart.log ``` 命令没有输出通常表示执行成功。如果系统用户不是 `pi`,请将 `/home/pi/printer_data` 改为实际的 `printer_data` 路径。 Loading... ### 第四步:修改 moon2uart 配置[​](#第四步修改-moon2uart-配置 "第四步:修改 moon2uart 配置的直接链接") 通过浏览器打开 Klipper 的 Web 界面,例如 Mainsail 或 Fluidd,然后打开 `moon2uart.conf` 文件。 Loading... 找到 `SERIAL_PORT=` 配置项,并将串口地址改为: ``` SERIAL_PORT="/dev/ttyAMA0" ``` 同时确认 `PRINTER_DATA_PATH` 为当前系统实际的 `printer_data` 路径,例如: ``` PRINTER_DATA_PATH="/home/pi/printer_data" ``` 串口名称 树莓派的 UART 设备名可能会因系统版本、硬件型号或系统配置不同而变化。如果 `/dev/ttyAMA0` 无法使用,可以尝试 `/dev/ttyS0`,或根据实际系统中的串口设备名进行修改。 其他上位机系统请使用对应系统的串口名称。例如 FLY 上位机通常使用 `/dev/ttyS0`。 Loading... 修改完成后,点击右上方的 `SAVE` 保存配置。 Loading... ### 第五步:重启树莓派[​](#第五步重启树莓派 "第五步:重启树莓派的直接链接") 配置保存后,重启树莓派让系统串口配置生效: ``` sudo reboot ``` --- # 简介 Loading... Loading... Loading... Loading... Loading... Loading... Loading... Loading... ## 电容屏接线说明[​](#电容屏接线说明 "电容屏接线说明的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔屏幕线束、整理接口线序或触碰端子。 Loading... Loading... Loading... --- # 三维模型 信息 * 本文档提供以下几种 * 主板三维模型 ## 主板三维模型[​](#主板三维模型 "主板三维模型的直接链接") * 屏幕三维模型 * 点击下方网盘链接 * Loading... --- # FLY DFU-AUTO `FLY DFU-AUTO` 是一款基于 `dfu-util` 开发的固件烧录软件,可在 **Windows** 系统下运行。通过 USB 连接设备,即可自动检测 DFU 设备并完成固件的擦除、烧录等操作,无需依赖上位机命令行。 ## 支持的主控[​](#支持的主控 "支持的主控的直接链接") | 主控 | 设备识别 | VID:PID | | ----- | ------------------- | --------------- | | STM32 | STM32 BOOTLOADER | `0483:df11` | | APM32 | APM32 DFU ISP | `314b:0106` | | AT32 | AT32 DFU BOOTLOADER | `2e3c:df11` | ## 主要功能[​](#主要功能 "主要功能的直接链接") | 功能 | 说明 | | ------------ | --------------------------------------------------------------------------- | | 自动检测设备 | 启动后自动监控并刷新 DFU 设备列表,支持显示未安装驱动的设备 | | 一键安装驱动 | 内置驱动安装功能(WinUSB,基于 libwdi),安装/重装/替换驱动均可在界面内完成 | | 固件烧录 | 选择 `.bin` 固件文件后一键烧录,仅支持 `.bin` 格式 | | 固件擦除 | 支持 `强制擦除`(mass-erase)选项,烧录前擦除芯片 | | 烧录后重启 | 支持 `烧录后重启`(leave)与 `USB 复位`(-R)选项 | | 自动烧录 | 勾选后设备断开重插会自动开始新一轮烧录,适合连续烧录多台设备 | | 运行日志 | 界面下方实时显示执行的 `dfu-util` 命令、烧录进度与错误信息 | | 中英文界面 | 支持中文 / English 两种界面语言,可通过菜单随时切换 | Loading... ## 功能入口[​](#功能入口 "功能入口的直接链接") | 功能 | 文档 | | ---------------------- | ---------------------------------------------------------------------------------- | | 软件下载与详细使用说明 | [下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) | --- # 下载与使用 本页提供 `FLY DFU-AUTO` 的下载地址与详细使用说明。 ## 软件下载[​](#软件下载 "软件下载的直接链接") Loading... 下载说明 * `FLY DFU-AUTO` 为单文件软件(约 26 MB),下载后直接运行,无需安装。 * 首次使用如设备无法识别,请在软件内点击 `安装驱动` 完成驱动安装(需要管理员权限)。 > **软件介绍**:[FLY DFU-AUTO 介绍](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/) ## 使用说明[​](#使用说明 "使用说明的直接链接") 1. 使用 Type-C 数据线将设备连接到电脑,并让设备进入 DFU 烧录模式(进入方式请参考对应设备的固件烧录文档) 2. 打开 `FLY DFU-AUTO`,软件会自动检测并列出 DFU 设备。设备识别成功后,`选择设备` 会显示设备名称、VID :PID 与序列号,`驱动状态` 显示为绿色即代表驱动已就绪 Loading... 3. 若驱动状态显示不可用,点击 `安装驱动`,按提示以管理员权限完成安装后重新插拔设备 4. 点击 `浏览...` 选择需要烧录的 `.bin` 固件文件 5. 确认烧录地址(默认 `0x08000000`,可按需选择 2KB\~128KB 偏移预设)与烧录选项(`强制擦除`、`烧录后重启`、`USB 复位`) 6. 点击 `开始烧录`,通过下方 `运行日志` 区域查看烧录进度 7. 需要连续烧录多台设备时,勾选 `自动烧录`,每台设备烧录完成后重新插拔即可自动开始下一轮 > 在软件中可通过菜单 **帮助 → 关于** 查看版本号与编译时间。 Loading... ## 界面语言[​](#界面语言 "界面语言的直接链接") 软件支持 **中文** 与 **English** 两种界面语言,首次启动会根据系统语言自动选择。如需切换,点击菜单栏 **语言**,选择目标语言即可立即生效。 Loading... ## 烧录选项说明[​](#烧录选项说明 "烧录选项说明的直接链接") | 选项 | 作用 | | ---------- | ------------------------------------------------------------------------------- | | 强制擦除 | 烧录前执行整片擦除(mass-erase),适用于需要完全清空芯片的场景 | | 烧录后重启 | 烧录完成后发送 leave 指令并断开,设备自动重启(部分设备会提示断开,属正常现象) | | USB 复位 | 烧录完成后执行 USB 复位(`-R`),设备重新枚举 | | 自动烧录 | 烧录完成后等待设备断开并重新插入,自动开始下一轮烧录,适合多台设备连续烧录 | 注意事项 * 固件文件**仅支持 `.bin` 格式**,请勿选择其他格式的文件。 * 安装驱动需要**管理员权限**,软件会提示以管理员身份重新启动。 * 部分电脑的 **USB 接口** 可能因驱动或信号兼容性问题,导致烧录不稳定,建议尝试**更换一个不同的 USB 端口**进行连接;若更换端口无效,可通过**外接 USB 扩展坞**连接。 * 烧录过程中请勿断开 USB 连接或关闭软件,以免烧录失败。 --- # Config Myprint * `Config Myprint` 是一款基于 FLY 系统的打印机管理软件,旨在为用户提供一站式的 3D 打印机管理与维护体验。无论您是桌面级用户还是农场级部署,Config Myprint 都能帮助您轻松实现设备的远程监控、高效任务管理以及灵活的系统配置。 * 软件深度适配 FLY 生态,支持 FLY 上位机系统的快速烧录与 FLY 主板的极简配置,大幅降低入门门槛,提升运维效率。 ## 主要功能[​](#主要功能 "主要功能的直接链接") ### 设备监控[​](#设备监控 "设备监控的直接链接") * **远程监控**
通过浏览器即可实时查看打印机运行状态,包括当前温度、打印进度、剩余时间、层数等关键信息。界面直观,支持多台设备同时监控,方便集中管理。 * **设备搜索**
自动扫描局域网内的兼容打印机设备,无需手动输入 IP 地址,一键添加设备,快速上手。 * **跨网段搜索**
支持跨网段设备发现,适用于复杂网络环境(如多级路由、企业内网等),帮助用户在不同子网中也能轻松定位打印机。 ### Klipper 配置[​](#klipper-配置 "Klipper 配置的直接链接") * **配置管理**
提供可视化的 Klipper 配置文件生成工具,用户可根据硬件型号和使用场景快速生成适配的配置文件。该功能仍在持续完善中,后续将支持更多高级参数配置与一键下发。 ### 系统配置[​](#系统配置 "系统配置的直接链接") * **系统烧录**
集成 FLY 系统镜像烧录功能,用户无需额外准备烧录工具,即可直接通过软件完成 FLY 上位机系统的写入操作,简化系统部署流程。 * **系统配置**
提供便捷的 FLY 系统参数配置界面,涵盖网络设置、屏幕启用等常用选项,帮助用户在图形化界面中完成原本复杂的命令行操作。 Loading... --- # 下载与安装 ## 下载 Config Myprint[​](#下载-config-myprint "下载 Config Myprint的直接链接") Config Myprint 当前仅支持 Windows。请从 CNB Release 下载最新版安装程序: Loading... * 项目主页:[ConfigMyprint](https://cnb.cool/3dmellow/public/ConfigMyprint) * 版本记录与校验文件:[CNB Release](https://cnb.cool/3dmellow/public/ConfigMyprint/-/releases) 上面的下载按钮使用 CNB `latest` 直链,会自动指向最新 Release 中的 `Config_Myprint.exe`。 Windows 文件后缀显示 下载后的文件名应为 `Config_Myprint.exe`。Windows 可能隐藏扩展名,请在文件资源管理器中勾选 **查看 → 显示 → 文件扩展名**,避免误判文件名称或重复添加 `.exe`。 ## 安装 Config Myprint[​](#安装-config-myprint "安装 Config Myprint的直接链接") ### 第一步:启动安装程序[​](#第一步启动安装程序 "第一步:启动安装程序的直接链接") 双击从 CNB Release 下载的 `Config_Myprint.exe`,打开安装向导。若 Windows 显示安全确认,请先核对文件确实来自上述 CNB 项目,再继续安装。 ### 第二步:设置安装路径[​](#第二步设置安装路径 "第二步:设置安装路径的直接链接") 安装程序默认使用 `C:\Config Myprint`。如需修改,点击 **Browse...** 选择其他目录;不确定时保留默认路径即可。设置完成后点击 **Next**。 Loading... ### 第三步:选择桌面快捷方式[​](#第三步选择桌面快捷方式 "第三步:选择桌面快捷方式的直接链接") 勾选 **Create a desktop shortcut** 可创建桌面快捷方式,然后点击 **Next**。 Loading... ### 第四步:执行安装[​](#第四步执行安装 "第四步:执行安装的直接链接") 确认安装路径和快捷方式选项无误后,点击 **Install**。 Loading... ### 第五步:完成安装[​](#第五步完成安装 "第五步:完成安装的直接链接") 出现完成界面后,点击 **Finish** 退出安装向导。随后可通过桌面快捷方式或开始菜单打开 Config Myprint。 Loading... ## 后续操作[​](#后续操作 "后续操作的直接链接") * 使用 Config Myprint 烧录系统:[查看系统烧录教程](https://mellow.klipper.cn/docs/ProductDoc/Software/Find_Myprints/system_burning) * 配置 FLYOS-FAST 系统卡:[查看系统配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) --- # 系统镜像烧录与配置指南 ## 第一步:系统镜像烧录[​](#第一步系统镜像烧录 "第一步:系统镜像烧录的直接链接") ### 1. 进入系统配置界面[​](#1-进入系统配置界面 "1. 进入系统配置界面的直接链接") 启动软件后,从左侧菜单栏选择 **系统配置** 选项,进入系统烧录界面。 Loading... ### 2. 连接存储设备[​](#2-连接存储设备 "2. 连接存储设备的直接链接") 将待烧录的存储卡通过读卡器连接至电脑的USB接口。 > 💡 **建议**:使用USB 3.0及以上接口,可显著提升烧录速度 ### 3. 识别存储设备[​](#3-识别存储设备 "3. 识别存储设备的直接链接") 点击 **存储设备** 旁的 **刷新** 按钮,确保系统正确识别到已连接的存储卡。 Loading... ### 4. 选择设备型号[​](#4-选择设备型号 "4. 选择设备型号的直接链接") 点击 **设备选择**,根据您使用的设备型号选择对应的配置方案。 Loading... ### 5. 执行烧录操作[​](#5-执行烧录操作 "5. 执行烧录操作的直接链接") 确认设备选择无误后,点击 **开始烧录** 按钮。 重要警告 * 此操作将**永久擦除**存储卡上的所有数据! * 烧录前请务必确认已备份重要文件 * 烧录过程中请勿断开设备连接 Loading... ### 6. 完成烧录[​](#6-完成烧录 "6. 完成烧录的直接链接") 等待烧录进度完成,当界面显示"完成"提示时,表示系统镜像已成功写入。 Loading... *** ## 第二步:系统配置[​](#第二步系统配置 "第二步:系统配置的直接链接") > ✅ **操作提示**:完成所有配置项的选择和修改后,请务必点击**手动写入配置** 按钮,以确保所有设置正确保存到存储卡中。 Loading... ### 1. 启用配置功能[​](#1-启用配置功能 "1. 启用配置功能的直接链接") 点击 **启用系统配置** 开关,激活系统配置选项。 Loading... ### 2. 基础设置[​](#2-基础设置 "2. 基础设置的直接链接") #### 配置文件管理[​](#配置文件管理 "配置文件管理的直接链接") **功能说明** * **文件夹选择**: 仅支持选择文件夹,不支持单个配置文件 * **自动复制**: 选定文件夹内的所有配置文件将自动复制至存储卡 * **自动加载**: 系统启动时将自动加载复制的配置 **文件夹准备步骤** > 💡 **操作提示**: 请按照以下步骤准备配置文件文件夹 1. **创建配置文件夹**: 创建一个名为 `config` 的文件夹 2. **放置配置文件**: 将您的机器配置文件复制到 `config` 文件夹中 **注意事项** * 确保配置文件格式正确,系统将复制整个 `config` 文件夹内容 * 文件夹名称和层级结构必须严格遵循上述要求 * 系统将自动识别并加载配置,无需手动操作 Loading... #### Wi-Fi网络配置[​](#wi-fi网络配置 "Wi-Fi网络配置的直接链接") 输入可用的Wi-Fi名称和密码,配置设备网络连接。 Loading... #### 网页界面选择[​](#网页界面选择 "网页界面选择的直接链接") 目前支持以下网页UI: * **Fluidd** - 轻量级Klipper网页界面 * **Mainsail** - 功能丰富的Klipper网页界面 Loading... #### 显示设置[​](#显示设置 "显示设置的直接链接") 根据连接的显示器类型配置显示参数。 Loading... ### 3. 高级设置[​](#3-高级设置 "3. 高级设置的直接链接") #### 设备标识[​](#设备标识 "设备标识的直接链接") 设置个性化的打印机名称,便于网络识别。 Loading... #### 摄像功能[​](#摄像功能 "摄像功能的直接链接") 配置摄像头服务参数,启用视频监控功能。 Loading... #### 区域设置[​](#区域设置 "区域设置的直接链接") 设置系统语言和对应时区,确保时间显示准确。 Loading... #### 通信设置[​](#通信设置 "通信设置的直接链接") 配置CAN总线传输速率,优化设备间通信。 Loading... *** **温馨提示**:完成所有配置后,请安全弹出存储卡,然后将其插入目标设备启动系统。 --- # 使用教程 ## 语言切换[​](#语言切换 "语言切换的直接链接") * 软件支持中英文切换 * 点击右上角的`语言(Lan)` Loading... * 选择`中文`或者`English`即可切换语言 ## 搜索设备[​](#搜索设备 "搜索设备的直接链接") * 点击`Scan network segment (DNS)`下方的输入框 * 输入你当前路由器网段即可自动搜索已经正常连接到路由器的`Klipper`设备 Loading... * 如果有上级路由器或者光猫,也可以输入对应网段 * 例如:`192.168.1.0`然后回车即可自动搜索 Loading... ## 注意事项[​](#注意事项 "注意事项的直接链接") * 软件需要在局域网内使用 * 电脑和打印机必须连接到同一个路由器 * 软件仅支持`Klipper`固件的打印机 * 软件不会自动删除已经断开连接的打印机,需要手动删除 * 删除方法,右键点击对应打印机,选择删除 * 软件仅支持`Windows`系统 --- # Fly\_Cluster\_control `Fly_Cluster_control` 是一款基于 Klipper 的打印机管理软件,旨在为用户提供高效、便捷的打印机监控与管理体验。无论是单台设备还是多机集群,Fly\_Cluster\_control 都能帮助您轻松掌握打印任务进度、实时监控设备状态,并支持灵活的设备接入方式。 ## 主要功能[​](#主要功能 "主要功能的直接链接") * **远程监控**
通过网页界面实时查看打印机运行状态,包括当前温度、打印进度、剩余时间等关键信息,无需靠近设备即可掌握全局。 * **搜索设备**
自动扫描局域网内的兼容打印机设备,快速发现并连接,省去手动配置 IP 的繁琐步骤。 * **跨网段搜索**
支持跨网段设备发现,适应复杂网络环境(如多级路由、企业内网等),提升设备连接的灵活性与覆盖范围。 * **多机控制**
支持同时管理多台打印机,集中查看各设备状态与任务进度,提升集群场景下的运维效率。 ## 任务列表[​](#任务列表 "任务列表的直接链接") *功能开发中,即将推出* ## 摄像头监控[​](#摄像头监控 "摄像头监控的直接链接") *功能开发中,即将推出* Loading... --- # 下载与安装 ## 下载`Fly_Cluster_control`[​](#下载fly_cluster_control "下载fly_cluster_control的直接链接") * 点击下方下载链接 * Loading... ## 安装`Fly_Cluster_control`[​](#安装fly_cluster_control "安装fly_cluster_control的直接链接") * **步骤 1:启动安装** * 双击运行 `Fly_Cluster_control.exe` 安装程序,系统将显示安装向导界面。 * **步骤 2:设置安装路径** * 在此界面中,您可以设置软件的安装位置: * 默认路径为:`C:\Program Files\Fly_Cluster_control` * **修改路径**:点击 **Browse...** 按钮,即可自定义新的安装目录。 * **步骤 3:执行下一步** * 路径设置完成后,点击 **Next** 按钮继续。 * 💡 **提示**:如果您不确定如何选择,直接使用默认路径即可。 * 点击`Create a desktop shortcut`前面的方框可以选择是否创建桌面快捷方式 * 选择好`Create a desktop shortcut`再点击`Next`继续 * 点击`Install`开始安装 * 点击`Finish`退出安装向导 * 双击桌面快捷方式打开软件即可使用 --- # FLY Screen FLY Screen 是 FlyOS-FAST 中用于本机屏幕操作界面的显示服务,适用于 FLY-TFT、HDMI 等本机显示场景。 它与 KlipperScreen 都可以通过系统配置开关启用;如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,系统默认启用 KlipperScreen。 ## 功能入口[​](#功能入口 "功能入口的直接链接") | 功能 | 文档 | | -------------------------------------------- | --------------------------------------------------------------------------------------- | | 启用 FLY Screen / KlipperScreen | [启用配置](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/config) | | 日常打印、移动温度、工具校准、设置与断点续打 | [使用教程](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/usage) | | 替换首页图片和打印界面图片 | [图片替换](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/image) | | 在其他上位机安装 FlyScreen | [其他上位机安装](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/install) | ## 适用范围[​](#适用范围 "适用范围的直接链接") | 使用场景 | 推荐配置 | 说明 | | ---------------------- | ---------------------------------- | -------------------------------------- | | 使用 FLY Screen | `klipper_screen=0`、`fly_screen=1` | 启用 FLY Screen 操作界面 | | 使用 KlipperScreen | `klipper_screen=1`、`fly_screen=0` | 启用 KlipperScreen 操作界面 | | 两个都开启 | `klipper_screen=1`、`fly_screen=1` | 默认启用 KlipperScreen | | 使用 WiScreen 7 串口屏 | `moon2uart=1` | WiScreen 7 串口模式不使用 `fly_screen` | ## 与 WiScreen 7 的区别[​](#与-wiscreen-7-的区别 "与 WiScreen 7 的区别的直接链接") * FLY Screen 是 FlyOS-FAST 本机显示服务,适用于 FLY-TFT、HDMI 等本机屏幕。 * Fly-WiScreen 7 寸串口屏使用 `moon2uart` 通信,不使用 `fly_screen` 开关。 * FLY Screen 当前支持替换首页图片和打印界面图片,不包含 `boot_logo.JPG` 开机 LOGO 替换。 * 两者的首页图片、打印界面图片规格相同,但图片替换方式不同。 > **WiScreen 7 文档**:[Fly-WiScreen 7 寸屏](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/) --- # 启用配置 ## 配置方法[​](#配置方法 "配置方法的直接链接") 通过 FlyOS-FAST 系统配置页面或 `sys-config.conf` 修改以下配置项: ``` ########################### # Klipper Screen: 0: no screen, 1: open screen klipper_screen=0 ########################### # Fly Screen: 0: no screen, 1: open screen fly_screen=1 ``` 保存后重启系统,配置才会生效。 > **系统配置入口**:[FlyOS-Fast 系统配置指南](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/getting-started/quick_start) OTA 升级系统 通过 OTA 升级上来的旧系统,`sys-config.conf` 中可能没有 `fly_screen` 配置项。如需启用 FLY Screen,请在屏幕显示配置附近手动添加以下内容: ``` ########################### # Fly Screen: 0: no screen, 1: open screen fly_screen=1 ``` ## 配置说明[​](#配置说明 "配置说明的直接链接") * `klipper_screen=1` 表示启用 KlipperScreen。 * `fly_screen=1` 表示启用 FLY Screen。 * 如果需要使用 FLY Screen,请将 `klipper_screen` 设置为 `0`。 * 如果 `klipper_screen=1` 与 `fly_screen=1` 同时开启,系统默认启用 KlipperScreen。 * 如果使用 Fly-WiScreen 7 寸串口屏,请按 WiScreen 文档启用 `moon2uart=1`,不要用 `fly_screen` 替代串口屏服务。 ## FlyScreen.conf 配置[​](#flyscreenconf-config "FlyScreen.conf 配置的直接链接") FlyScreen 安装后会读取 `FlyScreen.conf` 配置文件。 | 系统 | 配置文件路径 | | ---------- | --------------------------------------------------- | | FlyOS-FAST | `/usr/share/printer_data/config/FlyScreen.conf` | | 其他上位机 | `/home/<用户名>/printer_data/config/FlyScreen.conf` | 默认配置示例: ``` [FlyScreen] language=zh_CN.json font_path=HarmonyOS_SansSC_Medium.ttf reverse_button=false # about_developer_label= ``` | 配置项 | 默认值 | 说明 | | ----------------------- | ----------------------------- | ---------------------------------------------------------------- | | `language` | `zh_CN.json` | 设置界面语言文件,语言文件位于 FlyScreen 项目的 `language` 目录 | | `font_path` | `HarmonyOS_SansSC_Medium.ttf` | 设置界面字体文件,字体文件位于 FlyScreen 项目的 `fonts` 目录 | | `reverse_button` | `false` | 设置是否反转按钮显示或操作方向,通常保持默认 | | `about_developer_label` | 空 | 自定义“关于”页面中的开发者说明;保持注释或留空时使用程序内置说明 | 如需自定义关于页面文字,删除前面的 `#` 后填写内容: ``` about_developer_label=由 XXX 维护 ``` 保存后重启 FlyScreen 服务: ``` sudo systemctl restart FlyScreen.service ``` ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 开机有 LOGO,但没有进入操作界面[​](#开机有-logo但没有进入操作界面 "开机有 LOGO,但没有进入操作界面的直接链接") 1. 进入 FlyOS-FAST 系统配置页面。 2. 按实际需要选择 FLY Screen 或 KlipperScreen。 3. 使用 FLY Screen 时确认: ``` klipper_screen=0 fly_screen=1 ``` 4. 保存配置并重启系统。 ### 同时开启后显示的不是 FLY Screen[​](#同时开启后显示的不是-fly-screen "同时开启后显示的不是 FLY Screen的直接链接") 这是正常优先级行为。`klipper_screen=1` 与 `fly_screen=1` 同时开启时,系统默认启用 KlipperScreen。若要显示 FLY Screen,请关闭 KlipperScreen: ``` klipper_screen=0 fly_screen=1 ``` ### WiScreen 7 串口屏没有显示[​](#wiscreen-7-串口屏没有显示 "WiScreen 7 串口屏没有显示的直接链接") WiScreen 7 串口屏使用 `moon2uart`,请参考 WiScreen 7 配置与更新文档,并确认串口屏配置为: ``` moon2uart=1 klipper_screen=0 fly_screen=0 ``` > **WiScreen 7 文档**:[Fly-WiScreen 7 寸屏](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/) --- # 图片替换 FLY Screen 支持替换首页图片和打印界面图片。图片规格与 FlyScreen 项目内置资源一致,通过浏览器访问系统文件管理界面上传文件后,会自动替换对应图片资源。 开机 LOGO 当前 FlyScreen 项目没有 `boot_logo.JPG` 开机 LOGO 替换资源,FLY Screen 图片替换只需要准备 `print.png` 与 `print_smail.png`。 ## 图片规格[​](#图片规格 "图片规格的直接链接") | 图片用途 | 分辨率 | 格式 | 文件名 | 大小建议 | | ------------ | ----------- | ---- | ---------- | ------------------ | | 第一界面图片 | `736 x 563` | PNG | Loading... | 建议不超过 `60 KB` | | 打印界面图片 | `355 x 565` | PNG | Loading... | 建议不超过 `45 KB` | Windows 文件后缀显示 Windows 默认可能隐藏文件扩展名,容易把文件实际保存成 `print.png.png` 或 `print_smail.png.png`。制作图片前请在文件资源管理器中打开后缀显示: 1. 打开任意文件夹。 2. 点击顶部 `查看`。 3. 勾选 `文件扩展名`。 4. 重命名文件时确认完整文件名与上表文件名完全一致。 ## 图片示例[​](#图片示例 "图片示例的直接链接") ### 第一界面图片[​](#第一界面图片 "第一界面图片的直接链接") 文件名必须为 `print.png`。 Loading... ### 打印界面图片[​](#打印界面图片 "打印界面图片的直接链接") 文件名必须为 `print_smail.png`。 Loading... ## 上传方法[​](#上传方法 "上传方法的直接链接") 1. 通过浏览器进入 Mainsail 或 Fluidd。 2. 打开配置文件或文件管理页面。 3. 将制作好的 `print.png` 或 `print_smail.png` 上传到该目录。 4. 上传完成后,系统会按文件名自动替换对应图片资源。 5. 重启系统或刷新 FLY Screen,确认图片是否生效。 Loading... 文件要求 * 文件名、格式和分辨率必须完全符合上表要求。 * 图片大小建议控制在上表范围内。 ## 与 WiScreen 7 图片替换的区别[​](#与-wiscreen-7-图片替换的区别 "与 WiScreen 7 图片替换的区别的直接链接") | 功能 | 替换方式 | | ------------------- | ------------------------------------------------------------------------------------ | | FLY Screen | 通过浏览器进入系统配置文件管理界面,上传 `print.png` 或 `print_smail.png` 后自动替换 | | Fly-WiScreen 7 寸屏 | SD 卡或 U 盘根目录放入图片,在屏幕端点击 `升级` | > **WiScreen 图片规格参考**:[Fly-WiScreen 7 寸屏开机图片修改](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-wiscreen7/flash) --- # 其他上位机安装 本页适用于非 FlyOS-FAST 的普通 Linux 上位机,例如树莓派、FLY 派等已自行安装 Klipper 的系统。 使用前提 * 系统需要已安装 Klipper,并存在 `/home/<用户名>/klipper` 目录。 * 系统需要已配置 Klipper 数据目录,并存在 `/home/<用户名>/printer_data` 目录。 * 非 FlyOS-FAST 系统请使用普通用户执行 `sudo` 安装,不要直接切换到 `root` 用户运行脚本。 ## 一键安装[​](#一键安装 "一键安装的直接链接") 使用普通用户登录上位机终端,执行: ``` curl -fsSL https://cnb.cool/3dmellow/public/FlyScreen/-/git/raw/main/scripts/install.sh | sudo bash ``` 安装脚本会自动完成以下操作: 1. 检查 Klipper 与 `printer_data` 目录。 2. 克隆或更新 FlyScreen 项目到 `/home/<用户名>/FlyScreen`。 3. 根据系统架构选择对应的 FlyScreen 可执行文件。 4. 复制 `FlyScreen.conf` 到 `/home/<用户名>/printer_data/config/FlyScreen.conf`。 5. 创建并启用 `FlyScreen.service`。 6. 停止并禁用已运行的 KlipperScreen 服务。 7. 将 `FlyScreen` 写入 `moonraker.asvc`。 ## 状态检查[​](#状态检查 "状态检查的直接链接") 安装完成后,可使用以下命令查看服务状态: ``` systemctl status FlyScreen.service ``` 查看实时日志: ``` journalctl -u FlyScreen.service -f ``` ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 提示未检测到 Klipper[​](#提示未检测到-klipper "提示未检测到 Klipper的直接链接") 请确认当前普通用户目录下存在 Klipper: ``` ls -ld ~/klipper ``` 如果 Klipper 安装在其他路径,请先按当前系统的 Klipper 安装方式整理目录,或联系售后确认是否适合使用一键脚本。 ### 提示数据目录不存在[​](#提示数据目录不存在 "提示数据目录不存在的直接链接") 请确认当前普通用户目录下存在 `printer_data`: ``` ls -ld ~/printer_data ``` 如果使用了自定义 `printer_data` 路径,需要确认 Moonraker 与 Klipper 已正常配置后再安装 FlyScreen。 ### 安装后 KlipperScreen 被关闭[​](#安装后-klipperscreen-被关闭 "安装后 KlipperScreen 被关闭的直接链接") 这是正常行为。FlyScreen 与 KlipperScreen 都是本机屏幕操作界面,安装脚本会停止并禁用 KlipperScreen,避免两个屏幕服务同时占用显示设备。 > **启用配置**:[FLY Screen 启用配置](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/config) --- # 使用教程 本页介绍 FLY Screen 的日常使用流程,适用于已启用 FLY Screen 的 FLY-TFT、HDMI 等本机屏幕场景。 > **启用配置**:[FLY Screen 启用配置](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/config) 界面差异 不同 FlyOS-FAST 或 FlyScreen 版本的界面文字、按钮位置可能略有差异,请以实际屏幕显示为准。 ## 使用前确认[​](#使用前确认 "使用前确认的直接链接") 1. 打开打印机电源,等待上位机系统启动完成。 2. 如果屏幕显示 KlipperScreen,请确认系统配置中已关闭 `klipper_screen` 并启用 `fly_screen`: ``` klipper_screen=0 fly_screen=1 ``` ## 主界面功能[​](#主界面功能 "主界面功能的直接链接") FLY Screen 的常用入口如下: | 入口 | 主要用途 | | --------- | ---------------------------------------------------- | | 文件 | 查看 G-code 文件、选择文件并开始打印 | | 移动/温度 | 归零、移动 X/Y/Z 轴、调整喷嘴与热床温度、控制风扇 | | 工具 | 执行校准相关功能,查看错误日志 | | 设置 | 管理无线网络、服务、存储、语言、控制台和关于设备信息 | 打印开始后,界面会切换到打印状态页面,可进行暂停、恢复、停止、打印速度调整、Z 偏移调整、对象排除等操作。 Loading... ## 文件列表与上传打印文件[​](#file-list-upload "文件列表与上传打印文件的直接链接") FLY Screen 主要用于本机屏幕操作,打印文件建议先通过浏览器上传到 Mainsail 或 Fluidd。 1. 在电脑或手机浏览器中进入打印机 Web 页面。 2. 打开文件管理或 G-code 文件页面。 3. 上传需要打印的 `.gcode` 文件。 4. 上传完成后,回到 FLY Screen 的文件页面刷新文件列表。 Loading... 文件页面会从 Moonraker 读取 G-code 列表和缩略图。若文件数量较多、文件较大或缩略图较多,首次进入文件页面可能需要等待一段时间;请先等待列表加载完成,再选择文件打印。 | 区域 | 说明 | | ------------ | --------------------------------------------------------------- | | 刷新 | 重新读取 G-code 文件列表 | | 文件卡片 | 显示文件缩略图和文件名 | | 左侧文件图标 | 返回或进入文件页面 | | 文件名 | 文件名较长时可能会被界面截断,确认完整文件名可通过 Web 页面查看 | ## 开始打印[​](#开始打印 "开始打印的直接链接") 1. 在屏幕上进入文件页面。 2. 选择需要打印的 G-code 文件。 3. 确认文件名无误后点击打印或开始按钮。 4. 打印开始后,观察喷头和热床是否正常升温,等待机器自动执行归零、调平、预热等切片文件中的流程。 打印前检查 开始打印前请确认平台上没有工具、残料或其他异物,喷头、热床和运动部件周围没有遮挡物。 ## 打印中操作[​](#printing-controls "打印中操作的直接链接") 打印过程中可在屏幕上查看当前状态,并按需要进行以下操作: | 操作 | 用途 | 注意事项 | | -------- | -------------------------------------------------- | ---------------------------------------- | | 暂停 | 临时停止打印流程 | 暂停后不要移动模型或平台,避免恢复后错位 | | 恢复 | 从暂停状态继续打印 | 恢复前确认喷嘴附近没有结块耗材 | | 停止 | 结束当前打印任务 | 停止后任务通常不能从原位置继续 | | 跳过 | 跳过当前步骤或当前可跳过流程 | 只在确认当前流程可以跳过时使用 | | 调速 | 调整打印速度倍率,可见安静、普通、运动、狂暴等模式 | 建议小幅调整,避免速度变化过大影响质量 | | Z 偏移 | 微调打印中的 Z Offset | 每次只调整小步距,避免喷嘴压伤平台或模型 | | 对象排除 | 排除当前对象继续打印其他对象 | 需要切片文件包含对象信息,否则无法使用 | | 风扇 | 调整模型冷却风扇 | 首层或高温材料请按切片建议设置 | | 温度 | 调整喷嘴或热床温度 | 不要把温度设置到材料或设备允许范围之外 | 高温部件 打印中喷嘴和热床温度较高,请不要触摸喷嘴、热床表面、加热块和正在挤出的耗材。 Loading... 打印状态页面常见区域说明: | 区域 | 说明 | | ---------- | -------------------------------------------- | | 左侧进度 | 显示打印进度、耗材用量和剩余时间 | | 中间温度栏 | 显示喷嘴、热床等温度状态 | | 右侧预览 | 显示模型预览图、Z 偏移步距和 Z 偏移调整按钮 | | 底部操作 | 根据当前状态显示跳过、暂停、恢复、停止等按钮 | ## 温度控制[​](#temperature-control "温度控制的直接链接") 温度页面通常用于查看和设置喷嘴、热床等加热器温度,也可调整模型风扇、风扇 1、风扇 2 等风扇输出。 1. 进入温度页面。 2. 选择需要调整的加热器。 3. 输入或选择目标温度。 4. 等待温度接近目标值后再开始装载耗材、挤出或打印。 常见温度设置应以耗材厂家建议和切片配置为准。若界面提示需要先加热,或出现温度无法升高、升温过慢、温度保护报错,请停止打印并查看 Klipper 报错信息。 > **Klipper 报错排查**:[常见 Klipper 报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err) Loading... 移动/温度页面常见区域说明: | 区域 | 说明 | | ---------- | -------------------------------------------------- | | 左侧温度栏 | 查看喷嘴、热床和扩展加热器温度,调整风扇输出 | | 步距选择 | 选择 `1`、`10`、`30`、`100` 等移动步距 | | 方向按钮 | 控制 X/Y/Z 轴移动 | | E 按钮 | 控制挤出机进退料,操作前需要先加热喷嘴 | | 反转 | 切换移动或挤出方向逻辑 | | 强制移动 | 在未归零等特殊调试场景下移动轴,普通用户不建议使用 | ## 移动与归零[​](#move-home "移动与归零的直接链接") 移动页面通常用于归零、移动 X/Y/Z 轴、调整喷头位置等操作。 运动安全 执行归零或移动前,请确认喷头、平台和各轴运动范围内没有工具、手指、线材缠绕或其他障碍物。 1. 进入移动页面。 2. 首次移动前先执行对应轴归零,或按机器配置执行全部归零。 3. 按小步距移动轴位置,确认方向正确后再使用较大步距。 4. 调整 Z 轴时使用小步距,避免喷嘴撞击平台。 若需要使用强制移动,请只在明确知道当前机器坐标状态和风险时操作。普通归零、调试和打印流程不建议依赖强制移动。 如果归零超时、限位异常或运动方向不正确,请停止继续操作,先检查配置和报错信息。 > **归位超时排查**:[Homing failed due to printer shutdown](https://mellow.klipper.cn/docs/DebugDoc/faq/hometimeout) ## 耗材操作[​](#filament-control "耗材操作的直接链接") 耗材页面通常用于装载、卸载或手动挤出耗材。 1. 先把喷嘴加热到当前耗材适合的温度。 2. 等待温度稳定后再执行进料、退料或挤出。 3. 少量多次操作,观察耗材是否顺畅从喷嘴挤出。 4. 操作结束后清理喷嘴周围残料,避免影响下一次打印。 冷挤出保护 不要在喷嘴未加热时强行挤出或退料。若无法挤出,请先确认喷嘴温度、耗材路径和挤出机状态。 ## 工具与校准[​](#tools-calibration "工具与校准的直接链接") 工具页面包含校准相关入口。实际可用项目会受当前 Klipper 配置影响,常见项目包括: Loading... | 校准项目 | 用途 | | ------------ | ------------------------- | | 喷嘴加热校准 | 对喷嘴加热器执行 PID 校准 | | 热床加热校准 | 对热床加热器执行 PID 校准 | | 共振频率校准 | 执行共振补偿相关校准 | | 热床网格校准 | 执行热床网格调平 | | 多 Z 调平 | 执行多 Z 轴调平流程 | 工具页面中的喷嘴直径、耗材直径可以在屏幕上修改,修改后会自动保存到配置中;此自动保存功能需要搭配 FlyOS-FAST 自带 Klipper 使用。这两项会影响校准或计算结果,请按实际安装的喷嘴和耗材规格填写。常见耗材直径为 `1.75 mm`,喷嘴直径以当前机器实际喷嘴为准。 校准前确认 校准前请确认机器结构、探针、热床、喷嘴和耗材状态正常。校准过程中可能会自动移动或重启,请不要触碰运动部件和高温部件。 如果校准页面提示“请先归零”“请先加热”“探针提前触发”“探针仍处于触发状态”等信息,请先按提示处理,不要继续强行执行后续校准。 ## 设置与关于[​](#settings-about "设置与关于的直接链接") 设置页面包含以下入口: | 入口 | 功能 | | -------- | ---------------------------------------------------------- | | 无线网络 | 扫描、连接或断开 WiFi | | 服务 | 重启 Klipper、重启固件、重启 Moonraker、重启系统、关闭系统 | | 存储 | 查看 G-code 存储占用,删除文件或全部删除文件 | | 语言 | 切换屏幕语言 | | 控制台 | 查看控制台消息,必要时清空消息 | | 关于设备 | 查看设备版本号、屏幕版本号等信息 | 系统操作 重启固件、重启系统、关闭系统、删除全部文件等操作会影响当前打印或文件数据。执行前请确认没有正在打印的任务,并仔细确认弹窗内容。 | 操作类型 | 操作前确认 | | ------------------------------- | ---------------------------------------------- | | 重启 Klipper / 固件 / Moonraker | 当前没有正在打印的任务,且已保存需要保留的配置 | | 系统重启 / 系统关机 | 当前打印已结束,等待设备完全停止后再断电或维护 | | 全部删除文件 | 已确认 G-code 文件不再需要,或已在电脑端备份 | | 清空控制台 | 已确认不需要保留当前控制台消息用于排查 | ### 无线网络[​](#无线网络 "无线网络的直接链接") Loading... ### 服务[​](#服务 "服务的直接链接") Loading... ### 存储[​](#存储 "存储的直接链接") Loading... ### 语言[​](#语言 "语言的直接链接") Loading... ### 控制台[​](#控制台 "控制台的直接链接") Loading... ### 关于设备[​](#关于设备 "关于设备的直接链接") Loading... 若需要修改 FLY Screen 的语言、字体或关于页面文字,请修改 `FlyScreen.conf` 后重启服务。 > **FlyScreen.conf 配置**:[启用配置 - FlyScreen.conf 配置](https://mellow.klipper.cn/docs/ProductDoc/Software/fly_screen/config#flyscreenconf-config) ## 断电续打[​](#power-loss-resume "断电续打的直接链接") 如果系统检测到未完成任务,界面可能显示断电续打相关入口,可选择清除记录或按向导恢复打印。常见流程包括移动到 Z0、移动到模型高度、继续打印、打印上半部分、指定高度、手动移动等。 恢复打印前确认 断电续打前请确认模型仍牢固粘在平台上,喷嘴周围没有大块残料,平台和喷头移动路径没有障碍物。若模型已经松动或位置偏移,请不要继续恢复打印。 断电续打依赖系统和切片文件配合,恢复前请按屏幕提示逐步操作,不要跳过高度确认步骤。 ## 常见问题[​](#常见问题 "常见问题的直接链接") ### 屏幕没有进入 FLY Screen[​](#屏幕没有进入-fly-screen "屏幕没有进入 FLY Screen的直接链接") 请先确认系统配置为: ``` klipper_screen=0 fly_screen=1 ``` 保存配置后重启系统。如果仍然显示 KlipperScreen,请返回启用配置页面检查配置项是否写入正确。 ### 文件列表没有看到新上传的文件[​](#文件列表没有看到新上传的文件 "文件列表没有看到新上传的文件的直接链接") 1. 确认文件已经上传到打印机的 G-code 文件目录。 2. 确认文件扩展名是 `.gcode`。 3. 如果文件数量较多,先等待文件列表和缩略图加载完成。 4. 回到文件页面刷新列表,或重新进入文件页面。 5. 如果仍不显示,请通过浏览器确认文件是否能在 Mainsail 或 Fluidd 中看到。 ### 点击打印后机器没有动作[​](#点击打印后机器没有动作 "点击打印后机器没有动作的直接链接") 1. 确认 Klipper、Moonraker 和屏幕服务状态正常。 2. 在浏览器页面查看是否存在 Klipper 报错。 3. 根据完整报错信息进入 FAQ 文档排查。 > **常见 Klipper 报错**:[Klipper 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err) ### 风扇、LED 或对象排除不可用[​](#风扇led-或对象排除不可用 "风扇、LED 或对象排除不可用的直接链接") 部分按钮依赖 Klipper 配置中的对应功能。若屏幕提示“请定义风扇1”“请定义风扇2”“请定义 LED”,或对象排除按钮不可用,请先确认配置中是否已经定义对应风扇、LED 或对象排除功能。 --- # Klipper Cloud 远程代理 Klipper Cloud 远程代理用于让已联网的 FLYOS-FAST 设备连接 Klipper Cloud,以便在云平台中绑定和远程访问当前上位机。FLYOS-FAST v1.4.0 测试版镜像会在首次启动时生成本机凭据,但远程访问默认关闭,必须由用户主动开启。 测试功能与远程访问风险 该功能目前仅在 FLYOS-FAST v1.4.0 测试版镜像中确认。启用后,设备会主动连接远程服务;不需要远程访问时请保持关闭。 设备 ID、本机凭据、代理配置和包含这些内容的日志均不应发布到论坛、群聊或其他公开位置。 远程操作安全 远程移动、加热或执行 G-code 前,必须确认打印机现场环境安全,并保留可以立即断电或急停的措施。网络延迟、连接中断或状态不同步可能影响操作结果,不建议在无人看管且无法处理异常时远程启动打印。 ## 功能说明[​](#功能说明 "功能说明的直接链接") * 开启远程代理后,可以按照 Klipper Cloud 平台提示绑定当前上位机。 * 关闭远程代理只会停止云端远程连接,不影响 Fluidd、Mainsail、Moonraker 和 SSH 的局域网访问。 * 后台存在 agent 进程,不代表远程访问已经开启;代理进程也可能只是在等待用户授权。 * 设备 ID 用于识别当前上位机,不是主板 USB ID、CAN UUID 或打印机配置中的 MCU ID。 ## 完整启用流程[​](#完整启用流程 "完整启用流程的直接链接") ### 1. 开启远程服务[​](#1-开启远程服务 "1. 开启远程服务的直接链接") 通过 SSH 执行: ``` /data/klipper-cloud-agent/klipper-cloud-agent --enable-remote ``` 命令执行后如果没有报错,请等待代理连接云端。不要连续反复执行开启命令。 ### 2. 查询设备 ID[​](#2-查询设备-id "2. 查询设备 ID的直接链接") 确保云服务已经开启并且上位机可以访问互联网,然后执行: ``` /data/klipper-cloud-agent/klipper-cloud-agent --device-id ``` 命令正常返回设备 ID 后,再按照 Klipper Cloud 平台提示绑定设备。复制时只选择设备 ID 本身,不要把整张终端截图发送给其他人。 Loading... 图片说明 上图是终端操作示意,设备 ID 已隐藏。请以自己设备实际返回的内容为准。 ### 3. 完成云平台绑定[​](#3-完成云平台绑定 "3. 完成云平台绑定的直接链接") 云平台网址 [Klipper Cloud 设备管理](https://app.klipper.cn/) 打开 [Klipper Cloud 设备管理](https://app.klipper.cn/),使用自己的账号登录。首次使用时请先阅读页面中的使用须知、服务协议和隐私规则。 Loading... 登录后,在左侧 **我的设备** 区域找到设备添加框: 1. 将 `--device-id` 返回的完整设备 ID 填入 **输入 KD-… 设备 ID**。 2. 点击 **添加**。 3. 等待设备出现在左侧列表,并确认状态显示为 **在线**。 4. 点击设备后,可在页面中打开远程设备管理界面;需要独立窗口时点击右上角的 **新窗口打开**。 Loading... 提示 设备管理页面截图中的账号、设备名称、设备 ID 和远程打印界面均已隐藏。不要将包含真实信息的页面截图公开发布。 绑定后应同时检查: 1. 云平台显示的设备与当前上位机一致。 2. 远程页面能够读取当前打印机状态。 3. 局域网内的 Fluidd 或 Mainsail 仍可正常访问。 不要使用他人提供的设备 ID,也不要将自己的设备绑定到不受信任的账号。 ## 关闭远程服务[​](#disable-remote "关闭远程服务的直接链接") 不再使用远程访问时执行: ``` /data/klipper-cloud-agent/klipper-cloud-agent --disable-remote ``` Loading... 关闭后,本地 Fluidd、Mainsail、Moonraker 和 SSH 的局域网访问不受影响。如果准备转让、维修或重装设备,还应在 Klipper Cloud 平台中解除设备绑定;只执行关闭命令不等于解除云平台账号关系。 ## 解除云平台绑定[​](#unbind-device "解除云平台绑定的直接链接") 准备转让、维修或不再使用当前设备时,应同时关闭设备端远程服务并解除平台绑定: 1. 先在 SSH 中执行 `--disable-remote`。 2. 在电脑端右键点击左侧设备;手机或触控设备长按该设备。 3. 选择 **删除/解绑**。 4. 按页面提示输入当前设备名称进行确认。 Loading... 解绑会移除当前账号与该设备的关系。设备端保存的配置、打印文件以及局域网访问不会因此被删除。 ## 命令速查[​](#命令速查 "命令速查的直接链接") | 操作 | 命令 | 使用条件 | | ------------ | -------------------------------------------------------------------------------------------- | ------------------------ | | 检查代理程序 | `test -x /data/klipper-cloud-agent/klipper-cloud-agent && echo "klipper-cloud-agent 已安装"` | 登录 SSH 后执行 | | 开启远程服务 | `/data/klipper-cloud-agent/klipper-cloud-agent --enable-remote` | 上位机已经联网 | | 查询设备 ID | `/data/klipper-cloud-agent/klipper-cloud-agent --device-id` | 远程服务已开启且网络正常 | | 关闭远程服务 | `/data/klipper-cloud-agent/klipper-cloud-agent --disable-remote` | 不再需要云端访问时执行 | --- # 产品简介 FLY-ERCF 是一款基于 RP2040 的 3D 打印机多色控制板,主要用于 Enraged Rabbit 项目。它也可以用于其他两轴步进电机控制情况。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 两个驱动位,支持UART及SPI驱动 * 兼容原版ERCF EASY Board * 体积压缩到极致,采用4层板设计 * 板载2.54MM双排7PIN扩展口,可扩展限位等用途 * 支持12-24V电压 * 支持CAN总线与RS232连接,数据传输更稳定,延迟更小,连接更稳定 * can接口使用XT30(2+2),支持15A电流 ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU:Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 固件: Klipper * 输入电压: DC12V-24V * 接口: 2.54MM双排7PIN扩展口,SERVO X1,ENDSTOP X2,EXTRA X1 * 驱动:支持UART/SPI与STEP/DIR * 支持12-24V电压 * 支持CAN总线,数据传输更稳定,延迟更小,连接更稳定 * can接口使用XT30(2+2),支持15A电流 --- # 参考配置 ``` # This configuration file is only applicable to FLY ERCF Board [mcu ercf] canbus_uuid: *3251a329e6e3* # Carrot Feeder 5mm D-cut shaft [manual_stepper gear_stepper] step_pin: ercf:gpio7 dir_pin: ercf:gpio8 enable_pin: !ercf:gpio6 rotation_distance: 22.6789511 #Bondtech 5mm Drive Gears gear_ratio: 80:20 microsteps: 16 # Please do not go higher than 16, this can cause 'MCU Timer too close' issues under Klipper full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree velocity: 35 accel: 150 #Right now no pin is used for the endstop, but we need to define one for klipper. So just use a random, not used pin endstop_pin: ercf:gpio13 [tmc2209 manual_stepper gear_stepper] # Adapt accordingly to your setup and desires # The default values are tested with the BOM NEMA14 motor # Please adapt those values to the motor you are using # and use higher current uart_pin: ercf:gpio9 interpolate: True run_current: 0.40 hold_current: 0.1 sense_resistor: 0.110 # diag_pin: ercf:gpio23 # [tmc5160 manual_stepper gear_stepper] # cs_pin: ercf:gpio9 #spi_software_sclk_pin: ercf:gpio19 #spi_software_mosi_pin: ercf:gpio18 #spi_software_miso_pin: ercf:gpio16 # interpolate: True # run_current: 0.40 # hold_current: 0.1 # diag0_pin: ercf:gpio23 # Carrot Feeder selector [manual_stepper selector_stepper] step_pin: ercf:gpio2 dir_pin: ercf:gpio1 enable_pin: !ercf:gpio3 microsteps: 16 # Please do not go higher than 16, this can cause 'MCU Timer too close' issues under Klipper rotation_distance: 40 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree velocity: 200 accel: 600 # Select the endstop you want depending if you are using sensorless homing for the selector or not endstop_pin: ercf:gpio20 #endstop_pin: tmc2209_selector_stepper:virtual_endstop #endstop_pin: tmc5160_selector_stepper:virtual_endstop [tmc2209 manual_stepper selector_stepper] uart_pin: ercf:gpio0 run_current: 0.55 interpolate: True sense_resistor: 0.110 # Uncomment the lines below if you want to use sensorless homing for the selector #diag_pin: ^ercf:gpio22 # Set to MCU pin connected to TMC DIAG pin #driver_SGTHRS: 75 # 255 is most sensitive value, 0 is least sensitive # [tmc5160 manual_stepper selector_stepper] # cs_pin: ercf:gpio0 #spi_software_sclk_pin: ercf:gpio19 #spi_software_mosi_pin: ercf:gpio18 #spi_software_miso_pin: ercf:gpio16 # interpolate: True # run_current: 0.40 # hold_current: 0.1 # diag_pin: ercf:gpio22 # driver_SGT: 75 # Values are for the MG90S servo [servo ercf_servo] pin: ercf:gpio21 maximum_servo_angle: 180 minimum_pulse_width: 0.00085 maximum_pulse_width: 0.00215 [duplicate_pin_override] pins: ercf:gpio15 # Put there the pin used by the encoder and the filament_motion_sensor # It has to be the same pin for those 3 [filament_motion_sensor encoder_sensor] switch_pin: ^ercf:gpio15 pause_on_runout: False detection_length: 10.0 extruder: extruder # runout_gcode: _ERCF_ENCODER_MOTION_ISSUE [filament_switch_sensor toolhead_sensor] pause_on_runout: False switch_pin: ^ercf:gpio14 ``` --- 提示 * ERCF出厂预刷CAN连接的Katapult固件,速率为1M * ERCF CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * ERCF可以使用CAN连接方式与上位机连接 * CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 需要 CAN 工具板时:请选择 **CAN 固件**。 * 不使用 CAN 工具板时:请选择 **USB 固件**。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | -------- | ------------------- | ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/firmware?tab-0=can) | | USB 固件 | 不使用 CAN 工具板时 | 通信稳定,配置简单 | 不使用 CAN 工具板时,请使用 USB 固件 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercf/flash/firmware?tab-0=usb) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-ERCF Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-ERCF 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-ERCF 支持 CAN 和 USB 通信。 - 仓库提供 USB 固件,以及 `500K`、`1M` 两种 CAN 速率固件。 只选择一个固件 USB 与 CAN 固件不能同时使用。选择 CAN 固件时,固件速率必须与上位机及同一总线上的全部 CAN 设备一致。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-ERCF Katapult 固件: * [**FLY\_ERCF\_CANBOOT\_USB.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCF_CANBOOT_USB.uf2?v=0c55de36ea03) * [**FLY\_ERCF\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCF_CANBOOT_500K.uf2?v=8edac1640646) * [**FLY\_ERCF\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCF_CANBOOT_1M.uf2?v=4a2775a22ade) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/ERCF ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据通信方式和 CAN 速率,只执行其中一条烧录命令: USB: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCF_CANBOOT_USB.uf2 ``` CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCF_CANBOOT_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCF_CANBOOT_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 固件编译与烧录 选择工具板固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件CAN 固件 --- # 引脚分布 说明 * 本页列出 FLY-ERCF 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ----- | ----- | ----- | ------- | ---- | | DRIVER0 | gpio2 | gpio1 | gpio3 | gpio0 | - | | DRIVER1 | gpio7 | gpio8 | gpio6 | gpio9 | - | ## 限位[​](#限位 "限位的直接链接") | 功能 | 引脚 | | ------- | ------ | | 限位口0 | gpio20 | | 限位口1 | gpio15 | ## 舵机[​](#舵机 "舵机的直接链接") | 功能 | 引脚 | | ----- | ------ | | 舵机0 | gpio21 | ## 扩展输出[​](#扩展输出 "扩展输出的直接链接") | 功能 | 引脚 | | ---------------- | ------ | | EXTRA / 通用输出 | gpio14 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ---------------- | ------ | | 舵机0 | gpio21 | | EXTRA / 通用输出 | gpio14 | --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 USB 或 CAN 线束、调整拨码或触碰端子。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件CAN 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-ERCF资料[​](#fly-ercf资料 "Fly-ERCF资料的直接链接") * 点击下方网盘链接 * Loading... --- # ERCF # 主板参考接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... Loading... --- # 产品简介 FLY-ERCF 是一款基于 RP2040 的 3D 打印机多色控制板,主要用于 Enraged Rabbit 项目。它也可以用于其他两轴步进电机控制情况。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 支持CAN模式、RS232模式 * 两个驱动位,支持UART及SPI驱动 * 兼容原版ERCF EASY Board * 体积压缩到极致,采用4层板设计 * 将14PIN扩展口更换成XHD2.54,接线更牢固以防断线的事情发生 * 支持12-24V电压 * 支持CAN总线与RS232连接,数据传输更稳定,延迟更小,连接更稳定 * can接口使用XT30(2+2),支持15A电流 ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 固件: Klipper CAN/RS232 * 输入电压: DC12V-24V * 接口: XHD2.54双排7PIN扩展口,SERVO X1,ENDSTOP X2,EXTRA X1 * 驱动:支持UART/SPI与STEP/DIR * 支持12-24V电压 * 支持CAN总线与RS232,数据传输更稳定,延迟更小,连接更稳定 * can接口使用XT30(2+2),支持15A电流 --- # 参考配置 ``` # This configuration file is only applicable to FLY ERCF Board [mcu ercf] canbus_uuid: *3251a329e6e3* # Carrot Feeder 5mm D-cut shaft [manual_stepper gear_stepper] step_pin: ercf:gpio7 dir_pin: ercf:gpio8 enable_pin: !ercf:gpio6 rotation_distance: 22.6789511 #Bondtech 5mm Drive Gears gear_ratio: 80:20 microsteps: 16 # Please do not go higher than 16, this can cause 'MCU Timer too close' issues under Klipper full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree velocity: 35 accel: 150 #Right now no pin is used for the endstop, but we need to define one for klipper. So just use a random, not used pin endstop_pin: ercf:gpio15 [tmc2209 manual_stepper gear_stepper] # Adapt accordingly to your setup and desires # The default values are tested with the BOM NEMA14 motor # Please adapt those values to the motor you are using # and use higher current uart_pin: ercf:gpio9 interpolate: True run_current: 0.40 hold_current: 0.1 sense_resistor: 0.110 # diag_pin: ercf:gpio15 # [tmc5160 manual_stepper gear_stepper] # cs_pin: ercf:gpio9 #spi_software_sclk_pin: ercf:gpio19 #spi_software_mosi_pin: ercf:gpio18 #spi_software_miso_pin: ercf:gpio16 # interpolate: True # run_current: 0.40 # hold_current: 0.1 # diag0_pin: ercf:gpio15 # Carrot Feeder selector [manual_stepper selector_stepper] step_pin: ercf:gpio4 dir_pin: ercf:gpio3 enable_pin: !ercf:gpio5 microsteps: 16 # Please do not go higher than 16, this can cause 'MCU Timer too close' issues under Klipper rotation_distance: 40 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree velocity: 200 accel: 600 # Select the endstop you want depending if you are using sensorless homing for the selector or not endstop_pin: ercf:gpio20 #endstop_pin: tmc2209_selector_stepper:virtual_endstop #endstop_pin: tmc5160_selector_stepper:virtual_endstop [tmc2209 manual_stepper selector_stepper] uart_pin: ercf:gpio2 run_current: 0.55 interpolate: True sense_resistor: 0.110 # Uncomment the lines below if you want to use sensorless homing for the selector #diag_pin: ^ercf:gpio20 # Set to MCU pin connected to TMC DIAG pin #driver_SGTHRS: 75 # 255 is most sensitive value, 0 is least sensitive # [tmc5160 manual_stepper selector_stepper] # cs_pin: ercf:gpio2 #spi_software_sclk_pin: ercf:gpio19 #spi_software_mosi_pin: ercf:gpio18 #spi_software_miso_pin: ercf:gpio16 # interpolate: True # run_current: 0.40 # hold_current: 0.1 # diag_pin: ercf:gpio20 # driver_SGT: 75 # Values are for the MG90S servo [servo ercf_servo] pin: ercf:gpio21 maximum_servo_angle: 180 minimum_pulse_width: 0.00085 maximum_pulse_width: 0.00215 [duplicate_pin_override] pins: ercf:gpio15 # Put there the pin used by the encoder and the filament_motion_sensor # It has to be the same pin for those 3 [filament_motion_sensor encoder_sensor] switch_pin: ^ercf:gpio21 pause_on_runout: False detection_length: 10.0 extruder: extruder # runout_gcode: _ERCF_ENCODER_MOTION_ISSUE ``` --- 提示 * ERCF V2出厂预刷CAN连接的Katapult固件,速率为1M * ERCF V2 CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * ERCF V2可以使用RS232,CAN两种连接方式与上位机连接 * RS232与CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 需要 CAN 工具板时:请选择 **CAN 固件**。 * 需要 RS232 连接时:请选择 **RS232 固件**。 * 不使用 CAN 工具板且需要 USB 直连时:请选择 **USB 固件**。 * 三种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ---------- | ----------------- | ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/firmware?tab-0=can) | | RS232 固件 | 需要 RS232 连接时 | 通信稳定,配置简单 | 需要搭配 G2T 或 UTOR 等 RS232 连接设备 | [编译 RS232 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/firmware?tab-0=rs232) | | USB 固件 | 需要 USB 直连时 | 通信稳定,配置简单 | 确认上位机 USB 接口和数据线可正常通信 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-ercf/ercfv2/flash/firmware?tab-0=usb) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-ERCF V2 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-ERCF V2 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-ERCF V2 支持 CAN、RS232 和 USB 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-ERCF V2 Katapult 固件: * [**FLY\_ERCFV2\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_500K.uf2?v=a67163a8c116) * [**FLY\_ERCFV2\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_1M.uf2?v=d76fd3fb6b5d) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/ERCF ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/ERCF/FLY_ERCFV2_CANBOOT_CAN_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件CAN 固件RS232 固件 --- # 引脚分布 说明 * 本页列出 FLY-ERCF V2 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ----- | ----- | ----- | ------- | ---- | | DRIVER0 | gpio4 | gpio3 | gpio5 | gpio2 | - | | DRIVER1 | gpio7 | gpio8 | gpio6 | gpio9 | - | ## 限位[​](#限位 "限位的直接链接") | 功能 | 引脚 | | ------- | ------ | | 限位口0 | gpio20 | | 限位口1 | gpio15 | ## 舵机[​](#舵机 "舵机的直接链接") | 功能 | 引脚 | | ----- | ------ | | 舵机0 | gpio21 | ## 扩展输出[​](#扩展输出 "扩展输出的直接链接") | 功能 | 引脚 | | ---------------- | ------ | | EXTRA / 通用输出 | gpio14 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ---------------- | ------ | | 舵机0 | gpio21 | | EXTRA / 通用输出 | gpio14 | --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 USB、CAN 或 RS232 线束、调整拨码或触碰端子。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件CAN 固件RS232 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-ERCF资料[​](#fly-ercf资料 "Fly-ERCF资料的直接链接") * 点击下方网盘链接 * Loading... --- # ERCF Loading... # 主板参考接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 产品简介 Fly-MMU多功能工具板是一款高性能控制板,专为3D打印机和自动化设备设计。它集成了强大的H723微控制器,支持多达4个TMC步进电机驱动器,并且支持高压驱动,自带11个限位开关输入而且可通过FPC扩展出16个限位,以及4个舵机控制输出。该工具板兼容Klipper固件,并提供CAN总线和RS232连接选项,以实现灵活的通信和控制方案。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 主控采用32位主频550MHz的ARM Cortex-M7系列STM32H723主控芯片 * 支持四个驱动扩展,并且支持最高48V的高压TP5160驱动 * 多个限位扩展,板载11个限位口,并且可以通过FPC扩展出16个限位口 * 支持Klipper固件使用USB,CAN与RS232连接 * 预留CAN扩展口,使用CAN情况下可通过CAN扩展口连接其它设备 * 支持CAN总线与RS232连接,数据传输更稳定,延迟更小,连接更稳定 * can接口使用XT30(2+2),支持15A电流 ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU: STM32H723 * 固件: Klipper CAN/RS232 * 电源输入:HVIN:12V/48V与VIN:12V/24V * 扩展接口:11个限位,4个舵机,1个RGB,1个CAN扩展口与FPC扩展口可扩展16个限位 * 驱动:支持TP2209与TP5160,并且可以使用其他FLY的TP驱动 * 支持12-24V电压 * 支持CAN总线与RS232,数据传输更稳定,延迟更小,连接更稳定 * can接口使用XT30(2+2),支持15A电流 --- # 参考配置 ``` ########################################################################### # Happy Hare MMU hardware pin config # # EDIT THIS FILE BASED ON YOUR SETUP # # This contains aliases for pins for MCU type unknown # [mcu mmu] serial: /dev/ttyACM1 # Config guess. Run ls -l /dev/serial/by-id and set manually # Change to `canbus_uuid: 1234567890` for CANbus setups # Section to create alias for pins used by MMU for easier integration into Klippain and RatOS. # The names match those referenced in the mmu_hardware.cfg file. If you get into difficulty # you can also comment out this aliases definition and configure the pin names directly # into mmu_hardware.cfg. # [board_pins mmu] mcu: mmu # Assuming using an external / extra mcu dedicated to MMU aliases: MMU_GEAR_UART=PE7, MMU_GEAR_STEP=PC5, MMU_GEAR_DIR=PB1, MMU_GEAR_ENABLE=PB0, MMU_GEAR_DIAG=PE8, MMU_SEL_UART=PE11, MMU_SEL_STEP=PE14, MMU_SEL_DIR=PE13, MMU_SEL_ENABLE=PE12, MMU_SEL_DIAG=PE9, MMU_SEL_ENDSTOP=PE2, MMU_SERVO=PA3, MMU_CUT_SERVO=PA2, MMU_ENCODER=PE3, MMU_GATE_SENSOR=PC3, MMU_NEOPIXEL=PE10, MMU_PRE_GATE_0=PC6, MMU_PRE_GATE_1=PD15, MMU_PRE_GATE_2=PD14, MMU_PRE_GATE_3=PD13, MMU_PRE_GATE_4=PD12, MMU_PRE_GATE_5=PD11, MMU_PRE_GATE_6=PD10, MMU_PRE_GATE_7=PD9, ``` --- 提示 * MMU 提供USB与CAN连接的Katapult固件,有需要可以自行烧录 * MMU 出厂预刷CAN连接的Katapult固件,速率为1M * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * MMU可以使用RS232,CAN,USB三种连接方式与上位机连接 * 其中RS232与CAN需要使用`XT30(2+2)-F`进行连接,USB需要使用带数据传输功能的`TYPE-C`数据线进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 * 可以快速按两次重置后看主板上是否有一个LED闪烁起来,如果有则代表主板已经进入Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 需要 CAN 工具板时:请选择 **CAN 固件**。 * 需要 RS232 连接时:请选择 **RS232 固件**。 * 不使用 CAN 工具板且需要 USB 直连时:请选择 **USB 固件**。 * 三种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ---------- | ----------------- | ------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/firmware?tab-0=can) | | RS232 固件 | 需要 RS232 连接时 | 通信稳定,配置简单 | 需要搭配 G2T 或 UTOR 等 RS232 连接设备 | [编译 RS232 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/firmware?tab-0=rs232) | | USB 固件 | 需要 USB 直连时 | 通信稳定,配置简单 | 确认上位机 USB 接口和数据线可正常通信 | [编译 USB 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-mmu/mmu/flash/firmware?tab-0=usb) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-MMU Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-MMU 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-MMU 支持 CAN、RS232 和 USB 通信。 - 仓库提供 USB 固件,以及 `500K`、`1M` 两种 CAN 速率固件。 只选择一个固件 USB 与 CAN 固件不能同时使用。选择 CAN 固件时,固件速率必须与上位机及同一总线上的全部 CAN 设备一致。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中上方为 `RESET` 按键,下方为 `BOOT` 按键: 1. 保持控制板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接控制板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-MMU Katapult 固件: * [**FLY\_MMU\_CANBOOT\_USB.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/MMU/FLY_MMU_CANBOOT_USB.bin?v=1b1e4b80297f) * [**FLY\_MMU\_CANBOOT\_CAN\_500K.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_500K.bin?v=c35355764888) * [**FLY\_MMU\_CANBOOT\_CAN\_1M.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_1M.bin?v=73d2ad89988f) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/MMU ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_MMU_CANBOOT_USB.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/MMU/FLY_MMU_CANBOOT_USB.bin ``` `FLY_MMU_CANBOOT_CAN_500K.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_500K.bin ``` `FLY_MMU_CANBOOT_CAN_1M.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_1M.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_MMU_CANBOOT_USB.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/MMU/FLY_MMU_CANBOOT_USB.bin ``` `FLY_MMU_CANBOOT_CAN_500K.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_500K.bin ``` `FLY_MMU_CANBOOT_CAN_1M.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/MMU/FLY_MMU_CANBOOT_CAN_1M.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开控制板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 板载拨码介绍 ## RS232模式[​](#rs232模式 "RS232模式的直接链接") Loading... ## CAN模式[​](#can模式 "CAN模式的直接链接") Loading... --- # 固件编译与烧录 选择固件类型 MMU 支持 USB、CAN 和 RS232 三种连接方式。请根据实际连接方式选择对应固件,选择后才会显示完整的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 USB 固件CAN 固件RS232 固件 --- # 引脚分布 说明 * 本页列出 FLY-MMU 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ---- | ---- | ---- | ------- | ---- | | DRIVER0 | PE14 | PE13 | PE12 | PE11 | - | | DRIVER1 | PC5 | PB1 | PB0 | PE7 | - | | DRIVER2 | PC4 | PA6 | PA7 | PA5 | - | | DRIVER3 | PE4 | PE6 | PE5 | PC13 | - | ## 限位[​](#限位 "限位的直接链接") | 功能 | 引脚 | | -------- | ---- | | 限位口0 | PD3 | | 限位口1 | PD4 | | 限位口2 | PD5 | | 限位口3 | PD6 | | 限位口4 | PD7 | | 限位口5 | PC0 | | 限位口6 | PC1 | | 限位口7 | PC2 | | 限位口8 | PC3 | | 限位口9 | PE3 | | 限位口10 | PE2 | ## 舵机[​](#舵机 "舵机的直接链接") | 功能 | 引脚 | | ----- | ---- | | 舵机0 | PA3 | | 舵机1 | PA2 | | 舵机2 | PA1 | | 舵机3 | PA0 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | ----------------- | ---- | | RGB | PE10 | | TP LED / Neopixel | PA8 | ## 风扇 / 扩展输出[​](#风扇--扩展输出 "风扇 / 扩展输出的直接链接") | 功能 | 引脚 | | ---- | ---- | | FAN0 | PA0 | | FAN1 | PA1 | | FAN2 | PA2 | | FAN3 | PA3 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ----------------- | ---- | | 舵机0 / FAN3 | PA3 | | 舵机1 / FAN2 | PA2 | | 舵机2 / FAN1 | PA1 | | 舵机3 / FAN0 | PA0 | | RGB | PE10 | | TP LED / Neopixel | PA8 | --- # 重要说明 注意事项 * 本教程专门介绍**工具板**的接线与搜索ID,相关步骤不适用于主板,请注意区分。 * 如果您不使用工具板,请忽略本教程。 # 工具板ID读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 USB、CAN 或 RS232 线束,也不要在通电状态下调整拨码或触碰端子。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 USB 固件CAN 固件RS232 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-MMU资料[​](#fly-mmu资料 "Fly-MMU资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将**鼠标光标放在接线图上方**,**单击右键**,选择 **图片另存为** ,将图片保存到桌面再查看!!! ## MMU主板PIN图[​](#mmu主板pin图 "MMU主板PIN图的直接链接") Loading... ## MMU参考接线[​](#mmu参考接线 "MMU参考接线的直接链接") Loading... --- # 简介 # 1. 产品简介 FLY SB2040 PRO V3是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于stealthburner与afterburner,其集成了CAN收发器、RS232收发器、USB口、TMC2240驱动、LIS2DW加速度传感器,三个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 Loading... ## 1.1 产品特点[​](#11-产品特点 "1.1 产品特点的直接链接") * 预留Boot按钮,用户可通过Type-C进入Boot模式更新固件 * 支持Klipper固件、RRF固件 * 支持CAN模式、RS232模式、RRF CAN模式, * 在RS232模式下,拥有更高的传输速率、更强的稳定性。在CAN模式下,支持CAN扩展,预留CAN扩展接口 * 温度传感器支持: 板载MAX31865芯片,兼容PT100和PT1000温度传感器。 * 板载LIS2DW加速度传感器与LDC1612传感器 * 预留RGB接口、板载2240驱动,支持多种调平传感器,例如klicky、Voron Tap、PL08n等 * 支持12-24V电压、15A电流输入,增大加热棒端口,额定电流10A ## 1.2 新增功能[​](#12-新增功能 "1.2 新增功能的直接链接") * 支持Klipper CAN模式、RS232模式、RRFCAN模式互相切换 * 新增RS232模式,拥有更高的传输速率、更强的稳定性,调试使用也更为简单 * 新增RRF CAN模式,可切换为RRF工具板,增强适用性 * 新增CAN扩展接口,方便扩展CAN设备 * 新增终端电阻拨码开关,其终端电阻120R可通过拨码选择,无需跳线 * 新增1米电源/信号连接线,连接线使用双绞设计,抗干扰性能更强 ## 1.3 产品参数[​](#13-产品参数 "1.3 产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * 固件 :Reprap /Klipper * 输入电压 :DC12V-24V * 逻辑电压 :DC3 .3V * 板载传感器 :LIS2DW 与可选 ldc1612和max31865 * 加热棒接口: 加热棒(HEAT0) * 扩展接口: RGB,EndStop,PT100/PT1000,XH2.54-2P CAN口 * 风扇接口:一路DC风扇,两路DC风扇或者PWM风扇 * 电机驱动:板载TMC2240 * 温度传感器:一路100K NTC或PT1000(TH0),一路PT100/PT1000可选 # 4. 产品分类 RRF教程链接[RRF](https://teamgloomy.github.io/fly_sb2040_pro_max_v3_general.html) | SB2040 | V3 | Plus V3 | Max V3 | Pro V3 | Pro Plus V3 | Pro Max V3 | | -------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | | Drive | ![alt text](https://img.shields.io/badge/-TMC2209-green "TMC2209") | ![alt text](https://img.shields.io/badge/-TMC2209-green "TMC2209") | ![alt text](https://img.shields.io/badge/-TMC2209-green "TMC2209") | ![alt text](https://img.shields.io/badge/-TMC2240-blue "TMC2240") | ![alt text](https://img.shields.io/badge/-TMC2240-blue "TMC2240") | ![alt text](https://img.shields.io/badge/-TMC2240-blue "TMC2240") | | Klipper CANBus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Klipper RS232 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | RRF CANBus | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | | LIS2DW | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | MAX31865 | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | | LDC1612 | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # Eddy 使用 信息 * 使用前确保自己的打印机没有漏电 * 如之前有配置`eddy`、`Probe`、`BL-Touch`的配置,请删除 * 在安装 Eddy 时,线圈需在喷嘴上方,且距离喷嘴`2mm-3mm`处 * 测试时不要打开热床 注意事项 * 多Z轴机器需要手动调平一次做好 版本要求 **Klipper 官方近期对 Eddy 探针功能进行了优化**,建议更新至最新版本使用: * **普通上位机**:请将 Klipper 更新至最新版本 * **FLY Fast 系统**:请将系统版本升级至 **V1.3.8** 或更高版本 ## 接线示意图[​](#接线示意图 "接线示意图的直接链接") 断电操作 安装或更换 EDDY 传感器、插拔 FPC 线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * 使用板载 LDC1612 的 Max 版本时,线圈商标朝热床安装: Loading... ## 支持的工具板版本与 I2C 地址[​](#支持的工具板版本与-i2c-地址 "支持的工具板版本与 I2C 地址的直接链接") 根据 SB2040 系列的产品分类,V3、Plus V3、Pro V3 和 Pro Plus V3 不带板载 LDC1612,需要连接外置 FLY-EDDY;Max V3 和 Pro Max V3 使用板载 LDC1612。 | 工具板版本 | LDC1612 支持方式 | `i2c_address` | 选择的配置 | | --------------------------------------------------------------- | ----------------- | ------------- | ------------------------ | | SB2040 V3 / SB2040 Plus V3 / SB2040 Pro V3 / SB2040 Pro Plus V3 | 连接外置 FLY-EDDY | `42` | “V3 系列:外置 FLY-EDDY” | | SB2040 Max V3 / SB2040 Pro Max V3 | 使用板载 LDC1612 | `43` | “Max 系列:板载 LDC1612” | 选择正确的地址 V3、Plus V3、Pro V3 和 Pro Plus V3 使用外置 FLY-EDDY 时配置 `i2c_address: 42`;Max V3 和 Pro Max V3 使用板载 LDC1612 时配置 `i2c_address: 43`。地址与实际模块不一致会导致 Klipper 无法与 LDC1612 通信。 > **外置模块说明**:[FLY-EDDY 文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) ## 参考配置[​](#参考配置 "参考配置的直接链接") * `XY`的偏移值需要根据扫床模块与喷头本身进行计算,然后修改到下方的偏移值。 * `descend_z` 的值必须确保探针线圈与喷嘴尖端之间的物理高度差在`2~3mm`的推荐范围内。 - V3 系列:外置 FLY-EDDY(地址 42) - Max 系列:板载 LDC1612(地址 43) 此配置适用于 SB2040 V3、SB2040 Plus V3、SB2040 Pro V3 和 SB2040 Pro Plus V3,通过 FLY-EDDY-F FPC 排线连接工具板的 EDDY 接口。 > **FLY-EDDY 接线与安装**:[FLY-EDDY 产品文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # 外置 FLY-EDDY 模块必须使用 42 i2c_mcu: SB2040 i2c_bus: i2c1b # I2C总线标识,根据MCU定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY使用40MHz [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin:SB2040:gpio28 # FLY-EDDY-F 的 TEMP 线连接到工具板 gpio28 ``` 此配置仅适用于带板载 LDC1612 的 SB2040 Max V3 和 SB2040 Pro Max V3。 ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 43 # Max 系列板载 LDC1612 必须使用 43 i2c_mcu: SB2040 i2c_bus: i2c1b # I2C总线标识,根据MCU定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),SB2040 Max 系列使用40MHz [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin:SB2040:gpio28 ``` ## 线圈模型下载链接[​](#线圈模型下载链接 "线圈模型下载链接的直接链接") * 点击下方按钮下载线圈模型: Loading... ## 计算 XY 偏移值[​](#计算-xy-偏移值 "计算 XY 偏移值的直接链接") 下载模型后,请根据打印机实际结构测量并计算 XY 偏移值,再修改配置中的 `x_offset` 与 `y_offset`。 Loading... Loading... ## EDDY 校准[​](#eddy-校准 "EDDY 校准的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * 请确认没有同时启用 `Probe`、`BL-Touch` 等其他探针配置。 * 多 Z 轴机器需要先手动调平一次。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 安全提示 清洁喷嘴前请等待喷嘴冷却到安全温度;如必须在热机状态清理,只能使用专用工具,严禁用手直接接触喷嘴、热端或热床。 ### 添加临时配置[​](#添加临时配置 "添加临时配置的直接链接") 须知 下方配置仅用于临时校准,使用后必须删除或注释。 1. 添加后点击 `Save & Restart` 保存并重启。 2. 必须添加到 `printer.cfg` 文件顶部,请不要添加到文件末尾。 运动风险 下方临时宏会在未完整确认 Z 轴真实位置时移动机器。执行前请移开手和工具,确认喷嘴下方无遮挡,并随时准备使用急停。 ``` [force_move] enable_force_move: true [gcode_macro _LDC_CALIBRATE_DRIVE_CURRENT] gcode: BED_MESH_CLEAR SET_KINEMATIC_POSITION x=100 y=100 z=10 G28 X Y M104 S0 M140 S0 M106 S0 G0 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F6000 G0 Z30 F600 G4 P1000 LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe G4 P1000 SAVE_CONFIG [gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO] gcode: BED_MESH_CLEAR G28 X Y M104 S0 M140 S0 M106 S0 G90 G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000 {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } {% endif %} PROBE_EDDY_CURRENT_CALIBRATE {rawparams} ``` ### 驱动电流校准[​](#驱动电流校准 "驱动电流校准的直接链接") 在网页控制台中输入: ``` _LDC_CALIBRATE_DRIVE_CURRENT ``` 执行后打印机会移动到中心位置,并将打印头远离热床。随后系统会自动进行驱动电流校准,校准完成后保存配置并重启 Klipper。 ### 校准高度[​](#校准高度 "校准高度的直接链接") 提示 * 多 Z 轴机器需要先手动调平一次,再进行高度校准。 * 多 Z 轴机器完成高度校准后,建议再执行一次调平并重新校准高度。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 在网页控制台中输入: ``` PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=fly_eddy_probe ``` 执行后打印机会移动到中心位置,并弹出校准对话框。此时 Klipper 显示的 Z 高度并不重要,只需要按界面提示逐步降低喷嘴,直到喷嘴与纸张产生轻微摩擦。 完成后点击对话框中的 `ACCEPT`,系统会开始校准 EDDY 高度。校准完成后,点击网页右上角的 `SAVE_CONFIG & Restart` 保存配置并重启 Klipper。 ## 常见问题[​](#常见问题 "常见问题的直接链接") **Q:数据跳动大怎么办?** A:确认纸张测试力度一致,并检查传感器安装是否牢固。 **Q:校准后无效怎么办?** A:确认已执行 `SAVE_CONFIG` 并重启 Klipper。 ## 使用优化[​](#使用优化 "使用优化的直接链接") ### 快速扫床[​](#快速扫床 "快速扫床的直接链接") 下方宏会让调平流程先将喷头抬升到 `10mm` 进行快速调平,完成后再使用 EDDY 的下探高度进行精细调平。 * Z\_TILT\_ADJUST * QUAD\_GANTRY\_LEVEL ``` [gcode_macro Z_TILT_ADJUST] rename_existing: _Z_TILT_ADJUST gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_Z_TILT BED_MESH_CLEAR {% if not printer.z_tilt.applied %} _Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1 {% endif %} _Z_TILT_ADJUST horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 Z_tilt Completed RESTORE_GCODE_STATE NAME=STATE_Z_TILT M400 ``` ``` [gcode_macro QUAD_GANTRY_LEVEL] rename_existing: _QUAD_GANTRY_LEVEL gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_QGL BED_MESH_CLEAR {% if not printer.quad_gantry_level.applied %} _QUAD_GANTRY_LEVEL horizontal_move_z=10 retry_tolerance=1 {% endif %} _QUAD_GANTRY_LEVEL horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 QGL Completed RESTORE_GCODE_STATE NAME=STATE_QGL M400 ``` ### 热床[​](#热床 "热床的直接链接") 下方宏会让网床扫描使用快速模式,并在扫描时临时关闭热床,减少热床加热和大功率负载对 EDDY 的影响。扫描完成后会恢复原热床目标温度。 ``` [gcode_macro BED_MESH_CALIBRATE] rename_existing: _BED_MESH_CALIBRATE gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} {% set TARGET_TEMP = printer.heater_bed.target %} M140 S0 _BED_MESH_CALIBRATE horizontal_move_z={PROBE_Z_OFFSET} METHOD=rapid_scan {rawparams} M140 S{TARGET_TEMP} ``` ## EDDY 使用 Z 轴偏移功能[​](#eddy-使用-z-轴偏移功能 "EDDY 使用 Z 轴偏移功能的直接链接") 重要通知 EDDY 的 Z 偏移功能此前存在兼容性问题,已在 2025 年 12 月 31 日的 Klipper 更新中修复。 * 普通上位机:请将 Klipper 更新至较新的稳定版本。 * FLY 上位机:请将系统版本升级至 V1.3.5 或更高。 完成更新后,请删除之前配置文件中与 `Z 偏移` 相关的旧设置,否则该功能可能无法正常使用。 ### Z 偏移说明[​](#z-偏移说明 "Z 偏移说明的直接链接") Z 偏移校准前,建议先打印一个较大面积的单层模型,用于观察首层状态。 Mainsail Z 轴偏移校准位置: Loading... Fluidd Z 轴偏移校准位置: Loading... 校准完成后点击保存即可。保存结果只会在控制台中提示,保存后不需要重启 Klipper。 注意事项 Z 偏移校准通常需要重复几次,才能获得更稳定的首层效果。 --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 请将[include SB2040.cfg]添加到printer.cfg下 ## Please add [include SB2040.cfg] under printer.cfg ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### [mcu SB2040] # 工具主板序列号 ## CAN ID ## ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 canbus_uuid: #-------------------------------------------------------------------- # # RS232 ID ## 请根据固件配置填写波特率 ## Please fill in the baud rate according to the firmware configuration. # serial: /dev/serial/by-path/platform-1c1c000.usb-usb-0:1.2:1.0-port0 # baud: 250000 # restart_method:command ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor SB2040] sensor_type: temperature_mcu sensor_mcu: SB2040 ##################################################################### # Accelerometer ##################################################################### ## https://www.klipper3d.org/Measuring_Resonances.html?h=adxl#adxl345 ## 建议使用spi_bus,此配置可以同时使用31865与加速度计 [lis2dw] cs_pin: SB2040:gpio12 spi_bus:spi0_gpio4_gpio3_gpio2 #spi_software_sclk_pin: SB2040:gpio2 #spi_software_mosi_pin: SB2040:gpio3 #spi_software_miso_pin: SB2040:gpio4 #-------------------------------------------------------------------- [resonance_tester] accel_chip: lis2dw probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 ##################################################################### # Stealthburner LED ##################################################################### ## https://github.com/VoronDesign/Voron-Stealthburner/tree/main [neopixel sb_leds] pin: SB2040:gpio26 chain_count: 16 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 #66CCFF initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 ##################################################################### # Extruder thermal sensitivity ##################################################################### ## Please select the type of thermocouple you want to use. ## 请根据你想要使用的热敏选择 [extruder] ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) sensor_type:ATC Semitec 104GT-2 sensor_pin:SB2040:gpio27 ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # sensor_pin:SB2040:gpio27 # pullup_resistor: 1000 ###------------------------------------------------------------------ ## Using MAX31865 to connect PT100 or PT1000 ## 使用MAX31865接PT100或者PT1000 # sensor_type: MAX31865 # sensor_pin: SB2040:gpio17 # spi_bus:spi0_gpio4_gpio3_gpio2 # rtd_reference_r: 430 ## 使用PT100时请设置为430,使用PT1000时请设置为4300 #rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin:SB2040:gpio14 dir_pin:SB2040:gpio13 enable_pin: !SB2040:gpio16 rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin:SB2040:gpio23 min_temp:-235 max_temp:350 max_power:1.0 min_extrude_temp: 170 pressure_advance: 0.05 pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 ###------------------------------------------------------------------ [tmc2240 extruder] uart_pin:SB2040:gpio15 interpolate:False run_current: 0.65 interpolate: False rref: 12300 driver_TPFD: 0 ###------------------------------------------------------------------ [verify_heater extruder] max_error: 20 check_gain_time:120 hysteresis: 50 heating_gain: 2 ##################################################################### # FAN ##################################################################### [fan] pin:SB2040:gpio24 ###------------------------------------------------------------------ [heater_fan my_hotend_fan] pin: SB2040:gpio19 heater: extruder heater_temp: 50.0 ##################################################################### # TAP && PL08N && BLTOUCH ##################################################################### # [stepper_x] # endstop_pin: ^!SB2040:gpio18 # ##################################################################### # # TAP && PL08N && BLTOUCH # ##################################################################### # ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: ^SB2040:gpio22 #gpio22 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 ``` --- # 板载拨码介绍 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将**鼠标光标放在接线图上方**,**单击右键**,选择 **图片另存为** ,将图片保存到桌面再查看!!! ## 工作模式选择[​](#工作模式选择 "工作模式选择的直接链接") 注意事项 请注意SB2040 PRO V3支持三种连接方式,需要修改拨码并且烧录固件才可以正常连接 Loading... ## 31865拨码选择[​](#31865拨码选择 "31865拨码选择的直接链接") * 请注意拨码默认朝下 Loading... --- 提示 * SB2040 PRO V3出厂预刷CAN连接的Katapult固件,速率为1M * SB2040 PRO V3 CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * SB2040 PRO V3可以使用RS232,CAN两种连接方式与上位机连接 * RS232与CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 * 可以快速按两次重置后看主板上是否有一个LED闪烁起来,如果有则代表主板已经进入Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 需要 CAN 工具板时:请选择 **CAN 固件**。 * 需要 RS232 连接时:请选择 **RS232 固件**。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ---------- | ----------------- | ------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/flash/firmware?tab-0=can) | | RS232 固件 | 需要 RS232 连接时 | 通信稳定,配置简单 | 需要搭配 G2T 或 UTOR 等 RS232 连接设备 | [编译 RS232 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro-v3/flash/firmware?tab-0=rs232) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SB2040 Pro V3 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SB2040 Pro V3 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SB2040 Pro V3 支持 CAN 和 RS232 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中左侧为 `RESET` 按键,右侧为 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SB2040 Pro V3 Katapult 固件: * [**FLY\_SB2040PROV3\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_500K.uf2?v=decf24d099fd) * [**FLY\_SB2040PROV3\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_1M.uf2?v=b2ad6f764ee0) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SB2040 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040PROV3_CANBOOT_CAN_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 CAN 固件RS232 固件 --- # 引脚分布 说明 * 本页列出 FLY-SB2040 Pro V3 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ------ | ------ | ------ | ------- | ---- | | DRIVER0 | gpio14 | gpio13 | gpio16 | gpio15 | - | ## 限位[​](#限位 "限位的直接链接") | 功能 | 引脚 | | ---------------- | ------ | | HV-IN / 通用输入 | gpio22 | | 通用输入0 | gpio18 | | 通用输入1 | gpio20 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ------ | | 加热口0 | gpio23 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ------ | | 热敏口0 | gpio27 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ------ | | 风扇口0 | gpio24 | | 风扇口1 | gpio19 | | 风扇口2 | gpio21 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio26 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio26 | --- # 工具板ID读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 或 RS232 线束、调整拨码或触碰端子。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 CAN 固件RS232 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SB2040资料[​](#fly-sb2040资料 "Fly-SB2040资料的直接链接") * 点击下方网盘链接 * Loading... --- # 驱动欠压解决方法 ## 方法一[​](#方法一 "方法一的直接链接") 危险 * 更换电源 * 添加电源滤波器 * 更换电机以判断 * 将电机外壳接到工具板的GND上 * 在挤出机驱动配置添加`driver_TPFD: 0` ## 方法二[​](#方法二 "方法二的直接链接") * 通过SSH连接到上位机 * 输入下方指令 ``` sed -i 's/"uv_cp": 0x01 << 2/#&/' ~/klipper/klippy/extras/tmc2240.py ``` 危险 * 更新Klipper后将可能还原此步骤 --- # SB2040 V3 Loading... Loading... # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 # 产品简介 FLY SB2040 PRO 是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于stealthburner与afterburner,其集成了CAN收发器、USB口、TMC2240驱动、ADXL345加速度传感器,三个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 Loading... ## 产品特点[​](#产品特点 "产品特点的直接链接") * 预留Boot按钮,用户可通过Type-C进入Boot模式更新固件 * 支持Klipper固件 * 温度传感器支持: 板载MAX31865芯片,兼容PT100 * 板载ADXL345加速度传感器 * 预留RGB接口、板载2240驱动,支持多种调平传感器,例如klicky、Voron Tap、PL08n等 * 支持12-24V电压、15A电流输入,增大加热棒端口,额定电流10A ## 产品参数[​](#产品参数 "产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * 固件 :Klipper * 输入电压 :DC12V-24V * 逻辑电压 :DC3 .3V * 板载传感器 :ADXL345 与可选MAX31865 * 加热棒接口: 加热棒(HEAT0) * 扩展接口: 可控风扇*3,RGB*1,限位*3,加热管*1,热敏\*1 * 风扇接口:三路可控风扇 * 电机驱动:板载TMC2240 ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ##################################################################### # 主板配置 ##################################################################### [mcu sb2040] # 工具主板序列号 canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ##################################################################### # adxl345加速度计配置(需要时启用即可) ##################################################################### ## ADXL345加速度计 [adxl345] cs_pin: sb2040:gpio1 spi_software_sclk_pin: sb2040:gpio0 spi_software_mosi_pin: sb2040:gpio3 spi_software_miso_pin: sb2040:gpio2 #-------------------------------------------------------------------- [resonance_tester] accel_chip: adxl345 # 加速度芯片型号 probe_points: 150,150,10 # 坐标配置为热床的中间 ##################################################################### # 温度监控 ##################################################################### [temperature_sensor FLY-SB2040-PRO] # 工具板主控温度 sensor_type: temperature_mcu # 关联mcu sensor_mcu: sb2040 #-------------------------------------------------------------------- [temperature_sensor Warehouse] # 工具板热敏温度 sensor_type: ATC Semitec 104GT-2 sensor_pin: sb2040:gpio26 ##################################################################### # E 挤出机设置 # ##################################################################### #注:接完线需测试运行方向 [extruder] step_pin: sb2040:gpio9 dir_pin: sb2040:gpio10 # 挤出电机方向引脚设置 enable_pin: !sb2040:gpio7 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: sb2040:gpio6 # 加热棒引脚,接到HETA0 #-------------------------------------------------------------------- ##普通热敏配置 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: sb2040:gpio27 # 传感器引脚 #-------------------------------------------------------------------- ##pt1000配置 #sensor_type: PT1000 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) #pullup_resistor: 1000 # 热敏上拉电阻为1000,如果温度为负-180需要更换跳线 #sensor_pin: sb2040:gpio27 # 传感器引脚 #-------------------------------------------------------------------- #sensor_type: MAX31865 # 传感器型号,PT100版本 #sensor_pin: sb2040:gpio22 # 传感器引脚,PT100版本 # spi_software_sclk_pin: sb2040:gpio18 # spi_software_mosi_pin: sb2040:gpio19 # spi_software_miso_pin: sb2040:gpio23 #rtd_reference_r: 430 # 使用31865时需要删除前面# #rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 #-------------------------------------------------------------------- min_temp: -235 # 最小温度 max_temp: 350 # 最大温度 max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2240 extruder] cs_pin: sb2040:gpio11 # SPI 片选Pin脚定义 spi_software_sclk_pin: sb2040:gpio0 spi_software_mosi_pin: sb2040:gpio3 spi_software_miso_pin: sb2040:gpio2 run_current: 0.65 # 电机运行电流值 interpolate: False # 是否开启256微步插值(不建议开启) rref: 12300 # 驱动采样电阻 driver_TPFD: 0 ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin: sb2040:gpio13 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: sb2040:gpio14 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # X限位配置 ##################################################################### [stepper_x] endstop_pin: !sb2040:gpio29 ## SB2040板有gpio25, gpio28, gpio29三个限位引脚可用,gpio25支持高压输入.按照实际接线修改配置 ##################################################################### # SB头led配置 ##################################################################### [neopixel sb_leds] pin: sb2040:gpio12 chain_count: 3 # 灯珠数量 color_order: GRBW # 灯珠类型 initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 ##################################################################### # PL08N感应探头 ##################################################################### # PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! #[probe] #pin: ^sb2040:gpio25 # 信号接口 #x_offset: 0 # 传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: 25.0 #z_offset: 0 #speed: 10.0 # 调平速度 #samples: 3 # 采样次数 #samples_result: median #sample_retract_dist: 4.0 # 调平回缩距离 #samples_tolerance: 0.010 # 采样公差(注意过小的值可能造成采样次数增加) #samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^sb2040:gpio29 # 信号接口 #control_pin: sb2040:gpio28 # 舵机控制 #x_offset: -26.1 #y_offset: -15.3 #z_offset: 2.1 ``` --- 提示 * SB2040 PRO出厂预刷CAN连接的Katapult固件,速率为1M * SB2040 PRO CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/flash/bl "点击即可跳转") # 固件烧录说明 * SB2040 PRO可以使用CAN连接方式与上位机连接 * CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * SB2040 Pro 只能使用 CAN 连接上位机。 * 需要 CAN 工具板时:请选择 **CAN 固件**。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | -------- | ----------------- | ------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-pro/flash/can) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") * SB2040 PRO默认自带CAN连接速率1M的Katapult固件 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SB2040 Pro Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SB2040 Pro 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SB2040 Pro 使用 CAN 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SB2040 Pro Katapult 固件: * [**FLY\_SB2040PRO\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_500K.uf2?v=47b17847ab0f) * [**FLY\_SB2040PRO\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_1M.uf2?v=34a03fb0e467) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SB2040 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040PRO_CANBOOT_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # CAN 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 16KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 CAN bus (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6CAN RX gpio number 设置为 4 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7CAN TX gpio number 设置为 5 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8CAN bus speed 默认使用 1M(1000000),无需修改 默认 CAN 速率为 **1M**,对应值 `1000000`,使用 1M 时无需修改。 * 1M:`1000000` * 500K:`500000` * 250K:`250000` 请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 9启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 10GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (gpio24) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 11按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (gpio24) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 12出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/../lib/can2040/can2040.o Compiling out/src/generic/canserial.o Compiling out/src/generic/canbus.o Compiling out/src/../lib/fast-hash/fasthash.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 接线[​](#接线 "接线的直接链接") * 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... * 使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板后,此时主板上会有LED灯闪烁。 警告 * 如果没有LED灯闪烁,请重新烧录Katapult固件:[烧录Katapult固件](https://mellow.klipper.cn/bl) * 如果没有LED灯闪烁,请在烧录完Katapult固件后,再执行下一步 ## 搜索ID并烧录[​](#搜索id并烧录 "搜索ID并烧录的直接链接") ## 查询CANBus UUID[​](#查询canbus-uuid "查询CANBus UUID的直接链接") 操作前须知 * 建议在**非打印状态**下执行ID查询和固件刷写操作,避免干扰打印过程。 * 同一主板/工具板的Katapult(CANBoot)固件与Klipper固件使用**相同的CAN ID**。 前提条件 请确保满足以下条件,否则可能无法正常搜索到CAN ID: 1. **上位机CAN网络已正确配置** 2. **工具板CAN速率与上位机完全一致**(速率不一致将无法通信) 3. 执行 `lsusb` 命令后能看到 `1d50:606f` 设备(USB-CAN适配器) ### 搜索命令(根据系统选择)[​](#搜索命令根据系统选择 "搜索命令(根据系统选择)的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") #### 情况一:已刷Klipper固件的主板/工具板[​](#情况一已刷klipper固件的主板工具板 "情况一:已刷Klipper固件的主板/工具板的直接链接") * **显示效果**:显示一个CAN ID,并提示 `Application: Klipper` * **说明**:设备已运行Klipper固件,可以直接使用。此ID可能是主板ID也有可能是工具板ID. * **区分方法**:断开工具板的CAN连接线后重新搜索。如果该ID消失,则属于工具板;如果该ID仍在,则属于主板。 Loading... *** #### 情况二:主板 + 待烧录工具板[​](#情况二主板--待烧录工具板 "情况二:主板 + 待烧录工具板的直接链接") * **显示效果**:显示**两个**CAN ID * **说明**:主板运行Klipper固件,工具板运行CanBoot固件,等待烧录。 Loading... *** #### 情况三:UTOC + 待烧录工具板[​](#情况三--待烧录工具板 "情况三--待烧录工具板的直接链接") * **显示效果**:**UTOC本身不显示ID**,只显示工具板的ID * **说明**:UTOC 仅作为桥接器,需确保工具板处于CanBoot模式。 Loading... *** #### 情况四:无ID显示[​](#情况四无id显示 "情况四:无ID显示的直接链接") * **显示效果**:无任何ID显示 * **可能原因**: 1. CAN总线被Klipper占用 2. 上位机CAN0速率配置错误 3. 物理接线异常 4. 设备未进入CanBoot模式 Loading... *** 重要提示 * **待烧录状态**:工具板处于CanBoot模式时会显示 `Application: CanBoot` 且固件灯闪烁,此时可进行固件烧录。 * **ID占用处理**:如果设备已运行Klipper固件且ID已填入配置文件,ID将**不会显示**(被Klipper占用)。如需重新显示,需在配置中屏蔽该ID并**彻底断电重启**。 故障排查 如果无法查询到UUID,请参考: [CAN问题排查指南](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### 烧录命令[​](#烧录命令 "烧录命令的直接链接") 1. 将下方命令中的 `241696050c56` 替换为您实际查询到的UUID 2. **注意**:`-u` 参数后需有空格 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**,请使用新指令: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper),请使用旧指令: ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` ### 烧录成功确认[​](#烧录成功确认 "烧录成功确认的直接链接") 出现 **`CAN Flash Success`** 提示即表示烧录成功: Loading... ## 固件更新[​](#固件更新 "固件更新的直接链接") ### 更新方法[​](#更新方法 "更新方法的直接链接") 当需要更新固件时,只需: 1. 重新编译固件 2. 确保能查询到设备CAN ID(或Klipper已连接设备) 3. 执行相同的烧录命令 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` ### 更新成功示例[​](#更新成功示例 "更新成功示例的直接链接") Loading... ``` ``` ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动LED会亮起来 Loading... --- # 引脚分布 说明 * 本页列出 SB2040-PRO 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ----- | ------ | ----- | ------- | ---- | | DRIVER0 | gpio9 | gpio10 | gpio7 | gpio11 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ----- | | 挤出头加热 | gpio6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ------ | | 挤出头热敏 | gpio27 | | 仓温热敏 | gpio26 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ------ | | 模型冷却风扇 | gpio13 | | 喉管散热风扇 | gpio14 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ---------------- | ------ | | HV-IN / 通用输入 | gpio28 | | X 限位 | gpio29 | | Probe / 通用输入 | gpio25 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio12 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ----- | | CS | gpio1 | | MOSI | gpio3 | | MISO | gpio2 | | SCLK | gpio0 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio12 | --- # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SB2040资料[​](#fly-sb2040资料 "Fly-SB2040资料的直接链接") * 点击下方网盘链接 * Loading... --- # 驱动欠压解决方法 ## 方法一[​](#方法一 "方法一的直接链接") 危险 * 更换电源 * 添加电源滤波器 * 更换电机以判断 * 将电机外壳接到工具板的GND上 * 在挤出机驱动配置添加`driver_TPFD: 0` ## 方法二[​](#方法二 "方法二的直接链接") * 通过SSH连接到上位机 * 输入下方指令 ``` sed -i 's/"uv_cp": 0x01 << 2/#&/' ~/klipper/klippy/extras/tmc2240.py ``` 危险 * 更新Klipper后将可能还原此步骤 --- # wiring ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") Loading... # 主板参考接线 信息 * 散热片是贴到驱动上! can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 # 1. 产品简介 FLY SB2040 V3是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于stealthburner与afterburner,其集成了CAN收发器、RS232收发器、USB口、TMC2209驱动、LIS2DW加速度传感器,三个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 Loading... ## 1.1 产品特点[​](#11-产品特点 "1.1 产品特点的直接链接") * 预留Boot按钮,用户可通过Type-C进入Boot模式更新固件 * 支持Klipper固件、RRF固件 * 支持CAN模式、RS232模式、RRF CAN模式, * 在RS232模式下,拥有更高的传输速率、更强的稳定性。在CAN模式下,,支持CAN扩展,预留CAN扩展接口 * 温度传感器支持: 板载MAX31865芯片,兼容PT100和PT1000温度传感器。 * 板载LIS2DW加速度传感器与LDC1612传感器 * 预留RGB接口、板载2209驱动,支持多种调平传感器,例如klicky、Voron Tap、PL08n等 * 支持12-24V电压、15A电流输入,增大加热棒端口,额定电流10A ## 1.2 新增功能[​](#12-新增功能 "1.2 新增功能的直接链接") * 支持Klipper CAN模式、RS232模式、RRFCAN模式互相切换 * 新增RS232模式,拥有更高的传输速率、更强的稳定性,调试使用也更为简单 * 新增RRF CAN模式,可切换为RRF工具板,增强适用性 * 新增CAN扩展接口,方便扩展CAN设备 * 新增终端电阻拨码开关,其终端电阻120R可通过拨码选择,无需跳线 * 新增1米电源/信号连接线,连接线使用双绞设计,抗干扰性能更强 ## 1.3 产品参数[​](#13-产品参数 "1.3 产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * 固件 :Reprap /Klipper * 输入电压 :DC12V-24V * 逻辑电压 :DC3 .3V * 板载传感器 :LIS2DW 与可选 ldc1612和max31865 * 加热棒接口: 加热棒(HEAT0) * 扩展接口: RGB,EndStop,PT100/PT1000,XH2.54-2P CAN口 * 风扇接口:一路DC风扇,两路DC风扇或者PWM风扇 * 电机驱动:板载TMC2209 * 温度传感器:一路100K NTC或PT1000(TH0),一路PT100/PT1000可选 # 4. 产品分类 RRF教程链接[RRF](https://teamgloomy.github.io/fly_sb2040_pro_max_v3_general.html) | SB2040 | V3 | Plus V3 | Max V3 | Pro V3 | Pro Plus V3 | Pro Max V3 | | -------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | | Drive | ![alt text](https://img.shields.io/badge/-TMC2209-green "TMC2209") | ![alt text](https://img.shields.io/badge/-TMC2209-green "TMC2209") | ![alt text](https://img.shields.io/badge/-TMC2209-green "TMC2209") | ![alt text](https://img.shields.io/badge/-TMC2240-blue "TMC2240") | ![alt text](https://img.shields.io/badge/-TMC2240-blue "TMC2240") | ![alt text](https://img.shields.io/badge/-TMC2240-blue "TMC2240") | | Klipper CANBus | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Klipper RS232 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | RRF CANBus | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | | LIS2DW | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | MAX31865 | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | | LDC1612 | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # Eddy 使用 信息 * 使用前确保自己的打印机没有漏电 * 如之前有配置`eddy`、`Probe`、`BL-Touch`的配置,请删除 * 在安装 Eddy 时,线圈需在喷嘴上方,且距离喷嘴`2mm-3mm`处 * 测试时不要打开热床 注意事项 * 多Z轴机器需要手动调平一次做好 版本要求 **Klipper 官方近期对 Eddy 探针功能进行了优化**,建议更新至最新版本使用: * **普通上位机**:请将 Klipper 更新至最新版本 * **FLY Fast 系统**:请将系统版本升级至 **V1.3.8** 或更高版本 ## 接线示意图[​](#接线示意图 "接线示意图的直接链接") 断电操作 安装或更换 EDDY 传感器、插拔 FPC 线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * 使用板载 LDC1612 的 Max 版本时,线圈商标朝热床安装: Loading... ## 支持的工具板版本与 I2C 地址[​](#支持的工具板版本与-i2c-地址 "支持的工具板版本与 I2C 地址的直接链接") 根据 SB2040 系列的产品分类,V3、Plus V3、Pro V3 和 Pro Plus V3 不带板载 LDC1612,需要连接外置 FLY-EDDY;Max V3 和 Pro Max V3 使用板载 LDC1612。 | 工具板版本 | LDC1612 支持方式 | `i2c_address` | 选择的配置 | | --------------------------------------------------------------- | ----------------- | ------------- | ------------------------ | | SB2040 V3 / SB2040 Plus V3 / SB2040 Pro V3 / SB2040 Pro Plus V3 | 连接外置 FLY-EDDY | `42` | “V3 系列:外置 FLY-EDDY” | | SB2040 Max V3 / SB2040 Pro Max V3 | 使用板载 LDC1612 | `43` | “Max 系列:板载 LDC1612” | 选择正确的地址 V3、Plus V3、Pro V3 和 Pro Plus V3 使用外置 FLY-EDDY 时配置 `i2c_address: 42`;Max V3 和 Pro Max V3 使用板载 LDC1612 时配置 `i2c_address: 43`。地址与实际模块不一致会导致 Klipper 无法与 LDC1612 通信。 > **外置模块说明**:[FLY-EDDY 文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) ## 参考配置[​](#参考配置 "参考配置的直接链接") * `XY`的偏移值需要根据扫床模块与喷头本身进行计算,然后修改到下方的偏移值。 * `descend_z` 的值必须确保探针线圈与喷嘴尖端之间的物理高度差在`2~3mm`的推荐范围内。 - V3 系列:外置 FLY-EDDY(地址 42) - Max 系列:板载 LDC1612(地址 43) 此配置适用于 SB2040 V3、SB2040 Plus V3、SB2040 Pro V3 和 SB2040 Pro Plus V3,通过 FLY-EDDY-F FPC 排线连接工具板的 EDDY 接口。 > **FLY-EDDY 接线与安装**:[FLY-EDDY 产品文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # 外置 FLY-EDDY 模块必须使用 42 i2c_mcu: SB2040 i2c_bus: i2c1b # I2C总线标识,根据MCU定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY使用40MHz [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin:SB2040:gpio28 # FLY-EDDY-F 的 TEMP 线连接到工具板 gpio28 ``` 此配置仅适用于带板载 LDC1612 的 SB2040 Max V3 和 SB2040 Pro Max V3。 ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 43 # Max 系列板载 LDC1612 必须使用 43 i2c_mcu: SB2040 i2c_bus: i2c1b # I2C总线标识,根据MCU定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),SB2040 Max 系列使用40MHz [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin:SB2040:gpio28 ``` ## 线圈模型下载链接[​](#线圈模型下载链接 "线圈模型下载链接的直接链接") * 点击下方按钮下载线圈模型: Loading... ## 计算 XY 偏移值[​](#计算-xy-偏移值 "计算 XY 偏移值的直接链接") 下载模型后,请根据打印机实际结构测量并计算 XY 偏移值,再修改配置中的 `x_offset` 与 `y_offset`。 Loading... Loading... ## EDDY 校准[​](#eddy-校准 "EDDY 校准的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * 请确认没有同时启用 `Probe`、`BL-Touch` 等其他探针配置。 * 多 Z 轴机器需要先手动调平一次。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 安全提示 清洁喷嘴前请等待喷嘴冷却到安全温度;如必须在热机状态清理,只能使用专用工具,严禁用手直接接触喷嘴、热端或热床。 ### 添加临时配置[​](#添加临时配置 "添加临时配置的直接链接") 须知 下方配置仅用于临时校准,使用后必须删除或注释。 1. 添加后点击 `Save & Restart` 保存并重启。 2. 必须添加到 `printer.cfg` 文件顶部,请不要添加到文件末尾。 运动风险 下方临时宏会在未完整确认 Z 轴真实位置时移动机器。执行前请移开手和工具,确认喷嘴下方无遮挡,并随时准备使用急停。 ``` [force_move] enable_force_move: true [gcode_macro _LDC_CALIBRATE_DRIVE_CURRENT] gcode: BED_MESH_CLEAR SET_KINEMATIC_POSITION x=100 y=100 z=10 G28 X Y M104 S0 M140 S0 M106 S0 G0 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F6000 G0 Z30 F600 G4 P1000 LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe G4 P1000 SAVE_CONFIG [gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO] gcode: BED_MESH_CLEAR G28 X Y M104 S0 M140 S0 M106 S0 G90 G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000 {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } {% endif %} PROBE_EDDY_CURRENT_CALIBRATE {rawparams} ``` ### 驱动电流校准[​](#驱动电流校准 "驱动电流校准的直接链接") 在网页控制台中输入: ``` _LDC_CALIBRATE_DRIVE_CURRENT ``` 执行后打印机会移动到中心位置,并将打印头远离热床。随后系统会自动进行驱动电流校准,校准完成后保存配置并重启 Klipper。 ### 校准高度[​](#校准高度 "校准高度的直接链接") 提示 * 多 Z 轴机器需要先手动调平一次,再进行高度校准。 * 多 Z 轴机器完成高度校准后,建议再执行一次调平并重新校准高度。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 在网页控制台中输入: ``` PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=fly_eddy_probe ``` 执行后打印机会移动到中心位置,并弹出校准对话框。此时 Klipper 显示的 Z 高度并不重要,只需要按界面提示逐步降低喷嘴,直到喷嘴与纸张产生轻微摩擦。 完成后点击对话框中的 `ACCEPT`,系统会开始校准 EDDY 高度。校准完成后,点击网页右上角的 `SAVE_CONFIG & Restart` 保存配置并重启 Klipper。 ## 常见问题[​](#常见问题 "常见问题的直接链接") **Q:数据跳动大怎么办?** A:确认纸张测试力度一致,并检查传感器安装是否牢固。 **Q:校准后无效怎么办?** A:确认已执行 `SAVE_CONFIG` 并重启 Klipper。 ## 使用优化[​](#使用优化 "使用优化的直接链接") ### 快速扫床[​](#快速扫床 "快速扫床的直接链接") 下方宏会让调平流程先将喷头抬升到 `10mm` 进行快速调平,完成后再使用 EDDY 的下探高度进行精细调平。 * Z\_TILT\_ADJUST * QUAD\_GANTRY\_LEVEL ``` [gcode_macro Z_TILT_ADJUST] rename_existing: _Z_TILT_ADJUST gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_Z_TILT BED_MESH_CLEAR {% if not printer.z_tilt.applied %} _Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1 {% endif %} _Z_TILT_ADJUST horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 Z_tilt Completed RESTORE_GCODE_STATE NAME=STATE_Z_TILT M400 ``` ``` [gcode_macro QUAD_GANTRY_LEVEL] rename_existing: _QUAD_GANTRY_LEVEL gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_QGL BED_MESH_CLEAR {% if not printer.quad_gantry_level.applied %} _QUAD_GANTRY_LEVEL horizontal_move_z=10 retry_tolerance=1 {% endif %} _QUAD_GANTRY_LEVEL horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 QGL Completed RESTORE_GCODE_STATE NAME=STATE_QGL M400 ``` ### 热床[​](#热床 "热床的直接链接") 下方宏会让网床扫描使用快速模式,并在扫描时临时关闭热床,减少热床加热和大功率负载对 EDDY 的影响。扫描完成后会恢复原热床目标温度。 ``` [gcode_macro BED_MESH_CALIBRATE] rename_existing: _BED_MESH_CALIBRATE gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} {% set TARGET_TEMP = printer.heater_bed.target %} M140 S0 _BED_MESH_CALIBRATE horizontal_move_z={PROBE_Z_OFFSET} METHOD=rapid_scan {rawparams} M140 S{TARGET_TEMP} ``` ## EDDY 使用 Z 轴偏移功能[​](#eddy-使用-z-轴偏移功能 "EDDY 使用 Z 轴偏移功能的直接链接") 重要通知 EDDY 的 Z 偏移功能此前存在兼容性问题,已在 2025 年 12 月 31 日的 Klipper 更新中修复。 * 普通上位机:请将 Klipper 更新至较新的稳定版本。 * FLY 上位机:请将系统版本升级至 V1.3.5 或更高。 完成更新后,请删除之前配置文件中与 `Z 偏移` 相关的旧设置,否则该功能可能无法正常使用。 ### Z 偏移说明[​](#z-偏移说明 "Z 偏移说明的直接链接") Z 偏移校准前,建议先打印一个较大面积的单层模型,用于观察首层状态。 Mainsail Z 轴偏移校准位置: Loading... Fluidd Z 轴偏移校准位置: Loading... 校准完成后点击保存即可。保存结果只会在控制台中提示,保存后不需要重启 Klipper。 注意事项 Z 偏移校准通常需要重复几次,才能获得更稳定的首层效果。 --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 请将[include SB2040.cfg]添加到printer.cfg下 ## Please add [include SB2040.cfg] under printer.cfg ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### [mcu SB2040] # 工具主板序列号 ## CAN ID ## ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 canbus_uuid: #-------------------------------------------------------------------- # # RS232 ID ## 请根据固件配置填写波特率 ## Please fill in the baud rate according to the firmware configuration. # serial: /dev/serial/by-path/platform-1c1c000.usb-usb-0:1.2:1.0-port0 # baud: 250000 # restart_method:command ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor SB2040] sensor_type: temperature_mcu sensor_mcu: SB2040 ##################################################################### # Accelerometer ##################################################################### ## https://www.klipper3d.org/Measuring_Resonances.html?h=adxl#adxl345 ## 建议使用spi_bus,此配置可以同时使用31865与加速度计 [lis2dw] cs_pin: SB2040:gpio12 spi_bus:spi0_gpio4_gpio3_gpio2 #spi_software_sclk_pin: SB2040:gpio2 #spi_software_mosi_pin: SB2040:gpio3 #spi_software_miso_pin: SB2040:gpio4 #-------------------------------------------------------------------- [resonance_tester] accel_chip: lis2dw probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 ##################################################################### # Stealthburner LED ##################################################################### ## https://github.com/VoronDesign/Voron-Stealthburner/tree/main [neopixel sb_leds] pin: SB2040:gpio26 chain_count: 16 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 #66CCFF initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 ##################################################################### # Extruder thermal sensitivity ##################################################################### ## Please select the type of thermocouple you want to use. ## 请根据你想要使用的热敏选择 [extruder] ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) sensor_type:ATC Semitec 104GT-2 sensor_pin:SB2040:gpio27 ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # sensor_pin:SB2040:gpio27 # pullup_resistor: 1000 ###------------------------------------------------------------------ ## Using MAX31865 to connect PT100 or PT1000 ## 使用MAX31865接PT100或者PT1000 # sensor_type: MAX31865 # sensor_pin: SB2040:gpio17 # spi_bus:spi0_gpio4_gpio3_gpio2 # rtd_reference_r: 430 ## 使用PT100时请设置为430,使用PT1000时请设置为4300 #rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin:SB2040:gpio14 dir_pin:SB2040:gpio13 enable_pin: !SB2040:gpio16 rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin:SB2040:gpio23 min_temp:-235 max_temp:350 max_power:1.0 min_extrude_temp: 170 pressure_advance: 0.05 pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 ###------------------------------------------------------------------ [tmc2209 extruder] uart_pin:SB2040:gpio15 interpolate:False run_current: 0.8 sense_resistor:0.110 ##------------------------------------------------------------------ # [tmc2240 extruder] # uart_pin:SB2040:gpio15 # interpolate:False # run_current: 0.65 # interpolate: False # rref: 12300 ###------------------------------------------------------------------ [verify_heater extruder] max_error: 20 check_gain_time:120 hysteresis: 50 heating_gain: 2 ##################################################################### # FAN ##################################################################### [fan] pin:SB2040:gpio24 ###------------------------------------------------------------------ [heater_fan my_hotend_fan] pin: SB2040:gpio19 heater: extruder heater_temp: 50.0 ##################################################################### # TAP && PL08N && BLTOUCH ##################################################################### # [stepper_x] # endstop_pin: ^!SB2040:gpio18 # ##################################################################### # # TAP && PL08N && BLTOUCH # ##################################################################### # ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: ^SB2040:gpio22 #gpio22 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 ``` --- # 板载拨码介绍 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将**鼠标光标放在接线图上方**,**单击右键**,选择 **图片另存为** ,将图片保存到桌面再查看!!! ## 工作模式选择[​](#工作模式选择 "工作模式选择的直接链接") 注意事项 请注意SB2040 V3支持三种连接方式,需要修改拨码并且烧录固件才可以正常连接 Loading... ## 31865拨码选择[​](#31865拨码选择 "31865拨码选择的直接链接") * 请注意拨码默认朝下 Loading... --- 提示 * SB2040 V3出厂预刷CAN连接的Katapult固件,速率为1M * SB2040 V3 CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * SB2040 V3可以使用RS232,CAN两种连接方式与上位机连接 * RS232与CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 * 可以快速按两次重置后看主板上是否有一个LED闪烁起来,如果有则代表主板已经进入Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 需要 CAN 工具板时:请选择 **CAN 固件**。 * 需要 RS232 连接时:请选择 **RS232 固件**。 * 两种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ---------- | ----------------- | ------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/flash/firmware?tab-0=can) | | RS232 固件 | 需要 RS232 连接时 | 通信稳定,配置简单 | 需要搭配 G2T 或 UTOR 等 RS232 连接设备 | [编译 RS232 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040-v3/flash/firmware?tab-0=rs232) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SB2040 V3 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SB2040 V3 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SB2040 V3 支持 CAN 和 RS232 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中左侧为 `RESET` 按键,右侧为 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SB2040 V3 Katapult 固件: * [**FLY\_SB2040V3\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_500K.uf2?v=decf24d099fd) * [**FLY\_SB2040V3\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_1M.uf2?v=b2ad6f764ee0) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SB2040 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040V3_CANBOOT_CAN_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 CAN 固件RS232 固件 --- # 引脚分布 说明 * 本页列出 FLY-SB2040 V3 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ------ | ------ | ------ | ------- | ---- | | DRIVER0 | gpio14 | gpio13 | gpio16 | gpio15 | - | ## 限位[​](#限位 "限位的直接链接") | 功能 | 引脚 | | ---------------- | ------ | | HV-IN / 通用输入 | gpio22 | | 通用输入0 | gpio18 | | 通用输入1 | gpio20 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ------- | ------ | | 加热口0 | gpio23 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ------ | | 热敏口0 | gpio27 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ------ | | 风扇口0 | gpio24 | | 风扇口1 | gpio19 | | 风扇口2 | gpio21 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio26 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio26 | --- # 工具板ID读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 或 RS232 线束、调整拨码或触碰端子。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 CAN 固件RS232 固件 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SB2040资料[​](#fly-sb2040资料 "Fly-SB2040资料的直接链接") * 点击下方网盘链接 * Loading... --- # SB2040 V3 Loading... Loading... # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 * V1 Loading... * V2 Loading... ## 产品简介[​](#产品简介 "产品简介的直接链接") FLY SB2040是广州镁伦电子科技有限公司针对VORON Stealthburner打印头推出的一款喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SB2040适用于36步进电机,其集成了CAN收发器、USB口、TMC2209驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定 * 板载TMC2209驱动,使用UART模式,可用于挤出机 * 板载ADXL345加速度传感器 * 支持BLTOUCH、PL08N等调平传感器,集成XY限位开关 * 支持12-24V电压输入 * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 增加支持4.7K电阻(用于ntc热敏)或1K电阻(用于PT1000)切换 * can接口使用XT30(2+2),支持15A电流,峰值30A * 增加板载NTC100k电阻,用于测仓温 * 增加ADXL345的INT1和INT2接到mcu,给个别用户用于调平。 * 支持高压输入限位 * 赠送3米CAN连接线,避免用户无法正确压端子导致信号丢失的困扰 * 支持2/3/4线风扇 * 分体设计,Stealthburner方便拆卸 * 兼容hartk的Stealthburner Toolhead Board (风扇小板可以不用更换) * 接口:可控风扇\*3,RGB\*1,限位\*3,加热管\*1,热敏\*1 ## 产品参数[​](#产品参数 "产品参数的直接链接") * 支持Klipper CAN模式、RS232模式、RRFCAN模式互相切换 * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 输入电压 :DC12-24V * 加热棒最大输出电流:5A * 风扇接口最大输出电流1A ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ##################################################################### # 主板配置 ##################################################################### [mcu sb2040] # 工具主板序列号 canbus_uuid: e51d5c71a901 ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # adxl345加速度计配置(需要时启用即可) ##################################################################### ## ADXL345加速度计 [adxl345] cs_pin: sb2040:gpio1 spi_software_sclk_pin: sb2040:gpio0 spi_software_mosi_pin: sb2040:gpio3 spi_software_miso_pin: sb2040:gpio2 #-------------------------------------------------------------------- [resonance_tester] accel_chip: adxl345 # 加速度芯片型号 probe_points: 150,150,10 # 坐标配置为热床的中间 ##################################################################### # 温度监控 ##################################################################### [temperature_sensor FLY-SB2040] # 工具板主板温度 sensor_type: temperature_mcu # 关联mcu sensor_mcu: sb2040 # 关联mcu是sb2040 #-------------------------------------------------------------------- [temperature_sensor Warehouse] # 工具板热敏温度 sensor_type: ATC Semitec 104GT-2 # 传感器型号 sensor_pin = sb2040:gpio26 # 信号接口 ##################################################################### # E 挤出机设置 # ##################################################################### #注:接完线需测试运行方向 [extruder] # 挤出机 step_pin: sb2040:gpio9 # 挤出电机脉冲引脚 dir_pin: sb2040:gpio10 # 挤出电机方向引脚设置 enable_pin: !sb2040:gpio7 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: sb2040:gpio6 # 加热棒引脚,接到HETA0 #-------------------------------------------------------------------- ##普通热敏配置 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: sb2040:gpio27 # 传感器引脚 #-------------------------------------------------------------------- ##pt1000配置 #sensor_type: PT1000 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) #pullup_resistor: 1000 # 热敏上拉电阻为1000,如果温度为负-180需要更换跳线 #sensor_pin: sb2040:gpio27 # 传感器引脚 #-------------------------------------------------------------------- ## PT100设置 仅V2支持 #sensor_type: MAX31865 # 传感器型号,PT100版本 #sensor_pin: sb2040:gpio22 # 传感器引脚,PT100版本 # spi_software_sclk_pin: sb2040:gpio18 # spi_software_mosi_pin: sb2040:gpio19 # spi_software_miso_pin: sb2040:gpio23 #rtd_reference_r: 430 # 使用31865时需要删除前面# #rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 #-------------------------------------------------------------------- min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: sb2040:gpio8 # 通讯端口Pin脚定义 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.6 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin: sb2040:gpio13 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan 喉管散热] # 喉管冷却风扇 pin: sb2040:gpio14 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # X限位配置 ##################################################################### [stepper_x] endstop_pin: !sb2040:gpio29 ## SB2040板有gpio25, gpio28, gpio29三个限位引脚可用,gpio25支持高压输入.按照实际接线修改配置 ##################################################################### # SB头led配置 ##################################################################### [neopixel sb_leds] pin: sb2040:gpio12 # 信号接口 chain_count: 3 # 灯珠数量 color_order: GRBW # 灯珠类型 initial_RED: 0.4 # initial_GREEN: 0.8 # initial_BLUE: 1 # initial_WHITE: 0.0 # 连接后会亮起来 ##################################################################### # PL08N感应探头 ##################################################################### # PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! #[probe] #pin: ^sb2040:gpio25 # 信号接口 #x_offset: 0 # X轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #z_offset: 0 # Z轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #speed: 10.0 # 调平速度 #samples: 3 # 采样次数 #samples_result: median # 取值方式(默认median-中位数) #sample_retract_dist: 4.0 # 调平回缩距离 #samples_tolerance: 0.010 # 采样公差(注意过小的值可能造成采样次数增加) #samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^sb2040:gpio29 # 信号接口 #control_pin: sb2040:gpio28 # 舵机控制 #x_offset: -26.1 # X轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: -15.3 # Y轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #z_offset: 2.1 # Z轴-传感器相对喷嘴偏移量,需要自行确定偏移量 ``` --- 提示 * SB2040出厂预刷CAN连接的Katapult固件,速率为1M * SB2040 CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * SB2040可以使用CAN连接方式与上位机连接 * CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * SB2040 只能使用 CAN 连接上位机。 * 需要 CAN 工具板时:请选择 **CAN 固件**。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | -------- | ----------------- | ------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------ | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sb2040/sb2040/flash/can) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SB2040 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SB2040 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SB2040 使用 CAN 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SB2040 Katapult 固件: * [**FLY\_SB2040\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040_CANBOOT_500K.uf2?v=47b17847ab0f) * [**FLY\_SB2040\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SB2040/FLY_SB2040_CANBOOT_1M.uf2?v=34a03fb0e467) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SB2040 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040_CANBOOT_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SB2040/FLY_SB2040_CANBOOT_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # CAN 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 16KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 CAN bus (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6CAN RX gpio number 设置为 4 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7CAN TX gpio number 设置为 5 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8CAN bus speed 默认使用 1M(1000000),无需修改 默认 CAN 速率为 **1M**,对应值 `1000000`,使用 1M 时无需修改。 * 1M:`1000000` * 500K:`500000` * 250K:`250000` 请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 9启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 10GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (gpio24) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 11按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (gpio24) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 12出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/../lib/can2040/can2040.o Compiling out/src/generic/canserial.o Compiling out/src/generic/canbus.o Compiling out/src/../lib/fast-hash/fasthash.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 接线[​](#接线 "接线的直接链接") * 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... * 使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板后,此时主板上会有LED灯闪烁。 警告 * 如果没有LED灯闪烁,请重新烧录Katapult固件:[烧录Katapult固件](https://mellow.klipper.cn/bl) * 如果没有LED灯闪烁,请在烧录完Katapult固件后,再执行下一步 ## 搜索ID并烧录[​](#搜索id并烧录 "搜索ID并烧录的直接链接") ## 查询CANBus UUID[​](#查询canbus-uuid "查询CANBus UUID的直接链接") 操作前须知 * 建议在**非打印状态**下执行ID查询和固件刷写操作,避免干扰打印过程。 * 同一主板/工具板的Katapult(CANBoot)固件与Klipper固件使用**相同的CAN ID**。 前提条件 请确保满足以下条件,否则可能无法正常搜索到CAN ID: 1. **上位机CAN网络已正确配置** 2. **工具板CAN速率与上位机完全一致**(速率不一致将无法通信) 3. 执行 `lsusb` 命令后能看到 `1d50:606f` 设备(USB-CAN适配器) ### 搜索命令(根据系统选择)[​](#搜索命令根据系统选择 "搜索命令(根据系统选择)的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") #### 情况一:已刷Klipper固件的主板/工具板[​](#情况一已刷klipper固件的主板工具板 "情况一:已刷Klipper固件的主板/工具板的直接链接") * **显示效果**:显示一个CAN ID,并提示 `Application: Klipper` * **说明**:设备已运行Klipper固件,可以直接使用。此ID可能是主板ID也有可能是工具板ID. * **区分方法**:断开工具板的CAN连接线后重新搜索。如果该ID消失,则属于工具板;如果该ID仍在,则属于主板。 Loading... *** #### 情况二:主板 + 待烧录工具板[​](#情况二主板--待烧录工具板 "情况二:主板 + 待烧录工具板的直接链接") * **显示效果**:显示**两个**CAN ID * **说明**:主板运行Klipper固件,工具板运行CanBoot固件,等待烧录。 Loading... *** #### 情况三:UTOC + 待烧录工具板[​](#情况三--待烧录工具板 "情况三--待烧录工具板的直接链接") * **显示效果**:**UTOC本身不显示ID**,只显示工具板的ID * **说明**:UTOC 仅作为桥接器,需确保工具板处于CanBoot模式。 Loading... *** #### 情况四:无ID显示[​](#情况四无id显示 "情况四:无ID显示的直接链接") * **显示效果**:无任何ID显示 * **可能原因**: 1. CAN总线被Klipper占用 2. 上位机CAN0速率配置错误 3. 物理接线异常 4. 设备未进入CanBoot模式 Loading... *** 重要提示 * **待烧录状态**:工具板处于CanBoot模式时会显示 `Application: CanBoot` 且固件灯闪烁,此时可进行固件烧录。 * **ID占用处理**:如果设备已运行Klipper固件且ID已填入配置文件,ID将**不会显示**(被Klipper占用)。如需重新显示,需在配置中屏蔽该ID并**彻底断电重启**。 故障排查 如果无法查询到UUID,请参考: [CAN问题排查指南](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### 烧录命令[​](#烧录命令 "烧录命令的直接链接") 1. 将下方命令中的 `241696050c56` 替换为您实际查询到的UUID 2. **注意**:`-u` 参数后需有空格 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**,请使用新指令: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper),请使用旧指令: ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` ### 烧录成功确认[​](#烧录成功确认 "烧录成功确认的直接链接") 出现 **`CAN Flash Success`** 提示即表示烧录成功: Loading... ## 固件更新[​](#固件更新 "固件更新的直接链接") ### 更新方法[​](#更新方法 "更新方法的直接链接") 当需要更新固件时,只需: 1. 重新编译固件 2. 确保能查询到设备CAN ID(或Klipper已连接设备) 3. 执行相同的烧录命令 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` ### 更新成功示例[​](#更新成功示例 "更新成功示例的直接链接") Loading... ``` ``` ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动LED会亮起来 Loading... --- # 引脚分布 说明 * 本页列出 FLY-SB2040 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ----- | ------ | ----- | ------- | ---- | | DRIVER0 | gpio9 | gpio10 | gpio7 | gpio8 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ----- | | 挤出头加热 | gpio6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ------ | | 挤出头热敏 | gpio27 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ------ | | 模型冷却风扇 | gpio13 | | 喉管散热风扇 | gpio14 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ---------------- | ------ | | HV-IN / 通用输入 | gpio28 | | X 限位 | gpio29 | | Probe / 通用输入 | gpio25 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio12 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ----- | | CS | gpio1 | | MOSI | gpio3 | | MISO | gpio2 | | SCLK | gpio0 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | -------------- | ------ | | RGB / Neopixel | gpio12 | --- # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SB2040资料[​](#fly-sb2040资料 "Fly-SB2040资料的直接链接") * 点击下方网盘链接 * Loading... --- # 主板接线 信息 * 散热片是贴到驱动上! ## Pin脚说明[​](#pin脚说明 "Pin脚说明的直接链接") ### SB2040 V1[​](#sb2040-v1 "SB2040 V1的直接链接") Loading... ### SB2040 V2[​](#sb2040-v2 "SB2040 V2的直接链接") Loading... *** # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 # 产品简介 FLY-SHT36-LIS3DH是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。FLY-SHT36-LIS3DH适用于36步进电机,其集成了CAN收发器、USB口、TMC2209驱动、LIS3DH加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 * 体积压缩到极致,采用6层板设计 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定 * 板载TMC2209驱动,使用UART模式,可用于挤出机 * 板载LIS3DH加速度传感器 * 支持PT100(MAX31865) * 可更换风扇MOS设计 * 支持BLTOUCH、PL08N等调平传感器,集成XY限位开关 * 支持12-24V电压输入 * MCU: rp2040 * 通信: CANBUS ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 更新Klipper[​](#更新klipper "更新Klipper的直接链接") * Klipper在2024年11月13号支持LIS3DH加速计,如果需要使用LIS3DH加速计需要更新Klipper * 使用网络连接到上位机后输入下方代码(因网络问题可能更新失败) ``` cd ~/klipper git pull ``` ## 添加配置[​](#添加配置 "添加配置的直接链接") ``` ##################################################################### # LIS3DH加速度计配置(需要时启用即可) ##################################################################### [lis3dh] cs_pin: SHT36:gpio9 spi_software_sclk_pin: SHT36:gpio10 spi_software_mosi_pin: SHT36:gpio11 spi_software_miso_pin: SHT36:gpio12 [resonance_tester] accel_chip: lis3dh probe_points: 125, 125, 20 #此处设置为你进行共振测量时喷头所处坐标 ``` ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ##################################################################### # 主板配置 ##################################################################### [mcu SHT36] # 工具主板序列号 canbus_uuid: eeb4f40a0b9b ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # 温度监控 ##################################################################### [temperature_sensor SHT36] # 工具板主板温度 sensor_type: temperature_mcu # 关联mcu sensor_mcu: SHT36 # 关联mcu是SHT36 #-------------------------------------------------------------------- [temperature_sensor Box] # 工具板热敏温度 sensor_type: ATC Semitec 104GT-2 # 传感器型号 sensor_pin: SHT36:gpio27 # 信号接口 ##################################################################### # E 挤出机设置 # ##################################################################### #注:接完线需测试运行方向 [extruder] # 挤出机 step_pin: SHT36:gpio24 # 挤出电机脉冲引脚 dir_pin: SHT36:gpio23 # 挤出电机方向引脚设置 enable_pin: !SHT36:gpio25 # 挤出电机使能引脚设置 ## 执行挤出机校准时,更新以下值 ## 比如你要求100毫米的进料,但实际上是102: ## rotation_distance = <旧rotation_distance> * <实际挤出长度> / <请求的挤出长度> ## 校准步进值: 22.44=旧值22*实际值102/目标值100 rotation_distance: 22.44 # 步进值 gear_ratio: 50:17 # 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps: 16 # 电机细分设置,细分越高,质量越高,但主控负荷越大 full_steps_per_rotation: 200 # 单圈脉冲数 (200 为 1.8 度, 400 为 0.9 度) nozzle_diameter: 0.400 # 喷嘴直径 filament_diameter: 1.75 # 耗材直径 heater_pin: SHT36:gpio8 # 加热棒引脚,接到HETA0 #-------------------------------------------------------------------- ##普通热敏配置 sensor_type: ATC Semitec 104GT-2 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) sensor_pin: SHT36:gpio26 # 传感器引脚 #-------------------------------------------------------------------- ##pt1000配置 #sensor_type: PT1000 # 传感器型号 (Generic 3950, ATC Semitec 104GT-2, PT1000) #pullup_resistor: 1000 # 热敏上拉电阻为1000,如果温度为负-180需要更换跳线 #sensor_pin: SHT36:gpio26 # 传感器引脚 #-------------------------------------------------------------------- min_temp: -235 # 最小温度(注意:测量温度超过设定值会触发紧急停止) max_temp: 350 # 最大温度(注意:测量温度超过设定值会触发紧急停止) max_power: 1.0 # 最大功率 min_extrude_temp: 170 # 最小挤出温度(至少需要达到这个温度,挤出机才能挤出) pressure_advance: 0.05 # 推进压力-尽量将压力保持在1.0以下(压力提前是调整这个) pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #压力提前调整方法:https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 # 平稳推进时间-默认值为0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] # 挤出机驱动配置- TMC2209 uart_pin: SHT36:gpio1 # 通讯端口Pin脚定义 tx_pin: SHT36:gpio0 interpolate: False # 是否开启256微步插值(开启是True,关闭是False) run_current: 0.8 # 电机运行电流值 sense_resistor: 0.110 # 驱动采样电阻不要改 ##################################################################### # 风扇配置 ##################################################################### [fan] # 模型冷却风扇 pin: SHT36:gpio14 # 信号接口 kick_start_time: 0.5 # 启动时间(勿动) off_below: 0.10 # 勿动 #-------------------------------------------------------------------- [heater_fan hotend_fan] # 喉管冷却风扇 pin: SHT36:gpio15 # 信号接口 max_power: 1.0 # 最大转速 kick_start_time: 0.5 # 启动时间(勿动) heater: extruder # 关联的设备:挤出机 heater_temp: 50 # 挤出机达到多少度启动风扇 fan_speed: 1.0 # 风扇转速 ##################################################################### # X限位配置 ##################################################################### [stepper_x] endstop_pin: !SHT36:gpio21 ## SHT36板有gpio2,gpio21两个限位引脚可用,按照实际接线修改配置 ## gpio21引脚默认支持高压输入,可用于12v的接近传感器等.可通过跳线帽配置gpio21为普通限位引脚 ##################################################################### # SB头led配置 ##################################################################### [neopixel sb_leds] pin: SHT36:gpio6 # 信号接口 chain_count: 3 # 灯珠数量 color_order: GRBW # 灯珠类型 initial_RED: 0.4 # initial_GREEN: 0.8 # initial_BLUE: 1 # initial_WHITE: 0.0 # 连接后会亮起来 ##################################################################### # PL08N感应探头 ##################################################################### # PL08N感应探头不低于喷嘴高度,仅用于调平,如果你的PL08N是NO(常开),请更改pin并添加! [probe] pin: ^SHT36:gpio3 # 信号接口 x_offset: 0 # X轴-传感器相对喷嘴偏移量 y_offset: 25.0 # Y轴-传感器相对喷嘴偏移量 z_offset: 0 # Z轴-传感器相对喷嘴偏移量 speed: 10.0 # 调平速度 samples: 3 # 采样次数 samples_result: median # 取值方式(默认median-中位数) sample_retract_dist: 4.0 # 调平回缩距离 samples_tolerance: 0.006 # 采样公差(注意过小的值可能造成采样次数增加) samples_tolerance_retries: 3 # 超公差重试次数 #-------------------------------------------------------------------- #[bltouch] #sensor_pin: ^SHT36:gpio3 # 信号接口 #control_pin: SHT36:gpio7 # 舵机控制 #x_offset: -26.1 # X轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: -15.3 # Y轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #z_offset: 2.1 # Z轴-传感器相对喷嘴偏移量,需要自行确定偏移量 ``` --- 提示 * SHT36 LIS3DH出厂预刷CAN连接的Katapult固件,速率为1M * SHT36 LIS3DH CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * SHT36 LIS3DH只能使用CAN连接方式与上位机连接 * CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * SHT36 LIS3DH 只能使用 CAN 连接上位机。 * 需要 CAN 工具板时:请选择 **CAN 固件**。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | -------- | ----------------- | ------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_lis3dh/flash/can) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SHT36 LIS3DH Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SHT36 LIS3DH 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SHT36 LIS3DH 使用 CAN 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 焊盘: 1. 保持工具板完全断电。 2. 使用跳线帽短接 `BOOT` 焊盘。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后移除 `BOOT` 跳线帽。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SHT36 LIS3DH Katapult 固件: * [**FLY\_SHT36LIS3DH\_CANBOOT\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_500K.uf2?v=f1742f797555) * [**FLY\_SHT36LIS3DH\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_1M.uf2?v=ac9bc44cf871) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SHT36 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36LIS3DH_CANBOOT_CAN_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # CAN 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 16KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 CAN bus (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6CAN RX gpio number 设置为 4 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7CAN TX gpio number 设置为 5 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8CAN bus speed 默认使用 1M(1000000),无需修改 默认 CAN 速率为 **1M**,对应值 `1000000`,使用 1M 时无需修改。 * 1M:`1000000` * 500K:`500000` * 250K:`250000` 请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 9启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 10GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (!gpio20) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 11按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (!gpio20) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 12出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/../lib/can2040/can2040.o Compiling out/src/generic/canserial.o Compiling out/src/generic/canbus.o Compiling out/src/../lib/fast-hash/fasthash.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 接线[​](#接线 "接线的直接链接") * 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 * 请注意拨码是否拨到对应地方 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... * 使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板后,此时主板上会有LED灯闪烁。 警告 * 如果没有LED灯闪烁,请重新烧录Katapult固件:[烧录Katapult固件](https://mellow.klipper.cn/bl) * 如果没有LED灯闪烁,请在烧录完Katapult固件后,再执行下一步 ## 搜索ID并烧录[​](#搜索id并烧录 "搜索ID并烧录的直接链接") ## 查询CANBus UUID[​](#查询canbus-uuid "查询CANBus UUID的直接链接") 操作前须知 * 建议在**非打印状态**下执行ID查询和固件刷写操作,避免干扰打印过程。 * 同一主板/工具板的Katapult(CANBoot)固件与Klipper固件使用**相同的CAN ID**。 前提条件 请确保满足以下条件,否则可能无法正常搜索到CAN ID: 1. **上位机CAN网络已正确配置** 2. **工具板CAN速率与上位机完全一致**(速率不一致将无法通信) 3. 执行 `lsusb` 命令后能看到 `1d50:606f` 设备(USB-CAN适配器) ### 搜索命令(根据系统选择)[​](#搜索命令根据系统选择 "搜索命令(根据系统选择)的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") #### 情况一:已刷Klipper固件的主板/工具板[​](#情况一已刷klipper固件的主板工具板 "情况一:已刷Klipper固件的主板/工具板的直接链接") * **显示效果**:显示一个CAN ID,并提示 `Application: Klipper` * **说明**:设备已运行Klipper固件,可以直接使用。此ID可能是主板ID也有可能是工具板ID. * **区分方法**:断开工具板的CAN连接线后重新搜索。如果该ID消失,则属于工具板;如果该ID仍在,则属于主板。 Loading... *** #### 情况二:主板 + 待烧录工具板[​](#情况二主板--待烧录工具板 "情况二:主板 + 待烧录工具板的直接链接") * **显示效果**:显示**两个**CAN ID * **说明**:主板运行Klipper固件,工具板运行CanBoot固件,等待烧录。 Loading... *** #### 情况三:UTOC + 待烧录工具板[​](#情况三--待烧录工具板 "情况三--待烧录工具板的直接链接") * **显示效果**:**UTOC本身不显示ID**,只显示工具板的ID * **说明**:UTOC 仅作为桥接器,需确保工具板处于CanBoot模式。 Loading... *** #### 情况四:无ID显示[​](#情况四无id显示 "情况四:无ID显示的直接链接") * **显示效果**:无任何ID显示 * **可能原因**: 1. CAN总线被Klipper占用 2. 上位机CAN0速率配置错误 3. 物理接线异常 4. 设备未进入CanBoot模式 Loading... *** 重要提示 * **待烧录状态**:工具板处于CanBoot模式时会显示 `Application: CanBoot` 且固件灯闪烁,此时可进行固件烧录。 * **ID占用处理**:如果设备已运行Klipper固件且ID已填入配置文件,ID将**不会显示**(被Klipper占用)。如需重新显示,需在配置中屏蔽该ID并**彻底断电重启**。 故障排查 如果无法查询到UUID,请参考: [CAN问题排查指南](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### 烧录命令[​](#烧录命令 "烧录命令的直接链接") 1. 将下方命令中的 `241696050c56` 替换为您实际查询到的UUID 2. **注意**:`-u` 参数后需有空格 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**,请使用新指令: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper),请使用旧指令: ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` ### 烧录成功确认[​](#烧录成功确认 "烧录成功确认的直接链接") 出现 **`CAN Flash Success`** 提示即表示烧录成功: Loading... ## 固件更新[​](#固件更新 "固件更新的直接链接") ### 更新方法[​](#更新方法 "更新方法的直接链接") 当需要更新固件时,只需: 1. 重新编译固件 2. 确保能查询到设备CAN ID(或Klipper已连接设备) 3. 执行相同的烧录命令 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` ### 更新成功示例[​](#更新成功示例 "更新成功示例的直接链接") Loading... ``` ``` ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动LED会亮起来 Loading... --- # 引脚分布 说明 * 本页列出 FLY-SHT36 (LIS3DH) 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ------ | ------ | ------ | ------- | ---- | | DRIVER0 | gpio24 | gpio23 | gpio25 | gpio1 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ----- | | 挤出头加热 | gpio8 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ------ | | 挤出头热敏 | gpio26 | | Box | gpio27 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ------ | | 模型冷却风扇 | gpio14 | | 喉管散热风扇 | gpio15 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ------------------ | ------ | | 探针(Probe) | gpio3 | | BLTouch / 舵机控制 | gpio7 | | X 限位 | gpio21 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ----- | | RGB / Neopixel | gpio6 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ------------------ | ----- | | RGB / Neopixel | gpio6 | | BLTouch / 舵机控制 | gpio7 | --- # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SHT36-LIS3DH资料[​](#fly-sht36-lis3dh资料 "Fly-SHT36-LIS3DH资料的直接链接") * 点击下方网盘链接 * Loading... --- # SHT36 LIS3DH Loading... 提示 赠送的蓝色散热片,请粘贴到驱动上!!! # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 # 产品简介 FLY-SHT36-PRO是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。FLY-SHT36-PRO适用于36步进电机,其集成了CAN收发器、USB口、TMC5160驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。 * 体积压缩到极致,采用6层板设计 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定 * 板载TMC5160可用于挤出机 * 板载ADXL345加速度传感器 * 支持PT100(MAX31865) * 可更换风扇MOS设计 * 支持BLTOUCH、PL08N等调平传感器,集成XY限位开关 * 支持12-24V电压输入 * MCU: Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 通信: CANBUS, USB ## 产品参数[​](#产品参数 "产品参数的直接链接") 1. 支持Klipper CAN模式、RS232模式、RRFCAN模式互相切换 2. 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A 3. MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz 4. 输入电压 :DC12-24V 5A 5. 加热棒最大输出电流:5A 6. 风扇接口最大输出电流1A ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 请将[include SHT36PRO.cfg]添加到printer.cfg下 ## Please add [include SHT36PRO.cfg] under printer.cfg ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### [mcu SHT36PRO] canbus_uuid: ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor SHT36-PRO] sensor_type: temperature_mcu sensor_mcu: SHT36PRO #-------------------------------------------------------------------- [temperature_sensor Box] sensor_type: ATC Semitec 104GT-2 sensor_pin: SHT36PRO:gpio27 ##################################################################### # Accelerometer ##################################################################### ## https://www.klipper3d.org/Measuring_Resonances.html?h=adxl#adxl345 [adxl345] cs_pin: SHT36PRO:gpio9 spi_software_sclk_pin: SHT36PRO:gpio10 spi_software_mosi_pin: SHT36PRO:gpio11 spi_software_miso_pin: SHT36PRO:gpio12 #-------------------------------------------------------------------- [resonance_tester] accel_chip: adxl345 probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 ##################################################################### # Extruder thermal sensitivity ##################################################################### ## Please select the type of thermocouple you want to use. ## 请根据你想要使用的热敏选择 [extruder] ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) sensor_type: ATC Semitec 104GT-2 sensor_pin: SHT36PRO:gpio26 ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 #pullup_resistor: 1000 #sensor_pin: SHT36PRO:gpio26 ###------------------------------------------------------------------ ## Using MAX31865 to connect PT100 ## 使用MAX31865接PT100 #sensor_type: MAX31865 #sensor_pin: SHT36PRO:gpio1 #spi_software_sclk_pin: SHT36PRO:gpio10 #spi_software_mosi_pin: SHT36PRO:gpio11 #spi_software_miso_pin: SHT36PRO:gpio12 #rtd_reference_r: 430 ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin: SHT36PRO:gpio23 dir_pin: SHT36PRO:gpio24 # 挤出电机方向引脚设置 enable_pin: !SHT36PRO:gpio25 rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin: SHT36PRO:gpio8 min_temp: -235 max_temp: 350 max_power: 1.0 min_extrude_temp: 150 pressure_advance: 0.05 ##Pressure in advance ##压力提前 ##https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc5160 extruder] cs_pin: SHT36PRO:gpio20 spi_software_sclk_pin: SHT36PRO:gpio10 spi_software_mosi_pin: SHT36PRO:gpio11 spi_software_miso_pin: SHT36PRO:gpio12 interpolate: False run_current: 0.8 sense_resistor: 0.075 ##################################################################### # FAN ##################################################################### [fan] pin: SHT36PRO:gpio15 #-------------------------------------------------------------------- [heater_fan hotend_fan] pin: SHT36PRO:gpio14 heater: extruder heater_temp: 50.0 ##################################################################### # X STOP ##################################################################### # [stepper_x] # endstop_pin: !SHT36PRO:gpio21 ## SHT V2板有PA1,PA2两个限位引脚可用,按照实际接线修改配置 ## PA1引脚默认支持高压输入,可用于12v的接近传感器等.可通过跳线帽配置PA1为普通限位引脚 ##################################################################### # Stealthburner LED ##################################################################### ## https://github.com/VoronDesign/Voron-Stealthburner/tree/main [neopixel sb_leds] pin: SHT36PRO:gpio6 chain_count: 3 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 #66CCFF ##################################################################### # TAP && PL08N && BLTOUCH ##################################################################### ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: ^SHT36PRO:gpio3 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 #-------------------------------------------------------------------- ## https://www.klipper3d.org/Config_Reference.html?h=probe#bltouch #[bltouch] #sensor_pin: ^SHT36PRO:gpio3 #control_pin: SHT36PRO:gpio7 #x_offset: -26.1 #y_offset: -15.3 #z_offset: 2.1 ##################################################################### # 磁角度传感器 ##################################################################### ## 磁角度传感器 ## 相关说明请参考https://www.klipper3d.org/API_Server.html#angledump_angle ## https://www.klipper3d.org/Debugging.html#motion-analysis-and-data-logging # [angle my_angle_sensor] # sensor_type: as5047d # #sample_period: 0.000400 # stepper: stepper_x # cs_pin: SHT36PRO:gpio17 # spi_software_sclk_pin: SHT36PRO:gpio18 # spi_software_mosi_pin: SHT36PRO:gpio19 # spi_software_miso_pin: SHT36PRO:gpio16 ``` --- 提示 * SHT36 PRO出厂预刷CAN连接的Katapult固件,速率为1M * SHT36 PRO CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * SHT36 PRO可以使用CAN连接方式与上位机连接 * CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * SHT36 Pro 只能使用 CAN 连接上位机。 * 需要 CAN 工具板时:请选择 **CAN 固件**。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | -------- | ----------------- | ------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_pro/flash/can) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SHT36 Pro Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SHT36 Pro 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SHT36 Pro 使用 CAN 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 焊盘: 1. 保持工具板完全断电。 2. 使用跳线帽短接 `BOOT` 焊盘。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后移除 `BOOT` 跳线帽。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SHT36 Pro Katapult 固件: * [**FLY\_SHT36PRO\_CANBOOT\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_500K.uf2?v=3c25e0821719) * [**FLY\_SHT36PRO\_CANBOOT\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_1M.uf2?v=a606a54398a1) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SHT36 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36PRO_CANBOOT_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # CAN 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 16KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 CAN bus (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6CAN RX gpio number 设置为 4 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7CAN TX gpio number 设置为 5 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8CAN bus speed 默认使用 1M(1000000),无需修改 默认 CAN 速率为 **1M**,对应值 `1000000`,使用 1M 时无需修改。 * 1M:`1000000` * 500K:`500000` * 250K:`250000` 请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 9启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 10GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (!gpio13) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 11按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (4) CAN RX gpio number (5) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (!gpio13) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 12出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/../lib/can2040/can2040.o Compiling out/src/generic/canserial.o Compiling out/src/generic/canbus.o Compiling out/src/../lib/fast-hash/fasthash.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 接线[​](#接线 "接线的直接链接") * 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... 警告 * 如果没有LED灯闪烁,请重新烧录Katapult固件:[烧录Katapult固件](https://mellow.klipper.cn/bl) * 如果没有LED灯闪烁,请在烧录完Katapult固件后,再执行下一步 ## 搜索ID并烧录[​](#搜索id并烧录 "搜索ID并烧录的直接链接") ## 查询CANBus UUID[​](#查询canbus-uuid "查询CANBus UUID的直接链接") 操作前须知 * 建议在**非打印状态**下执行ID查询和固件刷写操作,避免干扰打印过程。 * 同一主板/工具板的Katapult(CANBoot)固件与Klipper固件使用**相同的CAN ID**。 前提条件 请确保满足以下条件,否则可能无法正常搜索到CAN ID: 1. **上位机CAN网络已正确配置** 2. **工具板CAN速率与上位机完全一致**(速率不一致将无法通信) 3. 执行 `lsusb` 命令后能看到 `1d50:606f` 设备(USB-CAN适配器) ### 搜索命令(根据系统选择)[​](#搜索命令根据系统选择 "搜索命令(根据系统选择)的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") #### 情况一:已刷Klipper固件的主板/工具板[​](#情况一已刷klipper固件的主板工具板 "情况一:已刷Klipper固件的主板/工具板的直接链接") * **显示效果**:显示一个CAN ID,并提示 `Application: Klipper` * **说明**:设备已运行Klipper固件,可以直接使用。此ID可能是主板ID也有可能是工具板ID. * **区分方法**:断开工具板的CAN连接线后重新搜索。如果该ID消失,则属于工具板;如果该ID仍在,则属于主板。 Loading... *** #### 情况二:主板 + 待烧录工具板[​](#情况二主板--待烧录工具板 "情况二:主板 + 待烧录工具板的直接链接") * **显示效果**:显示**两个**CAN ID * **说明**:主板运行Klipper固件,工具板运行CanBoot固件,等待烧录。 Loading... *** #### 情况三:UTOC + 待烧录工具板[​](#情况三--待烧录工具板 "情况三--待烧录工具板的直接链接") * **显示效果**:**UTOC本身不显示ID**,只显示工具板的ID * **说明**:UTOC 仅作为桥接器,需确保工具板处于CanBoot模式。 Loading... *** #### 情况四:无ID显示[​](#情况四无id显示 "情况四:无ID显示的直接链接") * **显示效果**:无任何ID显示 * **可能原因**: 1. CAN总线被Klipper占用 2. 上位机CAN0速率配置错误 3. 物理接线异常 4. 设备未进入CanBoot模式 Loading... *** 重要提示 * **待烧录状态**:工具板处于CanBoot模式时会显示 `Application: CanBoot` 且固件灯闪烁,此时可进行固件烧录。 * **ID占用处理**:如果设备已运行Klipper固件且ID已填入配置文件,ID将**不会显示**(被Klipper占用)。如需重新显示,需在配置中屏蔽该ID并**彻底断电重启**。 故障排查 如果无法查询到UUID,请参考: [CAN问题排查指南](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### 烧录命令[​](#烧录命令 "烧录命令的直接链接") 1. 将下方命令中的 `241696050c56` 替换为您实际查询到的UUID 2. **注意**:`-u` 参数后需有空格 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**,请使用新指令: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper),请使用旧指令: ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` ### 烧录成功确认[​](#烧录成功确认 "烧录成功确认的直接链接") 出现 **`CAN Flash Success`** 提示即表示烧录成功: Loading... ## 固件更新[​](#固件更新 "固件更新的直接链接") ### 更新方法[​](#更新方法 "更新方法的直接链接") 当需要更新固件时,只需: 1. 重新编译固件 2. 确保能查询到设备CAN ID(或Klipper已连接设备) 3. 执行相同的烧录命令 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` ### 更新成功示例[​](#更新成功示例 "更新成功示例的直接链接") Loading... ``` ``` ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动LED会常亮起来 Loading... --- # 引脚分布 说明 * 本页列出 FLY-SHT36 PRO 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ------ | ------ | ------ | ------- | ---- | | DRIVER0 | gpio23 | gpio24 | gpio25 | gpio20 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ----- | | 挤出头加热 | gpio8 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ------ | | 挤出头热敏 | gpio26 | | Box | gpio27 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ------ | | 模型冷却风扇 | gpio15 | | 喉管散热风扇 | gpio14 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ------------------------------------------- | ------ | | HV-IN / 通用输入 | gpio21 | | 通用输入 | gpio2 | | 探针(Probe) / BLTouch 信号(sensor\_pin) | gpio3 | | BLTouch / 舵机控制 | gpio7 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ----- | | RGB / Neopixel | gpio6 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ------ | | CS | gpio9 | | MOSI | gpio11 | | MISO | gpio12 | | SCLK | gpio10 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ------------------ | ----- | | RGB / Neopixel | gpio6 | | BLTouch / 舵机控制 | gpio7 | --- # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... - 需要将120Ω跳线接到对应位置 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SHT36资料[​](#fly-sht36资料 "Fly-SHT36资料的直接链接") * 点击下方网盘链接 * Loading... --- # 板载5160驱动使用不了 ``` Unable to write tmc spi 'extruder' register IHOLD_IRUN ``` ## 具体原因[​](#具体原因 "具体原因的直接链接") * 如果使用5160显示下方报错,因上位机Arm工具链版本问题`arm-none-eabi-gcc` ## 解决方法[​](#解决方法 "解决方法的直接链接") 解决方法有以下三种 * 编译工具链`arm-none-eabi-gcc`从`gcc10`换到`gcc8` * 更换上位机系统 --- # SHT36 Pro Loading... 提示 赠送的蓝色散热片,请粘贴到驱动上!!! # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 ## 产品简介[​](#产品简介 "产品简介的直接链接") FLY SHT36 V2是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SHT36 V2适用于36步进电机,其集成了CAN收发器、USB口、TMC2209驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 * 体积压缩到极致,采用6层板设计 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更稳定 * 板载TMC2209驱动,使用UART模式,可用于挤出机 * 板载ADXL345加速度传感器 * 支持PT100(MAX31865) * 可更换风扇MOS设计 * 支持BLTOUCH、PL08N等调平传感器,集成XY限位开关 * 支持12-24V电压输入 * MCU: STM32F072 * 通信: CAN * 支持BLTOUCH、PL08N等调平传感器,集成XY限位开关 ## 新增功能[​](#新增功能 "新增功能的直接链接") * 增加支持4.7K电阻(用于ntc热敏)或1.1K电阻(用于PT1000)切换 * can接口不再用MX3.0端子,新的连接器支持15A电流,峰值30A * 增加5/12/24V风扇电压可选。 * 增加板载NTC100k电阻,用于测仓温 * 增加一个电源反接保护 * 增加ADXL345的INT1接到mcu,给个别用户用于调平。 * 增大加热棒端口,额定电流10A * 增加高压输入限位 * 更换主控为国产MCU * 支持磁编码器(as5047d),Klipper用于运动分析(目前Klipper暂不支持) * 新增1米CAN连接线,避免用户无法正确压端子导致信号丢失的困扰 * 安装尺寸:孔间距43.84mm,M3安装孔径 * 处理器 :GD32F103 (2022-10-28日之前购买)、APM32F072(2022-10-28日之后购买) ## SHT-36 V2[​](#sht-36-v2 "SHT-36 V2的直接链接") Loading... ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- 提示 请不要在打开网页翻译时修改配置 注意事项 请不要在打开网页翻译时修改配置 须知 请不要在打开网页翻译时修改配置 # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 请将[include sht36v2.cfg]添加到printer.cfg下 ## Please add [include sht36v2.cfg] under printer.cfg ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### [mcu sht36v2] canbus_uuid: ### 查询can固件id是:~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ### can的id需要把serial替换成canbus_uuid: 后面添加id ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor SHT36-V2] sensor_type: temperature_mcu sensor_mcu: sht36v2 #-------------------------------------------------------------------- [temperature_sensor Box] sensor_type: ATC Semitec 104GT-2 sensor_pin = sht36v2:PA4 ##################################################################### # Accelerometer ##################################################################### ## https://www.klipper3d.org/Measuring_Resonances.html?h=adxl#adxl345 [adxl345] cs_pin: sht36v2:PA9 spi_bus: spi2 #-------------------------------------------------------------------- [resonance_tester] accel_chip: adxl345 probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 ##################################################################### # Extruder thermal sensitivity ##################################################################### ## Please select the type of thermocouple you want to use. ## 请根据你想要使用的热敏选择 [extruder] ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) sensor_type: ATC Semitec 104GT-2 sensor_pin: sht36v2:PA3 ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 #pullup_resistor: 1100 #sensor_pin: sht36v2:PA3 ###------------------------------------------------------------------ ## Using MAX31865 to connect PT100 ## 使用MAX31865接PT100 #sensor_type: MAX31865 #sensor_pin: sht36v2:PB12 #spi_bus: spi2 #rtd_reference_r: 430 #rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin: sht36v2:PB4 dir_pin: sht36v2:PB3 # 挤出电机方向引脚设置 enable_pin: !sht36v2:PA15 rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin: sht36v2:PA8 min_temp: -235 max_temp: 350 max_power: 1.0 min_extrude_temp: 150 pressure_advance: 0.05 ##Pressure in advance ##压力提前 ##https://www.klipper3d.org/zh/Pressure_Advance.html pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark step_pulse_duration: 0.000004 #-------------------------------------------------------------------- [tmc2209 extruder] uart_pin: sht36v2:PB5 interpolate: False run_current: 0.8 sense_resistor: 0.110 ##################################################################### # FAN ##################################################################### [fan] pin: sht36v2:PB11 #-------------------------------------------------------------------- [heater_fan hotend_fan] pin: sht36v2:PB10 heater: extruder heater_temp: 50.0 ##################################################################### # X STOP ##################################################################### # [stepper_x] # endstop_pin: !sht36v2:PA2 ## SHT V2板有PA1,PA2两个限位引脚可用,按照实际接线修改配置 ## PA1引脚默认支持高压输入,可用于12v的接近传感器等.可通过跳线帽配置PA1为普通限位引脚 ##################################################################### # Stealthburner LED ##################################################################### ## https://github.com/VoronDesign/Voron-Stealthburner/tree/main [neopixel sb_leds] pin: sht36v2:PB0 chain_count: 3 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 #66CCFF ##################################################################### # TAP && PL08N && BLTOUCH ##################################################################### ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe #[probe] #pin: ^sht36v2:PA1 #x_offset: 0 #y_offset: 25.0 #z_offset: 0 #speed: 10.0 #samples: 3 #samples_result: median #sample_retract_dist: 4.0 #samples_tolerance: 0.010 #samples_tolerance_retries: 3 #-------------------------------------------------------------------- ## https://www.klipper3d.org/Config_Reference.html?h=probe#bltouch #[bltouch] #sensor_pin: ^sht36v2:PC15 #control_pin: sht36v2:PB1 #x_offset: -26.1 #y_offset: -15.3 #z_offset: 2.1 ##################################################################### # 磁角度传感器 ##################################################################### ## 磁角度传感器 ## 相关说明请参考https://www.klipper3d.org/API_Server.html#angledump_angle ## https://www.klipper3d.org/Debugging.html#motion-analysis-and-data-logging [angle my_angle_sensor] sensor_type: as5047d #sample_period: 0.000400 #stepper: stepper_x cs_pin: sht36v2:PC14 spi_bus: spi1 ``` --- 提示 * SHT36 V2提供USB与CAN连接的Katapult固件,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) * SHT36 V2 出厂预刷CAN连接的Katapult固件,速率为1M 注意事项 * SHT36 V2使用了三种主控,请不要烧录错误否则无法启动 * APM 072与STM 072 请看[072CAN固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/firmware?tab-0=072 "点击即可跳转") * STM 103 请看[103CAN固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/firmware?tab-0=103 "点击即可跳转") # 固件烧录说明 * 固件编译与固件烧录都需要使用上位机 * SHT36 V2可以使用CAN连接方式与上位机连接 * CAN需要使用`XT30(2+2)-F`进行连接 * 下方是`XT30(2+2)-F`数据线样式 Loading... 须知 * 主板固件烧录需要通过Katapult烧录Klipper * 如果确定主板已经烧录了Katapult则无需进行最后面的烧录Katapult固件 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * SHT36 V2 只能使用 CAN 连接上位机。 * 需要 CAN 工具板时:请选择 **CAN 固件**。 * 请根据 MCU 型号选择对应的固件页面。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ---------------------------- | --------------------- | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | CAN 固件(STM32/APM32 F072) | 使用 F072 版本时 | 支持 CAN 总线连接多个设备 | 请确认 MCU 型号和 CAN 速率后选择对应页面:[072 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/firmware?tab-0=072) | [查看 F072 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/firmware?tab-0=072) | | CAN 固件(STM32 F103) | 使用 STM32F103 版本时 | 支持 CAN 总线连接多个设备 | 请确认 MCU 型号和 CAN 速率后选择对应页面 | [查看 103 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v2/flash/firmware?tab-0=103) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SHT36 V2 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SHT36 V2 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复或明确需要更新 Katapult 的场景。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SHT36 V2 仅使用 CAN 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 - FLY-SHT36 V2 存在 STM32F072、APM32F072 和 STM32F103 三种 MCU 版本,烧录方法不能混用。 先确认 MCU 型号 * STM32F072:可以通过 Windows、Linux 或 FLYOS 的 DFU 方式烧录。 * APM32F072:只能使用 Windows 下的 DFUProgrammer 烧录。 * STM32F103:本页仅支持在原 Katapult 仍能通过 CAN 通信时进行在线更新。 固件型号和 CAN 速率都必须与实际硬件、上位机及同一总线上的其他 CAN 设备一致。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 本步骤仅适用于 STM32F072 和 APM32F072。STM32F103 在线更新不需要进入 USB DFU 模式。 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 焊盘: 1. 保持工具板完全断电。 2. 使用跳线帽短接 `BOOT` 焊盘。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后移除 `BOOT` 跳线帽。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS - STM32F072 - APM32F072 下载 STM32F072 Katapult 固件: * [**FLY\_SHT36V2\_072\_CANBOOT\_500K.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.bin?v=c3f61ed4c5a0) * [**FLY\_SHT36V2\_072\_CANBOOT\_1M.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin?v=7852044cfe3e) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) 下载 APM32F072 使用的 Katapult 固件: * [**FLY\_SHT36V2\_072\_CANBOOT\_500K.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.bin?v=c3f61ed4c5a0) * [**FLY\_SHT36V2\_072\_CANBOOT\_1M.bin**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin?v=7852044cfe3e) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并解压 `DFUProgrammer`。 2. 手动安装工具包内的 APM32 DFU 驱动。 3. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 5. 打开 DFUProgrammer,按下图选择设备和固件。 Loading... Loading... 6. 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。 * STM32F072(DFU) * STM32F103(CAN 更新) - Linux - FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_SHT36V2_072_CANBOOT_500K.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.bin ``` `FLY_SHT36V2_072_CANBOOT_1M.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_SHT36V2_072_CANBOOT_500K.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.bin ``` `FLY_SHT36V2_072_CANBOOT_1M.bin` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... 必须保留可通信的 Katapult 此方法通过 CAN 更新原有 Katapult。只有工具板仍能进入 Katapult、能够查询到 CAN UUID 时才可使用;Bootloader 已损坏或 CAN 无法通信时不要继续执行。 1. 拉取或更新固件仓库。 * Linux * FLYOS ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时执行: ``` git -C ~/FLY-Firmware pull --ff-only ``` ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时执行: ``` git -C /data/FLY-Firmware pull --ff-only ``` 2. 查询处于 Katapult 模式的工具板 CAN UUID: ``` ~/klippy-env/bin/python ~/klipper/lib/katapult/flashtool.py -q ``` 3. 将命令中的 `` 替换为实际查询结果,再根据 CAN 速率只执行其中一条命令: CAN `500K`: ``` ~/klippy-env/bin/python ~/klipper/lib/katapult/flashtool.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_500K.BIN -u ``` CAN `1M`: ``` ~/klippy-env/bin/python ~/klipper/lib/katapult/flashtool.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_1M.BIN -u ``` 旧系统中没有 `lib/katapult/flashtool.py` 时,才使用以下兼容命令: CAN `500K`: ``` ~/klippy-env/bin/python ~/klipper/lib/canboot/flash_can.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_500K.BIN -u ``` CAN `1M`: ``` ~/klippy-env/bin/python ~/klipper/lib/canboot/flash_can.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_1M.BIN -u ``` ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再移除 BOOT 跳线帽并恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 固件编译与烧录 选择主控版本 SHT36 V2 使用不同主控,请根据板载芯片选择对应版本: * `072`:APM32F072 或 STM32F072 * `103`:STM32F103 选择错误的固件版本可能导致工具板无法启动。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 请选择下位机主控版本 072(APM32F072 / STM32F072)103(STM32F103) --- # 引脚分布 说明 * 本页列出 FLY-SHT36 V2 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ---- | --- | ---- | ------- | ---- | | DRIVER0 | PB4 | PB3 | PA15 | PB5 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ---- | | 挤出头加热 | PA8 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ---- | | 挤出头热敏 | PA3 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ---- | | 模型冷却风扇 | PB11 | | 喉管散热风扇 | PB10 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ---------------------------- | ---- | | Probe / 通用输入 | PA1 | | X 限位 / 通用输入 | PA2 | | BLTouch 控制(control\_pin) | PB1 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ---- | | RGB / Neopixel | PB0 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用工具板硬件 SPI 总线,配置中填写 `spi_bus: spi2` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: | 信号 | 引脚 | | ---- | ---- | | CS | PA9 | ``` [adxl345] cs_pin: sht36v2:PA9 spi_bus: spi2 ``` ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ---------------------------- | ---- | | RGB / Neopixel | PB0 | | BLTouch 控制(control\_pin) | PB1 | --- # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种资料 * 主板原理图 * 主板三维模型 ## Fly-SHT36资料[​](#fly-sht36资料 "Fly-SHT36资料的直接链接") * 点击下方网盘链接 * Loading... --- # SHT36 V2 Loading... 提示 赠送的蓝色散热片,请粘贴到2209驱动上!!! # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 简介 # 1. 产品简介 FLY SHT36 V3是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SHT36 V3适用于36步进电机,其集成了CAN收发器、RS232收发器、Type-C口、TMC2209驱动、LIS2DW加速度传感器,2个可控风扇等其他功能的工具板。此工具板适用于Klipper与RRF固件。 Loading... ## 1.1 产品特点[​](#11-产品特点 "1.1 产品特点的直接链接") * 预留Boot按钮,用户可通过Type-C进入Boot模式更新固件 * 支持Klipper固件、RRF固件 * 支持CAN模式、RS232模式、RRF CAN模式, * 在RS232模式下,拥有更高的传输速率、更强的稳定性。在CAN模式下,支持CAN扩展,预留CAN扩展接口 * 温度传感器支持: 板载MAX31865芯片,兼容PT100和PT1000温度传感器。 * 支持两路可控风扇,电压可选,可替换Mos小板,便于维修替换,最大输出电流可达1A * 板载LIS2DW加速度传感器与LDC1612传感器 * 预留RGB接口、板载2209驱动,支持多种调平传感器,例如BLtouch、klicky、Voron Tap、PL08n等 * 支持12-24V电压、15A电流输入,增大加热棒端口,额定电流10A ## 1.2 新增功能[​](#12-新增功能 "1.2 新增功能的直接链接") * 支持Klipper CAN模式、RS232模式、RRFCAN模式互相切换 * 新增RS232模式,拥有更高的传输速率、更强的稳定性,调试使用也更为简单 * 新增RRF CAN模式,可切换为RRF工具板,增强适用性 * 新增CAN扩展接口,方便扩展CAN设备 * 新增终端电阻拨码开关,其终端电阻120R可通过拨码选择,无需跳线 * 新增1米电源/信号连接线,连接线使用双绞设计,抗干扰性能更强 ## 1.3 产品参数[​](#13-产品参数 "1.3 产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * 固件 :Reprap /Klipper * 输入电压 :DC12V-24V * 逻辑电压 :DC3 .3V * 板载传感器 :LIS2DW 与LDC1612 * 加热棒接口: 加热棒(HEAT0),10A * 扩展接口: RGB,EndStop,PT100/PT1000,XH2.54-2P CAN扩展口 * 风扇接口:两路DC可控风扇 * 电机驱动:板载TMC2209 * 温度传感器:一路100K NTC或PT1000(TH0),一路PT100/PT1000可选 # 4. 产品分类 RRF教程链接[RRF](https://teamgloomy.github.io/fly_rrf_36_general.html) | SHT36 V3 | V3 | Plus V3 | Max V3 | | -------------- | -- | ------- | ------ | | Klipper CANBus | ✅ | ✅ | ✅ | | Klipper RS232 | ✅ | ✅ | ✅ | | RRF CANBus | ❌ | ❌ | ✅ | | LIS2DW | ✅ | ✅ | ✅ | | MAX31865 | ❌ | ✅ | ✅ | | LDC1612 | ❌ | ❌ | ✅ | ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 板载 MAX31865 使用说明 重要须知 * SHT36-V3 的普通热敏接口仅支持 **PT1000**。 * 若您的工具板**板载 MAX31865 芯片**。则可通过 **PH2.0 4P 接口** 连接 **2/3/4 线制** 的 PT100 或 PT1000 传感器。 ## 如何判断工具板是否支持 MAX31865[​](#如何判断工具板是否支持-max31865 "如何判断工具板是否支持 MAX31865的直接链接") SHT36 V3 的部分套餐支持 MAX31865.您可以通过观察工具板上的是否有**MAX31865 芯片**来判断是否支持(实物位置请参考下图)。 Loading... ## 配置方法[​](#配置方法 "配置方法的直接链接") 配置前提 * MAX31865 通常用于**挤出机**或**热床**的高精度温度测量。 * 以下配置示例基于 **挤出机** 进行修改。 ### 1. 接线与拨码设置[​](#1-接线与拨码设置 "1. 接线与拨码设置的直接链接") * 使用 MAX31865 前。**必须**先设置工具板背面的 **6-PIN 拨码开关**(如下图所示)。否则 Klipper 将无法正确读取温度。 **拨码开关设置规则**(开关编号从左至右为 1-6): * **传感器类型选择** * 使用 **PT100**:拨码 **1 ON**。拨码 **2 OFF**。 * 使用 **PT1000**:拨码 **1 OFF**。拨码 **2 ON**。 * **线制选择** * **两线制**:拨码 3、5、6 **ON**。拨码 4 **OFF**。 * **三线制**:拨码 4、6 **ON**。拨码 3、5 **OFF**。 * **四线制**:拨码 3 **ON**。拨码 4、5、6 **OFF**。 > **默认状态**:所有拨码朝下`(OFF) MAX31865`功能被禁用。 Loading... ### 2. 修改 Klipper 配置文件[​](#2-修改-klipper-配置文件 "2. 修改 Klipper 配置文件的直接链接") **原配置片段(使用普通热敏)**: ``` [extruder] # ... 其他配置 ... sensor_type: ATC Semitec 104GT-2 sensor_pin: SHT36:gpio27 # ... 其他配置 ... ``` **修改步骤**: 1. **注释或删除**原有的 `sensor_type` 和 `sensor_pin` 两行。 2. **添加**以下 MAX31865 专用配置: ``` [extruder] # ... 其他配置 ... sensor_type: MAX31865 sensor_pin: SHT36:gpio17 spi_bus: spi0_gpio4_gpio3_gpio2 # 注意:以下两个参数必须根据您使用的传感器型号正确设置! rtd_reference_r: 430 # 使用PT100时设为430.使用PT1000时设为4300 rtd_nominal_r: 100 # 使用PT100时设为100.使用PT1000时设为1000 # ... 其他配置 ... ``` ### 3. 重要注意事项[​](#3-重要注意事项 "3. 重要注意事项的直接链接") * **参数匹配**: 必须确保 `rtd_reference_r` 与 `rtd_nominal_r` 的取值**与所用传感器类型(PT100 或 PT1000)一致**,否则将导致温度读数严重失准。 * **接线检查**: 请确认传感器线序已正确连接至 PH2.0 4P 接口,并与拨码开关上的线制设置保持一致。 * **功能占用**: 启用 MAX31865 后,原 `gpio27` 上的普通热敏接口可将其配置为仓温检测等功能(需外接热敏电阻)。 ## 普通热敏口配置PT1000传感器[​](#普通热敏口配置pt1000传感器 "普通热敏口配置PT1000传感器的直接链接") * **重要前提**:使用普通热敏口连接PT1000传感器前。请确保已正确连接工具板上的对应跳线。 Loading... ### 原配置[​](#原配置 "原配置的直接链接") **原配置片段**(使用普通NTC热敏电阻): ``` [extruder] # ... 其他配置 ... sensor_type: ATC Semitec 104GT-2 sensor_pin: SHT36:gpio27 # ... 其他配置 ... ``` ### 修改后配置[​](#修改后配置 "修改后配置的直接链接") **修改步骤**: 1. 将 `sensor_type` 的值改为 `PT1000` 2. 添加 `pullup_resistor` 参数并设置为 `1000` **修改后配置**: ``` [extruder] # ... 其他配置 ... sensor_type: PT1000 sensor_pin: SHT36:gpio27 pullup_resistor: 1000 # ... 其他配置 ... ``` ### **注意事项**[​](#注意事项 "注意事项的直接链接") * 此配置仅适用于SHT36-V3的**普通热敏接口**(GPIO27) * `pullup_resistor: 1000` 参数必须配置 --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- 提示 请不要在打开网页翻译时修改配置 注意事项 请不要在打开网页翻译时修改配置 须知 请不要在打开网页翻译时修改配置 # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 请将[include SHT36V3.cfg]添加到printer.cfg下 ## Please add [include SHT36V3.cfg] under printer.cfg ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### [mcu SHT36] # 工具主板序列号 ## CAN ID ## ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 canbus_uuid: #-------------------------------------------------------------------- # # RS232 ID ## 请根据固件配置填写波特率 ## Please fill in the baud rate according to the firmware configuration. # serial: /dev/serial/by-path/platform-1c1c000.usb-usb-0:1.2:1.0-port0 # baud: 250000 # restart_method:command ##################################################################### # Temperature monitoring ##################################################################### [temperature_sensor SHT36] sensor_type: temperature_mcu sensor_mcu: SHT36 ##################################################################### # Accelerometer ##################################################################### ## https://www.klipper3d.org/Measuring_Resonances.html?h=adxl#adxl345 ## 建议使用spi_bus,此配置可以同时使用31865与加速度计 [lis2dw] cs_pin: SHT36:gpio12 spi_bus:spi0_gpio4_gpio3_gpio2 #spi_software_sclk_pin: SHT36:gpio2 #spi_software_mosi_pin: SHT36:gpio3 #spi_software_miso_pin: SHT36:gpio4 #-------------------------------------------------------------------- [resonance_tester] accel_chip: lis2dw probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 ##################################################################### # Stealthburner LED ##################################################################### ## https://github.com/VoronDesign/Voron-Stealthburner/tree/main [neopixel sb_leds] pin: SHT36:gpio26 chain_count: 3 # Number of LEDs # 灯珠数量 color_order: GRB initial_RED: 0.4 initial_GREEN: 0.8 initial_BLUE: 1 initial_WHITE: 0.0 ##################################################################### # Extruder thermal sensitivity ##################################################################### ## Please select the type of thermocouple you want to use. ## 请根据你想要使用的热敏选择 [extruder] ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) sensor_type:ATC Semitec 104GT-2 sensor_pin:SHT36:gpio27 ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # sensor_pin:SHT36:gpio27 # pullup_resistor: 1000 ###------------------------------------------------------------------ ## Using MAX31865 to connect PT100 or PT1000 ## 使用MAX31865接PT100或者PT1000 # sensor_type: MAX31865 # sensor_pin: SHT36:gpio17 # spi_bus:spi0_gpio4_gpio3_gpio2 # rtd_reference_r: 430 ## 使用PT100时请设置为430,使用PT1000时请设置为4300 #rtd_nominal_r: 100 ## 使用PT100时请设置为100,使用PT1000时请设置为1000 ##################################################################### # extruder ##################################################################### ## https://www.klipper3d.org/Config_Reference.html#extruder [extruder] step_pin:SHT36:gpio7 dir_pin:SHT36:gpio6 enable_pin: !SHT36:gpio14 rotation_distance: 21.84 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 gear_ratio:50:10 ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 heater_pin:SHT36:gpio23 min_temp:-235 max_temp:350 max_power:1.0 min_extrude_temp: 170 pressure_advance: 0.05 pressure_advance_smooth_time: 0.040 #max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_only_distance: 800 max_extrude_cross_section:800 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark ###------------------------------------------------------------------ [tmc2209 extruder] uart_pin:SHT36:gpio15 interpolate:False run_current: 0.8 sense_resistor:0.110 ###------------------------------------------------------------------ [verify_heater extruder] max_error: 20 check_gain_time:120 hysteresis: 50 heating_gain: 2 ##################################################################### # FAN ##################################################################### [fan] pin:SHT36:gpio21 ###------------------------------------------------------------------ [heater_fan my_hotend_fan] pin: SHT36:gpio13 heater: extruder heater_temp: 50.0 ##################################################################### # TAP && PL08N && BLTOUCH ##################################################################### # [stepper_x] # endstop_pin: ^!SHT36:gpio16 ##################################################################### # TAP && PL08N && BLTOUCH ##################################################################### ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: ^SHT36:gpio22 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 #-------------------------------------------------------------------- ## https://www.klipper3d.org/Config_Reference.html?h=probe#bltouch #[bltouch] #sensor_pin: ^SHT36:gpio22 # 信号接口 #control_pin: SHT36:gpio24 # 舵机控制 #x_offset: -26.1 # X轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: -15.3 # Y轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #z_offset: 2.1 # Z轴-传感器相对喷嘴偏移量,需要自行确定偏移量 ``` --- # EDDY 使用 信息 * 使用前确保自己的打印机没有漏电 * 如之前有配置`eddy`、`Probe`、`BL-Touch`的配置,请删除 * 在安装 Eddy 时,线圈需在喷嘴上方,且距离喷嘴`2mm-3mm`处 * 测试时不要打开热床 注意事项 * 多Z轴机器需要手动调平一次做好 版本要求 **Klipper 官方近期对 Eddy 探针功能进行了优化**,建议更新至最新版本使用: * **普通上位机**:请将 Klipper 更新至最新版本 * **FLY Fast 系统**:请将系统版本升级至 **V1.3.8** 或更高版本 ## 接线示意图[​](#接线示意图 "接线示意图的直接链接") 断电操作 安装或更换 EDDY 传感器、插拔 FPC 线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 * 使用 SHT36 Max V3 板载 LDC1612 时,线圈商标朝热床方向安装: Loading... ## 支持的工具板版本与 I2C 地址[​](#支持的工具板版本与-i2c-地址 "支持的工具板版本与 I2C 地址的直接链接") 根据 SHT36 V3 系列的产品分类,只有 **SHT36 Max V3** 板载 LDC1612;**SHT36 V3** 与 **SHT36 Plus V3** 没有板载 LDC1612,需要连接外置 FLY-EDDY 模块才能使用 EDDY 功能。 | 工具板版本 | LDC1612 支持方式 | `i2c_address` | 选择的配置 | | ------------- | ----------------- | ------------- | ----------------------------- | | SHT36 V3 | 连接外置 FLY-EDDY | `42` | “V3 / Plus V3:外置 FLY-EDDY” | | SHT36 Plus V3 | 连接外置 FLY-EDDY | `42` | “V3 / Plus V3:外置 FLY-EDDY” | | SHT36 Max V3 | 使用板载 LDC1612 | `43` | “Max V3:板载 LDC1612” | 选择正确的地址 SHT36 V3 与 SHT36 Plus V3 使用外置 FLY-EDDY 时配置 `i2c_address: 42`;SHT36 Max V3 使用板载 LDC1612 时配置 `i2c_address: 43`。地址与实际模块不一致会导致 Klipper 无法与 LDC1612 通信。 > **外置模块说明**:[FLY-EDDY 文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) ## 参考配置[​](#参考配置 "参考配置的直接链接") * `XY`的偏移值需要根据扫床模块与喷头本身进行计算,然后修改到下方的偏移值。 * `descend_z` 的值必须确保探针线圈与喷嘴尖端之间的物理高度差在`2~3mm`的推荐范围内。 - V3 / Plus V3:外置 FLY-EDDY(地址 42) - Max V3:板载 LDC1612(地址 43) 此配置适用于 **SHT36 V3** 和 **SHT36 Plus V3**。通过 FLY-EDDY-F FPC 排线将外置模块连接到工具板的 EDDY 接口。 > **FLY-EDDY 接线与安装**:[FLY-EDDY 产品文档](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-eddy/) ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 42 # 外置 FLY-EDDY 模块必须使用 42 i2c_mcu: SHT36 i2c_bus: i2c1e # I2C总线标识,根据MCU定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),FLY-EDDY使用40MHz [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin:SHT36:gpio28 # FLY-EDDY-F 的 TEMP 线连接到 SHT36 V3 gpio28 ``` 此配置仅适用于带板载 LDC1612 的 **SHT36 Max V3**。 ``` [stepper_z] endstop_pin: probe:z_virtual_endstop # position_endstop: -0.5 [probe_eddy_current fly_eddy_probe] sensor_type: ldc1612 i2c_address: 43 # SHT36 Max V3 板载 LDC1612 必须使用 43 i2c_mcu: SHT36 i2c_bus: i2c1e # I2C总线标识,根据MCU定义 x_offset: 0 # X方向探针与喷嘴偏移量(mm),需根据实际安装测量 y_offset: 21.42 # Y方向偏移量(mm),此处为21.42,需根据实际安装测量 descend_z: 2.5 # 探针下降停止距离(mm),即喷嘴与热床之间的安全距离,需根据实际设置 i2c_speed: 4000000 # I2C通信速率(Hz),此处为4MHz frequency: 40000000 # 外部晶振频率(Hz),SHT36 Max V3使用40MHz [temperature_probe fly_eddy_probe] sensor_type: Generic 3950 sensor_pin:SHT36:gpio28 ``` ## 线圈模型下载链接[​](#线圈模型下载链接 "线圈模型下载链接的直接链接") * 点击下方按钮下载线圈模型: Loading... ## 计算 XY 偏移值[​](#计算-xy-偏移值 "计算 XY 偏移值的直接链接") 下载模型后,请根据打印机实际结构测量并计算 XY 偏移值,再修改配置中的 `x_offset` 与 `y_offset`。 Loading... Loading... ## EDDY 校准[​](#eddy-校准 "EDDY 校准的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * 请确认没有同时启用 `Probe`、`BL-Touch` 等其他探针配置。 * 多 Z 轴机器需要先手动调平一次。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 安全提示 清洁喷嘴前请等待喷嘴冷却到安全温度;如必须在热机状态清理,只能使用专用工具,严禁用手直接接触喷嘴、热端或热床。 ### 添加临时配置[​](#添加临时配置 "添加临时配置的直接链接") 须知 下方配置仅用于临时校准,使用后必须删除或注释。 1. 添加后点击 `Save & Restart` 保存并重启。 2. 必须添加到 `printer.cfg` 文件顶部,请不要添加到文件末尾。 运动风险 下方临时宏会在未完整确认 Z 轴真实位置时移动机器。执行前请移开手和工具,确认喷嘴下方无遮挡,并随时准备使用急停。 ``` [force_move] enable_force_move: true [gcode_macro _LDC_CALIBRATE_DRIVE_CURRENT] gcode: BED_MESH_CLEAR SET_KINEMATIC_POSITION x=100 y=100 z=10 G28 X Y M104 S0 M140 S0 M106 S0 G0 X{printer.toolhead.axis_maximum.x / 2} Y{printer.toolhead.axis_maximum.y / 2} F6000 G0 Z30 F600 G4 P1000 LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe G4 P1000 SAVE_CONFIG [gcode_macro PROBE_EDDY_CURRENT_CALIBRATE_AUTO] gcode: BED_MESH_CLEAR G28 X Y M104 S0 M140 S0 M106 S0 G90 G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F6000 {% if 'z' not in printer.toolhead.homed_axes %} SET_KINEMATIC_POSITION Z={ printer.toolhead.axis_maximum.z-1 } {% endif %} PROBE_EDDY_CURRENT_CALIBRATE {rawparams} ``` ### 驱动电流校准[​](#驱动电流校准 "驱动电流校准的直接链接") 在网页控制台中输入: ``` _LDC_CALIBRATE_DRIVE_CURRENT ``` 执行后打印机会移动到中心位置,并将打印头远离热床。随后系统会自动进行驱动电流校准,校准完成后保存配置并重启 Klipper。 ### 校准高度[​](#校准高度 "校准高度的直接链接") 提示 * 多 Z 轴机器需要先手动调平一次,再进行高度校准。 * 多 Z 轴机器完成高度校准后,建议再执行一次调平并重新校准高度。 * 校准前检查热床表面无杂物,并保持喷嘴清洁。 在网页控制台中输入: ``` PROBE_EDDY_CURRENT_CALIBRATE_AUTO CHIP=fly_eddy_probe ``` 执行后打印机会移动到中心位置,并弹出校准对话框。此时 Klipper 显示的 Z 高度并不重要,只需要按界面提示逐步降低喷嘴,直到喷嘴与纸张产生轻微摩擦。 完成后点击对话框中的 `ACCEPT`,系统会开始校准 EDDY 高度。校准完成后,点击网页右上角的 `SAVE_CONFIG & Restart` 保存配置并重启 Klipper。 ## 常见问题[​](#常见问题 "常见问题的直接链接") **Q:数据跳动大怎么办?** A:确认纸张测试力度一致,并检查传感器安装是否牢固。 **Q:校准后无效怎么办?** A:确认已执行 `SAVE_CONFIG` 并重启 Klipper。 ## 使用优化[​](#使用优化 "使用优化的直接链接") ### 快速扫床[​](#快速扫床 "快速扫床的直接链接") 下方宏会让调平流程先将喷头抬升到 `10mm` 进行快速调平,完成后再使用 EDDY 的下探高度进行精细调平。 * Z\_TILT\_ADJUST * QUAD\_GANTRY\_LEVEL ``` [gcode_macro Z_TILT_ADJUST] rename_existing: _Z_TILT_ADJUST gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_Z_TILT BED_MESH_CLEAR {% if not printer.z_tilt.applied %} _Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1 {% endif %} _Z_TILT_ADJUST horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 Z_tilt Completed RESTORE_GCODE_STATE NAME=STATE_Z_TILT M400 ``` ``` [gcode_macro QUAD_GANTRY_LEVEL] rename_existing: _QUAD_GANTRY_LEVEL gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} SAVE_GCODE_STATE NAME=STATE_QGL BED_MESH_CLEAR {% if not printer.quad_gantry_level.applied %} _QUAD_GANTRY_LEVEL horizontal_move_z=10 retry_tolerance=1 {% endif %} _QUAD_GANTRY_LEVEL horizontal_move_z={PROBE_Z_OFFSET} retry_tolerance=0.075 retries=20 METHOD=rapid_scan ADAPTIVE=1 G0 Z10 F6000 G90 M117 QGL Completed RESTORE_GCODE_STATE NAME=STATE_QGL M400 ``` ### 热床[​](#热床 "热床的直接链接") 下方宏会让网床扫描使用快速模式,并在扫描时临时关闭热床,减少热床加热和大功率负载对 EDDY 的影响。扫描完成后会恢复原热床目标温度。 ``` [gcode_macro BED_MESH_CALIBRATE] rename_existing: _BED_MESH_CALIBRATE gcode: {% set PROBE_Z_OFFSET = printer.configfile.settings['probe_eddy_current fly_eddy_probe'].descend_z|float %} {% set TARGET_TEMP = printer.heater_bed.target %} M140 S0 _BED_MESH_CALIBRATE horizontal_move_z={PROBE_Z_OFFSET} METHOD=rapid_scan {rawparams} M140 S{TARGET_TEMP} ``` ## EDDY 使用 Z 轴偏移功能[​](#eddy-使用-z-轴偏移功能 "EDDY 使用 Z 轴偏移功能的直接链接") 重要通知 EDDY 的 Z 偏移功能此前存在兼容性问题,已在 2025 年 12 月 31 日的 Klipper 更新中修复。 * 普通上位机:请将 Klipper 更新至较新的稳定版本。 * FLY 上位机:请将系统版本升级至 V1.3.5 或更高。 完成更新后,请删除之前配置文件中与 `Z 偏移` 相关的旧设置,否则该功能可能无法正常使用。 ### Z 偏移说明[​](#z-偏移说明 "Z 偏移说明的直接链接") Z 偏移校准前,建议先打印一个较大面积的单层模型,用于观察首层状态。 Mainsail Z 轴偏移校准位置: Loading... Fluidd Z 轴偏移校准位置: Loading... 校准完成后点击保存即可。保存结果只会在控制台中提示,保存后不需要重启 Klipper。 注意事项 Z 偏移校准通常需要重复几次,才能获得更稳定的首层效果。 --- # 固件编译与烧录 选择下位机固件类型 请先选择实际要刷写的固件类型,选择后才会显示对应的编译与烧录步骤。 ## 固件编译与烧录步骤[​](#固件编译与烧录步骤 "固件编译与烧录步骤的直接链接") 您需要对下位机刷哪个固件 CAN 固件RS232 固件 --- # FLY-SHT36 V3 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SHT36 V3 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-SHT36 V3 支持 CAN 和 RS232 通信。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中箭头所指的是 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SHT36 V3 Katapult 固件: * [**FLY\_SHT36V3\_katapult\_CAN\_500K.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_500K.uf2?v=decf24d099fd) * [**FLY\_SHT36V3\_katapult\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_1M.uf2?v=b2ad6f764ee0) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SHT36 ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 根据 CAN 速率,只执行其中一条烧录命令: CAN `500K`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_500K.uf2 ``` CAN `1M`: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V3_katapult_CAN_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 工具板ID读取查看 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔 CAN 或 RS232 线束、调整拨码或触碰端子。 ## ID 搜索步骤[​](#id-搜索步骤 "ID 搜索步骤的直接链接") 您的下位机刷了哪个固件 CAN 固件RS232 固件 --- # RRF 固件刷写与配置 ## 如何判断工具板是否支持RRF-CAN[​](#如何判断工具板是否支持rrf-can "如何判断工具板是否支持RRF-CAN的直接链接") SHT36 V3 的部分套餐支持RRF-CAN.您可以通过观察工具板上是否有**RRF-CAN芯片**来判断是否支持(实物位置请参考下图)。 Loading... ## 固件下载[​](#固件下载 "固件下载的直接链接") 兼容性提示 Fly-SHT36 Max V3 仅支持 **3.5.1 及以上版本** 的固件。 下载固件文件 `Duet3Firmware_SHT36MAX3.uf2`: * **稳定版**:[下载链接](https://github.com/gloomyandy/RRFBuild/tree/v3.6-dev/releases/3.6.0/expansion) 版本匹配警告 **必须确保**工具板的固件版本与所连接主板的固件版本**完全相同**。 ## 进入并完成烧录[​](#进入并完成烧录 "进入并完成烧录的直接链接") 1. **进入烧录模式**: * 工具板**完全断电**。 * 按住 **`BOOT` 按键**(位置如下图)。同时通过 Type-C 数据线连接至电脑。 Loading... 2. **执行烧录**: * 电脑上会出现一个名为 `RPI` 的盘符。 * 将下载好的 `.uf2` 文件**拖入**该盘符即可完成烧录。 ## 连接检查与地址配置[​](#连接检查与地址配置 "连接检查与地址配置的直接链接") ### 1. 上电检查[​](#1-上电检查 "1. 上电检查的直接链接") 给打印机上电后。请观察工具板: * `3.3V`、`5V` 及 `Power` 指示灯应常亮。 * 主芯片旁的 **工作状态LED** 将先快速闪烁。连接建立后转为**约每秒闪烁一次**。 Loading... ### 2. 通信验证[​](#2-通信验证 "2. 通信验证的直接链接") 在主机控制台发送命令。验证与工具板(默认地址 `124`)的通信: ``` M115 B124 ``` 命令将返回工具板的固件信息。 ### 3. 设置CAN地址[​](#3-设置can地址 "3. 设置CAN地址的直接链接") 为避免冲突。需为每个工具板分配**唯一地址**(建议从 `20` 开始)。 * **分配新地址**(例如将地址 `124` 改为 `20`): ``` M952 B124 A20 ``` * **重启生效**:断电重启。或发送 `M999 B124`。 * **验证新地址**: ``` M115 B20 ``` * **多个工具板**:请逐个上电。为每个板子**重复以上步骤。并分配不同地址**(如 `21`.`22`...)。 ### 4. 启动延时设置[​](#4-启动延时设置 "4. 启动延时设置的直接链接") 为确保主板能识别所有CAN设备。请在主板的 `config.g` 文件**顶部**添加: ``` G4 S2 ; 等待扩展板启动 ``` --- # SHT36 V3 板载拨码与固件说明 ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * 需要 CAN 连接时:请选择 **CAN 固件**。 * 需要 RS232 连接时:请选择 **RS232 固件**。 * 使用 RRF-CAN 功能时:请选择 **RRF-CAN 固件**。 * 三种固件只能选择一种,不要同时刷写。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | ------------ | ------------------- | --------------------- | ----------------------------------- | ------------------------- | | CAN 固件 | 需要 CAN 连接时 | 支持 CAN 总线通信 | 确认 CAN 速率与上位机、其他设备一致 | 查看下方 CAN 固件步骤 | | RS232 固件 | 需要 RS232 连接时 | 适合串口直连 | 确认 RS232 接线和上位机串口配置 | 查看下方 RS232 固件步骤 | | RRF-CAN 固件 | 使用 RRF-CAN 功能时 | 支持 RRF-CAN 工作模式 | 按照对应拨码和烧录步骤操作 | 查看下方 RRF-CAN 固件步骤 | 出厂固件 SHT36 V3 出厂预刷 **Katapult(CAN)** 固件,默认波特率为 **1M**。如需其他配置(例如 CAN 波特率 500K),再按下方步骤重新烧录。 ## 固件烧录步骤与拨码设置[​](#固件烧录步骤与拨码设置 "固件烧录步骤与拨码设置的直接链接") ### 1. CAN 固件 (Klipper)[​](#1-can-固件-klipper "1. CAN 固件 (Klipper)的直接链接") * **拨码设置**: Loading... * **烧录准备**:烧录前。请确保CAN线已连接工具板与主板。并接通12V-24V电源。 ### 2. RS232 固件 (Klipper)[​](#2-rs232-固件-klipper "2. RS232 固件 (Klipper)的直接链接") * **拨码设置**: Loading... * **烧录步骤**:先通过工具板的USB口烧录编译好的固件。然后连接CAN线。 ### 3. RRF-CAN 固件[​](#3-rrf-can-固件 "3. RRF-CAN 固件的直接链接") * **拨码设置**: Loading... * **烧录步骤**:通过工具板的USB口烧录RRF固件。然后连接CAN线。 --- # Fly-SHT36-V3 工具板文档 ## **快速导航**[​](#快速导航 "快速导航的直接链接") ### 1. 准备工作[​](#1-准备工作 "1. 准备工作的直接链接") **硬件清单**: * **工具板**:Fly-SHT36-V3 * **上位机**: 上位机兼容性说明 * **推荐型号**:Fly-PI-V3 、树莓派4/5等标准上位机 * **不支持型号**:**红米手机、WiFi棒子与机顶盒**、各种魔改的非标准上位机 * **重要提示**:使用魔改的上位机可能导致系统不稳定、功能异常或无法正常使用 * **数据线**:Type-C 数据线一条 * **连接方式(二选一)**: * **CAN连接**:需搭配UTOC模块或已刷写USB桥接CAN固件的主板 * **RS232连接**:需搭配UTOR模块或原生支持RS232的主板(如D8、D8-PRO、C8P) * **电源**:12V‑24V电源适配器(请确保电压在范围内) * **电脑**:Windows 电脑(或其他可使用SSH工具的电脑) ### 2. 使用指南与注意事项[​](#2-使用指南与注意事项 "2. 使用指南与注意事项的直接链接") **核心原则**:大多数问题由配置、连接或供电不一致导致.请按以下顺序优先排查: 1. **连接与配置**:确保拨码开关、固件类型、Klipper中的`[mcu SHT36]`连接方式三者统一(同为CAN或RS232). 2. **电源与接线**:确认供电电压正常.所有线缆连接牢固. 3. **状态指示**:通电后检查电源与状态指示灯是否正常. **相关文档**: * [CAN固件连接注意事项](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/can) * [RS232固件连接注意事项](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/rs232) * [EDDY问题合集](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/eddy) * [各类常见问题](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/notes/faq) ### 3. 固件烧录与ID搜索[​](#3-固件烧录与id搜索 "3. 固件烧录与ID搜索的直接链接") **步骤概览**: 1. 设置拨码开关(选择CAN或RS232模式) 2. 烧录对应固件 3. 获取设备ID(CAN UUID或RS232ID) 4. 在Klipper中配置连接 **相关文档**: * [拨码开关设置说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/switch) * [CAN固件烧录与UUID获取](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/firmware?tab-0=can) * [RS232固件烧录与ID获取](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/firmware?tab-0=rs232) * [备用:Bootloader 救砖](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/firmware/bl) ### 4. 硬件连接与Klipper配置[​](#4-硬件连接与klipper配置 "4. 硬件连接与Klipper配置的直接链接") **包含内容**: * 工具板各接口功能说明 * 电机、加热器、传感器等接线方法 * Klipper参考配置文件 **相关文档**: * [工具板引脚图与接线图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/interfaces) * [Klipper参考配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/cfg) ### 5. 高级功能(可选)[​](#5-高级功能可选 "5. 高级功能(可选)的直接链接") **可选功能**: * **加速度计**:用于输入整形共振抑制 * **31865**:高精度温度传感器(PT100/PT1000)配置 * **EDDY**:涡流传感器.用于喷嘴接触检测 **相关文档**: * [加速度计使用说明](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/adxl) * [31865拨码与配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/31865) * [EDDY传感器配置](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/eddy) ### 6. 技术资料[​](#6-技术资料 "6. 技术资料的直接链接") **包含内容**: * 原理图下载 * 3D模型文件 **相关文档**: - [原理图与PCB图](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36_v3/schematic) *** ## **使用建议**[​](#使用建议 "使用建议的直接链接") ### **新手用户**:[​](#新手用户 "新手用户的直接链接") 1. 从 **准备工作** 开始 2. 仔细阅读 **注意事项** 3. 按顺序完成 **固件烧录** → **硬件连接** → **基础测试** 4. 遇到问题查看 **故障排查** ### **有经验用户**:[​](#有经验用户 "有经验用户的直接链接") 1. 直接查看需要的具体功能文档 2. 参考 **技术资料** 获取详细参数 3. 配置 **高级功能** 提升性能 *** --- # SHT36 V3 Loading... # 主板参考接线 can线定义图 Loading... 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # CAN固件连接注意事项 ## 接线说明[​](#接线说明 "接线说明的直接链接") 请按顺序完成以下三步操作: ### 第一步:设置拨码开关[​](#第一步设置拨码开关 "第一步:设置拨码开关的直接链接") 1. **先断电**:拔掉所有电源。 2. **找拨码**:将工具板翻过来。找到背面的拨码开关组。 3. **拨到位**:为了使用CAN模式。需将所有开关拨到下方示例的位置。 Loading... > **重要提示**:修改拨码后,必须重新烧录对应的固件(本指南使用CAN固件)。 ### 第二步:连接线路[​](#第二步连接线路 "第二步:连接线路的直接链接") 1. **保持断电**:接线全程请勿通电。 2. **准备线材**:使用 `XT30(2+2)-F` 四芯数据线。其颜色定义如下: * **红 (VCC)**:接 12V-24V 电源正极 * **黑 (GND)**:接电源负极 * **黄 (CAN-H)**:接CAN扩展口的H * **白/绿 (CAN-L)**:接CAN扩展口的L 3. **连接设备**: * 将线的`XT30(2+2)-F`接口插到**工具板**上。 * 将线的接线端子接到 **UTOC模块** 或已刷好“USB桥接CAN”固件的**主板**上。 * 最后,通过USB线将UTOC模块或主板连接到您的上位机(如FLY派或者树莓派)。 ### 第三步:配置并检查终端电阻[​](#第三步配置并检查终端电阻 "第三步:配置并检查终端电阻的直接链接") 为确保信号稳定,必须正确连接终端电阻。请按照下表配置,并在断电状态下测量: | 设备 | 操作说明 | | ------------ | ---------------------------------------- | | **工具板** | 找到并插上标有 `120Ω` 的跳线帽。 | | **主板** | 如连接主板。请同样插上其 `120Ω` 跳线帽。 | | **UTOC模块** | 自带电阻\*. | **如何检查:** 1. 保持**完全断电**。 2. 使用万用表测量工具板CAN口的 **CAN-H与CAN-L** 之间的电阻。 3. **结果判断**: * **约60Ω**:正常,两端电阻已正确连接。 * **约140Ω**:可能CAN-H与CAN-L接反了。 * **约120Ω**:没有安装`120Ω` 或者断线。 * **约40Ω**:可能有多余的电阻。请检查中间节点。 *** **一句话总结:先断电。拨好拨码。插对线。再接好两头的120Ω跳线帽。最后测一下电阻是不是60Ω左右。** **检查清单:** * 全程断电操作 * 拨码已全部拨下(CAN模式) * 工具板 `120Ω` 跳线帽已插 * 主板(如适用)`120Ω` 跳线帽已插 * CAN数据线连接牢固 * 测量电阻值约60Ω ## CAN网络配置与故障排查[​](#can网络配置与故障排查 "CAN网络配置与故障排查的直接链接") ### 第一步:检查上位机是否识别CAN设备[​](#第一步检查上位机是否识别can设备 "第一步:检查上位机是否识别CAN设备的直接链接") 1. 登录上位机。输入命令: ``` lsusb ``` 2. 观察结果: * **看到`1d50:606f`** → 设备识别成功 * **提示找不到`ls`指令** → 执行:`sudo apt-get install usbutils` * **没有任何反应** → 可能是系统问题,建议更换系统 * **有多个`1d50:606f`** → 建议只保留一个设备(如使用UTOC就断开其他刷了USB桥接CAN固件的设备) > ⚠️ **重要**:只有看到`1d50:606f`才能继续搜索CAN ID ### 第二步:配置CAN网络[​](#第二步配置can网络 "第二步:配置CAN网络的直接链接") #### 根据系统类型选择配置方法:[​](#根据系统类型选择配置方法 "根据系统类型选择配置方法:的直接链接") > 如果已经配置过或者使用FlyOS-FAST系统则不需要此步! * 普通Linux系统 * 树莓派系统 ##### 普通Linux系统配置方法[​](#普通linux系统配置方法 "普通Linux系统配置方法的直接链接") **设置1M速率(推荐)**: ``` sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF allow-hotplug can0 iface can0 can static bitrate 1000000 up ifconfig \$IFACE txqueuelen 1024 pre-up ip link set can0 type can bitrate 1000000 pre-up ip link set can0 txqueuelen 1024 EOF ``` **设置500K速率**: ``` sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF allow-hotplug can0 iface can0 can static bitrate 500000 up ifconfig \$IFACE txqueuelen 1024 pre-up ip link set can0 type can bitrate 500000 pre-up ip link set can0 txqueuelen 1024 EOF ``` > **注意**:FAST系统不需要执行此操作! ##### 树莓派系统配置方法[​](#树莓派系统配置方法 "树莓派系统配置方法的直接链接") 1. 创建网络配置(可修改BitRate为500000): ``` sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF' [Match] Name=can* [CAN] BitRate=1000000 RestartSec=100ms EOF ``` 2. 创建连接配置(TxQueueLength不建议修改): ``` sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF' [Match] OriginalName=can* [Link] TxQueueLength=1024 EOF ``` 3) **重启系统生效**: ``` sudo reboot ``` ### 第三步:搜索CAN ID[​](#第三步搜索can-id "第三步:搜索CAN ID的直接链接") #### 检查CAN状态:[​](#检查can状态 "检查CAN状态:的直接链接") ``` ip -details link show can0 ``` * 下图圈起来的地方为上位机CAN速率与缓存 * 上方`1024`是当前CAN0缓存 * 下方`1000000`是当前CAN0速率 Loading... #### 搜索设备:[​](#搜索设备 "搜索设备:的直接链接") * Fly-Armbian与普通上位机搜索指令 * Fly-FAST搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` ``` python ~/klipper/scripts/canbus_query.py can0 ``` 正常会显示:`Found canbus_uuid=xxxx...` ### 常见错误解决[​](#常见错误解决 "常见错误解决的直接链接") | 错误信息 | 原因 | 解决方法 | | ----------------------------------------------------------------------------- | ------------- | ----------------------------------------------------------- | | **`OSError: [Errno 19] No such device`** | 找不到CAN设备 | 1. 检查USB连接
2. 确认固件正确
3. 执行`lsusb`验证 | | **`can.CanError: Failed to transmit: [Errno 100] Network is down`** | CAN网络未配置 | 1. 执行上方配置步骤
2. 重启系统 | | **`can.CanError: Failed to transmit: [Errno 105] No buffer space available`** | 缓存不足 | 1. 确认CAN缓存是否为`1024`
2. 重启系统 | ### 搜不到CAN ID的检查步骤[​](#搜不到can-id的检查步骤 "搜不到CAN ID的检查步骤的直接链接") #### 第一步:基本检查[​](#第一步基本检查 "第一步:基本检查的直接链接") * 执行`lsusb`能看到`1d50:606f` * CAN设备和工具板都已通电 * 数据线连接牢固 #### 第二步:配置检查[​](#第二步配置检查 "第二步:配置检查的直接链接") * CAN网络已正确配置 * 上位机CAN速率与工具板固件一致(默认1M) * 已重启系统 #### 第三步:硬件检查[​](#第三步硬件检查 "第三步:硬件检查的直接链接") * CAN总线两端都有120Ω终端电阻 * [ ] **断电**测量CAN-H与CAN-L电阻≈60Ω * 检查线路无断裂 * CAN-H和CAN-L没有接反 #### 第四步:特殊情况处理[​](#第四步特殊情况处理 "第四步:特殊情况处理的直接链接") * **如果Klipper已占用ID**: 1. 屏蔽Klipper中的对应配置 2. 完全断电1分钟 3. 重新上电搜索 * **终端电阻测量值**: * **≈60Ω**:正常 * **≈120Ω**:只有一端有电阻 * **≈40Ω**:有三端有电阻 * **≈140Ω**:可能线接反了 ### 快速排查顺序[​](#快速排查顺序 "快速排查顺序的直接链接") 1. **先看设备**:`lsusb` → 有`1d50:606f`? 2. **再看配置**:`ip -details link show can0` → 速率正确? 3. **最后硬件**:断电测电阻 → 约60Ω? **全部检查后仍不行**:尝试更换数据线或设备。或联系技术支持。 ## 工具板固件更新步骤[​](#工具板固件更新步骤 "工具板固件更新步骤的直接链接") ### 第一步:准备工作[​](#第一步准备工作 "第一步:准备工作的直接链接") 1. 按教程编译好新的固件文件 2. 停止Klipper服务: ``` sudo systemctl stop klipper ``` ### 第二步:获取工具板ID[​](#第二步获取工具板id "第二步:获取工具板ID的直接链接") 在Klipper配置文件中找到对应工具板的CAN UUID(例如:`241696050c56`) ### 第三步:执行固件更新[​](#第三步执行固件更新 "第三步:执行固件更新的直接链接") 版本说明 根据您的系统版本选择正确的指令: * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` > **注意**:`-u`后面必须有一个空格。然后是您工具板的CAN UUID ### 第四步:验证结果[​](#第四步验证结果 "第四步:验证结果的直接链接") * 看到 **`CAN Flash Success`** 提示 → 烧录成功 * 看到其他错误信息 → 烧录失败。请检查UUID和连接 Loading... ### 第五步:重启服务[​](#第五步重启服务 "第五步:重启服务的直接链接") ``` sudo systemctl start klipper ``` **更新完成!** --- # EDDY 传感器常见问题解决指南 # EDDY 传感器常见问题 ## 归位时报错 `Error during homing z: Eddy current sensor error`[​](#归位时报错-error-during-homing-z-eddy-current-sensor-error "归位时报错-error-during-homing-z-eddy-current-sensor-error的直接链接") 遇到此错误时,请按顺序排查。 ### 更新 Klipper 或系统[​](#更新-klipper-或系统 "更新 Klipper 或系统的直接链接") 重要通知 EDDY 的 Z 归位功能此前存在兼容性问题,已在 2026 年 1 月 6 日的 Klipper 更新中优化。 * 普通上位机:请将 Klipper 更新至较新的稳定版本。 * FLY 上位机:请将系统版本升级至 V1.3.5 或更高。 完成更新后,需要重新校准 EDDY。 ### 调整驱动电流[​](#调整驱动电流 "调整驱动电流的直接链接") 1. 打开 `printer.cfg` 文件。 2. 找到配置最下方的 `reg_drive_current =` 参数。 3. 将当前值增加或减少 `1`,例如 `15` 可改为 `16` 或 `14`。 4. 请直接填写计算后的结果,不要填写 `15+1` 这类算式。 5. 保存文件并重启打印机,然后重新测试归位。 Loading... ### 调整探头偏移量[​](#调整探头偏移量 "调整探头偏移量的直接链接") 如果更新和驱动电流调整后仍然无效,可继续检查 `descend_z`。 1. 在 `printer.cfg` 中找到 `[probe_eddy_current fly_eddy_probe]` 配置段。 2. 将 `descend_z:` 适当改大。默认值通常为 `0.5`,可先尝试 `2.0` 或 `2.5`。 3. 此参数只能在该配置段中保留一处,请勿重复配置。 4. 建议值不要超过 `3.0`,最终数值需要根据机器结构和探头安装高度确定。 5. 保存并重启打印机,然后再次测试归位。 版本提示 Klipper 2026 年 3 月后的 `[probe_eddy_current]` 配置使用 `descend_z`。旧配置中的 `z_offset` 已废弃,后续版本可能移除支持;如果教程、旧配置或截图仍写 `z_offset`,请优先改为 `descend_z`。 Loading... ## 提示 `Amplitude Low/High warning`[​](#eddy-amplitude-warning "eddy-amplitude-warning的直接链接") **报错信息**:`my_eddy_probe: Amplitude Low/High warning (36)`、`Amplitude Low/High warning (48)` 等。括号内数字为实测振幅值。 **常见原因**: * `reg_drive_current` 设置不合适,传感器振荡幅度超出理想范围。 * 探头与热床的间距(standoff)过大或过小。 * 探头安装松动或热床表面不平整。 **解决方法**: 1. 重新执行驱动电流校准:`LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe`,然后 `SAVE_CONFIG`。 2. 如果校准后仍有警告,按上方“调整驱动电流”章节手动微调 `reg_drive_current`(每次±1)。 3. 检查探头安装是否牢固,探头底部与热床表面的间距建议保持在 0.3–1.0 mm。 4. 确认热床为平整的金属表面,无翘曲或四凸。 5. 如果警告仅在特定位置出现,可能是热床局部不平整,可尝试在不同位置重新校准。 ## 提示 `!! probe_eddy_current sensor not in valid range`[​](#提示--probe_eddy_current-sensor-not-in-valid-range "提示--probe_eddy_current-sensor-not-in-valid-range的直接链接") 此错误表示探头读数超出有效范围。常见原因是启用 EDDY 探头后,其他配置段中的探测高度没有按预期生效,导致探头移动超出物理量程。 请重点检查以下位置: * `[probe_eddy_current fly_eddy_probe]` * `[bed_mesh]` * `[z_tilt]` 或 `[quad_gantry_level]` * 自定义归位、调平、扫床宏 处理方式: 1. 确认所有探测动作的下探高度都在 EDDY 可用范围内。 2. 避免多个宏或配置段重复覆盖同一个高度参数。 3. 修改后保存并重启 Klipper,再重新执行归位或调平。 Loading... ## 提示 `Eddy I2C STATUS/DATA error` 或 `Invalid read data`[​](#eddy-i2c-comm-error "eddy-i2c-comm-error的直接链接") 此类错误表示 EDDY 与 MCU 之间的通信或读数异常。 常见原因: * EDDY 线束、插头或焊点接触不良。 * I2C 线过长、线材质量差,或与电机线、加热线并行走线导致干扰。 * I2C 速率过高,当前线材和环境下不稳定。 * 探头供电不稳定。 处理方式: 断电操作 重新插拔 EDDY 线束、整理走线或检查插头前,请完全关闭打印机并断开电源供应。不要在通电状态下拔插传感器或触碰端子。 1. 断电后重新插拔 EDDY 线束,检查端子是否松动。 2. 将 EDDY 通信线远离电机线、加热线和热床线。 3. 如果使用硬件 I2C,可尝试降低 I2C 速率;仍不稳定时再测试软件 I2C。 4. 优先通过更换成品线束、换端口或替换传感器进行交叉测试;裸露端子的电气检测请联系售后或专业人员。 5. 修改后重新执行归位或 `PROBE_EDDY_CURRENT_CALIBRATE`。 > **I2C 引脚与接线**:[EDDY I2C 引脚与配置说明](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-i2c) ## 提示 `Unable to obtain probe_eddy_current sensor readings`[​](#提示-unable-to-obtain-probe_eddy_current-sensor-readings "提示-unable-to-obtain-probe_eddy_current-sensor-readings的直接链接") 此错误表示 Klipper 在规定时间内没有获取到有效的 EDDY 传感器数据。 常见原因: * 传感器通信线断开或配置的总线/引脚错误。 * 探头离金属床面过远,读数不在可用范围。 * `reg_drive_current` 不合适,传感器频率范围不足。 * 尚未完成驱动电流校准或 Z 高度校准。 处理方式: 断电操作 检查 EDDY 总线、引脚接线或更换传感器线束前,请完全关闭打印机并断开电源供应。不要在通电状态下拔插传感器。 1. 断电后确认 `[probe_eddy_current fly_eddy_probe]` 中的总线和引脚配置与实际接线一致。 2. 将喷头移动到热床中心,确保 EDDY 位于金属床面上方。 3. 重新执行 `LDC_CALIBRATE_DRIVE_CURRENT CHIP=fly_eddy_probe` 并 `SAVE_CONFIG`。 4. 重新执行 `PROBE_EDDY_CURRENT_CALIBRATE CHIP=fly_eddy_probe`。 5. 如果只在归位时出现,继续按本文上方“归位时报错”章节调整 `reg_drive_current` 和 `descend_z`。 ## `MCU Protocol error: Unknown command i2c_write`[​](#eddy-i2c-write-mismatch "eddy-i2c-write-mismatch的直接链接") **报错信息**:`MCU Protocol error`、`mcu 'eddy': Unknown command: i2c_write`、`Command format mismatch`。 此类报错通常表示 EDDY / RP2040 外设 MCU 固件与上位机 Klipper 版本不匹配。常见场景是更新了上位机 Klipper,却没有重新编译并刷写 EDDY 固件;也可能是 EDDY 固件比上位机 Klipper 更新,主机端还不认识外设固件使用的新命令。 处理方式: 1. 查看 `klippy.log` 中 `Git version` 和 `Loaded MCU 'eddy' ... version`,确认上位机与 EDDY 固件是否来自同一套 Klipper 版本。 2. 重新编译并刷写 EDDY 所在 MCU 固件,刷写方式以对应工具板或 EDDY 产品文档为准。 3. 如果使用第三方整合系统或厂商定制 Klipper,先确认该系统支持当前 EDDY 固件;不确定时优先使用同一系统提供的固件包。 4. 刷写完成后执行 `FIRMWARE_RESTART`,再重新执行 EDDY 驱动电流和高度校准。 > **通用版本排查**:[MCU Protocol error](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err#mcu-protocol-error) ## TAP 模式触发异常[​](#tap-模式触发异常 "TAP 模式触发异常的直接链接") 使用 EDDY 的 `METHOD=tap` 时,如果探测提前停止、接触床面后仍不停止,或结果明显不稳定,通常与 `tap_threshold` 和喷嘴/床面状态有关。 > **详细流程**:[EDDY TAP 模式调试方法](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap) 运动风险 TAP 测试会让喷嘴接近或接触热床。执行前请确认喷嘴和床面干净,手和工具远离运动区域,并准备好急停。 排查要点: 1. 确认喷嘴和床面干净,喷嘴残料会直接影响 TAP 结果。 2. 开始 TAP 前,喷嘴距离床面建议保持在几毫米范围内,不要过近或过远。 3. 如果未接触床面就停止,说明 `tap_threshold` 可能过低,可适当增大。 4. 如果接触床面后仍不停止,说明 `tap_threshold` 可能过高,应立即停止并降低阈值。 5. 调整后重新执行 `PROBE_EDDY_CURRENT_TAP_CALIBRATE`,通过后再 `SAVE_CONFIG`。 ## 归位 / TAP 时触发 `Timer too close`[​](#eddy-timer-too-close "eddy-timer-too-close的直接链接") **报错信息**:`MCU 'xxx' shutdown: Timer too close`。 **报错性质**:EDDY 归位、TAP 或 `Z_TILT_ADJUST` 使用 trsync 定时同步机制,在特定条件下会出现时钟回跳。Klipper 上游开发者确认过相关案例(日志中 trsync 时钟回跳、32 位溢出),属已知待修复问题,表现为**间歇性出现、复现不稳定**,不一定代表线束或硬件损坏。 常见原因: * EDDY 归位 / TAP 的 trsync 定时同步在特定条件下时钟回跳。 * CAN 工具板场景更易触发,报错前后 `Stats` 行可能同时出现 CAN 重传或上位机负载尖峰。 * 第三方插件(自动调速、自动调谐、电机同步等)叠加时触发概率升高。 处理方式: 1. 更新 Klipper 并重新刷写全部 MCU 固件,确认主机、工具板和 EDDY MCU 版本一致。 2. `Z_TILT_ADJUST` 可临时改用 `METHOD=scan`,扫描模式不走 trsync 路径,可显著降低触发概率。 3. 精简启动宏,避免重复归位、重复 TAP 和连续扫床动作,减少触发机会。 4. 逐个禁用第三方插件(自动调速、自动调谐等)复测,确认是否为插件叠加引起。 5. 如果同时出现 CAN 重传或通信异常,按 [CAN 报错排查](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can_troubleshoot) 检查线束与总线状态。 > **TAP 专项排查**:[EDDY TAP / Z\_TILT 触发 Timer too close](https://mellow.klipper.cn/docs/DebugDoc/faq/eddy-tap#eddy-tap-timer-too-close) > > **系统类排查**:[Timer too close](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) ## 扫床 / 调平时触发 stepcompress 内部错误[​](#eddy-stepcompress-internal-error "扫床 / 调平时触发 stepcompress 内部错误的直接链接") **报错信息**:`Internal error in stepcompress`、`Error in syncemitter 'xxx' step generation`、`Exception in flush_handler`。 EDDY 高速扫床、`BED_MESH_CALIBRATE`、`Z_TILT_ADJUST` 或 scanner 扫床时,若运动队列与 EDDY 采样叠加导致步进生成内部异常,可能出现该类报错。 处理方式: 1. 保留完整 `klippy.log`,查看报错前后的 Python Traceback 与正在执行的命令。 2. 降低扫床速度、探针点数、插值密度和 EDDY 扫描参数后复测。 3. 临时禁用第三方 scanner、自动调速、自动调平增强等插件,使用原版 Klipper 复测。 4. 更新 Klipper 后重新刷写全部 MCU 固件。 > **详细排查**:[stepcompress / syncemitter / flush\_handler 内部错误](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#stepcompress-internal-error) ## 温漂导致首层不稳定[​](#温漂导致首层不稳定 "温漂导致首层不稳定的直接链接") EDDY 属于电涡流传感器,床温、喷嘴温度、传感器线圈温度和附近金属件温度变化都会影响测量结果。表现通常是:冷机校准正常,热机打印首层偏高或偏低。 处理方式: 1. 尽量在接近实际打印温度时执行 EDDY 校准。 2. 打印前等待热床和喷嘴温度稳定后再归位、调平或扫床。 3. 如果 EDDY 带温度传感器,可配置 `[temperature_probe]` 并进行温漂补偿。 4. 封箱机器建议在箱温稳定后再执行精细校准。 ## `descend_z` 调试建议[​](#descend_z-调试建议 "descend_z-调试建议的直接链接") 在大量调试案例中,将 `[probe_eddy_current fly_eddy_probe]` 中的 `descend_z` 初始值设为 `2.5`,通常能更快让许多 EDDY 传感器进入可工作状态。 注意 `2.5` 只是调试起点,不是通用固定值,也不是官方默认配置。最佳偏移量取决于探头安装位置、喷嘴高度和机器结构,请以实际校准结果为准。 --- # 工具板常见问题解答 ## 🌀 风扇控制问题[​](#-风扇控制问题 "🌀 风扇控制问题的直接链接") ### 电压选择与接线[​](#电压选择与接线 "电压选择与接线的直接链接") * **电压控制方式**:风扇接口通过控制负极(GND)通断来实现开关控制 * **双风扇接口**:板载两个风扇接口,但**只能通过跳线帽统一选择一种电压** * 24V模式:适合24V风扇 * 12V模式:适合12V风扇 * 5V模式:适合5V风扇 ### 特殊接线情况[​](#特殊接线情况 "特殊接线情况的直接链接") * 如果您选择了24V模式但需要使用5V风扇: * 风扇正极接工具板的5V电源接口 * 风扇负极仍接风扇接口的GND端子 * 工具板仍可通过原接口控制风扇开关 ### PWM风扇控制[​](#pwm风扇控制 "PWM风扇控制的直接链接") * **可用PWM引脚**:GPIO24 、GPIO26 支持PWM控制 * **重要注意事项**: * PWM风扇的GND必须**直接连接到工具板GND** * **禁止**使用风扇接口或加热接口的GND作为PWM风扇回路 *** ## 🎯 限位开关配置[​](#-限位开关配置 "🎯 限位开关配置的直接链接") ### 可用限位接口[​](#可用限位接口 "可用限位接口的直接链接") | 引脚 | 功能类型 | 特殊说明 | | ------ | ---------- | -------------------------- | | GPIO20 | 高压限位口 | 作普通限位需**短接跳线帽** | | GPIO16 | 通用限位口 | 无特殊要求 | | GPIO22 | 通用限位口 | 无特殊要求 | ### 配置文件示例[​](#配置文件示例 "配置文件示例的直接链接") ``` # 限位开关配置(注意使用 ^ 符号) [stepper_z] endstop_pin: ^!SHT36:gpio16 # GPIO16作限位 # 或 endstop_pin: ^!SHT36:gpio20 # GPIO20作限位(需短接跳线) ``` ### 配置要点[​](#配置要点 "配置要点的直接链接") 1. **必需符号**:配置中必须包含 `^` 符号表示上拉 2. **命名规范**:根据实际工具板名称调整(示例中为SHT36) 3. **高压限位**:使用GPIO20时,如果使用接近开关则不能将跳线帽接上! *** ## ⚠️ 重要提醒[​](#️-重要提醒 "⚠️ 重要提醒的直接链接") 1. 修改硬件连接前,务必**切断电源** 2. 配置更改后需要**重启Klipper**生效 3. 如遇异常,首先检查**跳线帽设置**是否正确 --- # RS232固件连接指南 ## 固件准备[​](#固件准备 "固件准备的直接链接") * 进入RS232模式前,请先通过Type-C数据线将工具板刷入提前编译好的工具板**RS232固件**。 *** ## 接线步骤[​](#接线步骤 "接线步骤的直接链接") ### 设置拨码开关[​](#设置拨码开关 "设置拨码开关的直接链接") 1. **安全断电**:操作前请确保工具板与电源完全断开。 2. **定位拨码**:将工具板翻转。找到背面的拨码开关组。 3. **切换模式**:将所有拨码开关拨至 **RS232模式** 指定位置(见下图)。 Loading... > **警告** > > * 若拨码开关状态有更改。**必须重新烧录RS232固件**。否则无法通信。 > * 若此前已烧录正确固件且未更改拨码。则无需重复烧录。 ### 连接线缆[​](#连接线缆 "连接线缆的直接链接") 1. **保持断电**:整个接线过程中设备不得通电。 2. **使用线材**:准备 `XT30(2+2)-F` 四芯线。各芯定义如下: | 线色 | 信号 | 连接目标 | | ----- | -------------- | ---------------------------------- | | 红 | VCC (电源正极) | 12V–24V 电源正极 | | 黑 | GND (电源负极) | 电源负极 | | 黄 | IN (信号输入) | UTOR模块 RS232 扩展口的 **OUT** 针 | | 白/绿 | OUT (信号输出) | UTOR模块 RS232 扩展口的 **IN** 针 | 3. **完成连接**: * 将线缆的**公头**插入**工具板**的对应接口。 * 将线缆的**母头**插入**UTOR模块**的对应接口。 * 使用USB线将UTOR模块连接到上位机(如FLY派、树莓派或PC)。 ### 检查共地[​](#检查共地 "检查共地的直接链接") * 使用万用表**蜂鸣档/电阻档**测量以下两点: * 工具板上的 **GND** * 上位机上的 **GND** * **必须确保两地导通**(电阻接近0Ω)。若不通。则通信无法建立。请检查接线是否完整、可靠。 *** ## 搜索与配置工具板RS232 ID[​](#搜索与配置工具板rs232-id "搜索与配置工具板RS232 ID的直接链接") ### 🔴 重要准备[​](#-重要准备 "🔴 重要准备的直接链接") 警告 1. **固件要求**:工具板**必须刷入RS232固件**。否则无法通信 2. **强制共地**:⚠️ 必须确保工具板与主板的GND相连(共用同一个`24V/12V`电源即可实现) ### 📌 硬件注意事项[​](#-硬件注意事项 "📌 硬件注意事项的直接链接") * 仅 **D8、D8PRO、C8P** 主板支持原生RS232接口 * 其他主板需通过 **UTOR** 或 **G2T** 模块连接(本教程以UTOR为例) *** ### 🔍 搜索RS232 ID步骤[​](#-搜索rs232-id步骤 "🔍 搜索RS232 ID步骤的直接链接") #### 步骤1:访问上位机[​](#步骤1访问上位机 "步骤1:访问上位机的直接链接") 1. 打开浏览器。输入上位机IP地址(如:`192.168.101.179`) Loading... #### 步骤2:打开配置文件[​](#步骤2打开配置文件 "步骤2:打开配置文件的直接链接") 2. 进入左侧菜单。找到并点击`printer.cfg`: | | | | ----------------------------------------- | ------------------------------------------ | | **Fluidd**
点击 `{…}` 图标Loading... | **Mainsail**
点击"机器"菜单Loading... | #### 步骤3:查看设备列表[​](#步骤3查看设备列表 "步骤3:查看设备列表的直接链接") 3. 点击右上角 **`DEVICES`** 按钮: | | | | ---------- | ---------- | | Loading... | Loading... | #### 步骤4:刷新串口设备[​](#步骤4刷新串口设备 "步骤4:刷新串口设备的直接链接") 4. 点击 **`SERIAL`** 并刷新列表: | | | | -------------------- | ---------------------- | | **Fluidd**Loading... | **Mainsail**Loading... | #### 步骤5:复制RS232 ID[​](#步骤5复制rs232-id "步骤5:复制RS232 ID的直接链接") 5. 找到带`ttyUSB`的设备。复制其 **`Path_by_hardware`** 值: | | | | -------------------------------------------------------------- | ---------------------------------------------------------------- | | **Fluidd**
确认存在`ttyUSB`和`Path_by_hardware`Loading... | **Mainsail**
确认存在`ttyUSB`和`Path_by_hardware`Loading... | UTOR用户注意 * 使用UTOR连接时,通常会出现**两个**候选ID。请逐一尝试确定正确的ID * 点击ID旁边的箭头图标即可复制 *** ### ⚙️ 配置RS232 ID到固件[​](#️-配置rs232-id到固件 "⚙️ 配置RS232 ID到固件的直接链接") 配置说明 * 下方配置中的`toolboard`是指工具板名称。请根据实际情况替换 * 工具板配置应为`[mcu toolboard]`。主板配置为`[mcu]`。请勿混淆 #### 参考配置:[​](#参考配置 "参考配置:的直接链接") 配置模板 ``` [mcu toolboard] serial: <这里替换为你查询到的真实ID> baud: 250000 restart_method: command ``` #### 配置步骤:[​](#配置步骤 "配置步骤:的直接链接") 1. 将复制的ID填入`serial:`参数后 2. 点击右上角 **`SAVE & RESTART`** 保存并重启Klipper 重要警告 * 文档中所有ID均为示例。**严禁直接复制使用** * 请务必填写您**实际获取到**的硬件ID * 以下ID为无效示例。不可使用: ``` serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 ``` *** ## 重要说明:关于RS232 ID[​](#重要说明关于rs232-id "重要说明:关于RS232 ID的直接链接") ### 核心要点[​](#核心要点 "核心要点的直接链接") **您搜索到的 RS232 ID 是 UTOR 模块自身的ID,不是工具板的ID。** ### 关键理解[​](#关键理解 "关键理解的直接链接") * 这个ID代表 **UTOR模块** 与上位机的连接接口 * 上位机通过这个ID告诉UTOR:“请通过你的这个接口去连接工具板” * **无论工具板是否连接**,只要UTOR模块接在上位机上,这个ID就会存在 ### 简单说[​](#简单说 "简单说的直接链接") ``` 上位机 → [UTOR模块(ID)] → 工具板 ``` 您配置的是中间那个方框(UTOR)的地址。不是工具板的地址。 ### 实用提示[​](#实用提示 "实用提示的直接链接") * 有UTOR就能搜到ID,但只有工具板正常才能通信 * ID变化通常是因为UTOR换了USB口或重启了系统 * 配置时确保工具板已正确连接并供电 --- # 引脚分布 说明 * 本页列出 FLY-SHT36 V3 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ----- | ----- | ------ | ------- | ---- | | DRIVER0 | gpio7 | gpio6 | gpio14 | gpio15 | - | ## 限位[​](#限位 "限位的直接链接") | 功能 | 引脚 | | ------------------ | ------ | | HV-IN / 通用输入 | gpio20 | | 限位口0 / 通用输入 | gpio16 | | Probe / 通用输入 | gpio22 | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | -------------- | ------ | | 加热口0 | gpio23 | | 加热 / 输出口1 | gpio5 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ------- | ------ | | 热敏口0 | gpio27 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------- | ------ | | 风扇口0 | gpio13 | | 风扇口1 | gpio21 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | ---- | ------ | | RGB | gpio26 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用工具板指定 SPI 总线,配置中填写 `spi_bus: spi0_gpio4_gpio3_gpio2` 即可: | 信号 | 引脚 | | ---- | ------ | | CS | gpio12 | ``` [lis2dw] cs_pin: sht36v3:gpio12 spi_bus: spi0_gpio4_gpio3_gpio2 ``` ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | -------- | ------ | | RGB | gpio26 | --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SHT36资料[​](#fly-sht36资料 "Fly-SHT36资料的直接链接") * 点击下方网盘链接 * Loading... --- # 简介 # 产品简介 FLY SHT36/42是广州镁伦电子科技有限公司针对3D打印机挤出头设计的喷头工具板,使用该工具板,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。SHT36适用于36步进电机,SHT42适用于42步进电机,其集成了CAN收发器、USB口、TMC2209驱动、ADXL345加速度传感器,两个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 * 体积压缩到极致,采用6层板设计 * 支持CAN总线连接,数据传输更稳定,延迟更小,连接更可靠 * 板载TMC2209驱动,使用UART模式,可用于挤出机 * 板载ADXL345加速度传感器 * 支持PT100(MAX31865) * 可更换风扇MOS设计 * 支持BLTOUCH、PL08N等调平传感器,集成XY限位开关 * 支持12-24V电压输入 * MCU: STM32F072 * 通信: CANBUS, USB * 接口:可控风扇\*2,RGB\*1,限位\*3,Probe\*1,Servo\*1,加热管\*1,热敏\*1,PT100\*1 ## 产品参数[​](#产品参数 "产品参数的直接链接") 1. 外观尺寸:51.27mm*36.26mm(SHT36),42mm*42mm(SHT42) 2. 安装尺寸:孔间距43.84mm,M3安装孔径 3. 处理器 :STM32F072C8T6 4. 输入电压 :DC12-24V 5A 5. 加热棒最大输出电流:5A 6. 风扇接口最大输出电流1A Loading... ## SHT-36[​](#sht-36 "SHT-36的直接链接") Loading... ## SHT-42[​](#sht-42 "SHT-42的直接链接") Loading... ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # 参考配置 ``` ## SHT36设置 [mcu sht36] canbus_uuid: *d085135ff4c2* ## SHT36温度 [temperature_sensor FLY-SHT36] sensor_type: temperature_mcu sensor_mcu: sht36 ## FAN0 [fan] pin: sht36:PB10 ## FAN1 [heater_fan hotend_fan] pin: sht36:PB11 heater: extruder heater_temp: 50.0 ## X限位设置 [stepper_x] endstop_pin: !sht36:PA0 ## SHT板有PA0,PA1,PA2三个限位引脚可用,按照实际接线修改配置 ## 挤出机 [extruder] step_pin: sht36:PB4 dir_pin: sht36:PB3 enable_pin: !sht36:PA15 microsteps: 16 rotation_distance: 33.5 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: sht36:PA8 sensor_pin: sht36:PB0 sensor_type: ATC Semitec 104GT-2 pullup_resistor: 2200 max_extrude_only_distance: 800 max_extrude_cross_section:800 control:watermark min_temp: -235 max_temp: 350 ## 挤出机驱动设置 [tmc2209 extruder] uart_pin: sht36:PB5 run_current: 0.600 ## RGB [neopixel my_neopixel] pin: sht36:PB15 chain_count: 12 color_order: GRB initial_RED: 0.0 initial_GREEN: 0.0 initial_BLUE: 0.0 ## ADXL345加速度计 [adxl345] cs_pin: sht36:PA4 spi_bus: spi1 ## BLTOUCH [bltouch] sensor_pin: ^sht36:PC15 control_pin: sht36:PB1 x_offset: -26.1 y_offset: -15.3 z_offset: 2.1 ## PT100设置 [temperature_sensor PT100] sensor_type: MAX31865 sensor_pin: sht36:PA3 spi_bus: spi1 min_temp: -50 max_temp: 350 rtd_reference_r: 430 ``` --- 提示 * SHT36/42出厂没有预刷CAN连接的Katapult固件 * SHT36/42 CAN连接的Katapult固件速率分500K与1M,有需要可以自行烧录 * [Katapult固件烧录](https://mellow.klipper.cn/bl) # 固件烧录说明 * SHT36/42可以使用CAN连接方式与上位机连接 * CAN需要使用MX3.0金属端子压线 Loading... ## 选择固件类型[​](#选择固件类型 "选择固件类型的直接链接") 请先确认连接方式 * SHT36/42 只能使用 CAN 连接上位机。 * 需要 CAN 工具板时:请选择 **CAN 固件**。 | 固件类型 | 适用场景 | 优点 | 选择前确认 | 操作 | | -------- | ----------------- | ------------------------- | --------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | CAN 固件 | 需要 CAN 工具板时 | 支持 CAN 总线连接多个设备 | 确认上位机支持 CAN,并准备 UTOC 或 USB-CAN 桥接主板 | [编译 CAN 固件](https://mellow.klipper.cn/docs/ProductDoc/ToolBoard/fly-sht36/sht36/flash/can) | ## Katapult固件说明[​](#katapult固件说明 "Katapult固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 --- # FLY-SHT36/42 Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-SHT36/42 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - 本页适用于 STM32F072 版本的 FLY-SHT36/42。 - 本页提供 `500K`、`1M` 两种 CAN 速率的 Katapult 固件。 CAN 速率必须一致 只选择一个与实际 CAN 网络速率匹配的固件。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 焊盘: 1. 保持工具板完全断电。 2. 使用跳线帽短接 `BOOT` 焊盘。 3. 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。 4. 设备被识别后移除 `BOOT` 跳线帽。 Loading... Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-SHT36/42 Katapult 固件: * [**FLY\_SHT36\_072\_CANBOOT\_500K.BIN**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_500K.BIN?v=c3f61ed4c5a0) * [**FLY\_SHT36\_072\_CANBOOT\_1M.BIN**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_1M.BIN?v=7852044cfe3e) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/SHT36 ``` * STM32CubeProgrammer * DFU-AUTO 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 USB 连接兼容性 部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。 Loading... 1. 从[辅助软件下载页](https://mellow.klipper.cn/docs/ResDownload/auxiliary_software/)下载并安装 `SetupSTM32CubeProgrammer` 和 STM32 DFU 驱动。 2. 将本页下载的固件保存到电脑中便于查找的位置。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin` 或 `.hex`,不要修改文件后缀。 3. 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。 4. 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。 Loading... 5. 没有出现错误弹窗时表示连接成功。 Loading... 6. 点击左侧下载图标,并按下图勾选烧录选项。 Loading... 7. 点击 `Browse`,选择需要烧录的固件。 Loading... 8. 烧录 `.bin` 固件时,将 `Start address` 设置为 `0x08000000`;使用 `.hex` 固件时保持文件自带地址。 Loading... 9. 点击 `Start automatic mode` 开始烧录。 Loading... 10. 出现成功提示后,表示固件烧录完成。 Loading... 断电操作 连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。 1. 下载并运行 [FLY DFU-AUTO](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download)。 2. 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。 3. 点击“浏览”,选择需要烧录的 `.bin` 固件文件。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 `.bin`,不要修改文件后缀。 4. 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。 > **详细教程**:[FLY DFU-AUTO 下载与使用](https://mellow.klipper.cn/docs/ProductDoc/Software/dfu-auto/download) * Linux * FLYOS 1. 安装烧录工具。 ``` sudo apt update sudo apt install dfu-util -y ``` 2. 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3. 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmware cd ~/FLY-Firmware && git pull --ff-only ``` 4. 烧录固件。 `FLY_SHT36_072_CANBOOT_500K.BIN` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_500K.BIN ``` `FLY_SHT36_072_CANBOOT_1M.BIN` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_1M.BIN ``` 5. 出现 File downloaded successfully 则表示烧录成功。 Loading... 1) FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。 2) 确认设备已进入 DFU 烧录模式。 ``` lsusb ``` 若能看到 0483:df11,表示已成功进入 DFU 烧录模式。 Loading... 3) 拉取/更新固件仓库。 ``` git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware cd /data/FLY-Firmware && git pull --ff-only ``` 4) 烧录固件。 `FLY_SHT36_072_CANBOOT_500K.BIN` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_500K.BIN ``` `FLY_SHT36_072_CANBOOT_1M.BIN` ``` sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36_072_CANBOOT_1M.BIN ``` 5) 出现 File downloaded successfully 则表示烧录成功。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再移除 BOOT 跳线帽并恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # 072版本CAN固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 STMicroelectronics STM32 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 STM32F072 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 8KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (8KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Clock Reference 选择 8 MHz crystal (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6Communication interface 选择 CAN bus (on PB8/PB9) (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (CAN bus (on PB8/PB9)) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7CAN bus speed 默认使用 1M(1000000),无需修改 默认 CAN 速率为 **1M**,对应值 `1000000`,使用 1M 时无需修改。 * 1M:`1000000` * 500K:`500000` * 250K:`250000` 请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (CAN bus (on PB8/PB9)) ---> (1000000) CAN bus speed \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (CAN bus (on PB8/PB9)) ---> (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 9按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (CAN bus (on PB8/PB9)) ---> (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 10出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/stm32/stm32f0\_i2c.o Compiling out/src/generic/canserial.o Compiling out/src/../lib/fast-hash/fasthash.o Compiling out/src/stm32/can.o Compiling out/src/generic/canbus.o Compiling out/src/stm32/chipid.o Compiling out/src/stm32/hard\_pwm.o Preprocessing out/src/generic/armcm\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 接线[​](#接线 "接线的直接链接") * 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## 搜索ID并烧录[​](#搜索id并烧录 "搜索ID并烧录的直接链接") ## 查询CANBus UUID[​](#查询canbus-uuid "查询CANBus UUID的直接链接") 操作前须知 * 建议在**非打印状态**下执行ID查询和固件刷写操作,避免干扰打印过程。 * 同一主板/工具板的Katapult(CANBoot)固件与Klipper固件使用**相同的CAN ID**。 前提条件 请确保满足以下条件,否则可能无法正常搜索到CAN ID: 1. **上位机CAN网络已正确配置** 2. **工具板CAN速率与上位机完全一致**(速率不一致将无法通信) 3. 执行 `lsusb` 命令后能看到 `1d50:606f` 设备(USB-CAN适配器) ### 搜索命令(根据系统选择)[​](#搜索命令根据系统选择 "搜索命令(根据系统选择)的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") #### 情况一:已刷Klipper固件的主板/工具板[​](#情况一已刷klipper固件的主板工具板 "情况一:已刷Klipper固件的主板/工具板的直接链接") * **显示效果**:显示一个CAN ID,并提示 `Application: Klipper` * **说明**:设备已运行Klipper固件,可以直接使用。此ID可能是主板ID也有可能是工具板ID. * **区分方法**:断开工具板的CAN连接线后重新搜索。如果该ID消失,则属于工具板;如果该ID仍在,则属于主板。 Loading... *** #### 情况二:主板 + 待烧录工具板[​](#情况二主板--待烧录工具板 "情况二:主板 + 待烧录工具板的直接链接") * **显示效果**:显示**两个**CAN ID * **说明**:主板运行Klipper固件,工具板运行CanBoot固件,等待烧录。 Loading... *** #### 情况三:UTOC + 待烧录工具板[​](#情况三--待烧录工具板 "情况三--待烧录工具板的直接链接") * **显示效果**:**UTOC本身不显示ID**,只显示工具板的ID * **说明**:UTOC 仅作为桥接器,需确保工具板处于CanBoot模式。 Loading... *** #### 情况四:无ID显示[​](#情况四无id显示 "情况四:无ID显示的直接链接") * **显示效果**:无任何ID显示 * **可能原因**: 1. CAN总线被Klipper占用 2. 上位机CAN0速率配置错误 3. 物理接线异常 4. 设备未进入CanBoot模式 Loading... *** 重要提示 * **待烧录状态**:工具板处于CanBoot模式时会显示 `Application: CanBoot` 且固件灯闪烁,此时可进行固件烧录。 * **ID占用处理**:如果设备已运行Klipper固件且ID已填入配置文件,ID将**不会显示**(被Klipper占用)。如需重新显示,需在配置中屏蔽该ID并**彻底断电重启**。 故障排查 如果无法查询到UUID,请参考: [CAN问题排查指南](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### 烧录命令[​](#烧录命令 "烧录命令的直接链接") 1. 将下方命令中的 `241696050c56` 替换为您实际查询到的UUID 2. **注意**:`-u` 参数后需有空格 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**,请使用新指令: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper),请使用旧指令: ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` ### 烧录成功确认[​](#烧录成功确认 "烧录成功确认的直接链接") 出现 **`CAN Flash Success`** 提示即表示烧录成功: Loading... ## 固件更新[​](#固件更新 "固件更新的直接链接") ### 更新方法[​](#更新方法 "更新方法的直接链接") 当需要更新固件时,只需: 1. 重新编译固件 2. 确保能查询到设备CAN ID(或Klipper已连接设备) 3. 执行相同的烧录命令 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` ### 更新成功示例[​](#更新成功示例 "更新成功示例的直接链接") Loading... ``` ``` --- # 引脚分布 说明 * 本页列出 FLY-SHT36 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ---- | --- | ---- | ------- | ---- | | DRIVER0 | PB4 | PB3 | PA15 | PB5 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ---- | | 挤出头加热 | PA8 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ---- | | 挤出头热敏 | PB0 | | PT100 | PA3 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ---- | | 模型冷却风扇 | PB10 | | 喉管散热风扇 | PB11 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ---------------------------- | ---- | | BLTouch 信号(sensor\_pin) | PC15 | | BLTouch 控制(control\_pin) | PB1 | | X 限位 | PA0 | ## RGB[​](#rgb "RGB的直接链接") | 功能 | 引脚 | | -------------- | ---- | | RGB / Neopixel | PB15 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用工具板硬件 SPI 总线,配置中填写 `spi_bus: spi1` 即可,无需单独配置 MOSI/MISO/SCLK 引脚: | 信号 | 引脚 | | ---- | ---- | | CS | PA4 | ``` [adxl345] cs_pin: sht36:PA4 spi_bus: spi1 ``` ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ---------------------------- | ---- | | RGB / Neopixel | PB15 | | BLTouch 控制(control\_pin) | PB1 | --- # 工具板ID读取查看 * CANBus UUID获取 - 搜索ID前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种 * 主板原理图 * 主板三维模型 ## Fly-SHT36资料[​](#fly-sht36资料 "Fly-SHT36资料的直接链接") * 点击下方网盘链接 * Loading... --- # SHT36/42接线 提示 赠送的蓝色散热片,请粘贴到2209驱动上!!! SHT36与SHT42只有外观和安装尺寸不同,其他没有区别,SHT42使用方法与SHT36相同,这里只对SHT36做介绍。 ## 终端电阻配置[​](#终端电阻配置 "终端电阻配置的直接链接") 提示 使用CAN之前,请正确配置CANBUS终端电阻。 * CANBUS总线协议一条总线中必须且只能有两个120欧姆电阻 * 不管你连接几个USB设备,只要是在一条总线就只配置两个120欧姆电阻。不用为每个设备加一个电阻 * 在接好CAN H和CAN L信号线之后,使用万用表测量CAN H与CAN L,两者之间的阻值应约为60欧姆 Loading... ## 电源接线[​](#电源接线 "电源接线的直接链接") 提示 FLY SHT36/42不支持电源防反接功能!!!在通电前请仔细检查电源接线,切勿接反!!!!否则会损坏SHT36/42工具板!!! Loading... ## 风扇MOS[​](#风扇mos "风扇MOS的直接链接") 风扇mos不分正反,插稳即可 Loading... ## 风扇接线[​](#风扇接线 "风扇接线的直接链接") SHT36支持最多两个可控风扇,风扇电压为电源电压,接线方法如下。 Loading... ## 加热棒接线[​](#加热棒接线 "加热棒接线的直接链接") 加热棒支持最大5A的电流,使用时请注意加热棒的功率! Loading... ## 热敏接线[​](#热敏接线 "热敏接线的直接链接") 下图为普通热敏和PT1000的接线方法。 Loading... 下图为PT100的接线方法。默认两线PT100,只需连接到从左至右第2、3个引脚即可。 Loading... ## RGB接线[​](#rgb接线 "RGB接线的直接链接") RGB灯珠的正负极千万不能接反,否则会损坏SHT工具板。 Loading... ## 挤出机接线[​](#挤出机接线 "挤出机接线的直接链接") 挤出机接线完成后,请注意配置好驱动电流,校准好挤出机电机转向。 Loading... ## 限位开关[​](#限位开关 "限位开关的直接链接") 限位开关有常开(NO)和常闭(NC)两种。一般在3D打印机上,建议使用常闭(NC), 这样在限位开关线路出现问题时,系统会及时报错,可以避免一些不必要的撞车,避免损坏 打印机。 如果为VORON机型,可以考虑更换限位的安装位置,在打印头滑车上安装X限位开关,A电机座上安装Y限位开关。另外,在SHT36上,建议限位开关前最好加上`^`,将信号上拉。例如: ``` [stepper_x] endstop_pin: ^sht36:PA0 # 在前面加上^,将信号上拉,特别是在使用PA1时,请务必加上上拉 ^ ``` Loading... ## 调平传感器接线[​](#调平传感器接线 "调平传感器接线的直接链接") 须知 PB1 只支持PWM信号输出,不支持信号输入!!!因此不可用作调平传感器或者限位开关的输入!!! ### 接近开关[​](#接近开关 "接近开关的直接链接") VORON 官方建议是使用欧姆龙 Omron TL-Q5MC(之前官方推荐的是 PL08N,两者原 理一样,只是探测距离不一样)传感器来进行热床调平。 SHT36/42不建议使用接近开关,需要自己单独接一根12V或者24V的电源线给接线开关供电。 Loading... ### Klicky[​](#klicky "Klicky的直接链接") Klicky 为第三方的调平传感器,能够用极低的成本自己在家制作,且性能稳定,性价比最高,推荐使用。接线方法如下图所示。 Loading... ### Voron Tap[​](#voron-tap "Voron Tap的直接链接") Voron Tap为Voron团队最新发布的调平传感器方案,有着精度高,稳定性强,适应性好等特点。接线时,请注意正负极不能接反,否则会损坏Tap传感器甚至SHT工具板。 提示 Voron Tap不建议接 **24V** ,某些版本使用 **24V** 有一定概率会导致Tap传感器烧坏,这并非Fly产品的问题,是Voron Tap的设计缺陷,请悉知!!! Loading... ### Bltouch[​](#bltouch "Bltouch的直接链接") BL-touch 一共有五根线,三根为第一组,负责传感器的供电和探针的收放,第二组为地线 和信号线,输出限位信号。BL-touch 接线时请仔细核对接线顺序,错误的接线可能会永久性损坏 传感器和主板!!!接线方法如下图所示。 Loading... ## SHT36/42连接UTOC[​](#sht3642连接utoc "SHT36/42连接UTOC的直接链接") FLY UTOC是一款USB转CAN总线的模块,通过它将FLY π的USB端口专为CAN总线,通过CAN总线连接3D打印主板、SHT36/42等CAN总线产品。FLY UTOC板上拥有多种端子接口,使用灵活性好,可以适配不同的使用场景。**另外,UTOC在出厂时已经刷好固件,到手即用,无需再刷写固件。** 下图两种接法都可以,本质上没有区别,只是使用的端子不一样而已。 Loading... Loading... **USB-IN:** USB转CAN输入接口,连接到上位机 **12-24v & GND:** 电源接口 **CANBUS:** CAN接口,连接到扩展主板和工具板等(连接到有板载CAN收发芯片的设备) **CANBUS\*:** CAN接口,连接到扩展主板和工具板等(仅限连接到STM32设备的USB接口\[PA11,PA12],请注意购买相应版本的UTOC) --- # 简介 注意事项 阅读此文档前请注意买的是`ADLX345`版本还是`LIS2DW` Loading... ## 产品介绍[​](#产品介绍 "产品介绍的直接链接") * 主控: Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 固件: Klipper * 加速度计: ADLX345 --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # Klipper参考配置 * 参考配置 ``` [mcu adxl] serial: /dev/serial/by-id/usb-Klipper_rp2040_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_rp2040_XXXXXXXXXXXXXXXXXXXXX替换查询到的id ##ADXL345加速度计 [adxl345] cs_pin: adxl:gpio9 spi_software_sclk_pin: adxl:gpio10 spi_software_mosi_pin: adxl:gpio11 spi_software_miso_pin: adxl:gpio12 [resonance_tester] accel_chip: adxl345 probe_points: 100, 100, 20 # 此坐标为你需要测量的位置,一般为热床中间 ``` --- # 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 No bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 USBSERIAL (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' () GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 8出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/rp2040/bootrom.o Compiling out/src/rp2040/usbserial.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/rp2040/chipid.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating uf2 file out/klipper.uf2 终端末尾出现 `Linking out/klipper.elf` 和 `Creating uf2 file out/klipper.uf2`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 圈起来为`BOOT按键` * 进入烧录模式需要主板完全断电,按住BOOT按键然后将带有数据传输的数据线一头接主板一头接上位机 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * 请注意当前工具板是处于固件烧录模式,只能烧后缀名为uf2的固件 * 通过下方命令将固件烧录到工具板 ``` cd && cd ~/klipper/ make flash FLASH_DEVICE=2e8a:0003 ``` 提示 如果是上位机写好系统后第一次烧录,可能会出现和下图红圈中一样的提示——出现部分红色提示,此为正常现象,并非报错。 Loading... --- # 引脚分布 说明 * 本页列出 FLY-USB-ADXL 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ------ | | CS | gpio9 | | MOSI | gpio11 | | MISO | gpio12 | | SCLK | gpio10 | ## PWM[​](#pwm "PWM的直接链接") | PWM | 引脚 | | ---- | ---- | | PWM1 | TODO | --- # 工具板ID读取查看 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 简介 注意事项 阅读此文档前请注意买的是`ADLX345`版本还是`LIS2DW` Loading... ## 产品介绍[​](#产品介绍 "产品介绍的直接链接") * 主控: Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 固件: Klipper * 加速度计: LIS2DW --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # Klipper参考配置 * 参考配置 ``` [mcu LIS] serial: /dev/serial/by-id/usb-Klipper_rp2040_XXXXXXXXXXXXXXXXXXXXX ### 查询usb固件id是:ls -l /dev/serial/by-id/ ### 把/dev/serial/by-id/usb-Klipper_rp2040_XXXXXXXXXXXXXXXXXXXXX替换查询到的id [lis2dw] cs_pin: LIS:gpio9 spi_software_sclk_pin: LIS:gpio10 spi_software_mosi_pin: LIS:gpio11 spi_software_miso_pin: LIS:gpio12 [resonance_tester] accel_chip: lis2dw probe_points: 150, 150, 20 # 共振测试的坐标点 min_freq: 5 # 共振测试的最小频率 max_freq: 133 # 共振测试的最大频率 accel_per_hz: 75 # 每赫兹加速度(mm/sec),加速度=每赫兹加速度*频率,如果共振过于强烈,可以减少该值.默认75 hz_per_sec: 1 # 测试的速度,较小的值会加长测试时间,较大的值会降低测试精度,(Hz/sec == sec^-2),默认1 ``` --- # 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 No bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 USBSERIAL (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' (gpio8) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (USBSERIAL) ---> USB ids ---> \[\*] Optimize stepper code for 'step on both edges' (gpio8) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 9出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/rp2040/bootrom.o Compiling out/src/rp2040/usbserial.o Compiling out/src/generic/usb\_cdc.o Compiling out/src/rp2040/chipid.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating uf2 file out/klipper.uf2 终端末尾出现 `Linking out/klipper.elf` 和 `Creating uf2 file out/klipper.uf2`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 圈起来为`BOOT按键` * 进入烧录模式需要主板完全断电,按住BOOT按键然后将带有数据传输的数据线一头接主板一头接上位机 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * 请注意当前工具板是处于固件烧录模式,只能烧后缀名为uf2的固件 * 通过下方命令将固件烧录到工具板 ``` cd && cd ~/klipper/ make flash FLASH_DEVICE=2e8a:0003 ``` 提示 如果是上位机写好系统后第一次烧录,可能会出现和下图红圈中一样的提示——出现部分红色提示,此为正常现象,并非报错。 Loading... ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动LED会亮起来 Loading... --- # 引脚分布 说明 * 本页列出 FLY-USB-LIS2DW 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ------ | | CS | gpio9 | | MOSI | gpio11 | | MISO | gpio12 | | SCLK | gpio10 | ## PWM[​](#pwm "PWM的直接链接") | PWM | 引脚 | | ---- | ---- | | PWM1 | TODO | --- # 工具板ID读取查看 ## 主板 USB ID 获取[​](#主板-usb-id-获取 "主板 USB ID 获取的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") 断电操作 需要连接或重新插拔主板 USB 线时,请先完全关闭打印机并断开电源供应。不要在通电状态下插拔线束。 使用范围 * 必须通过 SSH 登录上位机后执行搜索命令。 * 操作前请确认主板已经刷入 USB 固件,并通过 Type-C 数据线连接到上位机的 USB 接口。 * 本教程仅用于搜索主板 USB ID,不适用于搜索工具板 ID。 * 工具板设备请使用对应产品文档中的 USB 或 CAN ID 获取教程。 ### 操作步骤[​](#操作步骤 "操作步骤的直接链接") #### 搜索 USB 设备 ID[​](#搜索-usb-设备-id "搜索 USB 设备 ID的直接链接") 通过 SSH 登录上位机,然后执行以下命令列出所有 USB 串口设备 ID: ``` ls /dev/serial/by-id/* ``` ##### 不可用的 ID[​](#不可用的-id "不可用的 ID的直接链接") 执行命令后,请避免使用以下两类 ID: | ID 特征 | 原因说明 | 示例 | | -------------------------------- | ------------------------------------------------------------- | -------------------------------------------------- | | `usb-1a86_USB_Serial-if00-port0` | CH340 等通用串口芯片的默认名称,不能作为 Klipper 主板连接地址 | `/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0` | | 包含 `katapult` | 设备处于 Katapult 烧录模式,需要先刷写 Klipper 固件 | `/dev/serial/by-id/usb-katapult_xxxxxxxxxxxx` | ##### 搜索结果[​](#搜索结果 "搜索结果的直接链接") 正常情况下,终端会显示类似下图的设备路径,图片中的 ID 仅作为格式示例。 Loading... > **没有找到可用 ID**:[查看设备固件与连接问题排查](https://mellow.klipper.cn/docs/DebugDoc/baodian/mcu#identify-firmware) 出现多个 ID 如果命令返回多个可用 ID,请结合主板 MCU 型号以及插拔前后的设备列表变化,确认主板对应的完整设备路径。 ### 将 USB ID 填写到配置中[​](#将-usb-id-填写到配置中 "将 USB ID 填写到配置中的直接链接") 在 Fluidd 或 Mainsail 中打开 `printer.cfg`: | | | | --------------------------------------------------------------------- | ------------------------------------------------------------------ | | **Fluidd**:点击左侧的 `{…}` 图标,然后打开 `printer.cfg`。Loading... | **Mainsail**:点击左侧的“机器”,然后打开 `printer.cfg`。Loading... | ID 必须使用实际搜索结果 文档中的设备路径均为示例。每块主板的 USB ID 都可能不同,请完整复制 SSH 命令返回的实际路径。 找到 `[mcu]` 配置段,将 `serial` 修改为刚才查询到的完整设备路径: ``` [mcu] serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx ``` 使用 USB 固件时应配置 `serial`,不要在同一个 `[mcu]` 配置段中同时填写 `canbus_uuid`。 配置位置可参考下图: | | | | ----------------------------- | ------------------------------- | | **Fluidd 配置示例**Loading... | **Mainsail 配置示例**Loading... | 修改完成后,点击右上角的 **SAVE & RESTART**,保存配置并重新启动 Klipper。 --- # 简介 # 1. 产品简介 FLY TOOL-LITE-232是广州镁伦电子科技有限公司针对3D打印机设计的工具板,该工具板提供了xt30/kf接口,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。TOOL-LITE-232适用于36/42步进电机,其集成了RS232收发器、Type-C口、TMC2209驱动、LIS2DW加速度传感器,2个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 Loading... # 4. 产品分类 | TOOL-LITE | TOOL-LITE-232 | TOOL-LITE-CAN | | -------------- | ------------- | ------------- | | Klipper CANBus | ❌ | ✅ | | Klipper RS232 | ✅ | ❌ | | RRF CANBus | ❌ | ❌ | | LIS2DW | ✅ | ✅ | | MAX31865 | ❌ | ❌ | ## 1.1 产品特点[​](#11-产品特点 "1.1 产品特点的直接链接") * 预留Boot按钮,用户可通过Type-C进入Boot模式更新固件 * 支持Klipper固件 * 支持RS232模式 * 在RS232模式下,拥有更高的传输速率、更强的稳定性。 * 温度传感器支持 :ntc100k 和PT1000温度传感器。 * 支持两路可控风扇,最大输出电流可达1A * 板载LIS2DW加速度传感器 * 预留高压probe接口、板载2209驱动,支持多种调平传感器,例如BLtouch、klicky、Voron Tap、PL08n等 * 支持12-24V电压、15A电流输入,增大加热棒端口,额定电流10A ## 1.2 新增功能[​](#12-新增功能 "1.2 新增功能的直接链接") * 新增RS232模式,拥有更高的传输速率、更强的稳定性,调试使用也更为简单 * 新增1米电源/信号连接线,连接线使用双绞设计,抗干扰性能更强 ## 1.3 产品参数[​](#13-产品参数 "1.3 产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * 固件 :Klipper * 输入电压 :DC12V-24V * 逻辑电压 :DC3 .3V * 板载传感器 :LIS2DW * 加热棒接口: 加热棒(HEAT0),10A * 扩展接口: 高压probe接口,EndStop * 风扇接口:两路DC可控风扇 * 电机驱动:板载TMC2209 * 温度传感器:一路100K NTC或PT1000(TH0) ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- 提示 请不要在打开网页翻译时修改配置 注意事项 请不要在打开网页翻译时修改配置 须知 请不要在打开网页翻译时修改配置 # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### #232配置 [mcu TOOL-LITE] serial: /dev/serial/by-path/* baud: 250000 #请根据固件配置填写波特率 restart_method:command #搜索id命令 #ls /dev/serial/by-path/* [temperature_sensor TOOL-LITE] # TOOL-LITE主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) [force_move] enable_force_move: true [extruder] step_pin:TOOL-LITE:gpio24 dir_pin:TOOL-LITE:gpio23 #ORBITER V2.5 使用ldo36电机在pin前面加! (!是大写的) enable_pin:!TOOL-LITE:gpio29 ##挤出机步进值设置 rotation_distance: 32.7 #rotation_distance步进值 #---------------T8齿轮电机-------------- #VZ-Hextrudort-Low plus 使用moons/LDO 36电机17mm/20MM T8步进值:29.7 #VZ-Hextrudort-Low 使用moons电机T8步进值:22.5 #VZ-Hextrudort-Low 使用LDO36 20MM/17MM 电机T8步进值:23.37 #Sherpa Micro 使用LDO36 20MM/17MM 电机 T8步进值:23.37 #Sherpa Micro 使用moons电机T8步进值:22.5 #---------------T10齿轮电机-------------- #Sherpa Micro 使用moons电机T10步进值:23.8425 #VZ-Hextrudort-Low 使用moons电机T10步进值:23.8425 #VZ-Hextrudort-Low 使用LDO36 17MM/20MM 电机T10步进值: #VZ-Hextrudort-Low plus T10步进值:29.11 #ORBITER V2.5步进值:35.5 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 #gear_ratio:50:8 #VZ-Hextrudort-Low plus 减速比50:8(10齿电机8改10) ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 sensor_type:NTC 100K MGB18-104F39050L32 ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # sensor_pin:SHT36:gpio27 # pullup_resistor: 1000 sensor_pin:TOOL-LITE:gpio28 heater_pin:TOOL-LITE:gpio6 min_temp:-235 max_temp:350 max_power:1.0 min_extrude_temp: 170 pressure_advance: 0.05 pressure_advance_smooth_time: 0.040 max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_cross_section:200 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark [tmc2209 extruder] uart_pin:TOOL-LITE:gpio25 interpolate:False run_current: 0.5 sense_resistor:0.110 [lis2dw] cs_pin:TOOL-LITE:gpio9 spi_software_sclk_pin:TOOL-LITE: gpio10 spi_software_mosi_pin:TOOL-LITE: gpio11 spi_software_miso_pin:TOOL-LITE:gpio8 [resonance_tester] accel_chip: lis2dw probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 [fan] #模型风扇 pin:TOOL-LITE:gpio13 max_power:0.6 ###------------------------------------------------------------------ [heater_fan my_hotend_fan] #喉管风扇 pin:TOOL-LITE:gpio14 heater: extruder heater_temp: 50.0 fan_speed: 0.2 ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: TOOL-LITE:gpio19 #高压pin脚 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: ^TOOL-LITE:gpio22 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 ## https://www.klipper3d.org/Config_Reference.html?h=probe#bltouch #[bltouch] #sensor_pin: ^TOOL-LITE:gpio22 # 信号接口 #control_pin: TOOL-LITE:gpio7 # 舵机控制 #x_offset: -26.1 # X轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: -15.3 # Y轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #z_offset: 2.1 # Z轴-传感器相对喷嘴偏移量,需要自行确定偏移量 # #自定义舵机配置 # [servo my_servo] # pin:TOOL-LITE:gpio7 # # 控制伺服的PWM输出引脚. # # 必须提供此参数. # maximum_servo_angle: 180 # # 这个伺服可以设定的最大角度(以度为单位). # # 默认是180度. # minimum_pulse_width: 0.0005 # # 最小脉宽时间(以秒为单位).这应该对应于0度的角度. # # 默认是0.001秒. # maximum_pulse_width: 0.0025 # # 最大脉宽时间(以秒为单位).这应该对应于maximum_servo_angle的角度. # # 默认是0.002秒. # initial_angle:0 # # 初始设定的伺服角度(以度为单位). # # 默认启动时不发送任何信号. # #initial_pulse_width: # # 初始设定的脉宽时间(以秒为单位).(只有在未设定initial_angle时才有效). # # 默认启动时不发送任何信号. ``` --- # 引脚分布 说明 * 本页列出 FLY Tool-Lite 232 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ------ | ------ | ------ | ------- | ---- | | DRIVER0 | gpio24 | gpio23 | gpio29 | gpio25 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ----- | | 挤出头加热 | gpio6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ------ | | 挤出头热敏 | gpio28 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ------ | | 模型冷却风扇 | gpio13 | | 喉管散热风扇 | gpio14 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ------ | | CS | gpio9 | | MOSI | gpio11 | | MISO | gpio8 | | SCLK | gpio10 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ------------------ | ------ | | 通用输入0 | gpio17 | | 通用输入1 | gpio20 | | 通用输入2 | gpio16 | | Probe / 通用输入 | gpio19 | | HV-IN / 通用输入 | gpio22 | | BLTouch / 舵机控制 | gpio7 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ------------------ | ----- | | BLTouch / 舵机控制 | gpio7 | --- # 工具板ID读取查看 提示 请不要在打开网页翻译时修改配置 注意事项 请不要在打开网页翻译时修改配置 须知 请不要在打开网页翻译时修改配置 ## 232接线示意图[​](#232接线示意图 "232接线示意图的直接链接") * 搜索ID前使用XT30数据线将工具板连接到UTOR,下方是参考接线图 ## KF接线的示意图[​](#kf接线的示意图 "KF接线的示意图的直接链接") Loading... ## 搜索工具板的RS232 ID[​](#搜索工具板的rs232-id "搜索工具板的RS232 ID的直接链接") ## 注意事项[​](#注意事项 "注意事项的直接链接") 重要准备 1. **固件要求**:
工具板**必须刷入RS232固件**,否则无法通信 2. **强制共地**:
⚠️ 连接工具板前,必须确保将工具板与主板的GND相连(共用同一个`24V/12V`电源即可实现) ## RS232注意事项[​](#rs232注意事项 "RS232注意事项的直接链接") * 除了D8、D8PRO与C8P支持RS232接口外,其他主板均不支持RS232接口 * 不支持的主板需要使用`G2T`或者`UTOR`进行链接 ## 搜索RS232 ID[​](#搜索rs232-id "搜索RS232 ID的直接链接") 1. 打开浏览器,在网址栏中输入上位机的IP地址,比如我上位机IP是`192.168.101.179`直接输入然后回车即可 Loading... 2. 打开上位机的WEB界面,在左侧边栏的配置选项里找到: | | | | -------------------------------------------------------------- | -------------------------------------------------------------- | | - fluidd为: `{…}` ,点击进去,即可找到 `printer.cfg`Loading... | - mainsail为:`机器`,点击进去,即可找到 `printer.cfg`Loading... | 3.点击`printer.cfg` 进去后,在点击右上方的`DEVICES` | | | | ---------- | ---------- | | Loading... | Loading... | 4.点击`SERIAL` ,然后刷新 | | | | ------------------------ | -------------------------- | | - fluidd的刷新Loading... | - mainsail的刷新Loading... | 5.复制ID,点击箭头所指即可复制 | | | | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | - fluidd需要确认是否存在`ch341-uart`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | - mainsail需要确认是否存在`CH341-UART`,然后点击`Path_by_hardware`,这个是RS232\_IDLoading... | 注意事项 * 使用`UTOR`连接工具板时,通常会出现两个`RS232_ID`,请逐一尝试。 ## 填写工具板RS232 ID[​](#填写工具板rs232-id "填写工具板RS232 ID的直接链接") * 下方是参考配置 注意事项 * 下方配置中的`toolboard`是指工具板名称,如果是其他名称请替换为对应名称 危险 ``` [mcu toolboard] serial: <这里替换为你刚刚查询到的ID> baud: 250000 restart_method: command ``` * 添加**工具板**的`ID`则一定是`[mcu toolboard]` 再加上`serial:`再加上你搜索到的工具板的ID - 下方是参考配置 - 请注意本教程是针对**工具板ID**搜索与配置,正常情况是已经正常连接到主板了 - 主板一定是`[mcu]`,工具板才是`[mcu toolboard]` - 点击右上角的`SAVE & RESTART`点击后会自动保存并重启klipper 危险 注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不相同,请填写实际获取到的ID. *** --- # RS232 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 No bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 UART0 on GPIO0/GPIO1 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (UART0 on GPIO0/GPIO1) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (UART0 on GPIO0/GPIO1) ---> (250000) Baud rate for serial port \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (UART0 on GPIO0/GPIO1) ---> (250000) Baud rate for serial port \[\*] Optimize stepper code for 'step on both edges' (!gpio18) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (No bootloader) ---> Flash chip (W25Q080 with CLKDIV 2) ---> Communication Interface (UART0 on GPIO0/GPIO1) ---> (250000) Baud rate for serial port \[\*] Optimize stepper code for 'step on both edges' (!gpio18) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 9出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/generic/timer\_irq.o Compiling out/src/rp2040/bootrom.o Compiling out/src/rp2040/serial.o Compiling out/src/generic/serial\_irq.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating uf2 file out/klipper.uf2 终端末尾出现 `Linking out/klipper.elf` 和 `Creating uf2 file out/klipper.uf2`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 提示 箭头所指为`BOOT按键` * 工具板在**完全断电**情况下,按住**BOOT按键**,使用带有数据传输功能的Type-C数据线,将**工具板**连接至您**上位机的USB接口**,正确连接至上位机后即可松开**BOOT按键** Loading... ## 烧录RS232固件[​](#烧录rs232固件 "烧录RS232固件的直接链接") * 请注意当前工具板是处于固件烧录模式,只能烧后缀名为uf2的固件 * 通过下方命令将固件烧录到工具板 ``` cd && cd ~/klipper/ make flash FLASH_DEVICE=2e8a:0003 ``` 提示 如果是上位机写好系统后第一次烧录,可能会出现和下图红圈中一样的提示——出现部分红色提示,此为正常现象,并非报错。 Loading... ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动,则下图所示的**LED会亮起来** Loading... --- # 三维模型与原理图 信息 * 本文档提供以下几种资料 * 主板原理图 * 主板三维模型 ## Fly-TOOL-LITE资料[​](#fly-tool-lite资料 "Fly-TOOL-LITE资料的直接链接") * 点击下方网盘链接 * Loading... --- # TOOL-LITE Loading... # 主板参考接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! RS232说明 * RS232连接到UTOR或者其他设备时,请注意RS232的IN和OUT是交叉连接的,即IN接OUT,OUT接IN,否则无法通信 * 使用RS232通信时,需要确保工具板与上位机的地线是连接在一起的,否则无法通信 Loading... --- # 简介 # 1. 产品简介 FLY TOOL-LITE-CAN是广州镁伦电子科技有限公司针对3D打印机设计的工具板,该工具板提供了xt30/kf接口,可以用四根线来替代原来主板与打印头之间繁杂的接线,优化布局。TOOL-LITE-CAN适用于36/42步进电机,其集成了CANBus收发器、Type-C口、TMC2209驱动、LIS2DW加速度传感器,2个可控风扇等其他功能的工具板。此工具板适用于Klipper固件。 Loading... # 4. 产品分类 | TOOL-LITE | TOOL-LITE-232 | TOOL-LITE-CAN | | -------------- | ------------- | ------------- | | Klipper CANBus | ❌ | ✅ | | Klipper RS232 | ✅ | ❌ | | RRF CANBus | ❌ | ❌ | | LIS2DW | ✅ | ✅ | | MAX31865 | ❌ | ❌ | ## 1.1 产品特点[​](#11-产品特点 "1.1 产品特点的直接链接") * 预留Boot按钮,用户可通过Type-C进入Boot模式更新固件 * 支持Klipper固件 * 支持CANBus模式 * 在CANBus模式下,拥有更高的传输速率、更强的稳定性。 * 温度传感器支持 :ntc100k 和PT1000温度传感器。 * 支持两路可控风扇,最大输出电流可达1A * 板载LIS2DW加速度传感器 * 预留高压probe接口、板载2209驱动,支持多种调平传感器,例如BLtouch、klicky、Voron Tap、PL08n等 * 支持12-24V电压、15A电流输入,增大加热棒端口,额定电流10A ## 1.2 新增功能[​](#12-新增功能 "1.2 新增功能的直接链接") * 新增1米电源/信号连接线,连接线使用双绞设计,抗干扰性能更强 ## 1.3 产品参数[​](#13-产品参数 "1.3 产品参数的直接链接") * MCU :Raspberry Pi rp2040,Dual core ARM Cortex-M0+\@133MHz * 连接接口使用XT30(2+2)连接器支持15A电流,峰值30A * 固件 :Klipper * 输入电压 :DC12V-24V * 逻辑电压 :DC3 .3V * 板载传感器 :LIS2DW * 加热棒接口: 加热棒(HEAT0),10A * 扩展接口: 高压probe接口,EndStop * 风扇接口:两路DC可控风扇 * 电机驱动:板载TMC2209 * 温度传感器:一路100K NTC或PT1000(TH0) ## 产品注意事项[​](#产品注意事项 "产品注意事项的直接链接") | 输出端口 | 24V电源下最大电流 | 12V电源下最大电流 | | -------- | ----------------- | ----------------- | | 加热端口 | 5A | 2.5A | | 风扇端口 | 1A | 0.5A | --- # 加速度计使用 ## 使用教程[​](#使用教程 "使用教程的直接链接") # 加速度计测试与校准 ## 依赖包安装[​](#依赖包安装 "依赖包安装的直接链接") 注意事项 * 若设备已运行 **FlyOS-FAST 系统**,系统已预装所需依赖,**可跳过此步骤**。 * 若使用 **非 FLY 上位机**,请务必完成以下安装操作。 * 建议使用 MobaXterm、PuTTY 等 SSH 工具连接后再进行操作。 * 本教程基于树莓派,其他平台仅供参考。 ### 安装步骤[​](#安装步骤 "安装步骤的直接链接") 1. 依次执行以下命令安装依赖包。 2. 安装时间取决于 CPU 性能和网络状况,通常需要 **10–20 分钟**,请耐心等待直至安装完成。 3. 若设备内存 (RAM) 过小,可能会导致安装失败。 **步骤一:安装系统依赖包** ``` sudo apt install python3-numpy python3-matplotlib libatlas-base-dev ``` **步骤二:安装 Klipper 虚拟环境依赖包** ``` ~/klippy-env/bin/pip install matplotlib numpy ``` *** ## 加速度计测试[​](#加速度计测试 "加速度计测试的直接链接") ### 前提条件[​](#前提条件 "前提条件的直接链接") * 打印机已执行 **归位 (Homing)** 操作。 * 确保 Klipper 配置文件中已正确启用加速度计。 ### 测试指令[​](#测试指令 "测试指令的直接链接") 在 Klipper 控制台中输入以下命令: ``` ACCELEROMETER_QUERY ``` 若连接了多个加速度计,可指定芯片进行测试: ``` ACCELEROMETER_QUERY CHIP= ``` 请将 `` 替换为实际的加速度计标识(如 `adxl345`)。 提示 部分旧版 Klipper 需要执行两次 `ACCELEROMETER_QUERY` 后才能获取到加速度数据。 ### 常见问题处理[​](#常见问题处理 "常见问题处理的直接链接") 断电操作 检查、重新插拔或更换加速度计线束前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 ADXL/LIS2DW/MPU/ICM 模块或触碰裸露引脚。 1. **首次执行失败**:部分 Klipper 版本可能存在命令识别延迟,若首次执行未返回数据,请**重新执行一次**相同命令。 2. **命令无法识别**:如多次执行仍提示未知命令,可能是 Klipper 版本过低导致,建议: * 更新 Klipper 至最新版本 * 或重新刷写最新版系统(如 FlyOS-FAST 最新版本) 3. **Invalid adxl345 id**:若提示 `Invalid adxl345 id (got xx vs e5)`,先立即重新执行一次 `ACCELEROMETER_QUERY`;如果仍报错,优先更换成品加速度计线束、转接板或传感器模块交叉测试,不建议客户自行补焊或维修焊点。 4. **Invalid lis2dw / mpu / icm id**:若使用 LIS2DW、MPU9250、ICM20948 等传感器,请确认配置段名称、通信总线和芯片型号与实际硬件一致。 5. **Unable to obtain response / timeout**:通常表示上位机与加速度计 MCU 通信异常,请检查 USB/CAN 连接、`[mcu]` ID、`cs_pin`、`spi_bus` 或 `i2c_bus`。 #### BatchBulkHelper / spi\_transfer\_response[​](#adxl-spi-response "BatchBulkHelper / spi_transfer_response的直接链接") **报错信息**:执行 `ACCELEROMETER_QUERY`、`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 时出现: ``` BatchBulkHelper start callback error BatchBulkHelper stop callback error Unable to obtain 'spi_transfer_response' response ``` **报错性质**:`spi_transfer_response` 表示 Klipper 没有收到 SPI 请求的应答,但它不一定是第一根因。近期日志案例中,MCU 先因 `Timer too close` 进入 shutdown,随后 ADXL 批量采集才提示无法取得 SPI 应答;此时应先处理前面的 shutdown,而不是直接判断加速度计损坏。 **排查方法**: 1. 在完整 `klippy.log` 中找到第一条 `BatchBulkHelper`,再向上搜索更早的 `Timer too close`、`Lost communication with MCU`、`MCU shutdown` 或 `Serial connection closed`。 2. 如果存在更早的 shutdown,先按 [系统与超时报错](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-system#timer-too-close) 处理根因;后面的 `spi_transfer_response` 通常会随连接恢复而消失。 3. 如果没有更早的 shutdown,且每次执行 `ACCELEROMETER_QUERY` 都立即报错,请核对加速度计的 `[mcu]`、`cs_pin`、`spi_bus` 和芯片类型。 断电操作 重新插拔或更换加速度计线束、转接板或模块前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔 SPI/I2C 线束或触碰裸露引脚。 4. 断电后更换成品线束、转接板或传感器模块交叉测试;不要让普通客户自行补焊或飞线。 5. 如果只在共振测试开始或结束时出现,临时关闭摄像头、屏幕和其他高负载服务后复测,并保留完整日志供进一步分析。 ### 结果判断[​](#结果判断 "结果判断的直接链接") * **正常输出**:若返回连续的数据流(如下图所示),表明加速度计工作正常,可进行共振补偿测量。 * **错误输出**:若提示超时、无数据或通信错误,请依次检查: 1. 断电后确认加速度计接线是否牢固 2. 配置文件中传感器配置与 SPI 是否正确 3. 优先通过更换成品线束、转接板或传感器模块判断供电/通信问题 Loading... ### 共振测试常见报错[​](#共振测试常见报错 "共振测试常见报错的直接链接") | 报错信息 | 常见原因 | 处理方法 | | ----------------------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | | `No data received from accelerometer` | 加速度计未连接、SPI/I2C 线序错误、供电异常 | 先执行 `ACCELEROMETER_QUERY` 确认通信正常,再重新测试 | | `Insufficient axis data for shaper calibration` | 运动范围太小、加速度过低、传感器读数噪声过大 | 增大测试范围或 `accel_per_hz`,检查加速度计是否固定牢靠 | | `Frequency range too narrow` | 皮带过松、机器机械共振频率超出测量范围 | 检查皮带张力、机械结构紧固;必要时调低 `max_freq` 或提高 `accel_per_hz` | | 共振图全是噪声,无明显峰值 | 传感器未固定牢靠、风扇振动干扰、线束晃动 | 断电后重新固定传感器,测试时关闭风扇,信号线与电机线分开走线 | | `SHAPER_CALIBRATE` 执行后无输出或报错退出 | Python 依赖缺失(numpy/matplotlib)、内存不足 | 按本文开头的依赖安装步骤补装;大尺寸共振图计算可能需要更大内存 | | `Cannot test Z axis together with other axes` | `TEST_RESONANCES` 同时指定了 Z 轴和 X/Y 轴 | Z 轴需要单独测试,不要与 X/Y 混合 | | `Invalid POINT parameter` | `POINT=` 坐标格式错误,或缺少 `x,y,z` 三个数值 | 按 `POINT=100,100,20` 这种格式填写 | | `Invalid NAME parameter` | 输出名称为空、含特殊字符或与命令要求不匹配 | 使用英文、数字、下划线或短横线命名 | | `No accelerometer measurements found` | 测试过程中没有采集到有效加速度数据 | 先执行 `ACCELEROMETER_QUERY`,再检查传感器固定和通信 | | `Unsupported output` | `OUTPUT=` 参数填写了不支持的类型 | 按 Klipper 支持的输出类型填写,常用为 `resonances` | 如果 `ACCELEROMETER_QUERY` 正常但共振测试始终失败,优先用以下顺序排查: 1. 断电后确认加速度计表面紧贴被测部件,没有缓冲材料或双面胶松动。 2. 测试时临时关闭模型散热风扇、热端风扇和腔体风扇。 3. 确保测试过程中没有线束拉扯传感器或被运动轴勾住。 4. 增大测试振幅:在 `[resonance_tester]` 中将 `accel_per_hz` 从默认 `75` 逐步提高到 `100–150`。 5. 如果使用工具板(USB/CAN)上的加速度计,确认通信线未靠近电机线或热床线。 *** ## 加速度计方向配置[​](#accelerometer-orientation "加速度计方向配置的直接链接") 加速度计的安装方向会影响共振测量结果。如果 `axes_map` 配置与实际安装方向不一致,`TEST_RESONANCES` 或 `SHAPER_CALIBRATE` 会给出错误的频率响应,导致 Input Shaper 补偿失效。 ### 什么是 axes\_map[​](#what-is-axes-map "什么是 axes_map的直接链接") `axes_map` 用于将加速度计自身的坐标轴映射到打印机的 X/Y/Z 坐标。不同工具板、喷头外壳或加速度计模块的安装方向可能不同,因此必须根据实际安装方式配置。 如果没有填写 `axes_map`,Klipper 默认使用 `x,y,z`,即加速度计的 X/Y/Z 直接对应打印机的 X/Y/Z。 ``` [adxl345] cs_pin: toolboard:PB12 spi_bus: spi1 axes_map: x,y,z # 根据实际安装方向调整 ``` `axes_map` 支持交换轴顺序和取反(在轴前加 `-`): | 安装情况 | 配置示例 | | -------------------------- | ------------------ | | 加速度计 X/Y 与打印机一致 | `axes_map: x,y,z` | | 加速度计旋转 90°,X/Y 互换 | `axes_map: y,x,z` | | 加速度计倒装,Z 轴反向 | `axes_map: x,y,-z` | | 加速度计侧装,Y/Z 互换 | `axes_map: x,z,y` | 提示 `[adxl345]`、`[lis2dw]`、`[mpu9250]`、`[bmi160]`、`[icm20948]` 等加速度计配置段都使用相同的 `axes_map` 规则。 ### 通过 ACCELEROMETER\_QUERY 初步判断方向[​](#check-orientation-with-query "通过 ACCELEROMETER_QUERY 初步判断方向的直接链接") 静止状态下,加速度计会检测到约 1g 的重力加速度。通过观察哪个轴显示接近 ±1g,可以初步判断加速度计的朝向: 1. 执行 `ACCELEROMETER_QUERY`,记录各轴读数。 2. 将打印机(或加速度计)分别沿 X、Y、Z 方向倾斜,观察哪个轴的读数变化最大。 3. 如果倾斜打印机 X 方向时,加速度计的 Y 轴读数变化最大,说明需要交换 X/Y 映射。 4. 如果某轴读数符号相反(如倾斜正向时读数为负),则在对应轴前加 `-`。 ### 通过 Shake\&Tune 验证方向[​](#verify-with-shaketune "通过 Shake\&Tune 验证方向的直接链接") 前提 以下方法需要已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/DebugDoc/addon/shaketune) 插件。FlyOS-Fast v1.3.5 及以上版本已预装。 Shake\&Tune 生成的频谱图可以直观验证 `axes_map` 是否正确: 1. 分别执行 X 轴和 Y 轴的共振测试: ``` TEST_RESONANCES AXIS=X TEST_RESONANCES AXIS=Y ``` 2. 查看生成的频谱图: * **方向正确**:X 轴测试的频谱图应显示清晰的 X 方向共振峰,Y 轴测试显示清晰的 Y 方向共振峰,两者频率通常不同。 * **方向错误**:如果 X 轴测试和 Y 轴测试的频谱图几乎相同,或共振峰位置异常接近,说明 `axes_map` 可能需要调整。 3. 修改 `axes_map` 后执行 `RESTART`,再重新运行测试对比结果。 注意 `axes_map` 配置错误不会导致通信报错,`ACCELEROMETER_QUERY` 仍然能正常返回数据。只有共振测量结果会异常,因此容易被忽略。 > **axes\_map 详细排查**:[查看共振补偿与压力提前配置问题中的 axes\_map 章节](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa#adxl-axes-map) *** ## 加速度计校准[​](#加速度计校准 "加速度计校准的直接链接") 使用 Shake\&Tune 获得更详细的分析 如果系统已安装 [Klippain Shake\&Tune](https://mellow.klipper.cn/docs/FLYOS/flyos-fast/plugins/shaketune) 插件,`TEST_RESONANCES` 命令会自动生成频谱图表和皮带对比图,比内置 `SHAPER_CALIBRATE` 提供更直观的可视化分析。FlyOS-Fast v1.3.5 及以上版本已预装该插件。 ### 校准步骤[​](#校准步骤 "校准步骤的直接链接") 1. 确保打印机已 **归位**。 2. 在控制台输入以下命令,开始自动校准 X、Y 轴: ``` SHAPER_CALIBRATE ``` 3. 校准完成后,保存配置: ``` SAVE_CONFIG ``` ### 单轴校准[​](#单轴校准 "单轴校准的直接链接") 若只需校准单个轴,可使用: ``` SHAPER_CALIBRATE AXIS=X ``` 或将 `X` 替换为 `Y`。 安全提示 校准过程中打印机可能产生剧烈振动,若振动过大,请立即按下急停按钮或发送 `M112` 命令紧急停止。 ### 调节振动强度[​](#调节振动强度 "调节振动强度的直接链接") 若测试时振动过于强烈,可适当降低 `accel_per_hz` 参数值(默认 `75`): ``` [resonance_tester] accel_per_hz: 50 ``` *** > **配置与调优问题**:加速度计硬件正常但启用共振补偿后效果不佳、`shaper_freq` 设置不当、Pressure Advance 与 Input Shaper 冲突等问题,请参考 [共振补偿与压力提前配置问题](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper-err-shaper-pa)。 **说明**:以上步骤适用于大多数基于 Klipper 的 3D 打印机共振补偿配置。请根据实际硬件与系统环境进行调整。 --- # FLY-TOOL-LITE CAN Bootloader(Katapult)恢复 仅用于救砖恢复 FLY-TOOL-LITE CAN 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 损坏后的救砖恢复。 ## 固件说明[​](#固件说明 "固件说明的直接链接") 名称说明 Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。 Katapult 是用于引导和更新 Klipper 的 Bootloader: * Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。 * 支持的工具板可以通过快速双击 `RESET` 按键进入 Katapult;进入后通常会有状态灯闪烁。 * CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。 * CAN 固件还必须选择正确的总线速率,常见速率为 `500K` 和 `1M`。 - FLY-TOOL-LITE CAN 使用 CAN 通信。 - 本页仅提供 `1M` CAN 速率的 Katapult 固件。 CAN 速率必须一致 本固件只能用于 `1M` CAN 网络。上位机、主板和同一总线上的全部 CAN 设备必须使用相同速率。 ## 进入烧录模式[​](#进入烧录模式 "进入烧录模式的直接链接") 断电操作 开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 图中标出的是 `BOOT` 按键: 1. 保持工具板完全断电。 2. 按住 `BOOT` 按键。 3. 使用带数据传输功能的 USB 线连接工具板与电脑或上位机。 4. 设备被识别后松开 `BOOT` 按键。 Loading... ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * Windows * Linux / FLYOS 下载 FLY-TOOL-LITE CAN Katapult 固件: * [**FLY\_TOOL-LITE\_CANBOOT\_CAN\_1M.uf2**](https://cnb.cool/3dmellow/public/FLY-Firmware/-/git/raw/master/ToolBoard/TOOL-LITE/FLY_TOOL-LITE_CANBOOT_CAN_1M.uf2?v=1a7d27e264ca) Windows 默认可能隐藏文件扩展名。下载后请确认文件扩展名未被修改,不要保存成 `.txt` 或其他扩展名。 固件在仓库中的目录为: ``` FLY-Firmware/ToolBoard/TOOL-LITE ``` 1. 确认工具板已经进入 UF2 烧录模式,电脑中出现名为 `RPI-RP2` 的可移动磁盘。 Loading... 2. 松开 `BOOT` 按键或移除 BOOT 跳线。 Windows 文件后缀显示 Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,并确认使用的是 `.uf2` 固件;不要修改固件后缀名。 3. 将需要烧录的 `.uf2` 固件复制到 `RPI-RP2` 磁盘。 Loading... 4. 固件写入完成后,`RPI-RP2` 磁盘会自动消失,表示 UF2 固件已经烧录完成。 1) 编译 RP2040 烧录工具。已经执行过此步骤时可以跳过。 ``` cd ~/klipper/lib/rp2040_flash/ make ``` 2. 确认工具板已经进入 UF2 烧录模式。 ``` lsusb ``` 如果输出中出现 `2e8a:0003`,表示设备已进入 RP2040 烧录模式。不同系统显示的设备名称可能不同,应以 USB ID 为准。 Loading... 未识别到设备 没有出现 `2e8a:0003` 时不要继续烧录。请重新断开工具板电源,并按本页“进入烧录模式”的步骤重新操作。 3. 拉取或更新预编译固件仓库。 * Linux * FLYOS 首次下载: ``` cd ~ git clone https://cnb.cool/3dmellow/FLY-Firmware.git ``` 已经下载过时更新仓库: ``` git -C ~/FLY-Firmware pull --ff-only ``` 首次下载: ``` git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware ln -s /data/FLY-Firmware /root/FLY-Firmware ``` 已经下载过时更新仓库: ``` git -C /data/FLY-Firmware pull --ff-only ``` 4. 执行以下命令烧录 `1M` CAN 固件: ``` sudo ~/klipper/lib/rp2040_flash/rp2040_flash ~/FLY-Firmware/ToolBoard/TOOL-LITE/FLY_TOOL-LITE_CANBOOT_CAN_1M.uf2 ``` 5. 出现烧录成功提示后再进行断电操作。 Loading... ## 完成烧录[​](#完成烧录 "完成烧录的直接链接") 断电操作 烧录完成后,先断开工具板 USB 和外部供电,再恢复正常接线。不要在通电状态下插拔工具板线束。 重新上电后,Katapult 正常启动时状态灯会闪烁: Loading... --- # CAN 固件编译 ## 开始编译[​](#开始编译 "开始编译的直接链接") ## 固件编译简明指南[​](#固件编译简明指南 "固件编译简明指南的直接链接") ### 注意事项[​](#注意事项 "注意事项的直接链接") * **网络**: 确保上位机(树莓派等)已联网 * **登录方式**: 必须使用 **SSH** 通过网络登录,禁用串口 * **输入法**: 保持键盘为**英文半角模式** *** ### SSH登录与用户切换[​](#ssh登录与用户切换 "SSH登录与用户切换的直接链接") 使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。 #### 切换用户:[​](#切换用户 "切换用户:的直接链接") * **普通系统**(树莓派官方系统等)
禁止使用 `root`,需切换到普通用户: ``` su <用户名> ``` * **FLY上位机**(FlyOS-FAST系统)
仅支持 `root` 用户登录(密码: `mellow`) *** ## 固件编译操作指南[​](#固件编译操作指南 "固件编译操作指南的直接链接") 在 Klipper 固件配置界面中**仅支持键盘操作**,无法使用鼠标。 | 按键 | 功能 | | ---------------- | ------------------------------- | | **↑ / ↓** | 上下移动光标,选择菜单项 | | **Enter / 空格** | 确认选择、勾选选项或进入子菜单 | | **ESC** | 返回上一级菜单 | | **Q** | 退出配置界面 | | **Y** | 退出时,如有提示则按 Y 保存配置 | ## 开始固件编译[​](#开始固件编译 "开始固件编译的直接链接") 下面介绍如何编译固件: 1. 连接到 SSH,输入下面的命令并按 `Enter`: ``` cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig ``` 其中,`rm -rf ~/klipper/.config && rm -rf ~/klipper/out` 用于清除之前的编译配置与固件; `make menuconfig` 用于打开 Klipper 固件配置界面。 2. 按照下方顺序逐项设置,每完成一项再继续下一项。 1启用 Enable extra low-level configuration options (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 3Processor model 选择 rp2040 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 4Bootloader offset 选择 16KiB bootloader (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 5Communication Interface 选择 CAN bus (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 6CAN RX gpio number 设置为 1 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (1) CAN RX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 7CAN TX gpio number 设置为 0 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (1) CAN RX gpio number (0) CAN TX gpio number \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 8CAN bus speed 默认使用 1M(1000000),无需修改 默认 CAN 速率为 **1M**,对应值 `1000000`,使用 1M 时无需修改。 * 1M:`1000000` * 500K:`500000` * 250K:`250000` 请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (1) CAN RX gpio number (0) CAN TX gpio number (1000000) CAN bus speed \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 9启用 Optimize stepper code for 'step on both edges' (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (1) CAN RX gpio number (0) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 10GPIO pins to set at micro-controller startup 设置为以下内容 Loading... (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (1) CAN RX gpio number (0) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (!gpio18) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu 11按 **Q** 键退出配置界面 (Top) Klipper Firmware Configuration \[\*] Enable extra low-level configuration options Micro-controller Architecture (Raspberry Pi RP2040/RP235x) ---> Processor model (rp2040) ---> Bootloader offset (16KiB bootloader) ---> Communication Interface (CAN bus) ---> (1) CAN RX gpio number (0) CAN TX gpio number (1000000) CAN bus speed \[\*] Optimize stepper code for 'step on both edges' (!gpio18) GPIO pins to set at micro-controller startup \[Space/Enter] Toggle/enter\[?] Help\[/] Search \[Q] Quit (prompts for save)\[Esc] Leave menu **GPIO 状态说明:**`GPIO state at micro-controller startup` 是 FLYOS-Klipper 的扩展功能,本页面仅作说明。普通固件编译请保持 `Not set`,无需进入或修改;如需了解全部 GPIO 启动状态,请查看 [GPIO 启动状态使用说明](https://mellow.klipper.cn/docs/DebugDoc/baodian/firmware#gpio-startup-state)。 12出现 **Save configuration** 时按 **Y** 保存配置 Quit Save configuration? (Y)es(N)o(C)ancel 3. 完成上方最后两个步骤,按 `Q` 退出配置界面,再按 `Y` 保存配置。 4. 返回命令行后输入下面的命令并按 `Enter` 开始编译: ``` make -j4 ``` root\@flyos-11e5f8 \~/klipper # make -j4 Compiling out/src/../lib/can2040/can2040.o Compiling out/src/generic/canserial.o Compiling out/src/generic/canbus.o Compiling out/src/../lib/fast-hash/fasthash.o Compiling out/src/rp2040/hard\_pwm.o Compiling out/src/rp2040/spi.o Compiling out/src/rp2040/i2c.o Preprocessing out/src/rp2040/rpxxxx\_link.ld Building out/compile\_time\_request.o Version: XXXX Linking out/klipper.elf Creating bin file out/klipper.bin 终端末尾出现 `Linking out/klipper.elf` 和 `Creating bin file out/klipper.bin`,即表示编译成功。 实际编译时,部分 **Compiling** 行和 **Version** 会随 Klipper 与系统版本变化。 ## 烧录固件[​](#烧录固件 "烧录固件的直接链接") * 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图 * 请注意拨码是否拨到对应地方 ## KF接口的示意图[​](#kf接口的示意图 "KF接口的示意图的直接链接") Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## 查询CANBus UUID[​](#查询canbus-uuid "查询CANBus UUID的直接链接") 操作前须知 * 建议在**非打印状态**下执行ID查询和固件刷写操作,避免干扰打印过程。 * 同一主板/工具板的Katapult(CANBoot)固件与Klipper固件使用**相同的CAN ID**。 前提条件 请确保满足以下条件,否则可能无法正常搜索到CAN ID: 1. **上位机CAN网络已正确配置** 2. **工具板CAN速率与上位机完全一致**(速率不一致将无法通信) 3. 执行 `lsusb` 命令后能看到 `1d50:606f` 设备(USB-CAN适配器) ### 搜索命令(根据系统选择)[​](#搜索命令根据系统选择 "搜索命令(根据系统选择)的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` ### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") #### 情况一:已刷Klipper固件的主板/工具板[​](#情况一已刷klipper固件的主板工具板 "情况一:已刷Klipper固件的主板/工具板的直接链接") * **显示效果**:显示一个CAN ID,并提示 `Application: Klipper` * **说明**:设备已运行Klipper固件,可以直接使用。此ID可能是主板ID也有可能是工具板ID. * **区分方法**:断开工具板的CAN连接线后重新搜索。如果该ID消失,则属于工具板;如果该ID仍在,则属于主板。 Loading... *** #### 情况二:主板 + 待烧录工具板[​](#情况二主板--待烧录工具板 "情况二:主板 + 待烧录工具板的直接链接") * **显示效果**:显示**两个**CAN ID * **说明**:主板运行Klipper固件,工具板运行CanBoot固件,等待烧录。 Loading... *** #### 情况三:UTOC + 待烧录工具板[​](#情况三--待烧录工具板 "情况三--待烧录工具板的直接链接") * **显示效果**:**UTOC本身不显示ID**,只显示工具板的ID * **说明**:UTOC 仅作为桥接器,需确保工具板处于CanBoot模式。 Loading... *** #### 情况四:无ID显示[​](#情况四无id显示 "情况四:无ID显示的直接链接") * **显示效果**:无任何ID显示 * **可能原因**: 1. CAN总线被Klipper占用 2. 上位机CAN0速率配置错误 3. 物理接线异常 4. 设备未进入CanBoot模式 Loading... *** 重要提示 * **待烧录状态**:工具板处于CanBoot模式时会显示 `Application: CanBoot` 且固件灯闪烁,此时可进行固件烧录。 * **ID占用处理**:如果设备已运行Klipper固件且ID已填入配置文件,ID将**不会显示**(被Klipper占用)。如需重新显示,需在配置中屏蔽该ID并**彻底断电重启**。 故障排查 如果无法查询到UUID,请参考: [CAN问题排查指南](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ## 固件烧录[​](#固件烧录 "固件烧录的直接链接") ### 烧录命令[​](#烧录命令 "烧录命令的直接链接") 1. 将下方命令中的 `241696050c56` 替换为您实际查询到的UUID 2. **注意**:`-u` 参数后需有空格 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**,请使用新指令: ``` python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper),请使用旧指令: ``` python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56 ``` ### 烧录成功确认[​](#烧录成功确认 "烧录成功确认的直接链接") 出现 **`CAN Flash Success`** 提示即表示烧录成功: Loading... ## 固件更新[​](#固件更新 "固件更新的直接链接") ### 更新方法[​](#更新方法 "更新方法的直接链接") 当需要更新固件时,只需: 1. 重新编译固件 2. 确保能查询到设备CAN ID(或Klipper已连接设备) 3. 执行相同的烧录命令 版本说明 * **FlyOS-FAST 1.3.8 及以上版本** 或 **2026年4月9日后更新过Klipper的系统**: ``` python3 ~/klipper/lib/katapult/flashtool.py -u ``` * **旧版本系统**(FAST 1.3.8之前 或 2026年4月9日前未更新Klipper): ``` python3 ~/klipper/lib/canboot/flash_can.py -u ``` ### 更新成功示例[​](#更新成功示例 "更新成功示例的直接链接") Loading... ``` ``` ## 确认固件是否启动[​](#确认固件是否启动 "确认固件是否启动的直接链接") * 如果固件正常启动LED会亮起来 Loading... --- 提示 请不要在打开网页翻译时修改配置 注意事项 请不要在打开网页翻译时修改配置 须知 请不要在打开网页翻译时修改配置 # 参考配置 ``` ##################################################################### # Notes ##################################################################### ## 工具板将使用以下几种配置,如果其他配置中使用到下面的配置可能会冲突 ## The tool plate will use the following configurations, ## and if the following configurations are used in other configurations, conflicts may occur. ## [resonance_tester] && [extruder] && [tmc2209 extruder] && [fan] && [heater_fan my_hotend_fan] ## [probe] && [bltouch] && [stepper_x] ##################################################################### # Master ID Configuration ##################################################################### #TOOL-LITE配置 [mcu TOOL-LITE] canbus_uuid: #搜索id命令 #~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 #~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can1 #232配置 # [mcu TOOL-LITE] # serial: /dev/serial/by-path/* # baud: 250000 # restart_method:command #搜索id命令 #ls /dev/serial/by-path/* [temperature_sensor TOOL-LITE] # TOOL-LITE主板温度(可自行重命名) sensor_type: temperature_mcu # 关联mcu(默认) [force_move] enable_force_move: true [extruder] step_pin:TOOL-LITE:gpio24 dir_pin:TOOL-LITE:gpio23 #ORBITER V2.5 使用ldo36电机在pin前面加! (!是大写的) enable_pin:!TOOL-LITE:gpio29 ##挤出机步进值设置 rotation_distance: 32.7 #rotation_distance步进值 #---------------T8齿轮电机-------------- #VZ-Hextrudort-Low plus 使用moons/LDO 36电机17mm/20MM T8步进值:29.7 #VZ-Hextrudort-Low 使用moons电机T8步进值:22.5 #VZ-Hextrudort-Low 使用LDO36 20MM/17MM 电机T8步进值:23.37 #Sherpa Micro 使用LDO36 20MM/17MM 电机 T8步进值:23.37 #Sherpa Micro 使用moons电机T8步进值:22.5 #---------------T10齿轮电机-------------- #Sherpa Micro 使用moons电机T10步进值:23.8425 #VZ-Hextrudort-Low 使用moons电机T10步进值:23.8425 #VZ-Hextrudort-Low 使用LDO36 17MM/20MM 电机T10步进值: #VZ-Hextrudort-Low plus T10步进值:29.11 #ORBITER V2.5步进值:35.5 ## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length. ## 校准步进值: 22.44=旧值22*实际值102/目标值100 #gear_ratio:50:8 #VZ-Hextrudort-Low plus 减速比50:8(10齿电机8改10) ## 减速比(伽利略齿比7.5:1 并且将这行注释掉;BMG为50:17,输出轴在前,输入轴在后) microsteps:16 full_steps_per_rotation: 200 nozzle_diameter:0.400 filament_diameter:1.75 sensor_type:NTC 100K MGB18-104F39050L32 ## Type of sensor - common thermistors are (Generic 3950, ATC Semitec 104GT-2) ## 传感器类型-常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT-2) ###------------------------------------------------------------------ ## If using PT1000, please connect the jumper next to the thermal sensitivity. ## 如果使用PT1000请将热敏旁边跳线接上 # sensor_type:PT1000 # sensor_pin:SHT36:gpio27 # pullup_resistor: 1000 sensor_pin:TOOL-LITE:gpio28 heater_pin:TOOL-LITE:gpio6 min_temp:-235 max_temp:350 max_power:1.0 min_extrude_temp: 170 pressure_advance: 0.05 pressure_advance_smooth_time: 0.040 max_extrude_only_distance: 200.0 # 挤出流量报错可以注释这个,但是建议重新切片 max_extrude_cross_section:200 #喷嘴温度PID校准命令: "PID_CALIBRATE HEATER=extruder TARGET=245 control:watermark [tmc2209 extruder] uart_pin:TOOL-LITE:gpio25 interpolate:False run_current: 0.5 sense_resistor:0.110 [lis2dw] cs_pin:TOOL-LITE:gpio9 spi_software_sclk_pin:TOOL-LITE: gpio10 spi_software_mosi_pin:TOOL-LITE: gpio11 spi_software_miso_pin:TOOL-LITE:gpio8 [resonance_tester] accel_chip: lis2dw probe_points: 150, 150, 20 # Somewhere slightly above the middle of your print bed # 在打印床的中间稍微偏上的位置 min_freq: 5 max_freq: 133 accel_per_hz: 75 hz_per_sec: 1 [fan] #模型风扇 pin:TOOL-LITE:gpio13 max_power:0.6 ###------------------------------------------------------------------ [heater_fan my_hotend_fan] #喉管风扇 pin:TOOL-LITE:gpio14 heater: extruder heater_temp: 50.0 fan_speed: 0.2 ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: TOOL-LITE:gpio19 #高压pin脚 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 ## https://www.klipper3d.org/Config_Reference.html?h=probe#probe # [probe] # pin: ^TOOL-LITE:gpio22 # x_offset: 0 # y_offset: 25.0 # z_offset: 0 # speed: 10.0 # samples: 3 # samples_result: median # sample_retract_dist: 4.0 # samples_tolerance: 0.010 # samples_tolerance_retries: 3 ## https://www.klipper3d.org/Config_Reference.html?h=probe#bltouch #[bltouch] #sensor_pin: ^TOOL-LITE:gpio22 # 信号接口 #control_pin: TOOL-LITE:gpio7 # 舵机控制 #x_offset: -26.1 # X轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #y_offset: -15.3 # Y轴-传感器相对喷嘴偏移量,需要自行确定偏移量 #z_offset: 2.1 # Z轴-传感器相对喷嘴偏移量,需要自行确定偏移量 # #自定义舵机配置 # [servo my_servo] # pin:TOOL-LITE:gpio7 # # 控制伺服的PWM输出引脚. # # 必须提供此参数. # maximum_servo_angle: 180 # # 这个伺服可以设定的最大角度(以度为单位). # # 默认是180度. # minimum_pulse_width: 0.0005 # # 最小脉宽时间(以秒为单位).这应该对应于0度的角度. # # 默认是0.001秒. # maximum_pulse_width: 0.0025 # # 最大脉宽时间(以秒为单位).这应该对应于maximum_servo_angle的角度. # # 默认是0.002秒. # initial_angle:0 # # 初始设定的伺服角度(以度为单位). # # 默认启动时不发送任何信号. # #initial_pulse_width: # # 初始设定的脉宽时间(以秒为单位).(只有在未设定initial_angle时才有效). # # 默认启动时不发送任何信号. ``` --- # 引脚分布 说明 * 本页列出 FLY Tool-Lite CAN 工具板烧录 Klipper 固件后的引脚分布,引脚号以产品原理图为准。 * `UART/CS` 为驱动通信引脚:使用 TMC2209 时作为 UART,使用 SPI 驱动时作为片选 `CS`,同一引脚复用。 * `EN` 为使能引脚,Klipper 配置中通常为低电平有效(`enable_pin` 带 `!` 前缀)。 Loading... *** ## 驱动引脚[​](#驱动引脚 "驱动引脚的直接链接") | 驱动 | STEP | DIR | EN | UART/CS | 限位 | | ------- | ------ | ------ | ------ | ------- | ---- | | DRIVER0 | gpio24 | gpio23 | gpio29 | gpio25 | - | ## 加热[​](#加热 "加热的直接链接") | 功能 | 引脚 | | ---------- | ----- | | 挤出头加热 | gpio6 | ## 温度传感器[​](#温度传感器 "温度传感器的直接链接") | 功能 | 引脚 | | ---------- | ------ | | 挤出头热敏 | gpio28 | 支持的热敏类型 热敏口默认支持接入 NTC 热敏(100K),`sensor_type` 推荐配置为 `Generic 3950`。 > **Klipper 内置可直接接入的 `sensor_type` 清单及各型号适用场景**:[热敏配置方法](https://mellow.klipper.cn/docs/DebugDoc/reference_configuration/config/thermistor#builtin-sensor-type) K 型热电偶、PT100 等需要额外转换芯片,不能直接接入热敏口。 ## 风扇[​](#风扇 "风扇的直接链接") | 功能 | 引脚 | | ------------ | ------ | | 模型冷却风扇 | gpio13 | | 喉管散热风扇 | gpio14 | ## 加速度计(SPI)[​](#加速度计spi "加速度计(SPI)的直接链接") 加速度计使用软件 SPI,需单独指定三个信号引脚: | 信号 | 引脚 | | ---- | ------ | | CS | gpio9 | | MOSI | gpio11 | | MISO | gpio8 | | SCLK | gpio10 | ## 探针与限位[​](#探针与限位 "探针与限位的直接链接") | 功能 | 引脚 | | ------------------ | ------ | | 通用输入0 | gpio17 | | 通用输入1 | gpio20 | | 通用输入2 | gpio16 | | Probe / 通用输入 | gpio19 | | HV-IN / 通用输入 | gpio22 | | BLTouch / 舵机控制 | gpio7 | ## PWM[​](#pwm "PWM的直接链接") | PWM 功能 | 引脚 | | ------------------ | ----- | | BLTouch / 舵机控制 | gpio7 | --- # 工具板ID读取查看 提示 请不要在打开网页翻译时修改配置 注意事项 请不要在打开网页翻译时修改配置 须知 请不要在打开网页翻译时修改配置 * CANBus UUID获取 ## KF接口的示意图[​](#kf接口的示意图 "KF接口的示意图的直接链接") Loading... 断电操作 开始前请完全关闭打印机并断开电源供应,同时断开可能给 CAN 节点供电的 USB 连接。不要在通电状态下插拔线束、调整终端电阻或触碰端子。 这里的“断电测量”不是断开 CAN 线。测量时应保持 CAN 线和总线上的各节点按正常使用方式连接,否则测到的可能只是单个节点或单个终端电阻,不能代表整条 CAN 总线。 将万用表调至电阻档,测量 CAN-H 与 CAN-L 之间的阻值: | 参考读数 | 判断与处理 | | --------- | ------------------------------------------------------------------ | | 约 `60Ω` | 正常,通常表示总线物理两端各有一个 `120Ω` 终端电阻 | | 约 `120Ω` | 通常只有一个终端电阻生效,请按产品接线图启用另一物理末端的终端电阻 | | 约 `40Ω` | 通常有三个终端电阻生效,请按产品接线图关闭多余的终端电阻 | 以上数值仅供参考,万用表精度、表笔接触和线束状态都会造成测量误差。判断重点是读数接近哪个范围,以及调整终端电阻后读数的变化趋势,不要求与表中数值完全一致。 Loading... ## CANBus UUID 获取[​](#canbus-uuid-获取 "CANBus UUID 获取的直接链接") ### 准备工作[​](#准备工作 "准备工作的直接链接") 重要前提 * **工具板状态**:确保工具板已刷入 `Klipper-can` 固件或处于 `Katapult-can` 模式 * **注意事项**:本教程仅用于**工具板ID**搜索,**不适用于主板ID**搜索 * **连接要求**:工具板必须连接到以下任一设备: * `UTOC` 模块 * 刷有 `USB桥接CAN` 固件的主板 * **供电要求**:部分主板仅连接 USB 时无法搜索到工具板,需要先完全断电,再按照主板文档接入主板支持的 `12V-24V` 低压电源,重新上电后才能搜索到工具板 ID * **最终连接**:上述设备需连接到上位机 ### CAN网络配置要求[​](#can网络配置要求 "CAN网络配置要求的直接链接") * **默认配置**:本教程假设上位机已配置好CAN网络 * **Fly用户**:如果使用**Fly上位机**并运行**Fly-FAST**系统,CAN已默认配置(速率1Mbps) * **首次使用**:请务必先阅读下方教程: [CAN配置教程](https://mellow.klipper.cn/docs/DebugDoc/faq/klipper_can) ### 连接 SSH[​](#连接-ssh "连接 SSH的直接链接") * 通过网络登录到SSH(**请勿使用串口登录**) * 确保上位机与CAN网络设备连接正常 #### 搜索 CAN ID[​](#搜索-can-id "搜索 CAN ID的直接链接") * 普通上位机搜索指令 ``` ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 ``` * FLY上位机搜索指令 ``` python3 ~/klipper/scripts/canbus_query.py can0 ``` #### 搜索结果说明[​](#搜索结果说明 "搜索结果说明的直接链接") CANID * 注意事项: 主板ID已经在之前文档中配置到了Klipper中, 正常情况是无法搜索出来主板的`CANID` * 快速验证方法:若需确认, 请先断开主板与工具板之间的 CAN 连接线, 然后重新执行搜索 - 执行搜索命令后,可能出现以下几种情况: | 结果显示 | 状态说明 | 后续操作 | | ------------------------------------ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `Application: Klipper` | 设备已刷入Klipper固件 | 可直接使用该ID | | `Application: CANBOOT` 或 `Katapult` | 设备处于Bootloader模式 | 需刷写Klipper固件后才能使用 | | `Total 0 uuids found` | 未找到任何设备 | 请检查以下问题:
1. CAN网络配置是否正确
2. CAN速率是否一致(默认1Mbps)
3. 是否已在配置中使用该ID(需先屏蔽然后保存断电重启) | Loading... 关于重复ID 如果设备ID已在 `printer.cfg` 中配置,则不会显示在搜索结果中。如需重新搜索,请: 1. 在配置文件中注释掉该设备ID 2. 保存配置并重启Klipper 3. 断电重启所有设备 ### 配置 CAN 设备 ID[​](#配置-can-设备-id "配置 CAN 设备 ID的直接链接") #### 1. 获取配置文件[​](#1-获取配置文件 "1. 获取配置文件的直接链接") 根据使用的Web界面,找到 `printer.cfg` 配置文件: | | | | --------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | **Fluidd**
点击左侧导航栏的 `{...}` 图标,找到 `printer.cfg`Loading... | **Mainsail**
点击顶部导航栏的 `机器`,找到 `printer.cfg`Loading... | #### 2. 添加设备配置[​](#2-添加设备配置 "2. 添加设备配置的直接链接") 在 `printer.cfg` 中添加工具板配置: ``` [mcu toolboard] canbus_uuid: <这里填写查询到的ID> ``` 配置说明 * `toolboard` 为工具板名称,请根据实际情况修改 * 如果是主板ID,配置段应为 `[mcu]` * 正常配置中,主板使用 `[mcu]`,工具板使用 `[mcu toolboard]` #### 3. 保存并重启[​](#3-保存并重启 "3. 保存并重启的直接链接") 1. 点击右上角的 **SAVE & RESTART** 按钮 2. 系统将自动保存配置并重启Klipper Loading... 注意 文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。 --- # 三维模型与原理图 信息 * 本文档提供以下几种资料 * 主板原理图 * 主板三维模型 ## Fly-TOOL-LITE资料[​](#fly-tool-lite资料 "Fly-TOOL-LITE资料的直接链接") * 点击下方网盘链接 * Loading... --- # TOOL-LITE Loading... # 主板参考接线 注意事项 由于图片分辨率太高,在网页上浏览无法看清,请将鼠标光标放在接线图上方,单击右键,选择图片另存为 ,将图片保存到桌面再查看!!! Loading... --- # 各类支架 提示 * 正在更新,可能有遗漏 * 如果有更好的支架可以联系我们 ## 水冷背板支架[​](#水冷背板支架 "水冷背板支架的直接链接") * 水冷背板支架 * 请注意这是一套模型 * 点击下方下载链接 * Loading... ## `FluxHeat`热端与挤出机模型[​](#fluxheat热端与挤出机模型 "fluxheat热端与挤出机模型的直接链接") * `FluxHeat`热端模型 * 点击下方下载链接 * Loading... ## --- # 热端支架 ## 适用VORON2.4与VORON Trident[​](#适用voron24与voron-trident "适用VORON2.4与VORON Trident的直接链接") ### 适用于鱼雷热端[​](#适用于鱼雷热端 "适用于鱼雷热端的直接链接") * 来源`https://github.com/Lzhikai/SIBOOR-Voron-Trident-June` * 点击下方下载链接 * Loading... ### 适用Heatcore4热端[​](#适用heatcore4热端 "适用Heatcore4热端的直接链接") * 点击下方下载链接 * Loading... --- # 主板支架 提示 * 正在更新,可能有遗漏 * 如果有更好的支架可以联系我们 ## Fly-D系列主板[​](#fly-d系列主板 "Fly-D系列主板的直接链接") * Fly-D5、Fly-D7、Fly-D8、Fly-D8-Pro、Fly-DP5的主板支架 ## Fly-SUPER系列主板[​](#fly-super系列主板 "Fly-SUPER系列主板的直接链接") * Fly-SUPER8、Fly-SUPER8-Pro、Fly-SUPER5的主板支架 * 点击下方下载链接 * Loading... ## Fly-C系列主板[​](#fly-c系列主板 "Fly-C系列主板的直接链接") * Fly-C8、Fly-C5的主板支架 * 点击下方下载链接 * Loading... ## Fly-E系列主板[​](#fly-e系列主板 "Fly-E系列主板的直接链接") * Fly-E3的主板支架 * 点击下方下载链接 * Loading... ## Fly-Gemini系列主板[​](#fly-gemini系列主板 "Fly-Gemini系列主板的直接链接") * Fly-Gemini系列主板支架 * 点击下方下载链接 * Loading... ## Fly-CDV系列主板[​](#fly-cdv系列主板 "Fly-CDV系列主板的直接链接") * Fly-CDV系列主板支架 * 点击下方下载链接 ## Fly-Micro主板[​](#fly-micro主板 "Fly-Micro主板的直接链接") * Fly-Micro主板支架 * 点击下方下载链接 ## Fly-PRO X10主板[​](#fly-pro-x10主板 "Fly-PRO X10主板的直接链接") * Fly-PRO X10主板支架 * 点击下方下载链接 ## Fly-F407ZG主板[​](#fly-f407zg主板 "Fly-F407ZG主板的直接链接") * Fly-F407ZG主板支架 * 点击下方下载链接 * Loading... ## Fly-Rpfmex主板[​](#fly-rpfmex主板 "Fly-Rpfmex主板的直接链接") * Fly-Rpfmex主板支架 * 点击下方下载链接 * Loading... --- # 扩展板支架 提示 * 正在更新,可能有遗漏 * 如果有更好的支架可以联系我们 ## Fly-CANBUS[​](#fly-canbus "Fly-CANBUS的直接链接") * Fly-CANBUS扩展版支架 * 点击下方下载链接 * Loading... ## Fly-Kppm扩展版[​](#fly-kppm扩展版 "Fly-Kppm扩展版的直接链接") * Fly-Kppm扩展版支架 * 点击下方下载链接 * Loading... ## Fly-MDM扩展版[​](#fly-mdm扩展版 "Fly-MDM扩展版的直接链接") * Fly-MDM扩展版支架 * 点击下方下载链接 * Loading... ## Fly-MDM 2.5 扩展版[​](#fly-mdm-25-扩展版 "Fly-MDM 2.5 扩展版的直接链接") * Fly-MDM 2.5扩展版支架 * 点击下方下载链接 * Loading... ## Fly-Stealthburner\_LED 扩展版[​](#fly-stealthburner_led-扩展版 "Fly-Stealthburner_LED 扩展版的直接链接") * Fly-Stealthburner\_LED扩展版支架 * 点击下方下载链接 * Loading... ## Fly-UTOR 扩展版[​](#fly-utor-扩展版 "Fly-UTOR 扩展版的直接链接") * Fly-UTOR扩展版支架 * 点击下方下载链接 * Loading... ## Fly-扫床支架(1612)[​](#fly-扫床支架1612 "Fly-扫床支架(1612)的直接链接") * Fly-扫床支架(1612) * 点击下方下载链接 * Loading... ## Fly-HALO[​](#fly-halo "Fly-HALO的直接链接") * Fly-HALO * 点击下方下载链接 * Loading... ## Fly-Airklick[​](#fly-airklick "Fly-Airklick的直接链接") * Fly-Airklick * 点击下方下载链接 * Loading... ## Fly-M2SD[​](#fly-m2sd "Fly-M2SD的直接链接") * Fly-M2SD * 点击下方下载链接 * Loading... ## Fly-铲刀[​](#fly-铲刀 "Fly-铲刀的直接链接") * Fly-铲刀 * 点击下方下载链接 * Loading... --- # 上位机支架 提示 * 正在更新,可能有遗漏 * 如果有更好的支架可以联系我们 ## Fly-Lite2上位机[​](#fly-lite2上位机 "Fly-Lite2上位机的直接链接") * Fly-Lite2、Fly-Lite2.1上位机支架 * 点击下方下载链接 * Loading... ## Fly-Mini Pad上位机[​](#fly-mini-pad上位机 "Fly-Mini Pad上位机的直接链接") * Fly-Mini Pad上位机支架 * 点击下方下载链接 * Loading... ## Fly-Pi V2上位机[​](#fly-pi-v2上位机 "Fly-Pi V2上位机的直接链接") * Fly-Pi V2上位机支架 * 点击下方下载链接 * Loading... ## Fly-Pi 上位机[​](#fly-pi-上位机 "Fly-Pi 上位机的直接链接") * Fly-Pi上位机支架 * 点击下方下载链接 * Loading... --- # 屏幕支架 提示 * 正在更新,可能有遗漏 * 如果有更好的支架可以联系我们 ## Fly-WiScreen[​](#fly-wiscreen "Fly-WiScreen的直接链接") * Fly-WiScreen显示屏支架 * 点击下方下载链接 * Loading... ## Fly-DSI显示屏[​](#fly-dsi显示屏 "Fly-DSI显示屏的直接链接") * Fly-DSI显示屏支架 * 点击下方下载链接 * Loading... ## Fly-HDMI显示屏[​](#fly-hdmi显示屏 "Fly-HDMI显示屏的直接链接") * Fly-HDMI显示屏支架 * 点击下方下载链接 * Loading... ## Fly-TFT 显示屏[​](#fly-tft-显示屏 "Fly-TFT 显示屏的直接链接") * Fly-TFT显示屏支架 * 点击下方下载链接 * Loading... --- # 工具板支架 提示 * 正在更新,可能有遗漏 * 如果有更好的支架可以联系我们 ## Fly-SHT36[​](#fly-sht36 "Fly-SHT36的直接链接") * Fly-SHT36工具板支架 * 点击下方下载链接 * Loading... ## Fly-SB2040工具板[​](#fly-sb2040工具板 "Fly-SB2040工具板的直接链接") * Fly-SB2040工具板支架 * 点击下方下载链接 * Loading... ## Fly-ERCF工具板[​](#fly-ercf工具板 "Fly-ERCF工具板的直接链接") * Fly-ERCF工具板支架 * 点击下方下载链接 * Loading... ## Fly-MMU工具板[​](#fly-mmu工具板 "Fly-MMU工具板的直接链接") * Fly-MMU工具板支架 * 点击下方下载链接 * Loading... ## Fly-ADXL工具板[​](#fly-adxl工具板 "Fly-ADXL工具板的直接链接") * Fly-ADXL工具板支架 * 点击下方下载链接 * Loading... --- # VORON支架 --- # 辅助工具与软件 ## **上位机系统烧录**[​](#上位机系统烧录 "上位机系统烧录的直接链接") ### SSH软件:MobaXterm[​](#ssh软件 "ssh软件的直接链接") * 选择右边的`Installer edition`即可下载 * [SSH软件官网](https://mobaxterm.mobatek.net/download-home-edition.html) ### CH340驱动[​](#ch340驱动 "CH340驱动的直接链接") * 点击下方下载链接 * Loading... ### 内存卡格式化软件:SDFormatter[​](#内存卡格式化软件 "内存卡格式化软件的直接链接") * [SD卡格式化软件](https://www.waveshare.net/w/upload/d/d7/Panasonic_SDFormatter.zip) ### 系统烧录软件: Rufus[​](#系统烧录软件-rufus "系统烧录软件: Rufus的直接链接") * 进入后点击`下载`即可下载 * [烧录系统软件中文](https://rufus.ie/zh/#download) * [Programming system software English](https://rufus.ie/en/#download) ### M2WE BOOT驱动[​](#m2we-boot驱动 "M2WE BOOT驱动的直接链接") * 点击下方下载链接 * Loading... ## **主板固件烧录**[​](#主板固件烧录 "主板固件烧录的直接链接") ### STM32烧录工具:SetupSTM32CubeProgrammer[​](#stm32烧录工具 "stm32烧录工具的直接链接") ### 包含`SetupSTM32CubeProgrammer`与`STM32_DFU`和系统补丁[​](#包含setupstm32cubeprogrammer与stm32_dfu和系统补丁 "包含setupstm32cubeprogrammer与stm32_dfu和系统补丁的直接链接") * 点击下方下载链接 * Loading... ### APM32烧录工具:DFUProgrammer[​](#apm32烧录工具 "apm32烧录工具的直接链接") * DFU驱动已经包含在压缩包里面 * 点击下方下载链接 * Loading... ## **树莓派软件**[​](#树莓派软件 "树莓派软件的直接链接") ### 树莓派启动BOOT引导程序: Rpiboot[​](#树莓派启动boot引导程序-rpiboot "树莓派启动BOOT引导程序: Rpiboot的直接链接") * [树莓派BOOT](https://files.waveshare.net/wiki/w/upload/f/f3/Rpiboot_setup.zip) ### 树莓派镜像烧录程序: Raspberry Pi Imager[​](#树莓派镜像烧录程序-raspberry-pi-imager "树莓派镜像烧录程序: Raspberry Pi Imager的直接链接") * [树莓派镜像烧录工具](https://www.raspberrypi.com/software/) --- # FLY-C5 系统镜像 # FLY-C5系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h618) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-C8 系统镜像 # FLY-C8系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h5) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-C8P 系统镜像 # FLY-C8P系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h618) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-Gemini 系统镜像 # FLY-Gemini系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h5) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-Lite2 系统镜像 提示 * Lite2 与 Lite2.1 使用同一个系统 # FLY-Lite2系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h3) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-MiniPad 系统镜像 # FLY-MiniPad系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h3) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-Pi 系统镜像 # FLY-Pi系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h5) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-Pi v2 系统镜像 # FLY-Pi-v2系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h5) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # FLY-Pi v3 系统镜像 # FLY-Pi-v3系统下载 注意 SD卡注意事项: * 容量必须不小于`16GB`且不大于`128G`的TF卡 * TF卡的传输速度必须为`class10`级或`class10`级以上,建议使用闪迪等品牌的TF卡 * 如果使用`M2WE`建议购买`M2SD`烧录器 须知 * `FAST`系统无法更新`Klipper`等插件 重要提示 * 请注意下载好的系统是需要解压,而不是直接改后缀或者直接烧录!!!! * 如果不解压就烧录是无法启动的!!! ## 系统下载[​](#系统下载 "系统下载的直接链接") 提示 * 系统预装klipper、moonraker、mainsail、fluidd、klipper-screen、crowsnest、共振补偿插件 numpy,无需换源等复杂的操作,小白更容易上手(需要购买TF卡或者M2WE) - FlyOS-Fast 版本发布中心 - 系统镜像备用下载链接 * 点击下方下载链接 * [点击按钮自动跳转到系统下载页面](https://flyos.klipper.cn/?chip=h618) - 网盘下载链接 Loading... * root用户 - FAST系统只有`root`用户! 默认账号:`root` 默认密码:`mellow` *** --- # 实用工具 提示 此文档包含适配Klipper相关的各种实用工具。 注意事项 部分小工具如 `Klipper固件解析器` 是在线的,而 `Fly-Tools` 是需要安装后使用的。请注意区分 须知 如果使用过程中发现问题。请及时提交Issue. --- # Klipper 固件解析器 提示 该工具可以从 Klipper 固件 `.bin`, `.uf2`, `.dict`, `.elf` 中提取构建信息等参数 (建议从PC端访问获得更佳体验) Loading... --- # FLY-ALPS压力模块 配置工具 适用版本 * 固件版本 **>= `v2.0.0`**:可直接通过网页工具更新,无需进入 DFU 模式。请参考 [固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/update) 文档。 * 固件版本 **< `v2.0.0`**:需进入 DFU 模式烧录。请参考 [固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-alps/flash) 文档。 注意事项 **灵敏度设置**:请根据实际应用环境调整触发值,避免因灵敏度过高导致误触发 * 需要将ALPS固件更新至`V1.0.5`后才可正常使用本功能 Loading... --- # FLY-LLL Flux Buffer 配置工具 使用说明 本工具通过浏览器 Web Serial API 连接 FLY-LLL Flux Buffer 控制板,读取设备信息并修改设备本地参数。串口通信使用 `9600 baud`。 请使用支持 Web Serial 的 Chrome 或 Edge 浏览器,并允许网页访问设备串口。 连接后工具会先显示参考默认值,再用 `info` 回包逐项替换为设备当前保存值。若固件版本首次未识别,工具会自动重新发送 `version`,最多尝试 3 次。连接期间传感器状态约每 1 秒自动读取一次,也可点击“立即刷新”立刻读取或暂停自动刷新;页面会按电机传感器和缓冲器传感器分组显示。 未连接时可点击“烧录固件”并选择本地 BIN 文件;连接后若固件版本为 `v2.0.0` 或更高版本,会显示“进入烧录”,工具会先让设备重启进入烧录模式。 注意事项 * 切换 `system_mode` 会保存设置并自动重启设备,串口会暂时断开;请等待重启完成后重新连接。 * 本工具不提供 Klipper 上位机换料配置;请不要将未经确认的串口配置直接加入打印机配置文件。 > **测试说明**:[传感器与单通道测试](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-ams/sensor-test) 断电操作 连接或拔出控制板数据线、整理线束和检查端子前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。 ## 连接设备[​](#连接设备 "连接设备的直接链接") 1. 使用支持数据传输的 USB Type-C 数据线连接 FLY-LLL Flux Buffer 控制板和电脑。 2. 点击下方 **连接设备**,在浏览器弹窗中选择 FLY-LLL Flux Buffer 控制板对应的串口。 3. 修改数值参数后按 **Enter**、离开输入框,或点击 **保存参数** 发送;下拉选项会立即发送。保存按钮会等待设备写入后自动使用 `info` 回读确认,发送结果可在串口日志中查看。 4. 等待串口日志出现 `info` 回读并确认页面显示设备值后,再点击 **断开设备**,随后进行本地送料测试。 正在加载配置工具… ## 参数说明[​](#参数说明 "参数说明的直接链接") 工具连接后会优先显示设备保存值;下表的“恢复默认值”仅用于校对,设备返回的实际值可能不同。 | 参数 | 恢复默认值 | 作用 | | ---------------------- | ----------- | ----------------------------------------------------------------------------- | | 电机电流 | `800mA` | 设置两路电机驱动电流(可输入 `0–2000mA`) | | 普通速度 | `35mm/s` | 设置普通送料和回抽速度 | | 快速速度 | `100mm/s` | 设置长距离动作的速度 | | 启动加速度 | `100mm/s²` | 设置电机从停止状态启动时的加速度 | | 进入快速速度时的加速度 | `50mm/s²` | 只读参考项;当前 `info` 不返回,工具不提供编辑 | | 前进超时 | `60000ms` | 连续前进达到该时间后触发保护 | | 微步细分 | `16` | 只读参考项;当前 `info` 不返回,工具不提供编辑 | | 断料距离 | 未设置 | 查看或设置断料检测距离,单位为 mm;“清除学习值”会发送 `runout_distance clear` | | 耗材模式 | `refill` x | 在自动续料和多色模式之间选择 | | 系统模式 | `multi` | 在单主控和多主控模式之间选择 | | 通道方向 | `0`(正常) | 分别反转通道 0 或通道 1 的电机方向 | | 蜂鸣器 | 开启(`1`) | 开启或关闭缺料和错误提示音 | 恢复默认 恢复默认参数会覆盖设备中已保存的设置;如果当前系统模式不是 `multi`,设备还会在保存后自动重启。执行后请重新检查电机方向、送料速度和缓冲器触发顺序。 --- # FLY-LLL-Buffer 配置工具 适用版本 * 固件版本 **>= `v2.0.0`**:可直接通过网页工具更新,无需进入 DFU 模式。请参考 [固件更新](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/update) 文档。 * 固件版本 **< `v2.0.0`**:需进入 DFU 模式烧录。请参考 [固件烧录](https://mellow.klipper.cn/docs/ProductDoc/ExtensionBoard/fly-buffer-plus/flash) 文档。 注意事项 **参数设置**:请根据实际应用环境调整误差比例、超时时间和步进值,避免因参数设置不当导致断料检测误触发。 * 使用前请确保 Buffer 固件为最新版本。 Loading... --- # GPIO引脚号计算器 Loading... --- # FLY-LCD-HDMI 配置工具 适用版本 * 固件版本 **>= `v1.2.0-2-gf71af68`**:可直接通过网页工具更新,无需进入 DFU 模式。请参考 [固件更新](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/update) 文档。 * 固件版本 **< `v1.2.0-2-gf71af68`**:需进入 DFU 模式烧录。请参考 [固件烧录](https://mellow.klipper.cn/docs/ProductDoc/Screen/fly-hdmi/flash) 文档。 Loading... --- # Klipper 配置诊断 功能概述 * **本地解析**:上传 `printer.cfg`(支持 `.cfg` / `.conf` / `.txt`、多文件、目录上传与拖拽,自动按 `[include]` 展开)或 `klippy.log`,浏览器内即时解析 * **远程读取**:输入上位机 IP,通过 Moonraker 优先读取 `klippy.log` 中实际加载的最终配置;日志无配置块时再下载 `printer.cfg` 并按 include 顺序展开 * **异常检查**:检查缺失项、重复项、数值范围、TMC 通信配置、热敏配置、轴参数、默认 UI 宏覆盖与 FLY 主板引脚分配 * **日志诊断**:自动从 `klippy.log` 提取报错,已知问题跳转对应排查文档;日志问题较多时默认显示前 8 条,可展开全部 * **版本对比**:对比各 MCU 固件版本及 Klipper 软件版本一致性 * **交叉检查**:跨配置源和配置段进行交叉验证 * **结果检索**:按关键词搜索解析结果,并按 Error / Warning / Info / 日志相关过滤 * **扩展兼容**:可识别常见风扇、ADXL/LIS2DW/LIS3DH/MPU9250、EDDY 等配置段;无法识别的扩展段会保留显示,但不会参与启发式配置检查 * **大日志优化**:日志较大时自动保留尾部内容和 MCU 版本行用于浏览器分析 * **完整日志模式**:需要追溯历史报错时,可手动勾选完整日志分析后上传全量 `klippy.log` * **报告导出**:支持一键复制解析摘要或导出 Markdown 诊断报告 功能正在持续完善 当前功能还在持续更新中,如有建议或问题欢迎反馈。 注意事项 * 建议 PC 端访问以获得更好体验 * 所有解析均在浏览器本地完成,不会上传配置内容 * 远程读取为只读操作,不会修改上位机配置 * 大体积 `klippy.log` 会在浏览器中自动截取尾部进行显示和诊断,如需完整历史请在上位机查看原始日志 * 勾选完整日志分析后,大日志会直接进入浏览器解析,上传和解析可能需要较长时间 * `[scanner]`、`[idm]`、`[beacon]`、`[BDsensor]`、`[led_effect ...]`、`[AFC...]`、`[power_loss_resume]` 等第三方插件段可能包含特殊语法,工具默认跳过这类未知段的配置体检,实际有效性以 Klipper 启动日志为准 * 主板和工具板型号仅通过实际引脚分配和 `klippy.log` 中的 MCU 芯片型号共同判断,只上传 `printer.cfg` 时可能不会显示具体型号 * 引脚分析结果仅供参考,以实际接线和厂家手册为准 Loading... --- # 串口终端工具 提示 **Windows驱动安装** * 如需使用本功能, 需要安装CH340驱动 Loading... ## CH340驱动[​](#ch340驱动 "CH340驱动的直接链接") * 点击下方下载链接 * Loading... ---