本期为大家带来一个「宏篇巨作」——一个极具未来科技感的磁流体显示屏。
之所以称为「巨作」不仅因为项目本身的硬核程度,更因为要花费很多银子和大量的时间来试验和调试。请看视频。
由于该项目投入较大,而且制作这类项目通常会有设计者自身的想法与需求,设计要求也会有所不同。所以本篇不会详细的介绍项目是如何具体构成的,主要介绍构建项目中可以学的知识、可以避免的失误的地方、需重点注意的细节以及处理铁磁流体的一些硬核技能。
材料清单FerroTec EF-H1 铁磁流体 60ml × 1
JSP-1515 电磁铁 × 252
10mm M4 螺丝 × 252
两针脚的连接器 × 252
丙烯酸树脂板 × 2
定制电路板 × 10
1200W 服务器电源 × 1
PS 配电板 × 1
Molex 端口(MiniFitJr)电源线 × 10
Teensy 扩展板 3.6 × 1
DS3231 RTC 模块 × 1
胶合板 × 若干
木螺丝 × 若干
木胶 × 若干
2mm 玻璃板 × 若干
6mm 玻璃板 × 若干
超级胶水 × 若干
粗盐 × 若干
蒸馏水 × 若干
电线 × 若干
1、罐子要保持干净,防止黑色的磁流体被弄脏。
在开始之前,先来介绍一下铁磁流体。你可以了解关于磁流体容器的小知识。其中,重要的一点是在加入铁磁流体之前要先加入盐水。
这里采用的是玻璃容器。它比丙烯酸树脂材料更容易保持干净。虽然在项目分享后,收到其他 maker 关于使用丙烯酸树脂材料的成功经验,而且最近的“超疏水涂层”有助于丙烯酸树脂材料的使用,但目前已没有机会进行测试。
2、显示功能的通用性。
在通常情况下,永磁体和电机是激活铁磁流体的好方法。例如时钟。我们希望该显示器不仅能显示时钟功能,还能够实现一些炫酷的动画。因此,我们使用电磁铁代替永磁体和电机。
其优点有:
- 机械设计更简单。
- 活动部件更少。
- 运转更加安静。
- 由于可以完全关闭电磁体,无需离开容器,体积更小。
- 通过以其他方式发送电流来改变磁体的极性(以后实现)。
3、铁磁流体是垂直运动。
因为没有水平显示器,不能以 45° 或类似角度镜面的显示。项目采用垂直的方式进行,在展示物体的时候都必须与重力对抗。
由于设计限制,需要分别控制每个磁体,并将力施加到铁磁流体上。不能使用任何多路复用技术来简化电子设备,因为那样会很大程度的降低占空比,以至于无法提起铁磁流体。
最后,决定采用动态的更改“像素”的力的方法,通过这种精确手段来实现项目的优势。由于电磁体在较低的占空比下施加的力较小,因此可以使用脉宽调制 PWM 来控制铁磁流体定点给力的大小。但也有局限性,例如点的最大和最小尺寸无法控制。
需要注意的是:要对电磁体进行单独控制,并且没有微控制器可以提供 252 个 PWM 的输出,稍后将再次讨论。
4、能够显示时钟。
正如前面提到过,显示时钟是通用的功能。因此,需要足够的磁铁来显示四位数字和冒号分隔符,例如“13:37”。最小显示尺寸为 5×3 像素,但还需要在每个字符之间分隔一列,而且底部需要分隔两行。最后,最小矩阵为 7×17 像素。
5、选用 16:9 显示格式的内容。
由于时钟并不是显示器上显示的全部内容,因此没有选择 7×17 的磁铁。最后选用 16:9 的格式,希望能够具有较高的分辨率和像素密度。
提高分辨率意味着需要大量磁铁,而较小的磁铁不一定比大磁铁便宜。最后,选择了直径为 15mm 的 12×21(252)的电磁体,事实证明效果还不错。
6、板载动画。
该项目是基于 Teensy 3.6 扩展板构建的,附带 SD 卡插槽,能够使项目更加轻松的完成。与最常见的 Arduino 开发板相比,它的优势是速度极快,并且兼容了Arduino 的所有优势。不过,最初使用 Arduino Mega 进行原型制作,而对于下一代 PCB(V2),会一直使用它。稍后在讨论 PWM 时,将会详细介绍。