目前国内在液位自动控制方面缺少长期可靠的使用范例,还没有适用于液位测量和自动控制的定型产品。因此,开展液位自动控制的研究工作十分必要。
系统为一个水位监测与控制装置,通过键盘可以设定瓶内液位(0~25cm内的任意值),并通过控制电磁阀(或类似于电磁阀的装置)使瓶内的液位达到设定值,液位超过25cm或低于2cm时会发出警报。显示器能实时显示当前液位状态和瓶内液体重量以及阀门状态。
1
系统功能概述及框图
本设计利用MCS-51
单片机结合数字芯片、模拟电路,完成对水位的检测和自动控制。
基本工作流程为:主机通过键盘设定自己和从机的液位,超声波传感器测出当前水位对应的电压值,再经过ICL7135
模数转化送入控制器与设定值比较,单片机通过控制电磁阀调节主机液位,并把设定值与当前值显示在LCD
上;主机控制器通过485
通讯对从机控制器传输设定值,从机控制器也可以如主机控制器一样对液位进行控制,并通过LCD
显示主机给定值与当前液位值;并利用485
通讯把从机当前液位传送给主机显示出来。
系统由单片机系统数据处理模块、A/D
数据输入模块、485
通讯模块、液位控制及报警模块及键盘和显示模块等几部分组成。系统总框图如图1
所示。
2
方案论证与比较
考虑系统的要求,在对器件的选择过程中,侧重于对传感器和模数转换芯片的选择。
2.1
传感器
系统设计过程中,主要对以下三种传感器进行了选择比较。
方案一:压力传感器
图1
系统框图
目前的液位压力传感器大部分是投入式静压液位变送器,而投入式静压液位传感器只有参考大气压才能进行准确测量,然而连接电缆中的通气会受到环境的影响,造成气管内壁冷凝,结露。露水滴到电子器件和传感器上,会影响精度或者输出漂移。同时,结露过快,变送器的使用寿命也会大大缩短。此压力传感器容易受到环境的影响而造成测量不准确,并且安装不方便。
方案二:压阻式压力传感器
压阻式传感器是用集成电路工艺直接在硅平膜片上按一定晶向制作扩散压敏电阻;硅平膜片在微小变形时有良好的弹性特性,当硅片受压后,膜片的变形使扩散电阻的阻值发生变化;此变阻器容易受外部环境的影响,如温度,从而造成测量不准确,而且体积一般比较大,不易安装、不易携带;一般其精确度也比较低。不能满足设计的需要,所以不选择。
方案三:超声波传感器
超声波传感器是工业领域内第一款在产品上带有按键设定功能和自诊断功能的小型传感器。它虽然体积小,但是具有其它大型传感器所具有的功能,安装使用方便而且不受被测物体的颜色影响,有许多特设功能,如:具有自诊断LED
显示和按键设定功能、温度补偿功能、可选择模拟量或开关量输出等;其供电电压为10~30V,测量范围为30mm~300mm,输出电压0V~10V,输出电流为4mA~20mA,最小负载阻抗2.5
欧,精度可达到0.5mm,外形分为直线型和直角型。感应口径为18mm。
超声波传感器所具有的条件满足设计所需要0~25cm
的液位控制,以及液位误差不超过±0.3cm
的要求,并且解决了安装不方便的难题。所以本设计选择了精度高,体型小的超声波传感器。
2.2
A/D
转换器
所采用的A/D
转换器的精度和性能直接影响后端单片机接收数据的精度,在此我们对以下两种AD
转换器进行比较分析。
方案一:采用8
位ADC0809
A/D
转换器
ADC0809
是常用的8
位A/D
转换器,属逐次逼近型,ADC0809
由单一+5V
供电,片内含带有锁存功能的8
路模拟电子开关,可对0~+5V
8
路的模拟电压信号分时进行转换,完成一次转换约需100us,所以速度较快,但是ADC0809
芯片分辨率低,精度不够,不能满足本系统要求,不予采用。
方案二:采用4
位半双积分A/D
转换器ICL7135
ICL7135
是应用广泛的4
位半双积分A/D
转换器,动态BCD
码输出的积分型A/D
转换器。其特点是:精度高、极性自动转换输出、自动校零、单一电源工作、动态BCD
码输出。由于双积分方法的二次积分时间比较长,所以A/D
转换速度慢,通常为(3~10)次/s,此外,对周期变化的干扰信号积分为零,抗干扰性能也比较好。在同等精度的情况下,价格低于逐次逼近式A/D
转换器,因而在对速度要求不高的场合,更宜于采用这类A/D
转换器。
考虑系统的要求,本设计采用控制精度较高的ICL7135
A/D
转换器。
3
硬件电路及软件设计
本设计的硬件电路包括最小系统电路、液位控制及报警电路、ICL7135
信号采集传输电路、键盘和显示模块等。
3.1
最小系统(电源供电电路与I/O
扩展及选通电路)
本设计使用的最小系统板是以80C52
单片机为内核,并且具有良好的扩展性。CPU
外接11.0592MHz
的晶振,主要由74LS373
锁存电路、74LS138
译码电路以及按键、显示器件、ICL7135
及其外围典型电路组成,并用8255
外扩了I/O
接口。最小系统电路如图2
所示。
图2
最小系统电路图
本电路需外接一个AC220/9V
的变压器,变压器的二次侧通过整流滤波后输入CW7805便可得到+5V
电压,此电压做最小系统的电源。
系统中通过8255外扩了PA、PB、PC共24个I/O口,以便作为系统的输入输出通道。用74LS138的输出作为各个芯片的译码选择端,除最小系统中使用的Y0~Y3外,还有Y4~Y7可供其它扩展使用。
3.2
液位控制及报警电路
本设计的液位控制电路是一闭环电路,传感器把液位传给单片机与设定值比较,单片机通过对电磁阀的控制来控制液位。用9V
电源对继电器供电,使用了24V
电源对传感器供电,用220V
交流电对电磁阀供电;在报警电路中,利用9V
电源对蜂鸣器供电,当液位超过25cm或低于2cm
时发出报警。在供水回路中,用电动机进行循环供水,保证程序的连续运行。
3.3
ICL7135
信号采集传输电路
本电路由一个小型集成电路来实现,采样后的信号经过电位器送到ICL7135
进行处理,将处理后信号直接送到单片机最小系统。ICL7135
量程为0~2V,基准电压由MC1403
输出(2.5V)分压获得1V
电压。
HC240
是八位缓冲线/线驱动器,内含八个具有三态输出反相缓冲器。三态输出的反相缓冲器,输出允许控制端(ENA、ENB),每一个EN
控制四个缓冲器,1A、2A
数据输入,1Y、2Y
输出。输出分别送出个、十、百、千、万位。
HC157
是四路二选一开关,1
为选择输入端,S
为低电平时,选择A
输出;S
为高电平时,选择B
输出ICL7135
的BCD
码的位选通输出端D1-D5
分别接8
位可编程逻辑接口电路8255的PA0~PA3
和PB0~PB4。CPU
可读取各个位的状态并判断,从而在ICL7135
的B1~B8
输出端读取BCD
数据。ICL7135
信号采集传输电路如图3
所示。
图3
ICL7135
信号采集传输电路
3.5
软件设计
软件部分主要是利用51
系列单片机作控制器,传感器输出电压进行采样,将采样值与设定值比较,单片机对电磁阀控制来调节液位,主机通过485
通讯给分机设定数值,分机控制器对分机液位进行控制。软件部分包括ICL7135
采样部分、485
通讯部分、数字处理部分、显示部分、键盘部分等。为了避免在传感器移动造成测量数据不准确,特别增加了调零功能,进一步提高了系统的准确性。主程序流程图如图4
所示。
图4
主程序流程图
4
实验结果及分析
需要的测试设备有4
位1/2
高精度数字万用表、刻度尺、100M
双踪数字示波器。测试结果如表4-1
所示。
表4-1
测试数据
由以上数据我们可以看出,系统的各个检测单元的测试数据精度很高、液晶显示值和测量值与设定值非常接近,与传感器输出电压成线性关系,与重量也成一定的比例关系,这与硬件的选择及其参数的匹配以及软件控制算法的选择是不可分割的。
5
设计总结
本设计在硬件上,使用S18UUA
超声波传感器,ICL7135
等高精度芯片和仪器进行液位测量,使所测量的液位精度远高于液位误差不超过±0.3cm
的要求。此外,本设计还应用了MAX485
通讯,OCM4X8C
液晶显示LCD
等芯片和元件,使设计更符合实际应用的要求,也相应的降低了软件设计的难度。在软件上,采用规范化的编程方法,有效的减少了程序所需要的存储空间。目前本课题主要用于地下水位的检测,项目经济效益接近15
万元。
本文作者创新点:
(1)采用超声波传感器进行测量,提高了系统精度。
(2)主站能测量并显示主站自己和任何一个分站的液位高度、液体质量和阀的状态。
(3)主站能设定自己的入水阀和出水阀状态。
(4)分站能显示该分站的液位高度,液体重量,显示和设定入水阀出水阀状态。