基于MSP430的节水灌溉自动控制系统设计

时间:2022-10-11 08:43:42

基于MSP430的节水灌溉自动控制系统设计

摘 要:针对传统的自动灌溉系统存在的效率低、稳定性差等问题,本文提出了一种新的自动灌溉控制方案。本方案以MSP430为主控芯片,结合CC1101作为无线通讯模块简化布线,上位机辅助判断减轻MCU运算负担。简约的硬件设计配合功能完善的上位机完成自动控制灌溉、历史环境参数记录、环境异常短信警告等功能。该系统稳定、可靠,具有较好的实用性及可延展性。

关键词:MSP430 自动控制 上位机 轮询方式

中图分类号:TP273.5 文献标识码:A 文章编号:1672-3791(2014)05(b)-0134-03

当前我国农业灌溉水平低,但是节水潜力巨大,节水灌溉技术的应用和推广,是缓解我国水资源紧缺的战略选择,是建立节水型社会的需要[1]。现有的智能灌溉系统控制器通常采用MCS51等其它微控制器作为控制芯片,并配以较多的模拟电路和逻辑门电路,其设计复杂,功耗、稳定性和可靠性难以得到保证[2]。如今,随着计算机技术的飞速发展,一些复杂的数据处理完全可以交给计算机通过上位机软件完成。

本文将分别从硬件编程和软件上位机两个方面,结合电路,介绍一种以MSP430为主控制器的、稳定的农田自动灌溉系统。

1 系统整体构架及工作原理概述

这种农田自动灌溉系统的整体执行思路如图1所示,本系统采用的是离散型控制系统,其具有三级结构。系统从下到上依次为:传感器检测与灌溉执行部分,MCU自动检测控制部分,田间监控中心。

底层的传感器有多种,分别对土壤的温度、湿度等进行检测。本系统能根据采集到的土壤湿度情况进行自动控制灌溉,其余采集到的环境参数供人员参考,做出合适的施肥灌溉决定。这些传感器或设备受到MCU控制,将信息呈递到单片机,通过其内部集成的12位ADC对数据进行处理,从而判断是否需要灌溉,并将数据通过无线通讯模块发送到田间监控中心。

田间监控中心可以修改田间各节点判断灌溉的标准值,能够按时接收并储存各节点的环境参数,记录灌溉情况,通过折线图或列表形式显示。当田间发生火灾或其他异常情况时,软件通过网络自动发出短信提示人员前去查看。此外,上位机能自动从网上下载天气信息,协助实现自动灌溉功能。

2 系统硬件部分

2.1 主控芯片

MSP430系列单片机是由TI公司1996年推出的一种16位超低功耗、具有精简指令集的混合信号处理器。

本系统的主控模块采用MSP430F2553微处理器。MSP430系列单片机是具有精简指令集的超低功耗的16位单片机。它的最高工作频率可达25MHz,同时具有256KB Flash、16 KB RAM,内含硬件乘法器、12位ADC,以及SPI模块[3]等,四种超低功耗模式,非常适合低功耗产品开发。它具有五种低功耗模式,在不同的模式下消耗电流为0.1~340 uA[4],是目前功耗最低的单片机。另外它从低功耗模式转到活跃模式,需要的时间仅为6 us,可以被快速唤醒。因此该微处理器被广泛用在智能传感器、实用检测仪器、点击控制、便捷式仪表等领域[5,6]。

2.2 传感器选用

本系统的检测部分分别对土壤的温度、湿度等环境参数进行检测,其中土壤温度传感器采用DS18B20,土壤湿度传感器采用FDR土壤湿度传感器。

土壤温度传感器采用的是不锈钢封装的DS18B20,如图2所示。其具有现场安装简单、控制方便、系统性能好、易于扩展等特点[7],插入土壤对地温进行检测,精度较高、工作稳定,单片机与其进行单总线通讯获取温度值。

FDR(Frequency Domain Reflectometry) 土壤湿度传感器,见图3,利用电磁脉冲原理,根据电磁波在土壤中传播频率测试土壤的表观介电常数ε,得到土壤容积含水量(θv)[8,9]。其输出信号为模拟电压0~ 1.1V,本系统利用MSP430F5438内部的12位ADC直接对其采集到的数据进行处理得到土壤湿度。

2.3 电源模块

系统供电采用电源转换器直接将220 V交流电转为12 V直流电,用于给水泵和土壤湿度传感器供电。MSP430单片机的供电电压为3.3 V,为保证散热效果,采用二级降压的方式分散热量,集成LM2596与LM1117,依次将12 V直流电压转为5 V和 3.3 V电压,取3.3 V为MSP430F5438、土壤温度传感器及无线通讯模块供电。电路图如图4所示。

2.4 灌溉控制模块

灌溉控制模块由单片机、继电器和水泵组成。单片机根据采集到的土壤湿度,结合此时地温等条件,判断是否需要进行灌溉。满足灌溉条件时,由P3.0口送出控制信号控制至光耦,光耦接通使继电器开启,从而开启水泵。系统中水泵的额定电压为12V,继电器作为水泵的开关,选用12V继电器,因此在电路中并联续流二极管保护电路。如图5所示。

2.5 无线通讯模块

本系统采用的无线通讯模块为美国TI公司出品的CC1101。CC1101是一款低于1 GHz高性能射频收发器,其内部集成了一个高度可配置的调制解调器,支持多种调制格式,最高数据传输率为500 kb/s。在发射状态下,其发射功率可通过编程调节,最大发射功率可达+10 dBm,接收灵敏度最佳为-110 dBm,抗干扰能力强,且功耗极低,可用于极低功耗的RF应用。它与MSP430F5438结合,使系统更为节能。

3 单片机控制部分

3.1 田间节点及灌溉控制部分

田间节点以MSP430F5438为控制核心,结合各传感器、继电器、水泵、无线模块,共同构成。以开发平台IAR Embedded Workbench为开发环境,对MSP430F5438进行C程序开发,这款软件具备高度优化的IAR AVR C/C++编译器,可以有效提高用户的工作效率。

对田间节点的环境参数检测、数据发送及控制灌溉,由MSP430F5438单片机控制执行。土壤湿度的上下阈值保存在E2PR

OM中,可通过上位机软件发送更改预设值命令,更改土壤湿度预设值即灌溉条件。单片机控制灌溉的基本流程如图6所示。

田间监控中心有中央通讯模块,通讯模块由MSP430F5438和CC1101组成。中央通讯模块通过串口与上位机进行通讯,对田间节点采用轮询方式进行无线传输,避免信息拥塞。

此外,用户还可直接使用上位机软件发送灌溉命令到单片机,开启水泵灌溉。

3.2 无线通讯部分

本系统中无线收发模块采用CC1101,正常情况下,每隔固定的时间发送一次数据,因此通讯模式为轮询通讯模式。轮询方式的工作原理为,总线信道上有一个主站和N个子站,主站向子站发送询问命令,子站收到后才可利用信道,以避免信息拥塞。通过MSP430编程对CCll01的4线SPI接口和GDO2测试接口进行配置,结合MSP430的时钟,将各田间节点的CC1101设置成轮询通讯模式。

4 系统上位机软件部分

4.1 开发环境

本上位机软件收集单片机检测的温度、湿度、PH值等数据,经过适当处理,存储到数据库中并以折线图和列表的形式显示。由于Windows API复杂、难度大,本上位机采用C#语言,在Visual Studio 环境下开发完成。.NET集成了大量类库,使用非常方便,可以满足用户的各种要求。

4.2 软件上下位机通讯设计

本上位机使用SerialPort类进行串口通信,SerialPort类为应用程序提供了通过串口收发数据的简便方法,具有功能强大,通信快速,实时性好等特点。此外还使用了Timer控件,当Timer控件启动后,每个一个固定时间段触发相同时间。用Timer控件实现了数据接收。

4.3 自动绘图功能的实现

关于折线图的显示,本上位机使用Zed

Gragh控件进行折线图的绘制,ZedGragh是一个开源的.NET图表类库。此类库比.NET自带类库使用更加灵活方便。使用DataGridView控件实现以列表的形式显示数据。Form1窗体是本上位机的主窗体,拥有各种功能按钮,并进行折线图显示,List窗体是Form1窗体的子窗体,负责进行列表显示。

系统采集全天的温度信息并以折线图显示界面如图8所示。

4.4 异常时短信报警功能的实现

报警是指,当上位机接收到的某些数据超过上限值时会发送短信提醒用户,如田间发生火灾等。手机短信发送是本上位机的扩展功能。通过C#编程,实现上位机给手机发送短信,当客户不在PC端时提示客户的功能。该功能的原理是通过一些运营商提供的接口实现的。本上位机采用可发送短信的Web Service,Web Service是新浪网提供的、可供用户直接调用的发送短消息的Web Service。Web Service中提供了一个发送短消息的方法"sendXml"。此方法的语法格式如下:

string sendXml(carrier,userid,password,mobilenumber,content,msgtype)

carrier:运营商名称

userid:新浪网上注册的手机号

password:成功注册手机后的反馈密码

mobilenumber:目标手机号码

content:所要发送短消息的内容

msgtype:发送短消息以文本信息形式发送,输入"Text"

4.5 上位机软件其他功能原理及实现

数据保存,通过上位机控制根据用户需求将接受到的数据保存起来,以便以后可以再次读取历史数据。为了数据的安全性,本上位机将数据保存到数据库中,使用的是Oracle数据库。基本功能实现流程如图9所示。天气信息通过中国气象局提供的API获取,根据获得的晴雨天气,给下位机发送信息协助判断、控制灌溉。历史数据可按照温度、湿度、pH值按钮显示不同数据,可以选择具体时间或具体节点查看环境情况。

5 结语

本文介绍的节水灌溉自动控制系统,利用MSP430单片机内部的ADC模块使得电路设计简单化,田间各节点的单片机收集环境参数并自动判断灌溉,上位机通过网络获取天气信息、检测环境参数正常,辅助判断是否应灌溉,并且能对田间每各节点的灌溉参数进行修改,实现自动控制灌溉。

实验证明,该系统具备较好的稳定性,节能且运行可靠,可以满足基本农业生产需要,使用方便,节水节能。但对于数据的处理性不强,仍需做完善。在硬件和软件方面仍具备可延展性,可采集周边环境参数如光照、雨量、CO2等,结合信息融合、PID等算法,提高系统对周围环境的分析能力,满足不同用户的需求。

参考文献

[1] 马成,周进祥.浅析我国农业节水灌溉现状及发展[J].科技传播,2009,9下:31-32.

[2] 刘善梅,彭辉.基于msp430的智能灌溉系统设计[J].农机化研究,2010,7:117-120.

[3] 齐怀琴,张松,王晗.基于MSP430F5438的超低功耗森林火灾预警系统设计[J].测控技术,2013,32(1):28-31.

[4] Texas Instruments Incorporated. Msp430x1xx Family User's Guide[EB/OL].2009-10-01.http://.

[5] 秦龙.MSP430单片机应用系统开发典型实例[M].北京:中国电力出版社,2005:1-345.

[6] 胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航天航空大学出版社,2001:1-316.

[7] 张军.智能温度传感器DS18B20及其应用[J].仪表技术,2010,4:68-70.

[8] 李元寿,王根绪,程玉菲,等.FDR在高寒草地土壤水分测量中的标定及其应用[J].干旱区地理,2006,29(4):543-547.

[9] 吕国华,李子忠,赵炳祥,等.频率域反射仪测定土壤含水量的校正与田间验证[J].干旱地区农业研究,2008,26(4):33-37.

上一篇:挤压轮转速对铝护套连续挤压包覆过程的影响 下一篇:论建筑施工各专业之间协调配合问题