RRoy 发表于 2025-8-6 12:00:00

制作一个3D打印的三轴机械时钟

本帖最后由 RRoy 于 2025-8-6 10:03 编辑







本期分享的项目是一个机械式数字时钟,三个数字轮分处于不同的轴线上(X、Y 和 Z),彼此错落有致。- 视觉上很酷,同时兼具实用性。- 只需一个步进电机驱动。- 所有零件都设计在 180 x 180 毫米的范围内。- 手动(物理)操作即可轻松调整时间。- 数字大而清晰,能见度高。









### 所需材料


- 28BYJ-48 减速步进电机及配套的驱动板- 任意微控制器(如 Arduino、ESP32、树莓派等)- 各种规格的2毫米自攻螺丝

### 第1步:打印


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



除了`10min-rotor.stl`之外,其他零件都不需要支撑结构。


要仔细清除毛刺和多余的塑料,尤其是在轴孔和滑动表面周围。数字部分最好使用不同颜色的材料打印。




打印出来的数字零件很难区分,特别是**“6”和“9”容易混淆**(但形状并不完全相同)。用来显示小时、分钟个位和分钟十位的数字模型,它们背面的弧度或弯曲程度是不一样的。



所有涉及的3D打印文件可以在文末打包下载。


### 第2步:组装 3D 打印部分
你可以用胶水(例如:强力胶)或塑料焊接的方式将数字固定到转轴上。

我推荐**焊接法**,因为它简单、快捷又美观。使用控温烙铁,温度设定在**低温(250摄氏度)**,以免材料产生有害烟雾。









转轴上的孔是为每个数字设计的,固定数字前请先确认位置是否正确。


### 第3步:组装右侧部分


- 将`int-gear.stl`和`hour-driver.stl`装到`frame-right.stl`的孔中。- 将两个调节器装到框架上。- 使用`1min-holder-1.stl`和`1min-holder-2.stl`将`1min-rotor.stl`固定在框架上。- 最后检查一下所有零件能否顺利转动。


### 第4步:组装分钟十位数字部分


- 将`10min-driver.stl`和`10min-rotor.stl`组装起来。零件的方向由连接件上的梯形凸起决定。- 对齐齿轮上的两个标记,让它们彼此相对。- 务必确保`10min-adjustor`已安装在10分钟驱动器上。

### 第5步:组装剩余部分



- 安装步进电机和`motor-gear.stl`。- 将小时转轴与左侧框架组装。- 用螺丝固定其余的零件。

### 第6步:电路连接



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

下面的程序文件(`numechron.ino`)是针对 Arduino 的示例。如果你使用其他微控制器,需要以每分钟**1536步**的频率驱动电机。
Arduino Nano 和驱动板的外壳可以在这个链接找到:`https://www.thingiverse.com/thing:5145523`
如果电机反向旋转,请修改源代码:
从 `int port = {7, 6, 5, 4};`
改为 `int port = {4, 5, 6, 7};`
Arduino的文件`numechron.ino`也可以在文末打包下载。

### 第7步:时间调整


- 小时和分钟十位的转轴可以用手**向前**转动来调整。- Arduino 程序在复位后会立即驱动电机。因此,你可以**通过按复位键**来前进一分钟。- 分钟个位的转轴也可以通过复位键来对齐。当数字转到正确位置时,按下复位键即可。


### 第8步:80% 缩小版


这是一个更小尺寸的版本。
将所有零件按**80%比例**打印。
步进电机本身无法缩小,所以需要使用修改过的`frame-base.stl`和`motor-gear.stl`模型。这些模型在打印时也**必须按80%比例缩放**。
如果`1min-holder-1.stl`打印出来太薄,请改用`1min-holder-1-thicker.stl`。


缩小版 3D 文件也可以在文末下载。


### 第9步:可选零件



如果你将`right-frame.stl`打印成与转轴不同的颜色,可以使用`colon-base-optional.stl`作为时分之间冒号的底座。








   四种类型的前面板(全覆盖或部分覆盖,不透明或蜂巢状)可以用来隐藏内部机械结构和未显示的数字。(除了部分蜂巢状的,其他都经过了测试,我相信它们能正常使用)。



独立的数字字符和前面板可以让你为每个数字设置不同的颜色。(每个单独数字的形状与一体式数据`all-digits-and-front-frame.stl`中的形状相同)。

由于不允许上传 Blender 文件,可以在 Thingiverse 上查找源文件:`https://www.thingiverse.com/thing:6285769`


### 第10步:校准时钟速度



Arduino 的时钟精度不如普通的时钟。你可以通过校准来提高时钟的精确度。

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

在源代码中第3行的 `COMPENSATION_SECONDS` 值处,输入以秒为单位的误差值。如果你的时钟走快了,输入正值;反之,输入负值。

编译并上传程序到你的微控制器中。

至此,时钟就完工啦,期待大家尝试!
页: [1]
查看完整版本: 制作一个3D打印的三轴机械时钟