当前位置: 首页 > news >正文

1. Klipper从安装到运行

本文记录Klipper固件从安装,配置到运行的详细过程

Klipper是3D打印机固件之一,它通常运行在linux系统(常使用Debian,其它的linux版本也可以)上,因此需要一个能运行Linux系统的硬件,比如电脑,树莓派,瑞芯微/全志等SOC系列的开发板或相应的主板等。

1. 安装klipper

        kiauh是klipper及相关配套软件的一个安装管理脚本,提供一个字符的类图形管理界面,它可以自动下载和安装相关依赖软件,因此,使用kiauh安装klipper比较方便,不易出错。

        1.1 下载git

sudo apt-get update && sudo apt-get install git -y

        kiauh是开源在github上的脚本,因此需要先安装git工具

        1.2 下载kiauh

        kiauh源码地址:https://github.com/dw-0/kiauh,可以手动下载也可以使用下面命令下载,下到家目录下

cd ~ && git clone https://github.com/dw-0/kiauh.git

        1.3 下载完后,执行命令:

./kiauh/kiauh.sh

        就可以打开kiauh安装管理界面:

 

        1.4 安装klipper

        从上图可见,有很多软件都是Not installed的,输入1,进入Install界面,这里可以安装很多软件。

其中:

  • Klipper:klipper主体软件,必须安装,手动下载地址:GitHub - Klipper3d/klipper: Klipper is a 3d-printer firmware
  • Moonraker:klipper主服务,为所有网页和人机界面提供控制和信息接口,必须安装,手动下载地址:https://github.com/Arksine/moonraker
  • Mainsail或Fluidd(二选一):内置网页接口,安装其中一个,端口为80,需要网页上进行操作的安装,手动下载地址:

        Fluidd:  https://github.com/fluidd-core/fluidd

        Mainsail:   https://github.com/mainsail-crew/mainsail

  • KlipperScreen:klipper默认显示屏操作界面,需要在显示屏上操作的安装,手动下载地址:https://github.com/KlipperScreen/KlipperScreen
  • Crowsnest:摄像头服务(旧版使用MJPG-Streamer:https://github.com/jacksonliam/mjpg-streamer)老版本,需要接USB摄像头的安装,手动下载地址:GitHub - mainsail-crew/crowsnest: Webcam Service for multiple Cams

        根据需求,安装上面的若干软件,一般情况下,上面5个都安装。

2.编译下位机

        通常Klipper运行在 一上位机,若干下位机 的模式,运行Klipper主服务的是上位机,主要执行打印文件读取-解析,运动控制序列生成,通信,人机交互等,通常由带系统的主板执行;下位机则执行运动,信号检测,温度测试等,通常由MCU主板执行。

        所以,需要编译klipper固件,并烧录到MCU,通过通信口(uart,USB,can等)和上位机连接,以实现上下位机配合,完成3D打印整个控制。

        编译下位机klipper固件,需要查看下位机MCU的芯片类型,通信方式等,如我使用的下位机是芯片是STM32H723ZET6,通信是uart1,klipper默认uart波特率是250000,因此,需要配置klipper固件:

cd ~/klipper
make menuconfig

        上述命令会打开配置界面,需要根据下位机硬件进行配置,比如我的硬件是STM32H723,晶振是25MHz,使用串口和上位机通信,采用波特率115200(默认是250000),则我的配置如下:

        注意,可能原始的配置上没有电路板上的串口,比如原始没有USART1(PB15,PB14),这时需要自己手动修改kconfig文件,比如STM32的在klipper/src/stm32下,增加电路板上的串口进去:

        同时需要修改驱动文件(klipper/src/stm32/stm32f0_serial.c或者serial.c)相关位置,以适配电路串口。

        

        如此修改后,就可以执行make命令编译了,编译的结果在out/klipper.bin中,将其烧录到主板上,即可。

3.配置文件

        3.1 klipper配置文件默认在printer_data/config下,通常在网页上配置比较方便。

moonraker.conf:与moonraker服务有关,通常不需要去改

mainsail.cfg:与内置网页设备和行为有关,可以根据网页上操作需求进行一些配置,刚开始不用改

crowsnest.conf:USB摄像头配置文件,装USB摄像头时,需要配置它

printer.cfg:打印机配置文件,这是klipper打印机配置的核心文件,需要详细配置

        3.2 通信接口配置

        首先要配置的是上下位机通信接口,修改的是printer.cfg。

        很多采用串口与下位机通信,首先在上位机系统中找到/dev/serial/,看看里面有没有下位机生成的by-id或by-path,通常是有的,我的是/dev/serial/by-path,波特率默认是250000,但是上面我们配置的下位机,波特率是115200,因此,在mcu字段配置如下:

        只要这里的波特率和下位机一致,且serial没错,一般是能连上下位机的, 在网页上配置的话,改好后,点击网页右上角 “保存并重启”,一般是可以看到下位机连上了,可能还会报其它错误。

        3.3 其它配置

        通信问题解决了后,就来看看其它配置, 参考说明:Klipper documentation 

        在官方配置说明中,重点查看:

电机[stepper]

电机驱动(如[stepper 2209])

打印头(含挤出机和喷嘴加热)[extruder]

热床加热[heater_bed]

网床(调平)[bed_mesh]

风扇[fan]

        因为官方文档做的很详细,这里就不重复说明如何去配置了

        配置好后,就可以使用klipper了 

http://www.lryc.cn/news/492248.html

相关文章:

  • docker 卸载与安装
  • 跨部门文件共享安全:平衡协作与风险的关键策略
  • 基于单片机的智慧小区人脸识别门禁系统
  • 【es6】原生js在页面上画矩形及删除的实现方法
  • 【git实践】分享一个适用于敏捷开发的分支管理策略
  • Redis与MySQL如何保证数据一致性
  • 基于微信小程序的教室预约系统+LW示例参考
  • Linux 安装 Git 服务器
  • 总结:Yarn资源管理
  • Python学习34天
  • 深入浅出 WebSocket:构建实时数据大屏的高级实践
  • 三开关VUE组件
  • SpringCloud+SpringCloudAlibaba学习笔记
  • 牛客小白月赛105(A~E)
  • OSPF协议整理
  • Java中的多线程
  • 什么是聚簇索引、非聚簇索引、回表查询
  • 探索 Spring 框架核心组件:构建强大 Java 应用的基石
  • Android 13 Aosp 默认允许应用动态权限
  • 【C++知识总结1】c++第一篇,简单了解一下命名空间是什么
  • 从0开始深度学习(32)——循环神经网络的从零开始实现
  • GitLab使用操作v1.0
  • cuda conda yolov11 环境搭建
  • 解决SpringBoot连接Websocket报:请求路径 404 No static resource websocket.
  • element-plus的组件数据配置化封装 - table
  • 【二维动态规划:交错字符串】
  • goframe开发一个企业网站 MongoDB 完整工具包18
  • 在vue中,根据后端接口返回的文件流实现word文件弹窗预览
  • 动态规划之背包问题
  • 【Python】 深入理解Python的单元测试:用unittest和pytest进行测试驱动开发