向 Prusa MK3S 添加暂停 / E-Stop按钮

3D 打印机添加暂停 /E-Stop 按钮

3D打印爱好者们可能还记得,在某次打印中,你对自己说“嗯,这有点不对……”,然后觉得有必要进行一些干预。我不能说我经常遇到这种情况,但当它发生时,我发现3D打印机通常不具备合适且方便按下的停止或暂停按钮。这就是为什么我决定要增加一个这样的按钮,虽然打印机内置了用于暂停或停止打印的工厂(产线生产)选项,但是你需要点击,旋转旋钮,哦,不要转得太多,啊,再往回一点,天哪,再向前一点,然后才能点击停止,这个过程对我来说太复杂了。我宁愿只按一个按钮。而这正是我的解决方法。


我使用的产品

如果你碰巧需要我在这个项目中使用的任何螺母、螺栓、垫圈或其他五金件,请看看下面的帖子:


概念

我的打印机的加热床几乎接近胸口的位置,因此比大多数打印机都要高。所以,我需要一个低一点的按钮。然而,我却遇到了极其严苛的条件,大大限制了我的预见能力。我希望在某个时候,我的打印机能够处于正常的桌面高度上,并且通过一个按键即可进行调整。

我还在3D打印机上安装了一个触摸显示器,它采用了一些相同的零件和连接方式。你可以在这里查看:


3D模型

05_00

我确信此安装系统可以用于许多应用中。如果你有兴趣,可以直接下载下面的STL文件,或者你也可以使用23_00来编辑文件。

点击箭头可展开各部分。

按钮外壳

06_00
Main Assembly - Button Shell Top.stl (329.8 KB)

07_00
Printer Button Assembly - Button Shell Bottom.stl (771.7 KB)

支颈和支臂

12_00
Printer Button Assembly - Display Neck Mount.stl (984.8 KB)

13_00
Printer Button Assembly - Arm 3H_Inset_Center.stl (324.9 KB)
Printer Button Assembly - Arm 3H_Outside.stl (142.3 KB)

14_00
Printer Button Assembly - Arm 3H_Inset.stl (226.3 KB)

15_00
Printer Button Assembly - Arm 2H_Long.stl (113.6 KB)

右侧支架

16_00
Printer Button Assembly - Bracket Right Top.stl (604.6 KB)

17_00
Printer Button Assembly - Bracket Right Bottom.stl (345.0 KB)

左侧支架

18_00
Printer Button Assembly - Bracket Left Top.stl (604.6 KB)

19_00
Printer Button Assembly - Bracket Left Bottom.stl (345.0 KB)


装配

我添加了大量图片(见下文)来展示装配过程的每个步骤。借助这一过程,我制作了非常平滑且简单的滑动机制,同时将按钮或显示器放在了适当的位置。

点击箭头可展开各部分。

准备按钮外壳

安装滑动臂

我利用现有的弹簧组装了滑动臂,因为我推测这种滑动臂将有助于长时间提供更加均匀和恒定的压力。但这一想法缺少数据的支撑。大家可能正好使用了标准螺栓和螺母。

安装下臂
准备安装支架

安装支架将取代你的Prusa打印机上的现有支架。虽然我确实可以将这两个物料结合在一起,但我想要的是一种模块化的感觉,可以使用不同类型的附件进行扩展。

在向打印机添加底部支架或向支臂添加顶部支架前,你需要将这两个部件连接在一起。否则,你将无法连接螺栓或其他零件。

将按钮外壳接入安装支架

在打印这些模型时,我在外部支臂中为螺丝头留了一些空间。当前的模型中已经改变了这一点。我发现直接使用螺栓更加合适。为了进行实验,我插入了一些尼龙螺母,并发现它们非常容易插入且非常坚固,还可消除拆坏模型的风险,因为可以轻松进行替换。我的结论是,它们并不是必须的,但这个想法值得进一步探索。[/left]

安装按钮

由于我在开关上焊接了两组电线,一组用于LED,另一组用于开关功能,所以我用不同颜色的电工胶带标记每组电线。

LED的胶带为蓝色。
开关功能的胶带为红色。

注意,如果你正在构建此项目,请先查看以下内容然后再继续操作。

首先,将按钮插入外壳时,请确保已有缠绕一圈的线圈。这有助于对电线进行一些操作。其次,请注意电线是如何穿过支臂的。电线应顺利穿过支臂,而不会被挤压或夹住。


安装

这是最容易的部分。我只是从Prusa打印机上移除相应的支架,然后将其替换为此组件。


技术内容

第一部分 — Raspberry Pi

正如我之前关于添加触摸显示器的帖子中所说的那样,我使用的是Raspberry Pi 4B来操作Octoprint。Octoprint反过来也可以操作3D打印机。

如果你刚刚接触Raspberry Pi,我建议你先查看他们网站上的相关文档。

该网站上还提供GPIO的指南。借助该指南,我可以确定应将电线连接到哪个引脚。

点击以下链接查看此指南和更多GPIO信息:

我使用的按钮已经安装了一个电阻,支持12V以下的电压。因此,Pi上的5V电源就已足够。由于我的Prusa是24V,因此它似乎是最好的选择。

我决定将LED连接到引脚4(5V)和6(接地)上。

我需要将按钮连接到IO,并决定使用GPIO17(引脚11)。

我选择将内部上拉电阻设置到引脚17,这样一来,当它作为有效低引脚接地时,我的事件就会触发。我将稍后介绍这方面的设置。

我的连接表:

功能 引脚标签 引脚数
LED阳极 5V 引脚4
LED阴极 GND 引脚6
开关输入 GPIO17 引脚11
开关接地 GND 引脚9

第二部分 — Octoprint

我在Raspberry Pi上使用Octoprint软件来控制打印机。本文并未涵盖具体的安装过程,但你可以点击以下链接了解更多信息:

访问Octoprint服务器的标准方法是使用网页浏览器。默认的网址为:http://octopi.local

只有当服务器连接到与浏览设备相同的网络并且没有更改名称时,该链接才能访问。你也可以使用本地IP地址。差不多类似于192.168.1.18。

第三部分 — 安装插件。

我还需要一种方法,能够从按钮上获得信号并加以解释。为此,我选择了这个插件:

在Octoprint主界面上,点击扳手图标即可弹出设置对话框。

向下滚动浏览左侧菜单,然后选择“插件管理器”。其中包含用于搜索插件的选项,在本例中为“外壳插件”。如果未安装该插件,请点击“获取更多”按钮,系统将弹出对话框,可供你下载。最后,查看Pi的一些提示并将其重新启动,即可完成安装。

第四部分 — 设置

G-代码是向打印机发送指令的最简单方式。我找到了一篇非常详细的说明文章:

以及Prusa特定的命令:

我使用以下G-代码来指示打印机暂停,然后把加热床移到离我更近的地方。

M601 ENTER
G1 X125 Y200 ENTER

M601只能使打印机暂停。而且打印机并不会立即暂停,因为它需要再完成当前的指令集之后才会读取此指令。

G1指示打印机进行移动。在这种情况下,X轴被指示到X坐标125,而Y轴被指示到Y坐标200。

此插件的设置需要添加一个输出。你可以在Octoprint主页上点击扳手图标,以访问这些设置。只需在左侧框架中选择“外壳插件”即可。

我在这里设置了输出的名字以及G代码。以下是我的设置:

接下来,我需要设置输入。设置页中包含了针对适当设置的有效建议。我选择将内部上拉电阻设置到引脚17,这样一来,当它作为有效低引脚接地时,我的事件就会触发。

设置输入时需要选择输出。这就是必须先创建输出的原因。

以上就是我向Prusa MK3S添加功能实用、外观显眼的大红色按钮的全过程。这个项目非常有趣,开启了未来的各种可能性。

一如既往地祝你:

10_00打印愉快!


请随时留意我的更多作品,也欢迎你在此回复自己的作品。

我的大部分设计都是使用Onshape创建的。如果你还没用过Onshape,可以尝试一下。它支持多人对一个项目开展自己的迭代,在我们需要保持社交距离的时候,这绝对是个不可多得的功能。你可以先按照自己的需要编辑此文件,并与朋友进行分享。如需了解有关OnShape的更多信息,请点击以下链接。

Onshape | Product Development Platform

你可以使用自己喜欢的3D打印机丝材打印本文中的模型。文中的物料,以及你可能需要的几乎任何电子元件都可以通过Digi-Key获得。