智能风扇控制器设计.docx
- 文档编号:11590470
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:37
- 大小:1.60MB
智能风扇控制器设计.docx
《智能风扇控制器设计.docx》由会员分享,可在线阅读,更多相关《智能风扇控制器设计.docx(37页珍藏版)》请在冰豆网上搜索。
智能风扇控制器设计
智能风扇控制器设计
设计总说明
随着科技的进步,大家对各种家用电器的舒适度要求越来越高。
温控风扇在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产中大型机械散热系统中的风扇、现在笔记本电脑上的广泛应用的智能CPU风扇等。
本文设计了基于单片机的温控风扇系统,主要针对家用的交流风扇。
以单片机作为控制器,利用温度传感器DS18B20作为温度采集元件,同时利用器件并根据采集到的温度,通过一个达林顿ULN2003驱动风扇电机。
根据检测到的温度与系统设定的温度的比较控制电机,并能根温度的变化自动改变风扇电机的转速,实现分级调速,同时用1602液晶显示器显示检测到的温度。
关键词:
单片机;DS18B20;分级调速;智能风扇
Thedesignofintelligentfancontroller
Designgeneralinformation
Withadvancesintechnology,everyonecomfortvarioushouseholdapplianceshavebecomeincreasinglydemanding.Thermostaticallycontrolledfanproductioninmodernsocietyandpeople'sdailylifehaveawiderangeofapplications,suchaslarge-scaleindustrialproductionofmechanicalcoolingsystemfan,nowwidelyusedonlaptopssmartCPUfan.Thisarticleisdesignedbasedonsingle-chiptemperature-controlledfansystem,mainlyforhouseholdACfan.Withthesinglechipprocessorasthecontroller,atemperaturesensorDS18B20temperatureacquisitiondevice,whiletakingadvantageofthedeviceaccordingtothecollectedtemperature,theULN2003drivenbyaDarlingtonfanmotordisplay.Accordingtothedetectedtemperatureandthesettemperaturecomparisonsystemcontrolsthemotor,andcanautomaticallychangetheroottemperaturechangesthefanmotorspeedtoachievehierarchicalcontrol,LCDdisplaywith1602whilethedetectedtemperature.
Keywords:
SCM;DS18B20;Gradinggovernor;Smartfan
附录二元器件清单
附录三实物图
1绪论
在现代社会中,风扇被广泛的应用,发挥着举足轻重的作用,如夏天人们用的散热风扇、工业生产中大型机械中的散热风扇以及现在笔记本电脑上广泛使用的智能CPU风扇等。
而随着温度控制技术的发展,为了降低风扇运转时的噪音以及节省能源等,温控风扇越来越受到重视并被广泛的应用。
在现阶段,温控风扇的设计已经有了一定的成效可以使风扇实现分级调速,实现智能控制。
随着单片机在各个领域的广泛应用,许多用单片机作控制的温度控制系统也应运而生,如基于单片机的温控风扇系统。
它使风扇根据环境温度的变化实现自动启停,使风扇转速随着环境温度的变化而变化,实现了风扇的智能控制。
它的设计为现代社会人们的生活以及生产带来了诸多便利,在提高人们的生活质量、生产效率的同时还能节省风扇运转所需的能量。
随着温度控制技术与计算机、通信等技术的有机结合,使得现今的温度控制技术在过去的几十年里有了极大的发展,并且对温度控制的提出了高精度、高智能化的发展要求。
因此介绍了解当前温度控制系统的发展状况对设计研究智能风扇控制器很有帮助。
就目前而言,有很多自动温控风扇能通过温度高低来控制其启动或者停止的技术实现。
虽然这解决了夏夜温度下降后人们因熟睡而受凉的问题,但当温度升高时,它不能根据温度的变化改变转速,因此往往使人感到不变。
所以现在提出了一种智能温控调速风扇,使用者可以在风扇开启后,智能风扇自动根据室内温度的改变而调节转速,根据温度高低设计了5个人们舒适的档位。
本文设计了由ATMEL公司的8052系列单片机AT89C52作为控制器,采用DALLAS公司的温度传感器DS18B20作为温度采集元件,并通过一个达林顿陈列驱动器-ULN2803驱动风扇电机的转动。
同时使系统检测到得环境温度显示在1602液晶显示器上。
根据系统检测到得环境温度与系统预设温度的比较,实现风扇电机的分级调速,方便人们的日常生活。
1.1题目背景
在日常生活中,电风扇被广泛的应用,为人们的生活提供方便,如夏天人们用的散热风扇、工业生产中大型机械中的散热风扇以及现在笔记本电脑上广泛使用的智能CPU风扇等。
而随着温度控制技术的发展,为了降低风扇运转时的噪音以及节省能源等,智能温控风扇越来越受到人们的重视并被广泛的应用。
在现阶段,温控智能风扇的设计已经有了一定的成效,可以使风扇根据环境温度的变化进行自动无级调速,当温度升高到一定时能自动启动风扇,当温度降到一定时能自动停止风扇的转动,实现智能控制。
但是目前的电风扇即使都有调节不同档位的功能,但必须手动调节不同的档位。
为了使风扇实现智能化、人性化,通过温度传感器检测工作环境温度,建立一个微小控制系统,使电风扇随着室内温度的变化自动切换档位,实现“温度高,风力大,温度低,风力弱”的性能,不但节能,而且安全省事,具有广泛的应用前景和市场价值。
随着单片机在各个领域的广泛应用,许多用单片机作控制的温度控制系统也应运而生,如基于单片机的温控智能风扇系统。
它使风扇根据环境温度的变化实现自动启停,使风扇转速随着环境温度的变化而变化,实现了风扇的智能控制。
它的设计为现代社会人们的生活以及生产带来了诸多便利,在提高人们的生活质量、生产效率的同时还能节省风扇运转所需的能量[1]。
1.2国内外发展
电风扇在中国仍然具有很大的市场,所以我国对电风扇的优化研究是很积极的。
智能电风扇已经开始投入市场,目前这方面的技术已经成熟。
下一阶段的研究将是使其更加人性化,更好的满足不同群体的人的需求。
美的等家电企业相继推出了大厦扇和学生扇,这是针对不同的人群而专门研制的,具有智能化控制系统的电风扇。
国外在电风扇方面的研究相对我国不那么积极,但是在智能化电器方面的研究却比我国更加成功。
“智能化电器”包含三个层次:
智能化的电器元件,如智能化断路器、智能化接触器和智能化磁力启动器等,智能化开关柜和智能化供配电系统。
智能化开关柜包含多台断路器,而且供电系统的控制与用电设备的控制关系很密切。
这两个层次上的智能化工作重点是:
加强网络功能,最大限度地提高配电系统和用电设备的自动化水平。
新型的智能化电器元件的发展趋势:
采用微处理器及可编程器件,大量功能“以软代硬”实现,并具有“现场”设计的能力。
充分增加智能化电器元件的“柔性”与适应性。
例如一种采用FPGA器件构成的专用功能集成电路已投入应用。
1.3本次设计的主要内容
设计一个智能风扇控制器系统。
该系统能够自动检测当前室内温度,并根据温度的变化来调节风扇的转速。
完成元器件的选型,搭建硬件电路,做出实物。
2整体方案设计
2.1方案论证
本设计是基于单片机智能风扇控制器的设计,使风扇电机能根据环境温度的变化改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件[2]。
所以一定确定出适合的方案。
所以本次设计主控芯片选择AT89C52单片机,温度传感器选择DS18B20,显示用1602液晶显示当前室温,调速控制模块选用ULN-2003驱动芯片。
2.1.1温度传感器的选择
在本设计中,温度传感器的选择有以下两种方案:
方案一:
采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,由于热敏电阻会随温度变化而变化,进而产生输出电压变化的微弱电压变化信号,再经模数转换芯片ADC0809将微弱电压变化信号转化为数字信号输入单片机处理。
方案二:
采用数字式的集成温度传感器DS18B20作为温度检测的核心元件,由其检测并直接输出数字温度信号给单片机进行处理。
对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不太敏感,在信号采集、放大以及转换的过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其自身电阻对温度的变化存在较大误差,虽然可以通过一定电路来修正,但这不仅将使电路变得更加复杂,而且在人体所处环境温度变化过程中难以检测到小的温度变化。
故该方案不适合本系统。
对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。
温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统。
2.1.2温度显示器件的选择
方案一:
应用动态扫描的方式,采用LED共阴极数码管显示温度。
方案二:
采用LCD液晶显示屏显示温度。
对于方案一,该方案成本很低,显示温度明确醒目,即使在黑暗空间也能清楚看见,功耗极低,同时温度显示程序的编写也相对简单,因而这种显示方式得到了广泛应用。
但不足的地方是它采用动态扫描的显示方式,各个LED数码管是逐个点亮的,因此会产生闪烁,但由于人眼的视觉暂留时间为20MS,故当数码管扫描周期小于这个时间时人眼不会感觉到闪烁,因此只要描频率设置得当即可采用该方案。
对于方案二,液晶显示屏具有显示字符优美,其不仅能显示数字还能显示字符甚至图形,这是LED数码管无法比拟的。
本系统采用方案二。
2.1.3调速方式的选择
方案一:
采用数模转换芯片DAC0832来控制,由单片机根据当前环境温度值输出相应数字量到DAC0832中,再由DAC0832产生相应模拟信号控制晶闸管的导通角,从而通过无级调速电路实现风扇电机转速的自动调节。
方案二:
采用单片机软件编程实现PWM(脉冲宽度调制)调速的方法。
使用调速芯片ULN-2003。
PWM是英文PulseWidthModulation的缩写,它是按一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是矩形波PWM信号,在控制时需要调节PWM波得占空比。
占空比是指高电平持续时间在一个周期时间内的百分比。
在控制电机的转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大[2]。
用单片机I/O口输出PWM信号时,有如下三种方法:
(1)利用软件延时。
当高电平延时时间到时,对I/O口电平取反,使其变成低电平,然后再延时一定时间;当低电平延时时间到时,再对该I/O口电平取反,如此循环即可得到PWM信号。
在本设计中应用了此方法。
(2)利用定时器。
控制方法与
(1)相同,只是在该方法中利用单片机的定时器来定时进行高低电平的转变,而不是用软件延时。
应用此方法时编程相对复杂。
(3)利用单片机自带的PWM控制器。
在STC12系列单片机中自身带有PWM控制器,但本系统所用到得AT89系列单片机无此功能。
对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是D/A转换芯片的价格较高,与其温控状态下无级调速功能相比性价比不高。
对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用PWM的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,只需要一个驱动芯片,就能够充分发挥单片机的功能,对于简单速度控制系统的实现提供了一种有效的途径。
综合考虑选用方案二。
2.1.4控制核心的选择
在本设计中采用AT89C52单片机作为控制核心,通过软件编程的方法进行温度检测和判断,并在其I/O口输出控制信号。
AT89C52单片机工作电压低,性能高,片内含8k字节的只读程序存储器ROM和256字节的随机数据存储器RAM,它兼容标准的MCS-51指令系统,单片价格也不贵,适合本设计系统。
2.2系统整体框图
本设计的整体思路是:
利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机AT89C52进行处理,在液晶显示器上显示当前环境温度值。
其中预设温度值为整数形式,检测到的当前环境温度取一位小数。
同时采用驱动电路改变直流风扇电机的转速。
系统框图如下。
图2-1系统框图
3系统硬件设计
3.1功能器件介绍
3.1.1AT89C52简介
本次设计选择89C52单片机。
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对片外存储器的读写数据[4]。
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口也作为一些特殊功能端口使用,如下所示:
图3-1单片机的引脚
P3.0:
RXD(串行数据接收口)
P3.1:
TXD(串行数据发送口)
P3.2:
(外部中断0输入)
P3.3:
(外部中断1输入)
P3.4:
T0(记数器0计数输入)
P3.5:
T1(记时器1外部输入)
P3.6:
(外部RAM写选通信号)
P3.7:
(外部RAM读选通信号)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平状态。
ALE/
:
地址锁存允许/编程线,当访问片外存储器时,在P0.7~P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/
线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地址锁存器,以便空出P0.7~P0.0引脚线去传送随后而来的片外存储器读写数据。
在不访问片外存储器时,单片机自动在ALE/
线上输出频率为1/6晶振频率的脉冲序列。
:
外部程序存储器ROM的选通信号。
在由外部程序存储器取指期间,每个机器周期两次
有效。
但在访问外部数据存储器时,这两次有效的
信号将不出现。
/VPP:
允许访问片外存储器/编程电源线,当
保持低电平时,则在此期间允许使用片外程序存储器,不管是否有内部程序存储器。
当
端保持高电平时,则允许使用片内程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1和XTAL2:
片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接单片机片内OSC的定时反馈回路。
3.1.2温度传感器的简介
DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片封装而成,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。
适用于各种狭小空间设备数字测温和控制领域。
DS18B20的主要特征:
测量的结果直接以数字信号的形式输出,以“一线总线”方式串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;温度测量范围在-55℃~+125℃之间,在-10℃~+85℃时精度为±0.5℃;可检测温度分辨率为9~12位,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃和0.0625℃,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个DS18B20可以并联在唯一的三线上,实现组网多点测温的功能;工作电压范围宽,其范围在3.0~5.5V[3]。
DS18B20内部结构主要有四部分:
64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
其管脚有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。
温度传感器的一般工作过程
(1)、初始化;
(2)、跳过ROM(命令:
CCH);
(3)、温度变换(命令:
44H);
(4)、读暂存存储器(命令:
BEH);
注:
每次读取温度都要经过上面四个过程。
3.1.31062液晶显示简介
工业字符型液晶,能够同时显示16x02即32个字符。
(16列2行)
注:
为了表示的方便,后文皆以1表示高电平,0表示低电平。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
管脚功能
1602采用标准的16脚接口,其中:
第1脚:
GND为电源地
第2脚:
VCC接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,
高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平
(1)时进行读操作,
电平(0)时进行写操作。
第6脚:
E(或EN)端为使能(enable)端,高电平
(1)时读取信息,负跳变时执行指令。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
特性
3.3V或5V工作电压,对比度可调
内含复位电路
提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能
有80字节显示数据存储器DDRAM
内建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM
特征应用
微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
操作控制
注:
关于E=H脉冲——开始时初始化E为0,然后置E为1。
字符集
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
在单片机编程中还可以用字符型车常量或变量赋值,如'A’。
因为CGROM储存的字符代码与我们PC中的字符代码是基本一致的,因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=‘A’这样的方法。
PC在编译时就把'A'先转换为41H代码了。
字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。
0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。
1602的16进制ASCII码表地址:
读的时候,先读左边那列,再读上面那行,如:
感叹号!
的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
3.1.4达林顿ULN2003简介
ULN-2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN-2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
ULN-2003采用DIP—16或SOP—16塑料封装。
ULN-2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。
它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL和COMS,由达林顿管组成驱动电路。
ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。
用户输出口的外接负载可根据以上参数估算。
采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。
通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。
ULN-2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。
比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。
ULN-2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/5V。
ULN-2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN-2003的每一对达林顿都串联一个2.7K的基极电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 风扇 控制器 设计