毕业论文(设计):基于单片机的智能电风扇控制系统设计第1节引言 (3)1.1智能电风扇控制系统概述 (3)1.2本设计任务和主要内容 (3)第2节系统主要硬件电路设计 (5)2.1总体硬件设计 (5)2.2数字温度传感器模块设计 (5)2.2.1温度传感器模块的组成 (5)2.2.2 DS18B20的温度处理方法 (6)2.3电机调速与控制模块设计 (7)2.3.1电机调速原理...................................................72.3.2电机控制模块硬件设计...........................................82.4温度显示与控制模块设计.............................................9第3节系统软件设计 (10)3.1数字温度传感器模块程序设计 (10)3.2电机调速与控制模块程序流程 (15)3.2.1程序设计原理 (15)3.2.2主要程序 (16)第4节结束语.............................................................19 参考文献.................................................................基于单片机的智能电风扇控制系统第1节引言电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称, 家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。
其主要原因:一是风扇和空调的降温效果不同一一空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。
尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。
鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。
1.1智能电风扇控制系统概述传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。
本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。
从而达到无须人为控制便可自动调整风力大小的效果。
1.2设计任务和主要内容本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。
另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。
本设计主要内容如下:①风速设为从高到低5个档位,可由用户通过键盘手动设定。
②当温度每降低2笆则电风扇风速自动下降一个档位。
③当温度每升高2C则电风扇风速自动上升一个档位。
④用户可设定电风扇最低工作温度,当低于该温度时,电风扇自动停转。
第2节系统主要硬件电路设计2.1总体硬件设计系统总体设计框图如图2-1所示图2-1系统原理框图对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有4KB片内E2PR0M的AT89C51单片机作为中央处理器。
作为整个控制系统的核心,AT89C51内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。
整个系统结构紧凑,抗干扰能力强,性价比高。
是比较合适的方案2.2数字温度传感器模块设计温度传感器可以选用LM324A的运算放大器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,但这种方案需要多次检测后方可使采样精确,过于烦琐。
所以我采用更为优秀的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。
2. 2. 1温度传感器模块组成本模块以DS18B20作为温度传感器.AT89C51作为处理器,配以温度显示作为温度控制输出单元。
整个系统力求结构简单,功能完善。
电路图如图2-2所示。
系统工作原理如下:DS18B20进行现场温度测量.将测量数据送入AT89C51的P3.7 口,经过单片机处理后显示温度值,并与设定温度值的上下限值比较,若高于设定上限值或低于设定下限值则控制电机转速进行调整o图2-2 DS18B20温度计原理图2. 2. 2 DS18B20的温度处理方法DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。
制)温度值/C数字输出(二进数字输出(十六进制)表2-1部分温DS18B20输出的数字量对照2.3电机调速与控制模块设计电机调速是整个控制系统中的一个重要的方面。
通过控制双向可控硅的导通 角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风 扇的转速,实现各档位风速的无级调速。
可控硅的导通条件如下:+85 °C 0000+25. 625 °C 0001+10. 125 °C 0010 +0. 5 °C 0008H 0°C 0000H 0000 0101 01010550H0000 0001 1001 0191H0000 0000 1010 00A2H0000 0000 0000 1000 0000 0000 0000 0000-0. 5 °C FFF8H -10. 125 °C 1110-25. 625 °C 1111-55 °C 0000mi mi mi FF5EHmi FF6FHmiFC90H mi1000mi ono mi ono1100 10011)阳-阴极间加正向电压;2)控制极-阴极间加正向触发电压;3)阳极电流L大于可控硅的最小维持电流I”电风扇的风速设为从高到低5、4、3、2、1档,各档风速都有一个限定值。
在额定电压、额定功率下,以最高转速运转时,要求风叶最大圆周上的线速度不大于2150m/mino且线速度可由下列公式求得V=^£>HX103式中,V为扇叶最大圆周上的线速度(m/min), D为扇中的最大顶端扫出圆的直径(mm) ; n为电风扇的最高转速(r/min)。
代入数据求得心< 1555r/min,取〃$ =1250 r/min,又因为:调速比=•普低饕x 100% < 70%最高转速取nl=875 r/min.则可得出五个档位的转速值:n5 =1250r/min七=1150r/min=1063r/minn2 =980r/min=875r/min又由于负载上电压的有效值,兀一a sin 2av 71 2.7t其中,U1为输入交流电压的有效值,a为控制角。
解得:% =0°t=0ms% =23. 5°t=l.70ms% =46. 5°t=2<58msa,=61.5°t=3.43ms% =76.5°t=4.30ms以上计算出的是控制角和触发时间,当检测到过零点时,按照所求得的触发时间延时发脉冲.便可实现预期转速。
2. 3.2电机控制模块硬件设计电路中采用了过零双向可控硅型光耦M0C3041,集光电隔离、过零检测、过零触 发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷,简化了输 出通道隔离2驱动电路的结构。
所设计的可控硅触发电路原理图见图2-3。
其中RL 即为电机负载,其工作原理是:单片机响应用户的参数设置,在1/ 0 口输出一个高 电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控 硅,使工作电路导通工作。
给定时间内,负载得到的功率为:P =顼 N式中:P 为负载得到的功率,kW; n 为给定时间内可控硅导通的正弦波个数;N 为 给定时间内交流正弦波的总个数;U 为可控硅在一个电源周期全导通时所对应的电 压有效值,V;I 为可控硅在一个电源周期全导通时所对应的电流有效值,A 。
由式(1) 可知,当U , I , N 为定值时,只要改变n 值的大小即可控制功率的输出,从而达到调 节电机转速的目的。
图2-3电机控制原理图2.4温度显示与控制模块设计通过HD7279A 控制芯片组建一个单片机键盘输入与显示模块,其中包括一个2*8 的键盘矩阵。
和8段动态扫描数码管显示。
与单片机通过接插件连接,可以用于系 统的控制和输出,其原理图如图2-4所示。
U2.19.图2-4 HD7279A键盘和显示器控制模块电路原理图第三节系统软件设计3.1数字温度传感器模块程序设计本系统的运行程序采用汇编语言编写,采用模块化设计,整体程序由主程序和子程序构成。
图3-1数字温度传感器模块程序流程图如图3-1所示,主机控制DS18B20完成温度转换工作必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。
单片机所用的系统频率为12MHzo根据DS18B20 初始化时序、读时序和写时序分别可编写4个子程序:初始化子程序、写子程序、读子程序、显示子程序。
DS18B20芯片功能命令表如下:表2 DS18B20功能命令表命令功能描述命令代码CONVERT 开始温度转换44H READ SCRATCHPAD 读温度寄存器(共9字节)BEH READ ROM 读DS18B20 序列号33H WRITE SCRATCHPAD 将警报温度值写如暂存器第2、3字节4EH MATCH ROM 匹配ROM 55H SEARCH ROM 搜索ROM FOH ALARM SEARCH 警报搜索ECH SKIP ROM 跳过读序列号的操作CCH READ POWER SUPPLY 读电源供电方式:0为寄生电源,1为外电源B4H主要程序如下:LCALL RST_DS18B20 LCALL GET_TEMPER MOV A, 20HMOV C, 08HRRC AMOV C, 09HRRC AMOV C, 10HRRC AMOV C, 11HRRC AMOV 20H,ALCALL DISPLAY AJMPMAINRST_DS18B20:SETB P3. 7NOPCLR P3. 7MOV Rl, #3RST1:MOV RO, #110 DJNZ RO, $DJNZ Rl, RST1NOPNOPMOV RO, #25HRST2:JNB P3. 7, RST3DJNZ RO, RST2LJMP RST4RST3: SETB FLAGLJMP RST5RST4:CLR FLAGLJMP RST7RST5:M0V RO, #115RST6:DJNZ RO, $RST7: SETB P3. 7RETWR.DS18B20: ;写数据子程序MOV R2, #8CLR CWR1: CLR P3. 7MOV R3, #6DJNZ R3, $RRC AMOV R3, #25DJNZ R3, $SETB P3. 7NOPDJNZ R2, WR1SETB P3. 7RETRD_DS18B20:;读数据子程序MOV R4, #2MOV Rl, #20HREAD1:MOV R2, #8CLR CSETB P3. 7NOPNOPCLR P3. 7NOPNOPNOPSETB P3. 7READ3:DJNZ R3, READ3MOV C, P3. 7MOV R3, #23READ4:DJNZ R3, READ4RRC ADJNZ R2, READ2MOV @R1,AINC R1DJNZ R4, READ1RET3.2电机调速与控制模块程序流程3. 2.1程序设计原理采用双向可控硅过零触发方式,由单片机控制双向可控硅的通断,通过改变每个控制周期内可控硅导通和关断交流完整全波信号的个数来调节负载功率,进而达到调速的目的。