基于51单片机的温控智能电风扇讲解_第1页
基于51单片机的温控智能电风扇讲解_第2页
基于51单片机的温控智能电风扇讲解_第3页
基于51单片机的温控智能电风扇讲解_第4页
基于51单片机的温控智能电风扇讲解_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11( )班 浙江理工大学单片机系统设计及应用实验题目专业班级姓名学号指导教师:设计报告基于51单片机的温控智能电风扇机械电子工程机电11(1)班叶惠芳2011330300302袁嫣红机械与自动控制学院2014年7月3日目录TOC o 1-5 h z摘要4第一章课程设计的目标及主要内容5 HYPERLINK l bookmark8 o Current Document 1.1课程设计的目标及意义5 HYPERLINK l bookmark10 o Current Document 1.2温控智能电风扇的主要内容

2、和技术关键5 HYPERLINK l bookmark12 o Current Document 1.2.1课程设计的主要内容51.2.2技术关键5第二章温控智能电风扇控制系统硬件设计6 HYPERLINK l bookmark14 o Current Document 2.1课程设计总体硬件设计6 HYPERLINK l bookmark18 o Current Document 2.2芯片及主要器件选择6 HYPERLINK l bookmark20 o Current Document 2.2.1控制核心的选择62.2.2温度传感器的选用72.2.3显示电路72.3芯片及器件介绍7AT8

3、9C51单片机7L298芯片介绍8DS18B20温度传感器92.3.4LED数码管简介11 HYPERLINK l bookmark22 o Current Document 2.4主要硬件电路12温度检测电路设计12电机调速电路设计12PWM调速原理13LED数码管显示电路及按键电路13第三章温控智能电风扇控制系统软件设计与实现14主程序14 HYPERLINK l bookmark24 o Current Document 数字温度传感器模块14 HYPERLINK l bookmark26 o Current Document 电机调速与控制子模块16第四章调试结果与总结164.1调试结

4、果16 HYPERLINK l bookmark34 o Current Document 4.2课程设计总结20参考文献21附录一23附录二24附录三25摘要电风扇与空调的降温效果不同,相较于空调的迅速降低环境温度不同,电风扇更加温和,适宜于体质较弱的老人与小孩。并且,电风扇价格实惠,使用简单。现在市面上的电风扇大多只能手动调速,还外加一个定时功能。对于温差较大的夜晚,若不能及时改变风速大小后停止,很容易感冒着凉。所以本课程设计以AT89C51为核心控制系统根据外界温度的变化对电风扇进行转速控制,以实现自动换挡功能。除此之外,我们还设置了一个用户可以自己通过键盘设置最低温度的模块,一旦外界温

5、度等于或是低于该设置温度,电机自动停止运行。关键词:单片机温度传感器驱动器智能调速叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11(1)班 第一章课程设计的目标及主要内容1.1课程设计的目标及意义夏天到了,空调是现代家庭中的主流降暑电器,但是对于老人与小孩,体质相对来说较弱,空调的使用易于受凉,所以家用电风扇,风速温和,既可以达到清凉的目的,又可防止空调带来的弊端。然而,现在市面上的家用电风扇大多只能手动调速再加一个定时器,功能单一。晚上后半夜与前半夜气温差比较大,若不能及时减小风速,很可能感冒。所以,我们在现有电风扇的功能至上增加了温度控制模块,电风扇

6、的电机转速可以根据外界温度的改变而改变。我们的主要实现的功能有以下几点:用户可以手动设置温度下限,外界温度一旦与该设定温度相等或是小于该温度,电机自动停止转动。当温度每降低2C或是升高2C,电机转速自动下降一个档位。温控智能电风扇的主要内容和技术关键1.2.1课程设计的主要内容(1)课程设计采用了AT89C51单片机作为主要处理芯片,DS18B20作为温度传感器感知和传递外界环境的变化,然后通过51单片机进行一系列处理然后对12V的直流电动机进行转速的控制。(2)在直流电动机转速控制模块,采用了L298驱动器对电机进行驱动。在显示方面,用7SEG-MPX6-CC-BLUE数码管来显示外界温度的

7、变化以及人为设定的温度值。技术关键(1)温度传感器DS18B20的工作原理以及它内部对温度数据的处理方式,51单片机如何用程序将其输出数据读入,并进行处理。(2)L298驱动器的工作原理以及电机调速处理的实现方式程序的编写。(3)数码管显示与按键模块直接的联系以及处理程序的编写。第二章温控智能电风扇控制系统硬件设计2.1课程设计总体硬件设计系统总体设计硬件框图如图2.1所示键盘输人IZZ数码管AT89C51温度传感器电机驱动器图2.1系统方块图对于单片机中央处理系统的方案设计,根据要求,我们可以选用AT89C51单片机作为中央处理器。作为整个控制系统的核心,单片机内部已包含了定时器、程序存储器

8、。数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器和定时器件,方便的构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高,是比较合适的方案。本系统实现风扇的温度控制,需要有较高的温度变化分辨率和稳定可靠的换挡停机控制部件。2.2芯片及主要器件选择2.2.1控制核心的选择采用AT89C51单片机作为控制核心,以软件编程的方法进行温度判断,并在端口输出控制信号。以单片机作为控制器,通过编写程序不但能将传感器感测到的温度通过显示电路显示出来,而且用户能通过键盘接口,自由设置温度下限,满足用户需求,并且通过程序判断温度具有极高的精准度,能精确把握环境的微小变化。2.2.2温

9、度传感器的选用采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号共单片机处理。2.2.3显示电路采用7SEG-MPX6-CC-BLUE数码管显示温度。数码管显示温度清晰简单,价格优惠,驱动程序简单。2.3芯片及器件介绍2.3.1AT89C51单片机AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内4bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置用8位中央处理器(CPU)和Flash存储单元,

10、功能强大。AT89C51单片机可灵活应用于各种控制领域。AT89C51单片机提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时、计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51单片机可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时、计数器,串行通行口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。芯片封装及管脚如图2.2PDIP(T3)Pt3EiT2EX)R茸1匸P1pt.2;r巧

11、0匚?4OShP15CViSOPi存匚sck)piR&TERXDJP3srHXDP3L1匚ilVR!P3?E(nHpj3.3匚(TOPM匚(TilP3-5F$JiAD;tlXTAL2IXTAL1rjKDL124033343753fi庁35T34直U932ID阳1130122913281427152616151724ISR19222021vcePflO(ADOhP=0l(*D1hPOFO.315):F24(AU)FZ.5CA13i)_PS4(AtifJP2IP22NC=NC=NC=GND引脚说明:GND:接地DQ:数据I/OVDD:可选VDDNC:空脚PR35图2.5引脚排列表2.2部分温度值与

12、DS18B20输出的数字量对照表温度值/c数字输出(二进制)数字输出(十六进制)+125000001111101000007D0H+8500000101010100000550H+25.62500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101101110FF5EH-25.6251111111101101111FF6FH-551111110010010000FC90H2.3

13、.4LED数码管简介本系统选用五个LED数码管来进行温度显示。LED又称为数码管,它主要是由8段发光二极管组成的不同组合,其中ag为数字和字符显示段,dp为小数点的显示,通过ag这7个发光二极管点亮的不同组合,可以显示09和AF共16个数字和字母。LED数码管可以分为共阴极和共阳极两种结构,如下图3.1.3所示。共阴极结构把8个发光二极管阴极连在一起,共阳极结构把8个发光二极管阳极连在一起。通过单片机引脚输出高低电平,可使数码管显示相应的数字或字母,这种使数码管显示字形的数据称字形码,又称段选码。edgndcpdf0.g0dpa0.bc图2.6七段LED数码管Rx8一个共阴极数码管接至单片机的

14、电路,要想显示数字“7须a、b、c这3个显示段发光(即这3个字段为高电平)只要在P0口输入00000111(07H)即可。这里07H即为数字7的段选码。字形与段选码的关系见表2.2所示。表2.3LED段选码表显示共阴极共阳极显示共阴极共阳极字符段码段码字符段码段码03fHC0H87fH80H106HF9H96fH90H25bHA4HA77H88H34fHB0HB7fH83H466H99HC39HC6H56dH92HD3fHA1H67dH82HE79H86H707HF8HF71H8EH24主要硬件电路总体硬件原理图见附录一。2.4.1温度检测电路设计本模块以DS18B20作为温度传感器,AT89

15、C51作为处理器,配以温度显示作为温度控制输出单元。整个系统力求结构简单,功能完善。DS18B20进行现场温度测量,将测量数据送入AT89C51的P1.7口,经过单片机处理后显示温度值,并与设定温度值的下限值比较,若高于或低于设定的下限值则控制电机转速进行调整。电路图如图2.6所示。2.4.2电机调速电路设计根据图2.7所示连接好电路图,A/B接入单片机上通过程序来控制L298输出来控制直流电机的转动。PWM1赋值为1时,使能直流电机转动。图2.8电机调速电路叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11(1)班 2.4.3PWM调速原理我们米用的是P

16、WM来实现直流电动机的调速,优点:控制原理简单,输出波动小,线性好,对邻近电路干扰小。缺点:功率低,散热问题严重。PWM调速原理:输出电压TOC o 1-5 h zU=(t/T)U(2-1)0ont+1=T(2-2)onoff式2-1中t/T=D称为占空比。on占空比D表示了在一个周期T里开关管导通的时间与周期的比值。D的变化范围为0v=Dv=1。当电源电压U不变的情况下,输出电压的平均值U取决于占空比D的大小,改变D值也就改变了输出电压的平均值,从而达到控制电动机转速的目的,即实现PWM调速。2.4.4LED数码管显示电路及按键电路7SEG-MPX6-CC-BLUE数码管与单片机输出端相连电

17、路以及按键输入电路如图2.8所示。图2.9显示电路连接a层M聲需钙密逹急三r:-J.4.;-匕-.JJT/-XEEP金WIJiAHL3r语i-0E21-s:jCPmL-Vdi-L1-H二iH3L:、h3I=jL1i.lb:u.rW冷ET.-s-ZZ4-o-rT第三章温控智能电风扇控制系统软件设计与实现本系统的运行程序采用C语言编写,采用模块化设计,整体程序由主程序和温测显示、键盘处理以及电机控制等子程序模块组成。3.1主程序下图为主程序简易框图。图3.1主程序简易框图3.2数字温度传感器模块如图3.2所示,主机控制DS18B20数字温度传感器完成温度转换工作必须经过三个步骤:初始化、ROM操作

18、指令、存储器操作指令。单片机所用的系统频率为12MHz。根据DS18B20数字温度传感器进行初始化时序、读时序和写时序分别可编写3个子程序:初始化子程序、写子程序、读子程序。图3.2数字温度传感器模块程序流程图DS18B20芯片功能命令表如下:命令说明协议READROM读取激光ROM64位33HMATCHROM匹配ROM55HSKIPROM跳过ROMCCHSEARCHROM搜索ROMF0HALARMSEARCH告警搜索ECHWRITESCRATCHPAD把字节写入暂存器的地址2和34EHREADSCRATCHPAD读取暂存器和CRC字节BEHCOPYSCRATCHPAD把暂存器内容拷贝到非易失

19、性存储器中48HCONVERTT开始温度转换44HRECALLE2把非易失性存储器中的值召回暂存器B8HREADPOWERSUPPLY读电源供电方式:0为寄生电源,1为外电源B4H33电机调速与控制子模块本模块采用PWM来实现直流电动机的调速。控制流程如图3.3所示。温度读取外界温度与设定温度进行比较得到占空比即高低电平输出比电机转速控制图3.3电机控制流程图第四章调试结果与总结4.1调试结果课程设计仿真调试采用的是Protues仿真软件,按照原理图将各器件画在软件中。程序编写采用Keil软件,用C语言编写。这里我们设定温度为20C为最低温度进行仿真。0档:v=20C-44J_i1pay字呼C

20、O?rrrzi_HlaHKlSFB1档:20C21C档:25C27C档:=27C即温度每上升2C,电机转速即上升一档。26C时,仿真结果:UocasisaTQNOoa33ALaMaT?EerLM(I)II用加乙0000110乙篦章上叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11(1)班 #4.2课程设计总结本系统以AT89C51单片机为核心,单片机主要完成对外界环境温度信号的采集、处理、显示等功能;用Protues软件绘制电路原理图及仿真测试和DXP软件绘制PCB电路印刷板图,利用MCS-51C语言编制。运行程序该系统的主要特点是:(1)适用性强,用户

21、只需对界面参数进行设置并启动系统正常运行便可满足不同用户对最适合温度的要求,实现对最适温度的实时监控。(2)随时可以根据软件编写新的功能加入产品。操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。本系统温度控制采用DS18B20数字温度传感器作为感温元件。采用L298驱动器利用PWM占空比调速原理对电动机转速进行控制,以达到目标。基于AT89C51单片机所设计与研制的电风扇智能调速系统,造价低且具有稳定性高、性能优越、节约电能等优点,在夜间无需定时,同样能给人们带来更多的方便。本设计在软件仿真模拟检测中运行较好,但数码管显示部分有一点问题,在对温度设置时,数码管其他位数字会跟随跳变

22、,但数值不变。功能上的缺憾是对于两个档之间的临界温度处理不好,并且档位太少,还有待改进。总的来说,本次课程设计学到了许多东西,对今后个人的发展有积极的作用。叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11(1)班 # 参考文献【1】刘坤、郑锋、王巧芝等,51单片机典型应用开发范例大全M,北京:中国铁道出版社,2011.10【2】张俊谟,单片机中级教程一一原理与应用(2版)M,北京:北京航空航天大学出版社,2006.10【3】张玉杰,基于单片机的温度控制智能电风扇D,新疆工业高等专科学校【4】冯清秀、邓星钟等,机电传动控制M,武汉:华中科技大学出版社,20

23、11.6Hh-!k4=hHH怎之rscf.T-fTEdeikrw:ivFZdDirc&iPV1阳DZME:翠疋击一-iZWA&3%1-i=-I=L-riFlEHJ3T11;竺.M3CdDLFCS空FTi三+dQH】Eray薦黑霊TTVXKTV:rraVJAcs-异細曲20二330300302営11(1)淳叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11(1)班2121附录二PCB板叶惠芳2011330300302机电11(1)班叶惠芳2011330300302机电11(1)班 附录三程序清单1.主程序voidmain(void)uintltemp;uch

24、arg,d;/初始化温度dianji=0;/初始化电机read_temp();/读取测温子程序,读取温度数值delay(1000);/延时while(1)int1=1;int2=0;dianji=0;ltemp=read_temp();/温度赋值delay(2);d=read_ds18b20_date();/温度的低位g=read_ds18b20_date();/温度的高位ltemp=g;ltemp=8;ltemp=ltemp|d;t=ltemp*0.0625;ltemp=t*10;shi=ltemp/100;/温度十位ge=(ltemp%100)/10;/温度个位keyscan();/读取键

25、盘子程序delay(2);deal(ltemp/10);/运行温度判断子程序,由温差设置占空比dianjik();/运行电机控制子程序2.温度显示子程序voidledshow(uchara4,uchara3,uchara1,uchara0)dispbuf0=a0;dispbuf1=a1;dispbuf3=a3;dispbuf4=a4;P2=0 xff;/按键个位P0=dispcodedispbuf0;P2=dispbitcode5;delayus(1);P2=0 xff;/按键十位P0=dispcodedispbuf1;P2=dispbitcode4;delayus(1);P2=0 xff;/

26、温度传感器个位P0=dispcodedispbuf3;P2=dispbitcode1;delayus(1);P2=0 xff;/第一位,传感器十位P0=dispcodedispbuf4;P2=dispbitcode0;delayus(1);3.DS18B20子程序voidclean_ds18b20()/初始化dq=0;/再讲数据线从高拉低,要求保持480960usdelayus(90);/略微延时以向ds发出一持续480960us的低电平复位脉冲dq=1;/将数据线拉高delayus(3);/延时(释放总线后需等待1560us让ds输出存在脉冲)bitreadbit()/读取一个位uchari;bitdat;dq=0;i+;dq=1;i+;i+;dat=dq;delayus(8);return(dat);ucharread_ds18b20_date()/读取一个字节ucharj,i,dat;/存储读取的一个字节数据dat=0;for(i=1;i=8;i+)j=readbit();dat=(j1);return(dat);voidwrite_ds18b20_date(u

温馨提示

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

评论

0/150

提交评论