基于单片机的智能风扇设计.docx
《基于单片机的智能风扇设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能风扇设计.docx(46页珍藏版)》请在冰豆网上搜索。
基于单片机的智能风扇设计
本科毕业论文(设计)
题目:
基于单片机的智能风扇设计
姓名:
学号:
专业:
电子信息工程
院系:
电子通信工程学院
指导老师:
职称学历:
助教/硕士
完成时间:
2014年5月
安徽新华学院本科毕业论文(设计)独创承诺书
本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。
据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。
与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。
毕业论文(设计)作者签名:
日期:
基于单片机的智能风扇设计
摘要
电风扇是夏天给人们降温的非常好的家用电器,智能风扇就是能根据温度的改变,风扇转速随之改变,现在的风扇很难做到这一点,只有人为的几档调速。
夏夜温度下降后人们容易因熟睡而受凉,当温度升高时,它又不能根据温度的变化改变转速。
本设计智能风扇采用单片机AT89C51作为控制系统的核心,使用温度传感器DS18B20进行当前的温度采集,利用PWM脉冲宽度调制技术进行实时调速,并通过LED数码管显示当前温度。
同时本次设计还有一个比较创新的地方,本系统具有驱蚊功能。
关键词:
单片机;温度传感器;风扇;超声波驱蚊
DesignofSmartFanBasedonSingleChipMicrocomputer
Abstract
Fanisverygoodforpeoplecoolingappliancesinthesummer.SmartFanisaccordingtochangesintemperature,andfanspeedchanges.Nowthefanisdifficulttodothis,onlyafewartificialstallspeed.
ThedesignofthefancontrolsystemusesAT89C51microcontroller,theindoortemperaturesensorDS18B20temperatureacquisition,usePWMpulsewidthmodulationtechnologyforreal-timecontrol,anddisplaysthecurrenttemperaturethroughtheLEDdigitaltube.Thesameinnovativedesignaswellasacomparisonwherethesystemhasarepellentfunction.
KeyWords:
Microcontroller;TemperatureSensors;Fan;UltrasonicInsectRepellen
1绪论..................................................................................................1
1.1智能风扇发展史.................................................................................1
1.2智能风扇的工作原理.........................................................................2
1.3本次设计的主要任务和内容.............................................................2
2方案论证................................................................................................3
2.1控制核心的选择.................................................................................3
2.2显示电路的选择.................................................................................3
2.3调速方式的选择.................................................................................4
2.4温度传感器的选择.............................................................................5
2.5超声波发生器的选择.........................................................................5
3系统主要硬件电路设计........................................................................7
3.1系统总体设计.....................................................................................7
3.2电源电路设计.....................................................................................7
3.3单片机最小系统电路设计.................................................................8
3.3.1AT89C51单片机简介.......................................................................8
3.3.2单片机最小系统电路....................................................................10
3.4温度采集电路设计...........................................................................11
3.4.1DS18B20温度传感器简介............................................................11
3.4.2温度采集电路................................................................................13
3.5温度显示电路设计...........................................................................14
3.5.1LED数码管简介.............................................................................14
3.5.2温度显示电路................................................................................15
3.6驱蚊电路设计...................................................................................15
3.6.1TCT40-16T超声波发射器简介.....................................................15
3.6.2驱蚊电路........................................................................................16
3.7驱动与调速电路设计.......................................................................17
3.7.1达林顿反相器ULN2803简介………………………………......17
3.7.2驱动与调速电路……………………………………………........18
3.8独立按键电路设计………………………………………...............18
4软件设计..............................................................................................20
4.1系统总体软件设计流程图...............................................................20
4.2用KeilC51进行程序编辑...............................................................21
5系统调试与仿真..................................................................................22
5.1系统软件调试...................................................................................22
5.2程序下载...........................................................................................22
5.3系统仿真...........................................................................................22
6结论................................................................................................26
致谢....................................................................................................27
参考文献..................................................................................................28
附录....................................................................................................29
1绪论
在现实生活中,我们要经常使用一些降温设备。
虽然现在不少城市家庭都用空调设备作为降温工具,但在大部分农村家庭风扇仍然是作为夏季降温的主要工具。
春夏或者夏秋交替季节,早晚温差比较大,白天温度很高,风扇应该转动的比较快,这样才能给人带来凉爽。
到了晚上,气温下降的很多,当人们入睡后,风扇的转动速度应慢慢减下来,防止感冒。
虽然现在的风扇有不同的档位可以调节,但都必须人工来换挡,当人们熟睡时就无能为力了。
尽管现在普遍采用定时的方式解决这个问题,但定时时间有限,一般最多只有两个小时,在这两个小时内温度并不一定就会下降的很多,风扇关闭后,人们可能就会因为炎热再次醒来开启电扇,这样会使人的睡眠质量大大降低。
从以上的分析可知,需要设计出一种很智能化的电风扇来解决。
本设计用单片机作为控制核心,用温度传感器采集当前温度,LED数码管显示实时温度,并根据当前检测到的温度,输出不同占空比的PWM脉冲信号,从而风扇实现了不同的转速。
1.1电风扇的发展史
电风扇简称电扇,香港称为风扇,日本及韩国称为扇风机,从发明到现在已经经过了一百多年,是炎热夏季的宠物。
电风扇起源于1830年,是叫詹姆斯的一个美国人发明了一种用发条来驱动的,可以固定在天花板上的电风扇。
1880年,一个叫舒乐的美国人第一次将叶片直接装到电动机上,再接上电源,叶片便很快速旋转起来。
1882年,一个叫休伊•斯卡茨•霍伊拉的纽约人最早发明了商品化的电风扇。
中国生产的第一台风扇起于1916年,直到1925年华生电器制造厂才正式生产电风扇,并很快赢得市场好评。
一开始电风扇不能很好的控制时间,过了一段时间,便出现了一种可以设置风扇转动时间,及可以根据设定的时间来开启或者关闭的电风扇,这种风扇在当时相当受好评,也受到广大人民的喜爱。
电风扇的操作方式从一原先的旋钮,到按键,再到现在的触摸式操作[1]。
1.2电风扇的工作原理
电风扇的主要功能器件是交流电机,通电后线圈在磁场中因受力而转动,能量的转化形式是这样的:
电能主要是转化为机械能,同时由于电阻问题,电能还有一部分转化成内能。
电风扇工作时,因为有电流流过电风扇的线圈,而线圈是有电阻的,所以会产生部分热量向外扩散,因此电风扇的温度会增高。
但人们为什么会感觉到凉爽呢?
因为人体的表面在夏天有大量的汗液,当电风扇工作后,室内的空气会随着电风扇流动,所以就能够蒸发人体表面的汗液,由物理学原理蒸发需要吸热,故人们会感觉到非常凉爽[2]。
1.3本次设计的主要任务和内容
本设计是以AT8951单片机为主要控制核心,利用51单片机对温度传感器采集到的数据进行处理,并且通过各种电子元器件对电风扇各种工作状态进行实时控制,从而可以达到用户的要求。
本次设计主要完成以下内容:
(1)能够检测当前温度并显示,可根据预设温度自动开启关闭,当当前温度大于预设温度,自动开启,小于预设温度自动关闭。
(2)预设温度可通过按键增加或减少。
(3)可随着外界温度的增加风扇可自行调速,主要分为五个档位,温度每升高五度风扇自动增加一档。
(4)具有驱蚊功能。
2方案论证
2.1控制核心的选择
方案一:
采用单片机作为主要控制芯片。
在本设计中采用AT89C51单片机,通过软件编程的方法来实现对温度的实时采集和控制,在其I/O口输出相应的控制信号。
单片机AT89C51工作电压相对比较低,单片内含有4k字节的ROM和256字节的RAM,并且价格也相对较便宜。
方案二:
采用电压比较电路作为控制执行部件。
将采集到的温度信号转换为电信号并经放大电路放大,集成运算放大器组成的比较电路来判断决定电风扇的转动速度。
对于方案一,用单片机作为控制器件,通过简单的程序编写可以将温度传感器DS18B20检测的温度通过LED数码管显示出来,而且可以通过按键扫描程序通过单片机的外部按键对预设的初值进行增加或者减少,同时对于驱蚊功能采用单片机的软件编程更易实现,成本低,故以单片机AT89C51为控制核心,适合本次设计。
对于AT89C51的具体参数参见下面“硬件设计”中的各器件介绍。
对于方案二,采用电压比较电路作为控制的核心,虽然电路比较简单、容易实现,但不能对预设温度的值进行更改,无法满足不同用户的需求,故本次设计不采用。
2.2显示电路的选择
方案一:
采用LCD液晶显示器显示。
方案二:
采用数码管做显示器件,共阴极接法,动态方式显示[3]。
对于方案一,液晶显示屏显示的字符非常优美,这一优点LED数码管是无法做到的,但是液晶显示屏价格太过昂贵,驱动程序编写起来也是相当复杂的,本次设计不采用。
对于方案二,用LED显示,成本非常低,温度显示清晰可见,即使夜间也能看见,显示程序的编写也比较容易,因此这种显示方式得到了广泛的应用。
不足的地方是采用该方案可能会产生闪烁现象,因为这种动态扫描方式五个LED数码管是逐个点亮的,但由于人眼有个视觉暂留效应,为20MS,我们只要设定合适的扫面周期就可以避免闪烁现象,故这一方案可行。
关于LED的详细参数参看下面“硬件设计”中的各器件介绍。
2.3调速方式的选择
方案一:
采用变压器调节方式,运用变压器原理将市电220V交流电压通过线圈降压到不同的值,电风扇电机接到不同电压值的线圈上就可以来控制直流电机的转速。
方案二:
采用单片机的PWM软件编程方式。
PWM中文意思是脉冲宽度调制,英文意思是PulseWidthModulation的简写形式,它是一种按某种规律变化的脉冲方波,在PWM驱动直流电机的调节控制系统当中,最常用的是矩形PWM脉冲波信号,也是编写程序最简单的。
在对直流电机的转速进行控制时,需要根据当前温度来输出不同占空比的PWM脉冲。
PWM脉冲的占空比是指高电平的时间在一个周期时间内的百分比,若全为低电平,占空比为零,风扇不转;若全为高电平,占空比为100%时,转速达到最大[4]。
用单片机输出PWM脉冲信号时,有如下两种方法:
(1)利用软件延时。
可以利用单片机自带的定时器编程实现不同占空比的PWM脉冲的输出,利用中断程序对单片机输出的电平进行高低转换,从而实现风扇的调速,本设计采用该方法。
设计不同占空比的PWM脉冲的思路是:
假设采用1S的周期方波,以50MS为基准,则20个基准便就是一个1S,那么当其中4个连续的50MS的高电平脉冲,然后16连续的50MS低电平脉冲,便得到了占空比为20%的PWM方波信号。
(2)利用单片机自带的PWM功能。
但本次设计所用得AT89C51单片机没有这种功能,只有STC系列的才有,故不可行。
对于方案一,该方案可以对直流风扇进行调速,但调节不是很方便,而且采用变压器来改变电压,不能适应人性化要求。
对于方案二,采用PWM脉冲调制的纯软件的方法来实现对直流电机的实时调速,具有很大的灵活性,而且可以更充分地发挥单片机的功能,综合考虑选用方案二。
2.4温度传感器的选择
方案一:
用热电偶来作为检测温度的元器件,配合适当的外围电路,将检测到的温度信号送入单片机AT89C51处理。
方案二:
用热敏电阻作为检测温度的元器件,经过运算放大器放大,由于温度变化会引起热敏电阻的电阻值发生相应的变化、便可以得到输出电压变化的信号。
方案三:
用高精度集成温度传感器DS18B20作为检测温度的元器件,直接输出数字温度信号给单片机处理[5]。
对于方案一,采用热电偶作为检测元器件,其检测的温度范围非常宽,可检测-50摄氏度到1600摄氏度,但是电路设计比较复杂,故本设计不采用该方案。
对于方案二,采用热敏电阻价格相对便宜、元器件也很容易买到,但热敏电阻对温度的变化不是很敏感,在检测温度信号的时候,还有可能产生失真和误差,故本设计不采用该方案。
对于方案三,由于温度传感器DS18B20的集成度很高,大大减少了外接电路,从而检测误差也会变小很多,DS18B20检测温度的原理与前面两种方案的原理有着很大的不同。
其检测到的温度值可以直接送入单片机处理,不用编写更多的转换程序,简化了程序的编写,且只用一根线便可与单片机相连,接口相当简单,本次设计采用该方案。
关于DS18B20的详细参数参看下面“硬件设计”中的器件介绍。
2.5超声波发射器的选择
本设计的原理是根据蚊子的生理特性来的,主要灵感来源是现在的智能手机上带有驱蚊的软件。
在夏天咬人的一般都是雌蚊,雄蚊几乎是不咬人的,雌蚊在夏天大部分都是怀卵的且在怀卵期间又不喜欢与雄蚊接近,因此当它们感觉到雄蚊发出频率在22KHZ的超声波信号时,就会自动离开,因此只需控制超声波发射器发射出模拟雄蚊的超声波就可达到驱蚊的目的。
产生该频率的超声波有一下两种方案:
方案一:
可以通过软件编写,定时器T1产生频率在22KHZ的方波信号,并通过并联的反相器用来增大驱动能力,然后接入超声波发射器,使超声波发射器发出模拟雄蚊的超声波,从而驱逐雌蚊,进而可以避免蚊子的叮咬。
方案二:
用NE555构成多谐振荡器产生可调频率的方波,从而驱动超声波发射器,使其发射我们需要的超声波信号,达到驱蚊目的[6]。
对于方案一:
AT89C51单片机定时器T1工作在方式1,可通过初值的设置,输出22KHz的时钟信号输出,不用反复中断,提高了系统的执行效率。
超声波发射器选择的是TCT40-16T,为了增大驱动能力,单片机P3.5口产生的方波信号经过并联反相器后加在超声波发射器的两端,这样超声波发射器就可以发射22KHz的超声波,本设计采用该方案。
关于TCT40-16T的详细参数参看下面“硬件设计”中的器件介绍。
对于方案二:
由于NE555产生的超声波频率调节是依靠调节滑动变阻器实现的,不好可视化的调节频率,不方便用户使用。
3系统主要硬件电路设计
3.1系统总体设计
本次设计的思路:
本次设计主要利用AT89C51单片机为控制核心,利用温度传感器DS18B20采集当前温度送入单片机处理,单片机根据当前温度与预设温度的比较决定是否开启风扇,并通过五段LED数码管显示当前温度和预设温度。
当当前温度高于预设温度,风扇开启,低预设温度时风扇关闭。
单片机根据当前的温度输出相应占空比的PWM脉冲,并通过ULN2803增大驱动后,送入12V的直流电机,从而产生不同转速。
本次设计的系统总框图如图3.1所示:
图3.1系统总体框图
3.2电源电路设计
直流稳压电源作为直流能源的提供者,在电路中起到很关键的作用,因此对电源的要求比较高,尤其是对电源纹波系数和输出电流能力的要求上,如果电源没有达到设计所需电源的要求,将直接影响系统的正常工作。
常用的转5V电源有线性型稳压芯片和开关型稳压芯片两大类。
线性型稳压芯片线性度高,纹波小,外围电路简单。
开关型稳压电路功耗小,转换率高,但纹波大,受尖峰脉冲干扰严重。
综合考虑选用线性型三端稳压芯片LM7805。
本次设计需要两个幅度不同的直流电压5V和12V。
其中5V电压的产生是将市电~220V交流电经过降压器降压,桥式整流滤波后送入稳压器件LM7805,输出的电压可能还含有纹波,在通过470uf带极性的电容滤除低频信号,0.1uf不带极性的电容滤除高频信号,进而可以得到稳定的5V电压[7]。
12V电压只需将5V电压经过运算放大器放大即可得到,5V和12V电压产生电路如图3.2(a)和3.2(b)所示:
图3.2(a)5V电压产生电路
图3.2(b)12V电压产生电路
3.3单片机最小系统电路设计
3.3.1AT89C51简介
AT89C51是美国ATMEL公司生产的低电压单片机,其含有4K字节的ROM和256字节的RAM,兼容MCS-51指令。
其中央处理器是8位的,且含有Flash存储单元,功能非常强大。
AT89C51单片机具有以下标准的功能:
一个8位CPU频率范围1.2-12MHZ,4K字节Flash闪存,256字节内部数据存储器RAM,4个8位并行I/O口,一个全