3D打印爱好者们可能还记得,在某次打印中,你对自己说“嗯,这有点不对……”,然后觉得有必要进行一些干预。我不能说我经常遇到这种情况,但当它发生时,我发现3D打印机通常不具备合适且方便按下的停止或暂停按钮。这就是为什么我决定要增加一个这样的按钮,虽然打印机内置了用于暂停或停止打印的工厂(产线生产)选项,但是你需要点击,旋转旋钮,哦,不要转得太多,啊,再往回一点,天哪,再向前一点,然后才能点击停止,这个过程对我来说太复杂了。我宁愿只按一个按钮。而这正是我的解决方法。
如果你碰巧需要我在这个项目中使用的任何螺母、螺栓、垫圈或其他五金件,请看看下面的帖子:
我的打印机的加热床几乎接近胸口的位置,因此比大多数打印机都要高。所以,我需要一个低一点的按钮。然而,我却遇到了极其严苛的条件,大大限制了我的预见能力。我希望在某个时候,我的打印机能够处于正常的桌面高度上,并且通过一个按键即可进行调整。
我还在3D打印机上安装了一个触摸显示器,它采用了一些相同的零件和连接方式。你可以在这里查看:
我确信此安装系统可以用于许多应用中。如果你有兴趣,可以直接下载下面的STL文件,或者你也可以使用来编辑文件。
点击箭头可展开各部分。
按钮外壳
Main Assembly - Button Shell Top.stl (329.8 KB)
Printer Button Assembly - Button Shell Bottom.stl (771.7 KB)
支颈和支臂
Printer Button Assembly - Display Neck Mount.stl (984.8 KB)
Printer Button Assembly - Arm 3H_Inset_Center.stl (324.9 KB)
Printer Button Assembly - Arm 3H_Outside.stl (142.3 KB)
Printer Button Assembly - Arm 3H_Inset.stl (226.3 KB)
Printer Button Assembly - Arm 2H_Long.stl (113.6 KB)
右侧支架
Printer Button Assembly - Bracket Right Top.stl (604.6 KB)
Printer Button Assembly - Bracket Right Bottom.stl (345.0 KB)
左侧支架
Printer Button Assembly - Bracket Left Top.stl (604.6 KB)
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添加功能实用、外观显眼的大红色按钮的全过程。这个项目非常有趣,开启了未来的各种可能性。
一如既往地祝你:
打印愉快!
请随时留意我的更多作品,也欢迎你在此回复自己的作品。
我的大部分设计都是使用Onshape创建的。如果你还没用过Onshape,可以尝试一下。它支持多人对一个项目开展自己的迭代,在我们需要保持社交距离的时候,这绝对是个不可多得的功能。你可以先按照自己的需要编辑此文件,并与朋友进行分享。如需了解有关OnShape的更多信息,请点击以下链接。
你可以使用自己喜欢的3D打印机和丝材打印本文中的模型。文中的物料,以及你可能需要的几乎任何电子元件都可以通过Digi-Key获得。