利用ATmega328P设计一个水箱注水与液位控制系统
大家好!很高兴你们能来到这里。欢迎加入我们。在本教程中,我将为大家详细介绍Proteus的水位传感器库。这个库在Proteus软件中并不存在,我们首次将其引入。它将帮助您更好地理解水位传感器的工作原理和操作方法。
设计一个自动水箱控制系统,通过模拟水位传感器监测水位,并控制直流水泵(由L298N模块驱动的直流电机实现)。用户可通过两个按钮(使用中断功能)调节所需水位,LCD显示屏则实时显示当前水位、目标水位和水泵状态。
硬件组件:
•Atmega328P
•1 × 直流电机
•2 × 按钮
•16 x 2 LCD
•L298驱动电机
•1 个水位传感器
软件
如果你想获取一个目前Proteus中尚未提供的任何传感器的库,可以在下方评论区分享,我会尽力尽快创建并分享该库。
在继续之前,最好先弄清楚什么是水位传感器。水位传感器是一种电子传感器,用于检测水中是否存在水分。它通过测量水的电导率来判断是否有水。这类传感器主要用于防止漏水时水流外泄,常用于检测水位、降雨量以及漏水情况。
让我们深入学习如何下载并模拟Proteus中的水位传感器库。
Proteus 水位传感器库
下载文件时,它会以一个包含两个文件夹的.zip压缩包形式出现,这两个文件夹分别名为:Proteus Library 和 Proteus Simulation。
发动机与变速箱
现在,你需要打开包含三个文件的Proteus库文件夹,这些文件名为:
•WaterSensorTEPIDX
•WaterSensorTEPLIB
•WaterSensorTEP十六进制
复制这三个文件,然后将它们粘贴到Proteus软件的库文件夹中。
完成此练习后,您需要启动Proteus软件。如果它已经打开,请重新启动。
启动Proteus软件后,按照以下说明,在组件搜索框中查找可用的水位传感器:
当你搜索传感器时,会看到如下图。这是我们最近添加到Proteus库中的水位传感器库。
点击“确定”后,您会看到传感器以闪烁的图像形式出现,表示您可以将此传感器放置在Proteus工作区的任何位置。完成此操作后,您将获得如下结果:
工作已经完成了一半。你已创建了带有水位传感器的proteus工作区。
传感器布局
还在继续阅读吗?太好了。在深入讨论如何添加传感器的六角文件并运行Proteus水位传感器仿真之前,我们先来了解一下传感器的引脚和布局。这个水位传感器配有四个引脚,具体如下:
•(S):这是一个模拟输出引脚,用于连接电路的输入。
•(-):此引脚连接到地。
•(+):这是一个用于为传感器供电的电源引脚。官方建议将该引脚连接至3.3V至5V的电压范围。
测试引脚:此测试引脚用于Proteus仿真。在实时水位传感器上无法找到该引脚。
该传感器带有十条裸露的铜线,其中五条为感应线路,其余为电源线路。
尽管这些铜线迹之间没有直接连接,但当它们全部浸入水中时会相互连接。通常,它们被放置在一起,其中一条感测线迹位于两条电源线迹之间。
电路板上有一个LED,当传感器通电时会亮起。
水位传感器的工作原理
工作其实很简单。
暴露的平行导轨起到可变电阻的作用,其电阻值与水位直接相关。传感器电阻与水位成反比:
•当传感器完全浸入水中时,显示低电阻,从而表明水位较高。
•当传感器部分浸入时,其电阻增大,导电性降低,从而反映出与电阻相对应的较低高度。
这个可变电阻与传感器两端的电压直接相关。通过测量该电压,我们可以检测水位。
希望你已经清楚了解这个传感器的工作原理以及如何检测水位。接下来,我们将添加库文件夹中提供的该传感器的hex文件。
你可以用两种方式做到。
右键单击水位传感器,然后查找“编辑属性”。
您也可以通过双击传感器来打开“编辑属性”面板。
现在,您可以通过点击下方的浏览按钮添加传感器的十六进制文件。该文件可在Proteus软件的库文件夹中找到。
已成功添加十六进制文件。现在点击“确定”并关闭“编辑属性”面板。
Proteus 水位传感器仿真
现在我们来模拟在Proteus工作区中制作的传感器。
为此,我们将设计一个小型LC电路,用于模拟水位传感器。
将LC电路与传感器连接非常简单直接。我们将通过一个电压表,将传感器的模拟输出引脚(S)与LC电路相连,并将可变电阻连接到传感器的TestPin上。这个可变电阻的阻值将帮助我们检测水分。
连接到LC电路的这个电压表上的电压,给出了与可变电阻相对应的数值。
当电阻为零时,电压表上的电压达到最大值,即4.97V。需要记住的是,当传感器完全浸入水中时,其电阻显示为零,这表明水位较高。
当我们开始增大可变电阻的电阻时,电压表上的电压会逐渐降低,这表明传感器未浸入水中,从而反映出水位较低。
我们把传感器连接到LC电路是有原因的,因为Proteus总是提供传感器的峰峰值值,而我们需要将这个峰峰值值转换为有效值Vrms。
我们使用这个LC电路来运行Proteus仿真,但在水位传感器的实时硬件实现中并不需要它。
我们完成了。这是水位传感器的完整仿真模型。该水位传感器库未包含在Proteus库中,我们首次将其添加了进去。
现在,点击Proteus软件左下角的播放按钮,上方将显示结果。
现在,我们将这个传感器连接到Arduino。
我们将电压表上出现的水位传感器输出端连接到Arduino板的模拟输入引脚。
当电阻为零时,电压显示为4.97V,因此连接到Arduino板上的LCD上对应的模拟值为1019。
本文编译自hackster.io





