当前位置:文档之家› 风扇毕业论文

风扇毕业论文

基于51单片机的智能温控风扇

德州职业技术学院高职专业毕业论文

论文题目:基于51单片机的智能温控风扇

系部:电子与新能源技术工程系

专业:应用电子(太阳能光电方向)

姓名:史华岭

学号: 201202060117

指导教师:殷淑英田晓龙

二〇一四年十一月三日

德州职业技术学院毕业论文设计

摘要

本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统选用STC89C52单片机作为控制平台对风扇转速进行控制。可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。所设高低温值保存在温度传感器DS18B20内部E2ROM中,掉电后仍然能保存上次设定值,性能稳定,控制准确。

关键词:单片机温度传感器智能控制

Abstract

This design is a kind of temperature control fan system, has the sensitive temperature senor and display function ,system STC89C52 monolithic as control the fan speed...High and low temperature can be set by the users, the measured temperature value between high and low temperature open the fan when the windshield ,when temperature exceeds the set temperature automatically switch to the wind ,when the temperature is less than the set temperature automatically shut down the fan, control state varies with temperature. Set high and low temperature values stored in internal temperature sensor DS18B20 E2ROM, after power off can still be saved the set value, stable performance and accurate control.

Key words: Automatic control; single chip micromputer; temperature control

基于51单片机的智能温控风扇

目录

第一章引言 (1)

第二章整体方案的设计 (2)

2.1 系统整体的设计 (2)

2.2 方案论证 (2)

2.2.1 温度传感器的选择 (2)

2.2.2 控制核心的选择 (3)

2.2.3 温度显示器件的选择 (3)

2.2.4 调速方式的选择 (4)

第三章硬件设计 (5)

3.1 系统器件简介 (5)

3.1.1 DS18B20单线数字温度传感器简介 (5)

3.1.2 STC89C52单片机简介 (6)

3.1.3 LED数码管简介 (11)

3.2 电路设计 (12)

3.2.1 开关复位与晶振电路 (12)

3.2.2 独立按键连接电路 (13)

3.2.3 数码管显示电路 (14)

3.2.4温度采集电路 (15)

第四章软件设计 (17)

4.1程序设置 (17)

4.2用KeilC51编写程序 (18)

4.3用Proteus进行仿真 (18)

4.3.1 Proteus简介 (18)

4.3.2 本设计基于Proteus的仿真 (19)

第五章系统调试 (24)

5.1 软件调试 (24)

5.1.1 按键显示部分的调试 (24)

5.1.2 传感器DS18B20温度采集部分调试 (24)

第六章硬件系统 (25)

6.1 按键电路的调试 (25)

6.2 温度传感器电路的调试 (25)

6.3 电机电路的调试 (25)

6.4 硬件调试遇到的问题 (25)

第七章结论 (26)

参考文献 (27)

致谢 (28)

附录 (29)

附录1 PCB版图 (29)

附录2 原理图 (30)

附录3 程序代码 (31)

基于51单片机的智能温控风扇

第一章引言

电扇是人们日常生活中常用的降温工具,从开始的吊扇到现在的USB风扇

是无可取代。作为一种节能环保,并且廉价简单的降温工具,电扇还在很多人家发挥着自己独特的作用。顺应时代潮流,各种多功能的风扇逐渐在取代传统风扇。

单片机作为一种智能化程度高,控制精度高,操作简单,廉价易得,抗干扰能力强等特点,越来越多的应用于智能化产品之中。

市场上智能风扇产品相继问世,制作方法也多种多样,功能也逐渐完善,普遍都具有了手动变速和定时关闭等功能。相对而言,具备人性化,智能化的风扇还是很少,使用也并不广泛,而且在电子工艺高度发展的今天,智能化的步伐也越来越快。尤其是中国这个高速发展的国家,电扇的智能化也该向前迈进一个步伐。在中国市场上风扇还是有一定的市场份额的,几乎每个家庭都有风扇,具备价格便宜,摆放轻便,体积灵巧等特点,使得风扇在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,为提高风扇的市场竞争力,使之在技术含量上有所提高。满足智能化的要求,智能风扇很具竞争力。大学三年即将结束,为了检验自己的学习情况,我决定使用之前所学习到的硬件只是结合相关的软件基础来制作一个基于单片机的智能温控风扇。基于对人性化与智能化相结合的考虑,同时基于对价格的考虑,本设计决定制作一个基于52单片机的智能温控风扇。该风扇具有随温度自动调节风速的功能,并且在无人时可以自动关闭,而且可以根据每个人的不同情况来设定基准温度,从而实现了人性化与智能化的双重目标。

德州职业技术学院毕业论文设计

第二章整体方案的设计

2.1 系统整体的设计

本设计的整体思路是:利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机STC89C52进行处理,在LED数码管上显示当前环境温度值以及预设温度值。其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后一位。同时采用PWM脉冲宽度调制方式来改变直流风扇电机的转速。并通过两个按键改变预设温度的大小,一个提高预设温度,另一个降低预设温度。系统结构框图如图1。

图1系统结构框图

2.2 方案论证

本设计需要实现风扇直流电机的温度控制,使风扇电机能根据环境温度的变化自动启动和停止以及转速的自动调节,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件。

2.2.1 温度传感器的选择

在本设计中,温度传感器的选择有以下两种方案:

方案一:采用热敏电阻。热敏电阻的特性是阻值可以随温度的变化而变化,采用热敏电阻作为检测温度的核心部件,然后通过放大电路放大信号,进过AD0809数模转换将放大的微弱电压变化信号转化了数字信号输入单片机处

基于51单片机的智能温控风扇

理。

方案二:采用单总线数字温度计DS18B20。作为一款优秀的数字集成温度传感器,DS18B20可以直接检测并输出数字信号给单片机进行处理。

对于方案一,如果采用热敏电阻作为温度检测原件,则价格方面比较便宜,原件易得,但是热敏电阻的缺点显而易见,对于温度细微变化反应不敏感,而且在后续的转换和放大电路中还会造成失真和误差。并且热敏电阻的变化曲线非线性,每个热敏电阻都不同,还需要单独测试描绘出曲线,虽然可以通过软件来实现误差的修正,但是这回使得电路复杂性增加,并且在人体所在实际环境中难以检测到小的温度变化,所以这个方案在本设计中难以胜任。

对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测温度的原理有着本质的不同,使得其温度分辨率极高。温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变的非常简洁,看干扰能力强,因此该方案适用于本系统。

2.2.2 控制核心的选择

在本设计中采用STC89C52单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其I/O口输出控制信号。AT89C52单片机工作电压低,性能高,片内含8K字节的只读程序存储器ROM和256字节的随机数据存储器RAM,它兼容标准的MCS-51指令系统,单片机价格便宜,适合本设计系统。

2.2.3 温度显示器件的选择

方案一:采用四位功能共阳数码管显示温度,动态扫描显示方式。

方案二:采用液晶显示屏LCD显示温度。

对于方案一,该方案成本低廉,显示温度明确醒目,即使在黑暗空间也能清楚看见,功耗极低,同时温度显示程序的编写也相对简单,因而这种显示方式得到了广泛应用。但不足的地方是它采用动态扫描的方式,各个LED数码管是逐个点亮的,因此会产生闪烁,但由于人眼的视觉暂留时间为20MS,故当数码管扫描周期小于这个时间时人眼不会感觉到闪烁,因此只要扫描频率设置的当即可采用该方案。

对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比拟的。但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原则考虑,本系统采用方案一。

德州职业技术学院毕业论文设计

2.2.4 调速方式的选择

方案一:采用数模转换芯片DAC0832来控制,由单片机根据当前环境温度值输出相应数字量到DAC0832中,再由DAC0832产生相应模拟信号控制晶闸管的导通角,从而通过无极调速电路实现风扇电机转速的自动调节。

方案二:采用单片机软件编程实现PWM(脉冲宽度调制)调速的方法,PWM 它是按一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调制方式,,在PWM驱动控制的调节系统中最常用的的是矩形波PWM信号,在控制时需要调节PWM波的占空比。占空比是指高电平持续时间在一个周期时间内的百分比。在控制电机的转速时,占空比越大,转速就越快,若全为高电平占空比为100%时,转速达到最大。用单片机I/O口输出PWM信号时,有如下三种方法:

利用软件延时。当高电平延时时间到时,对I/O口电平取反,使其变成低电平,然后再延时一定时间;然后当低电平延时时间到时,在对该I/O口电平取反,如此循环即可得到PWM信号。

利用定时器。控制方法与(1)相同,只是在该方法中利用单片机的定时器来定时进行高低电平的转换,而不是用软件延时。应用此方法是编程相对复杂。在本设计中应用了此方法。

利用单片机自带的PWM控制器。在STC12系列的单片机中自身带有PWM控制器,但本系统所用到的AT89单片机无此功能。

对于方案一,该方案能够实现对直流风扇电机的无极调速,速度变化灵敏,但是D/A转换芯片的价格较高,与其温控状态下无极调速功能相比性价比不高。

对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用PWM用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,能够充分发挥单片机的功能,对于简单速度控制系统的实现提供了一种有效的途径。综合考虑选用方案二。

基于51单片机的智能温控风扇

第三章硬件设计

系统主要硬件包括DS18B20温度传感器、STC89C51单片机、四位LED共阳极数码管、风扇直流电机。辅助元器件包括电阻、电容、电源、按键、拨码开关等。

3.1 系统器件简介

3.1.1 DS18B20单线数字温度传感器简介

DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片分装而成,它具有温型化、低功耗、高性能、抗干扰能力强、易配温处理器等优点,可直接将温度转化成串行数字信号供处理器处理。适用于各种狭小空间设备数字测温和控制领域。

此温度传感器是美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20。作为新一带数字检测元件,DS1820是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板ON-BOARD专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在新一代的DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。DS18B20可以程序设定912位的分辨率,精度为±0.5°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。测温范围为-55125

率可达0.0625℃。DS18B20减少了外部的硬件电路,直接输出数字信号,具有低成本和易使用的特点。

DS18B20内部主要有四个部分:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管角有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端.

德州职业技术学院毕业论文设计

图2 DS18B20外形及管脚

图3 DS18B20内部结构3.1.2 STC89C52单片机简介

性能:(1)与MCS-51单片机产品兼容

(2)8KFlash字节闪速存储器

(3)1000次擦写周期

(4)全静态操作:0Hz~88Hz

(5)32个可编程I/O

基于51单片机的智能温控风扇

(6)三个16位定时器/计数器

(7)八个中断源

(8)全双工UART串行通道

(9)低功耗空闲和掉电模式

(10)掉电后中断可唤醒

VCC:+5V电源线; GND:接地线

P0 口:P0口是一个8位漏极开路的双向

I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表1所示。在flash编程和校验时,P1口接收低8位地址字节。

表4 P1口功能

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,

德州职业技术学院毕业论文设计

P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也可接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如上表2所示。在flash编程和校验时,P3口也接收一些控制信号。

表5 P3口功能

RST:复位输入。当震荡器复位器件时,要保持RST脚两个机器周期的高电平状态。

地址锁存允许/ 编程线,当访问片外存储器时,在P0.7~P0.0

引脚线上输出片外存储器低8位地址的同时还在线上输出一个高电平脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7~P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时单片机自动在线上输出频率为1/6晶振频率的脉冲序列。

:外部程序存储器ROM的选通信号。在由外部程序存储器取指期间,

基于51单片机的智能温控风扇

每个机器周期两次有效,但在访问外部数据存储器时,这两次有效的

信号将不出现。

:允许访问外部存储器/编程电源线。当保持低电平时,则在此

期间允许使用片外程序存储器,不管是否有内部程序存储器。当保持高电平时,则允许使用片外程序存储器。当FIASH编程期间,此引脚也用于施加12V 编程电源(VPP)。

XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接单片机内OSC的定时反馈电路。

存储器结构:MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。

程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。

数据存储器:STC89C52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。

晶振特性如图2所示,STC89C52 单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器

图6 自激振荡器原理图

德州职业技术学院毕业论文设计

定时器0 和定时器1

在STC89C52 中,定时器0 和定时器1 的操作与89C51 一样。

定时器2

定时器2是一个16位定时/计数器,它既可以做定时器,又可以做事件计数器。其工作方式由特殊寄存器T2CON中的C/T2位选择(如表2所示)。定时器2有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。工作模式由T2CON中的相关位选择。定时器2 有2个8位寄存器:TH2和TL2。在定时工作方式中,每个机器周期,TL2 寄存器都会加1。由于一个机器周期由12个晶振周期构成,因此,计数频率就是晶振频率的1/12。

中断

STC89C52有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。实际上,中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。下表2为中断允许控制寄存器功能。

图7 中断允许控制寄存器

基于51单片机的智能温控风扇

3.1.3 LED数码管简介

本系统选用四位LED数码管来进行温度显示。LED又称为数码管,它主要是由8段发光二极管组成的不同组合,其中a~g为数字和字符显示段,dp为小数点的显示,通过a~g这七个发光二极管点亮的不同组合,可以显示0~9和A~F 共16个数字和字母。LED数码管可以分为共阴极和共阳极两种结构,如图5所示。共阴极结构把8个发光二极管阴极连在一起,共阳极结构把8个发光二极管阳极连在一起。通过单片机引脚输出高低电平,可使数码管显示相应的数字和字母,这种使数码管显示字形的数据称字形码,又称段选码。

图8七段LED数码管

表9 七段LED的段选码表

德州职业技术学院毕业论文设计

一个共阴极数码管接至单片机的电路,要想显示数字“7”须a、b、c这三个显示段发光(即这3个字段为高电平)只要在P0口输入00000111(07H)即可。这里07H即为数字7的段选码。字形与段选码的关系见表9。

3.2 电路设计

3.2.1 开关复位与晶振电路

单片机系统中,有两个非常重要的电路,一个是开关复位电路,用来对单片机本身和其外部扩展。I/O接口电路进行复位还有一个是晶振电路,用于产生谐振,使单片机得以工作。电路图如图10。

基于51单片机的智能温控风扇

图10系统复位与晶振电路

在单片机系统中,处单片机本身需要复位外外部扩展I/O接口电路也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。单片机的XTAL1和XTAL2用来外界石英晶体和微调电容,连接单片机内OSC的定时反馈电路。如图所示,当按下按键开关是系统复位一次。其中电容C1、C2为20pF,C3为10uF,电阻R1为10k,晶振为12MHz。

3.2.2 独立按键连接电路

本设计还有三个独立按键,其中一端分别连接单片机的P2.0口、P2.1口和P2.2口,如图8所示。另一端接地,当按下时,当按下任一键时,P1口读取低电平有效。系统上电后,进入键盘扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其接线图如图11:

德州职业技术学院毕业论文设计

图11 按键电路

3.2.3 数码管显示电路

本设计制作中选用四位共阳极数码管作为显示模块。数码扫描显示电路是数字系统设计中较常用的电路,通常作为数码显示模块。数码扫描显示电路,其中每个数码段的8个段 a、b、c、d、e、f、g、h(小数点)分别连在一起,8个数码管分别有8个选通信号 K1、K2、K3、K4、K5、K6、K7、K8 来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,K2 为高电平,其余选通信号为低电平,此时,仅 K2 对应的数码管显示来自信号段的数据,其他 7个数码管呈现关闭状态。所以,如果要在 8个数码管显示希望的数据,就必须使得 8个选通信号,分别单独选通。同时,在短信号输入端口假如希望在该对应数码管上显示的数据。于是随着选通信号的循环变化,就实现了扫描显示的目的。它和单片机硬件的接口如图12。

基于51单片机的智能温控风扇

图12 数码管显示电路

3.2.4温度采集电路

DS18B20数字温度传感器通过其内部计数时钟周期来的作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先置有与-55℃相对应的一个基权值。如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55,被预置在-55℃的温度寄存器中的值就增加1℃,然后这个过程不断重复,直到高温度系数振荡周期结束为止。此时温度寄存器中的值即为被测温度值,这个值以16位二进制形式存放在存储器中,通过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。由于温度振荡器的抛物线特性的影响,其内用斜率累加器进行补偿。

DS18B20在使用时,一般都采用单片机来实现数据采集。只需将DS18B20信号线与单片机1位I/O相连,且单片机的1位I/O线可挂多个DS18B20,就可实现单点或多点温度检测。在本设计中将DS18B20接在P1.7口实现温度的采集。其与单片机的连接如图13。

德州职业技术学院毕业论文设计

图13 温度采集电路

相关主题
文本预览
相关文档 最新文档