基于Keil的盆花自动浇水系统设计与实现
2016-10-19刘子璇
刘子璇
中北大学朔州校区
基于Keil的盆花自动浇水系统设计与实现
刘子璇
中北大学朔州校区
在人们生活质量的提高的情况下,家庭盆栽则成为多数人的喜好,然而又因生活节奏太过于快,人们的外出时间增多,有的时候几个月甚至半年不不能回家,无法照顾家中盆花,以至于精心栽培的花种枯死。本研究就是针对这一缺点设计了一款自动浇花器。本文中对此测量系统进行了详细的描述,主要是围绕硬、软件和控制流程等核心问题展开描述,对整个系统的相关信息进行了详细阐述。
自动浇花系统 单片机 Keil软件 系统设计
1 泥土水分传感器设计原理
1.1理论基础
泥土在现代物理学上被定义为一种有固液气三项定义的复杂多孔电解质。发表在物理学权威期刊《science》上的文章有论文认为“All metals, and even some of the metal, all belong to the dielectric.”,因此,泥土也被认为是其中电解质的一种。在100MHz 的电磁频率下,水的介电常数约为八十,固体的介电常数约为四,而空气的介电常数约为一。可见,含水泥土的介电常数主要应由水来决定,通过测量泥土的介电常数即可达到测量泥土体积含水率的目的。
1.2传感器的测量原理
首先100MHz 信号源产生无线电波,此波沿着传输线传送到探针,由于探针的阻抗与传输线的阻抗不匹配,一部分的信号将反射回来。因此,传输线上电压的变化在一定程度上与泥土中水分的变化是有一致性的。
传输线理论是本例中重要的基础理论,我们在忽略其损耗的情况下,可以将位于电路两端(A/B)的峰值电压分别进行数学描述:即UB=A(1+ñ)和UA=A(1+ñ)。
2 盆花自动浇水系统的设计
为了得到泥土含水量的测定同时便于信号的检测,该系统设计了简易式泥土水分传感器,对检测到的电压信号进行了放大处理。为了达到本设计自动浇水的目的,设置了上下限电压比较器,利用单片机来控制继电器的通断,同时使电磁阀开关来自动浇水。
总的设计方案如下图1,根据设计目的本设计系统设置了以下功能模块:泥土湿度信号采集、信号放大电路、电压比较电路、单片机89s52控制、继电器控制电路、电磁阀模块、水箱水位检测、超低水位报警器八大功能模块。
图1 总设计方案
在本系统中,本设计采用AT89S52单片机,它是一个低功耗高性能CMOS 8位单片机,单片机负责去判断和负责泥土含水率的响应。在湿度信号处于<1的条件下,单片机得到命令,可以在P1.0引脚出得到高电平,而当湿度信号>3的条件下,单片机之前的三极管受到截止,对应的P1.0引脚输出低电平,阀关闭停止浇水。当湿度信号处于1<S <3条件下时,单片机对应的逻辑语句是0,继电器对应常态触点断开,电磁阀电路不导通,从而实现了电磁阀的自动开关。还有专门负责水位传感器的水位监测模块,当水位过低时,通过单片机P1.2输出高电平控制蜂鸣器发出声音报警。
硬件电路中单片机起控制作用,它相当于人的大脑;泥土湿度传感器进行湿度采集,把采集到的湿度信号送到单片机中,单片机负责去判断和负责泥土含水率的逻辑响应,并对应输出高低电平去控制三极管的工作状态,电磁阀打开或关闭的目的;电磁继电器实现单片机和阀体的转接;蜂鸣器主要是对低水位的预警功能的实现;下载线接口用来实现在线编程。
学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件是目前最流行开发80C51系列单片机的软件,Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。库函数与用户函数的区别在于,使用KeilC 语言编写的任何程序,都可以直接调用C的库函数。KeilC 提供了一百多个库函数在原库中供用户直接使用。
程序设计伪代码为:
将湿度信号给P2.0、P2.1;
水位检测信号给P3.2;
由P1.0输出信号控制继电器;
P1.2控制蜂鸣器报警。
通过对此传感器的进一步实验验证,可以发现,此传感器的优点主要有:稳定、精度高等特点,并由于此有点显著,其可以对很多类型的泥土进行可靠地测量。
[1]汪磊,韩宇光,郭鹏,张光忠,侯志鹏.盆花自动浇水系统的设计[J]. 科技创新与应用,2016,11:23.
[2]纪秀,吴联梓,司远,王伟,殷晓飞.基于AT89C52智能花盆控制系统研究[J].山东工业技术,2014,22:169.