欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    智能温控风扇毕业设计论文.docx

    • 资源ID:1857601       资源大小:318.79KB        全文页数:30页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    智能温控风扇毕业设计论文.docx

    智能温控风扇毕业设计论文目录摘要2第一章绪论31.1 课题研究及应用前景31.2 本设计任务主要要求3第二章方案选择42.1温度传感器的选择42.2主控机的选择52.3显示电路62.4调速方式6第三章系统硬件设计83.1系统总体设计83.2主控芯片介绍83.2.1AT89C51简介83.2.2AT89C51主要功能和系统参数93.2.3AT89C51单片机引脚说明103.2.4AT89C51单片机最小系统123.3DS18B20温度采集电路143.3.1DS18B20温度处理方法143.3.2DS18B20工作原理143. 4其他电路151. 4.1数码管驱动显示电路152. 4.2风扇驱动电路163. 4.3按键模块16第四章系统软件设计174. 1主程序流程图174. 2DS18B20子程序流程图184. 3数码管显示子程序流程图194. 4按键子程序流程图19第五章系统调试215. 1系统功能215. 1.1硬件调试216. 1.2系统实现的功能217. 1.3系统功能分析21总结22致谢23参考文献24附录25附录1:PrOtel原理图25附录2:系统PCB板图26附录3:源程序27摘要在炎热的夏天人们常用电风扇来降温,但传统电风扇多采用机械方式进行控制,存在功能单一,需要手动换挡等问题。随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得智能电风扇得以逐渐走进了人们的生活中。智能温控风扇可以根据环境温度自动调节风扇的启停与转速,在实际生活的使用中,温控风扇不仅可以节省宝贵的电资源,也大大方便了人们的生活。本设计为一种温控风扇系统,具有灵敏的温度检测和显示功能,采用单片机AT89C51为核心控制器对风扇转速进行控制,使用温度传感器DS18B20检测温度数据,通过数码管显示实时温度,根据采集的温度,实现了风扇的自起自停。可由使用者设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。关键词:单片机AT89C51;温度传感器DS18B20;数码管;电风扇第一章绪论1.1 课题研究及应用前景近年来,虽然空调以其强大的制冷效果赶超过电风扇,但随着绿色生活,低碳生活意识的普及,空调的高耗电量、加剧温室效应、破坏臭氧层等弊端,使得低功耗低污染的电风扇仍有很大市场需求。传统电风扇采用机械方式进行控制,大部分只有手动调速,功能单一,存在隐患或不足。比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。为解决上述问题,我们设计了这套温控自动风扇系统。本系统采用高精度集成温度传感器,用单片机控制,能显示实时温度,并根据使用者设定的温度自动在相应温度时作出小风、大风、停机动作,精确度高,动作准确。它的广泛应用和普及将给人们的日常生活带来极大的方便,其发展趋势可根据其性质进行相应的改进可以运用与不同场合的温度监测控制,并带来大量的经济效益。2. 2本设计任务主要要求本设计以AT89C51单片机为核心,通过温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现“温度高、风力大、温度低、风力弱”的性能。(1)风速有小风、大风、停机共3个档位,可由用户通过按键设定。(2)每当温度低于下限值时,则电风扇风速关闭。(3)每当温度在下限和上限之间时,则电风扇转速缓慢。(4)每当温度高于上限值时,则电风扇风速全速运转。第二章方案选择2.1温度传感器的选择温度传感器可由以下几种方案可供选择:方案一:选用热敏电阻作为感测温度的核心元件,通过运算放大器放大由于温度变化引起热敏电阻电阻的变化、进而导至的输出电压变化的微弱电压变化信号,再用AD转换芯片ADCO809将模拟信号转化为数字信号输入单片机处理。具体方案如图2-1图2-1热敏温度采集电路方案二:采用热电偶作为感测温度的核心元件,配合桥式电路,运算放大电路和AD转换电路,将温度变化信号送入单片机处理。此方案原理和方案一的原理大同小异,AD转换电路一样,就是模拟量输入的处理方式不一样,热电偶的还需要配合桥式电路,整体更加复杂点,但是此方案的测温范围更广。方案三:采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号供单片机处理。对于方案一,采用热敏电阻有价格便宜、元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,虽然可以通过一定电路予以纠正,但不仅将使电路复杂稳定性降低,而且在人体所处温度环境温度变化中难以检测到小的温度变化。故该方案不适合本系统。对于方案二,采用热电偶和桥式测量电路相对于热敏电阻其对温度的敏感性和器件的非线性误差都有较大提高,其测温范围也非常宽,从-50摄氏度到1600摄氏度均可测量。但是依然存在电路复杂,对温度敏感性达不到本系统要求的标准,故不采用该方案。对于方案三,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述两种方案的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进的单总线技术(-WRIE),与单片机的接口变的非常简洁,抗干扰能力强。2. 2主控机的选择方案一:采用电压比较电路作为控制部件。温度传感器采用热敏电阻或热电偶等,温度信号转为电信号并放大,由集成运放组成的比较电路判决控制风扇转速,当高于或低于某值时将风扇切换到相应档位。方案二:采用单片机作为控制核心。以软件编程的方法进行温度判断,并在端口输出控制信号。对于方案一,采用电压比较电路具有电路简单、易于实现,以及无需编写软件程序的特点,但控制方式过于单一,不能自由设置上下限动作温度,无法满足不同用户以及不同环境下的多种动作温度要求,故不在本系统中采用。对于方案二,以单片机作为控制器,通过编写程序不但能将传感器感测到的温度通过显示电路显示出来,而且用户能通过键盘接口,自由设置上下限动作温度值,满足全方位的需求。并且通过程序判断温度具有极高的精准度,能精确把握环境温度的微小变化。故本系统采用方案二。2. 3显示电路方案一:采用数码管显示温度,动态扫描显示方式。采用LED数码管这种方案。虽然显示的内容有限,但是也可以显示数字和几个英文字母,在这个设计中已经足够了,并且价格比液晶字符式要低的多,为了控制设计制作的成本,在此设计中选用LED数码管显示。方案二:采用液晶显示屏LCD显示温度。显示用液晶字符式,可以用软件达到很好的控制,硬件不复杂,液晶字符显示器可以显示很丰富的内容,但是液晶字符式价格昂贵。对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。不足的地方是扫描显示方式是使数码管逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼将感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比拟的。但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原则考虑,本系统采用方案一。3. 4调速方式方案一:采用变压器调节方式,运用电磁感应原理将220V电压通过线圈降压到不同的电压,控制风扇电机接到不同电压值的线圈上可控制电机的转速,从而控制风扇风力大小。方案二:采用三极管驱动PWM进行控制。脉宽调制是按一定的规律改变脉冲序列的脉冲宽度,调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是以矩形波PWM信号,在控制时需要调节PWM波的占空比。占空比是指高电平持续时间在一个周期时间内的百分比。在控制电机转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大。对于方案一,由于采用变压器改变电压调节,有风速级别限制,不能适应人性化要求。且在变压过程中会有损耗发热,效率不高,发热有不安全因素。对于方案二,PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑O或将逻辑O改变为逻辑1时,也才能对数字信号产生影响。对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。从模拟信号转向PWM可以极大地延长通信距离。故本系统采用方案二。第三章系统硬件设计3.1系统总体设计本系统由集成温度传感器、单片机、LED数码管、三极管驱动电路及一些其他外围器件组成。使用AT89C51单片机编程控制,通过修改程序可方便实现系统升级。系统的框图结构如下:通过修改程序可方便实现系统升级。系统的框图结构如下:图3-1系统框图3. 2主控芯片介绍3. 2.1AT89C51简介AT89C51是美国ATMEL公司生产的低电压,高性能CM)S8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储数据存储器(RAM);器件采用ATMEL公司的高密度、非易失性存储技术生产;兼容标准MSC-51指令系统,片内置通用8位中央处理器(CPU)和FIaSh存储单元,功能强大AT89C51可灵活应用于各种控制领域。具有以下标准功能:4k字节FIaSh闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至OHZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。1,piVCC402lrIUPll39POO338Pl2POl437Pl3P02536P14P03635P15P04734Pl6P05833'Pl7P06932,RqTP07IOIxO1P3031EA1130P31ALE1229P32PSEN1328P33P271427P34P261526P35P251625P36P241724P37P231823P22Xl1922X2P212021,r3r11P20图3-2AT89C51单片机引脚图4. 2.2AT89C51主要功能和系统参数(1)与MCS-51产品指令系统完全兼容(2) 4K字节可重擦写FLASH闪速存储器(3) 100O次擦写周期(4) 全静态工作:OHZ-24MHZ(5)三级程序存储器锁定(6) 128X8位内部RAM(7) 32个可编程I/O口线(8) 2个16位定时器/计数器(9) 6个中断源(10)可编程串行UART通道(三)低功耗闲置和掉电模式5. 2.3AT89C51单片机引脚说明VCC:供电电压。GND:接地。PO11:PO口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当PO口的管脚第一次写I时,被定义为高阻输入。PO能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,PO口作为原码输入口,当FLASH进行校验时,PO输出原码,此时PO外部必须接上拉电阻。Pln:Pl口是一个内部提供上拉电阻的8位双向I/O0,Pl口缓冲器能接收输出4TTL门电流。Pl口管脚写入1后,被内部上拉为高,可用作输入,Pl口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,Pl口作为低八位地址接收。P211:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.ORXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外部中断0)P3.3/INTl(外部中断1)P3.4TO(计时器0外部输入)P3.5Tl(计时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率C230P12MC330PC晶振T3.3DS18B20温度采集电路作比较,若高于设定上限值或低于设定下限值则控制风速进行调整。R13IOKVCC发DS18B20复位命令发跳过RoM命令发读取温度命令读取操作,CRC校验N转动或自动停止转动;当外界温度高于设置温度时,电机的转速升高或是自动开电压,从而捽制电机的转速,电路的设计中采用了两个三极管组成复合管驱动,实现了对环境温度和档位的及时连续显示。业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷达到不同的电压信号,再由电压信号调节不同的发电机转速,进而调节发电量,实现电力系统的自动化调节。综上所述,该系统的设计和研究在社会生产和生活中具有重要地位。致谢本次毕业设计结束了,首先要衷心地感谢曹校长和田老师一直以来对我们的指导和帮助。正是在老师耐心的指导和热情的帮助下,我们才能顺利地完成这次毕业设计的任务。在这段时间里,老师严谨的治学态度和热忱的工作作风令我十分敬佩,老师的指导也是我受益匪浅。通过本次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了这四年的学习成果。虽然在这次毕业设计中对于知识的运用和衔接还不够熟练,但是我会在以后的工作和学习中继续努力,不断完善。这段时间的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了坚实的基础。参考文献1金发庆.传感器技术与应用.北京:机械工业出版社,20082李玉峰.MCS-51系列单片机原理与接口技术.北京:人民邮电出版社,20063李朝青.单品机原理及接口技术.北京:北京航空航天大学出版社,20084胡健.单片机原理及接口技术实践教程.北京:机械工业出版社,20105陈跃东.DS18B20集成温度传感器原理与应用.安徽:安徽机电学院学报,20126DALLAS公司.DS18B20数据手册7张越,张炎,赵延军.基于DS18B20温度传感器的数字温控器,20118郝振涛,张建北,江恒,乔曼.家庭温度监控装置PL中国专CN201629819U,2010-11-109邹于丰,基于AT89C51单片机的温控器系列J.电子世界.2011年,第5期,P3910张海龙.基于单片机的风扇控制系统JL网络与信息.2009年,第4期,P47附录1:PrOtel原理图附录VCC.D1C17_89IRl10IOkTTTTC2IlIIMKlK216K317Pl0VCCPl1POOPl2PO1Pl3PO2P14PO3Pl5PO4Pl6PO5Pl7PO6RSTPO7P30EAP31ALEP32PSENP33P27P34P26P35P25P36P24P37P23XlP22X2P21GNDP20-4Hvcc2T28P2727P2626P25-9IOk89Qqqqqqqq12345678qBBBJSWITCHICl寸9WU210-)cDddddddd-OC1234567874HC573ddddddd110l68N9Gz:HziIHiH附录3:源程序ftinclude<reg51.h>ftinclude<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitdj=PO;电机控制端接口sbitDQ=Pr6;温度传感器接口/按键接口/sbitkeyl=P3"/设置温度Sbitkey2=P3%;温度加sbitkey3=P3"温度减IiiiiiiiiiSbitwl=P24;sbitw2=P25;Sbitw3=P26;sbitw4=P27;/共阴数码管段选/uchartable22二0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x38,0x76,0x00,Oxff,0x37;',L,H,灭,全亮,n16-21uintwen_du;uchargao,di;/pwmuintshang,xia;对比温度暂存变量uchardang;/档位显示ucharflag;uchardl,d2,d3;显示数据暂存变量voiddelay(uintms)ucharx;for(ms;ms>0;ms-)for(x=10;x>0;x-);*dsl8b20延迟子函数(晶振12MHZ)*/voiddelay_18B20(uinti)while(i-);*dsl8b20初始化函数*/voidInit_DS18B20()ucharx=0;DQ=I;/DQ复位delay_18B20(8);稍做延时DQ=O;/单片机将DQ拉低delay_18B20(80);/精确延时大于480usdelay_18B20(14);x=DQ;稍做延时后如果x=0则初始化成功x=l则初始化失败delay_18B20(20);*dsl8b20读个字节*/ucharReadOneChar()uchari=0;uchardat=O;for(i=8;i>0;i-)DQ=O;/给脉冲信号dat>>=l;DQ=I;/给脉冲信号if(DQ)delay_18B20(4);return(dat);*dsl8b20写一个字节*/voidWriteOneChar(uchardat)uchari=0;for(i=8;i>0;i-)DQ=O;DQ=datfe0x01;delay_18B20(5);DQ=I;dat>>=l;/*读取dsl8b20当前温度*/voidReadTemperature()uchara=0;ucharb=0;Init_DS18B20();WriteOneChar(OxCC);WriteOneChar(0x44);delay_18B20(100);/跳过读序号列号的操作/启动温度转换/thismessageisweryimportantInit_DS18B20();WriteOneChar(OxCC);/跳过读序号列号的操作WriteOneChar(OxBE);/读取温度寄存器等(共可读9个寄存器)前两个就是温度delay_18B20(100);B=ReadOneChar();/读取温度值低位b=Read0neChar();/读取温度值高位wen_du=(b*256+a)»4);/当前采集温度值除16得实际温度值一voiddisplay()显示温度wl=0;P0=tabledl;delay(10);/第1位P0=0x00;wl=l;delay(1);w2=0;P0=table16;delay(10);第2位PO=OxOO;w2=l;delay(1);w3=0;P0=tabled2;delay(10);/第3位PO=OxOO;w3=l;delay(1);w4=0;P0=tabled3;delay(10);/第4位PO=OxOO;w4=l;delay(1);voidzi_keyscan()自动模式按键扫描函数if(keyl=0)delay(10);if(keyl=0)fIag=I;while(key1=0);/松手检测)while(flag=l)dl=18;d2=shang10;d3=shang%10;display();if(keyl=O)delay(10);if(keyl=O)flag=2;while(keyl=O);/松手检测if(key2=0)if(key2=0)(shang+=5;if(shang>=100)shang=100;while(key2=0);/松手检测)if(key3=0)(delay(IO);if(key3=0)(if(shang<=10)shang=10;while(key3=0);/松手检测while(flag=2)(dl=17;d2=xia10;d3=xia%10;display();if(keyl=O)(delay(10);if(keyl=O)fIag=O;while(key>=0);松手检测)if(key2=0)(delay(10);if(key2=0)(if(xia>=95)xia=95;while(key2=0);松手检测)if(key3=0)delay(10);if(key3=0)(xia-=l;if(xia<=0)xia=0;while(key3=0);/松手检测voidzi_dong()/自动温控模式uchari;dl=dang;d2=wen_du/10;d3=wen_du%10;zi_keyscan();/按键扫描函数display();if(wen_duxia)仃=0;(1118=0;/低于下限停止if(wen_du>=xia)&&(wen_du<=shang)1挡dang=l;for(i=0;i<5;i+)dj=O;display();zi_keyscan();for(i=0;i<5;i+)dj=l;display();zi_keyscan();)if(wen_du>shang)dj=l;dang=2;/高温全速voidmain()ucharj;dj=O;shang=30;for(j=0;j<80;j+)ReadTemperature();while(1)ReadTemperature();for(j=0;j<100;j+)zi_dong();自动温控模式

    注意事项

    本文(智能温控风扇毕业设计论文.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开