创想三维3D打印机Ender-3S升级Klipper固件
原文在这创想三维3D打印机Ender-3S升级Klipper固件最近折腾3D打印机考虑将我的Ender-3S做一个升级目前主要是考虑软件部分准备升级Klipper固件Klipper介绍Klipper 是一套面向 3D 打印机的开源固件系统其核心特点是将传统固件中“计算密集型”的运动规划与控制逻辑从打印机主控板转移到性能更强的主机如树莓派、x86 小主机、NAS、工控机等上执行从而显著提升打印精度、速度与可扩展性。所以Klipper固件的安装就涉及了两个部分上位机软件和下位机软件我家里刚好有个闲置的树莓派3B刚好可以作为上位机下位机软件需要根据自己的打印机对应的处理器自行编译。官网地址https://www.klipper3d.org/zh/Klipper源码https://github.com/Klipper3d/klipper/Klipper 配置文件通常可以通过在 Klipper源码 config 目录 中查找以“printer-”前缀开头且与目标打印机相对应的文件来找到适当的配置文件这个文件是在安装好klipper上位机程序后需要上传到上位机上的printer.cfg是Klipper 系统中最核心、最权威的配置文件可以把它理解为Klipper 对你这台打印机的“完整工程定义文件”。如果能从源码中找到你的打印机对应的.cfg文件当然最好如果找不到打印机的配置文件但可以找到打印机控制板的类型则可以查找以“generic-”前缀开头的适当配置文件。这些示例打印机模板文件应该足以成功完成初始安装但需要进行一些自定义才能获得完整的打印机功能。Klipper安装上位机安装这里可以通过 KIAUH 安装KIAUH全称Klipper Installation And Update Helper是 Klipper 相关组件的一站式安装、管理与维护工具本质就是一个基于 Bash 的交互式脚本可以运行在上位机Linux 主机上树莓派、x86、小主机等通过菜单方式完成安装与维护。这里就不细说树莓派系统的安装了事先安装好树莓派Raspberry Pi OS系统保证可以ssh登录上去即可。# 安装git sudo apt-get update sudo apt-get install git -y # 下载kiauh的源码 cd ~ git clone https://github.com/dw-0/kiauh.git # 运行kiauh脚本 ./kiauh/kiauh.sh运行脚本后可以看到菜单页面依次选择1 Install将Klipper、Moonraker、Fluidd都安装上即可。Klipper负责打印机运动控制与执行的核心固件计算运动轨迹并指挥主板驱动电机和加热器。MoonrakerKlipper 的后台服务与 API 层负责对外提供接口、文件管理和与前端通信。Fluidd基于 Web 的可视化操作界面用浏览器即可监控和控制 Klipper 打印机。安装好后浏览器访问http://{树莓派IP}即可打开Fluidd的Web管理界面。以上操作安装上位机程序实测通过还算比较顺利遇到的问题基本都是网络问题全局科学上网可以解决不行就多试几次把要安装的依赖单独拿出来手动安装sudo apt-get install -y binutils-avr libncurses-dev \ libnewlib-arm-none-eabi binutils-arm-none-eabi avr-libc \ libusb-1.0 python3-virtualenv gcc-avr dfu-util virtualenv \ avrdude stm32flash gcc-arm-none-eabi libffi-dev libusb-dev下位机安装下位机我们需要进入Klipper源码中自行编译因为刚才安装Klipper所以源码已经下载到了/home/{你的用户名}/klipper/中了进入该目录执行make menuconfig可以看到一个配置菜单页面这里跟编译OpenWRT固件有点类似选择对应的处理器型号、通信接口等信息这里不同型号打印机配置不同。配置好后执行make编译编译好后到out文件夹下会生成固件文件将文件拖入TF卡关闭打印机电源插入卡再打开电源开始刷机我的打印机不支持卡刷。比较坑的是我的Ender-3S版本比较老看了一下处理器是ATMEGA1284P主板版本v1.1.3是一个8位单片机性能十分有限不管是打印速度还是将来的功能扩展型都十分受限更悲剧的是v1.1.3版本的主板官网已经没有维护原厂固件版本了万一刷到klipper调不好用不惯想回来就只能自己下载Marlin源码编译固件回刷了还不一样能调得怎么样呢…-_-不过来都来了生命在于折腾还是尽力折腾下吧。我这里Klipper编译下位机程序配置如下[*] Enable extra low-level configuration options Micro-controller Architecture (Atmega AVR) --- Processor model (atmega1284p) --- Processor speed (16Mhz) --- Communication interface (UART0) --- [] Compile for simulavr software emulation (250000) Baud rate for serial port () GPIO pins to set at micro-controller startup我的打印机并不能像STM32处理器那样卡刷只能按照如下操作线刷树莓派连接打印机 USB确认串口ls /dev/serial/by-id/你会看到类似usb-1a86_USB_Serial-if00-port0执行刷写make flash FLASH_DEVICE/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0注意步骤3有可能会失败的如果失败就停掉上位机服务sudo service klipper stop如果还是失败替换以下命令进行刷入avrdude -c arduino -p atmega1284p \ -P /dev/ttyUSB0 -b 57600 \ -D \ -U flash:w:~/klipper/out/klipper.elf.hex:i2026年1月9日更新最悲剧的情况出现了我将树莓派和Ender-3S打印机USB连接后确实识别到串口但是通过make flash命令刷写时遇到报错piklipper:~/klipper $ make flash FLASH_DEVICE/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AC00ARSB-if00-port0 Flashing out/klipper.elf.hex to /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AC00ARSB-if00-port0 via avrdude avrdude warning: attempt 1 of 10: not in sync: resp0x65 avrdude warning: attempt 2 of 10: not in sync: resp0x65 avrdude warning: attempt 3 of 10: not in sync: resp0x65 avrdude warning: attempt 4 of 10: not in sync: resp0x65 avrdude warning: attempt 5 of 10: not in sync: resp0x65 avrdude warning: attempt 6 of 10: not in sync: resp0x65 avrdude warning: attempt 7 of 10: not in sync: resp0x65 avrdude warning: attempt 8 of 10: not in sync: resp0x65 avrdude warning: attempt 9 of 10: not in sync: resp0x65 avrdude warning: attempt 10 of 10: not in sync: resp0x65 avrdude error: unable to open programmer arduino on port /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AC00ARSB-if00-port0 avrdude done. Thank you. make: *** [src/avr/Makefile:35: flash] Error 1并且换了avrdude命令使用两种波特率57600和115200刷写同样都是avrdude error: unable to open programmer arduino on port询问AI得出结论这块 ATmega1284P 主板100% 没有 Arduino / Optiboot bootloader。串口方式刷 Klipper 不可能成功。唯一的解法变成用 ISP 编程器先烧 bootloader而我没有ISP编程器折腾的差不多了不想再花钱花精力在这块主板上了等我以后有心情买块stm32主控的主板试试吧。。。后续来了使用Arduino开发板给3D打印机主控芯片刷入bootloader

相关新闻

最新新闻

日新闻

周新闻

月新闻