基于51系列单片机的自动喷水系统

上传人:仙*** 文档编号:116188657 上传时间:2022-07-05 格式:DOC 页数:22 大小:223KB
收藏 版权申诉 举报 下载
基于51系列单片机的自动喷水系统_第1页
第1页 / 共22页
基于51系列单片机的自动喷水系统_第2页
第2页 / 共22页
基于51系列单片机的自动喷水系统_第3页
第3页 / 共22页
资源描述:

《基于51系列单片机的自动喷水系统》由会员分享,可在线阅读,更多相关《基于51系列单片机的自动喷水系统(22页珍藏版)》请在装配图网上搜索。

1、 . . 项目摘要摘 要本系统由主要由四大部分组成:数据输入部分,数据显示部分,数据输出部分,数据处理部分。数据输入部分的功能是把要采集的数据转化成数字信号传入数据处理部分。数据显示部分的功能是把采集的数据显示出来。数据输出部分的功能是控制电磁阀来进行外部温湿度的调节。数据处理部分的功能是把采集进来的数据进行分析,输出要输出的信号控制数据的输出。本系统的功能是采集温湿度并显示,从而控制电磁阀的输出,进而控制外面的温湿度使得外面的温湿度适合植物的生长。关键词:单片机,自动灌溉,温湿度,LEDEnglishAbstractABSTRACTThis system mainly consists of

2、 four parts: data input, data display, data output, data processing. The data input portion of the function is to collect data into digital signal into the data processing section. Data display function is to collect data display. Data output portion of the function is to control the electromagnetic

3、 valve to external temperature and humidity regulator. The data processing part of the function is to collect in the data analysis, the output to output signals to control the output of the data.The function of this system is the collection of temperature and humidity and display, so as to control t

4、he electromagnetic valve to control the output, the outside temperature and humidity makes the outside temperature and humidity suitable for the growth of plants.KEY WORDS:Microcontroller, Automatic irrigation, Temperature and humidity22 / 22项目实现构思自动喷水系统的设计和功能介绍 自动化控制喷水系统(灌溉)是利用温湿传感器来监测土壤信息、作物生长信息,并

5、将监测数据传到控制系统,在CPU的分析下,对终端设备发出相应的指令,以实现无人自动维护作物生长环境以与土壤性质的功能。我们的自动喷水系统的工作原理和功能实现如下:通过土壤、气象、作物等类传感器与监测设备将土壤、作物、气象状况等监测数据通过数据总线传到单片机,经过单片机系统已编好的程序来汇集数值并进行分析处理来确定是否应该灌溉或停止灌水,然后将开启或关闭阀门的信号通过单片机传输到灌水模块,由阀门控制系统实施阀门的开关,从而实现农作物灌水的自动化控制。在系统的设计过程中,我们分为以下几个子系统:控制子系统,其中主要包括了电磁阀等相关电路,用来控制水的灌溉;数据采集子系统,其中包括AM2301等相关

6、电路;分析子系统,其中包括AT89S52单片机等相关电路;显示子系统,其中包括LED数码管显示等相关电路;报警子系统,其中包括蜂鸣器等相关电路;操作子系统,其中包括按钮等相关电路。特色创新部分1.本次系统设计中我们加入了报警电路模块,当温度达到我们的设定值时,蜂鸣器便会开始报警,而当温度降到设定值以下时,蜂鸣器将会停止报警。2.在考虑温湿度传感器的选择时,我们决定使用同时集成了温湿度采集与数字输出的AM2301,相比温度传感器DS18B20和湿度传感器AM1001,它更加方便使用,而且采集输出精度更高。3.在设定温湿度的值时,我们采用4个按键来控制,其中S1和S2键用作减和加,用来定时和设定温

7、湿度的初始值,S2键进行倒计时和时间设定的切换,S4键用来切换定时喷水、根据温度喷水、根据湿度喷水这三种指定模式。能够自由设定温湿度和定时时间,显得更为人性化,更加具有实用功能。4.保护电路,使用继电器,通过弱电控制强电,减少了电磁阀对控制系统的干扰。一定程度上保护了主要电路,延长了使用寿命。项目实现方案:方案的比较1.单片机的选择单片机具有体积小,价格低廉,功能强大,稳定可靠,运算速度快,功耗低,扩展容易,抗干扰能力强,系列齐全,使用方便灵活等优点,广泛应用于工业过程控制、自动监测、智能仪器仪表、家用电器等领域。常用开发单片机有AT89S51和AT89S52,二者各有优缺点。方案一:使用AT

8、89S51控制系统。AT89S51是一个低功耗,高性能CMOS 8位单片机,片含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统与80C51引脚结构,芯片集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。方案二:使用AT89S52控制系统。相比51,功能基本相同,它的价格虽然略高一点,但是性能更好一点。总结:综合考虑,采用方案二,本次设计选用市场上比较

9、普遍的单片机AT89S52来实现系统设计,其部带有8KB的程序存储器,256字节的数据存储器,足以满足系统要求。并且他们的引脚相同,而52单片机能发挥出更大的能效,且由于我们正在学习单片机,手上正好有52单片机,我们对它也比较熟悉,所以就决定采用52单片机来实现。2.传感器的选择对于传感器的选择,我们有两种方案,一种是温度采集使用DS18B20,而湿度采用AM1001,另一种则是采用已将温湿度采集集成在同一片传感器上,且以校准数字信号输出的复合传感器AM2301。综合二者,我们选用AM2301(又名DHT21)温湿度传感器,选用它有以下几个理由:(1)考虑DS18B20采集比较麻烦,因此我们决

10、定直接使用AM2301这块集成温湿度并且数字输出的传感器。(2)超小的体积、极低的功耗,信号传输距离可达20 米以上,使其成为温湿度测量的最正确选择。(3)因为AM2301,有已经编译好的驱动程序,只需编写将感应到的数据传送到单片机,再发送到串口显示,省去了编程的麻烦,且只需要一个单片机I/O口来传送数据,节省了硬件资源。3.显示器的选择显示器可采用LED数码管和LCD显示屏,将二者进行比较,LED结构简单,它实际上是由七个发光二极管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到

11、的 2个8数码管字样了。它的原理简单,容易理解和操作,对于一些简单的显示系统是非常理想的器件。LCD虽然功能强大,但是操作复杂,并且LED在本系统中就足以发挥作用,加上成本低廉,所以在本次设计中选用LED显示数据。系统架构图在控制系统方面,通过我们学过的自动控制原理的知识,我们确定本系统采用有单片机的传统的闭环控制系统,系统控制原理图如以下图所示:定时模式土壤温湿度电磁阀开关AT89S52处理数据数据显示闭环控制逻辑原理框图其中,植被温湿度是由AM2301传感器组成的数据采集子系统,数据显示是由6片LED数码管构成的显示子系统,AT89S52处理数据是由52单片机构成的主控制子系统,其中还包括

12、了定时以与对电磁阀的控制,电磁阀开关则是实现喷水动作功能的子系统。设计与论证该自动喷水系统共分为七个模块:主控制模块、电磁阀控制模块、报警模块、显示模块、定时模块、温度采集模块、抗干扰模块1.主输入输出控制电路。自动控制系统通过AM2301传感器对受控对象的有关参数信息数据的实时采集与数字变化,进入单片机CPU进行必要的处理,而后输出以驱动执行器件或机构产生相应的动作,直接推动被控对象来调整被测参量,最终目的以使受控参量始终处于要求值或围。在单片机完成控制处理后总是以数字信号通过I/O口线或数据总线输出至受控对象的。对受控设备的驱动常采用模拟量或数字量输出驱动两种方式。而在实际的单片机测控系统

13、中,数字量输出控制已越来越广泛地被应用,尤其是其中的开关量输出驱动和控制。目前单片机I/0口线的驱动能力和与CPU直接接口的一般TTL电路或CMOS电路的驱动能力很有限的,不足以驱动那些功率开关(如继电器、电机、电磁开关等)和强电设备、大功率负载,且由于工作现场环境恶劣、输出通道接近控制对象与周围的电磁等干扰严重,所以输出控制电路设计主要是解决输出隔离即干扰防治和功率驱动问题。2.电磁阀控制电路电磁阀控制电路主要由NPN共集-共射复合管与继电器组成,当单片机P0.7给出高电平,复合管导通,继电器接通,将开关吸合,电磁阀接通开始放水。因为单片机的带负载能力比较小,不足以驱动继电器和电磁阀,所以采

14、用功率放大驱动电路,使得电磁阀能够工作。单片机驱动电路继电器电磁阀输出通道控制图如下图:电磁阀控制电路3.报警电路设计报警电路设计作为一个独立的模块,采用市面上比较普遍的蜂鸣器电路,结构比较简单,使用AT89S52上的一根口线驱动蜂鸣器发声。蜂鸣器电路4.显示模块电路显示模块可采用两种方式,一种是采用动态显示方式驱动6个数码管工作,左边四位显示温湿度值,精确到小数点后一位,右边两位为温湿度的单位显示。其过S4键切换温湿度,数码管通过位段扫描实现显示功能。5.定时模块定时模块其中分为定时部分和调时部分,同样通过S1和S2键来控制时间的减和加,S3键来确定定时和切换设置时间。温湿度程序代码与定时类

15、似,下面仅列出定时程序代码。定时程序代码:void time_display(int a,int b,int c) /调试部分、P2为位选,P0为段选,显示格式为 时-分-秒uchar s,g; s=a/10; g=a%10; clk=0; P2=wei5; P0=duans; clk=1; delay2(1); clk=0; P2=0; clk=1; delay2(1); clk=0; P2=wei4; P0=duang|0x80; clk=1; delay2(1); clk=0; P2=0; clk=1; delay2(1); s=b/10; g=b%10; clk=0; P2=wei3;

16、 P0=duans; clk=1; delay2(1); clk=0; P2=0; clk=1; delay2(1); clk=0; P2=wei2; P0=duang|0x80; clk=1; delay2(1); clk=0; P2=0; clk=1; delay2(1); s=c/10; g=c%10; clk=0; P2=wei1; P0=duans; clk=1; delay2(1); clk=0; P2=0; clk=1; delay2(1); clk=0; P2=wei0; P0=duang; clk=1; delay2(1); clk=0; P2=0; clk=1; delay

17、2(1);6.温湿度采集电路设计AM2301是一块集成了温湿度采集与数字输出的传感器,因此,我们只需要将AM2301的VCC端接5V电压,将SDA端接52单片机I/O进行数据的输入输出,同时将GND端接地,便可实现温湿度的采集。温湿度采集电路设计7.硬件的抗干扰设计在自动浇灌控制系统中,系统可靠性的保证是非常重要的,单片机硬件系统的可靠性决定了整个系统的可靠性。硬件抗干扰技术主要表达在过程通道抗干扰设计、供电系统抗干扰设计和印刷电路板抗干扰设计三个方面。单片机硬件系统的抗干扰能力与元器件质量、装配质量等因素都有关系,但主要取决于设计的可制造性(DEM),本系统采取如下相应的抗干扰措施。1.采用

18、抗干扰稳压电源采用具有抗干扰能力的稳压电源,绝大部分干扰都可以克服。提高稳压电源抗干扰能力,通常采用的措施:采用电源滤波;通过低通滤波器接入电网。 2.采用良好的接地系统。3.强电与弱电之间采用继电器隔离。四. 关键模块的分析1.地表温湿度传感器首先是对AM2301的介绍。AM2301 湿敏电容数字温湿度模块是一款含有己校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个高精度测温元件,并与一个高性能8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每

19、个传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在单片机中,传感器部在检测信号的处理过程中要调用这 些校准系数。标准单总线接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最正确选择。产品为3 引线(单总线接口)连接方便。特殊封装形式可根据用户需求而提供。AM2301引脚图与其分配引脚颜色名称描述1红色VDD电源(3.5-5.5v)2黄色SDA串行数据,双向3黑色GND地4NC空脚AM2301引脚分配AM2301 的数据总线SDA 输出40 位数据后,继续输出低电平50 微秒后转为输入状态,由于上拉电

20、阻随之变为高电平。同时AM2301 部重测环境温湿度数据,并记录数据,测试记录完毕,单片机自动进入休眠状态。单片机只有收到主机的起始信号后,才重新唤醒传感器,进入工作状态。AM2301 传感器读单总线的流程图如下图AM2301传感器读单总线的流程图温湿度检测程序代码:#include #include /typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */typedef unsigned int U16; /* defined for unsigned 16-bits int

21、eger variable 无符号16位整型变量 */#define uchar unsigned char#define uint unsigned int/-/-IO口定义区-/-/sbit beep=P32;sbit s0=P33;sbit s1=P34;sbit s2=P35;sbit s3=P36;sbit HR=P37 ;sbit clk=P27;/-/-定义区-/-/U8 U8FLAG,q,w,e;U8 U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8

22、T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 data tab6,tabs6;U8 U8comdata;U8 outdata6; /定义发送的字节数U8 count;U8 str6;U16 U16temp1,U16temp2;uchar shi,fen,miao,nam;uchar code wei=0x01,0x02,0x04,0x08,0x10,0x20;/八位位选码表uchar code duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/

23、数码管显示编码(1-F)void SendData(U8 *a)outdata0 = a0; outdata1 = a1; outdata2 = a2; outdata3 = a3; outdata4 = a4; outdata5 = a5; count = 1; SBUF=outdata0;void delay1(U16 t)U16 i,j; for(i=t;i0;i-) for(j=25;j0;j-);void delay2(U8 z)uint i,j; for(i=z;i0;i-) for(j=110;j0;j-);void Delay(U16 j)U8 i; for(;j0;j-) f

24、or(i=0;i27;i+); void Delay_10us(void)U8 i; i-; i-; i-; i-; i-; i-;void COM(void)U8 i; for(i=0;i8;i+) U8FLAG=2; while(!HR)&U8FLAG+); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(HR)U8temp=1; U8FLAG=2; while(HR)&U8FLAG+);/超时则跳出for循环 if(U8FLAG=1)break;/判断数据位是0还是1/ 如果高电平高过预定0高电平值则数据位为 1 U8comd

25、ata=1; U8comdata|=U8temp; /0 /rof/-/-湿度读取子程序 -/-/-以下变量均为全局变量-/-温度高8位= U8T_data_H-/-温度低8位= U8T_data_L-/-湿度高8位= U8RH_data_H-/-湿度低8位= U8RH_data_L-/-校验 8位 = U8checkdata-/-调用相关子程序如下-/- Delay();, Delay_10us();,COM();/-void RH(void)/主机拉低18ms HR=0; Delay(180); HR=1;/总线由上拉电阻拉高 主机延时20us Delay_10us(); Delay_10

26、us(); Delay_10us(); Delay_10us();/主机设为输入 判断从机响应信号 HR=1;/判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行 if(!HR) /T ! U8FLAG=2;/判断从机是否发出 80us 的低电平响应信号是否完毕 while(!HR)&U8FLAG+); U8FLAG=2;/判断从机是否发出 80us 的高电平,如发出则进入数据接收状态 while(HR)&U8FLAG+);/数据接收状态 COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM

27、(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; HR=1;/数据校验U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U16temp1 =U8RH_data_H; U16

28、temp1 = 8; U16temp1 |= U8RH_data_L;/获得完整的湿度 tab0=U16temp1/100; /湿度百位 tab1=U16temp1%100/10;/湿度十位 tab2=U16temp1%10; /湿度个位 U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U16temp2 = U8T_data_H; U16temp2=8; U16temp2 |= U8T_data_L;/获得完整的温度 tab3=U16temp2/100;/温度百位 tab4=U16temp2%100/10;/温度十位 tab5=U

29、16temp2%10;/温度个位 U8checkdata=U8checkdata_temp;/校验位 2.主控制器模块系统中我们选择主控制器芯片的时候需要考虑整个系统的功耗要低,并且有非易失性的程序和数据存储器方便数据的掉电存储,要集成部基准电压源并采用at89s51单片机。AT89S52是一个低功耗,高性能CMOS 8位单片机,片含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统与80C51引脚结构,芯片集成了通用8位中央处理器和ISP

30、Flash存储单元,AT89S52在众多嵌入式控制应用系统中得到广泛应用。主机和传感器之间可通过三个步骤完成数据读取步骤一 : AM2301 上电后(AM2301 上电后要等待2S 以越过不稳定状态,在此期间读取设备不能发送任何指令),测试环境温湿度数据,并记录数据,此后传感器自动转入休眠状态。AM2301 的SDA 数据线由上拉电阻拉高一直保持高电平,此时 AM2301 的 SDA 引脚处于输入状态,时刻检测外部信号。 步骤二: 微处理器的I/O 设置为输出,同时输出低电平,且低电平保持时间不能小于800us ,典型值是拉低1MS,然后微处理器的I/O 设置为输入状态,释放总线,由于上拉电阻

31、,微处理器的I/O 即AM2301的SDA 数据线也随之变高,等主机释放总线后,AM2301 发送响应信号,即输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。步骤三: AM2301 发送完响应后,随后由数据总线SDA 连续串行输出40 位数据,微处理器根据I/O 电平 的变化接收40 位数据。 位数据“0”的格式为: 50 微秒的低电平加26-28 微秒的高电平; 位数据“1”的格式为: 50 微秒的低电平加70 微秒的高电平。主程序程序代码:void main()init(); SendData(str) ; /发送到串口 Delay(1); /延时10

32、0US(12M晶振) while(1) keyscan(); Delay(20); 3.电磁阀控制模块电磁阀是用来控制流体的方向的自动化基础元件,通常用于机械控制和工业阀门上面,对介质方向进行控制。在本系统中是控制灌溉系统的开启和关闭。根据本系统的设计用途,我们从网上搜索到一种型号为ZCW的零压启动电磁阀3.1、零压启动电磁阀产品用途:零压力启动电磁阀用于各种常温、中温、常压、中压等场合,适用于纯净气体流体、尤其是空气、自来水、瓦斯、煤气、柴油、低压蒸汽、热水管路的自动控制;广泛应用于洗涤设备、生物制药、制冷、暖通空调、自来水厂与环保水处理等行业,是自动化控制工程、项目改造与设备配套的首选产品

33、。3.2、零压启动电磁阀结构特点:1. 零压力亦能打开主阀,低压差流量大,适用围广 2. 若是需要任意方向安装,请在订货前提出 3. 用耐温材料制作膜片、适用于低压蒸汽管路 4. 阀体采用黄铜和不锈钢热锻成型、体积小、外形美观 5. 液体、气体、油品可混合使用,更加提高电磁阀的使用围 6. 采用进口合成橡胶密封材料,寿命长是同类产品的5倍以上 7. 采用德国进口Nass塑封线圈确保电磁阀的可靠性,防水、防潮,宜适用于长时间通电 3.3、零压启动电磁阀技术参数:参数 型号 ZCW-1ZCW-2工作介质水、空气、油、瓦斯、煤气热水、 低压蒸汽介质温度( ) 80 125工作压力( Mpa )0 1

34、.00 1.6额定电压( V )AC:380 、 220 、 110 、 50HZ/60HZ DC:220 、 36 、 24 、 12功率 ( W )15使用流体粘度20CST 以下使用电压围+ 10%阀体材料黄铜和不锈钢密封材料NBR或VITON防护等级IP65公称通径( mm )234810152025324050接收尺寸( G )1/43/81/23/411-1/41-1/22项目计划使用器件列表注:请写明项目中计划使用的器件/开发板详细型号。器件型号数量用途AT89S521系统控制器下载口1AM23011温湿度采集ZCW电磁阀1控制流体蜂鸣器1报警按键4切换开关三端稳压器7805174LS3741ULN20031单排针3插座DIP3共阴数码管42054三极管90121发光二极管44007二极管2100uF电容2100nF电容15K电阻10100K电阻2200电阻210K电阻21K电阻2 杜邦线若干连接中间继电器1保护电路注:单片机主模块、下载器已有

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!