收藏 分销(赏)

基于51单片机的温控智能电风扇讲解.doc

上传人:快乐****生活 文档编号:3115958 上传时间:2024-06-18 格式:DOC 页数:33 大小:1.13MB
下载 相关 举报
基于51单片机的温控智能电风扇讲解.doc_第1页
第1页 / 共33页
基于51单片机的温控智能电风扇讲解.doc_第2页
第2页 / 共33页
基于51单片机的温控智能电风扇讲解.doc_第3页
第3页 / 共33页
基于51单片机的温控智能电风扇讲解.doc_第4页
第4页 / 共33页
基于51单片机的温控智能电风扇讲解.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、浙江理工大学单片机系统设计及应用实验设计报告题 目: 基于51单片机的温控智能电电扇 专 业: 机械电子工程 班 级: 机电11(1)班 姓 名: 叶惠芳 学 号: 指引教师: 袁嫣红 机械与自动控制学院 年 7 月 3 日目录摘要4第一章 课程设计的目的及重要内容51.1课程设计的目的及意义51.2温控智能电电扇的重要内容和技术核心51.2.1课程设计的重要内容51.2.2技术核心5第二章 温控智能电电扇控制系统硬件设计62.1课程设计总体硬件设计62.2芯片及重要器件选择62.2.1控制核心的选择62.2.2温度传感器的选用72.2.3显示电路72.3芯片及器件简介72.3.1 AT89C

2、51单片机72.3.2 L298芯片简介82.3.3 DS18B20温度传感器92.3.4LED数码管简介112.4重要硬件电路122.4.1温度检测电路设计122.4.2 电机调速电路设计132.4.3 PWM调速原理132.4.4 LED数码管显示电路及按键电路13第三章 温控智能电电扇控制系统软件设计与实现143.1 主程序143.2 数字温度传感器模块153.3电机调速与控制子模块17第四章 调试成果与总结174.1 调试成果174.2 课程设计总结21参照文献22附录一23附录二24附录三25摘要电电扇与空调的降温效果不同,相较于空调的迅速减少环境温度不同,电电扇更加温和,合适于体质

3、较弱的老人与小孩。并且,电电扇价格实惠,使用简朴。目前市面上的电电扇大多只能手动调速,还外加一种定期功能。对于温差较大的夜晚,若不能及时变化风速大小后停止,很容易感冒着凉。因此本课程设计以AT89C51为核心控制系统根据外界温度的变化对电电扇进行转速控制,以实现自动换挡功能。除此之外,我们还设立了一种顾客可以自己通过键盘设立最低温度的模块,一旦外界温度等于或是低于该设立温度,电机自动停止运营。核心词:单片机 温度传感器 驱动器 智能调速第一章 课程设计的目的及重要内容1.1课程设计的目的及意义夏天到了,空调是现代家庭中的主流降暑电器,但是对于老人与小孩,体质相对来说较弱,空调的使用易于受凉,因

4、此家用电电扇,风速温和,既可以达到凉爽的目的,又可避免空调带来的弊端。然而,目前市面上的家用电电扇大多只能手动调速再加一种定期器,功能单一。晚上后半夜与前半夜气温差比较大,若不能及时减小风速,很也许感冒。因此,我们在既有电电扇的功能至上增长了温度控制模块,电电扇的电机转速可以根据外界温度的变化而变化。我们的重要实现的功能有如下几点:1. 顾客可以手动设立温度下限,外界温度一旦与该设定温度相等或是不不小于该温度,电机自动停止转动。2. 当温度每减少2或是升高2,电机转速自动下降一种档位。1.2温控智能电电扇的重要内容和技术核心1.2.1课程设计的重要内容(1) 课程设计采用了AT89C51单片机

5、作为重要解决芯片,DS18B20作为温度传感器感知和传递外界环境的变化,然后通过51单片机进行一系列解决然后对12V的直流电动机进行转速的控制。(2) 在直流电动机转速控制模块,采用了L298驱动器对电机进行驱动。在显示方面,用7SEG-MPX6-CC-BLUE数码管来显示外界温度的变化以及人为设定的温度值。1.2.2技术核心(1) 温度传感器DS18B20的工作原理以及它内部对温度数据的解决方式,51单片机如何用程序将其输出数据读入,并进行解决。(2) L298驱动器的工作原理以及电机调速解决的实现方式程序的编写。(3) 数码管显示与按键模块直接的联系以及解决程序的编写。第二章 温控智能电电

6、扇控制系统硬件设计2.1课程设计总体硬件设计系统总体设计硬件框图如图2.1所示图2.1系统方块图对于单片机中央解决系统的方案设计,根据规定,我们可以选用AT89C51单片机作为中央解决器。作为整个控制系统的核心,单片机内部已涉及了定期器、程序存储器。数据存储器等硬件,其硬件能符合整个控制系统的规定,不需要外接其她存储器和定期器件,以便的构成一种最小系统。整个系统构造紧凑,抗干扰能力强,性价比高,是比较合适的方案。本系统实现电扇的温度控制,需要有较高的温度变化辨别率和稳定可靠的换挡停机控制部件。2.2芯片及重要器件选择2.2.1控制核心的选择采用AT89C51单片机作为控制核心,以软件编程的措施

7、进行温度判断,并在端口输出控制信号。以单片机作为控制器,通过编写程序不仅能将传感器感测到的温度通过显示电路显示出来,并且顾客能通过键盘接口,自由设立温度下限,满足顾客需求,并且通过程序判断温度具有极高的精确度,能精确把握环境的微小变化。2.2.2温度传感器的选用采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号共单片机解决。2.2.3显示电路采用7SEG-MPX6-CC-BLUE数码管显示温度。数码管显示温度清晰简朴,价格优惠,驱动程序简朴。2.3芯片及器件简介2.3.1 AT89C51单片机AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片

8、机,片内4bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容原则MCS-51指令系统,片内置用8位中央解决器(CPU)和Flash存储单元,功能强大。AT89C51单片机可灵活应用于多种控制领域。AT89C51单片机提供如下原则功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定期、计数器,一种5向量两级中断构造,一种全双工串行通信口,片内振荡器及时钟电路。同步,AT89C51单片机可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲

9、方式停止CPU的工作,但容许RAM,定期、计数器,串行通行口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并严禁其他所有部件工作直到下一种硬件复位。芯片封装及管脚如图2.2图2.2 AT89C51封装及管脚图2.3.2 L298芯片简介L298驱动芯片是SGS公司的产品,内部涉及4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内涉及两个H桥的高压大电压六双全桥式驱动器,接受准TTL逻辑电平信号,可驱动46V、2A如下的电机。实物图如图2.3所示。 图2.3实物图 图2.4管脚图L298有两路电源分别为逻辑电源6V和动力电源12V,ENA、ENB直接接入5V电源使电机进

10、入使能状态,IN1、IN2用来控制电路的逻辑功能状态。由于使用的电机是线圈式,在运营状态忽然转到停止状态和从顺时状态忽然转换到逆时针状态时会形成很大的方向电流,在电路中加入二极管就是在产生方向电流的时候进行泄流,保护芯片安全。L298的逻辑功能状态见表2.1 。表2.1 L298逻辑功能状态图IN1IN2ENA电机状态XX0停止101顺时针011逆时针000停止110停止2.3.3 DS18B20温度传感器DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改善型智能温度传感器。与老式的热敏电阻相比,它可以直接读出被测温度并且可根据实际规定通过简朴的编程实现912位的数字

11、值读数方式。可以分别在93.75 ms和750 ms内完毕9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线自身也可以向所挂接的DS18B20供电,而无需额外电源,因而使用DS18B20可使系统构造更趋简朴可靠性更高。她在测温精度、转换时间、传播距离、辨别率等方面较DS1820有了很大的改善,给顾客带来了更以便的使用和更令人满意的效果。 DS18B20简介:(1) 独特的单线接口方式:DS18B20与微解决器连接时仅需要一条口线即可实现微解决器与DS18B20的双向通讯。(2) 在使用中不需要任何外围元

12、件。(3) 可用数据线供电,电压范畴:+3.0 +5.5 V。(4) 测温范畴:-55 +125 。固有测温辨别率为0.5 。(5) 通过编程可实现912位的数字读数方式。(6) 顾客可自设定非易失性的报警上下限值。(7) 支持多点组网功能,多种DS18B20可以并联在惟一的三线上,实现多点测温。(8) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。引脚排列如图2.5所示。 引脚阐明:GND:接地DQ:数据I/OVDD:可选VDDNC:空脚 图2.5 引脚排列表2.2 部分温度值

13、与DS18B20输出的数字量对照表温度值/ 数字输出(二进制) 数字输出(十六进制)+125 0000 0111 1101 0000 07D0H+85 0000 0101 0101 0000 0550H+25.625 0000 0001 1001 0001 0191H+10.125 0000 0000 1010 0010 00A2H+0.5 0000 0000 0000 1000 0008H0 0000 0000 0000 0000 0000H-0.5 1111 1111 1111 1000 FFF8H-10.125 1111 1111 0110 1110 FF5EH-25.625 1111

14、1111 0110 1111 FF6FH-55 1111 1100 1001 0000 FC90H2.3.4LED数码管简介本系统选用五个LED数码管来进行温度显示。LED又称为数码管,它重要是由8段发光二极管构成的不同组合,其中 ag为数字和字符显示段,dp为小数点的显示,通过ag这7个发光二极管点亮的不同组合,可以显示09和AF共16个数字和字母。LED数码管可以分为共阴极和共阳极两种构造,如下图3.1.3所示。共阴极构造把8个发光二极管阴极连在一起,共阳极构造把8个发光二极管阳极连在一起。通过单片机引脚输出高下电平,可使数码管显示相应的数字或字母,这种使数码管显示字形的数据称字形码,又称

15、段选码。图2.6七段LED数码管一种共阴极数码管接至单片机的电路,要想显示数字“7”须a、b、c这3个显示段发光 (即这3个字段为高电平)只要在P0口输入00000111(07H)即可。这里07H即为数字7的段选码。字形与段选码的关系见表2.2所示。表2.3 LED段选码表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03fHC0H87fH80H106HF9H96fH90H25bHA4HA77H88H34fHB0HB7fH83H466H99HC39HC6H56dH92HD3fHA1H67dH82HE79H86H707HF8HF71H8EH2.4重要硬件电路总体硬件原理图见附录一。2.

16、4.1温度检测电路设计本模块以DS18B20作为温度传感器,AT89C51作为解决器,配以温度显示作为温度控制输出单元。整个系统力求构造简朴,功能完善。DS18B20进行现场温度测量,将测量数据送入AT89C51的P1.7口,通过单片机解决后显示温度值,并与设定温度值的下限值比较,若高于或低于设定的下限值则控制电机转速进行调节。电路图如图2.6所示。图2.72.4.2 电机调速电路设计根据图2.7所示连接好电路图,A/B接入单片机上通过程序来控制L298输出来控制直流电机的转动。PWM1赋值为1时,使能直流电机转动。图2.8电机调速电路2.4.3 PWM调速原理我们采用的是PWM来实现直流电动

17、机的调速,长处:控制原理简朴,输出波动小,线性好,对邻近电路干扰小。缺陷:功率低,散热问题严重。PWM调速原理:输出电压 (2-1) (2-2)式2-1中称为占空比。占空比D表达了在一种周期T里开关管导通的时间与周期的比值。D的变化范畴为0=D=1。当电源电压U不变的状况下,输出电压的平均值U取决于占空比D的大小,变化D值也就变化了输出电压的平均值,从而达到控制电动机转速的目的,即实现PWM调速。2.4.4 LED数码管显示电路及按键电路7SEG-MPX6-CC-BLUE 数码管与单片机输出端相连电路以及按键输入电路如图2.8所示。图2.9显示电路连接第三章 温控智能电电扇控制系统软件设计与实

18、现本系统的运营程序采用C语言编写,采用模块化设计,整体程序由主程序和温测显示、键盘解决以及电机控制等子程序模块构成。3.1 主程序下图为主程序简易框图。图3.1 主程序简易框图3.2 数字温度传感器模块如图3.2所示,主机控制DS18B20数字温度传感器完毕温度转换工作必须通过三个环节:初始化、ROM操作指令、存储器操作指令。单片机所用的系统频率为12MHz。根据DS18B20数字温度传感器进行初始化时序、读时序和写时序分别可编写3个子程序:初始化子程序、写子程序、读子程序。图3.2 数字温度传感器模块程序流程图DS18B20芯片功能命令表如下:命令 阐明 合同READ ROM 读取激光ROM

19、64位 33HMATCH ROM 匹配ROM 55H SKIP ROM 跳过ROM CCHSEARCH ROM 搜索ROM F0HALARM SEARCH 告警搜索 ECHWRITE SCRATCHPAD 把字节写入暂存器的地址2和3 4EHREAD SCRATCHPAD 读取暂存器和CRC字节 BEHCOPY SCRATCHPAD 把暂存器内容拷贝到非易失性存储器中 48HCONVERT T 开始温度转换 44HRECALL E2 把非易失性存储器中的值召回暂存器 B8HREAD POWER SUPPLY 读电源供电方式:0为寄生电源,1为外电源 B4H3.3电机调速与控制子模块本模块采用P

20、WM来实现直流电动机的调速。控制流程如图3.3所示。图3.3电机控制流程图第四章 调试成果与总结4.1 调试成果课程设计仿真调试采用的是Protues仿真软件,按照原理图将各器件画在软件中。程序编写采用Keil软件,用C语言编写。这里我们设定温度为20为最低温度进行仿真。0档:=27即温度每上升2,电机转速即上升一档。26时,仿真成果: 28时,仿真成果: 4.2 课程设计总结本系统以AT89C51单片机为核心,单片机重要完毕对外界环境温度信号的采集、解决、显示等功能;用Protues软件绘制电路原理图及仿真测试和DXP软件绘制PCB电路印刷板图,运用MCS-51 C语言编制。运营程序该系统的

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

22、度设立时,数码管其她位数字会跟随跳变,但数值不变。功能上的缺憾是对于两个档之间的临界温度解决不好,并且档位太少,尚有待改善。总的来说,本次课程设计学到了许多东西,对此后个人的发展有积极的作用。参照文献【1】 刘坤、郑锋、王巧芝等,51单片机典型应用开发范例大全M,北京:中国铁道出版社,.10 【2】张俊谟,单片机中级教程原理与应用(2版)M,北京:北京航空航天大学出版社,.10【3】张玉杰,基于单片机的温度控制智能电电扇D,新疆工业高等专科学校【4】冯清秀、邓星钟等,机电传动控制M,武汉:华中科技大学出版社,.6附录一附录二PCB板附录三程序清单1.主程序 void main(void) ui

23、nt ltemp; uchar g,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; /温度十

24、位 ge=(ltemp%100)/10; /温度个位 keyscan(); /读取键盘子程序 delay(2); deal(ltemp/10); /运营温度判断子程序,由温差设立占空比 dianjik(); /运营电机控制子程序 2. 温度显示子程序void ledshow(uchar a4,uchar a3,uchar a1,uchar a0) dispbuf0=a0; dispbuf1=a1; dispbuf3=a3; dispbuf4=a4; P2=0xff;/按键个位 P0=dispcodedispbuf0; P2=dispbitcode5; delayus(1); P2=0xff;

25、/按键十位 P0=dispcodedispbuf1; P2=dispbitcode4; delayus(1); P2=0xff; /温度传感器个位 P0=dispcodedispbuf3; P2=dispbitcode1; delayus(1); P2=0xff;/第一位,传感器十位 P0=dispcodedispbuf4; P2=dispbitcode0; delayus(1);3. DS18B20子程序void clean_ds18b20() /初始化 dq=0; /再讲数据线从高拉低,规定保持480960usdelayus(90); /略微延时 以向ds发出一持续480960us的低电平

26、复位脉冲 dq=1; /将数据线拉高delayus(3); /延时(释放总线后需等待1560us让ds输出存在脉冲) bit readbit() /读取一种位 uchar i; bit dat; dq=0; i+; dq=1; i+; i+; dat=dq; delayus(8); return(dat); uchar read_ds18b20_date()/读取一种字节 uchar j,i,dat; /存储读取的一种字节数据 dat=0;for(i=1;i=8;i+) j=readbit(); dat=(j1); return(dat); void write_ds18b20_date(uc

27、har dat) /写一种字节 uchar i;uchar j;bit testb;for(j=1;j1;if(testb) /写1dq=0; /拉低i+; /延时至少1us的恢复时间i+;dq=1;delayus(8); /延时保持至少60us Else /写0dq=0; /拉低delayus(8); /延时保持至少60us dq=1;i+; /延时至少1us的恢复时间i+; uint read_temp() clean_ds18b20(); /初始化完毕m=0;delay(1); /等待初始化完毕write_ds18b20_date(0xcc); /跳过romwrite_ds18b20_d

28、ate(0x44); /启动温度测量delayus(100);clean_ds18b20();delay(1); /等待转化完毕write_ds18b20_date(0xcc); /跳过romwrite_ds18b20_date(0xbe); /读数据命令4.键盘子程序void keyscan(void) if(key1=0) /判断key1与否按下 delay(10); /延时判断kay1与否按下 if(key1=0) set+; /设定温度加1 if(key1=45) set=18; while(!key1); else if(key2=0) /判断key2与否按下 delay(10);

29、/延时判断key2与否按下 if(key2=0) set-; /设定温度减1 if(set=0) set=18; while(!key2);5.温度比较解决子程序 void deal(uint temp) /温度解决 if(tempset)&(temp(set+1)&(temp设定值+1,(set+5)&(temp(set+7) h=5; /5档 l=0; 6.电机控制子程序void dianjik() uchar q,i; for(q=0;q0;i-) ledshow(shi,ge,set/10,set%10); for(q=0;q0;i-) ledshow(shi,ge,set/10,set%10);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服