关键词:超声波传感器,液位监控,液位测量,温度补偿,MSP430
Abstract: Utilizing the technology of Ultrasonic wave, relevant test arithmetic and the PC to carry on monitoring, controlling and centralized management of the liquid-level in the liquid container, can prevent from keeping in touch with the examined liquid, not only has increased the continuous working time of the system greatly, simplifying maintenance of the sensor conveniently, can also realize overhauling in producing and boost the productivity and management level. The working principle, hardware structure of the instrument and the design method are presented, the selection of sensor and MCU is discussed in detail. The more intelligent can be obtained when using the MCU to control the emission and receive and to calculate the liquid-level.
Key words: Ultrasonic Sensor, Liquid-level Monitoring, Liquid-level measure, Temperature compensation, MSP430
1 引言
目前,较常用的罐体液位测量根据测量方式的不同可分为接触式与非接触式两种类型,接触式测量是指用传感器直接与罐内液体介质相接触的测量方法,由于所用传感器与罐内液体相接触,因此在设计和安装传感器时必须要考虑耐渗漏、耐腐蚀等问题。而在本设计中采用了非接触式的超声波测量技术对罐体的液位进行检测,由于传感器不直接接触被测液体,因此稍加防护措施该方式就具有可靠性高、易维护、检修周期长、可以实现不停产检修等优点。另外由于工程布线等方面的原因,给线路的检修和维护带来极大的不便。在一些具有腐蚀性液体的测试现场,往往会因为环境中的腐蚀性气体的存在和侵害,而导致信号传输线路的故障或损害所造成的停产时有发生。随着无线通信模块技术性能的不断提高和价格的不断下降,采用无线数据传输方式,无疑将对系统的信号传输带来极大的方便,一方面可省去工程布线,另一方面可大大简化线路维护和检修工作。又可免除线路的检修和维护带来极大的不便。
2 系统硬件设计
2.1 系统硬件组成结构和工作原理
本设计主要有超声波传感器、流量传感器、电磁阀、微控制器MCU、无线收发模块、LCD显示器、键盘等组成,其系统硬件结构如图1所示。
本系统中的液位传感器采用的是超声波传感器,利用超声波传感器采集信号并结合相应的测试算法,实现对液罐内液位进行测试,并由高性能单片机MSP430完成对信号进行采集、处理、分析、显示、存储以及与上位机进行通信等。超声波发射电路能在单片机的控制下发出超声波。接收电路接收到信号之后送入单片机进行处理,然后计算罐底到液面的距离即当前液位,将测试结果在现场显示器显示的同时还可通过无线传输方式将获得的液位等数据传送给上位机,以便对测试数据作进一步分析处理或实现数据库管理。系统的总体组成结构见图1。
图1 系统的总体组成结构图
2.2 超声波传感器测试原理及接口设计
2.2.1 超声波传感器及液位测试原理
超声波测量液位的基本原理是:由超声探头发出的超声脉冲信号,在气体中传播,遇到空气与液体的界面后被反射,接收到回波信号后计算其超声波往返的传播时间,即可换算出距离或液位高度。超声波测量方法有很多其它方法不可比拟的优点:(1)无任何机械传动部件,也不接触被测液体,属于非接触式测量,不怕电磁干扰,不怕酸碱等强腐蚀性液体等,因此性能稳定、可靠性高、寿命长。(2)其响应时间短可以方便的实现无滞后的实时测量。
本系统采用的超声波传感器的工作频率为40kHz左右。由发射传感器发出超声波脉冲,传到液面经反射后返回接收传感器,测出超声波脉冲从发射到接收到所需的时间,根据媒质中的声速,就能得到从传感器到液面之间的距离,从而确定液面[1]。考虑到环境温度对超声波传播速度的影响,通过温度补偿的方法对传播速度予以校正,以提高测量精度。计算公式为:
V=331.5+0.607T (1)
式中:V为超声波在空气中传播速度;T为环境温度。
S= V ×t/2= V×(t1-t0)/2 (2)
式中:S为被测距离;t为发射超声脉冲与接收其回波的时间差;t1为超声回波接收时刻;t0为超声脉冲发射时刻。利用MCU的捕获功能可以很方便地测量t0时刻和t1时刻,根据以上公式,用软件编程即可得到被测距离S[2]。由于本系统的MCU选用了具有SOC特点的混合信号处理器,其内部集成了温度传感器,因此可利用软件很方便的实现对传感器的温度补偿。
2.2.2 超声波传感器与MSP430的接口
本系统选用的是SCS-401系列超声波传感器,谐振频率为40KHZ左右,其信号处理电路由两部分组成:即超声波发射电路和超声波接收电路。为了便于调试,超声波振荡器采用硬件电路设计,利用MCU进行发射控制。由于罐体液位的测量范围一般不超过5米,因此超声波接收电路的灵敏度不必太高,为了简化设计,本系统中采用了两级放大和比较电路,超声波发射和接收电路及其与MCU的接口见图2所示(信号从P25发射,从P24接收)。
2.2.3流量传感器信号与MSP430的连接
为简化系统的维护和检修,本系统中的流量传感器采用的是无机械传动部件的涡街流量传感器,由于该传感器可直接输出当量脉冲信号,因此其信号处理电路的设计较为简单,仅需利用施密特触发器对其进行整形即可送作为MCU的中断请求信号对其进行处理即可。见图2,流量传感器从图中的JIN1接入。
图2 下位机电路原理图
2.2.4无线数据传输模块及其与系统的连接
本系统采用的无线数据传输模块为SRWF-108(或SRWF-1),该模块采用FSK调制方式,工作频率为429MHZ~433.3MHZ,其通信信道为半双工模式,比较适合点对多点的通信传输系统,可直接支持RS-232标准的串行通信,但由于该模块的输出信号为TTL,因此与上位机连接的模块须设计一个TTL——-EIA电平转换电路,本系统中采用的是MAX232。见图2,无线数据传输模块与下位机的P34、P35相连。
2.3微控制器MCU的选型
为尽可能简化和方便系统设计并降低下位机的功耗,本设计采用TI公司的具有SOC特点的MSP430系列MCU,这是一种超低功耗的16位混合信号控制器,其内部集成了大量的外围模块和温度传感器。MSP430单片机采用最新的低功耗技术,工作电压范围为1.8~3.6V,有正常工作模式(AM)和多种低功耗工作模式;当电源电压为3V 时,其最低功耗模式下的功耗仅0.1μA。它的超低功耗性在实际应用中,尤其是在电池供电的便携式设备中表现尤为突出。本设计所采用的是MSP430F1232微控制器,具有非常高的集成度,片内集成了10通道的10位A/D转换、具有PWM功能的定时器、温度传感器、片内USART、看门狗定时器、片内数控振荡器(DCO)、大量的具有中断功能的I/O 端口、大容量的片内Flash 和RAM 以及信息Flash 存储器[3]。其中Flash 存储器可以实现掉电保护和软件升级。
综合以上特点可见: 采用MSP430单片机作为测试仪器的处理器,可简化系统电路设计、缩短开发周期,降低系统功耗、同时又能提高系统性能。
3 系统软件设计
本设计是以超声波传感器作为主要探测器件,通过超声波脉冲反射接收法对液罐内液位进行测量,然后根据相应的测试算法计算出当前液罐内液位。也可将测试结果通过无线数据传输模块传输到计算机,对测试数据作进一步分析处理。
基于单片机的液位监控系统设计的软件设计主要有两部分组成:下位机控制程序采用汇编编写,上位机处理程序主要采用C#.net编写。
3.1 下位机处理程序
测量过程是由单片机部分和超声波电路部分共同完成的,可设定发射一次超声波的间隔时间为0.5 s。发射时,单片机从P2.5发出发射允许控制信号,由发射电路从超声波发射端发出约40kHz的超声波,为消除发射干扰经一定的延时后再打开单片机内的定时器开始定时,起始时刻记为t0;超声波碰到液面后反射回来被接收端接收;此时由单片机的P2.4口通过中断接收,若检测到信号,则记下该时刻t1,定时器停止定时,定时器定时时间t=t1-t0即为超声波从发射到接收的时间;由MCU计算出液位送LCD就地显示和处理并通过串行通讯端口将计算出的数据传输给上位机。若单片机系统接收不到超声波回波信号,则到0.5 s时重复上述过程开始下一轮的循环。其主程序流程图如图3所示。
3.2 上位机处理程序
上位机处理程序主要采用C#.net[4]编写,将测试数据通过无线数据传输模块传输到PC机,实现对液罐内液位的实时监控;同时将测试数据存入数据库,对测试数据作进一步处理。其监控界面如图4所示。
图4 液位监控系统界面
3.3 系统的点对多点无线通信的实现
主站是通过主控计算机对各分布的罐体或从站进行远程监控。在本系统中,无线通信是实现两端设备交换数据的主要手段。采用无线数据传输方式可省去工程布线,又可以大大简化线路维护和检修工作,从而可免除线路的检修和维护带来极大的不便。
为了避免冲突,本系统采用地址位方式实现主站对多从站的寻址。从站以总线方式与主站连接。每次主站以某一地址呼叫,只有地址相同的从站能识别呼叫并做出响应。为了避免线路拥塞,在监测多个从站时,由主站循环向所监控的各从站发出查询请求,各从站依次响应相关请求。例如对16个从站进行监控,应先对16个从站进行地址编码,例如1号从站对应地址F0,2号对应F1,依次类推(增加从站数量只需增加地址码即可)。本系统定义了一个点对多点通信的帧格式,如表1所示,帧头部由地址码组成,帧数据由控制码,数据与结束码组成。
表1 通信帧格式
通信协议规定,任何接收方在接收到数据时以相同的控制码应答发送方。例如从站发送报警,对应于主站的接收报警;主站发送实时查询,对应于从站的发送液体流量、液体流速等信息。
3.4 系统测试及实验数据分析[5]
本实验在实验室内进行,气温约为25℃时,通过钢皮卷尺与超声波液位测试仪对照测量,测试数据见表2。
表2 实验数据
测量距离是以厘米为分辨率的3位数字显示,由表2知,绝大部分实验数据满足士1cm的测量精度(在25℃左右),少部分数据的误差也在出2~3cm的范围内,实现了该液位测试仪器的测试精度。由于环境温度对超声波传播速度的影响,使得测试误差变大。所以需要通过温度补偿的方法对传播速度予以校正,以提高测量精度。
4 结束语
本文创新点:利用超声波传感器实现液位的非接触式测量,解决了采用接触式液位传感器所存在的易渗漏、易腐蚀不便于检修和维护等问题,提高了系统的可靠性高,并充分利用MCU内部集成的温度传感器对超声波传感器进行有效的温度补偿和校正,大大提高了系统的测量精度。硬件电路设计集成度高,可靠性强;测试装置小巧方便,便于安装和维护,功能强。由于本仪器成本低,具有较好的社会效益和经济效益,在工业领域具有广泛的应用前景。
参考文献
[1] 赵广涛,程荫杭. 基于超声波传感器的测距系统设计[J]. 微计算机信息,2006,22(1):129-131
[2] 苗汇静,唐诗,谭博学.超声波汽车倒车报警器的设计[J].山东理工大学学报,2005,19(4): 6-9.
[3] 魏小龙. MSP430系列单片机接口技术及系统设计实例[M].北京航空航天大学出版社, 2003.6
[4] Julia Case Bradley, Anita C.Millspaugh.C#.NET程序设计[M]. 北京-清华大学出版社,2005
[5] 赵文龙,苑鸿骥,熊丽云.汽车倒车测距仪中信号处理技术的研究[J].厦门大学学报, 2001,40(1):106-110.