3D打印机固件教程之固件运行原理

本文介绍了Klipper、RRF和Marlin三种3D打印机固件的工作原理,强调了上位机和自定义宏命令的重要性,以及RRF固件与Marlin固件的区别。对于DIY玩家来说,这些知识有助于更好地理解和操作打印机。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Klipper固件工作原理

        Klipper固件是目前在DIY玩家中深受欢迎的开源固件,以其丰富的可玩性征服了绝大多数玩家的内心,下面就简要介绍Klipper固件的运行原理,以便新手玩家在入门过程中少走弯路。

       完整运行Klipper固件我们至少需要三个部分:

1、完整的打印机

2、打印机主板

3、上位机(可以理解为一台微型电脑)

        如果有小伙伴使用了CAN板(可以理解为给上位机装了一个信号收发站)连接打印头和主板,那么还需要再加上一个:

4、CAN板

      那么工作连接图如下:    

1、3D打印机的打印头部分和CAN工具板直接相连。 

2、打印机主板与3D打印机的XYZ轴电机以及热床直接相连。

3、上位机通过USB To Type-C 直接连接打印机主板。

4、打印机主板与CAN工具板通过抗干扰信号线和电源线直接相连。

       在工作过程中,我们把所需要打印的文件通过网页上传到上位机当中,上位机得到命令后,将命令分解为两部分,一部分是控制XYZ轴电机以及热床加热的命令,另一部分是控制打印头工作的命令。第一部分的命令将通过打印机主板直接传输给3D打印机,使其工作。第二部分的命令将通过打印机主板传输给CAN工具板,CAN工具板得到命令之后,再控制打印头执行相关命令。

       通过这个工作原理,我们就能很清楚的知道,上位机就是控制整个系统运作的大脑,也就是说,只要我们通过上位机发送一些打印机可以识别的命令,就可以控制打印机做一些非打印的工作。这就衍生出了非常关键的自定义命令,也称命令。

       宏命令就是我们提前编写一段代码,给它取一个名字,然后储存在上位机当中。这样每当我们想让打印机执行一些命令的时候,只需要告诉上位机,执行某个“宏”,那它就会执行我们预设好的程序代码。

       通过宏命令,我们可以让打印机实现包括且不限于:

1、自动调平

2、加速度测试

3、舵机控制

4、风扇启停

5、灯光控制

       上述几种宏命令如何实现以及相关的代码编写修改,我会在后续的教程中陆续教给大家。

RRF固件工作原理

        RRF固件原先是给大型数控机床设计的操作固件,后来有3D打印开发爱好者将其GM代码进行修改,进而衍生出了适合给3D打印机使用的RRF固件。

       完整运行RRF固件我们需要三个部分:

1、完整的3D打印机

2、打印机主板

3、ESP32WIFI模块

      工作连接图如下:

1、打印机与打印机主板直接相连

2、ESP32WiFi模块与打印机主板直接相连

      在工作过程中,ESP32模块担任了传输文件的桥梁。我们要把需要打印的文件,通过前端网页和ESP32模块传输给主板,主板再直接控制打印机工作。也就是说,有了ESP32WIFI模块,我们就可以省去上位机,但是ESP32WIFI的性能有限,上传模型文件的速度较慢,目前最快的上传速度大概是1Mb/s,还会收到网络连接波动影响上传速度,所以在上传较大打印文件的时候速度较慢,这也是RRF固件最明显的缺点。

       RRF固件有着和Klipper固件一样的“宏”命令编写功能。他们二者的运行逻辑相似,都是通过执行提前编写好机器认识的代码来完成指令。但是RRF固件由于是由数控机床固件修改而来,部分GM代码和Klipper固件支持的GM代码会有所不同,RRF固件的部分GM代码翻译我写在了另一篇教程中,链接如下

RRF固件GM代码翻译(部分)

        后续Klipper固件的GM代码翻译我也会持续跟进,翻译完成后发布相关教程。

Marlin固件

        作为最经典,最传统的3D打印机固件,Marlin固件在商业化3D打印机中,以其高稳定性,广泛的适配性有着不可取代的地位。但是由于其的入门门槛较高,想要开发自己想要的功能需要自己编写C和C++代码,所以劝退了很大一部分新人小白玩家。这也从侧面反映出依靠GM代码运行的宏命令是由多么的简单和方便。

        完整运行Marlin固件只需要两个部分:

1、完整的3D打印机

2、打印机主板

        工作连接图如下:

        简单而又复杂,简单是指Marlin固件只需要完成编译刷进主板就可以完美操控一台打印机;复杂是指编译固件需要的编译环境配置较为麻烦,且修改我们所需的参数需要反复修改固件内部参数,反复重新编译,反复刷进主板。这中间的繁琐程度,博主是已经受够了,当然如果你有程序员的基础,尝试一下也到无妨。前两个固件想要修改自己需要的参数,只需要在网页端修改然后就能上传保存,真的是太太太太方便了。

        当然,为了不被时代抛弃,Marlin也推出了章鱼远程控制网页端,但是实际使用过程中,如果没有一定的代码基础,用起来还是较为繁琐,所以比起前两者,Marlin固件逐渐在DIY玩家圈子中淡出了身影。

      具体有关Marlin的教程,在Marlin的官方网站已经非常详细了,链接如下:

Marlin官网​​​​​​​

       我的教程也不会把Marlin固件教程作为重点,因为我本人的代码水平就几乎为0,当初为了调试好自己的Marlin固件不知道熬了多少夜晚,真的是不想有人和我一样重蹈覆辙了。

        本篇文章到此结束,如果你喜欢我的风格,不妨点下关注,跟进我的成长路途,一起学习一起成长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr机修工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值