3D 打印的机械数字时钟

基于 UNO 的 3D 打印机械时钟

Cherry

喜欢

1714
浏览
1
喜欢

> 更多图片

项目状态:填坑进行中
开放度:公开
所属分类:电子
发布时间:2023-12-12
最近更新:2024-03-18

详细说明


本期教程是一款 3D 打印的机械数字时钟,它有三个显示数字的轮子,它们分别位于不同的轴(X、Y、Z)上。这款时钟设计独特,实用性强,喜欢的话可以复刻一版。

特性
这款设计独特的时钟是由单个步进电机驱动
所有零件的尺寸均在 180 x 180mm 以内
通过手动(物理)操作轻松调整时间
时钟上的数字字符较大,时间清晰可见

时钟设计时间表
2023年10月29日:增加 80% 缩小版打印型号。
2023年11月4日:修改 “motor-gear.stl”,增加了一个 1mm 的轴圈,以便与电机轴更好匹配。
2023年11月4日:增加蜂窝式前面板。
2023年11月6日:我注意到我上传了错误的.ino文件(程序),与电路的照片不匹配。随后,我上传了正确的版本。
2023年11月10日:增加了完全透明和部分不透明的前面板。
2023年11月18日:改进代码,直接输入以秒为单位的时钟速度补偿值。

链接表


文件库

numechron.ino
[1943 Bytes at 2024-01-26, 50 次下载]

stl2.zip
[190699 Bytes at 2024-01-26, 39 次下载]

stl1.zip
[1883591 Bytes at 2024-01-26, 63 次下载]

stl3.zip
[1990745 Bytes at 2024-01-26, 62 次下载]



教程

组件清单

28BYJ-48 齿轮步进电机 x 1
电机驱动板 x 1
Arduino x 1(或者其他微控制器,ESP32、Raspberry Pi 等)
2mm 自攻螺丝 x 若干

3D 打印组件

请按照提供的资料下载打印所有零件。

除了 “10min-rotor.stl” 外,其他组件不需要支撑结构。

请清除组件上的碎屑和斑点,尤其是轴和齿轮的表面。
数字字符用不同颜色的材料打印。

数字字符部分很难区分。特别是数字 6 和 9,但其实两者的形状并不相同。数字字符背面的弯曲率在小时、1 秒和 10分钟的位置不同。

3D 打印文件在这里可以下载:
https://make.quwj.com/project/478

组装 3D 打印部分

可以使用胶水或塑料焊接技术将数字粘在转轴上。
我推荐塑料焊接,因为它简单、快速且美观。使用温控烙铁将其设置为低温(250℃),以避免材料烧焦。



转子上的孔被每个数字隐藏起来。在固定数字之前,请确认位置是否正确。

安装右边部分

将 “int gear.stl” 和 “hour driver.stl” 连接到 “frame right.stl” 的孔上。
将两个调节器连接到支架上。
使用 “1min-holder-1.stl” and “1min-holder-2.stl” 将 “1min-rotor.stl” 连接到支架上。
最后检查一下所有零件能否顺利转动。

安装秒钟

组装 “10min-driver.stl” 和 “10min-rotor.stl”。部件的方向由连接部件之间的梯形键(图中红色标记)来调节。
将齿轮上的两个标记相对对齐。
请确保将 10 分钟调节器放在 10 分钟驱动器上。

安装剩余部分

连接步进电机和 “motor-gear.stl”。
将时针转轴与左侧架子组装在一起。
用螺钉连接其余零件。

电路部分

你可以选择你喜欢的微控制器来驱动步进电机。

我选择的是 Arduino 主板。以下程序(“numechron.ino”)是基于 Arduino 的示例。如果使用其他微控制器,每分钟驱动电机为 1536 步。
Arduino nano 和驱动板,它的外壳可参考: https://www.thingiverse.com/thing:5145523
如果电机旋转方向相反,请更改源代码

int port[4] = {7, 6, 5, 4};

int port[4] = {4, 5, 6, 7};

另外, Arduino 程序运行资料在这里可以下载:
https://make.quwj.com/project/478

调整时间

小时和 10 分钟的转轴可以用手旋转,但只能向前旋转。
Arduino 的程序在重置后立即驱动电机。因此,你可以通过重置按钮继续 1 分钟。
同时也可以通过复位按钮对 1 分钟的转轴进行校准。当数字到达正确位置时,按下重置按钮。

80% 缩小版

在这里提供了较小的版本。

所有零件都在原来基础上 80% 的比例打印。
使用 “frame-base.stl” 和 “motor-gear.stl” 的修改后的型号,步进电机不会改变。打印时,这些模型都要缩小到80% 的比例打印。
如果 “1min-holder-1.stl” 太薄,那么请使用 “1min-holder-1-thicker.stl”。

缩小版 3D 文件在这里可以下载:
https://make.quwj.com/project/478

可替代的部件

如果将 “right-frame.stl” 打印为与转轴不同的颜色,请在小时和分钟之间使用冒号(:),组件为“colon-base-optional.stl”。




这里还有另外四种不同类型的前面板(全面板、部分面板、不透明面板或蜂窝面板),用于隐藏机械部分和不用显示的数字。(除了部分蜂窝,它们还没有测试,但应该可行)

将数字字符和前边框分开,赋予每个数字不同的颜色。(每个数字的形状与一体式数据相同,“all-digits-and-front-frame.stl”

文件可在 thingeverse 上找到源文件,https://www.thingiverse.com/thing:6285769

同时,可替代部件 3D 文件在这里可以下载:
https://make.quwj.com/project/478

调节的时钟速度

由于 Arduino 的时钟不如普通的时钟准确。请调整该值以提高时钟的准确性。

测量你的时钟的误差。正确调整时钟,等待 24 小时,然后以秒为单位测量时钟的误差。

在源代码的第 3 行输入名为 COMPENSATION_SECONDS 的值的错误值(以秒为单位)。如果你的时钟走的太快,输入正值,反之亦然。
编译程序并闪存到微控制器中。