标题 | 基于单片机的智能灌溉系统设计 |
范文 | 彭汉莹+王宇++韩改宁++张洁++李颖 摘 要:为了实现水资源合理利用,发展节水供水,改善生态环境,利用物联网技术,使传统的灌溉技术得以突破。本设计以单片机为处理器,采用AT89S52芯片,使用步进电机控制水流量,利用温湿度传感器进行数据的采集,与设定数据进行对比,进行检测并控制。通过实验验证,本系统能实时监测到数据,并对非正常情况做出报警提示。 关键词:灌溉系统;单片机;温湿度传感器 中图分类号:TP39.1 文献标识码:A 1 引言(Introduction) 世界各国越来越认识到水已成为21世纪可持续发展的一个关键问题。中国水资源已处于相当匮乏的状态,并且全国大量的废、污水未经处理或处理未达标就直接排放造成了严重的水污染,少量的河流水质低于农田供水标准。水是农业的命脉,是生态环境的控制性要素,同时又是战略性的经济资源。为了实现水资源合理利用,发展节水供水,改善生态环境,采用智能灌溉系统抽取地下水灌溉农田,是我国目前物联网农业的关键,也是实现可持续发展的基础。 利用智能灌溉系统,使传统的灌溉模式得以突破和发展,是当今世界供水、节水技术发展的总趋势。智能灌溉系统在一些发达国家应用的比较广泛,技术发展也相对成熟,起步也比较早,特别是以色列、美国和加拿大等国家,先进的物联网技术、计算机和控制技术运用到了农业灌溉中,有效地提高了用水效率和生产。 2 智能灌溉系统的组成(Composition of intelligent irrigation system) 本系统将分为四大模块组成: (1)数据采集模块(SHT10温湿度传感器) 本系统所采用的温湿度传感器是由瑞士Sensirion公司推出的SHT10单片数字温湿度集成传感器。该传感器具有出色的长期稳定性和极高的可靠性,是由于该公司采用CMOS过程微加工专利技术(CMOSenstechnology)[1]。该传感器是由一个能隙式测温元件和一个电容式聚合体测湿元件,同时与一个14位A/D转换器和一个2-wire数字接口在单芯片中无缝结合,使得该产品具有抗干扰能力强、反应快、功耗较低等优点。 (2)电机控制模块(控制水阀及营养液输送) 当检测到的温湿度不在规定到的范围中时,通过步进电机和直流电机来调控温湿度。用步进电机来控制湿度,通常情况下,步进电机的精度为步距角的3%到5%,同时不累积。根据电机负载及大小情况而定,大电机的起步速度一般对应较低。用直流电机来控制温度,电机旋转的角度正比于脉冲数,只有数字输入脉冲可以确定电机的响应。直流电机有很好的起停和反转响应,所以可靠性比较高,从而电机的寿命仅仅取决于轴承的寿命[2],由于速度正比于脉冲频率,因而有比较宽的转速范围。 (3)数据显示模块(LCD显示温度和湿度) 将采集到的温度和湿度的数据显示在LCD1602液晶屏幕上,该1602液晶显示屏也叫1602字符型液晶显示屏,这是一种专门用来显示符号、数字、字母等的点阵型液晶模块。该液晶屏是由多个5×7或5×11的点阵字符位组成,一个点阵字符位可以显示一个字符,每位之间都有一个点距的间隔,行与行之间也有间隔,起到了行间距及字符间距的作用,但是它显示图形的效果不佳。 (4)LED灯和报警喇叭 当温度和湿度超过管理员设置的温度与湿度,LED灯会亮,同时报警器也会报警。当温度低于所设范围时,D1亮并喇叭报警;当温度高于所设范围时,D2亮并喇叭报警;当湿度低于所设范围时,D3亮并喇叭报警;当湿度高于所设范围时,D4亮并喇叭报警。 3 硬件系统设计 (Hardware system design) 基于单片机的智能灌溉系统的电路包含几类:传感器数据采集电路、报警电路。硬件系统的总体设计如图1所示。 3.1 元器件的选择 通过市场调研,考虑性价比的前提下,在本次设计中选择的元件型号为: (1)核心芯片:AT89S52单片机 AT89S52单片机是一种功耗低高性能的CMOS8位微控制器,內置8kB可在线编程闪存。工作电源范围:4.0—5.5V,有三个16位定时器/计数器,32条可编程I/O线,8个中断源,以及灵活的在线编程[3]。如图2所示。 (2)直流电机和步进电机 直流点电机可通过调节电压大小就可以调速,比较方便;步进电机通过脉冲数来控制其前进的步数,步进电机控制更加稳定。如图3所示。 (3)LCD液晶:LCD1602 该液晶屏主要是用于显示温度和湿度的数值,因此从性价比上考虑,选择了LCD1602字符式显示器,该显示器的显示容量是16×2个字符,带I2C模块LCD1602连接到核心芯片AT89S52单片机[3]。显示电路设计如图4所示。 (4)温湿度传感器:SHT10传感器为测量模块,如图5所示。 (5)报警系统:LED灯和报警喇叭,如图6所示。 当温度和湿度超过管理员设置的温度与湿度,LED灯会亮,同时报警器也会报警。 3.2 硬件电路原理图 采用AT89S52单片机作为核心芯片,运用步进电机控制温湿度传感器,通过LED灯和报警器发出报警,温湿度是由管理人员根据植物的生长环境手动设置,在LCD显示屏上显示当前环境下的温度和湿度。如图7所示。 4 智能灌溉系统软件设计(Intelligent irrigation system software design) 本系统的控制元件较多,程序代码较多,所以对SHT10和LCD1602的控制程序使用封装好的库文件。因此,采用模块化程序设计方法,以C语言实现的控制程序,按模块储存在AT89S52芯片内,无需单片机扩展存储器接口,简化了系统硬件结构,减低了成本,同时又提高了系统的稳定性[5]。 该软件系统流程,如图8所示。 测量温湿度函数 chars_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode) { unsignedfalse=0; unsignedintx; s_transstart(); //启动传输函数 switch(mode) { //发送命令到传感器 case0:false+=s_write_byte(MEASURE_TEMP); break; case1:false+=s_write_byte(MEASURE_HUMI); break; default : break; } for (x=0;x<65535;x++) if(DATA==0) break; //直到测量温度湿度完毕 if(DATA) false+=1; //判断是否在测量过程中发送错误 *(p_value)=s_read_byte(ACK); *(p_value+1)=s_read_byte(ACK); *p_checksum=s_read_byte(noACK); //读取校验码 return false; //返回错误标志 } 定时器中断函数:控制马达正转、反转 void timer1(void) interrupt 3 //T1溢出中断 { static unsigned char count2; // if(flag2==1) { if (count2<=PWM_ON2) PWMZ2=1; else PWMZ2=0; } if(flag2==0) { if (count2<=PWM_ON2) PWMF2=1; else PWMF2=0; } count2++; if(count2==CYCLE2) { count2=0; }} 5 软硬件测试(Hardware and software testing) 将软件应用程序下载到硬件电路中,在proteus和keilc联合测试如图9所示。 x6 结论(Conclusion) 针对目前世界各国越水资源相当紧缺的问题,利用单片机设计的智能灌溉系统,采用AT89S52芯片作为该系统的核心芯片,使用步进电机控制水流量,利用温湿度传感器进行数据的采集,与理想数据进行对比,进行检测并控制。設计了面向农业应用的智能灌溉系统。该系统还可以应用于其他需要灌溉的服务行业。 参考文献(References) [1] 林惠贞.分布式机房温湿度集中监控系统的设计[D].汕头大学,2011. [2] 黄俊,翁惠辉.基于单片机技术的汽车空调控制系统的设计[J].长江大学学报(自科版),2012,09(1):124-126. [3] 韩改宁,韩丽娜,张清文.基于Arduino开发平台的学生宿舍门禁系统设计[J].单片机与嵌入式系统应用,2016,16(9):64-68. [4] 娄国强.基于ZigBee技术的无线测控网络平台研制[D].山东轻工业学院,2011. [5] 毕庆生,等.面向智能灌溉的物联网应用研究[J].农业网络信息,2014(5):40-43. 作者简介: 彭汉莹(1995-),本科生.研究领域:物联网工程. 王 宇(1996-),本科生.研究领域:物联网工程. 韩改宁(1977-),博士生,副教授.研究领域:单片机与嵌入式 系统应用开发.本文通讯作者. 张 洁(1995-),本科生.研究领域:物联网工程. 李 颖(1995-),本科生.研究领域:物联网工程. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。