摘 要:以单片机为主控芯片,结合传感器和计算机,搭建了一套智能化的浇灌系统;利用LabVIEW 设计并编写了基于状态机程序架构的上位机软件,实现了友好的用户交互界面,实时测量、显示与记录等功能,并由主控芯片进行浇灌。经测试,本系统具有结构简单,研制成本低,运行可靠,易于实现和安装等优点。
关键词:自动浇灌;单片机;电路设计;LabVIEW;湿度传感器
0 引言
随着人们生活水平的提高,居住环境得到了较大改善,越来越多的人在家里、花园或者菜园里种植各种花草树木。但是,日常生活中人们工作比较繁忙,养护这些花草树木有些仓促,来不及浇灌,影响它们的生长。此外,随着世界水资源越来越匮乏,人们的节水意识增强,自动灌溉系统应运而生。
智能化的浇灌系统需要对环境这个变量实时监测以便选择不同策略,尤其是土壤环境的温湿度数据,国内外的浇灌系统中已经使用了无线传感和网络技术,通过网络实时监测植物各个阶段的成长情况,但这种自动浇灌装置价格昂贵,性价比不高。因此,针对智能浇灌的应用,设计了一种基于
单片机的小型自动浇灌系统,该智能化浇灌系统是集传感器技术、自动控制技术、无线通信技术和计算机技术等于一体,能满足当前花园式自动浇灌的需要。
1 系统整体方案
1.1 控制系统方案设计
采用模块化设计思想,设计了单片机控制的自动浇灌系统。系统由单片机最小系统模块、湿度采集模块、按键模块、数据显示模块、电机控制模块和上位机模块组成。整个设计过程和思路都是依据STC89C52单片机开发板的系统资源,控制系统整体方案设计如图1所示。
1.2 控制系统工作原理
该系统可对土壤的湿度进行监控,并对作物进行适时适量的浇水。其核心是单片机、湿度采集电路、显示电路以及浇水驱动电路构成的系统检测和控制部分。通过湿度传感器对土壤中的湿度进行实时测量,经过总线将测量数据传递给单片机,单片机通过串口与上位机进行通讯,上位机接收到湿度数据后,根据用户的操作实现湿度数据的实时显示和存储。当湿度传感器检测到湿度值小于下限值时,单片机输出控制信号,驱动电机模块,对作物进行浇水作业;当湿度值达到上限值时,单片机输出关闭电机信号,浇水作业则停止。
上位机软件采用美国国家仪器公司(NI)的虚拟仪器开发平台LabVIEW 来实现,该平台不仅能够实现友好的用户界面,而且提供的VISA模块可以快速完成上位机与单片机的串口通讯编程,利于系统的快速开发与维护。通过前面板网络发布,可以在局域网其他计算机上通过网页访问和控制上位机,进行实时监控与控制,如图2所示。
2 系统硬件设计
2.1 土壤湿度采集模块
土壤湿度传感器采集模块由传感器单元和A/D转换单元组成。其中,传感器单元电路的输出端口直接接入A/D输入单元,A/D输入转换单元选择ADC0832 芯片,可以精确获得土壤湿度值。
2.2 单片机控制系统设计
单片机外围设计电路包括电源单元、按键单元、数码管显示单元和电机控制单元。电源接口为外接
直流5V电源。单片机的管脚分配如下:P0口为数据输出显示接口,驱动数码管单元,实时显示土壤湿度值;P1.0,P1.2和P1.3为A/D转换单元接口,实现土壤传感器测量值转换为单片机可以接收的二进制;P3.5为电机驱动模块信号接口,通过此管脚实现电机的启/停;按键模块分配的单片机管脚为P1.5,P1.6和P1.7,通过按键单元实现湿度上/下限值的设定功能;P2.0,P2.2,P2.4和P2.6连接数码管驱动电路。该控制系统的实物如图3所示。
2.3 串口通讯模块设计
单片机控制系统通过串口与上位机实现数据传输,该单元由电平转换模块和串口转USB接口模块组成。
2.3.1 电平转换模块
单片机有一个全双工的串行通讯口,所以单片机和PC机之间可以方便地进行串口通讯。在进行串行通讯前要满足一定的条件,因为PC机的串口是RS232电平,而单片机的串口是TTL电平,所以两者之间必须有一个电平转换电路。本设计采用专用芯片MAX232进行转换,如图4所示。采用三线制连接串口,即第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,MAX232的第10脚和单片机的11脚(P3.1)连接,第9脚和单片机的10脚(P3.0)连接,第15脚和单片机的20脚连接。
2.3.2 串口转USB接口模块
为了方便使用USB接口,需要将串口信号转换成USB接口信号。选用专用芯片PL2303HX。它是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口联接的解决方案。该器件内置USB功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB 信号与RS232 信号的转换,能够方便嵌入到各种设备。该器件作为USB/RS232 双向转换器,一方面从主机接收USB数据,并将其转换为RS232信息流格式发送给外设;另一方面从RS232外设接收数据转换为USB数据格式传送回主机。PL2303HX的电路接线如图5所示。
3 系统软件设计
3.1 单片机控制系统软件设计
单片机控制系统软件设计主要采用C语言,在Keil编译软件中,完成土壤湿度传感器采集模块、系统参数设定模块、输出电机控制模块、数据实时显示监控模块和单片机串口接收模块等部分的软件设计。主程序的流程如图6所示。
其中,湿度值采集子程序主要根据ADC0832芯片模数转换的串行协议,进行数据采集,将接收的湿度值转换为二进制,供单片机进行后续处理。按键处理子程序流程如图7所示。
单片机控制系统串口接收模块,采用串口中断模式进行接收。串口中断子程序流程如图8所示。电机控制子程序流程如图9所示。
3.2 上位机软件设计
上位机控制软件主要完成的功能是采集单片机发送的湿度值数据,同时发送上位机的控制指令信号。采用串口通讯来实现上位机与下位机之间的信息交换。本文选择LabVIEW 2011作为软件开发环境,设计自动浇灌控制系统软件界面。该软件使用图形化编辑的G语言编写程序,产生的程序是框图形式。相比较其他计算机语言,G语言具有编程效率高、程序可读性强的特点,便于缩短软件开发周期。
4 实验数据
完成系统设计后,经实际测试的部分传感器数据如表1所示。
由表1可知,采集的湿度数据稳定,无数据丢失、失真现象。与现场实际情况对比,采集出的数值与实际值相符。经多次长时间测试运行,本系统工作可靠,测量精度高,可以准确而且高精度地测量出土壤的湿度,并按照设定值进行供水浇灌。
5 结束语
设计了基于单片机的小型自动浇灌系统,可以实时监测土壤湿度值,根据采集的湿度值与系统预设值进行判断,从而实现自动浇灌的功能,可在上位机进行实时监控和操作。系统运行稳定,具有结构简单、实用性高和价格低廉等优点,同时兼具节约用水的功能,便于应用推广。