基于单片机的温控风扇设计 机械工程及其自动化专业.docx

上传人:夺命阿水 文档编号:537850 上传时间:2023-08-16 格式:DOCX 页数:41 大小:896.39KB
返回 下载 相关 举报
基于单片机的温控风扇设计 机械工程及其自动化专业.docx_第1页
第1页 / 共41页
基于单片机的温控风扇设计 机械工程及其自动化专业.docx_第2页
第2页 / 共41页
基于单片机的温控风扇设计 机械工程及其自动化专业.docx_第3页
第3页 / 共41页
基于单片机的温控风扇设计 机械工程及其自动化专业.docx_第4页
第4页 / 共41页
基于单片机的温控风扇设计 机械工程及其自动化专业.docx_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《基于单片机的温控风扇设计 机械工程及其自动化专业.docx》由会员分享,可在线阅读,更多相关《基于单片机的温控风扇设计 机械工程及其自动化专业.docx(41页珍藏版)》请在课桌文档上搜索。

1、题目基于单片机的温控风扇设计目录摘要IAbstract错误!未定义书签。第一章整体方案设计11.1 前言11.2 系统整体设计11.3 方案论证21.3.1 温度传感器的选择21.3.2 控制核心的选择31.3.3 温度显示器件的选择31.3.4 调速方式的选择3第二章各单元模块的硬件设计52.1 系统器件简介52.1.1 DS18B20单线数字温度传感器简介52.1.2 达林顿反向驱动器ULN2803简介52.1.3 AT89C52单片机简介62.1.4 1.ED数码管简介82.2 各部分电路设计92.2.1 开关复位与晶振电路92.2.2 独立键盘连接电路102.2.3 数码管显示电路11

2、2.2.4 温度采集电路122.2.5 风扇电机驱动与调速电路7第三章软件设计153.1 程序设置153.2 用KeilC51编写程序153.3 用PrOteUS进行仿真173.3.1 Proteus简介173.3.2 本设计基于Proteus的仿真18第四章系统调试234.1 软件调试234.1.1 按键显示部分的调试234.1.2 传感器DS18B20温度采集部分调试234.1.3 电动机调速电路部分调试244.2 硬件调试244.2.1 按键显示部分的调试244.2.2 传感器DS18B20温度采集部分调试244.2.3 电动机调速电路部分调试254.3 系统功能254.3.1 系统实现

3、的功能254.3.2 系统功能分析25结论26参考文献26致谢27附录1:电路总图28附录2:程序代码29摘要现代社会中,众多的工业生产、日常生活都离不开温控风扇的应用,其在工程建设的散热系统、手提电脑处理器降温等有着突出的作用。本命题对温控风扇系统进行了解释说明,单片机为其核心构成部分,通过温度传感器DS18B20获取温度信息,与系统设置的温度做比较,判断使用ULN2803电机做成的风扇系统对元件进行散热处理,同时能通过判断设定温度与采集温度的温差大小,来确定风扇系统的转速,采用LED八段数码管实现温度显示功能。关键词:单片机、DS18B20.温控、风扇AbstractInmodernsoc

4、iety,manyindustrialproductionanddailylifeareinseparablefromtheapplicationoftemperature-controlledfans,whichplayaprominentroleinthecoolingsystemofengineeringconstructionandthecoolingoflaptopprocessors.Thispropositionexplainsthetemperature-controlledfansystem.Thesingle-chipmicrocomputerisitscorecompon

5、ent.ThetemperatureinformationisobtainedthroughthetemperaturesensorDS18B20,andcomparedwiththetemperaturesetbythesystem,itisjudgedthatthefansystemmadeofULN2803motorisusedtoheatthecomponents.Atthesametime,itcandeterminethespeedofthefansystembyjudgingthetemperaturedifferencebetweenthesettemperatureandth

6、ecollectedtemperature,andtheLEDeight-segmentdigitaltubeisusedtorealizethetemperaturedisplayfunction.Keywords:MCU,DS18B20,temperaturecontrol,fan第一章整体方案设计1.1 前言在现代社会中,风扇被广泛的应用,在人民日常生活中的作用越来越大,无论是工程建设中的散热系统,还是电脑主机的散热功能,都离不开风扇的使用。由于科学技术的发展,低噪音、低耗能的风扇逐渐被推广,随着科技水平的智能化程度越来越高,如今的风扇的转速可以随着环境温度的变化而变化,同时当环境温度达

7、到或者低于其设定值时,风扇可以自发启动或者停止,实现控制系统的智能化。目前单片机的应用愈加普及,一定程度上促进了温控系统的发展,通过单片机技术的运用,提升温控系统的智能性,实现风扇的自发启动与停止、风扇转速与环境温度相配合,提升风扇的智能化水平。这不仅给人民生活带来了便捷,提升工业生产质效,还避免了资源浪费,提升资源利用率。本命题介绍了8052系列单片机,其由ATMEL公司研发,以AT89C52作为主要控制器,通过DS18B20元件进行温度采集,进而通过ULN2803驱动风扇电机实现风扇转动。此外,通过LED数码管来显示出系统所采集的环境温度以及系统预设的温度,根据系统检测到得环境温度与系统预

8、设温度的比较,实现风扇电机的自动启停以及转速的自动调节。1.2 系统整体设计本产品的设计思路如下:通过温度传感器对环境温度进行温度采集,转化为数字信号输入AT89C52单片机,进而在八段数码管上显示出所采集的温度以及系统设定温度,分别精确到十分位与整数位。并且通过运用PWM脉宽调制法,实现电机转速随着环境温度的改变而改变。此外,为了方面预设温度的调整,设定两个按键来对预设温度进行升高或者降低。该系统运行流程图如下所示:温度显示DS18B20图1.1系统构成框图1.3 方案论证为了提升风扇的智能化水平,本产品风扇电机能根据采集的环境温度是否达到预设温度,实现风扇电机的自发启动与停止,这对温控器件

9、以及温度传感器元件的技术要求较高1.3.1 温度传感器的选择本产品的温度传感器有两种以下两者选择:A方案:温控系统的温度采集元件采用热敏电阻,随着温度的变化,配合运算放大器的使用,热敏电阻所产生的动态电压信号经过AD转换成数字信号,进而输入单片机进行下一步设置。B方案:温控系统的温度采集元件用DS18B20温度传感器,其将电压信号通过AD转换成数字信号输入温控系统。1,1李学龙.使用单片机控制的智能遥控电风扇控制器J.电子电路制作,2003,9:1315.采用A方案选取热敏电阻作为核心,其优点是成本低,热敏电阻方便安装等,但其也有缺点,例如当温度产生微小变化时,热敏电阻的灵敏度低,变化不大,因

10、此对温度采集过程会产生误差。同时,热敏电阻的电阻与温度之间的特性曲线非线性,其本身存在测量误差,可以通过外加电路进行校正,减少测量误差,但这会使温控系统复杂化,而且在人体所处环境温度变化过程中难以检测到微小的温度变化。因此,采用A方案缺乏便捷性以及精准性。采用B方案由于DS18B20型温度传感器的精确度高,对采集温度过程中很大程度上减少了测量误差,相比于热敏电阻,其灵敏度高,其内部可以直接把电信号转化为数字信号,减少了电路的复杂程度。通过单线总技术,让系统电路简单化,并且提升其自动控制水平,提升系统的精简性与智能性。B方案与系统要求相契合。1.3.2 控制核心的选择本产品中的选取AT89C52

11、单片机作为温控系统的核心元件,对其输入对应功能的代码,实现温度采集与判定,在输入输出端口中输出数字信号。这一单片机的优点包括性能完善、工作耗能小、存储器容量大等,相比于其它单片机,AT89C52的兼容性较强,购买价格便宜,非常契合系统的运行。1.3.3 温度显示器件的选择A方案:选取LED八段数码管进行动态扫描。B方案:通过LCD显示屏体现温度信息。A方案的优点是采购价格低,耗能低,所显示出的温度即使在黑暗环境下也清晰可见,所植入的程序易理解,因此这类温度显示器得到了推广,普遍应用于人民的日常生活当中。由于它是通过动态扫描的方式来显示数字,只要显示间隔时间大于20MS,数字信息就能通过人眼采集

12、,因此,设定适合的闪烁频率就可使用A方案。B方案的LCD液晶显示屏相比于LED数码管其所显示出的数字比较美观,除此之外还能显示多元化的字符以及图案。但其购买成本也相对较高。显示驱动程序的编写也较复杂,从简单实用的原则考虑,综合考虑,A方案比较适合本系统。1.3.4 调速方式的选择A方案:选取DACO832元件作为核心元件,采集到的环境温度输入此芯片,从而输出对应的模拟信号以控制晶闸管的导通以及关断时间,进而实现根据不同的温度自动调节风扇转速。B方案:选用脉宽调节法(PWM),通过输入编程代码实现对输入脉冲宽度的调节,进而调节输出波形,控制风扇转动速度。这种方法一般采取矩形波的脉冲信号,对脉冲宽

13、度的调节时严格控制其占空比。PWM的占空比反映高电平脉冲在一个完整周期内所占的比例,高电平时间持续越长,电机转速就越高,当脉冲没有低电平时,风扇电机达到最大转速。下面为三种输出PWM信号的方法:(1)通过软件对PWM高低电平进行延时处理。当高电平即将变成低电平时,通过软件处理,对I/O输出端口进行取反处理,使高电平变为低电平,同时增加延时时间;当低电平即将变成电平时,重复上述过程,不断循环处理便可输出PWM信号。这种方法比较契合本系统。(2)通过定时器的使用,与(1)中的控制方法相同,改变脉冲高低电平的延时时间,应用此方法时编程相对复杂。(3)利用单片机自带的PWM控制器。在STCI2系列单片

14、机中自身带有PWM控制器,但本系统所用到得AT89系列单片机无此功能。A方案能够的性能较好,其灵敏度高,环境温度变化时对应的风扇电机速度变化灵敏,但DACO832芯片的购买成本高,对本系统的而言其性价比较低。B方案采用软件系统对风扇电机的转速进行调节,这种方法转变性比较强,相比于硬件系统其成本低,单片的功能的体现不亚于硬件系统,对于比较单一的控制系统而言,B方案比较适合。121蓝厚荣.单片机的PWM控制技术J.工业控制计算机,2010,23(3):97-98第二章各单元模块的硬件设计本设计的主要硬件包含:型号为DS18B20的输出离散型号的数字温度传感器;型号为AT89C52的CMOS8位单片

15、机;5位发光二极管封装的数码管显示器风扇直流电动机;型号为ULN2803驱动器。其他电子元器件包含:多种不同阻值的电阻器;多种不同电容量的电容器;多个晶体振荡器;各类电压源以及电流源;多个按键;多个DlP开关。2.1 系统器件简介2.1.1 DS18B20单线数字温度传感器简介DS18B20属于DALLAS公司开发的一款数字温度传感器产品,该产品性能稳定、体积紧凑、功率损耗低、适用范围广,能够采集环境的温度信息并以数字信号的形式进行输出。若在一些微观领域使用DS18B20进行温度的测量,则可以充分发挥它的功能。其工作特性如下:第一,可以对环境的温度信息进行捕捉,并将这些信息转化为离散的数字信号

16、,信号的输出端仅设有一条线路,DS18B20在该线路上以串行通信的方式将数字信号传输于中央处理器CPU,在这个过程中,还可以进行循环冗余效验,保证了数据传输的准确性以及稳定性;第二,以摄氏度为单位,DS18B20的测温区间为-55,125,在区间10,85内,DS18B20可以控制在0.5摄氏度以内的测量误差;第三,DS18B20温度分辨率设有0.5C9bits、0.251Obits0.1251Ibits0.062512bits这4个级次,即最高采样位数为12bits,显示温度的最小变化量为0,0625摄氏度;第四,DS18B20“一线总线”的模式,可以实现使用一条线路与MPU进行半双工通信;

17、第五,多个DS18B20可以连接于一根接线上,构成温度监测网络,对环境温度进行大范围的监测;第六,DS18B20工作时,以V为单位,其两段的电压值区间为3.0,5.5。它的内部包含4个核心器件:64bits的只读存储器;用于采集温度信息的传感器;温度高位与温度低位的触发报警器寄存器。DS18B20含有引脚(3个),其中DQ端用于输出数字信号,GND端用于接地,VDD端用于外接电源的输入。2.1.2 达林顿反向驱动器ULN2803简介本文主要对基于单片机的温控风扇进行设计,电机在需要一定的驱动电流才能正常工作,因此需引入相应的驱动电路。本设计选取ULN2803作为电机工作电流的驱动器。反向驱动器

18、ULN2803的硬件接口较少,可以简化系统开发者的安装操作流程,并为本系统的风扇直流电动机提供充足的工作电流,ULN28O3的本质为CMOS器件中的接口型集成芯片,18脚为输入端,1178脚为输出端,可集中驱动8路小型直流电机。在本系统中,AT89C52的8个I/O与ULN2803的8路输入进行连接,输入TTL高电平,进而实现对8个相应电机的控制。ULN2803的内部由8路NPN达林顿管构成,并采用合适的形式进行封装,包含18个管脚,1脚至8脚为输入端口,可接收TTL电平以及CMe)S电平;11脚至18脚为输出端口,可输出充足的电压以及电流;9脚为GND端,用于接地;10脚为供电输入端口,接正

19、极电源。若在1-8脚中输入5V的TTL高电平或者输入6V至15V的CMOS高电平,那么对应的1118脚最高输出电压可以达到50V,相应的电流可达500mA,以摄氏度为单位,ULN2803可正常运行的温度限值区间为0,70,本设计将选取工作电压为12V的直流电机,因此ULN2803符合该电机的驱动条件。2.1.3 AT89C52单片机简介AT89C52属于CoMS8位单片机,由制作商爱特梅尔公司推出,是一款性能极佳、工作电压低的单片机产品。AT89C52的组件使用爱特梅尔的NVM技术制作,可兼容Intel8051系统,内部装有8bitsCPU、容量为8KB的ROM、容量为256B的RAMoAT8

20、9C52功能强大,适用于各种不同系统的开发,它含有40只管脚,对应的功能如下:VCC:作为供电输入端口,接5V电压。GND:用于接地端或0线。P0.7P0.0:Po端共含有八只管脚,从P0.0至P0.7位数逐渐上升。P0.7P0.0包含两种使用情况:若AT89C52不连接外部存储器,且确保PO口功能的正常,则需要在PO的引出端中插入一个电阻并输入高电平,进而实现中央处理器通过PO端与外部设备进行数据交换以及信息传输的功能。若AT89C52外部接有存储器,那么在中央处理器与外部存储器进行数据传输时,相应引脚会先传输外部存储器的低八位地址信号,再传输中央处理器对应的读写信息。P1.7P1.0:Pl

21、端包含了P1.7P1.0这8个管脚,属于插入了上拉电阻的半双工通信I/O接口,具备一般I/O端的功能,能够用于传输I/O信息,不同之处在于Pl端内部预先插入了上拉电阻,因此Pl端可直接通路使用。在使用AS语言进行编程时,可以通过Pl端对AT89C52的EPROM的低八位地址信息进行输入。P2.7P2.0:P2端包含了P2.7P2.0这8个管脚,属于插入了上拉电阻的半双工通信I/O接口,具备一般I/O端的功能,传送用户的输入/输出数据,此外,P2还能与P0.7P0.0管脚的功能配合使用,实现外接存储器高八位地址信号的传输功能,输出16位地址信号,进而协同选取外接存储器的存储元集合,不足之处在于,

22、二者配合使用时无法输出中央处理器对外接存储器的读写信息。对于一些其他不同的51机,P2.7P2.0脚还能够与P0.7P0.0脚协同使用,输入单片机内部EPROM的高四位地址信号。P3.7P3.0:P3端包含了P3.7P3.0这8个管脚,属于插入了上拉电阻的半双工通信I/O接口,在对P3端进行写1操作后,其将输出高电平。P3端具备一般I/O端口的功能,可以让CPU与外部设备进行数据的输入与输出,P3口也作为一些特殊功能端口使用,如下所示:P3.O: RXD (串行数据接收口)P3.1: TXD (串行数据发送口)P3.2: INTO (外部中断O输入)P3.3: INTl (外部中断1输入)P3

23、.4: TO (记数器O计数输入)P3.5: Tl (记时器1外部输入)P3.6: WR (外部RAM写选通信号)Pl. 0 Pl. 1 Pl. 2 C Pl. 3 C Pl.4 Pl. 5 Pl.6 C Pl. 7 C RESET RXD/P3, 0 TXD/P3. 1 C iHT0P3.2 imP3. 3 T0/P3,4 Tl/P3. 5 P3.6 C RD/P3. 7 CXTAL2 XTALl PDIP Vss 01234567830 12 3 4 5S789111111111120987654321098765432143333333333222222222J VccPO. O/ADO

24、PO. 1AD1PO. 2/AD2J PO. 3/AD3PO. 4AD4J PO. 5/AD5PO. 6AD6PO. 7/AD7J EA/VppALE/PROGJ PSENP2. 7AD15P2. 6AD14P2. 5/AD13 P2.4AD12 P2. 3/AD11P2.2AD10P2. 1AD9P2. 0AD8P3.7:RD(外部RAM读选通信号)图2.1.1AT89C51单片机ALE/PROG:地址锁存器允许/编程线,在访问片外存储器时在ALE/京5G线上输出高电位脉冲,以及在引脚P0.7sP0.0上的片外存储器的低8位地址。下降之后是片外存储器的低8位地址的锁存器到外部专用地址锁存器。

25、为了释放P0.7-P0.0引脚以传输后续的片外存储器读写数据。当读取片外存储器时,单片机自动进入ALE/丽T线上输出频率为1/6晶振频率的脉冲序列。PSEN:是读取外部程序存储器的先通信号,CPU从外部获取指令时,PSEN在每个工作周期中两次有效。但在访问外部数据存储器时,这两次有效的丽信号将不出现。2.1.4 EA/VPP:允许访问片外存储器/编程电源线。程序存储器的选取是由瓯电平状态决定的,当诙处于高电平状态时,只选用片内程序存储器;当函处于低电平状态时,只选用外程序存储器。在固态存储器与动画编辑器工作过程中,诙经常性地使用12V编辑电压(VPP)o2.1.5 1.ED数码管简介在本系统中

26、,温度由五根LED管表示。LED管又名数码管,由八段具有发光功能的二极管组成,根据外界条件的变化,这八段具有发光功能的二极管可以组成成千上万种不同的组合。如下图2.1.2所示,其中标有字母a-g的二极管根据不同的发光组合可以用来表示数字0-9或字母A-F;标有dp的二极管则表示小数点。一般而言,LED管结构主要分为两类:共阴极结构;共阳极结构;如下图2.1.2(a)、(b)所示。两种结构不同的地方在于这八段二极管终端接连的差异。顾名思义,在共阴极结构中,八段二极管的终端都连接在阴极;在共阳极结构中,八段二极管的终端都连接在阳极。控制电平的高低状态可以使得二极管按照预先设定的组合发光,以此表示具

27、体的数字组合或者字母组合,最终形成一段字形码,又称为段选码。数码管引脚分配图图2.1.2七段LED数码管表2.1.17段LED的段选码表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03fHCOH87fH80H106HF9H96fH90H25bHA4HA77H88H34fHBOHB7fH83H466H99HC39HC6H56dH92HD3fHAlH67dH82HE79H86H707HF8HF71H8EH在采用共阴极结构的单片机中,给“a、b、c”三个二极管输入高电平时,即这三个二极管同时发光时就会显示数字“7”。其具体操作为在PO输入端输入段选码07(三),即(XX)OolIl就可以

28、显示数字“7”。其他数字与段选码的相互关系如上表2.1.1所示。2.2各部分电路设计2.2.1 开关复位与晶振电路复位不仅在单片机中发挥着非常重要的作用,还在外部组成结构之一的I/O接口电路中发挥着至关重要的作用。因此,需要设计一个具有复位功能的开关,除此之外,该开关还需同步单片机系统和外部I/O接口电路,以此简化整个操作过程。另外,借助XTALl和XTAL2引脚有利于确保石英晶体以及微调电容接触状态良好。按照以上方法设计的具有复位功能的开关示意图如图2.2.1所示。具体功能如下:当按触Sl时,单片机系统进行复位,此时电容Cl、C2、C3以及电阻R2、R3都参与了整个复位过程。2.2.2 独立

29、键盘连接电路该独立键盘拥有两个具有特定功能的按钮,分别为:S2和S3。其中S2和单片机系统的P13接口相接;S3和单片机系统的P14接口相接。当单片机系统通电并按下S2、S3任一按钮之后,PI处会显示实时的电平状态。此时可以通过按触两个按钮调节初始温度大小,S2按钮为减按钮,S3为加按钮,每一次按触的变化值都是单位1,按触后系统会计算出最终的初始温度值。其接线图如下:UiPiorr p P12 P13 P14 P15 P16 P17INTl INTOTl TOEA/VPXl X2RJESETRB WRAT89C523938373635343332212223242526272810113029

30、POO POlP02P03PO4P05P06RXDTXDALEJPPSEN202122232252627 PpppppppPLIAT89C52图2.2.2独立键盘连接电路2.2.3 数码管显示电路本设计制作中选用5位共阴极数码管作为显示模块,它和单片机硬件的接口如图2.2.3所示。其中温度的测量由显示模块中前3位数码管DSl、DS2、DS3显示,以摄氏度为单位,其可测量的温度值区间为0,99.9,另外,在该测量范围内,其最终测量的温度精准度控制在0.。除此之外,初始温度值由后2位数码管DS4、DS5显示,而且改2位数码管有且仅有显示温度初始值得功能,其可显示的初始温度值区间为0,99o其各线路

31、的衔接如下图2.2.3所示。通过观察下图,可以发现5位数码管借助a-g以及dp线与单片机相连接,其接口也是按照字母顺序对接单片机的POo-Po7接口。除此之外,还需要给单片机PO接口处添加一个电阻为IOK的电阻R,有利于精准地控制电平状态。POO POl P02P03P04P05P06P07813r12L5P10T Pll/TP12P13P14P15P16P17191891716INTlINTOAT89C52TOEA/VPXl 3QRESETRD WRRXDTXD ALE PSENJu丁III!IllIIllllIllIlIlIh叫图2.2.3数码管显示电路2.2.4 温度采集电路内部计数时钟

32、周期是DS18B20温度转换器的技术核心,当内部计数时钟周期正常运作时,DS18B20温度转换器才具有测量温度的功能。通过高温系数振荡器产生的门周期对低温系数振荡器输出的时钟信号进行计数。除此之外,还在该计数器中预先设定一个与55对应的权数值。以该权数值作为界限,若当计数器输出结果为0时,高温系数振荡器还处于震荡状态,则表明此次测量的温度大于55,此时原先存在在显示屏的温度值就会加1。重复以上过程直至高温系数震荡器停止震荡,该时显示屏显示的数值为温度的测量值。除此之外,该数值会被换算为16位二进制的表示形式储存在内部存储器。当需要读取温度测量值时只需要向系统输入相关指令向。单片机有利于DS18

33、B20温度转换器实现其测量温度的功能。因此,在实际使用情况中,往往将DS18B20温度转换器的信号线与单片机的I/O线相连接。除此之外,单片机的I/O接口还可以同时与多个DS18B20温度转换器相连接,提高单片机的使用效2.2.5 风扇电机驱动与调速电路本系统由AT89C52通过I/O端进行PWM脉冲的输出,再使用ULN2803将输出的电流电压参数放大至适宜的值,ULN2083与电机链接并发挥驱动作用,最终使工作电压为12V的直流电机正常运作并实现电机转速的调控功能。通过PC机的如键盘等终端设备进行目标环境温度值的设定,并使用51机相关软件将目标温度控制值转化为T89C52的操作指令,进而使T

34、89C52的1.7引脚输出用于调控电机转速的PWM脉冲,该脉冲在其电流电压参数由ULN2803放大后可用于对电机的控制电路进行驱动,通过这些流程后最终可实现风扇电机的启动、关停以及工作频率的自动化调控功能。若外界的温度值上升,那么风扇的工作频率也将上升,随之转速上升;若外界的温度值降低,那么风扇的工作频率也将下降,随之转速降低;若外界温度低于目标温度值,那么风扇将停止运作;若外界温度高于目标温度值,那么风扇将重新运行,进而实现风扇电机转速根据环境温度的自适应调节功能。电机的驱动与控制电路见图2.2.5,从该图中可以清晰地看到VCC输入+12V直流电压至MOTOR-DC,同时MOTOR-DC与U

35、LN2803的输出端0UT7管脚连接;ULN2803的输入端IN7管脚与AT89C52的TXD引脚相接,同时GND脚接地,COM接+12V的VCC输入电压,此时AT89C52的TXD脚将输出PWM脉冲,通过ULN2803的放大作用实现对MOTOR-DC的启动、关停以及工作频率的调控功能。VCCUlJl2 - 1 2 T 7 T Tpio, purr P12 P13 P14 P15 P16 P17POO POlP02P03P04P05P06P07S3635343332POWERINTlINTOTl若 AT89C52EAPXl-l一RESETRXDTXD亚ALEWRPSENU113C-OO-2S1

36、23456789D 123456784. Nnnnnnnn* Tl TA Tl Tl TA I I I -fk-OUTl 0UT2 0UT3 0UT4 0UT5 0UT6 0UT7 0UT8 COMAT89C52ULN2803图2.2.5风扇电机驱动与调速电本设计选取了工作电压为12V的直流电机,若ULN28031的18脚输入5V的TTL高电平或者输入6V至15V的CMOS高电平,那么对应的1118脚最高输出电压可以达到50V,相应的电流可达500mA,以摄氏度为单位,ULN2803可正常运行的温度限值区间为0,70。因为本设计采用了51系列单片机AT89C52,其I/O端输出TTL高电平,满

37、足ULN2803的使用要求,所以能够选取ULN2803作为电机的驱动器件。第三章软件设计3.1 程序设置采用主程序、DS18B20初始化函数、DS18B20温度转换函数、温度读取函数、键盘扫描函数、数码管显示函数、温度处理函数以及风扇电机控制函数等,这一部分都主要在程序设计部分进行操作与应用。采用DS18B20初始化函数完成对DS18B20的初始化;对环境温度的实时采集则选用了DS18B20温度转换函数;主机对温度传感器数据的读取及数据换算则采用了温度读取函数,依据需要完成初值的加减设定的要求选用了键盘扫描函数;而针对需要即完成将采集到的温度进行处理,选择温度处理函数,使得具备支持电机转速变化

38、所需条件;鉴于需要依据温度的数值完成对电机转速及启停的控制则选用了风扇电机控制函数。具体流程图如图3.1.1:所示图3.1.1主程序流程图3.2 用KeilC51编写程序由美国KeilSoftware公司开发的KeilC5151软件系统,属于系列兼容单片机C语言类,与单片机汇编语言相比,C语言不仅在语句方面简单灵活,而且编写的函数模块可移植性强,因而易学易用,效率高。事实上,随着单片机开发技术的日益迭代发展,市面上单片机的开发软件也早已呈现繁荣景观,同时在操作应用中,单片机的开发技术也有所转变,现基本已从早年常用的汇编语言转向高级语言,而其中,KeiI软件则属于目前使用面积较广的一款MCS-5

39、1系列单片机开发软件。KeilC51软件具备非常多的优势,其主要优势有两点。第一它能提供非常丰富的库函数,这便使得在应用过程中大大节省了操作人员的时间,简化了工作步骤;二是KeilC51还具备强大的集成开发调试工具,优化了程序编辑调试,带来诸多便利,而以上这两点优势,完全在当需要开发大型软件时体现出高级语言的优势。关于Keil软件的使用,主要步骤大致分为三步,即先建立一个工程,再添加文件并编写程序,编写好程序之后最后再进行编辑调试。软件使用界面如图所示3.2.1o191谭浩强.C程序设计国(第三版).北京:清华大学出版社.2005.3765.dfLbI破IBicm2-E:xuexi0322数码

40、管温度键盘Text1c=FileEditViewProjectDebugFlashPeripheralsToolsSVCSIfindowHelp-Its1x1砂昌CC国ProjectWorkspace-S3 Trgt 1B Q Source Group 1 - gj STARTUP. A51 E 函 Txtl. cB)File3jB . Iinclude#defineucharunsignedchartfdfinuintunsignedintsbitDQ=Pl7;Sbitkeyl=Pl3;sbitkey2=Pl4;sbitdianji=P3l;floatff;dinum;R/Wuinty3;u

41、charshi,ge,xiaoshu,sheding=20,gaonum,ucharcoddispcod=/段码0x3f,0x06,0x5b,0x4f,0x,0x6d,0x7d,OXo7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;ucharcodetablel=/带小数点的段码Oxbf,0x86,Oxdb,Oxcf,hJassemblingSTARTUP.ApilingTextl.c.linking.ProgramSize:data三44.1Xdata=Ocod三1804creatinghexfilefrom,dfIml.dflml-0Error(s),O

42、Warning(三).BuildCommandFirxlrFiIes/1.:25OC:26图3.2.1KeilC51软件的使用界面3.3 采用Proteus进行仿真3.3.1 Proteus简介Proteus软件是由英国公司Labcenterelectronics出品,是一款EDA工具软件,该款软件具备十多年的历史,其使用人数涵盖全球,深受世界各地的喜欢。该款软件的优势十分显著,不仅具有和其他EDA工具一样的原理布图、人工布线以及电路仿真功能,而且与其它软件不同的是,它的仿真电路还可以进行互动,甚至可以根据仿真进行实时观察从而验证设计的准确性并及时改变程序代码、原理图连接以及元件属性等。另外该

43、款软件还能配合系统配置的虚拟仪器来显示和输出,例如示波器、逻辑分析仪等“叫呈现的效果也非常好。PrOteUS有4个功能模块分别为智能原理图设计、完善的电路仿真功能、独特的单片机协同仿真功能以及实用的PCB设计平台。而PrOteUS的优势也十分显著,其内部元1,01孙号.Proteus软件在设计电子电路中的应用J.仪表技术,2009,8:7475件库含有丰富的元件,能支持总线结构以及智能化的连线功能,此外它还能支持主流CPU(如ARM、8051/52、AVR)及其通用外设模型的实时仿真等,而这些优势能为单片机的开发与应用等带来极大的帮助。Proteus使用的主界面如图3.3.1。图331PrOt

44、eUS使用界面3.3.2 本设计基于Proteus的仿真本阶段的主要操作具体为:启动PrOteUS软件,建立工程,依据原理图调出所需要的原件,按照要求改变各原件的属性,最后将各个原件按照原理图连接起来。在原理图绘制连接好之后,把编译好的程序加载到其中“L最后分步进行仿真I。将温度传感器DS18B20的温度设置为26.4摄氏度,用键盘S2将调节系统预设的温度调节到22摄氏度。点击按钮,系统开始进行仿真,待一段数值时间稳定后再进行观察,记录风扇直流电机的转速,此时风扇直流电机的速转显示为+14.2rs,如图3.3.2所示。11,1楼俊军.基于Proteus和Keil的单片机演奏乐曲的实现J.科技信息,2010,23:第50页王文海,周欢喜.用PrOteUS实现51单片机的动态仿真调试JJT技术,2006,20:1011文件9 克看9 )工具(!)设计S 绘图源代码0) )崖(L)硬领Ia)东燎CD超勤如 k5H合砧*9 Q1 X%*IZHH4ZMIB aKAgallCOP- * t I 口 I 1口 I O 5Mee田Q9HAT83C5Z BUTTON CAPELEC CRYSTAL DS1882O MOTORDFHYtI 606NFO33P*20000 -32000 thW1C2

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号