铁磁流体显示器:控制铁磁流体的252电磁铁基质

网友投稿 2019-08-19 12:07

学生项目,设计并建造了一个252个电磁“像素”的大型磁流体显示器。显示器的分辨率为12x21(预算中最接近16:9),目前处于最终测试阶段。

在应用拓展上,这个项目的所有细节将被分享出来,希望能激励你做出类似的事情——或者遵循你自己的梦想项目。

https://cdn.china-scratch.com/timg/190821/120K31A3-0.jpg

背景

作为奥斯陆大学的一群学生,我们设计并制造了一个具有252个电磁“像素”的大型铁磁流体显示器。显示器的分辨率为12x21(我们的预算最接近16:9),目前处于最终测试阶段。矩阵将控制铁磁流体并充当缩减功能显示,这意味着它具有一些限制。

最明显的是由铁磁流体本身的缓慢引起的机械时间延迟。它只能“快速”移动,并且必须在重力作用下向上移动,这意味着它不可能神奇地从任何地方打开一个像素。然而,“如此之快”是足够快,以至于由于重力而迅速下降。这意味着不会像普通屏幕那样从视觉的持久性中获得任何帮助。此外,重力确保如果为相邻磁体的列供电:更多的铁磁流体将积聚在较低的像素上,从而使上部像素耗尽。因此该系统要求基本上是:

  • 每个像素必须单独供电;

  • 系统必须实现对每个像素施加不同保持力的方法;;

现在,对于第2点,显而易见的解决方案是PWM调制为每个磁体供电的信号(如第1点所述)。但是,任何带有252个PWM引脚的微控制器是不为人知的。我们并不知道一个价格合理的微控制器,其中有252个引脚,真的。因此,首先必须找到一种方法来扩展该项目所需的许多引脚,以及所需的引脚数量。使用的解决方案是串行/并行移位寄存器。这解决了第1点,但却摆脱了关于单个PWM功能的梦想......或者是这样吗?那么,解决这个问题的方法是在软件中实现PWM。这根本不是最佳的,因为它使该项目的PWM频率取决于主循环的执行时间。然而,随着最近的一些升级,似乎运行得足够快,在频率抖动方面给了一些余地。关于快速代码的主题还有更多关于这个故事的结尾,但是现在,一起看看项目是如何演变的。

原型(基于Arduino Mega)

当开始这个项目时,我们不确定如何做与该项目相关的任何事情,所以唯一合乎逻辑的做法是从一个比计划的252像素“怪物”更小的规模开始。因此,我们构建了一个较小的6x6原型,将其连接到单个驱动器PCB(最多28个磁体,因此只连接了6x5个)来测试一切是如何工作的。结果是令人惊讶的好,所以就继续致力于可以在最终显示中使用的设计。

当完成全尺寸显示时,我们可能会重新审视较小的版本并制作一个单独的项目,因为它更便宜,更容易为其他铁磁流体爱好者重现。

许多小时的实验

从看到自己对原型的性能满意,到全尺寸显示器完全组装完成,许多时间都花在了从电路到实际铁磁流体罐本身的各种试验上。

下一步

现在,由于系统缺乏视觉持久性的帮助,磁铁需要单独控制而不是多路复用。然而,通过使用串行/并行移位寄存器和ULN2004驱动器IC的PWM实现这种单独控制,因此仍然需要移出串行序列。因此,实现这种PWM的方式是软件。基本上, PWM频率是由主循环的执行时间动态改变的,必须确保不会占用大量资源/ CPU时间。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com