自动浇花系统.docx

上传人:b****6 文档编号:7527467 上传时间:2023-01-24 格式:DOCX 页数:20 大小:582.92KB
下载 相关 举报
自动浇花系统.docx_第1页
第1页 / 共20页
自动浇花系统.docx_第2页
第2页 / 共20页
自动浇花系统.docx_第3页
第3页 / 共20页
自动浇花系统.docx_第4页
第4页 / 共20页
自动浇花系统.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

自动浇花系统.docx

《自动浇花系统.docx》由会员分享,可在线阅读,更多相关《自动浇花系统.docx(20页珍藏版)》请在冰豆网上搜索。

自动浇花系统.docx

自动浇花系统

编号(学号):

本科学生毕业设计

 

题目:

自动浇花系统设计

学院名称:

_________________________

专业名称:

年级:

学生姓名:

学号:

指导教师:

______职称/学历:

______

 

教务处制

自动浇花系统设计

**

物理及电子信息学院电子信息工程专业2010级10班指导教师:

**

摘要:

此次设计采用STC89C52RC单片机外接湿度传感器、显示模块、电机驱动模块、按键模块,组成自动浇花系统。

在控制器的控制下,探测器检测土壤温湿度,将检测值传送回来,经控制器判断该值是否在正常温湿度范围内,若低于温湿度的最小值,发出浇水指令,让水泵自动出水;若高于最大值,发出终止浇水指令,让水泵停止浇水。

关键词:

STC89C52RC;湿度传感器;自动浇花

 

 

DesignofAutomaticwateringsystem

**

SchoolofPhysicsandElectronicInformation,ElectronicandInformationEngineering,Class10Grade2010.Inistructor:

**

Abstract:

ThisdesignusesSTC89C52RCmicrocontrollerandexternalhumiditysensor,displaymodule,motordrivermodule,keymodule,automaticwateringsystem.Underthecontrolofthecontroller,thesoiltemperatureandhumiditydetectiondetector,thedetectedvaluesentback,thecontrollerjudgeswhetherthevalueundernormaltemperatureandhumidityrange,iflessthantheminimumtemperatureandhumidity,awateringinstruction,lettheautomaticwaterpump;ifhigherthanthemaximumvalue,issuedastopwateringinstruction,makethepumpstopwatering.

Keywords:

STC89C52RC;Humiditysensor;Automaticwatering

1绪论

1.1课题背景及研究意义

随着城镇化、城市化的大力发展,人们的生活质量不断的提高,越来越多的家庭开始在自己的庭院、阳台等种植花卉等小型植物,花卉种植的普及当然也带来了一些小小的难题,浇水“难”其中常见且重要的一个问题。

为了应对这个难题,自动浇水系统应运而生。

随着科技的不断发展,他们无一例外都是能够起到方便我们日常生活的作用。

自动浇花系统可以理解为各种设备的一种,它能够通过编程手段完成特定任务,实现浇花自动化,方便我们的日常生活。

同时自动浇花系统的制作成本十分低廉,电路结构简单,程序调试也很方便,具有很好的移植性和趣味性,因此受到了广大同学的喜爱。

同时全国大学生电子设计竞赛每年都设有自动浇花系统类的题目,也可看出国家对生活自动化的重视。

本题目设计的是具有自动自动浇花功能的系统,其设计和日常生活中花卉种植的需求想结合。

设计采用湿度传感器检测,单片机控制。

自动浇花系统系统的设计采用了C语言编程的模式,简单易懂,设计电路结构简单,调试方便,有很大的扩展空间。

1.2课题的设计目的

1.通过此次设计,加深对大学本科所学专业知识的理解,获得初步的应用经验,为走出校门从事专业相关工作打下基础。

2.通过对课题方案的筛选、分析,以及后期的制作、调试过程,加强对专业问题的解决能力。

3.通过了此次课题设计,培养了我们对课题研究的兴趣,加深了我们科研的学习精神。

1.3课题的主要工作

通过湿度传感器得出测量值,通过AD转换器转换成数字信号,经单片机处理,进而控制继电器开关,控制水泵的出水。

课题要求如下:

1.湿度传感器输出电压连续且范围变化合理

2.AD转换器线性度好,精度高

3.当湿度大于设定值时继电器打开,否则关闭

4.通过两个按键调节阀值大小

1.4本文研究内容

本设计要求采用单片机为控制核心,利用湿度传感器实现对土壤湿度的检测,并将检测值通过AD转换传给单片机进行处理,然后由单片机根据所检测的数据判断实现对继电器的控制,并将检测湿度通过LED显示屏显示出来。

本设计就采用了STC89C52RC单片机为控制核心,TCL2543N为模数转换器,XD-3461AS为显示器,FC-28为湿度检测器,采用继电器SRD-12VDC-SL-C为电机驱动芯片,外接两个按键调节阀值大小。

 

2系统概述

2.1整体方案设计思想

根据题目所提要求,确定如下方案:

自己购买材料制作出,使用SRD-12VDC-SL-C模块,连接单片机使之对土壤的湿度进行控制,并以此为基础,在最小系统板上加装湿度传感器FC-28。

然后,湿度检测模块把测距数据返回给单片机,单片机发送相应的指令实现对水泵开关的控制,从而达到自动检测湿度以及自动浇水的功能。

2.2系统组成

主显示部分

传感器模块控

芯按键部分

电源部分片

电机驱动模块水泵

图2.1系统组成

2.2.1主控芯片的选择

现在市场上的控制芯片种类繁多,大多数都能够很好地满足题目中的要求,比如MCS-51系列单片机STC89C52RC,AVR单片机,还有ARM,凌阳等等[1],当然他们都有各自的优缺点,而本次设计过程中,我们选择了STC89C52RC。

相对于其他种类的控制芯片,STC89C52的一系列更加适合我们这次的题目,比如:

STC89C52RC单片机完全能够很好的完成本设计的所有功能;STC89C52RC的外围电路十分简单,控制方便;在我们的课程中关于STC89C52RC的介绍很多;最重要的一点STC89C52RC价格相对其他控制芯片而言要便宜很多,能够很好控制设计成本。

综合以上几点我在最终设计的时候选择了MCS-51系列单片机STC89C52RC来完成本设计。

2.2.2传感器模块选择

随着科学技术的不断发展,传感器领域也相应得到了很大的发展。

它在各个领域都有着非常广泛的运用。

在本次设计的传感器的选择上,我们考虑了湿度传感器和温湿传感器这两种。

温湿传感器体积小,性能稳定,精度高,可以检测土壤的温度和湿度,但价格昂贵;湿度传感器,精度和长期稳定,对湿度敏感,可用于土壤湿度检测,且价格低。

经过和老师同学的探讨,考虑到对传感器的选择上关键在于是否适合单片机处理。

最后我们选择了相对实用的湿度传感器。

2.2.3电机驱动模块

继电器(英文名称:

relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器[2]。

它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。

通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。

故在电路中起着自动调节、安全保护、转换电路等作用继电器,充当水泵开关,控制水泵出水。

正是因为其功能,符合我们此次的设计,我们选择其作为自动浇花系统的电机驱动模块。

2.2.4显示部分

数码管是一种半导体发光器件,又称LED数码管[3],其基本单元是发光二极管。

其是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

LED数码管根据LED的接法不同分为共阴和共阳两类,共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)。

按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。

 

3系统硬件设计

3.1STC89C52RC单片机

STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52RC使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52RC为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89C52RC可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

其主要工作特性是:

8K字节程序存储空间;

512字节数据存储空间;

内带2K字节EEPROM存储空间;

可直接使用串口下载;

8K字节程序存储空间;

256字节数据存储空间;

自带2KB的EEPROM存储空间;

 

3.1.1STC89C52RC单片机管脚图

图3.1STC89C52RC单片机管脚

部分引脚介绍[4]:

引脚9:

REST/Vpd,RESET是复位端,连续保持两个机器周期以上的高电平,单片机将完成复位。

Vpd是备用电源输入端,当电源电压下降到一定值时,备用电源通过Vpd端给内部RAM供电,直至单片机工作电压恢复正常。

引脚11:

TXD,串行口输出

引脚12:

—INT0,外部中断0输入

引脚13:

—INT1,外部中断1输入

引脚14:

T0,定时/计数器T1外部输入

引脚15:

T1,定时/计数器T1外部输入

引脚16:

—WR,外部RAM写信号

引脚17:

—RD,外部RAM读信号

引脚20:

Vss,接地端

引脚40:

Vcc,电源端。

正常工作和编程校验(8051/8751)均为+5V。

引脚31:

—EA/Vpp,片外程序存储器访问允许信号/编程电源。

—EA为低电平时,允许访问,片外程序存储器。

对ROMLess型单片机,使用时该引脚必须接地。

3.2AD转换模块

具有11个输入端的12位模数转换器TLC2543是美国德州仪器公司推出的一种性能价格比较优的12位A/D转换芯片,具有多种封装形式。

其使用开关电容逐次逼近技术完成A/D转换过程,由于是串行输入结构,能够节省51系列单片机I/O资源,且价格适中。

其特点[5]有:

(1)12位分辨率A/D转换器;

在工作温度范围内10us转换时间;

11个模拟输入通道;

3路内置自测方式;

采样率为66kbps;

线性误差+1LSB(max);

有转换结束输出;

可编程的MSB和LSB;

可编程的输出数据长度;

及带有串行外设接口(SPI)的微处理器易于接口。

3.2.1TLC2543CN引脚图

图3.2TLC2543CN引脚

TLC2543CN引脚介绍:

引脚1:

AIN0,模拟量输入端。

引脚10:

GND,接地端。

引脚11:

AIN9,模拟量输入端。

引脚12:

AIN10,模拟量输入端。

引脚13:

REF—,负基准电压端。

基准电压的低端(通常为地)被加到REF-。

引脚14:

REF+,正基准电压端。

基准电压的正端(通常为Vcc)被加到REF+,最大的输入电压范围由加于本端及REF-端的电压差决定。

引脚15:

—CS,片选端。

在—CS端由高变低时,内部计数器复位。

由低变高时,在设定时间内禁止DATAINPUT和I/OCLOCK

引脚16:

DATAOUT,A/D转换结果的三态串行输出端。

—CS为高时处于高阻抗状态,—CS为低时处于激活状态和I/OCLOCK。

引脚17:

DATAINPUT,串行数据输入端。

由4位的串行地址输入来选择模拟量输入通道。

引脚18:

I/OCLOCK,输入/输出时钟端。

I/OCLOCK接收串行输入信号并完成以下四个功能:

(1)在I/OCLOCK的前8个上升沿,8位输入数据存入输入数据寄存器。

(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最后一个下降沿为止。

(3)将前一次转换数据的其余11位输出到DATAOUT端,在I/OCLOCK的下降沿时数据开始变化。

(4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位。

引脚19:

E0C,转换结束端。

在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平并保持到转换完成和数据准备传输为止。

引脚20:

Vcc,电源。

 

3.2.2AD转换器及单片机STC89C52RC单片机的接口电路

图3.3转换器及单片机接口电路

3.3显示模块

XD-3641AS是四位八段共阴极数码管,每个段均有0和1两种状态。

各段发光二极管的阴极连在一起,将此公共点接地,某一段发光二极管的阴极为高电平

(1)时,该段发光,数码管的a、b、c、d、e、e、f、g、h、dp分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭[2]。

如:

使其显示“0”,则要求a、b、c、d、f各个引脚为高电平,g和dp为低电平,即:

dpgfedcba(00111111)。

3.3.1XD-3641AS引脚

图3.4XD-3641AS引脚

图3.5数码管实物显示

XD-3641AS引脚介绍:

引脚1:

控制F,该引脚和STC89C52RC引脚14相连,实现数码单边亮的控制。

引脚2:

控制D,该引脚和STC89C52RC引脚13相连,实现数码管单边亮的控制。

引脚3:

控制DP,该引脚和STC89C52RC引脚相连,实现小数点亮或不亮的控制。

引脚4:

控制C,该引脚和STC89C52RC引脚12相连,实现数码管单边亮的控制。

引脚5:

控制G,该引脚和STC89C52RC引脚16相连,实现数码管单边亮的控制。

引脚7:

控制B,该引脚和STC89C52RC引脚11相连,实现数码管单边亮的控制。

引脚10:

控制F,该引脚和STC89C52RC引脚15相连,实现数码管单边亮的控制。

引脚11:

控制A,该引脚和STC89C52RC引脚17相连,实现数码管单边亮的控制。

引脚6、8、9、12:

分别控制从右往左,第一个数字“8”,第二个数字“8”,第三个数字“8”,第四个数字“8”。

引脚12和STC89C52RC引脚36相连实现第四个“8”亮或不亮的控制。

引脚9和STC89C52RC引脚37相连实现第三个“8”量或不亮的控制。

引脚8和STC89C52RC引脚38相连实现第而个“8”量或不亮的控制。

引脚6和STC89C52RC引脚39相连实现第一个“8”量或不亮的控制。

3.4湿度检测模块设计

3.4.1FC-28湿度传感器工作原理

接通电源。

利用传感器探头的导电性,检测出电平信号。

当湿度低于设定值时,输出高电平,高于设定值时,输出低电平。

这样土壤的湿度以电信号的方式输送出来。

输出的电平信号传送到AD转换器,将其转换成模拟信号。

3.4.2FC-28湿度传感器及AD转换器的接口电路

3引脚接电源;2引脚接地;1引脚接AD转换器,将模拟信号输出到AD转换器[6]。

图3.6湿度传感器及AD转换器接口引脚

3.5硬件整体设计

硬件整体设计原理图[7]如图3.8所示。

图3.7自动浇花系统的设计整体原理

 

4系统软件设计

4.1系统软件设计思路

自动浇花系统软件设计包括四个部分的程序设计,分别是:

AD转换模块程序设计、湿度检测模块设计、阀值调节模块、数码管显示模块设计。

AD转换模块程序设计主要实现以下功能:

将湿度传感器产生的模拟信号转换成数字信号。

湿度检测模块设计主要实现以下功能:

通过程序设计,对所测湿度值进行处理,当低于所设定阀值继电器打开,实现浇水功能;当高于或等于所设阀值继电器关闭,关闭浇水功能。

阀值调节模块主要实现以下功能:

设定两个按键实现对阀值的调节功能,其中一个按键要求是上调键,另一个是下调节,同时设定调节幅度为5。

数码管显示模块主要实现以下功能:

需要数码管实现三个值的显示,分别是:

采集的电压值、采集的当前土壤湿度值、设定的适合植物生长的土壤湿度阀值。

数值顺序显示,通过间歇加以区分显示。

 

4.2系统软件设计整体框图[8]

初始化开始

阀值设定

读取信号值

数据处理

显示

模拟电压湿度阀值

湿度判断

大于等于小于

jidianqi=0jidianqi=1

图4.1软件设计原理

 

结论

本文介绍了基于STC89C52RC单片机的自动浇花系统的设计,对整个硬件电路设计进行分析。

文中介绍了自动浇花系统的功能和作用,介绍了自动浇花系统的设计思路和设计原理,从而对MCS-51系列单片机的有了一定的学习。

制作过程中成功运用了DXP软件和电子工艺技术,加深了对大学专业本科知识的应用能力。

利用ProtelDXP强大的功能,用其进行原理图设计,它可以对当前所画的原理图进行仿真,在整个设计周期都可以查看和分析电路的性能指标,及时发现设计中所存在的一些问题并加以改正。

设计者再进行电路的工作状况分析,从而提高电路的设计工作效率、缩短开发周期、降低制做成本。

写完本篇论文,也仅仅是自动浇花系统做了一个初步研发,怎样将自动浇花系统做得更好更人性化,以及将此次设计应用发散到其它单片机设计,是此次设计完成后需要思考的问题。

 

参考文献

[1]余锡存,曹国华著.单片机原理及接口技术(第二版)[M].西安:

西安电子科技大学出版社,2007.

[2]孙惠康,冯增水著.电子工艺实训教程(第三版)[M].北京:

机械工业出版社,2009.

[3]黄国权,翘建安,陈宁.基于MC51湿度检测系统的实现[D].广西工学院,2002,13(3).

[4]田亚娟编.单片机原理及应用[M].大连:

大连理工大学出版社,2008,9.

[5]杨颂华,冯毛官著.数字电子技术基础(第二版)[M].西安:

西安电子科技大学出版社,2008.

[6]阎石著.数字电子技术基础(第五版)[M].北京:

高等教育出版社,2006.

[7]刘刚,彭荣群著.ProtelDXP2004SP2原理图及PCB设计(第2版)[M].北京:

电子工业出版社,2010.

[8]杨路明著.C语言程序设计教程(第2版)[M].北京:

北京邮电大学出版社,2005.

 

附录A

系统整体电路

附录B

全部程序清单

#include

#include

#include

#include

sbitjidianqi=P2^6;//定义继电器引脚为P2.6

sbitinc=P1^6;//定义"加"按键引脚为P1.6

sbitdec=P1^7;//定义"减"按键引脚为P1.6

sbitP20=P2^0;//定义小数点控制端口

sbitCS=P2^5;//定义数据端口

sbitoutput=P2^4;//定义AD输出端口

sbitinput=P2^3;//定义AD采集端口

sbitclock=P2^2;//定义时钟端口

sbiteoc=P2^1;//定义数据端口

unsignedlongdianya1=0;

unsignedlongdianya11;

unsignedlonga,b,c=600;//定义a,b,c初始值

unsignedcharcodeled_duan[]={0x5f,0x03,0x6d,0x67,0x33,0x76,0x7e,0x43,0x7f,0x77};//p36=a,p35=g,p34=f,p33=e,p32=d,p31=c,p30=b

unsignedcharcodeled_wei[]={0x07,0x0b,0x0d,0x0e};//s4=p00,s3=p01,s2=p02,s1=p03数码管位选,段选定义

unsignedintread2543(unsignedcharCON_WORD);//函数声明

staticvoiddelay(unsignedinttime)//延时函数

{

while(time--);

}

voidkey(unsignedlongb)//按键扫描函数

{dec=inc=1;//默认为都没按下

delay(50);//延时

if(inc==0)//检测按键是否按下

{

delay(50);//延时,防抖动

if(inc==0)//再次检测是否按下

{c=c+50;delay(50);}//C的值加50,调整阀值

}

delay(100);

if(dec==0)

{

delay(100);

if(dec==0)//再次检测是否按下

{c=c-50;//调整阀值

delay(100);

}

}

}

/******************************

函数名:

unsignedintread2543(unsignedcharCON_WORD)

功能:

读取TCL2543的AD值

参数:

********************************/

unsignedintread2543(unsignedcharCON_WORD)

{

unsignedintad=0;//定义局部变量

unsignedchari;

CON_WORD<<=4;

clock=0;

CS=0;eoc=1;

for(i=0;i<12;i++)

{

if(output==1)

ad=ad|0x01;

if(CON_WORD&0x80)

input=1;

else

input=0;

clock=1;

delay(10);

clock=0;

CON_WORD<<=1;

ad<<=1;

}

CS=1;

ad>>=1;eoc=0;

return(ad);

}

//延时函数

staticvoiddelay_ms(unsignedinttime_ms)

{

unsignedi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1