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

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.kler.cn/a/410116.html

相关文章:

  • 虚拟局域网PPTP配置与验证(二)
  • C++设计模式-策略模式-StrategyMethod
  • 今天你学C++了吗?——C++中的类与对象(第二集)
  • LabVIEW实现TCP/IP通信
  • 深度学习中的长短期记忆网络(LSTM)与自然语言处理
  • C#构建一个简单的循环神经网络,模拟对话
  • 单片机结合OpenCV
  • 发布订阅模式(TS)
  • [less] Operation on an invalid type
  • 数据治理:在企业数据管理中的关键角色与实现路径——《DAMA 数据管理知识体系指南》读书笔记- 第 3 章
  • 从入门到精通:解析如何使用亚马逊云服务器(AWS EC2)
  • 证明面积不超过1/8的一组凸形状可以平移填充进面积为1的凸形状内而不重叠
  • 非root用户安装CUDA
  • [M最短路] lc743. 网络延迟时间(spfa最短路+单源最短路)
  • 【Redis_Day6】Hash类型
  • leetcode hot100【LeetCode 238.除自身以外数组的乘积】java实现
  • Flink Standalone集群模式安装部署全攻略
  • leetcode day12 贪心 605+44
  • 漫谈 module caching——PyCharm jupyter notebook 在导入模块被更新后无法及时同步问题
  • rabbitmq exchange queue topic的关系
  • 前端---HTML(一)
  • 【CSP CCF记录】201809-2第14次认证 买菜
  • SpringMVC-03-HelloSpring
  • 人工智能之数学基础:线性代数在人工智能中的地位
  • HttpServletRequest req和前端的关系,req.getParameter详细解释,req.getParameter和前端的关系
  • docker 安装arm架构mysql8