经过多次扭动手臂(我们不得不问),我工作的公司在休息室安装了几个 kegerators。有足够的空间容纳 4 个细条或两个普通大小的小桶。它们实际上是半个小桶,但大多数人只是称之为小桶。
休息室也是我们培训设施的一部分。我们还拥有大量的用户组。作为一群极客,我们中的一些人开始想出如何跟踪啤酒消费的想法。有很多想法被抛出,但我是那个采取行动的人。所以这是第一个啤酒追踪器。不确定这是否是最好的主意,但我决定建立一对,看看哪个效果更好。
我有一些限制:
- 我需要能够扩展这个项目以同时容纳多达 4 个不同的小桶。
- 让大部分(如果不是全部)部件远离潮湿区域
- 有一个最小的高度增加。不能有任何扭结的啤酒线。会有私刑。
经过一些研究,我发现大多数数字秤都使用某种形式的称重传感器。很多人将这些东西称为应变计。惠斯通电桥的基本威廉希尔官方网站 是:
这个想法是你在顶部和底部放置一个激励电压,并测量中心的电压。当一切都处于平衡状态时,检测电压为 0V。如果任何电阻发生变化,那么中心的电压就会发生变化。我们可以对其进行衡量并将其转化为有用的东西。
1. 给自己买一个便宜的电子秤。我在 Fry's electronics 找到了这个,售价大约 10 美元:
事实证明,这种秤非常适合细长型小桶。
2.打开秤。有几个螺丝,底部卡上了。卸下螺丝后,我使用了手机工具套件中的几个撬杆。这些东西可能有点棘手,因为它们真的不是要拆开的。慢慢来,正如我最喜欢的厨师所说:“你的耐心会得到回报”。
从底部取下盖子后,您可以看到所有电子设备和称重传感器。
请注意,有 3 根电线从称重传感器引出。这些表明它们中的每一个都是称为“半桥”称重传感器的称重传感器。每一个组成一半和一个正常的电桥威廉希尔官方网站 。我们有四个要处理。如果您将它们连接在右侧,它们将形成一座完整的桥梁。一旦我们有了它,我们就可以在桥上施加电压并测量变化。
这是原理图(来自 SparkFun):
幸运的是,SparkFun 已经通过这个 Load Combinator 为我们解决了这个问题。
3. 取出所有电子元件,留下称重传感器。那里有几个整洁的部分,您也许可以重复使用。现在只需将称重传感器读数、白色和黑色电线与负载组合器上的相应位置相匹配。LR = 右下,LL = 左下,UR = 右上,UL = 左上。
电线真的很小,我很难确保将它们焊接好并且不会将它们撕裂。慢慢来,耐心等待。
4.我很想在这个板子上使用RJ45模块,但是我的秤太短了。
所以我切断了预接线以太网电缆的末端。只需将它们的引脚 1-8 连接到适当的孔中即可。当你完成后,你应该有这样的东西:
5. 如果您单独购买了 RJ45 模块(就像我一样),请将这些部件放在一起。将模块安装在面包板上并获得电压表。此时,您应该能够测试您的工作。如果您在引脚 7 和 8 之间施加电压,并将仪表设置为引脚 4 和 5 上最敏感的设置,那么踩在刻度上应该会产生电压变化。变化不会很大,但可以衡量。如果你得到负电压,只需调换电线即可。
6. 现在我们需要将该电压放大到某个可用范围。执行此操作的标准方法是使用仪器放大。这些东西太棒了。他们可以很容易地接受一个小的电压变化,并以非常小的噪声将其放大 10、100 甚至 10000 倍,具体取决于分立器件。其中之一的基本威廉希尔官方网站 如下所示:
那里有许多流行的。我选择 INA114。它比非常流行的 AD620 更贵。我发现它更容易使用,而且 AD620 真的很喜欢有一个用于负电源的次级电源轨。由于我们实际上只使用单个正电源,因此 INA114 很容易以这种方式设置。如果您真的想要更便宜的芯片,请选择 AD623。它做同样的事情,但设计用于使用单个正电压电源。
您必须做的主要事情之一是设置放大器的增益。这是通过在引脚 1 和 8 之间插入一个电阻器来实现的。数据表上有一张图表,其中提供了许多电阻值和倍增系数的示例。
我选择了 1500 的倍增系数,这需要一个 33 欧姆的电阻。
一旦你连接了仪表放大器,你应该能够测量到一点电压变化。似乎所有放大器都有兼容的引出线,所以在引脚 6 和地线上放一个电压表。您可能会在什么都不做的情况下获得电压。我知道我做到了。我有 0.62 伏没有连接。还没有弄清楚该怎么做。
然后连接 RJ45 引脚,踏上秤,注意这次电压确实移动了。确保将电压表设置得足够高以处理 Vmax。
7. 接下来是模拟到数字部分。我使用了 Adafruit 的 ADS1115。这是一件非常敏感的事情,远远超出了这个项目的需要。但是,它确实有一些我利用的不错的功能。
我将 INA114 的引脚 6 馈入 ADS1115 的 A0 引脚。将 ADDR0 引脚接地,为 I2C 使用 0x48 地址。将 SDA、SCL、VDD 和 GND 连接到各自的位置。我还将 ALRT 引脚连接到 GPIO27,这样我就不必轮询芯片了。当一个值准备好被读取时,该行改变状态。
为了测试 ADS1115,我放入了一个简单的电位器并将引脚 A0 从清扫器上取下。它允许我在连接所有东西之前在不同级别玩设置。
此时是开始编码的时候了。
该程序遵循标准模式:
- 初始化 GPIO 和 I2C 控制器
- 设置 ADS1115
- 显示初始屏幕
- 读取数据。
8.校准时间。我在秤上放了一个已知的重量,在 A0 线上得到了很好的运动。注意与重量一起出现的数字。减轻重量并注意剩下的重量。以下是我得出的计算结果:
似乎我得到大约 0.2 盎司/刻度。这是疯狂的准确性。我知道标准量表不会报告到那个级别。
这个通过有一些问题。
- 我相信我太敏感了。
- 我期待非常线性的变化,我不相信我在这里有。我没有足够的已知权重来获取一组正确的数据。
最后的想法:
弄清楚我大学以来从未想过的事情很有趣。使用 4 个可能的模拟通道,我将跟踪所有的小桶。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !