Pendolux.

2,303

18.

5.

简介:Pendolux.

我一直对机械硬盘中存在的精密力学感到着迷,每次我都有一个破碎的机制,我都会试图找到它的用途。
这与我认为抛弃这么珍贵的技术是一种耻辱,让我想起这个项目。

该项目的主要思想是使用与旧硬盘磁头的移动相关的机制来创建显示当前时间的显示器(它可以很容易地改变以显示无论您想要的方式)。

通过用LED的杆更换硬盘磁头并通过在正确的时间打开LED,使用人眼的持久性形成图像。对于LED杆,我使用配备有众所周知的LED WS2812B的LED杆,其能够仅用一个引脚控制LED(除了电源之外)。

应该指出的是,您在视频中看到的闪烁不是真实的。它可能是由于我相机的扫描频率与显示器的刷新率之间的干扰。即使是噪音也不像视频上的声音一样明显。

我也想指出这是我的第一个指导,请原谅我的缺乏。

补给品:

  • 机械硬盘
  • 一个Arduino Board(例如Arduino Pro Mini或Wavgat)
  • 两个PMOS,例如AO3401(http://www.aosmd.com/pdfs/datasheet/ao3401.pdf)或任何可以在逻辑级驱动的任何PMO
  • 两种NMOS,例如AO3406(http://aosmd.com/pdfs/datasheet/ao3406.pdf)或任何可以在逻辑级驱动的NMOS
  • 实时时钟模块以5伏(例如RTC Mini模块Shorturl.at/jsuvv)操作
  • 两个100欧姆电阻
  • 两个4700欧姆电阻
  • 一个电容器(> 220UF,> 10伏)
  • 两个m2.5螺钉和螺母

第1步:获取机械硬盘驱动器

首先,你需要获得一个旧的硬盘。

我个人使用了图片中的那个。不幸的是,机械部分从一个模型变化到另一个型号。所以你必须将设计调整到一旦打开的内容。

第2步:拆卸硬盘

一旦发现受害者,打开它并摆脱光盘,使光盘引脚的无刷电机(例如,对于其他项目非常有用,例如我创建了一个小型砂轮,但这是另一个故事:-))和电路板。

你应该想出类似的东西。当然在这个阶段,你仍然有原来的头部(不幸的是,我没有用原来的照片)。

第3步:修改头部

然后,您将必须删除头部并将其替换为托管LED栏的支持。在我的情况下,我3D打印了支持。STL文件可在此处提供。但是,如前所述,它非常依赖于您将找到的硬盘类型。在矿井中,头部支撑孔,非常适合用第一螺钉(直径:2.5mm)锚定印刷部件。然后,我加入第二个螺钉,以防止印刷部分旋转。

第4步:将LED条带焊接到头部触点

为了操作,三根电线必须连接到LED条:VCC(5伏),GND和数据线。

项目的最精致部件之一是LED杆连接,因为条形是连续移动和振动强大的连接。因此,我决定使用将信号带到头部的原始扁平电缆。因此,我取下了头部上存在的集成电路,并且我将来自LED杆的电缆连接到连接到连接到硬盘的电子板的平板电路的三个点。我希望这些照片澄清了这一步。

步骤5:拆下磁铁支架上的任何端部。

为了稍微增加头部的移动的幅度,我已经移除了磁铁支架上的末端。

第6步:添加春天

为了使头部返回到中心位置,我将一个弹簧连接到硬盘中央的弹簧和头部的移动部分。

我用一根小线固定在预先存在的螺钉上。春天负责生产的很多噪音。我认为回报机制有改善的空间。任何好主意都是欢迎;-)

步骤7:使用磁铁作为弹簧的替代品(更好......)

作为弹簧的替代方案,更好的解决方案是将附接到线圈的磁体和安装在安装到硬盘上的支撑件上的两个磁体,以便释放连接到线圈的磁体。看图片。

我使用直径为5毫米的小磁铁和3毫米的深度,可在AliExpress上(https://www.aliexpress.com/Item/32866041091.html?spm=a2g0s.9042311.0.0.07424c4d7leaio)

支架上的磁铁安装在两个小2.5mm螺钉(胶合)上,因此可以微调距离并锁定所需位置。

随着时间的推移,这提高了噪声和可靠性。我已经包含了STL文件,这些部件非常小而不是很容易打印。

第8步:电子产品......

电子产品很简单,我们需要:

  • 微处理器板,例如Arduino-Pro Mini(我使用了Wavgat Clone,但任何其他板应该工作)。
  • 驱动阶段以驱动硬盘线圈而不重载微处理器。该阶段由分别由PMOS和NMOS形成的两个推挽对组成。由于所涉及的电流非常低,没有特别要求。唯一重要的是MOS切换到逻辑级别。In particular I used the AO3401 and AO3406 MOS in SOT23 that I had at hand.It is advisable to add a small resistance (for example 100 ohms) in series to the gate to avoid resonant effects and a pull-down resistor (e.g. 4.7K) to guarantee a low status when the microprocessor ports are still not configured. I have also included a picture of the mounted parts, an easy way of mounting SOT23 MOSs.
  • 一种跟踪时间的方法(我使用了一个实时时钟RTC微型模块,通过I2C线连接到处理器)
  • 显然,条带LED WS2812B
  • 在5伏管线上的慷慨电解电容器(> 220UF)。

块图应该足够清晰。

第9步:软件

我肯定比软件更好,所以我提前为我的编码风格而道歉。

最近我抛弃了我发现更强大的平台的Arduino开发系统。在任何情况下,代码都应该在arduino开发系统上没有问题。

请注意,只有使用PlatformoIO,才需要Platformio.c,并且在这种情况下,它应该重命名为platformio.ini。我不得不将它重命名为.c因为,因为出于不明原因,无法上传.ini文件。

定时

为了生成线圈的控制信号,我使用微型的微小器1,以32Hz的频率编程。在代码中,您将看到它以75 Hz开始达到缓慢的32 Hz,以实现平滑的开始。每次发生中断发生时,线圈的信号都被反转,从而在第一图的16 Hz处产生波形,其中两个通道表示线圈的节点。

Timer2负责列时序。它被编程为2 kHz(期间= 0.5us)。因此,在62.5(1/16Hz)的时间内,我们有125栏(= 62.5 / 0.5)。当定时器1交换机时,定时器2在“92”处初始化。该92确保列计数不是这样的,在扫描的中间列为0。然后,该列在每个Timer2中断时递增,当列达到124(最大列-1)时,它从0重新启动。因此,您可以通过改变Timer2的定时和中心阶段时基本上改变列数从92依赖。

所有这些“魔号”是硬件依赖性,应应调整到您的特定硬盘和弹簧(根据SPAN,SZstem的谐振频率等),但此解释应给您一个良好的起点。试用和错误工作正常:-)

输出数据

显示在两个传球中完成,第一次通过,让我们从左到右说,然后从右到左。

在第一个传递显示中,在列MINColumn开始,并停止在列MaxColumn(请参阅源文件中的#define)。

在第二个传递中,它首先在列MinColumn + Delta_Return中开始,并在列MaxColumn + Delta_Return停止。

当timer2触发时,它设置了一个标志:newcolumn。

在主循环中,测试NewColumn,当​​真实时,它是重置的,如果列范围对应于我们想要显示某事的范围,则阵列RGB相应地填充(由功能副本,CopyLetters,CopySeparators)填充另一国旗:纽迪塔被设置。

在计时器2中断服务例程中,当newdata为true时,它被重置,并且通过函数rgb_update_7转发到LED引脚的RGB数组。以这种方式,输出数据与运动同步,而不依赖于您所做的计算,以便决定导致开启。

我无法使用标准库(作为错配或Neopixel)来驱动WS2812B,因为中断的密集使用与此类库不兼容。相反,我使用了非正统的“直接驾驶技术”,使用Kevin Darrah在这个视频中解释的方法,谢谢凯文!

在第二个数字中,您可以将线圈波形和数据包看到LED同步到Timer2。

第三个图示出了驱动LED的数据的详细信息。

生成数据

从通过I2C总线从RTC读取的时间值开始生成数据。时间是每500ms更新一次。大数组编号包括每个数字的表示(5 * 7)。根据当前列,根据当前时间的数量的列被复制到阵列RGB。我认为这里的源文件是安静的自我解释。

转移

当我开始该项目时,我想在一次通过时显示整个时间。不幸的是,可用的角度非常窄,所以我必须只显示一部分时间并定期向左和向右移动显示的时间(参见视频)。

变量Xoffset包含换档值,并且根据标志偏移量的状态或递增或递减。

第10步:最终评论和可能的改进


功耗约为2瓦(5伏400 mA)。

该项目尚未完成,电子部件的实施仍然在面包板上,我仍然希望解决小问题。

突然噪音与弹簧更明显,几乎用磁铁解决了。

一种简单的方法来应对噪音可能是偶尔打开时钟,就像每十分钟一样几秒钟,然后将其关闭。

切割硬盘的支撑部分也很好(请参阅图片),以便LED栏在其后面没有任何东西。我还希望建立一个案例并垂直安装,导致透明度写入的数字。

第11步:操作pendolux

照明挑战

参加了这一点
照明挑战

是第一个分享

    建议书

    • 任何比赛

      任何比赛
    • 使它真正的学生设计挑战

      使它真正的学生设计挑战
    • 阻止代码竞赛

      阻止代码竞赛

    5讨论

    0.
    Technochic.

    4个月前

    我喜欢这个想法!这是最酷的上循环硬盘驱动器项目!谢谢你的发布。:)

    0.
    leogala.

    4个月前回复

    谢谢你。我很高兴你喜欢它

    0.
    Msameer39.

    4个月前

    优秀的想法和精彩的项目。投票

    0.
    ajoyraman.

    4个月前

    优秀的想法和精彩的实现!