基于AT89S52单片机的花卉自动浇灌系统的设计
扫描二维码
随时随地手机看文章
摘要:为设计一种方便家庭使用的花卉自动浇灌装置,利用AT89S52单片机进行可编程控制,结合外围温度传感器、蒸发罐、控制信号、按键、报警电路,实现了根据不同的光照、温度等条件自动调节浇水时间间隔,低温天气下自动停止浇灌,报警电路提醒用户及时对花草采取防冻措施。该系统的设计结构模块化管理,便于后期扩展,硬件成本低,适合家庭用户使用。
关键词:单片机编程;温度传感器;自动浇灌;光电耦合器
0 引言
随着生活条件的改善,越来越多的人们在家中种植了各种花卉植物用以美化环境。花卉的生长需要稳定的环境湿度和温度,但一般来讲,家庭种植花卉植物的浇水工作主要凭借主人的主观判断来决定浇水量的大小,浇与不浇非常随意,经常会是浇得过量或者过少。目前市场上有一些自动浇水的装置,例如一些双层的花盆,利用虹吸或者微渗原理,保持花盆的湿润。但是这样的装置不能根据不同植物不同季节的不同需求进行精确调节。当然目前也有能够精确调节浇灌量的浇水系统,但是通常这样的系统复杂庞大、装配费用高昂、维修困难,一般应用于苗圃、农场等大规模种植,不适于家庭使用。
为了克服现有技术结构复杂、费用高、不适于家用的不足,本文设计了一种自动浇灌装置,能够利用简单设备实现根据实际的水份蒸发量调节浇水量。
1 总体设计
花卉的正常生长要求温度和湿度稳定在一个既定范围内,超出或者低于这个范围将影响花卉的正常生长。该系统采用AT89S52可编程单片机测控,实现花卉生长环境因子信息数据的实时采集、处理,输出信号控制外围执行机构,以实现环境湿度和温度强度的测控,达到节水节能,省时省工的效果。软件开发用C语言,采用模块式结构,系统功能易于扩展。
系统具体功能如下:
(1)实现按需灌溉功能。按照花卉的需求开启和关闭灌溉系统,实现一般的控制。具有结构简单,成本低,操作方便。
(2)通过传感器检测花卉生长的环境温度和土壤湿度(用蒸发器信号表示),依据设定的植物要求的温度和湿度的上下限值,由单片机来控制开关窗户、电磁阀和排风扇,从而调节温度和湿度。当空气温度高于上限值时,自动打开排风扇进行自然降温,达到要求值时则自动关闭。温度过低时发出警报,提醒用户及时采取防冻措施。
系统结构组成如图1所示。
本自动浇灌系统是基于AT89S52单片机进行可编程控制,结合外围的温度传感器、蒸发器、控制电路等实现花草的自动浇灌,具有精确、稳定、成本低的优点。
2 系统硬件设计
系统自动控制部分由AT89S52单片机控制系统实现,单片机硬件电路原理框图如图2所示。
2.1 温度控制、显示电路
2.1.1 温度控制电路
温度传感器电路原理图如图3所示。
系统的温度传感器采用DS18B20单线数字式温度传感器。该温度传感器,适用电压为3~5 V(跟单片机5 V电源供电可以适用同一电源),可测温度范围为-55~125℃(完全可以满足本系统),而且它只需单总线进行信息交互,即只需占用单片机的一个I/O口,而且基本不需要外部原件。
2.1.2 温度显示电路
温度显示电路原理图如图4所示。
系统采用2位共阳数码管显示环境温度,使用2个8550三极管通过单片机I/O P2.2和P2.3进行数码管位选。单片机上电后,P2.2和P2.3为高电平,当P2.2和P2.3变为低电平(编程进行控制)时,数码管选通,单片机P3口从温度传感器DS18B20的寄存器中读取当前温度的信息,P3口将数据信息送到数码管,进行显示。
这样可以很直观地告诉用户当前环境的温度,同时采用数码管而非液晶屏,可以有效控制成本。
2.2 电磁阀、排风扇电路
电磁阀和排风扇电路原理基本相同,当检测到单片机相应的I/O口输出低电平时(由于单片机上电时I/O口都是高电平,所以采用低电平为有效信号),通过三极管使驱动电路导通,从而驱动电磁阀或者排风扇工作。当单片机I/O口恢复高电平时,驱动电路断开,从而使电磁阀或者排风扇停止工作。
I/O口的高低电平变化,通过采集传感器的信息,通过单片机编程进行控制。更具体说明会在软件系统设计中进行介绍。
电磁阀控制电路主要由NPN共集一共射复合管及光电耦合器组成,当单片机P2.4给出高电平,复合管导通,继电器接通,将开关吸合,电磁阀接通开始放水。电磁阀控制电路如图5所示。
本电路通过单片机的P2.6口控制电磁阀通断,当P2.6为低电平时,通过光电耦合器TP521-1使3/4管脚之间导通。由于电磁阀工作电压是12 V,而且工作时电流较大,采用8050和TIP41两个NPN三极管进行驱动。此时电磁阀正常工作,给花草进行浇灌。当P2.6口变为高电平时,光电耦合器3,4脚之间断开,电磁阀停止工作,不再灌水。
2.3 报警电路
报警电路原理图如图6所示。
报警电路的蜂呜器采用单片机的P2.5口进行控制,当环境温度低于0℃时,P2.5口变为低电平,使三极管8050导通,从而使蜂鸣器工作,同时由P2.0控制的LED灯“R”(Red)会不停的闪烁,提醒用户及采取措施防止花草受冻。当环境温度恢复正常时,P2.5恢复高电平,蜂鸣器停止工作。
LED灯“G”(Green)亮,表示电磁阀正在工作,给花草浇灌。
3 系统软件设计
本系统选用适时性强与透明度高的C语言作为编程语言,系统软件的开发全部采用Keil μVision 3进行。系统程序的开发,采用了流行的模块化设计方法。在程序设计中,可根据系统功能,将整个软件系统划分为若干个功能相对独立易于解决的模块,每个模块是一个结构完整,相对独立的程序段,能完成某一规定的任务,实现某个具体的功能。
系统软件的设计,主要由如下程序模块组成:DS18B20温度采集、排风扇控制、电磁阀控制、警报电路控制等。整个系统的主程序流程如图7所示。
系统在上电初始化后将对环境温度、蒸发器信号进行判断,当环境温度过高时,系统将打开排风扇进行散热,当环境温度恢复适当时,系统将关闭排风扇,当环境温度过低时,会发生警报,提醒用户采取防冻措施保护花草。当蒸发器输出低电平时(即花草的土壤湿度过低),电磁阀打开,进行灌溉加湿。
通过上述主体流程控制,即可以达到有效的控制,使得室内环境对花卉植物的生长基本处于最佳的状态。
4 结语
基于AT89S52单片机为核心的控制电路、传感器电路和执行器件及机构组成,硬件电路简单,不需要A/D转换器件,同时考虑温度、湿度等多因子的自动浇灌系统,较全面考虑了各种因素。系统硬件电路采用成熟的电路设计,元件选用成本较低的器件,电路稳定,抗干扰力强,性价比较高。软件开发用C语言,采用模块式结构,系统功能易于扩展。
本系统设计已经取得国家专利(专利号:200820028410.7),硬件系统经过实验调试,系统设计可以满足预期功能要求,经小批量试点投放使用6个月,系统表现稳定。