地下水动态水位信号采集系统的设计与实现
扫描二维码
随时随地手机看文章
1 系统设计
1.1 系统设计要求
采集器的功能是将深井中的水位或水深信息收集起来,通过无线通信将数据发送给上位机系统。为了节省人力资源,采集器需要长时间免维护运行。采集系统要求架设维护方便、无需布线等,这就要求尽量减少施工环节,提高工作效率,降低成本。因此,提出了以下设计要求:
(1)通信可靠;
(2)低功耗,电池供电;
(3)架设成本低;
(4)易维护。
1.2 现状分析
目前市场上出现的采集模块静态功耗较大,一般为200 mW~600 mW不等,制作下位机体积大,需外加蓄电池和太阳能板,容易被盗以及人为破坏;安装复杂,在无电源地区使用时架设成本较高,不适用于条件较苛刻的专用场合;集成无线RTU体积也偏大,不能进阶二次开发成专用产品,不能低压供电也限制了在此系统中的应用。
1.3 系统方案
GSM网络通信方式具有高速、可靠、覆盖范围广等优点,易于实现远程数据通信。 SMS是移动运营商提供的短消息服务,它基于GSM网络通信。SMS支持GSM设备点对点和一点对多点的消息传送,并可传送一条短信和容纳140 B的文本信息。在目标设备未在线或故障等情况下,短消息会暂存在运营商的服务器中,该种方式可以得到较高可靠程度。上位机系统可以是个人移动设备也可以是支持SMS的专用监测设备。
GPRS是基于GSM网络的高速数据业务,资费低,但在网络繁忙时数据丢包、掉线的情况时有发生。由于地下水变化相对缓慢,对系统的实时性要求不高,所以采用SMS方式进行无线数据通信足以满足要求,对于本系统资费同样低廉。
为了易于更换和维护采集器,采用通用的5号碱性电池供电。硬件上采用各功能模块选择性分离供电,软件上采用定时采集、定时上传的方式大大降低了功耗,确定了长时间电池供电的可行性,从而免去了布线和安装太阳能电池的工序和成本。采集器与GSM通信模块集成,缩小了体积,可内置于被测井口处,以方便安装和后期维护。
2 硬件设计
2.1 硬件结构
采集器(下位机)由微处理器、电池组、电源管理、GPRS模块、压力传感器、时钟日历、信号调理以及A/D转换器组成,如图1所示。
2.2 模块设计
(1)主控制器:ATmega88V单片机作为采集器的微控制单元,内置1 KB SRAM以及512 B的EEPROM存储器,免去了外部存储器,1.8 V~5.5 V宽泛的工作电压。为了节省功耗,单片机工作在32.768 kHz 的系统时钟频率下。
(2)时钟日历模块:MAX690芯片作为时钟日历模块,由独立的3 V电压的纽扣电池供电,与CPU进行实时通信,CPU查询时间确定采集器的工作状态。
(3)压力传感器:采用国产的KY型压力传感器,集成电压变送器,工作电压为10.5 V~15 V,输出信号为1 V~5V,量程为0 m~100m
(4)A/D转换器: 使用的是AD7921,12位A/D转换器,SPI串行接口,它由电压基准芯片AD780提供2.5 V的供电电压和参考电压。
(5)信号调理:采用通用双运放LM2904调理传感器输出信号和电池电压信号送给A/D转换器。LM2904的供电电压由LT1613提供(12 V),对压力变送器的1 V~5 V信号进行调理,首先前级为跟随器,运放的输出用一个电位器分压得到0.5 V~2.5 V信号,第二路信号为电池电压信号,同样的将池组电压VCC的可能的最大值(7 V)调整为小于A/D转换的满度值电压(2.5 V)。两路信号送给A/D转换器进行数字量化。
(6)电源管理:4节5号电池串联,取其中2节电池为单片机供电,用IRFU220与IRFU9530构成2个推挽输出由单片机的GPIO选择性地为测量部分(包括压力传感器、A/D转换器、信号调理电路)和GSM模块供电。在推挽输出后用一个LT1086稳压后为GSM模块提供3.6 V电源,由LT1613升压型电路芯片为传感器/变送器和模拟信号调理电路提供12 V电源。
(7)GSM模块:采用Wavecom公司的GR64模块,与单片机的接口为异步串行接口,编程时采用AT指令对模块进行设置、会话以及打包数据和发送信息。
2.3 测量误差分析
3 软件设计
3.1 工作过程简述
在设备开启后,单片机会执行各功能模块的初始化程序,之后从时钟日历芯片中读取当前的日期和时间,之后判断此时刻是否超过设定的测量时刻,如果超过测量时刻则进入测量状态,此时单片机会开启对测量电路的供电,延时等待传感器稳定后,会连续采集100次数据存入RAM中。采集后测量电路供电将关闭,经过中值滤波法求得最终保留的数据,再将数据保存到单片机片上的EEPROM中。当程序判断当前时间超过了上传的时刻,则会开启GSM模块,等待GSM模块入网后先接收供电然后将要发送的数据按照AT指令打包,并以短信的形式发给目的设备。如果数据发送超时,单片机将会把滞留的数据包存放在单片机内部的EEPROM中等待下一次上传。最后关闭GSM模块又回到循环时间的查询状态。
数据采集频率为1日2次,在测量时刻到来时,CPU启用升压电路为压力传感器和信号调理电路供电,启动A/D转换器供电,采集压力传感器数据和电池电压数据后,关闭供电电路,进行数据处理,测量结果保存在单片机内部的EEPROM中。可通过命令修改数据上传时间。为了节省数据总线上的功耗,时间读取不是实时的,用定时器中断服务程序进行读取,每分钟读取1次。上传的数据总是前一天测得的数据。
在程序运行的整个过程单片机内部的看门狗计数器被一直启用,用于监视采集器的正常工作,如果死机或程序执行混乱,看门狗定时器会使单片机复位。
3.2 程序流程图
程序流程图如图2所示
3.3 协议设计
AT指令集是 ETSI (欧洲通信技术委员会 ) 发布的一种移动平台与设备终端的通用接口指令 , 其中包含对SMS的控制[7]。采集器向上位机系统传输数据的内容包括功能码、日期时间和采集到的数据。每一字节数据为ASCII码形式。协议包括2个部分:
(1)采集器上传报文的格式(除去AT指令):DT(数据说明)_上传时间_测量日期_时间1_水深(单位:m)_时间2_水深(单位:m)#(结束),以一个数据示例的文本形式为:DT_2008/11/09/16:00_2008/11/08_02:00_23.40_14:00_23.10_16:00#。此数据的内容是上传时间为2008年11月9日16:00,2008年11月8日,2:00时水深23.40m14:00时,水深23.10m。
(2)上位机系统对采集器发送命令的报文的格式(除去AT指令) :ST(设置说明)_设置日期及时间_时间1_水深(单位:m)_时间2_水深(单位:m)_上传时间#(结束),以文本的形式表示则为:ST_2008/11/08/09:00_05:00_20:00_14:00#。此数据的内容是时间设置为2008年11月8日9点,2次采集时间设置为5:00和20:00,上传时间设为14:00。
在发送这条短信后采集器下一次发送短信的目的地址自动调整为该地址。
4 实际测试
4.1 数据传输
在数据传输的测试中调整程序,使每隔半小时就上传一次数据,中途随机发送对采集器设置的信息,设置的上传时间忽略不计,表1所列是接收450个短信息中的一部分。
表中,346和347号数据表明在2008/11/09/14:00时GSM模块发生了入网超时,信息发送不成功,在14:30时原先发送失败的数据被重新成功发送。
在450个数据传输测试的过程中出现入网超时率为0.67%,数据丢失率为0。进行过50次设置,设置失败率为8%,但是后期延长超时时间后,测试100次,设置失败率降为2%。
4.2 能耗测试
(1)静态等候:单片机工作在32.768 kHz时钟下电流消耗小于20μA,测量电路和GPRS模块处于断电状态,供电推挽输出为低电平时MOS管的漏电流小于10μA,时钟日历芯片独立供电基本可以连续工作8年以上,将不计入功耗分析。每天24h运行,一天的能耗共计720 μAh。
(2)测量: LT1613消耗1 mA的自身工作电流,传感器工作时消耗的电流为10 mA(12V),实测5 V供电时从电池组吸取25 mA的电流,电压基准源消耗1 mA,A/D转换器工作时消耗3 mA。测量的整个过程小于300 ms,每次测量共计消耗2.4 μAh的电能。
(3)数据上传:GSM模块在发送数据时电流为500 mA,接收数据时为20 mA,静态时为2.5 mA, GSM模块独立测试过程中,一次数据上传过程小于20 s,大约需要消耗200 μAh的电能。
综上所述,一天测量2次上传1次的工作过程共消耗0.925 mAh的电能。如果用电量为800 mAh的碱性电池可连续工作800天以上。但是由于电池保质期和电池本身的自放电,再加上电量低水平时的内阻,可以保证至少一年正常工作。
此采集终端静全天正常工作的耗电量为0.925 μAh,采用4节AA型碱性电池可维持一年以上连续正常工作,测量误差小于0.16%,与上位机系统通信协议接口简单、可靠性高。能够较好地满足地下水动态监测系统的下位机系统的需要。