无线传感器网络课程设计-智能温室蔬菜大棚_第1页
无线传感器网络课程设计-智能温室蔬菜大棚_第2页
无线传感器网络课程设计-智能温室蔬菜大棚_第3页
无线传感器网络课程设计-智能温室蔬菜大棚_第4页
无线传感器网络课程设计-智能温室蔬菜大棚_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安徽理工大学无线传感网络课程设计课程设计说明书(无线传感网) 题目: 智能温室蔬菜大棚 院 系:计算机科学与工程学院专业班级: 物联网工程13-2班 学 号: 2013303050 学生姓名: 指导教师: 2015年11月10日摘 要传统的农业生产模式已经不能很好地适应现代化的快速发展,现代化农业是中国农业发展的必经之路。随着我国经济的快速增长,农业的研究和应用技术越来越受到重视,尤其是温室大棚已经成为高效农业的一个重要组成部分。现代化农业生产中的重要一环就是对农业生产环境的一些重要参数进行检测和控制。本文中研究的蔬菜大棚智能温度控制系统主要由STC89C51单片机、nRF24L01模块、18

2、B20、光敏电阻、共阳两位一体数码管一块,电阻、电容、三极管、LED灯等构成,实现对蔬菜大棚温度的检测与控制,解决了温室大棚人工控制的温度误差,且费时费力、效率低的问题。该系统运行可靠,成本低。系统通过温室内的温度参量的采集,并根据获得参数实现对温度的自动调节,达到了温室大棚自动控制的目的。从而有效地提高了蔬菜的产量并满足人们在不同季节对蔬菜的需求,带来很好的经济效益和社会效益。关键词: STC89C51单片机 ,温度传感器,自动调节 目 录摘 要1一、要求和意义31.1要求31.2意义3二、硬件电路设计42.1仿电路设计42.2器件与元件补充说明52.3电路设计5三 、程序设计93

3、.1温度传感器子程序93.2抽风机子程序流程图103.3主程序流程图10四 、调试记录124.1调试前的准备124.2上电调试过程12五 、总结14参考文献 15一、要求和意义1.1要求蔬菜大棚的智能控制系统的设计,使用51单片机和无线通信模块完成以下基本功能:使用温度传感器测量大棚温度;使用两位数码管进行动态显示;超过35度自动打开风机(用led灯模拟),低于28度关闭风机。扩展功能:利用光敏传感器检测,实现大棚外路灯的自动控制,白天关灯,晚上亮灯(节点模块);红外遥控手动控制风机和路灯(上位机模块)。可选用的器件与元件:(具体实物要根据学校给出的作为标准)ST

4、C89C51单片机、nRF24L01模块各两块,18B20、光敏电阻各一个,共阳两位一体数码管一块,电阻、电容、三极管、LED灯、按键任选。学生2人一组,独立完成电路分析和设计,并完成系统调整和测试。每个人必须能完成不同的功能,最后组成一个总系统,并且做成电路实物系统。1.2意义根据需要选学参考书,查阅手册,图表和文献资料的自学能力,通过独立思考深入钻研有关问题,学会自己分析解决问题的方法。利用所学过的最基本的MSC51单片机和无线电通信知识,通过设计计算元件选取电路板制作调试等环节,初步掌握工程设计的技能。掌握常用仪表的正确使用方法,学会简单电路的实验调试和整机指标测试方法,使学生巩固和加深

5、对数字逻辑电路的理论知识,锻炼学生的动手能力。了解与课程有关的电子电路以及元器件工程技术规范,能按课程设计任务书的技术要求,编写设计说明,能正确反映设计和实验成果,能正确绘制电路图。培养严谨的工作作风和科学态度,能够逐步建立正确的生产观点,经济观点和全局观点。二、硬件电路设计2.1仿电路设计根据课程设计的要求,初步决定蔬菜大棚的智能系统框图,如图一:图一 智能系统框图根据图一的大概框架,使用Proteus仿真软件进行系统的仿真,验证电路的可靠性和可行性。仿真电路如图二所示:图二 仿真电路图仿真图说明:根据参考器件仿真电路MCU选用STC89C52单片机,如上图所示,查阅资料1可以知道该单片机的

6、最小系统,包括:时钟电路(这次仿真电路使用11.0592M晶振)、复位电路等,其中P0八个I/O口要使用10k上拉电阻才能驱动数码管的段位。外部电路有:数码管电路(另一组员负责)、温度传感器电路(本人负责)、抽风机电路(用LED灯代替)。所有程序将在下面说明。指导老师的检验:我们这组的仿真电路已经成功了,但是这是理想状态下的仿真,与实际电路还有一些出入,本人负责的电路中第一个问题是温度传感器,在实际电路中需要使用上拉电阻,电阻阻值范围是4.7k20K;第二个问题是抽风机电路,虽然是一个LED灯作为代替,但是在实际电路中要使用一个限流电阻,根据这两个问题在实际电路设计的时候要加上。2.2器件与元

7、件补充说明根据设计需要我们将使用的是STC89C52单片机,但是在学校领取的是STC12C5A60S2单片机。查询资料STC官方资料2,可以比较出两种单片机的不同点和相同点,不同点:复位电路更加简单,P0将不用上拉电阻,并且P1有AD转换功能,这样可以使用在光敏传感器检测中扩展功能色设计。相同点是电源、地、Rx、Tx引脚位置相同,这样可以使用51单片机的开发板进行程序的焼写。2.3电路设计 (1)STC12C5A60S2单片机最小系统如图三所示:图三 STC12C5A60S2单片机系统图说明:STC12C5A60S2单片机的引脚封装与STC89C52单片机的引脚封装一样,所以使用STC89C5

8、2单片机原理图。所以上图部分引脚的标注不正确,但是不影响其封装的使用,两种单片机都是使用一样的封装。复位电路的设计是根据STC12C5A60S2单片机技术文档2所描述的来设计,使用一个10uF的电解电容和1k的电阻组成;晶振电路使用两个33uf的瓷片电容和一个11.0592M频率的晶振组成。(2)温度检测模块,如图四所示:图四 温度检测模块图说明:温度传感器使用的是DS18b20,其封装是TO-92封装,数据传输引脚使用一个4.7K的电阻作为上拉电阻,并且跟单片机的P37接口相连接。DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以与DS18

9、B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。(3)抽风机模块和其他模块,如图五所示:图五 抽风机模块图说明:在抽风机模块中,使用一个LED灯代替抽风机,这样就要使用一个470欧电阻个LED灯串联使用,并且跟单片机的P35引脚连接如上图所示。灯与光敏传感器组成的电路时扩展部分设计,具体电路如上图所示。(4)电源模块,如图六所示:图六 电源模块图说明:电源模块在系统设计中是一个很重要的部分,在这个模块中,因为外接电源是5v电压,所以在本系统设计中主要是加入滤波跟开

10、关部分,滤波电路由一个104瓷片电容跟一个10uf电解电容组成。(5)调试电路模块,如图七所示:图七 调试电路模块图说明:系统的调试是一个很重要的步骤,所以要加上调试接口,这样就不用经常拔插单片机,方便以后的调试系统使用。本接口主要的部分是电源引脚和P30引脚、P31引脚,这四个引脚都是为了焼写程序做准备,其他引脚作为附加和固定作用。三 、程序设计3.1温度传感器子程序 程序的设计使用Keil uVision4软件,本人负责的是DS18b20温度传感器3对温度的检测和温度的读取部分。本人将关于温度传感器有关的子程序做成一个头文件来使用,具体的程序流程,如下图所示。在温度读取上,直接在

11、头文件里就做数据的处理,转换成十进制两位数,转换语句如下:a=ReadOneChar();b=ReadOneChar();temp=b;temp<<=8;temp=temp|a;/将读取到的两个八位二进制数据合并f_temp=temp*0.0625;  /计算出温度,带小数点,16位分辨率是0.0625temp=f_temp+0.5; /四舍五入 ,取整数如实际温度是11.6°程序流程图,如图八所示: 图八 温度传感器子程序流程图3.2抽风机子程序流程图首先是对温度的处理一次,然后使用if语句进行对温度的判断,如果温度大于35°就打开抽风机;

12、如果温度小于28°就关闭抽风机。在这就有一个数据段是没有处理的,就是温度在28°到35°这一段,根据实际分析可以做出处理:当温度是有35°以上开始下降的,下降到35°不用关闭抽风机,一直下降到28°才关闭抽风机,这样有利于对温度的下降。反之当温度上升到35°才开始打开抽风机。程序流程图,如图九所示:图九 抽风机子程序流程图3.3主程序流程图    说明:主程序是一个大循环,使用的while语句处理,在主函数中,首先读取温度,然后是温度的显示,最后是抽风机子函数的处理。程序流程图,如图十

13、所示: 图十 主程序流程图四 、调试记录4.1调试前的准备  在调试之前就是对硬件的处理,首先确保PCB电路板要设计正确,PCB板的制作要符合电磁兼容性(EMC)原则;然后是电子元件必须正确焊接;接着使用万用表检查电路是否短路,焊接是否合格,检查是否有断路、虚焊的情况;最后把程序下载到单片机中,并接到电路板中。4.2上电调试过程在接电源之前,要确保电源的正负极接正确,开关是否在正确的位置。根据实际情况我们是使用分模块调试的方法进行对电路的调试。首先是数码管显示的调试,这部分是另一位组员负责,在这里不作详细说明。  在调试好数码管,使之能够正常显

14、示后,本人开始对温湿度传感器模块进行调试,下面是本人的详细调试过程:本人将仿真使用过的程序把它焼写进单片机,观察数码管时能够正常显示出当前的温度,发现数码管不能正常显示,显示出两个0。首先,检查是否是硬件的问题,因为这个模块使用的元件比较少,只有一个上拉电阻和一个传感器,首先检查上拉电阻是否使用正确,这个电阻的阻值是4.7k,正常使用时可以的;然后检查温度传感器的引脚是否接正确,实际上没问题;最后检查温度传感器是否不能工作,在这个过程本人编写了一个串口温度检测程序,在上位机上测试发现PC机能够正常显示出温度,说明温度传感器没有损坏,能够正常工作;在这里排除硬件的问题。 然后,检查是否

15、是单片机的问题,因为对于温度处理,全部是在温度传感器这个头文件中。程序是在STC12C5A60S2单片机中运行的,而仿真时使用的单片机是STC89c52单片机,也许两者有一些不同的地方,查阅STC12C5A60S2单片机的技术文档发现,该单片机的运行频率比较高,在读取温度上可能不能正常读取,所以要利用时钟分频控制寄存器进行时钟分频,从而使单片机在较低频率下工作,设置如下: sfr CLK_DIV = 0x97; /定义时钟分频控制寄存器地址CLK_DIV = 0x03;/(外部晶振时钟或内部振荡时钟)/8  再次,焼写改写过的程序,依然不能正常显示温度。接着,在排除单片机的

16、问题之后,开始对程序的检查是否正确。主要是在头文件中找问题,可能的问题就是在温度的转换过程中出现错误,仔细分析在处理温度的程序,发现本人在主函数处理的温度主要是整数部分,而小数点之后的数据是没有读取的,在这里本人将在头文件的子程序中转换和读取四位数据,包括两位整数和两位小数,在主程序中只显示整数部分。在a和b读取温度之后,就让程序的处理如下:  /传感器返回值除16得实际温度值 /为了得到2位小数位,先乘100,再除16,考虑整型数据长度, /技巧处理后先乘25,再除4,除4用右移实现    t = (b*256+

17、a)*25;    return( t >> 2  ); 最后再次焼写改写后的程序进单片机,就可以得到正常的温度了,并且能够正常工作。 五 、总结作为一名物联网工程的大三学生,单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?类似的课程设计就为我们提供了良好的实践平台。在这次的单片机课程实际过程中,我们这组从开始到调试结束经过了5

18、个星期的时间,而且扩展模块没有完成,虽然一开始就计划好要做光敏电阻那一部分,最后还是未能完成,这是一个小小的遗憾。主要问题是在硬件设计时就没有好好考虑扩展部分电路问题,导致那一部分简单电路不能正常工作。从这里可以看出考虑问题的水平,以及后续问题处理能力还有待提高。我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教同学和老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。通过这次课程设计发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了今后努力学习的兴趣,这将对我以后的学习产生积极的影响。参考文献 1 康华光.电子技术基础-模拟部分(第四版)M.北京:高等教育出版社,1999 2 康华光.电子技术基础-数字部分(第四版)M.北京:高等教育出版社,1999 3 石来德.机械参数电测技术M.上海:上海科学技术出版社,1981 4 Ernest O.Doebelin. Measurement 

温馨提示

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

评论

0/150

提交评论