基于单片机的智能风扇控制系统论文文档格式.docx
- 文档编号:19247167
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:29
- 大小:624.26KB
基于单片机的智能风扇控制系统论文文档格式.docx
《基于单片机的智能风扇控制系统论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能风扇控制系统论文文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。
过去的电器不断的显露出其不足之处,电风扇作为家用电器的一种,同样存在类似的问题。
传统的电风扇较为突出的缺点是:
一是风扇的风力大小不能根据温度的变化自动的调节风速,对于那些昼夜温差比较大的地区,这个自动调节风速就显得优其的重要了,特别是人们在熟睡时常常没有觉察到夜间是温度变化,那样既浪费电资源又容易引起感冒;
二是传统的风扇是用机械式的定时方式,机械式的定时方式常常会伴随着很大的机械运动的声音,特别是在夜间影响人们的睡眠质量,机械定时也有一定的局限性,定时范围有限;
三是传统的电风扇没有远程遥控控制电风扇的功能,对平时需要调节风扇风速,而又不想走近风扇带来很多不便。
鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。
我们都知道,传统电风扇多采用机械方式进行控制,功能少,噪音大,各档的风速变化大,况且,档速调换也不方便。
而基于AT89C51单片机的智能电风扇调速器的设计,巧妙的利用红外线遥控技术、单片机控制技术、无级调速技术和温度传感技术,把智能控制技术应用于家用电器的控制中,将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速,从而达到无须人为控制便可自动调整风速的效果。
2芯片介绍
2.1AT89C51单片机介绍
AT89C51为ATMEL所生产的可电气烧录清洗的8051相容单芯片,其内部程序代码容量为4KB[2]。
1、AT89C51主要功能列举如下:
为一般控制应用的8位单芯片
晶片内部具时钟振荡器(传统最高工作频率可至12MHz)
内部程式存储器(ROM)为4KB
内部数据存储器(RAM)为128B
外部程序存储器可扩充至64KB
外部数据存储器可扩充至64KB
32条双向输入输出线,且每条均可以单独做I/O的控制
5个中断向量源
2组独立的16位定时器
1个全多工串行通信端口
2、AT89C51各引脚功能介绍如图3.1所示。
图2.1AT89C51引脚图
VCC:
AT89C51电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一30PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89C51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89C51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/VPP:
"
EA"
为英文"
ExternalAccess"
的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序[3]。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用8751内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
ALE/PROG:
ALE是英文"
AddressLatchEnable"
的缩写,表示地址锁存器启用信号。
AT89C51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89C51是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"
ProgramStoreEnable"
的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89C51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。
PORT1(P1.0~P1.7):
端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
PORT2(P2.0~P2.7):
端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。
P2除了当做一般I/O端口使用外,若是在AT89C51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了[4]。
PORT3(P3.0~P3.7):
端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
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,外部数据存储器的读取信号。
2.2温度传感器DS18B20介绍
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器[5]。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:
(1)系统的特性:
测温范围为-55℃~+125℃,测温精度为士0.5℃;
温度转换精度9~12位可变,能够直接将温度转换值以16位二进制数码的方式串行输出;
12位精度转换的最大时间为750ms;
可以通过数据线供电,具有超低功耗工作方式。
(2)系统成本:
由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。
一支DS18B20的体积与普通三极管相差无几,价格只有十元人民币左右。
(3)系统复杂度:
由于DS18B20是单总线器件,微处理器与其接口时仅需占用1个I/O端口且一条总线上可以挂接几十个DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工量。
(4)系统的调试和维护:
由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。
同时因为DS18B20是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。
DS18B20温度传感器只有三根外引线:
单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长[6]。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。
另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。
1、DS18B20的性能特点
DS18B20的引脚图如图2.3所示。
独特的单线接口仅需要一个端口引脚进行通信;
多个DS18B20可以并联在惟一的三线上,实现多点组网功能;
无须外部器件;
可通过数据线供电,电压范围为3.0~5.5V;
零待机功耗;
温度以9或12位数字;
用户可定义报警设置;
报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
DS18B20的引脚功能描述如表1所示。
图2.3DS18B20的引脚排列
表1DS18B20引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源
3
VDD
可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地
2、DS18B20的内部结构
DS18B20的内部框图如图2.4所示。
64位ROM存储器件独一无二的序列号。
暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。
暂存器还提供一字节的上线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。
暂存器的5、6和7字节器件内部保留使用。
第八字节含有循环冗余码(CRC)。
图2.4DS18B20的内部框图
该技术采用单根信号线,既可传输时钟,也能传输数据,而且是双向传输。
适用于单主机系统,主机能够控制一个或多个从机设备,通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能释放该线,而让其他设备使用。
单线通常要求外接一个5K的上拉电阻,这样当该线空闲时,其状态为高电平。
主机和从机之间的通讯分成三个步骤:
初始化单线器件、识别单线器件和单线数据传输[7]。
单线1—wire协议由复位脉冲、应答脉冲、写0、写1、读0、读1,这几种信号类型实现,这些信号中除了应答脉冲其他都由主机发起,并且所有指令和数据字节都是低位在前。
DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。
表2部分温度值与DS18B20输出的数字量对照表
温度值/℃数字输出(二进制)数字输出(十六进制)
+125000001111101000007D0H
+8500000101010100000550H
+25.62500000001100100010191H
+10.125000000001010001000A2H
+0.500000000000010000008H
000000000000000000000H
-0.51111111111111000FFF8H
-10.1251111111101101110FF5EH
-25.6251111111101101111FF6FH
-551111110010010000FC90H
3硬件电路及系统原理分析
3.1系统总体设计
系统总体设计图如图3.1所示。
图3.1系统总体设计结构图
本系统是以单片机为核心,由数字温度传感器DS18B20、温度、档位显示、电机调速电路和蜂鸣器报警电路组成。
通过键盘可以控制系统为几个不同的工作状态,休眠状态、自动档以及手动的几个档位进行工作。
对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有4KB片内E2PROM的AT89C51单片机作为中央处理器作为整个控制系统的核心,AT89C51内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统[8]。
整个系统结构紧凑,抗干扰能力强,性价比高。
3.2功能描述
传统电风扇供电采用的是220V交流电,电机转速分为几个档位,通过人工手动调整电机转速达到改变风速的目的,亦即,每改变一次风力,必然有人参与操作,这样就会带来诸多不便[9]。
图3.2系统总体原理图
本设计是以AT89C51单片机控制中心,主要通过提取温度传感器DS18B20得到的温度以及内部定时器设定时间长短来控制电风扇的开关及转速的变化。
电风扇可工作在两种状态:
手动调速状态、自动调速状态。
手动状态时可以手动调节速度;
自动状态时通过温度高低自动调节速度:
“温度高,转速快;
温度低,转速慢”;
本设计主要介绍根据温度传感器DS18B20所采集的温度来实现自动调速。
在接通电源之后,CPU处于休眠状态,当用户选择了相应的按键即挡位(自动挡、1挡、2挡、3挡)之后,风扇就进入了相应的工作状态。
本风扇系统的自动档是通过数字温度传感器DS18B20测量环境温度,在测量完温度之后,通过LED数码管显示出实时温度,第四位显示的是当前温度的警告信息[10]。
C标识温度不是很高(30度以下),处于1挡进行工作;
E标识温度稍高一点(30~35度之间),用2挡工作,风扇转速快一点,降温快;
F标识温度很高(37度以上),应该让风扇处于最快的转速,以快速的降低温度。
还有一位数码管是单独的显示档位的。
系统总体电路图如图3.2所示。
3.3单片机最小系统电路
在设计的温度控制系统设计中,控制核心是STC89C52单片机,该单片机为51系列增强型8位单片机,它有32个I/O口,片内含4KFLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1μS[11]。
使用该单片机完全可以完成设计任务,其最小系统主要包括:
复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图3.3所示。
图3.3单片机最小系统
3.4键盘控制电路
单片机系统中完成控制参数输入及修改的基本输入设备,是人工干预系统的重要手段[12]。
按编码方式可分为编码键盘与非编码键盘。
按键组连接方式可分为独立连接式键盘与矩阵连接式键盘。
独立键盘:
每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。
其优点是硬件、软件结构简单,判键速度快,使用方便;
缺点是占I/O口线多。
多用于设置控制键、功能键。
适用于键数少的场合。
矩阵键盘:
键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。
逐线扫描,得出键码。
其特点是键多时占用I/O口线少,硬件资源利用合理,但判键速度慢。
多用于设置数字键,适用于键数多的场合。
鉴于以上独立键盘和矩阵键盘的特点,本系统使用按键较少,对按键的速度要求不是很高,因此我们选择独立键盘作为本系统的输入部分。
如图3.4所示。
图3.4键盘控制电路
3.5数码管显示电路
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
本设计一共用5个数码管显示:
即前3个显示温度,第4个显示温度单位C,第5个显示档位。
通过单片机的P1口控制数码管的段选信号,用P2口的P2.0到P2.4控制数码管的位选[13]。
通过DS18B20采集温度信号,并作为单片机的输入信号,根据输入信号的不同,通过不同的软件程序产生相应的输出信号来控制数码管的显示。
数码管显示电路如图3.5所示。
图3.5数码管显示电路
3.6电机调速电路
电机调速是整个控制装置中的一个相当重要的方面。
通过控制改变双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。
3.6.1电机调速原理
双向可控硅的导通条件如下:
(1)阳-阴极间加正向电压;
(2)控制极-阴极间加正向触发电压;
(3)阳极电流IA大于可控硅的最小维持电流IH。
电风扇的风速从高到低设为3、2、1档,每档风速都有一个限定值。
在额定电压、额定功率下,以最高转速运转时,要求风叶最大圆周上的线速度不大于2150m/min。
且线速度可由下列公式求得
V=πDn×
103
(1)
式
(1)中,V为扇叶最大圆周上的线速度(m/min),D为扇中的最大顶端扫出圆的直径(mm),n为电风扇的最高转速(r/min)。
代入数据求得n3≤1555r/min,取n3=1250r/min.又因为:
取n1=875r/min。
则可得出五个档位的转速值:
n1=1063r/min,n2=1150r/min,n3=1250r/min
又由于负载上电压的有效值
u0=u1
(2)
式
(2)中,u1为输入交流电压的有效值,α为控制角。
解得:
当α3=0°
时,t=0ms;
当α2=23.5°
时,t=1.70ms;
当α1=46.5°
时,t=2.58ms;
上述计算出的是控制角和触发时间,当检测到过零点时,按照所求得的触发时间延时发脉冲,便可实现预期转速[14]。
3.6.2电机控制模块设计
本模块电路中采用了过零双向可控硅型光耦MOC3041M,集光电隔离、过零检测、过零触发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷,简化了输出通道隔离2驱动电路的结构。
所设计的可控硅触发电路原理图见图3.6。
其中RL即为电机负载,其工作原理是:
单片机响应用户的参数设置,在I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控硅,使工作电路导通工作。
给定时间内,负载得到的功率为:
(3)
式中:
P为负载得到的功率(kW);
n为给定时间内可控硅导通的正弦波个数;
N为给定时间内交流正弦波的总个数;
U为可控硅在一个电源周期全导通时所对应的电压有效值(V);
I为可控硅在一个电源周期全导通时所对应的电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 风扇 控制系统 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)