OrangePi Zero安装Klipper固件
前言
好像已经好久没有写技术类文章了,最近手痒,干脆记录记录自己的最新成果。
关于klipper
klipper是3D打印上位机固件,最早知道的时候还是因为voron 2.4这个项目,当时因为众所周知的原因,voron 2.4这个项目需要的资金预算是非常大的,而我之前的预算非常有限(已经后悔了),而且安装klipper官方文档是推荐使用树莓派基于Octoprint进行安装,但因为全球疫情导致芯片产能不足,导致树莓派价格一直水涨船高,所以我当时考虑的是用主流的marlin固件+mega2560主板方案。
然后呢。
结果做BLV项目的这家伙跳反了,虽然我当时因为预算问题也没采用他项目的那个方案。
于是我现在又考虑将我的marlin固件+mega2560方案替换成用Klipper固件来带动,但是又因为现在树莓派的价格越来越离谱,所以我打算用orange pi zero来代替树莓派完成klipper固件方案。
唉,废话不多说了,直接介绍一下Klipper吧~
klipper固件官方文档:https://www.klipper3d.org
Klipper主要特点
高精度 stepper movement。Klipper 在计算打印机移动时使用应用处理器(例如低成本的 Raspberry Pi)。应用处理器确定何时步进每个步进电机,它压缩这些事件,将它们传输到微控制器,然后微控制器在请求的时间执行每个事件。每个步进器事件的调度精度为 25 微秒或更高。该软件不使用运动学估计(例如 Bresenham 算法),而是根据加速度物理学和机器运动学物理学计算精确的步进时间。更精确的步进运动转化为更安静、更稳定的打印机操作。
同类最佳表现。Klipper 能够在新旧微控制器上实现高步进率。即使是旧的 8 位微控制器也可以获得超过每秒 175K 步的速率。在较新的微控制器上,速率可能超过每秒 500K 步。更高的步进速率可实现更高的打印速度。步进事件计时即使在高速下也能保持精确,从而提高整体稳定性。
Klipper 支持带有多个微控制器的打印机。例如,一个微控制器可用于控制挤出机,而另一个控制打印机的加热器,而第三个控制打印机的其余部分。Klipper 主机软件实现时钟同步以解决微控制器之间的时钟漂移。启用多个微控制器不需要特殊代码——它只需要在配置文件中多加几行。
通过简单的配置文件进行配置。无需重新刷新微控制器即可更改设置。Klipper 的所有配置都存储在一个可以轻松编辑的标准配置文件中。这样可以更轻松地设置和维护硬件。
Klipper 支持“平滑压力推进”——一种解释挤出机内压力影响的机制。这减少了挤出机“渗出”并提高了印刷边角的质量。Klipper 的实施不会引入瞬时挤出机速度变化,这提高了整体稳定性和鲁棒性。
Klipper 支持“输入整形”以减少振动对打印质量的影响。这可以减少或消除打印中的“振铃”(也称为“重影”、“回声”或“波纹”)。它还可以让人们获得更快的打印速度,同时仍然保持高打印质量。
Klipper 使用“迭代求解器”从简单的运动学方程计算精确的步进时间。这使得将 Klipper 移植到新型机器人变得更加容易,并且即使在复杂的运动学中也能保持计时精确(不需要“线段分割”)。
便携式代码。Klipper 适用于基于 ARM、AVR 和 PRU 的微控制器。现有的“reprap”式打印机无需修改硬件即可运行 Klipper - 只需添加一个 Raspberry Pi。Klipper 的内部代码布局也使其更容易支持其他微控制器架构。
更简单的代码。Klipper 对大多数代码使用非常高级的语言 (Python)。运动学算法、G 代码解析、加热和热敏电阻算法等都是*用 Python 编写的。这使得开发新功能变得更加容易。
自定义可编程宏。可以在打印机配置文件中定义新的 G 代码命令(无需更改代码)。这些命令是可编程的——允许它们根据打印机的状态产生不同的动作。
内置 API 服务器。除了标准的 G-Code 接口外,Klipper 还支持丰富的基于 JSON 的应用程序接口。这使程序员能够通过对打印机的详细控制来构建外部应用程序
安装klipper
klipper安装有两种方法,一种是直接在官方文档里进行安装,而我采用的是第二种,直接使用脚本安装,这样更简单,也更方便,这里我使用的是kiauh安装助手这个脚本:
项目地址:https://github.com/th33xitus/kiauh
然后开始操作
首先,下单orange pi zero后在Armbian官网找到orange pi zero,下载Armbian Buster系统
地址:https://www.armbian.com/orange-pi-zero/
然后找到Armbian Buster系统镜像下载下来。
在香橙派中插入8G以上的TF卡进行格式化,然后使用win32 Disk Image将Armbian Buster系统镜像烧写进SD卡。
写入成功
将写入好后的tf卡插入pi zero,再插Micro USB接口上电开机,然后在orange pi zero网线接口直接连接好网线,到路由器的后台找到orange pi ip地址,没有网线的话也可以使用usb-ttl工具连接串口(波特率115200)。
打开路由器的后台,每个路由器有自己的后台,找到香橙派的端口,打开
使用ssh工具登录pi zero(我使用的是MobaXterm)
然后输入默认登录用户名:root,敲击回车,再输入密码:1234
登陆进去后重新设置你的新的密码
密码设置好完成后会让你选择bash风格还是zsh风格的command shell,我选择的是zsh(有代码高亮,好用)。
然后修改源:
输入命令
nano /etc/apt/sources.list |
回车
然后把列表里面的deb开头用#注释掉,或者全部删除,然后再添加进去以下源地址
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe |
列表修改完后:
输入Ctrl+O 保存
Enter 确认
Ctrl+X 退出
再次输入
sudo nano /etc/apt/sources.list.d/armbian.list |
进入界面后可以直接输入#号键注释原生源
再输入Ctrl+O 保存
Enter 确认
Ctrl+X 退出
然后更新系统库(可更新可不更,不更并不影响使用)
sudo apt-get update |
更新完成后配置无线网
其实以后打算一直用网线的可以忽略这一步,什么时候都可以配置的。
.jpg)
出现下面选项后我们选择Network回车

再选择WIFI回车

找到我们自己的WiFi名后,回车输入自己的WiFi密码回车

再按ESC键返回然后输入ifconfig查看网络信息

使用kiauh脚本安装klipper
切换到klipper用户
su klipper |
切换到klipper用户根目录
中间有空格
cd ~ |
下载kiauh安装助手
git clone https://github.com/th33xitus/kiauh.git |
网速不好的话可以git国内源
git clone https://gitee.com/zm112/kiauh.git |
然后输入
./kiauh/kiauh.sh |

运行脚本,可以看到这个界面

然后就特简单了
先选1,再回车进入安装界面
再选1安装klipper

完成后选2安装Moonraker

然后再选择一个你喜欢的网页界面,此时我选择的是Fluidd

如果你要用摄像头的话,可以同时安装MJPG-Streamer(这里因为我没有摄像头所以选的N)

安装完成(按Q返回确认一下,一般来说三条绿的说明已经安装成功)

结语
kiauh安装助手安装的过程中或许需要等待很久,这个不要着急,因为国内网速不好等原因,可能安装还会报错,所以可以按Q返回界面,然后按3卸载掉,然后重新安装就可以了。