基于单片机的智能温控风扇设计Word格式文档下载.docx
- 文档编号:7706413
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:36
- 大小:560.10KB
基于单片机的智能温控风扇设计Word格式文档下载.docx
《基于单片机的智能温控风扇设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能温控风扇设计Word格式文档下载.docx(36页珍藏版)》请在冰点文库上搜索。
5.1系统功能19
5.1.1系统实现的功能19
5.1.2系统功能分析19
5.2软硬件调试19
5.2.1系统硬件实物介绍19
5.2.2按键显示部分的调试20
5.2.3温度传感器DS18B20温度采集部分调试20
5.2.4风扇调速电路部分调试21
结论23
致谢24
参考文献25
附录26
1绪论
1.1本设计的背景及意义
随着社会水平的高速发展,家用电器已经越来越智能化,紧随着物价也自然会因为设计成本的提高而上涨。
单单从夏季我们用来降温的电器来看,尽管很多城市家庭如今已经用上了空调,但大多数的中国农村家庭仍还在利用电扇降温防暑。
电扇虽有调节档位的功能,但仍然离不开人工手换档,灵活性太差。
比如在深夜里,温度下降后风扇的风速应该降低,可是这时人已经入睡并不能及时手动换挡,就很容易感冒。
为了避免这种不便情况,我们一般都会给风扇定时,让风扇定时关闭,但这依旧不是很智能化。
因为如果当风扇定时时间到后,气温依旧没有明显的下降,但是这时风扇已经关闭,人就很容易会再次被热醒,而不得不起床重新打开风扇,
这样人根本得不到充足的休息时间。
因此,智能温控风扇是当今市场迫切需求的产品。
1.2发展现状
截止目前,可以说社会已经完全步入了现代化电子时代,由于温度控制器能够实时监控环境温度,并能及时对机器做出调整,它被广泛的运用到各行各业。
它的普及带给人们极大的方便。
温控风扇正是基于温度控制器下的一种产物。
目前,这种系统在很多
国内家庭都得到运用,尤其是家用电器里的自动散热。
系统效率越来越高。
1.3本设计的主要内容
本系统采用STC89C52单片机作为主控芯片,结合温度传感器DS18B20,12V直流风扇以及4个共阴极的LED数码管,可做到显示实时环境温度值和预设温度值,一旦当系统检测到当前环境温度,则会对比预设温度值,自动改变风扇的状态,动作准确。
本篇论文主要以以下思路撰写:
首先介绍该设计的意义并简要说明设计中主要涉及到的一些元器件;
其次对每个模块进行选择最合适的元件并论证;
然后从硬件方面,依次详细介绍每个元件的性能及在本系统中的功能;
紧随着再从软件设计方面,对每个模块的子程序进行说明;
最后便是对整个系统软硬件的调试,发现问题并解决问题。
2系统整体设计
2.1系统整体设计框图
系统的整体设计框图结构如下图2-1所示:
图2-1系统整体框图
2.2系统各模块选用方案论证
2.2.1温度传感器的选用
温度传感器主要有以下两种方案可供选用:
方案一:
选用热敏电阻作为温度传感器的核心元件。
由于热敏电阻的电阻会跟着温度的变化而变化,如此就会产生模拟信号,随后再将模拟信号转换成数字信号,最终发送给单片机IN-0口进行处理。
具体热敏温度采
集电路如图2-2所示:
图2-2热敏温度采集电路
方案二:
选用温度传感器DS18B20作为温度传感器的核心元件。
通过
其传感温度,然后直接输出数字温度信号并传给单片机处理。
具体
DS18B20采集电路如图2-3所示:
|VCC
*13
10K
图2-3DS18B20温度采集电路
对于方案一,热敏电阻的最大特点就是它的价廉而且很多市场上都有这种兀件,但热敏电阻对温度并不敏感,在温度米集时很容易产生误差。
虽然这种误差可以通过减小,但并不会避免。
故本方案不适合本系统。
对于方案二,因为DS18B20是单总线,且其集成度极高,所以该传感器可以大幅度降低外部误差。
其次由于其感测温度与热敏电阻的方法并不一样,使其具有较强的温度识别能力。
所测到的温度直接就可以转换成具体数字值并发送给单片机。
因此,本方案比较适合该系统。
2.2.2主控机的选用
选用凌阳系列单片机来控制系统,这类单片机可以实现不同的复杂逻辑功能,它将所有元器件都集成在一块芯片上,集成度十分高,提高了稳定性。
凌阳单片机的系统处理速度很快,适合用于大规模实时系统的控制。
采用ST89C52单片机控制整个系统的运行。
主要通过编程的方式对测得的温度进行判断,然后输出对应的控制信号。
进而实现对系统实时控制。
由于ST89C52单片机要比凌阳系列单片机的价格低得多,且本设计不需要很高的处理速度,从经济和方便使用角度考虑,本设计更倾向于选择了方案二。
其次,通过单片机可以直接将测得温度在显示器上显示出来。
综合来看,本系统更适合采用方案二。
2.2.3显示电路的选用
采用数码管作为系统的显示器。
尽管数码管显示的内容有限,
但是对于本设计,只要显示一些基本的数字和字母就已经足够了。
并且价格低廉。
采用液晶字符式显示屏作为系统的显示器。
能够用软件达到很好的控制,元件器简单。
对于方案一,该方案具有成本低,功耗低的特点,显示驱动程序编写是比较简单的,唯一不足之处是其采用的是动态扫描显示方式,因此在这过程中会有短暂的闪烁,但我们可以通过增加扫描频率来避免闪烁。
对于方案二,液晶显示屏不仅可以显示字符,甚至还能够显示图形,这是LED数码管远远做不到的。
但也正是因为它强大的显示功能,使得液
晶显示屏的驱动程序复杂,价格相对而言比较昂贵。
从实用以及价格多角度来看,方案一更适合该系统。
2.2.4调速方式的选用
采用变压器调节方式,运用电磁感应原理进行变压,当风扇电机接到不同电压值的线圈上,电机的转速也会转变,如此就可控制风扇风力大小。
采用三极管驱动PWM控制。
对于方案一,变压器主要是调节电压,那么在变压过程中就会不可避免的存在损耗,效率不高。
还有可能会发热过度起火,带来一些不必要的麻烦。
对于方案二,三极管PWM的最大长处便是无需数模转换,从处理器到被控系统信号一概都是数字形式的。
而数字信号正可以在极大程度上降低噪声影响。
PWM的第二大特点是它相对于模拟控制有更高的抗干扰能力,正因为如此,在特定情况下亦可以将其用于通信。
当模拟信号转向PWM
时会延长通讯的距离。
故本系统采用方案二。
3系统硬件设计
3.1系统硬件原理图
本系统主要由温度传感器DS18B20、STC89C52单片机、LED共阴数
码管、三极管驱动电路及一些其他外围器件电阻、电容、晶振、电源、按
键、开关和风扇组成。
系统硬件原理图如下图3-1所示:
图3-1系统硬件原理图
3.2主控芯片介绍
3.2.1STC89C52简介
STC89C52单片机是美国STC公司生产的高性能COMOS8位单片机。
STC89C52使用经典的MCS-51内核片,但做了大量的改进,加入了51系
列不具备的诸多功能。
正因为如此,两种单片机的指令集和输出管脚都相兼容。
STC89C52单片机引脚图如下图3-2所示:
322STC89C52主要性能参数
单片机的主要性能参数如下表3.1所示:
表3.1STC89C52主要性能参数
性能
参数
中断源
8个
RAM
512字节
工作电压
3.8〜5.5V
通用I/O口
32/36个
通用异步通信口
1个
工作频率范围
0〜40MHZ
定时器/计数器
3个16B
机器周期
6个状态周期,12个时钟周期
I/O口线
32位
323STC89C52单片机引脚说明
引脚说明如下表3.2所示:
表3.2STC89C52单片机引脚说明
VCC:
供电电压;
GND:
接地;
P0口:
8位双向I/O口,引脚名称为P0.0-P0.7(39脚至32脚);
P1口:
8位准双向I/O口,引脚名称为P1.0-P1.7(1脚至8脚);
P2口:
8位准双向I/O口,引脚名称为P2.0-P2.7(21脚至28脚);
P3口:
8位准双向I/O口,引脚名称为P3.0-P3.7(10脚至17脚);
P3.0:
RXD串行输入口;
P3.1:
TXD串行输出口;
P3.2:
INT0外部中断0;
P3.3:
INT1外部中断1;
P3.4:
T0定时/计数器0计数输入;
P3.5:
T1定时/计数器1计数输入;
P3.6:
WR外部数据存储器写选通;
P3.7:
RD外部数据存储器读选通;
RST:
复位输入;
/PSEN:
外部ROM的读选通引脚。
当对外部ROM取指令时,会自动在该脚输入一个负脉冲,其他情况均为高电平。
其在每个机器周期有效两次;
/EA/VPP:
单片机正常工作时,该脚为内外ROM选择端。
当引脚接+5V时,CPU可访问内部程序存储器;
当引脚接地时,CPU只访问
外部程序存储器;
在FlashROM编程期间,由VPP接编程电源;
3.2.4STC89C52单片机最小系统
STC89C52单片机结构主要包含4个组成部分,即晶振电路、复位电
路、电源电路和/EA脚电路。
STC89C52单片机最小控制系统结构如下图3-3所示:
vcc
.一口口□口口
p--1
R11%
图3-3单
D-Q-oD-tlD-Goi
19
U1
PLW12PLvraxPt2PL3
PL4卩L占
PL6
Pi_7RET毗iv*na>
KiVlJO),
ITLlFlMli匹靳。
f^STTra&
WRpizmD
XRAL2
XTAL1
VSS
VCG
PO.«
ADO
HRIFAD:
PO.2FAD2
PO.3fAD3
PO.4AD4
PO*2AD5PO.fiADfipo.mi>
7
&
ALE/PHOGpsm
P^/;
A15
R26fA14
P2.9A13K4/A12
R2^A12
P2.2/A11
P2.VA9
PZWA8
4039宝刃3636343332
79溯刃亦25空Z3云21'
1.晶振电路
晶振电路由一个晶振和两个瓷片电容构成。
两个瓷片电容相连接的那端需接地。
该电路用于产生单片机工作的时钟信号。
单片机正常工作离
3-4
不开晶振电路,一般晶振工作在并联谐振状态。
具体晶振电路如下图所示:
C2
HF
3QP
3GP
图3-4晶振电路
2.复位电路
复位就是使中央处理器(CPU)以及其他功能部件都恢复到初始状态,并重新从初始状态开始工作。
单片机在开机时或在工作中因干扰而使程序失控或工作在一个死区的过程中需要使用复位按钮。
复位电路一般有上电
1、"
、"
复位、手动复位和自动复位电路三种。
电路图如图3-5所示:
1张筱云、李淑萍单片机原理及接口技术项目教程
[J]2012.8:
41-43
VCC
_^C1
—^.10UF
R1
10k
图3-5STC89C52复位电路
3.3DS18B20温度采集电路
DS18B20是美国DALLAS公司生产的一线式高精度数字式温度传感
器。
其采用单根信号线,可以传输时钟也能够传输数据,并且数据传输是双
2向的,其优点是结构简单、廉价、便于总线的扩展和维护等。
3.3.1DS18B20引脚功能介绍
表3.3DS18B20引脚功能介绍
NC
空引脚,一无连接;
VDD
可选电源电压,电源电压范围3~5.5V;
I/O
数据I/O,对于单线操作:
漏极开路。
当工作在寄生电源模式时用来提供电源。
DS18B20主要选用TO-92封装或SOIC及CSP封装形式。
图3-6所示
为DS18B20的内部结构框图:
图3-6DS18B20的封装
3.3.2DS18B20主要性能参数
DS18B20的主要性能参数如下表3.4所示:
表3.4DS18B20主要性能参数
3.0~5.5V
接口方式
单线接口
工作温度
-55C~+125C
可编程分辨率
9~12位
3.3.3DS18B20的工作原理及时序
64位ROM的结构如图3-7所示,开始一部分的8位是工厂代码;
中间一部分的是每个器件唯一的48位序列号;
最后一部分的是8位CRC检
验码,这也是多个DS18B20为什么可采用单线进行通信的原故。
8位工厂代码
48位序列号
8位检验CRC
ML按L
图3-764位ROM示意图
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主
机根据ROM的前56位来计算CRC值,并与存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否准确。
表3.5DS18B20主要编程指令:
ReadROM(读
ROM)[33H]:
这条命令允许总线控制读到温度米集器64位ROM。
当总
线上只有一个DS18B20的时候才可以使用此条指令。
MatchROM(指定匹配芯片)[55H]:
这条指令后面跟着由控制器发出了64位序列号,当总线
上有多个DS18B20时,只有当其与控制发出的序列号相同的芯片时才能做出反应,其它芯片要等待下一次复位。
SkipROM(跳跃
ROM指令)
[CCH]:
单总线时,选用此指令可以节省时间。
在多芯片挂接时不能使用此指令。
AlarmSearch(报
警芯片搜索)
[ECH]
这条指令在多芯片挂接的时,报警芯片搜索指令只对吻合温度高于TH或小于TL报警条件的芯片进行报警。
直到重新测得温度达不到报警条件停止。
如图3-8所示,本设计是采用单独电源供电方式。
2
C二
\A
DS18B20
—
厂』
•||
T'
cc
T
图3-8DS18B20的工作电路
3.4数码管显示电路
本系统的显示模块主要由一个4位一体的7段LED数码管构成。
可以
显示感测到的温度和当前风扇的档位。
它是一个共阴极的数码管,每一位
数码管的a,b,c,d,e,f,g和dp端都各自连接在一起,用于接收单片机的P0口
产生的显示段码。
S1,S2,S3,S4引脚端为其位选端,用于接收单片机的P2口产生的位选码。
具体原理图如图3-9所示
A
图3-9数码管显示电路
当一个共阴极数码管接至单片机的电路,它显示的每一个字符都有其
对应的段码,下表3.6便是字形与段选码的关系:
表3.67段LED的段选码表
显示
共阴极
字符
段码
3fH
8
7fH
1
06H
9
6fH
5bH
77H
3
4fH
B
4
66H
C
39H
5
6dH
D
6
7dH
E
79H
07H
F
71H
3.5风扇驱动电路
风扇的驱动采用的是两个三极管直接与风扇连接,因为三极管具有放
大性,所以可以通过三级管来放大信号,然后直接传输到风扇,下图3-10
就是该模块电路:
1R3
R2
彳I,R4
1k
Q1
8050
三极管是一个电流放大器,具有三个电极,如图3-11所示,分别叫做
集电极C,基极B,发射极E。
3.6按键模块
单片机的键盘有两种主要类型,分别是独立式的键盘和矩阵式键盘。
独立式键盘每个按键单独占用一个输入/输出端口。
按下一个按钮,不会影
响其他的输入/输出接口。
而矩阵式键盘与独立式的恰恰相反,它的每条水平线和垂直线在交叉处是通过一个按键连接。
通过分析很显然独立式键盘接法更适合该设计。
独立式键盘是根据对I/O口的高低电平进行判断按键的状态。
这种按
键方法一般采用查询式结构。
依次对每个I/O口查询,一旦检测到某个接
口输入为低电平。
即可确认该口对应的按键已按下,随后传送到该键的处
4系统软件设计
4.1主程序流程图
对于本设计温控风扇,如果要实现它的理想功能:
根据实时环境温度来控制风扇的转速,就必须在运作时进行不断地进行程序判断,当超过设定温度值的上下限时,相应的子程序会及时控制风扇,实时的切换关闭、弱风、大风三个状态。
显示驱动程序以查七段码取得各数码管应显数字,逐位扫描显示。
主程序流程图如图4-1所示:
图4-1主程序流程图
4.2DS18B20子程序流程图
DS18B20的每一步操作都要按照它的工作时序执行。
即首先要对元件复位,再进行ROM命令,最后才能对存储器和数据操作。
如主机控制DS18B20完成温度转换这一过程就必须遵循这一规则,具体流程图如下图4-2所示:
发DS18B2C复位命令
9字节完?
图4-2DS18B20程序流程图
4.3按键子程序流程图
本模块硬件设计上主要通过3个按键实现,软件上由按键扫描子程序
KEYSCAN子程序实现。
按一下板子上的K1键即可进入系统上限温度设
置,此时按“加”键K2,则上限温度+1,同理按K3便是上限温度一1;
若要设置下限温度只要再按一下K1键即可,同样也可以通过K2,K3键
进行设置下限的温度值。
具体按键程序流程图如图4-3所示:
图4-3按键程序流程图
4.4数码管显示子程序流程图
数码管显示程序采用动态扫描的方式。
显示程序可以将温度采集器采集到的温度值转换成7段LED的段选码,最后通过数码管显示出来。
按位选信号,段选信号,延时的顺序进行。
具体流程图如图4-4所示:
图4-4数码管显示程序流程图
5系统调试
5.1系统功能
5.1.1系统实现的功能
本系统可实现根据环境温度智能控制风扇转速的功能,具体为:
当环境温度小于预设温度值的MIN下限时,风扇不转动或者从开始转动的状态
下停止转动;
当环境温度在预设温度值上下限区间中时,风扇以一半的速度转动;
当环境温度大于预设温度值的MAX上限,此时风扇全速转动。
全程无需人工手动调速,智能自动化。
5.1.2系统功能分析
系统整体上主要由四大模块组成,分别是按键模块、数码管显示模块、
温度感测模块、直流风扇模块。
在本设计中,很明显温度感测模块是整个系统的核心,因为只有感测到当前的环境温度,才能通过单片机将当前温度与系统预设值相比较,最后再用单片机调节风扇的转速;
其次是直流风扇模块,该部分是通过两个三极管组成的复合管来放大信号,然后再根据不同的PWM信号控制风扇的转速;
最后则是数码管显示模块,动态扫描结合DS18B20感测实时环境温度,实现了对环境温度和档位的及时连续显示。
5.2软硬件调试
5.2.1系统硬件实物介绍
系统主要由STC89C52单片机、温度传感器DS18B20、LED共阴数码
USB电源、
管、三极
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 温控 风扇 设计