如何用微控制器测量水箱的水位?
带微控制器的水箱液位
好吧,假设您在地球上操作(而不是在轨道上),您可以使用使用微型测量仪测量的浮子传感器。问题是:您需要知道确切的水平,还是只需要在达到高/低时进行某种旅行?
在“特定级别旅行”主题中,您可以获得这样的开关 - 通常浮子包含某种姿态感应开关。当水位较低时,浮子最终位于其一侧,并且开关“关闭”,而升高水位则迫使浮子直立,因此“打开”。这些通常用于污水泵。它们非常可靠并且很容易处理,尽管您必须小心正确地锚定它们,并且您必须确保没有任何东西妨碍浮动。
如果您需要知道实际水平,那么您有很多选择,但没那么简单。您可以使用诸如超声波传感器之类的东西(超声波束从水箱顶部向下发射以反射水位)。
这些家伙似乎在为 BIG 坦克制作液位指示器,其中包括一个浮子和一个连接在一起的外部重量。当浮子在流体上上下浮动时,外部指示器会相应移动。您可以构建类似的东西,没有比光电池更复杂的东西来读取水平(如果它是一个大坦克,或者您想要很多粒度,您需要很多光电池)。
或者,采用电缆浮动的想法,您可以放置一个在电缆移动时移动的惰轮,然后在其上连接一个编码器。这将允许您以相当高的准确度跟踪级别。
我知道即将出版的书Practical Arduino包含一个水箱深度传感器项目,它使用压差传感器测量水箱底部的水压,并据此计算水箱的装满程度。
原理图在上面的链接中,以及指向 github 上源代码的链接。
(完全披露:我与这本书没有任何关系,但在我们当地的黑客空间见过其中一位作者几次。)
我喜欢但没有尝试过的一种方法是将两个绝缘板放入液体中。没有传导、电解、污染……它们形成了盖子的板。并用于某种振荡器(由您选择)因为水是一种很好的透析器,所以频率很大程度上取决于板之间的水量。测量频率以获得深度。
您可以通过应用交流信号并测量流过电容的电流来获得类似的结果。
更多细节会有所帮助,但我认为超声波方法可能是最简单的,从概念上讲,无论如何(因此需要更多细节:-])。我使用 MaxSonar 超声波传感器为地下室的燃油箱组装了一个液位传感器。我正在切换到一个 Parallax Ping 传感器,只要我能拿到一个。事实证明,MaxSonar 装置有点痛苦。原来它只有一英寸(2.54 厘米)的分辨率,这相当于我的油箱里将近 7 加仑。我将 MaxSonar 装置放在水箱顶部的 PVC 盖中,朝下(液体接触不到)。