孟 强,徐 慧,施山菁
(南京林业大学信息科学技术学院,江苏南京 210037)
现代社会中由于环境污染、人为破坏,许多地方面临着严峻的用水问题。农业是第一用水大户,目前,农业用水有效程度依然很低,在现代农业和生态研究中,对土壤湿度的监测与控制已经成为一项基础工作,合理的灌溉有利于作物的生长,同时也是对水资源的一种高效利用。基于上述因素,本文设计出一种能够实时监测土壤湿度,并通过外部执行单元控制灌溉土壤,调节土壤湿度,同时依据监测的土壤实时湿度及时反馈,控制执行单元的工作,从而达到控制土壤湿度的目的。
在超低功耗方面,处理器 MSP430功耗(l.8~3.6 V,0.1 μA/Power-down,0.5A/Standby,250A/MIPS)和口线输人漏电流(最大50 nA)在业界都是最低的,远远低于其他系列产品[1]。
为了满足使用方便的要求,USB接口成为智能仪表的重要部分。多以8/16位单片机为核心,其USB接口设计的过程多是先根据所使用的8/16位单片机,选择合适的USB接口芯片;其次,编写单片机的固件程序;最后,编写USB接口的驱动程序,实现智能仪器和PC机间的高速通信[2]。
系统采用基于频域反射(frequency domain reflectometry,FDR)技术的MP406系列高精度土壤水分传感器,具有分辨率高、线性度好、维护简单、不破坏土层的优点。土壤水分传感器如图1所示。FDR原理[1,2]是利用电磁脉冲原理,根据电磁波在土壤中传播频率来测试土壤的表观介电常数,从而得到土壤容积含水量θv。FDR的探头称为介电传感器(dielectric sensor),主要由一对电极(平行排列的金属棒或圆形金属环)组成一个电容器,其间的土壤充当电介质,电容器与LC振荡器组成一个调谐电路。
图1 MP406系列高精度土壤水分传感器Fig 1 MP406 series high-precision soil moisture sensor
FDR使用扫频频率来检测共振频率(此时振幅最大),不断调整信号电源的频率,使得振荡电路的谐振条件成立,传输线上出现频率相同而传播方向相反的2列相干波叠加,呈行驻波状态,此时,U0的最大值:U0=α(1-ρ),相似地在传输线和传感器结合部的峰值电压:Us=α(1+ρ),2个峰值电压的差值:ΔU=Us-U0=2αρ,其中,α为振荡器输出的电压振幅,ρ为反射系数。由于谐振电路中电容器的电介质为土壤,土壤的水分变化反映在电容C的变化上。此时的信号频率即为谐振电路的固有频率。由于谐振产生的条件为
通过电容与介电常数的关系ε=C/C0,可以求得土壤的相对介电常数,其中,C0为介质为空气时的电容。研究证实土壤介电常数ε与土壤水分含量θv之间具有线性关系为
其中,a,b均为常数,由土壤的类型决定。
本文介绍的土壤湿度控制仪主要由前端数据采集部分、控制单元和灌溉执行单元组成,设计框图如图2。
图2 系统总体设计框图Fig 2 Block diagram of system overall design
土壤水分传感器分布于监测区域中,用于采集土壤实时湿度。控制单元以F155单片机为核心,充分利用其片上集成的丰富资源进行硬件电路设计[3~5]。灌溉执行单元设计为继电器控制执行部件的工作状态。由系统的总体框图设计了仪器的主要功能如图3。
系统由DS1302提供时间信息,通过简单的三线同步串行方式与单片机进行通信,时钟模块配置备用电池,保证时钟走时精准。仪器用液晶显示屏直观地显示出时间信息、土壤湿度值以及系统工作状态。整个系统还包括数据存储模块、USB通信模块以及电源模块。
图3 土壤湿度控制仪的主要功能Fig 3 Main function of soil moisture control apparatus
系统对传感器输出的模拟电压信号进行采样,为保证信号的稳定性,加入信号调理电路。采样信号通过MSP430F155单片机片内A/D转换模块转换成数字信号,根据公式将得到的湿度信号换成0%~100%RH范围内变化的相对湿度值,这样设计不增加复杂硬件电路,简化系统电路设计,而且,MSP430单片机的A/D转换模块具有12位精度,测量结果可以达到较高的精度,提高了系统的可靠性。
数据的存储采用32 kB串行E2PROM存储芯片AT24C256,用来存储不同时间段土壤湿度上下限值,土壤实时湿度值也将定时存储以作分析等用途。根据存储的时间间隔的不同,可存储的湿度数据量也不同,若每隔30 min存储一组湿度数据,则可存储约16000组湿度数据。
该芯片读写方式为I2C总线读写,MSP430F155内部集成1个硬件I2C控制单元,其速度可支持到400 kbps(快速模式)。硬件I2C接口相较于传统的用软件模拟I2C接口,其程序精简,传输速度快,故障处理易于实现。
通信部分选用CH376S接口芯片,实现系统对U盘文件的读写。该芯片支持Host主机方式和Slave设备方式,其内部集成了8位被动并行接口、异步串行接口、SPI设备接口、USB通信协议的基本固件、FAT文件系统管理固件、处理Mass-Storage海量存储设备的专用通信协议的固件,支持常用的USB存储设备[6]。硬件原理图如图4所示。
图4 USB通信模块电路图Fig 4 USB communication module circuit diagram
CH376采用USB-Host方式实现对系统存储模块AT24C256芯片中湿度数据、采集时间等信息的提取,并以TXT文件格式存储到U盘里,脱离了依赖电脑采集和提取数据的约束性,降低了通信的复杂度。CH376具有8位数据总线和读、写、片选控制线以及并口地址输入。考虑到主控芯片MSP430F155的工作电压是+3.3V,因此,CH376芯片采用+3.3 V电压供电,但是供U盘插入的USB通信接口必须采用+5 V电源供电。
系统软件采用TI公司430单片机软件开发工具IAR Embedded Workbench为平台,由C语言编写,通过JTAG接口烧入MSP430单片机,然后进行实际运行。
为实现低功耗要求,系统设置休眠模式。当用户不操作系统超过15 s时,系统进入休眠模式,此时MSP430处于低功耗状态,每隔30 s系统退出休眠模式,进行土壤湿度的监测与控制,此后再次进入休眠模式,当用户操作系统时也会自动退出休眠模式。系统在上电和复位时要先执行初始化,LCD显示屏显示开机画面,软件判断是否是首次开机,首次开机需手动完成参数设置,系统自动存储初始工作状态。系统非首次启动,则自动调用已存储的工作状态。主程序流程框架图如图5所示。
系统主程序实现的功能主要有按键处理功能、执行单元控制功能以及系统数据存储和USB通信功能。系统有按键按下时进入按键处理子程序,进行时钟设置,植物生长周期设置并设置不同生长时期的土壤湿度上下限值,实现植物生长不同时期对土壤湿度值不同要求的人性化理念;当检测到土壤湿度值小于所设定的下限值时,输出控制部分分别输出打开电磁阀和水泵的控制信号,为防止水管压力过大,两信号输出设置5 s的间隔时间;若检测到土壤湿度值大于所设定的上限值时,输出控制部分分别间隔输出关闭水泵和电磁阀的控制信号。有U盘插入系统时,E2PROM中存储的采集时间和湿度信息被自动写入U盘中,写入完成后依据显示屏上的提示拔去U盘,此时系统将自动清除E2PROM存储的部分信息,恢复初始存储空间状态。
图5 主程序流程图Fig 5 Main program flow chart
USB总线通用接口芯片CH376具有省事的内置固件和灵活的外置固件2种模式,在内置固件模式下不需要本地端(智能仪表)的微控制器作任何处理,从而简化了微处理器的固件编程,为快速开发产品提供了保证,因此,CH376用于智能仪表的通信接口,是低成本且高效的解决途径。CH376芯片可以自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。U盘通信部分的流程图如图6所示。
图6 USB通信流程图Fig 6 USB communication flow chart
工作现场的环境复杂,各种干扰通过不同的耦合方式进入到测试系统中,而且湿度传感器输出信号较小,这些干扰有可能使系统误差加大,程序运行失常。因此,在进行智能仪表可靠性设计时,要特别重视抗干扰设计。
系统的干扰很大一部分是从电源进入的,电网电压的波动、尖脉冲干扰、瞬间断电等能对系统的工作造成干扰。因此,需考虑电源净化问题,系统在开关电源前增加电源滤波模块,以滤去电网中各种大功率设备产生的尖峰脉冲干扰,尽可能得到“纯净”的电源。
在设计电路板方面,晶振和单片机的连线要短;模拟地和数字地要分开;电源线和地线要做加粗处理;PCB下方也要进行覆铜,使电源和信号传输稳定。
通过软件滤波的方法可以进一步降低噪声。软件设计在湿度传感器输出信号的A/D转换中,采用了限幅滤波和均值滤波,取得了较好的效果。
限幅滤波即对数据最大、最小范围进行限定,超过这个范围的数据被认为是错误的数据,并且此次数据由前一次数据代替。均值滤波则是采集16个数据求出平均值,用这种方法降低了随机噪声,提高了数据采集的稳定性。
在实验基地内,仪器运行情况稳定,液晶屏可以观测到当前土壤相对湿度值,仪器面板上的按键可以设置系统参数、修改时钟时间,各部分均能正常工作。
表1为土壤相对湿度测试值与实际值的比较,测试结果表明:系统绝对误差为±2%RH,精度较为理想。误差的产生主要在于传感器在制造时由于工艺限制导致的一定误差,仪器标定时也可能产生人为误差。
表1 土壤相对湿度测试结果Tab 1 Test results of soil relative humidity
仪器自动工作一段时间后,用U盘提取存储的湿度数据,经分析后得出仪器整体工作情况,图7所示为7 d的湿度数据曲线。
图7 土壤相对湿度变化Fig 7 Change of soil relative humidity
图中虚线分别表示当时仪器设定的土壤相对湿度上下限值,由曲线可看出:土壤相对湿度值保持在限值内,仪器工作稳定,执行部件等均能正常工作。
本文介绍了以低功耗MSP430单片机为主控单元的土壤湿度控制系统。经过模块化的电路测试、软件调试和系统组装证明:该系统可以准确测量土壤湿度,绝对误差为±2%RH,精度较为理想。正确控制执行部件工作,能使土壤湿度保持在要求的范围内。系统可以将采集的数据通过USB接口传到PC机上处理,在实际应用中能够独立工作,脱离了PC机的约束,具有较高的实用价值。
[1] 沈建华.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.
[2] 李 萍,单葆悦,刘晓东,等.USB芯片CH376在智能仪器仪表中的应用[J].计量与测试技术,2011,38(2):9 -14.
[3] 黄飞龙,黄宏智.基于频域反射的土壤水分探测传感器设计[J].传感技术学报,2011,24(9):1367 -1370.
[4] 赵思涵,杨 锴.基于ARM的草坪土壤水分监测系统设计[J].湖南农业科学2011(1):142-144.
[5] Texas Instruments Incorporated.Msp430x1xx Family User’s Guide[EB/OL].2009—10—01.http:∥www.msp430.com.
[6] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.
[7] 南京沁恒公司,U盘和SD卡文件管理控制芯片CH376[EB/OL].2010—03—17.http:∥wch.cn.
[8] 罗俊华,周作春,李华春,等.电力电缆线路运行温度在线检测技术应用研究[J].高电压技术,2007(1):169-172.