风筝
发表于: 2020-2-1 16:51:43 | 显示全部楼层

在本篇文章中,您将学习到如何使用Arduino开发板、OLED显示屏和VL53L0X传感器模块制作非接触式液位感应设备。该感应器设备能够检测任何种类的容器中的液位!


液位测量的不同方法

大多数时候,工业上使用探针浸渍的方法来测量液位。探针浸渍法是将探针放置在液体中以测量其电导率的测量技术。该测量基本上是通过测量由水位变化引起的电阻变化来进行的。下图显示了这种方法。

The probe-dipped.png

探针浸入式液位检测方法。


在液位系统中使用的另一种方法包括仅检测液体的完整状态。例如,电动泵在检测到水箱已满时自动关闭。在该系统中,有一个基于浮子的传感器,该传感器会机械地关闭流量,这些系统通常很笨重,并且经常会出现由于机械故障而导致出错。


在本篇文章中,我们将使用第三种方法:利用VL53L0X传感器芯片的非接触式激光传感器模块。


什么是VL53L0X?

VL53L0X传感器模块使用基于激光的飞行时间(ToF)距离测距技术。它会从任何表面反射不可见的IR激光,然后测量光到达检测器所花费的时间。

vl.jpg

VL53L0X


VL53L0X装在一个小型分线板上,带有内置稳压器和基于I2C的器件。


其他规格包括:

●    重量:0.5克

●    工作电压:2.6 V至5.5 V

●    电流消耗:10 mA,峰值电流可以达到40 mA。

●    尺寸和宽度尺寸:0.5英寸×0.7英寸×0.085英寸(13毫米×18毫米×2毫米)

●    与微控制器(I²C)的通信:16位距离读数(以毫米为单位)

●    该传感器的范围:最长2m(6.6 ft)


Arduino草图

我们将使用两个Arduino草图。我们的第一个Arduino草图是校准草图。在这里,我们将测量一个空的液体容器从顶部到底部的距离,以毫米为单位。接下来,我们将基于第一个草图中的数据校准第二个Arduino草图。


所需的硬件

●    Arduino UNO

●    OLED显示屏

●    面包板

●    跳线

●    VL53L0X传感器模块

hardware.jpg


硬件接线

如下Fritzing图所示进行硬件连接。

diagram.png

硬件连接完成后,如下所示:

wire.jpg


校准液体容器

为了校准液体容器,只需将VL53L0X传感器模块设置在容器顶部,并记下OLED显示模块的值。本文中,使用的是旧的饮料瓶及其瓶盖。我在这个空瓶子的瓶盖上打了一个洞,并将传感器放在其上,如下图所示。

bottole.jpg


在本文结尾处提供了第一个草图的代码。上传代码后,将传感器放在瓶子的顶部,并在OLED屏幕上记下以毫米为单位的距离。在第二个草图中使用该值。

assembly.jpg

code.png


在第二个Arduino草图中更改上述值后,上传代码。现在,Arduino将开始以百分比显示液位。例如,如果瓶子/液体容器完全空了,它将在OLED屏幕上显示100%空。如果满了一半,它将显示50%空,依此类推。


如果该值超过100%,则再次校准构建以获取准确的结果。

result.jpg


该传感器模块非常容易实现以非接触方式测量距离。它可用于众多需要精确测量距离的项目。


以下是本文使用的完整代码: main.rar (1.29 KB, 下载次数: 104)

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1483



手机版|

GMT+8, 2024-5-17 11:17 , Processed in 0.047735 second(s), 9 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表