南京信息工程大学基于单片机的智能风扇控制本科学位论文.docx
- 文档编号:4592256
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:30
- 大小:317.19KB
南京信息工程大学基于单片机的智能风扇控制本科学位论文.docx
《南京信息工程大学基于单片机的智能风扇控制本科学位论文.docx》由会员分享,可在线阅读,更多相关《南京信息工程大学基于单片机的智能风扇控制本科学位论文.docx(30页珍藏版)》请在冰豆网上搜索。
南京信息工程大学基于单片机的智能风扇控制本科学位论文
目录
1引言4
2方案设计5
2.1系统整体设计5
2.2方案论证5
2.2.1温度传感器的选择6
2.2.2红外探测的选择6
2.2.3控制核心的选择6
2.2.4显示器件的选择7
2.2.5调速方式的选择7
2.2.6驱动方式选择8
3硬件设计8
3.1系统各器件简介8
3.1.1单线程数字温度传感器DS18B208
3.1.2AT89S52单片机简介9
3.1.3桥式驱动电路L298N简介10
3.1.4LCD1602简介11
3.2各部分电路设计12
3.2.1开关复位与晶振电路12
3.2.2独立控制键盘电路13
3.2.3LCD显示电路13
3.2.4红外探测电路...................................................................................................................................................13
3.2.5温度采集电路14
3.2.6风扇驱动电路14
4软件设计15
4.1主程序流程图15
4.2液晶显示子程序17
4.3DS18B20温度传感器子程序19
4.3.1温度读取程序19
4.3.2温度处理程序21
4.4键盘扫描子程序23
4.5温度比较处理子程序24
4.6电机控制程序(包含红外探测)26
4.7软件设计中的问题与分析28
4.7.1LCD显示程序的问题28
4.7.2DS18B20的显示程序问题28
5硬件调试29
5.1按键电路的调试29
5.2温度传感器电路的调试29
5.3电机电路的调试29
5.4红外感应电路的调试29
5.5硬件调试遇到的问题29
6结论29
参考文献30
基
基于单片机的智能风扇控制
南京210044
摘要:
风扇是人们日常生活中必不可缺的工具,尤其是在夏天,因其价格便宜,用电量较之空调有很大优势,故在中国还有较大市场。
本文将以AT89S52为主控芯片,辅以DS18B20温度传感器,结合红外探测装置,来实现一种智能温控电扇的设计。
此风扇通过液晶显示器来显示温度和风速,配备2个温度设定按键,由DS18B20读取外界温度,红外探头探测是否有人,通过设定的温度配合程序来调节风速,最后通过L298N来驱动电机。
经过调试,风扇可以按照温度智能变速,无人自动关闭,实现了智能温控的目标。
关键词:
DS18B20;AT89S51;红外探头;液晶显示器1602;L298N
SmartfancontrolbasedonMCU
WangXuelei
NUIST,Nanjing210044,China
Abstract:
Thefansisanindispensabletoolsinpeople'sdailylife,especiallyinthesummer.becausetheirpriceischeapandtheirelectricityconsumptionhasagreatadvantagecomparedwithair-conditioning,sotheyhavealargemarketsofarinChina.ThisarticlewilluseAT89S52asthemainchipandcombinedwithDS18B20temperaturesensor,infrareddetectiondevice,toachieveanintelligenttemperaturecontrolfandesign.ThisfanthroughtheLCDdisplaytoshowthetemperatureandwindspeed,wecansettemperaturebytwobuttons.Atthesametime,theDS18B20readtheoutsidetemperature,infraredsensortodetectwhethersomeoneandanalysetheabovedatasbyAT89S52toadjustthewindspeedbysettingthetemperaturewiththeprogram,andfinallythroughL298Ntodrivethemotor.Afterdebugging,theintelligentfancanbeinaccordancewiththetemperatureintelligentcontrolandautomaticshutintheenvironmentwithnobodytoachievethegoalofintelligenttemperaturecontrol.
Keyword:
DS18B20;AT89S51;infraredprobe;LCDMonitor1602;L298N
1引言
电扇是人们日常生活中常用的降温工具,从开始的吊扇到现在的USB风扇,无处不见电扇的踪迹。
虽然如今空调已经走进千家万户,但是作为一种节能环保,并且廉价简单的降温工具,电扇还在很多家庭生活中发挥着自己独特的作用。
但也随着人们要求的多样化和科学技术的进步,各种多功能的智能风扇在市场上暂露头角并逐渐取代传统风扇。
在产品智能化过程中单片机因为其智能化程度高,控制精度高,操作简单,廉价易得,抗干扰能力强等特点,在产品中得到了很好的应用。
为提高风扇的市场竞争力,使之在技术含量和人性设计上有所提高,满足现在人们对智能化的要求和人性化的要求。
大学四年即将结束,为了检验自己的学习情况,我决定使用之前所学习到的硬件知识结合相关的软件基础来制作一个基于51单片机的智能温控风扇,该风扇具有随温度自动调节风速的功能,并且在无人时可以自动关闭,并且可以让使用者依据自身对温度的敏感程度要求来设定基准温度,从而实现了人性化与智能化的双重目标。
2方案设计
2.1系统整体设计
本设计的整体思路是:
利用温度传感器DS18B20来检测环境温度,并依据DS18B20的功能特性直接输出数字温度给51单片机进行处理,并将实时温度、设置温度、风速显示在LCD1602上。
用2个可调按键辅助设置温度,一个用于提高设置温度,一个则用来降低设置温度,设置温度只能是整数型式,检测到的环境温度可以精确到小数点后一位。
本系统还配备一个红外探头,用于探测出风范围内是否有人,若在无人的情况下则自动关闭风扇。
否则在开启电风扇的情况下同时采用单片机模拟PWM脉宽调制方式来改变直流电扇电机的转速。
系统整体结构框图1所示:
图1 整体系统结构图
2.2方案论证
本设计要求实现在温度变化的情况下直流电机风扇的转速随之改变,并且能够在无人的情况和温度低于设定温度的时候自行停止,因此需要较高的温度分辨率和稳定的探测工具以及可靠的电机控制部件。
2.2.1温度传感器的选择
在本设计中,温度传感器的选择方案有以下两种:
方案一:
采用热敏电阻。
热敏电阻的特性就是阻值可以随温度随之变化,采用热敏电阻作为检测温度的核心部件,然后通过放大电路进行信号放大,再将放大后微弱电压变化信号通过ADC0809进行模数转换,将其转化成数字信号并输入单片机处理。
方案二:
单总线数字温度计DS18B20。
DS18B20数字温度传感器直接把温度转换为数字量,单片机可以直接读取。
对于方案一,如若采用热敏电阻作为温度采集元件,则价格方面比较便宜且元件易得,但是热敏电阻的缺点也是显而易见,对于温度细微变化该元件反应不敏感,而且在后续的放大和转换电路中还会造成采集数据的失真和误差,并且热敏电阻的变化曲线为非线性,每个热敏电阻都不同,还需要单独测试描绘出每个热敏电阻的曲线,虽然可以通过软件方法来实现对该元件误差的修正,但是这会使得电路的复杂性增加,并且在人体所在的实际环境中难以检测到细微较小的温度变化。
所以这个方案在本设计中难以胜任。
对于方案二,DS18B20温度传感器的测量范围从-55℃至+125℃,增量值为0.5℃,因此人体所处的环境温度包括在其中,且该传感器分辨率较高,对温度变化反应灵敏,获取的温度误差小。
DS18B20的一大优势是其能将收集到温度值在自己的器件内部就直接转化成数字信号输出,从而大大简化了系统设计,同时由于该温度传感器采用了明了的单总线技术,使得它的接口与相应的单片机接口变得非常简洁,同时使系统的抗干扰能力也得到了显著的提高,所以本系统采用这个方案。
2.2.2红外探测的选择
方案一:
热释电红外探测模块。
作为一款应用广泛的红外探测模块,具有高灵敏度,可靠性强,工作电压低等特点,在各种场合被广泛使用。
但是该模块的使用环境要求应尽量避免流动的风,具有流动的风的环境会对该感应器造成干扰。
因此该模块与本设计所需环境有冲突,所以方案一不适用。
方案二:
对射式光电开关。
对射式光电开关是由一红外线发射管与一红外线接收管配对组成使用的一款光电开关。
该开关在电路中作用是通过光来传播电路,当红外线发射管跟接受管间有物体阻挡时,电路便会停止工作。
利用这个特性,系统就能判断所影响的环境中是否有人,与本系统设计没有任何冲突,所以就采用这种方案。
2.2.3控制核心的选择
本设计采用AT89S52单片机作为系统的控制核心,通过软件编程的方法对温度的进行实时检测与判断,并在I/O口上输出控制信号,进而控制电机工作。
AT89S52是一种低功耗,高性能CMOS8位微处理器,具有8K在系统可编程AT89S523引脚图DIP封装Flash存储器。
片内含8K字节的只读程序存储器ROM和256字节的随即数据存储器RAM,兼容标准MCS-51指令系统并使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令与引脚完全兼容。
片上Flash允许程序存储器在系统可编程,也同样适用于常规编程器,价格便宜,与本系统的设计相符合。
2.2.4显示器件的选择
方案一:
LED共阴极数码显示管。
方案二:
LCD液晶显示屏1602。
对于方案一,数码管具有成本低,功耗小,可视距离较远等特点,同时显示温度的程序也相对简单,因此这种显示方式在很多场合得到了广泛应用。
但是它采用的显示方式是通过动态扫描,然后逐个点亮各个LED,因此会产生闪烁,在本设计这个温度实时变化的环境中闪烁可能太快,数据可能不能很好的显示出来,故此方案不采用。
对于方案二,液晶显示屏显示字符清晰,自带背光,还能显示符号,并且不会不断闪烁,显示性能一流,并且考虑到此设计不只是要显示温度,还要显示电机和红外的状态,所以从设计完善的角度来考虑,选择此方案更有优势。
2.2.5调速方式的选择
方案一:
采用数模转化芯片DAC0832来控制,有单片机根据当前环境温度输出数值到DAC0832中,再由DAC0832产生相应的模拟信号控制晶闸管的导通角,从而采用无级调速电路实现电扇电机转速的调节。
方案二:
采用单片机软件模拟PWM调速的方法。
PWM是一种按照一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是矩形波PWM信号,在控制时调节PWM波的占空比。
占空比是指高电平在一个周期时间内的百分比。
在控制电机的转速时,占空比越大,转速就越快,若全为高电平时占空比为100%,此时转速达到最大[2]。
用单片机的I/O口输出PWM信号时,有如下三种方法:
(1)利用软件延时。
当高电平延时时间到时,对I/O口电平取反,使其变成低电平,再延时一定时间,反之在低电平延时到时,对I/O口电平取反,如此循环即可得到PWM信号。
本设计就是采用了这种方法。
(2)利用定时器。
控制方法与
(1)相同,只是在该方法中利用单片机的定时器来进行高低电平的转变,而不是利用软件的延时。
应用此方法时编程相对复杂,故不予以采用。
(3)利用单片机自带的PWM控制器。
STC系列单片机自带PWM控制器,但本系统使用的AT89系列单片机没有此功能,所以不能使用。
对于方案一,该方案能实现对直流电机的无级调速,速度变化灵敏,但是D/A转换芯片价格较高,性价比不高,不采用。
对于方案二,相对于其他方案来说,采用软件模拟PWM实现调速的过程,具有个高的性价比与灵活性,充分的发挥了单片机自身的性能,对本系统的实现又提供了一条有效的途径。
所以综合考虑还是选择方案二的第一种。
2.2.6驱动方式选择
方案一:
达林顿反向驱动器ULN2803。
方案二:
电桥驱动电路L298N。
对于方案一,作为一款反向驱动器,ULN2803应用广泛,驱动效果也很好,与TTL信号兼容性很好,但是在后续的硬件电路中表现不佳,风扇转速改变不明显,而且在最高档出现断档的情况,风扇不转,在修改硬件电路,修改程序后依旧效果不佳,驱动力明显不足,故方案一中途停用。
对于方案二,由于之前已经有使用过,对L298N这个桥式驱动模块的应用上手快速,驱动能力也比ULN2803好很多,驱动风扇5档变速的实际效果明显,故采用方案二。
3硬件设计
系统主要器件包括温度传感器DS18B20、AT89S51单片机、液晶显示屏LCD1602、桥式驱动模块L298N、对射式光电开关开关和风扇。
辅助元件包括电容电阻、晶振、电源、按键、变压器等。
3.1系统各器件简介
3.1.1单线程数字温度传感器DS18B20
本系统的温度采集使用DS18B20数字温度传感器。
DS18B20是一种具有单总线接口的数字温度传感器,具有体积小,功耗低,抗干扰能力强和单片机借口简单等优点。
DS18B20的工作电压范围是3.0~5.5V,测量温度范围-55~+125℃
其特性如下:
1.单总线接口。
与单片机连接时只需要单片机的的一个I/O口,该单总线能够实现单片机与DS18B20的双向通信。
同时该器件除上拉电阻外,不需要任何外围器件支持。
2.可使用数据线供电。
当对系统空间要求严格时,DS18B20可以通过数据线供电。
3.可以编程的9~12位数据分辨率。
9~12位数据分辨率对应的可分辨温度分辨为0.5℃,0.25℃,0.125℃,和0.0625℃。
当使用9位数据分辨率时,DS18B20最快可在93.75ms内完成温度转换,当使用12位数据分辨率时。
最快可在750ms内完成温度转换。
4.多点组网测量功能。
多个DS18B20可以通过同一根数据线组成分布式测量网[3]。
图2 温度传感器DS18B20
3.1.2AT89S52单片机简介
AT89S52是一种低功耗,高性能CMOS8位微处理器,具有8K在系统可编程AT89S523引脚图DIP封装Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令与引脚完全兼容。
片上Flash允许程序存储器在系统可编程,也同样适用于常规编程器。
在单芯片上,拥有灵巧方便的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活,超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM,定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
P0口:
P0口是一个8位漏极开关的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在Flash编程时,p0口也用来接受指令字节;在程序效验时,输出指令字节。
程序效验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动AT89S52引脚图PLCC封装4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
图3 AT89S52脚图DIP封装
3.1.3桥式驱动电路L298N简介
本系统要用单片机控制风扇直流电机,需要加驱动电路,为直流电机提供足够大的驱动电流,并能在模拟PWM波的情况下实现风扇转速的改变。
在本系统驱动电路中,选用桥式驱动电路L298N来驱动风扇直流电机。
L298N在使用时接口简单,操作方便,可为电机提供稳定的驱动电流,可以同时驱动两台直流电机,可以在模拟PWM波的情况下很好的输出信号,实现风扇转速的平滑改变。
L298N是专用驱动集成电路,属于H桥集成电路,与L293D的差别是其输出电流增大,功率增强。
其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,(二相、三相、四相)步进电机,伺服电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。
当驱动直流电机时,可以直接控制两路电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。
模块接口说明:
+5V:
芯片电压+5V。
VCC:
电机电压,最大可接50V。
GND:
共地接法。
EN1、EN2:
高电平有效,EN1、EN2分别为IN1和IN2、IN3和IN4的使能端。
IN1~IN4:
输入端,输入端电平和输出端电平是对应的。
3.1.4LCD1602简介
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
一般1602字符型液晶显示器实物如图:
图5 LCD1602
LCD1602主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3.1.5对射式光电开关简介
图6 对射式光电开关
光电开关E18的技术参数:
1、输出电流DC/SCR/继电器Controloutput:
100mA/5V供电
2、消耗电流DC<25mA
3、响应时间<2ms
4、指向角:
≤15°,有效距离3-50CM可调
5、检测物体:
透明或不透明体
6、工作环境温度:
-25℃~+55℃
7、标准检测物体:
太阳光10000LX以下白炽灯3000LX以下
8、外壳材料:
塑料
电气特性:
U:
5VDC
I:
100mA
Sn:
3-50CM
3.2各部分电路设计
3.2.1开关复位与晶振电路
单片机系统中,有两个非常重要的电路,一个是开关复位电路,用来对单片机本身和其外部扩展I/O接口电路进行复位,还有一个是晶振电路,用于产生谐振,使单片机得以工作。
电路图如图7所示:
图7 晶振电路与复位电路
单片机的XTAL1和XTAL2用来外界石英晶体和微调电容,连接单片机内OSC的定时反馈电路。
如图所示,当按下按键开关是,系统复位一次。
其中电容C1、C2为20pF,C3为10uF,电阻R1为10k,晶振为12MHz。
3.2.2独立控制键盘电路
本设计还有两个独立按键,分别连接单片机的P3.2口和P3.3口,如图8所示:
图8 按键电路
独立按键S1和S2一端与单片机相连,另一端接地,当按下时,P3口读取低电平有效。
系统上电进入工作后,扫描按键子程序,此时可以设定温度。
其中S1为加按键,S2为减按键,每按下一次后,都会使对应的预设值加一或者减一。
3.2.3LCD显示电路
本设计采用的是LCD1602A作为显示模块,它与单片机的连接如图9所示。
其中第一行显示温度与红外探测结果,温度显示到小数点后2位。
第二行显示设定温度与风扇的风力等级。
图9 LCD连接电路
3.2.4红外探测电路
红外光电开关一共有三个接口,一个接+5V,一个接地,还有一端与单片机相连,输出高电平或者低电平信号,在电路中直接用按键开关代替了,就是按键电路中的开关S3。
3.2.5温度采集电路
DS18B20数字温度传感器通过其内部计数时钟周期来的作用,实现了特有的温度测量功能。
低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先置有与-55℃相对应的一个基权值。
如果计数器计数到0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南京 信息 工程 大学 基于 单片机 智能 风扇 控制 本科 学位 论文