基于单片机的断电记忆智能浇花系统设计
2016-08-16王子权安徽理工大学
王子权安徽理工大学
基于单片机的断电记忆智能浇花系统设计
王子权
安徽理工大学
引言
花草植物可以帮助人们陶冶情操、舒解心情并能改善家庭生活环境等。然而年轻的人生活节奏快,工作繁忙,所以照看花木的精力较少。同时,有些年轻人,可能需要经常出差,这样,家中的花卉就得不到很好的照顾。目前市场上已有自动浇花系统的应用,如定时定量浇水或根据土壤湿度自动浇水,有的也可以把土壤湿度检测和定时定量浇水组合起来。本设计系统根据不同植物人为设置土壤湿度值和浇水量来自动判断浇水条件并实现定量浇水。单片机将预先设置的土壤湿度值和浇水量数据存储在存储器里,这样当系统断电后来电时能够按照原先设置的数据正常工作。本设计使用实时时钟芯片向单片机输送月份和时钟数据,实现不同季节不同时段的土壤湿度检测,单片机将检测得到的土壤湿度信号与预先设置的土壤湿度值进行分析比较来判断是否达到浇水条件,当判断要浇水时,单片机给电机驱动模块供电,并根据预先设置的浇水量,构建流量-时间数学模型,驱动水泵运行相应的时间。
1 系统的总体设计
该系统的总体设计如图1所示。系统的控制核心为AT89S52单片机,包括土壤湿度传感器、A/D模块、按键模块、电源模块、复位模块、实时时钟模块、温度传感器、电机驱动模块、显示模块、串行输入转并行输出模块、存储器模块。
图1 系统总体设计
2 系统的工作原理
系统加电后,人为通过按键模块选择检测对象,输入预设土壤湿度值和浇水量,依次按下输入确认和系统确认按键,此时系统正式开始工作。单片机将预设的土壤湿度值和浇水量数据存储在存储器里,并实时采集实时时钟芯片上的月份和小时数据,根据月份数据判断植物处哪个季节,根据小时数据判断是否到达检测时间段,当到达检测时间段时,单片机接收由A/D模块将土壤湿度信号转换成的数字量,土壤湿度信号由土壤湿度传感器发送给A/D模块,这样实现了在不同季节不同时间段进行检测的目的。单片机接收并处理A/D芯片传来的数据并与预先设置的土壤湿度值进行分析比较,从而判断是否给电机驱动模块供电,实现了预设土壤湿度值目的。当判断为浇水时,单片机给电机驱动模块供电,驱动水泵运转,根据水泵的性能参数可知水泵的流量值(ml/min),从而可构建流量-时间数学模型,通过单片机对模型进行运算处理可得出驱动水泵运转的时间,从而实现了预设浇水量和定量浇水。系统的实时时钟数据,预设土壤湿度值、预设浇水量值、检测的土壤湿度值、温度数值均显示在液晶显示器上。
流量-时间数学模型:
公式(2-1)中Q-水泵每分钟的流量(ml/min)
V-预设浇水量(ml)
t-浇水时间(s)
根据流量-时间数学模型,通过单片机进行数据处理,可以得出预设浇水量对应的浇水时间,从而可以通过定时器等手段进行定时浇水,把水量输出转换为时间输出,驱动水泵运转相应的时间,达到定量浇水的目的。
3 电路设计方案
电路设计方案表明各个器件、模块与单片机的连接关系,连接图如图2所示。
图2 系统总图
3.1A/D模块
A/D转换模块采用PCF8591芯片,使用IIC总线,其优点是占用单片机引脚少,在A/D转换方面使用较广。如图2所示,为PCF8591在系统中的电路连接方案。飞利浦公司规定了A/D器件地址为1001,本连接方案使用引脚地址为000。图2中AIN0、AIN1、AIN2、AIN3为土壤湿度传感器模拟信号接入脚,本连接方案使用AIN0、AIN1、AIN2三个引脚,可外接三个土壤湿度传感器。
3.2实时时钟
本系统的实时时钟模块主要是向单片机传输月份和小时数据。DS1302是由DS1202改进而来,增加了双电源管脚用于主电源和备份电源供应,VCC1为可编程涓流充电电源,附加七个字节存储器。DS1302内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
3.3显示器
本系统使用FYD12864-0402B液晶显示器,其分辨率为128× 64,可显示8×4行16×16点阵汉字,低电压低功耗也是其显著特点。该模块使用74HC595芯片实现串行输入转并行输出功能,以减少使用单片机引脚的数量。74HC595芯片是一种单片机I/O扩展芯片,遵循SPI总线协议,包含一个8位移位寄存器和一个8位D型锁存器以及三太并行输出。移位寄存器接收串行数据并提供串行数据输出,移位寄存器和锁存器都有独立的时钟输入。
3.4按键设计
本设计共9个按键,皆为独立键盘。在使用按键时,首先选择检测对象IN1、IN2、IN3,其次选择输入湿度或输入水量,然后按下数值按键,数值按键*10、*1表示每按下一次数值加10和加1,最后依次按下输入确认和系统确认。
3.5温度传感器
DS18B20是一种单总线结构的智能温度传感器,测温范围为-55℃-+125℃,测量分辨率为0.0625℃,内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。本系统温度传感器将实时监测的温度显示在显示器上。
3.6电机驱动模块
电机驱动模块使用两片L298N电机驱动芯片,一块74HC595芯片,三个5V直流水泵。L298N是一种高电压、大电流电机驱动芯片,可驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。本设计水泵选择5V直流水泵,74HC595芯片的Q0至Q5引脚接到L298N的输入引脚。
3.7存储器模块
存储器将可以将重要的数据存储起来,本系统的预设湿度值和浇水量是系统工作的必要数据,当有意外断电时,输入的数据会全部格式化,所以为使系统再次来电时能够按照原来的设置正常工作,需要加入存储器模块。FM24C02是串行可擦除ROM,其输入引脚经施密特触发器滤波抑制噪声,可靠性高。
3.8土壤湿度传感器
系统使用YL-69型土壤湿度传感器。土壤湿度传感器对环境湿度最为敏感,其灵敏度可调,模块双输出,数字量输出简单,模拟量输出更精确,比较器采用LM393芯片,工作稳定。OUT脚是数字量输出接口,输出0和1。AC脚是模拟量输出接口,可与A/D芯片的模拟量输入脚连接进行模数转换。
3.9USB转串口
USB即通用串行总线(Universal Serial Bus),是目前最为常用的一种总线标准。USB接口支持即插即用和热插拔并提供内置电源,其连接方式灵活,既可以使用串行连接方式也可以使用USB Hub把多个USB设备连接在一起。本系统使用USB接口实现自动下载和给单片机提供标准电源,使得单片机的代码下载与电源供应在同一接口上。本设计使用CH340G芯片,以实现USB转串口。
4 软件设计
程序设计包括初始化、显示子程序、按键程序、土壤湿度检测与A/D转换程序、温度检测程序、PCF8591服务程序、存储器读写程序、L298N电机驱动程序、实时时钟程序。流程图如图3。
图3 程序流程图
5 结语
本设计使用AT89S52单片机作为控制器芯片,设计了一种断电记忆智能浇花系统。该系统可预设土壤湿度值和浇水量,并将输入的数据放在存储器里,这样可在断电后来电时按照原先设置的数据正常工作。该系统通过读取实时时钟芯片的时间数据判断花所处的具体时间,实现在不同季节不同时间段的检测与浇灌。土壤湿度传感器将土壤湿度信号传送给A/D转换芯片,单片机通过对采集的土壤湿度值与预设土壤湿度值进行比较来判断是否给花浇水,通过单片机处理流量-时间数学模型将流量输出转换为时间输出以实现定量浇水。
[1]何伟宏,郑首易,毛锦庚,陈美金.基于单片机的智能浇花系统设计与实现[J].电子制作,2016(2):20-21.
[2]吴平.多路智能家庭实用浇花器设计.价值工程[J],2014(12):23-25.
[3]刘川,张小成,高进渊,马金刚,和晓雲,李晓勤.智能自动浇花系统的控制设计研究[J].科技世界,2015(12):87-88.
[4]雷红淼,程耀瑜.基于L298N的直流电机驱动电路优化设计[J].数字技术与应用,2012(2):118+120.
[5]何韦青.详解74HC595以及它的级联用法[N].电子报,2013(011).
[6]张宁丹,金桂.基于STC89C52单片机DS1302时钟芯片定时开关的设计与仿真[J].现代电子技术,2013(8):4-6.
The Design of Intelligent Automatic Watering System of Flowers Based on SCM
Wang Ziquan
ANHUI UNIVERSITY OF SCIENCE&TECHNOLOGY
基于单片机的断电记忆智能浇花系统设计以AT89S52单片机为控制器,可预先设置土壤湿度值和浇水量,由单片机分析处理土壤湿度传感器检测的湿度信息,并与预先设置的土壤湿度值进行比较,当达到浇水条件时,单片机给电机驱动模块供电,根据预先设置的浇水量,使水泵运转相应的时间。系统将预先设置的土壤湿度值和浇水量数据放在存储器里,当系统断电后来电时能够按照原先设置的数据正常运行。
AT89S52单片机;LCD12864;74HC595;L298N;PCF8591;FM24C02
The design of intelligent automatic watering system of flowers based on SCM,which takes the type AT89S52 single-chip microcomputer as the MCU,can be operated by presetting the nu⁃merical value of soil moisture and water.The SCM will analyze and dispose the signal from the soil moisture sensor,and compare with the presetting numerical value of soil moisture.The module of driv⁃ing motor will get started when it is the situation to water flowers,and drive the water pump for a regular time according to the preset⁃ting numerical value of water.The system stores the data of preset⁃ting numerical value of soil moisture and water in the storage,and will be running normally after breaking off electronic.
AT89S52SCM;LCD12864;74HC595;L298N;PCF8 591;FM24C02