基于51单片机智能喷洒系统的设计
2017-03-04杨桐
杨桐
摘 要:本系统采用STC89C51单片机为主控制核心,搭配风速传感器和温湿度传感器,设计了一款智能喷洒系统。通过三杯风风速传感器来实现对风速的实时检测,当风速大于所设定的阈值,调节喷头模式为水柱状喷洒模式,具有较强抗风速干扰能力;反之则为默认喷头模式为雾状喷洒模式,具有均匀喷洒的特点。同时,温湿度传感器能够实时采集土壤的温度和湿度,系统根据特定花草对水分的需求,进行智能化的控制喷洒的时间以及调节喷头的喷洒半径。基于此,不仅充分地满足了花草的需求,而且节省宝贵的水资源。
关键词:51单片机;智能灌溉;风速传感器;温湿度传感器
中图分类号:TP273 文献标识码:A
0.引言
每当夏季来临,学校草坪上,公园草地上等地方总能看到许多喷头不停地转圈,喷洒出水雾,滋润着花草。然而,市面上应用的喷洒系统存在着很多的不足之处。大体上存在三方面的缺陷。首先,市面上的喷洒系统喷水覆盖的半径是固定的。这将严重导致土壤水分的不均匀。其次,喷灌系统的喷灌时间一般为系统预先设定好的固定时间段,或人为控制喷洒时间。人们只能靠经验满足花草相应的水分需求。一方面,这导致花草的水分需求未能得到合适的供给,另一方面,这很可能造成水资源的浪费或人力的浪费。最后,市面上喷灌系统所喷洒的水的形态一般分为雾状或者水柱状。雾状水,能够均匀地洒落在喷灌区域,更好地让花草吸收,然而却受风力影响比较大,容易被吹散;柱状水,单位体积的水量较大,不容易受风的干扰,其缺点是,喷洒水的区域相对集中。
为了克服以上问题,本文设计了一个基于51单片机的智能喷洒系统,能够根据土壤湿度的实时情况动态调节喷头喷水的半径;根据环境风速的大小,动态选择采用霧状喷洒还是柱状喷洒的方式进行喷灌;当土壤的湿度达到预先设定的阈值条件下,喷灌系统能够自动关闭,不需要人工干预。
1.系统总体框架设计
本文设计了一个基于51单片机的智能喷洒系统。选用型号为STC89C51的单片机作为控制系统的核心,采用DHT11温湿度传感器获取土壤的湿度和温度,风速的大小值则是由BCQ-FS-TTL8三杯风风速传感器采集。同时,喷头电机由普通直流电机构成,并搭配L298N电机驱动,通过单片机输出PWM波控制电机的方向及转向。整个系统的框架图如图1所示。
2.硬件设计
2.1 DHT11温湿度传感器
DHT11传感器采用单总线结构(电路结构简单,所需总线单元较少),与51单片机进行数据的通信和同步。该传感器湿度的测量范围为:20%~90%RH,测湿精度为±5%RH;同时,温度的测量范围为:0~50℃,测温精度为±2℃。
单片机采集一次DHT11传感器数据的时间大约为4ms,每次传输40bit的数据。40bit的数据格式包括8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其中,8位校验和的数据为8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据所得结果的末8位,用于检验数据的传输是否正确。
2.2 BCQ-FS-TTL8三杯风风速传感器
三杯风传感器结构相对简单,通过3片小碗状口来捕获风速的强弱,风速越大,3片小碗状口转速越快,反之,其转速越慢。工作原理大致如下:每转一圈,信号引脚输出8个脉冲,单位时间内所产生的脉冲个数除以6,即为对应的风速值(单位是m/s)。启动风力为:0.2m/s,即风速超过阈值0.2m/s,信号引脚才会有脉冲输出。
该传感器共3根引脚,一根电源线接VCC(+5V),一根地线接GND,(与单片机共地),另外一个信号线接单片机的P3.2(INT0外部中断),目的是为了通过外部INT0中断测量风速所对应的脉冲个数。
此外,为了增加传输的距离,需要上拉一个10K左右的电阻,电阻的一端接在VCC电源线上,另外一端接在信号引脚上,目的是为了增大驱动电流。
2.3 L298N电机驱动
L298N电机驱动为2路H桥驱动,可以同时驱动两个直流电机(即可同时控制两个喷头,若想要控制多个喷头,可以采用并联的方式,把多个喷头分成2组)。
该驱动模块共有4根控制引脚,与51单片机分别相连。其中,IN1和IN2控制电机A,IN3和IN4控制电机B。值得注意的是L298N驱动需要较高的外接电源(+12V~+24V)进行供电。
该驱动具有两种工作模式,一方面,当使能ENA(控制电机A)、ENB(控制电机B)时,可以分别从IN1、IN2输入PWM(Pulse Width Modulation)信号来控制电机A的转速和方向。同时,可以分别从IN3、IN4输入相同PWM脉冲信号来控制电机B的转速和方向。另一方面,若禁止ENA和ENB使能时,即可通过单片机向IN1、IN2、IN3、IN4四个引脚输入逻辑1和逻辑0电平来控制电机A和电机B,其中,IN1(IN3)输入为逻辑1,IN2(IN4)输入为逻辑0,电机A(B)正转,IN1(IN3)输入为逻辑0,IN2(IN4)输入为逻辑1,电机A(B)反转,其他方式下,电机A(B)均不转。
2.4 直流电机
直流电机具有两个引脚,分正极引脚和负极引脚。其中,若正极引脚接恒定逻辑高电平,负极引脚接恒定逻辑低电平,电机正转;若正极引脚接恒定逻辑低电平,负极引脚接恒定逻辑高电平,电机反转;若正负极均接恒定逻辑高电平或者恒定逻辑低电平,电机不转。
当然,也可以往正负极输入PWM信号,从而控制电机的转速。PWM(Pulse Width Modulation),简称脉宽调制,信号频率不变,脉冲高电平的宽度可以调节,不同占空比(高电平的时间占整个周期T的比重)的脉冲信号作用于直流电机,单位时间内等效的电压(电流)值大小不同,电机的转速正比于电压(电流)值的大小,因此,单片机产生的PWM脉冲信号,可以控制直流电机的转速。
3.软件设计
软件部分的设计可以采用模块化的思路,采用C语言进行程序的编写。主要包含定时器模块,风速传感器模块、温湿度传感器模块、L298N驱动+直流电机模块。基于51单片机智能喷洒系统的流程图如图2所示。
图2展示了整个系统软件的流程。在主函数Main中循环执行整个系统的操作。其中,采用定时器0中断完成精确的定时操作,每隔5min(人为设定参数)读取DHT11温湿度传感器的数据,定时器0工作在模式1,为16位定时计数器,单片机接收到湿度数据,并与预先设定好的湿度阈值进行比较,若湿度低于阈值,控制L298N驱动,使电机继续维持转速,若接收的数据大于湿度阈值,则控制L298N驱动,即单片机往L298N驱动控制引脚(控制电机的引脚)输入PWM脉波,从而调节电机的转速,使得喷头喷洒的水覆盖不到相对于的土壤面积。
同时,采用定时器1完成10min的定时(工作方式同定时器0),系统读取三杯风风速传感器的风速值,然后与预先设定好的风速阈值(例如,6级风速,10m/s)进行比较,若风速大于阈值,则控制继电器,使其工作在水柱状喷洒模式,反之,则工作在默认工作模式,即水雾状工作模式。
结语
基于51单片机的智能喷洒系统克服了市面上传统喷洒系统的诸多弊端,在充分满足花草水分需求的条件下,节约了宝贵的水资源。同时,系统一旦初始化完毕(人们提前设定好参数,如风速的上限阈值,土壤湿度的下限阈值,每隔多长时间读取传感器的数值,即设定相应的定时器参数等等参数),就不需要人为干扰,提供了极大的便捷式服务。
參考文献
[1]胡鑫凤.基于51单片机的大学生宿舍用电管理系统[J].电子制作,2013(18):37-38.
[2]奚建荣.基于51单片机的多点温度控制系统设计[J].现代电子技术,2009(2):186-188.
[3]刘翠梅,承晓.基于51单片机的智能节水开关的设计[J].科技广场,2015(10):81-85.
[4]黄春平,万其明,叶林.基于51单片机的智能循迹小车的设计[J].仪表技术,2011(2):54-56.
[5]姜彬,居小琴.基于AT89C51单片机的电子密码锁系统设计[J].无线互联科技,2014(12):30-30.
[6]王贯安.基于AT89C51单片机的交通灯控制系统设计与仿真[J].硅谷,2014, 7(24):37.