图2硬件框图
3.3设计方案(二)
花盆土壤湿度控制系统主要由五个部分组 成,分别是单片机、湿度传感器模块、浇水模块、报警模块以及电源电路,系统原理框图如图 1 所示。湿度传感器模块负责实时检测花盆土壤的湿度值,将花盆土壤的湿度值转换为对应的模拟电压,然后由MSP430 单片机内部的 AD 转换电路将模拟电压转换为数字量。当湿度传感器模块输出电压高于设定的阈值时,单片机判断花盆处于缺水状态。浇水模块主要由继电器和电磁阀组成。当单片机判断花盆处于缺水状态时,通过控制继电器进而控制电磁阀进行浇水。报警模块主要由水位开关和报警电路组成。水位开关负责检测花盆水箱的水位情况,当花盆水箱水位低于设定值时,单片机控制报警电路输出报警信号,提醒花盆主人花盆水箱加水。最后,由电源电路为系统提供电源。
图3 硬件框图
3,4设计方案比较
比较两种设计方案,各有所长,各有所短。采用的单片机芯片不一样。
5
89C51 单片机是8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有111 条指令。而MSP430 单片机是16 位的单片机,采用了精简指令集( RISC )结构,只有简洁的27 条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。再者, 89C51 系列单片机由于其内部总线是8 位的,其内部功能模块基本上都是8 位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。MSP430 系列其基本架构是16 位的,同时在其内部的数据总线经过转换还存在8 位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展8 位的功能模块,还是16 位的功能模块,即使扩展模/ 数转换或数/ 模转换这类的功能模块也是很方便的。这也就是为什么MSP430 系列产品和其中功能部件迅速增加的原因。最后,就是在开发工具上面。对于89C51 来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。但是如何实现在线编程还是一 个很大的问题。对于MSP430 系列而言,由于引进了Flash 型程序存储器和JTAG 技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。 4.系统的软硬件设计 4.1单片机AT 89c51
此系统选用的是一款高性能、低成本、低功耗的AT 89c51 单片机.
AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器。单机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
4.2壤湿度信号采集及处理。
6
由于土壤中含有矿物质离子,这些矿物质离子都溶解在土壤中的水中. 如果将两个电极插入土壤中,由于两级 间的电阻与电压成正比,所以通过计算两级的电压来表征土壤湿度. 在测量电压之前,需将传感器得到的模拟电压信号经过 A / D 转换成数字信号以便单片机处理.选择 YL-69 土壤湿度传感器模块. 传感器得到的模拟电压通过精密半波整流电路进行整流,再经过滤波电路滤波,之后通过A / D 转换送给单片机处理. 为了方便精确测量,我们选择用交流电源给土壤湿度传感器供电,因为如果使用直流电源,两电极间会发生极化现象,会影响电压的测量. 交流电源取自所用单片机的模拟输出端,该端出来有正弦波分量和直流分量,经过电容隔直后给传感器供正弦交流电压.
4.3 数据处理及显示模块
数据处理及显示模块是由 A / D 转换电路、STC89C52 单片机和继电器控制电路组成,单片机处理模块是系统的核心. 此系统滴灌方式分为定时和自动两个模式. 自动模式就是通过采集土壤湿度检测模块传递的实时土壤湿度信号,与设定的湿度数据进行对比,然后输出信号使继电器控制电路控制水泵的开关,从而进行对盆栽植物的实时灌水. 定时模式是通过设定浇灌时间和浇灌的时长来进行浇灌设定. 两种模式的数据变化信息可通过液晶器进行显示. 显示器采用液晶 LCD1602 模块,可以显示 16* 2 共 32 个 7* 7 点阵 [6-8] . 定时和自动两个模式两种显示界面是通过切换实现的.
4.4 水泵及供水模块
水泵及供水模块中的采用滴灌管有助于节水和均与浇灌,低音水泵不影响正常生活,并且自带储水罐. 水泵开始工作后,通过滴灌管进行系统的供水工作,在供水的过程中每 30 s( 根据滴管口径调节) 会由土壤湿度检测模块进行湿度的实时监测. 当达到合适的湿度值的时候电磁阀和水泵停止工作.
7
4.5 电源管理系统
盆栽植物土壤水分监测及自动浇灌模块的电源特别重要. 水泵采用 12 V 电源供电,通过市电经过降压、稳压和滤波处理的直流稳压电源. 独立电源方面采用的是基于 LM2576-5. 0 的开关电源模块,将大容量锂电池的 11. 1 V 电压转换到稳定的 5. 0 V 电源,供给整个系统使用.
5 软件设计
盆栽植物土壤水分监测及自动浇灌模块的程序结构是主程序以及按键扫描处理、时间、土壤湿度数据采集、数据处理、显示、电机驱动等子程序组成,如图 7 所示.
在设计中,整个程序采用 C 语言在 Keil uVision4 种进行编写调试. 系统采用模块化设计,模块化设计可以使程序结构清晰 便于调试。整个系统操作操作方法为当开启系统后进入主函数,初始化化函数变量及初始化传感器模块,进入按键扫描函数,通过按键选择系统的工作模式,在自动控制模式下,调用土壤湿度数据采集函数,采集当前土壤湿度值,并通过数据处理程序对湿度值进行分析,当湿度值小于预设值时,进入水泵电机驱动函数,开启灌溉功能,直到达到湿度预设值,停止灌溉; 在定时模式下,可通过按键扫描函数,对定时时间进行设置,在该模式下,调用时间程序,当达到定时时间时,进入电机驱动函数,开启灌溉功能,当灌溉时间到时停止灌溉,整个操作过程均可实现液晶显示.
8