电脑机箱温度控制系统设计.docx
《电脑机箱温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《电脑机箱温度控制系统设计.docx(26页珍藏版)》请在冰豆网上搜索。
电脑机箱温度控制系统设计
计算机控制技术
课程设计
课程设计名称:
电脑机箱温度控制系统设计
专业班级:
学生姓名:
学号:
指导教师:
课程设计地点:
课程设计时间:
计算机控制技术课程设计任务书
学生姓名
专业班级学号
题目
电脑机箱温度控制系统设计
课题性质
工程设计课题来源自拟
指导教师
王黎
主要内容
(参数)
利用单片机AT89C52设计电脑机箱温度控制系统,实现以下功能:
1显示当前电脑机箱温度值以及预设温度值;
2•并通过两个按键可以改变预设温度;
3•根据当前机箱温度以及预设温度改变机箱内直流风扇电机的转速;
任务要求
(进度)
第1天:
熟悉课程设计任务及要求,查阅技术资料,确定设计方案。
第2天:
按照确定的方案设计单元电路。
要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。
第3天:
软件设计,编写程序。
第4-5天:
撰写课程设计报告。
要求内容完整、图表清晰、语言流畅、格式规范、方案合理、设计正确。
主要参考
资料
[1]蓝厚荣.单片机的PWM控制技术[J].工业控制计算机.2010,23(3):
97—98
[2]胡汉才.单片机原理及其接口技术[M](第2版).北京:
清华大学出版社.2004.49—77.
[3]胡全.51单片机的数码管动态显示技术[J].信息技术,2009,13:
25-26
[4]马云峰.单片机与数字温度传感器DS18B20的接口设计[J].计算机测量与控制,2007,10⑷:
278—280.
审查意见
系(教研室)主任签字:
年月日
1引言4.
2总体方案设计.4.
2.1硬件组成4.
2.2方案论证5.
2.3总体方案6.
3硬件电路设计Z.
3.1DS18B20数字温度传感器7
3.2达林顿反向驱动器ULN28038
3.3AT89C52单片机8.
3.4LED数码管10
3.5各部分电路设计1.1
4系统软件设计16
4.1主程序设计17
4.2中断服务程序设计17
4.3部分主要子程序的设计18
5总结18
参考文献19
附录1电路总图20
踵加r齒)疽衣厚
i引言
在现代社会中,工业生产中大型机械中的散热风扇以及现在笔记本电脑上广泛使用的智能CPU风扇等被广泛的应用。
而随着温度控制技术的发展,为了降低风扇运转时的噪音以及节省能源等,温控风扇越来越受到重视并被广泛的应用。
在现阶段,温控风扇的设计已经有了一定的成效,可以使风扇根据环境温度
的变化进行自动无级调速,当温度升高到一定时能自动启动风扇,当温度降到一定时能自动停止风扇的转动,实现智能控制。
随着单片机在各个领域的广泛应用,许多用单片机作控制的温度控制系统也应运而生,如基于单片机的温控风扇系统。
它使风扇根据环境温度的变化实现自动启停,使风扇转速随着环境温度的变化而变化,实现了风扇的智能控制。
本文设计了由ATMEL公司的8052系列单片机AT89C52作为控制器,采用DALLAS公司的温度传感器DS18B20作为温度采集元件,并通过一个达林顿反向驱动器ULN2803驱动风扇电机的转动。
同时使系统检测到得电脑机箱温度以及系统预设的温度动态的显示在LED数码管上。
根据系统检测到得机箱温度与系统预设温度的比较,实现机箱内风扇电机的自动启停以及转速的自动调节。
2总体方案设计
2.1硬件组成
本设计要实现风扇直流电机的温度控制,使风扇电机能根据环境温度的变化自动启停及改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件,控制系统的硬件应包括以下几部分:
(1)温度传感器。
利用温度传感器检测环境温度,并直接输出数字温度信号给单片机处理。
(2)控制器。
进行温度检测和判断,并在其I/O口输出控制信号。
(3)温度显示器件。
显示当前环境温度值以及预设温度值。
硬件方框图如图2.1所示
图2.1硬件方框图
2.2方案论证
(1)温度传感器
在本设计中,温度传感器的选择有以下两种方案:
方案一:
采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,由于热敏电阻会随温度变化而变化,进而产生输出电压变化的微弱电压变化信号,再经模数转换芯片ADC0809将微弱电压变化信号转化为数字信号输入单片机处理。
方案二:
采用数字式的集成温度传感器DS18B20作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理。
对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不太敏感,在信号采集、放大以及转换的过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其自身电阻对温度的变化存在较大误差,虽然可以通过一定电路来修正,但这不仅将使电路变得更加复杂,而且在人体所处环境温度变化过程中难以检测到小的温度变化。
故该方案不适合本系统。
对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。
温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统。
(2)控制器
在本设计中采用AT89C52单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其I/O口输出控制信号。
AT89C52单片机工作电压低,性能高,片内含8k字节的只读程序存储器ROM和256字节的随机数据存储器RAM,它兼容标准的MCS-51指令系统,单片价格也不贵,适合本设计系统。
(3)温度显示器件
方案一:
应用动态扫描的方式,采用LED共阴极数码管显示温度。
方案二:
采用LCD液晶显示屏显示温度。
对于方案一,该方案成本很低,显示温度明确醒目,即使在黑暗空间也能清楚看见,功耗极低,同时温度显示程序的编写也相对简单,因而这种显示方式得
到了广泛应用。
但不足的地方是它采用动态扫描的显示方式,各个LED数码管
是逐个点亮的,因此会产生闪烁,但由于人眼的视觉暂留时间为20MS,故当数
码管扫描周期小于这个时间时人眼不会感觉到闪烁,因此只要描频率设置得当即
可米用该方案。
对于方案二,液晶显示屏具有显示字符优美,其不仅能显示数字还能显示字符甚至图形,这是LED数码管无法比拟的。
但是液晶显示模块的元件价格昂贵,显示驱动程序的编写也较复杂,从简单实用的原则考虑,本系统采用方案一。
2.3总体方案
本设计的整体思路是:
利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行处理,在LED数码管上显示当前环境温度值以及预设温度值。
其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。
同时采用PWM脉宽调制方式来改变直流风扇电机的转速。
并通过两个按键改变预设温度值,一个提高预设温度,另一个降低预设温度值。
系统结构框图如下:
图2.2总体方案框图
3硬件电路设计
系统主要器件包括DS18B20温度传感器、AT89C52单片机、五位LED共阴数码管、风扇直流电机、达林顿反向驱动器ULN2803。
辅助元件包括电阻电容、晶振、电源、按键、拨码开关等。
3.1DS18B20数字温度传感器
DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片封装而成,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。
适用于各种狭小空间设备数字测温和控制领域。
DS18B20的主要特征:
测量的结果直接以数字信号的形式输出,以“一线总线”方式串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;温度测量范围在-55C~+125C之间,在-10C~+85C时精度为土05C;可检测温度分辨率为9~12位,对应的可分辨温度分别为0.5C,0.25C,0.125C和0.0625C,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个
DS18B20可以并联在唯一的三线上,实现组网多点测温的功能;工作电压范围
宽,其范围在3.0~5.5V。
DS18B20内部结构主要有四部分:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
其管脚有三个,其中DQ为数字信号端,
GND为电源地,VDD为电源输入端。
3.2达林顿反向驱动器ULN2803
本系统要用单片机控制风扇直流电机,需要加驱动电路,为直流电机提供足够大的驱动电流。
在本系统驱动电路中,选用达林顿反向驱动器ULN2803来驱
动风扇直流电机。
ULN2803在使用时接口简单,操作方便,可为电机提供较大的驱动电流,它实际上是一个集成芯片,单块芯片可同时驱动8个电机。
每个电机由单片机的一个I/O口控制,单片机I/O口输出的为5V的TTL信号。
ULN2803由8个NPN达林顿晶体管组装而成,共18个引脚,引脚1~8分别是8路驱动器的输入端,输入信号可直接是TTL或CMOS信号;引脚11~18分别是8路驱动器的输出端;引脚9为接地线,引脚10为电源输入。
当输入TTL信号为5V或CMOS信号为6~15V时,输出的最大电压为50V,最大电流为500mA,工作温度范围为0~70C。
本系统选用的电机为12V直流无刷电机,可用ULN2803来驱动。
3.3AT89C52单片机
AT89C52是51系列单片机的一个型号,它是由ATMEL公司生产的一
个低电压、高性能的8位单片机,片内器件采用ATMEL公司的非易失性、高密度存储技术生产,与标准的MCS-51指令系统兼容,同时片内置有通用8位中央处理器和8k字节的可反复擦写的只读程序存储器ROM以及256字节的数据存储器RAM,在许多许多较复杂的控制系统中AT89C52单片机得到了广泛的应用。
AT89C52有40个引脚,各引脚介绍如下:
VCC:
+5V电源线;GND:
接地线。
P0口:
P0.7~P0.0,这组引脚共8条,其中P0.7为最高位,P0.0为最低位。
这8条引脚共有两种不同的功能,分别使用于两种不同的情况。
第一种情况是单片机不带片外存储器,P0口可以作为通用I/O口使用,P0.7~P0.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口使用,传送用户的输入输出
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平状态。
ALE/PROG:
地址锁存允许/编程线,当访问片外存储器时,在P0.7~P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存
器,以便空出P0.7~P0.0引脚线去传送随后而来的片外存储器读写数据。
在不访问片外存储器时,单片机自动在ALE/PROG线上输出频率为1/6晶振频率的脉冲序列。
PSEN:
外部程序存储器ROM的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA/VPP:
允许访问片外存储器/编程电源线,当EA保持低电平时,则在此
期间允许使用片外程序存储器,不管是否有内部程序存储器。
当EA端保持高电
平时,则允许使用片内程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1和XTAL2:
片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路。
3.4LED数码管
本系统选用五个LED数码管来进行温度显示。
LED又称为数码管,它主要是由8段发光二极管组成的不同组合,其中a~g为数字和字符显示段,dp为小数点的显示,通过a~g这7个发光二极管点亮的不同组合,可以显示0〜9和A〜F共16个数字和字母。
LED数码管可以分为共阴极和共阳极两种结构,如下图2.1.2(a)和图2.1.2(b)所示。
共阴极结构把8个发光二极管阴极连在一起,共阳极结构把8个发光二极管阳极连在一起。
通过单片机引脚输出高低电平,可使数码管显示相应的数字或字母,这种使数码管显示字形的数据称字形码,又称段选码。
表3.17段LED的段选码表
显示字符
共阴极段码
共阳极段码
显示字符
共阴极段码
共阳极段码
0
3fH
C0H
8
7fH
80H
1
06H
F9H
9
6fH
90H
2
5bH
A4H
A
77H
88H
3
4fH
B0H
B
7fH
83H
4
66H
99H
C
39H
C6H
5
6dH
92H
D
3fH
A1H
6
7dH
82H
E
79H
86H
7
07H
F8H
F
71H
8EH
一个共阴极数码管接至单片机的电路,要想显示数字“7”须a、b、c这3
个显示段发光(即这3个字段为高电平)只要在P0口输入00000111(07H)即
可。
这里07H即为数字7的段选码。
字形与段选码的关系见表3.1所示。
3.5各部分电路设计
3.5.1开关复位与晶振电路
在单片机应用系统中,除单片机本身需要复位以外,外部扩展I/O接口电路
也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。
单片
机上的XTAL1和XTAL2用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路。
本设计中开关复位与晶振电路如下图所示,当按下按键开关S1时,系统复位一次。
其中电容C1、C2为20pF,C3为10uF,电阻R2、R3为10k,晶振为11.0592MHz。
图3.3系统复位与晶振电路
3.5.2独立键盘连接电路
键盘包括2个独立按键S2和S3,—端与单片机的P1.3和P1.4口相连,另一端接地,当按下任一键时,P1口读取低电平有效。
系统上电后,进入键盘扫描子程序,以查询的方式确定各按键,完成温度初值的设定。
其中按键S1为加
按键,每按下一次,系统对最初设定值加一,按键S2为减按键,每按下一次,
系统对初设定值进行减一计算。
其接线图如下:
3.5.3数码管显示电路
本设计制作中选用5位共阴极数码管作为显示模块,它和单片机硬件的接口
如图2.2.3所示。
其中前3位数码管DS1、DS2、DS3用于显示温度传感器实时检测采集到的温度,可精确到0.1摄氏度,显示范围为0~99.9摄氏度;后2位数码管DS4、DS5用于显示系统设置的初值温度,只能显示整数的温度值,显示范围为0~99摄氏度。
5位数码管的段选ab、c、d、e、f、g、dp线分别与单片机的P0.0~P0.7口连接,其中P0口需接一10K的上拉电阻,以使单片机的P0口能够输出高低电平。
5位数码管的位选W1~W5分别与单片机的P2.0~P2.4口相连接,只要P2.0~P2.4中任一位中输出低电平,则选中与该位相连的数码管。
图3.5数码管显示电路
3.5.4温度采集电路
DS18B20数字温度传感器通过其内部计数时钟周期来的作用,实现了特有的温度测量功能。
低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先置有与-55C相对应的一个基权值。
如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55C,
被预置在-55E的温度寄存器中的值就增加1C,然后这个过程不断重复,直到高温度系数振荡周期结束为止。
此时温度寄存器中的值即为被测温度值,这个值以
16位二进制形式存放在存储器中,通过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。
由于温度振荡器的抛物线特性的影响,其内用斜率累加器进行补偿。
DS18B20在使用时,一般都采用单片机来实现数据采集。
只须将DS18B20信号线与单片机1位I/O线相连,且单片机的1位I/O
计算机控制技术课程设计
线可挂接多个DS18B20,就可实现单点或多点温度检测。
在本设计中将DS18B20
3.5.5风扇电机调速与驱动电路
本设计中由单片机的I/O口输出PWM脉冲,通过一个达林顿反向驱动器ULN2803驱动12V直流无刷风扇电机以及实现风扇电机速度的调节。
键盘控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过
P1.7口输出与转速相应的PWM脉冲,经过ULN2803驱动风扇直流电机控制电路,实现电机转速与启停的自动控制。
当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。
电路如图2.2.5所示,风扇电机的一端接12V电源,另一端接ULN2803的
OUT7引脚,ULN2803的IN7引脚与单片机的P3.1引脚相连,通过控制单片机的P3.1引脚输出PWM信号,由此控制风扇直流电机的速度与启停。
图3.7风扇电机驱动与调速电
系统选用的风扇电机为12V直流无刷电机,单达林顿反向驱动器ULN2803输入TTL信号为5V或CMOS信号为6~15V时,输出的最大电压为50V,最大电流为500mA,工作温度范围为0~70C。
本系统中单片机I/O口输出的TTL信号为5V,因此此风扇电机可以用ULN2803来驱动。
4系统软件设计
系统软件分为主程序、中断服务程序和子程序三部分。
4.1主程序设计
主程序流程图如图4.1:
图4.1主程序流程图
4.2中断服务程序设计
中断服务程序流程图如图4.2:
图4.2中断服务程序流程图
4.3部分主要子程序的设计
系统主要子程序包括DS18B20初始化函数、DS18B20温度转换函数、温度读取函数、键盘扫描函数、数码管显示函数、温度处理函数以及风扇电机控制函数。
DS18B20初始化函数完成对DS18B20的初始化;DS18B20温度转换函数完成对环境温度的实时采集;温度读取函数完成主机对温度传感器数据的读取及数据换算,键盘扫描函数则根据需要完成初值的加减设定;温度处理函数对采集到的
温度进行分析出理,为电机转速的变化提供条件;风扇电机控制函数则根据温度的数值完成对电机转速及启停的控制。
5总结
通过此次课程设计,我对本门课程有了更深刻的了解和掌握,同时也增加了与专业相关的其它知识。
本次设计的系统以单片机为控制核心,以温度传感器
DS18B20检测环境温度,实现了根据环境温度变化调节不同的风扇电机转速,在一定范围能能实现转速的连续调节,LED数码管能连续稳定的显示环境温度和设置温度,并能通过两个独立按键调节不同的设置温度,从而改变环境温度与
设置温度的差值,进而改变电机转速。
实现了基于单片机的温控风扇的设计。
本系统设计可推广到各种电动机的控制系统中,实现电动机的转速调节。
在生产生活中,本系统可用于简单的日常风扇的智能控制,为生活带来便利;在工业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷达到不同的电压信号,再由电压信号调节不同的发电机转速,进而调节发电量,实现电力系统的自动化调节。
综上所述,该系统的设计和研究在社会生产和生活中具有重要地位。
参考文献
[1]李学龙.使用单片机控制的智能遥控电风扇控制器[J].电子电路制作,
2003,9:
13—15.
[2]蓝厚荣.单片机的PWM控制技术[J].工业控制计算机.2010,23(3):
97—98
[3]郭天祥.新概念51单片机C语言教程[M].北京:
电子工业出版
社.2009.342—344
[4]胡汉才.单片机原理及其接口技术[M](第2版)•北京:
清华大学出版社.2004.49—77.
[5]胡全.51单片机的数码管动态显示技术[J].信息技术,2009,13:
25—
26
[6]李钢,赵彦峰.1-Wire总线数字温度传感器DSI8B20原理及应用[J].现代电子技术,2005,28(21):
77—79.
[7]马云峰.单片机与数字温度传感器DS18B20勺接口设计[J].计算机测量
与控制,2007,10⑷:
278—280.
附录1:
电路总图
DS1
DS2
S2
VCC
2
1
J1
POWER
VCC
T
!
2
0K
g.7
dp8
R1
10K
gdp
DPY
DPY
-PB°'
S3
■SW-PB'
20P
10592M
C2
20P
R2
—S1
a
fg'b
ed;p
—b
r~3—
g*
dp8
a
fgb
edc
dp
DPY7-SEGDP
W1
31
DPY7-SEGD
W2
VCC
C3
SW-PB
10K
+
CAPACITORPOL
R3
10K
■P10/T
P00
P11/T
P01
P12
P02
卜P13
P03
P14
P04
P15
P05
P16
P06
P17
P07
INT1
P20
INT0
P21
P22
T1
P23
T0
P24
P25
_EA/vp
P26
P27
X1
X2
TXD
rd"
ALE/P"
WR
PSEN
U1
2
4
5
6
7
8
13
15
14
19
18
9
10
11
30
AT89C52
Ch—29
12*
——乜
39
a
38
b
3/
c
36
d
35
e
34
f