实时风扇散热系统设计

上传人:水****8 文档编号:46491335 上传时间:2021-12-13 格式:DOC 页数:52 大小:908KB
返回 下载 相关 举报
实时风扇散热系统设计_第1页
第1页 / 共52页
实时风扇散热系统设计_第2页
第2页 / 共52页
实时风扇散热系统设计_第3页
第3页 / 共52页
点击查看更多>>
资源描述
JIU JIANG UNIVERSITY毕 业 论 文(设 计)题 目 实时风扇散热系统设计 英文题目 Design of real-time fan cooling system 院 系 电子工程学院 专 业 电子信息工程 姓 名 杨 永 强 年 级 二零零八 级 指导教师 查 兵 二零一二年五月最新 精品 Word 欢迎下载 可修改摘 要温控风扇在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产中大型机械散热系统中的风扇、现在笔记本电脑上的广泛应用的智能CPU风扇等。本文设计了基于单片机的温控风扇系统,采用单片机作为控制器,利用温度传感器DS18B20作为温度采集元件,并根据采集到的温度,通过二个三极管组成的达林顿管驱动风扇电机。根据检测到的温度与系统设定的温度的比较实现风扇电机的自动启动和停止,并能根温度的变化分自动和手动改变风扇电机的转速,同时用LCD1602显示检测到的温度与风扇的转速。LCD1602第一行实现了环境温度显示。LCD1602第二行自动控制时能根据按键的调整显示所需要的温度初始值和风扇转速;手动控制时,显示转速级别和自动调整的转速,两者形成对比,让用户更明智地切换为自动控制还是手动控制。关键词:单片机;自动;手动;温控;风扇The Format Criterion of Masters Degree Paper of DUTAbstractFan in modern society production and peoples daily life have a wide range of applications, such as industrial production in large mechanical cooling system of fan, now a laptop on a wide range of applications in intelligent CPU fan. This paper introduces the design of MCU based temperature control fan system, by using a single chip microcomputer as controller, use of temperature sensor DS18B20 as a temperature acquisition component, and according to the collected temperature, through the two three transistor composed of Darlington tube driving fan motor. According to the detected temperature and a set temperature comparison of implementation system of fan motor for automatic start and stop, and root temperature changes automatically or manually changing the fan motor speed, at the same time using LCD1602 to display the detected temperature and fan speed. LCD1602 the first line to achieve environmental temperature display. LCD1602 second line automatic control according to the button to adjust the display to the desired temperature the initial value and the fan speed; the manual control, display speed level and automatic adjustment of the speed, both contrast, allows users to more judicious switch for automatic or manual control.Key words: single chip microcomputer; automatic; manual; temperature control; fan目 录 摘 要IAbstractII目 录III引 言1第1章 整体方案设计21.1 系统整体设计21.2方案论证23334第2章 各单元模块的硬件设计62.1系统器件简介66682.2 各部分电路设计101010111213Manual与自动Automatic的切换14第3章 软件设计153.1 程序设置153.2 用Keil C51编写程序163.3 用Proteus进行仿真171718第4章 系统调试244.1 软件调试242424244.2 硬件调试252525254.3 系统功能262627结 论28参 考 文 献29附录A 电路总图30附录B 程序代码311 main.c312 18b20.c383 LCD1602.c41致谢46引 言在现代社会中,风扇被广泛的应用,发挥着举足轻重的作用,如夏天人们用的散热风扇、工业生产中大型机械中的散热风扇以及现在笔记本电脑上广泛使用的智能CPU风扇等。而随着温度控制技术的发展,为了降低风扇运转时的噪音以及节省能源等,温控风扇越来越受到重视并被广泛的应用。在现阶段,温控风扇的设计已经有了一定的成效,可以使风扇根据环境温度的变化进行自动无级调速,当温度升高到一定时能自动启动风扇,当温度降到一定时能自动停止风扇的转动,实现智能控制。随着单片机在各个领域的广泛应用,许多用单片机作控制的温度控制系统也应运而生,如基于单片机的温控风扇系统。它使风扇根据环境温度的变化实现自动启停,使风扇转速随着环境温度的变化而变化,实现了风扇的智能控制。它的设计为现代社会人们的生活以及生产带来了诸多便利,在提高人们的生活质量、生产效率的同时还能节省风扇运转所需的能量。本文设计了由宏晶科技生产的STC89C52作为控制器,采用DALLAS公司的温度传感器DS18B20作为温度采集元件,并通过二个三极管组成的达林顿驱动器驱动风扇电机的转动。同时使系统检测到得环境温度以及系统预设的温度动态的显示在LCD1602上。根据系统检测到的环境温度与系统预设温度的比较,实现风扇电机的自动启停以及转速的自动调节,另外添加了拓展,人性化控制:手动控制。第1章 整体方案设计1.1 系统整体设计本设计的整体思路是:利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机STC89C52进行处理,在LCD1602显示当前环境温度值以及风速值。同时采用PWM脉宽调制方式来改变直流风扇电机的转速。并通过两个按键手动改变转速值,一个提高转速,另一个降低转速值。系统结构框图如下:DS18B20LCD1602温度显示独立按键和拨码开关STC89C52直流电机PWM驱动电路复位晶振1.2方案论证本设计要实现风扇直流电机的温度控制,使风扇电机能根据环境温度的变化自动和手动启停及改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件。在本设计中,温度传感器的选择有以下两种方案:方案一:采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,由于热敏电阻会随温度变化而变化,进而产生输出电压变化的微弱电压变化信号,再经模数转换芯片ADC0809将微弱电压变化信号转化为数字信号输入单片机处理。方案二:采用数字式的集成温度传感器DS18B20作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理。对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不太敏感,在信号采集、放大以及转换的过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其自身电阻对温度的变化存在较大误差,虽然可以通过一定电路来修正,但这不仅将使电路变得更加复杂,而且在人体所处环境温度变化过程中难以检测到小的温度变化。故该方案不适合本系统。对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统。在本设计中采用STC89C52单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其I/O口输出控制信号。STC89C52单片机工作电压低,性能高,片内含8k字节的只读程序存储器ROM和512字节的随机数据存储器RAM,它兼容标准的MCS-51指令系统,单片价格也不贵,适合本设计系统。方案一:应用动态扫描的方式,采用LED共阴极数码管显示温度。方案二:采用LCD液晶显示屏显示温度。对于方案一,该方案成本很低,显示温度明确醒目,即使在黑暗空间也能清楚看见,功耗极低,同时温度显示程序的编写也相对简单,因而这种显示方式得到了广泛应用。但不足的地方是它采用动态扫描的显示方式,各个LED数码管是逐个点亮的,因此会产生闪烁,但由于人眼的视觉暂留时间为20MS,故当数码管扫描周期小于这个时间时人眼不会感觉到闪烁,因此只要描频率设置得当即可采用该方案。对于方案二,液晶显示屏具有显示字符优美,其不仅能显示数字还能显示字符甚至图形,这是LED数码管无法比拟的。本系统采用方案二。方案一:采用数模转换芯片DAC0832来控制,由单片机根据当前环境温度值输出相应数字量到DAC0832中,再由DAC0832产生相应模拟信号控制晶闸管的导通角,从而通过无级调速电路实现风扇电机转速的自动调节。方案二:采用单片机软件编程实现PWM(脉冲宽度调制)调速的方法。PWM是英文Pulse Width Modulation的缩写,它是按一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是矩形波PWM信号,在控制时需要调节PWM波得占空比。占空比是指高电平持续时间在一个周期时间内的百分比。在控制电机的转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大。用单片机I/O口输出PWM信号时,有如下三种方法:(1) 利用软件延时。当高电平延时时间到时,对I/O口电平取反,使其变成低电平,然后再延时一定时间;当低电平延时时间到时,再对该I/O口电平取反,如此循环即可得到PWM信号。(2) 利用定时器。控制方法与(1)相同,只是在该方法中利用单片机的定时器来定时进行高低电平的转变,而不是用软件延时。应用此方法时编程相对复杂。在本设计中应用了此方法。(3) 利用单片机自带的PWM控制器。在12系列单片机中自身带有PWM控制器,但本系统所用到得STC89系列单片机无此功能。对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是D/A转换芯片的价格较高,与其温控状态下无级调速功能相比性价比不高。 对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用PWM 用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,能够充分发挥单片机的功能,对于简单速度控制系统的实现提供了一种有效的途径。综合考虑选用方案二。第2章 各单元模块的硬件设计系统主要器件包括DS18B20温度传感器、AT89C52单片机、LCD1602、风扇直流电机、达林顿驱动。辅助元件包括电阻电容、晶振、电源、按键、拨码开关等。2.1系统器件简介DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片封装而成,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。适用于各种狭小空间设备数字测温和控制领域。DS18B20的主要特征:测量的结果直接以数字信号的形式输出,以“一线总线”方式串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;温度测量范围在-55+125之间,在-10+85时精度为0.5;可检测温度分辨率为912位,对应的可分辨温度分别为0.5,0.25,0.125和0.0625,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个DS18B20可以并联在唯一的三线上,实现组网多点测温的功能;工作电压范围宽,其范围在3.05.5V。DS18B20内部结构主要有四部分:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管脚有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。LCD1602液晶显示模块基本技术:(1)、主要功能 A、 40通道点阵LCD 驱动; B、 可选择当作行驱动或列驱动; C、 输入/输出信号:输出,能产生202个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6); D、 通过单片机控制将所测的频率信号读数显示出来 (2)引脚和指令功能表2.1 模块引脚功能表符 号 名 称 功 能 1Vss接地 0V2VDD电路电源 5V10%3VEE液晶驱动电压 保证VDD-VEE=4.55V电压差 4RS寄存器选择信号 H:数据寄存器 L:指令寄存器 5R/W读/写信号 H:读 L:写 6E片选信号 下降沿触发,锁存数据 7-14DB0-DB7数据线 数据传输 表2.2 寄存器选择功能表:RS R/W操 作 00指令寄存器(IR)写入 01忙标志和地址计数器读出 10数据寄存器(DR)写入 11数据寄存器读出 (注:忙标志为1时,表明正在进行内部操作,此时不能输入指令或数据,要等内部操作结束,即忙标志为0时。) (3) 指令功能 格式:RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0共11种指令:清除,返回,输入方式设置,显示开关,控制,移位,功能设置,CGRAM地址设 置,DDRAM地址设置,读忙标志,写数据到CG/DDRAM,读数据由CG/DDRAM。 (4)初始化方法 用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,下面介绍两种初始化方法;利用内部复位电路进行初始化 下面指令是在初始化过程中执行的。 清屏(DISPLAY CLEAR);功能设置(FUNCTION SET);DL = 1: 8Bit 接口数据; 显示开/关控制(DISPLAY ON/OFF CONTROL)D = 0: 显示关; C = 0: 光标关; B = 0: 消隐关 输入方式设置(ENTRY MODE SET )I/D = 1:(增量): S = 0: 无移位:2单片机简介STC89C52是51系列单片机的一个型号,它是由宏晶公司生产的一个低电压、高性能的8位单片机,片内器件采用宏晶公司的非易失性、高密度存储技术生产,与标准的MCS-51指令系统兼容,同时片内置有通用8位中央处理器和8k 字节的可反复擦写的只读程序存储器ROM以及512 字节的数据存储器RAM,在许多许多较复杂的控制系统中STC89C52单片机得到了广泛的应用。STC89C52有40个引脚,各引脚介绍如下:VCC:+5V电源线;GND:接地线。P0口:P0.7P0.0,这组引脚共8条,其中P0.7为最高位,P0.0为最低位。这8条引脚共有两种不同的功能,分别使用于两种不同的情况。第一种情况是单片机不带片外存储器,P0口可以作为通用I/O口使用,P0.7P0.0用于传送CPU的输入/输出数据,此时它需外接一上拉电阻才能正常工作。第二种情况是单片机带片外存储器,其各引脚在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。P1口:P1口是一个内部含上拉电阻的8位双向I/O口。它也可作为通用的I/O口使用,与P0口一样用于传送用户的输入输出数据,所不同的是它片内含上拉电阻而P0口没有,故P0口在做该用途时需外接上拉电阻而P1口则无需。在FLASH编程和校验时,P1口用于输入片内EPROM的低8位地址。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,它可以作为通用I/O口使用,传送用户的输入/输出数据,同时可与P0口的第二功能配合,用于输出片外存储器的高8位地址,共同选中片外存储单元,但此时不能传送存储器的读写数据。在一些型号的单片机中,P2口还可以配合P1口传送片内EPROM的12位地址中的高4位地址。P3口:P3口引脚是8个带内部上拉电阻的双向I/O口,当P3口写入1后,它们被内部上拉为高电平。它也可作为通用的I/O口使用,传送用户的输入输出数据,P3口也作为一些特殊功能端口使用,如下所示:P3.0:RXD(串行数据接收口) P3.2:(外部中断0输入)P3.3:(外部中断1输入)P3.4:T0(记数器0计数输入)P3.5:T1(记时器1外部输入)P3.6:(外部RAM写选通信号)P3.7:(外部RAM读选通信号) RST:复位输入。当振荡器复位器件时, 要保持RST脚两个机器周期的高电平状态。 ALE/:地址锁存允许/编程线,当访问片外存储器时,在P0.7P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,单片机自动在ALE/线上输出频率为1/6晶振频率的脉冲序列。:外部程序存储器ROM的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。/VPP:允许访问片外存储器/编程电源线,当保持低电平时,则在此期间允许使用片外程序存储器,不管是否有内部程序存储器。当端保持高电平时,则允许使用片内程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路。2.2 各部分电路设计在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。单片机上的XTAL1和XTAL2用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路。本设计中开关复位与晶振电路如下图所示,当按下按键开关S1时,系统复位一次。其中电容C1、C2为20pF,C3为10uF,电阻R2、R3为10k,晶振为11.0592MHz。本设计制作中选用LCD1602作为显示模块,它和单片机硬件的接口如图所示。其中LCD1602使能端接法:/*- LCD数据、控制口定义-*/#define LCD_DATA P2 /LCD的数据口sbit LCD_BUSY = P27; /LCD忙信号位sbit LCD_RS = P11 ; /LCD寄存器选择sbit LCD_RW = P12 ; /LCD读写控制sbit LCD_EN = P13 ; /LCD使能信号*/DS18B20数字温度传感器通过其内部计数时钟周期来的作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先置有与-55相对应的一个基权值。如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55,被预置在-55的温度寄存器中的值就增加1,然后这个过程不断重复,直到高温度系数振荡周期结束为止。此时温度寄存器中的值即为被测温度值,这个值以16位二进制形式存放在存储器中,通过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。由于温度振荡器的抛物线特性的影响,其内用斜率累加器进行补偿。本设计中由单片机的I/O口输出PWM脉冲,通过一个达林顿管驱动12V直流无刷风扇电机以及实现风扇电机速度的调节。键盘控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P1.4口输出与转速相应的PWM脉冲,经二个9013三极管组成的达林顿管驱动风扇直流电机控制电路,实现电机转速与启停的自动控制。当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。系统选用的风扇电机为12V直流无刷电机,单达林顿驱动器输入TTL信号为5V,输出的最大电压为12V,最大电流为300mA,工作温度范围为070。本系统中单片机I/O口输出的TTL信号为5V,因此此风扇电机可以用由二个9013三极管组成的达林顿管来驱动。Manual与自动Automatic的切换在实现了本次论文设计的要求外,本次设计增做了一个拓展功能,为了实现个性化调节,为主人人性化的增作了一个手动控制,同时设有手动与自动切换开关,接单片机控制芯片的P3.5,当此开关闭合为自动,同时LCD1602显示为a,当此开关断开为手动,此时LCD11602显示为m。手动Manual与自动Automatic的切换第3章 软件设计3.1 程序设置程序设计部分主要包括主程序、DS18B20初始化函数、DS18B20温度转换函数、温度读取函数、键盘扫描函数、数码管显示函数、温度处理函数以及风扇电机控制函数。DS18B20初始化函数完成对DS18B20的初始化;DS18B20温度转换函数完成对环境温度的实时采集;温度读取函数完成主机对温度传感器数据的读取及数据换算,键盘扫描函数则根据需要完成初值的加减设定;温度处理函数对采集到的温度进行分析处理,为电机转速的变化提供条件;风扇电机控制函数则根据温度的数值完成对电机转速及启停的控制。调用LCD1602显示函数主程序开始程序初始化调用键盘扫描函数调用DS18B20初始化函数调用温度处理函数调用DS18B20温度转换函数调用风扇电机控制函数结束 调用温度读取函数3.2 用Keil C51编写程序Keil C51是美国Keil Software公司开发的51系列兼容单片机C语言的软件开发系统,与单片机汇编语言相比,C语言在不仅语句简单灵活,而且编写的函数模块可移植性强,因而易学易用,效率高。随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前使用较多的MCS-51系列单片机开发的软件。Keil C51软件不仅提供了丰富的库函数,而且它强大的集成开发调试工具为程序编辑调试带来便利,在开发大型软件时更能体现高级语言的优势。在使用时要先建立一个工程,然后添加文件并编写程序,编写好后再编辑调试。3.3 用Proteus进行仿真Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。Proteus软件有十多年的历史,在全球广泛使用,它不仅和其它EDA工具一样有原理布图、PCB自动或人工布线及电路仿真的功能,而且更重要的功能是,他的电路仿真是互动的,可以根据仿真实时观察到的现象验证设计的正确性及准确性并及时改变程序代码、原理图连接以及元件属性等。它还能配合系统配置的虚拟仪器来显示和输出,如示波器、逻辑分析仪等,效果很好。Proteus有4个功能模块:智能原理图设计、完善的电路仿真功能、独特的单片机协同仿真功能以及实用的PCB设计平台。其内部元件库含有丰富的元件,支持总线结构以及智能化的连线功能;支持主流CPU(如ARM、8051/52、AVR)及其通用外设模型的实时仿真等,为单片机的开发应用等带来极大的便利。软件使用的主界面如图首先启动Proteus软件并建立一工程,然后根据原理图调出相应的原件,再根据要求改变各原件的属性并把各个原件按原理图连接起来。在原理图绘制连接好后再把编译好的程序加载到其中。最后根据系统要实现的功能分步进行仿真。一 自动模式:运行仿真,首先进入系统欢迎界面,第一幅画面,首行显示Graduationdesign第二行显示 JJU A0821 27# ,P3.5接的拨码开关处于低电平,接着第二幅画面首行显示 202112designedby,第二行显示 Yang Yong Qiang如图: 第三幅画面:第一行显示Rights Reserved!第二行显示 starting. 一 自动模式:在自动模式中进入温度读取显示画面:第一行显示温度Tempture is 16,第二行显示init13 speed is 07 a。Tempture表示温度;init表示自动控制温度初始化,13为初始设置温度为13就是到了13左右才开始转动,speed表示风扇速度等级,a表示此状态为自动,对应英文Automatic。接P35的拨码按键为自动与手动控制切换的开关,当其断开时,P35就检测到高电平,风扇为手动控制状态,相应位置显示小写字母m,对应英文Manual。这时DS18B20的预设温度为16,LCD1602相应位置显示16,对应风扇的转速等级为07,P3.5检测低电平,自动a符合,PWM输出脉宽如下图图设置DS18B20使其温度上升为20,此时风扇速度显示为11,PWM输出脉宽相对16时明显增加,如下图图设置温度继续升高为30时,此时风扇速度显示为21,脉宽明显继续增加如下图图二 手动模式:当完成了此次毕业设计题目的要求后,我添加了额外的手动控制,手动控制由连接在P3.5接口的拨码开关选择,然后按复位按键重启,手动控制开始。手动控制开始后,按连接在P3.6端口的加按键,PWM波形输出占空比增加,风扇速度增加;按连接在P3.7端口的减按键,PWM波形输出占空比减少,风扇速度减小。按加按键,输出占空比增大,风扇速度增大,如下图按减按键,输出占空比减少,风扇速度减少,如下图第4章 系统调试4.1 软件调试起初根据设计编写的系统程序:程序的键盘接口采用P3口,LCD1602显示采用P2口送入数据,从而实现键盘功能及LCD1602的显示。经过编译没有出错,但在仿真调试时,LCD1602显示的只是乱码,没有正确的显示温度,按键功能也不灵,当按下键时,显示并不变化。经过查找分析,发现键盘扫描程序没有没有按键消抖部分,按键在按下与松手时,都会有一定程度的抖动,从而可能使单片机做出错误的判断,导致按键条件预设温度时失灵,甚至根本不能工作。因此必须在按键扫描程序中加入消抖部分,即在按键按下与松手时加入延时判断,以检测键盘是否真的按下或已完全松手。LCD1602不能正确显示主要是DSB18B20读取温度需要严格的时间控制,且耗时较长,导致其它的程序运行时短时间内妨碍了温度的读取。由于数字式集成温度传感器DS18B20的高度集成化,为软件的设计和调试带来了极大的简便,小体积、低功耗、高精度为控制电机的精度和稳定提供了可能。软件设计采用P1.4口为数字温度输入口,但是需要对输入的数字信号进行处理后才能显示,从而多了温度转换程序。通过软件设计,实现了对环境温度的连续检测。在本设计中,采用了达林顿驱动器驱动直流电机。软件设置了P1.4口输出不同的PWM波形,通过达林顿驱动直流电机转动,通过软件中程序设定,根据不同温度输出不同的PWM波,从而得到不同的占空比控制风扇直流电机。程序实现了P1.4口的PWM波形输出,当外界温度低于设置温度时,电机不转动或自动停止转动;当外界温度高于设置温度时,电机的转速升高或是自动开始转动,且外界温度与设置温度的差值越大,电机转速越高,即占空比增加。在本系统中风扇电机的转速可实现四级调速。通过温度传感器检测的温度与系统预设温度值的比较,实现转速变换。当检测到的温度比预设的温度每增加1摄氏度时,风扇电机转速增加一级。4.2 硬件调试 系统按键部分实现了以下功能:自动控制时,按下P3.7接口按键,LCD1602设置温度初始值增一;按下P3.6接口按键,LCD1602设置温度初始值减一。手动控制时,按下P3.7接口按键,转速加一,按下P3.6接口按键,转速减一。调试过程中出现了当按键时间过长时,设置的温度值不是增一或者减一,而是增加后减少几个值,出现这种情况的主要元因可能是按键的去抖动延时时间过长造成,改进方法为将对应的按键去抖动延时时间适量增加,但也不应过长,否则将出现按键无效的情形。系统显示部分实现了以下功能:LCD1602第一行实现了环境温度显示,LCD1602第二行自动控制时能根据按键的调整显示所需要的温度初始值和风扇转速。手动控制时,显示转速级别和自动调整的转速,两者形成对比,让用户更明智地切换为自动控制还是手动控制,且LCD1602的显示效果很好,很稳定。将DS18B20芯片接在系统板对应的P1.0口,通过插针在对应系统板的右下侧三口即为对应的VCC、P1.0和GND,可将芯片直接插在该插针上,因此即为方便。系统调试中为验证DS18B20是否能在系统板上工作,将手心靠拢或者捏住芯片,即可发现LED显示的前两位温度也迅速升高,验证了DS18B20能在系统板上工作。由于DS18B20为3个引脚,因此在调试过程中因注意其各个引脚的对应位置,以免将其接反而是芯片不能工作甚至烧毁芯片。系统本部分的设计中重在软件设计,因为外围的驱动电路只是将送来的PWM信号放大从而驱动电机转动。系统软件设置在P1.0口输出使电机转动的PWM占空比,当环境温度高于设置温度时,电机开始转动,若此时用高于环境温度的热源靠近测温芯片DS18B20时,发现电机的转速在升高,并越来越快,当达到一定值时,发现电机的转速不再升高;将热源离开测温芯片DS18B20时,发现电机的转速开始下降,转速达到一定值时,若将设置温度升高到环境温度以上,发现电机又停止了转动。系统采用的直流电机为12V的额定电压,且得到了可观的控制效果。4.3 系统功能本系统能够实现单片机系统检测环境温度的变化,然后根据环境温度变化来控制风扇直流电机输入占空比的变化,从而自动产生不同的转动速度,亦可根据键盘调节不同的占空比来手动控制电机。两个自动控制和手动控制的切换要按复位键重启才有效,开机时LCD1602显示三幅欢迎界面:第一幅Graduationdesign JJU A0821 27# 第二幅202112designedby Yang Yong Qiang 第三幅Rights Reserved! Starting. ,然后进入读温度控制状态。一:自动控制当P3.5口接的拨码开关往下拨则为自动控制。当环境温度低于一定温度时,电机停止转动;单片机对应输出口输出PWM信号,控制电机开始转动,并随着环境温度的增加电机的转速逐渐升高。随着环境温度的减少电机的转速逐渐减小。系统还能动态的显示当前温度和设置温度初始值,并能通过键盘调节当前的设置温度。LCD1602显示:第一行显示温度Tempture is 16,第二行显示init13 speed is 07 a。Tempture表示温度;init表示自动控制温度初始化,13为初始设置温度为13就是到了13左右才开始转动,speed表示风扇速度等级,a表示此状态为自动,对应英文Automatic。接P35的拨码按键为自动与手动控制切换的开关,当其断开时,P35就检测到高电平,风扇为手动控制状态,相应位置显示小写字母m,对应英文Manual。二:拓展部分 手动控制当P3.5口接的拨码开关往上拨则为手动控制。手动控制时,通过按P3.7口接的按键为加速,按P3.6口接的按键为减速。同时对应LCD1602对应显示风扇转速级别,和系统根据环境温度自动换算的所需要的转速。LCD1602显示:第一行显示温度Tempture is 16,第二行显示Gra00 wspeed is 07 m。Tempture表示温度;Gra00表示手动控制风扇转速等级为0时占空比为0,风扇不转, wspeed是该系统为自动控制时电机自动调节的转速级别,m表示此状态为手动,对应英文Manual。手动控制时,显示转速级别和自动调整的转速,两者形成对比,让用户更明智地切换为自动控制还是手动控制。 系统总体上由五部分来组成,既按键与复位电路、LCD1602显示电路、温度检测电路、电机驱动电路。首先考滤的是温度检测电路,该部分是整个系统的首要部分,首先要检测到环境温度,才能用单片机来判断温度的高低,然后通过单片机控制直流风扇电机的转速;其次是电机驱动电路,该部分需要使用外围电路将单片机输出的PWM信号转化为平均电压输出,根据不同的PWM波形得到不同的平均电压,从而控制电机的转速,电路的设计中采用了达林顿驱动器,实现较好的控制效果;再次是数码管的动态显示电路,该部分的功能实现对环境温度和设置温度的显示,其中DS18B20采集环境温度,按键实现不同设置温度的调整,实现了对环境温度和设置温度的及时连续显示。结 论本次设计的系统以单片机为控制核心,以温度传感器DS18B20检测环境温度,实现了根据环境温度变化调节不同的风扇电机转速,在一定范围能能实现转速的连续调节,LCD1602能连续稳定的显示环境温度和转速,能按自动和手动两种模式通过两个独立按键手动调节不同的占空比,进而改变电机转速。实现了基于单片机的温控风扇的设计。本系统设计可推广到各种电动机的控制系统中,实现电动机的转速调节。在生产生活中,本系统可用于简单的日常风扇的智能控制,为生活带来便利;在工业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷达到不同的电压信号,再由电压信号调节不同的发电机转速,进而调节发电量,实现电力系统的自动化调节。综上所述,该系统的设计和研究在社会生产和生活中具有重要地位。参 考 文 献1 李学龙.使用单片机控制的智能遥控电风扇控制器J.电子电路制作,2021,9:1315.2 蓝厚荣.单片机的PWM控制技术J.工业控制计算机.2021,23(3):979834477.5 胡全. 51单片机的数码管动态显示技术J .信息技术,2022,13:25266 李钢,赵彦峰.1-Wire总线数字温度传感器DSI8B20原理及应用J.现代电子技术,2021,28(21):7779.7 马云峰.单片机与数字温度传感器DS18B20的接口设计J.计算机测量与控制,2022,10(4):278280.8 王会明,侯加林.智能电风扇控制器的研制J.电子与自动化,1998,5(4):2526.65.10 孙号. Proteus软件在设计电子电路中的应用J.仪表技术,2022,8:747511 楼俊军.基于Proteus和Keil的单片机演奏乐曲的实现J .科技信息,2021,23:第50页12 王文海,周欢喜.用Proteus实现51单片机的动态仿真调试J.IT技术,2021,20:101113 丁建军,陈定方,周国柱. 基于AT89C51的智能电风扇控制系统J.湖北工学院学报,2021,18(2):6063.14 王会明,侯加林. 智能电风扇控制器的研制J. 电子与自动化,1998,5(4):2526.15 刘进山. 基于MCS-51电风扇智能调速器的设计J. 广州:电子质量,2021,10(10):71.16 YU Qihao,CHENG Guodong,NIU Fujun. The application of auto-temperature-controlled ventilation embankment in Qinghai-Tibet Railway J. Science in China SerD Earth Sciences,2021,1(47):168176.17 YLai,Y,Wang. Threedimensional nonlinear analysis for temperature characteristic of ventilated embankment in permafrost regions J. Cold Regions Science and Technology,2021,38(2):165184.18 Cheng Guodong. Linearity engineering in permafrost areas J. Journal of Glaciology and Geocryology(in Chinese),2021,23(3):213217.附录A 电路总图附图1 电路总图附录B 程序代码1 main.c#include reg51.h#include hardware.h#include 18b20.h#include intrins.h#include lcd1602.hsbit P1_0=P14;sbit P1_1=P36;sbit P1_2=P37;sbit P1_3=P35;unsigned char PWMH;/高电平脉冲的个数unsigned char PWM;/PWM周期unsigned char COUNTER;unsigned char A=13;unsigned char W=0;unsigned char Tempture,count,canshu;void K1CHECK();void K2CHECK();void Delay1ms(unsigned char Delay1msDate);void Delay1s(unsigned char Delay1sDate);void INTTO() interrupt 1 COUNTER+;/计数值加1if(COUNTER!=PWMH)&(COUNTER=PWM)/如果等于高电平脉冲数COUNTER=1;/计数器复位P1_0=1;/P1.0为高电平else if(COUNTER=PWMH)P1_0=0;/P1.0变为低电平main()PWMH=0x02;COUNTER=0x01;PWM=0x15;TMOD=0x02;/定时器0在模式2下工作TL0=0x38;/定时器每200us产生一次溢出TH0=0x38;/自动重装的值ET0=1;/使能定时器0中断EA=1;/使能总中断TR0=1;/开始计时LCD_initial( );LCD_cls();LCD_set_position(0x00);LCD_prints(Graduationdesign);LCD_set_position(0x40);LCD_prints( JJU A0821 27# );Delay1s(10); LCD_cls();LCD_set_position(0x00);LCD_prints(202112designedby);LCD_set_position(0x40);LCD_printc(30);LCD_prints(Yang Yong Qiang);Delay1s(10); LCD_cls();LCD_set_position(0x00);LCD_prints(Rights Reserved!);LCD_set_position(0x40);LCD_prints( starting.);Delay1s(10);while(1) while(ResetPluse(); /复位并检测1820成功与否。 WriteCommandtoDS18b20(0xcc);/跳过序列号 Delay1ms(2); /延时2ms,准备发送下一个指令 WriteCommandtoDS18b20(0x44); /温度转换命令 Delay1ms(250);Delay1ms(250);Delay1ms(250);Delay1ms(250);/等待1s钟,让1820有时间转换温度 while(ResetPluse(); /再次复位Delay1ms(2); WriteCommandtoDS18b20(0xcc);/跳过序列号 Delay1ms(2); /延时2ms,准备读取温度 WriteCommandtoDS18b20(0xBE); /读取温度命令 Delay1ms(2); Tempture=TemptureReadAndConvert(); /读取并转换温度 if(P1_3=0) /LCD_cls(); LCD_set_position(0x00); LCD_prints(Tempture is ); LCD_printc(Tempture/10) +48); LCD_printc(Tempture%10 )+48); LCD_prints();LCD_set_position(0x40);LCD_prints(init);LCD_printc(A/10+48 );LCD_printc(A%10+48 );LCD_prints( speed);LCD_printc(Tempture-10)+1)/10+48 ); LCD_printc(Tempture-10)+1)%10 )+48); LCD_prints( a); PWMH=(Tempture-A); if(P1_2=0) /P37A+;/扫描KEY1,if(P1_1=0) /P36A-;/扫描KEY2,如果按下KEY2,跳转到KEY2处理程序 if(P1_3=1) LCD_cls(); LCD_set_position(0x00); LCD_prints(Tempture is ); LCD_printc(Tempture/10) +48); LCD_printc(Tempture%10 )+48); LCD_prints();LCD_set_position(0x40);LCD_prints(Gra);LCD_printc(W/10+48 );LCD_printc(W%10+48 );LCD_prints( wspeed);LCD_printc(Tempture-10)+1)/10+48 ); LCD_printc(Tempture-10)+1)%10 )+48);/LCD_set_position(0x55);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 标准规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!