经过三年的工作,我终于完成了我的自动给药机。我有时候很健忘。每次出门前,我都要提醒自己带上钱包、手机、钥匙和眼镜,通常至少要提醒五次。在大多数情况下,我已经建立了常规和流程来帮助我处理它,当然,除了我的日常补品(你知道,多种维生素,ω - 3,以及类似的东西)。大约三年前,我终于决定解决这个问题,制作一个自动分配器。顾名思义,它分配我的日常补充在任何时候,我需要他们。
几个月后,我得到了一个比较稳定的版本。最后,我对它的工作方式非常满意,所以我把它放在架子上,让它做了一段时间的工作,作为一种长期的可靠性测试。然后,在今年年初,我决定把这个项目推进到终点线。
如果你对自己制作药丸分配器感兴趣,我强烈建议你看这个教程,在那里我涵盖了你需要的一切,并解释了如何把它放在一起。然而,本文概述了我所做的更改以及为什么要这样做。
我做了一些改动,大部分是在项目的电子部门。
电机和电机驱动器
第一个重大变化是电机。在最初的设计中,我使用了带有相当hack的工作方法的伺服电机,以使它们比设计的更远,并且它们的可靠性有点混合。对于最新版本,我换成了N20微型减速电机,它做得非常好。它们更安静、更可靠。不幸的是,引入直流电机需要增加直流电机驱动器。我选择了一个DRV8833,一个h桥电机驱动器,设计用于在两个方向上驱动两个直流电机。然而,由于药丸分配器只需要电机朝一个方向运行,我可以使用同一个驱动器来运行四个电机,这恰好是每个药丸分配器单元支持的最大电机数量。多巧啊。
Pill-Detection传感器
另一个重大的变化是传感器可以检测药丸何时被分配。我最初使用了一个非常便宜的、现成的振动传感器,它完成了工作,但我必须推动设计,使传感器尽可能靠近药丸掉落的区域,即使这样,它对较小的药丸也不是特别可靠。在网上搜索之后,我终于找到了压电振动传感器。它们非常薄,我可以把它们直接装在装药片的杯子下面,在我的测试中,它们可靠地检测出直径为5 毫米的药片(比标准的布洛芬和扑热息痛药片小)。最重要的是,由于压电传感器使用模拟输入引脚,因此使其正常工作所需的唯一其他组件是两个电阻。
实时时钟
电子部门的最后一个重大变化是增加了一个实时时钟。我最初的版本只是使用NTP协议从网络获取时间;然而,它最终向网络发送垃圾邮件,因为我至少每分钟请求一次时间。通过添加RTC,我只需要设置一次时间,然后再也不需要查询网络,这意味着在设置之后可以脱机运行整个系统。
Web调度界面
最后一个大的改变,可能也是我花了最长时间来实现的,就是增加一个便于调度的web界面。在整个项目中,药丸分配器的设置是硬编码的,这对大多数爱好者来说是可以接受的。那些给视频发邮件、发信息和评论的人知道如何把东西放在一起,但不知道如何编写程序。所以我终于强迫自己把它做好了。信不信由你,这并不像看起来那么难,尤其是现在AI已经和它的编程能力一样好了。整个过程只花了几天时间就达到了抛光状态,我甚至添加了一个黑暗模式。
简单的设置
现在,设置药丸分配器就像组装电子设备一样简单,把脚本上传到Arduino上,然后浏览到终端显示的IP地址。从那里,你可以配置一切,从RTC和电机速度检测阈值到何时分配药片的时间表。
代码中仍然缺少一些我希望最终添加的特性。目前,药丸分配器无法知道料斗里有多少药丸;如果没电了,电机就会一直旋转下去。我计划增加药丸的数量,每次分配药丸都会减少。