全自动风扇设计范本Word文件下载.docx
《全自动风扇设计范本Word文件下载.docx》由会员分享,可在线阅读,更多相关《全自动风扇设计范本Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
3.1数字温度传感器模块程序设计………………………………………………10
3.2电机调速与控制模块程序流程………………………………………………15
3.2.1程序设计原理……………………………………………………………15
3.2.2主要程序…………………………………………………………………16
第4节结束语…………………………………………………………………………19
参考文献…………………………………………………………………………………20
基于单片机的智能电风扇控制系统
第1节引言
电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。
其主要原因:
一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;
二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。
尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:
当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。
鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。
1.1智能电风扇控制系统概述
传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。
本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。
从而达到无须人为控制便可自动调整风力大小的效果。
1.2设计任务和主要内容
本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。
另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。
本设计主要内容如下:
①风速设为从高到低5个档位,可由用户通过键盘手动设定。
②当温度每降低2℃则电风扇风速自动下降一个档位。
③当温度每升高2℃则电风扇风速自动上升一个档位。
④用户可设定电风扇最低工作温度,当低于该温度时,电风扇自动停转。
第2节
系统主要硬件电路设计
2.1总体硬件设计
系统总体设计框图如图2-1所示
图2-1系统原理框图
对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有4KB片内E2PROM的AT89C51单片机作为中央处理器。
作为整个控制系统的核心,AT89C51内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。
整个系统结构紧凑,抗干扰能力强,性价比高,是比较合适的方案。
2.2数字温度传感器模块设计
温度传感器可以选用LM324A的运算放大器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,但这种方案需要多次检测后方可使采样精确,过于烦琐。
所以我采用更为优秀的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。
2.2.1温度传感器模块组成
本模块以DS18B20作为温度传感器,AT89C51作为处理器,配以温度显示作为温度控制输出单元。
整个系统力求结构简单,功能完善。
电路图如图2-2所示。
系统工作原理如下:
DS18B20进行现场温度测量,将测量数据送入AT89C51的P3.7口,经过单片机处理后显示温度值,并与设定温度值的上下限值比较,若高于设定上限值或低于设定下限值则控制电机转速进行调整。
图2-2DS18B20温度计原理图
2.2.2DS18B20的温度处理方法
DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。
温度值/℃数字输出(二进制)数字输出(十六进制)
+85℃00000101010100000550H
+25.625℃00000001100100010191H
+10.125℃000000001010001000A2H
+0.5℃00000000000010000008H
0℃00000000000000000000H
-0.5℃1111111111111000FFF8H
-10.125℃1111111101101110FF5EH
-25.625℃1111111101101111FF6FH
-55℃1111110010010000FC90H
表2-1部分温度值与DS18B20输出的数字量对照表
2.3电机调速与控制模块设计
电机调速是整个控制系统中的一个重要的方面。
通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。
2.3.1电机调速原理
可控硅的导通条件如下:
1)阳-阴极间加正向电压;
2)控制极-阴极间加正向触发电压;
3)阳极电流IA大于可控硅的最小维持电流IH。
电风扇的风速设为从高到低5、4、3、2、1档,各档风速都有一个限定值。
在额定电压、额定功率下,以最高转速运转时,要求风叶最大圆周上的线速度不大于2150m/min。
且线速度可由下列公式求得
式中,V为扇叶最大圆周上的线速度(m/min),D为扇中的最大顶端扫出圆的直径(mm);
n为电风扇的最高转速(r/min)。
代入数据求得
1555r/min,取
=1250r/min.又因为:
取n1=875r/min.则可得出五个档位的转速值:
=1250r/min
=1150r/min
=1063r/min
=980r/min
=875r/min
又由于负载上电压的有效值
其中,u1为输入交流电压的有效值,α为控制角。
解得:
=0°
t=0ms
=23.5°
t=1.70ms
=46.5°
t=2.58ms
=61.5°
t=3.43ms
=76.5°
t=4.30ms
以上计算出的是控制角和触发时间,当检测到过零点时,按照所求得的触发时间延时发脉冲,便可实现预期转速。
2.3.2电机控制模块硬件设计
电路中采用了过零双向可控硅型光耦MOC3041,集光电隔离、过零检测、过零触发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷,简化了输出通道隔离2驱动电路的结构。
所设计的可控硅触发电路原理图见图2-3。
其中RL即为电机负载,其工作原理是:
单片机响应用户的参数设置,在I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控硅,使工作电路导通工作。
给定时间内,负载得到的功率为:
式中:
P为负载得到的功率,kW;
n为给定时间内可控硅导通的正弦波个数;
N为给定时间内交流正弦波的总个数;
U为可控硅在一个电源周期全导通时所对应的电压有效值,V;
I为可控硅在一个电源周期全导通时所对应的电流有效值,A。
由式
(1)可
知,当U,I,N为定值时,只要改变n值的大小即可控制功率的输出,从而达到调节电机转速的目的。
图2-3电机控制原理图
2.4温度显示与控制模块设计
通过HD7279A控制芯片组建一个单片机键盘输入与显示模块,其中包括一个2*8的键盘矩阵。
和8段动态扫描数码管显示。
与单片机通过接插件连接,可以用于系统的控制和输出,其原理图如图2-4所示。
图2-4HD7279A键盘和显示器控制模块电路原理图
第三节系统软件设计
3.1数字温度传感器模块程序设计
本系统的运行程序采用汇编语言编写,采用模块化设计,整体程序由主程序和子程序构成。
图3-1数字温度传感器模块程序流程图
如图3-1所示,主机控制DS18B20完成温度转换工作必须经过三个步骤:
初始化、ROM操作指令、存储器操作指令。
单片机所用的系统频率为12MHz。
根据DS18B20初始化时序、读时序和写时序分别可编写4个子程序:
初始化子程序、写子程序、读子程序、显示子程序。
DS18B20芯片功能命令表如下:
表2DS18B20功能命令表
命令功能描述命令代码
CONVERT开始温度转换44H
READSCRATCHPAD读温度寄存器(共9字节)BEH
READROM读DS18B20序列号33H
WRITESCRATCHPAD将警报温度值写如暂存器第2、3字节4EH
MATCHROM匹配ROM55H
SEARCHROM搜索ROMF0H
ALARMSEARCH警报搜索ECH
SKIPROM跳过读序列号的操作CCH
READPOWERSUPPLY读电源供电方式:
0为寄生电源,1为外电源B4H
主要程序如下:
…
MAIN:
;
初始化
LCALLRST_DS18B20
LCALLGET_TEMPER
MOVA,20H
MOVC,08H
RRCA
MOVC,09H
MOVC,10H
MOVC,11H
MOV20H,A
LCALLDISPLAY
AJMPMAIN
RST_DS18B20:
SETBP3.7
NOP
CLRP3.7
MOVR1,#3
RST1:
MOVR0,#110
DJNZR0,$
DJNZR1,RST1
MOVR0,#25H
RST2:
JNBP3.7,RST3
DJNZR0,RST2
LJMPRST4
RST3:
SETBFLAG
LJMPRST5
RST4:
CLRFLAG
LJMPRST7
RST5:
MOVR0,#115
RST6:
RST7:
SETBP3.7
RET
WR_DS18B20:
;
写数据子程序
MOVR2,#8
CLRC
WR1:
CLRP3.7
MOVR3,#6
DJNZR3,$
MOVP3.7,C
MOVR3,#25
DJNZR2,WR1
RD_DS18B20:
;
读数据子程序
MOVR4,#2
MOVR1,#20H
READ1:
READ2:
MOVR3,#9
READ3:
DJNZR3,READ3
MOVC,P3.7
MOVR3,#23
READ4:
DJNZR3,READ4
DJNZR2,READ2
MOV@R1,A
INCR1
DJNZR4,READ1
3.2电机调速与控制模块程序流程
3.2.1程序设计原理
采用双向可控硅过零触发方式,由单片机控制双向可控硅的通断,通过改变每个控制周期内可控硅导通和关断交流完整全波信号的个数来调节负载功率,进而达到调速的目的。
由于INT0信号反映工频电压过零时刻,因此只要在外中断0的中断服务程序中完成控制门的开启与关闭,并利用中断服务次数对控制量n进行计数和判断,即每中断一次,对n进行减1计数,如果n不等于0,保持控制电平为“1”,继续打开控制门;
如n=0,则使控制电平复位为“0”,关闭控制门,使可控硅过零触发脉冲不再通过。
这样就可以按照控制处理得到的控制量的要求,实现可控硅的过零控制,从而达到按控制量控制的效果,实现速度可调。
1)回路控制执行程序。
主回路控制执行程序的任务是初始化数据存储单元,确定电机工作参数
/
,并将其换算成“有效过零脉冲”的个数;
确定中断优先级、开中断,为了保证正弦波的完整,工频过零同步中断INT0确定为高一级的中断源。
2)断服务程序,执行中断服务程序时,首先保护现场,INT0中断标志置位,禁止主程序修改工作参数,然后开始减1计数,判断是否关断可控硅,最后INT0中断标志位清零,还原初始化数据,恢复现场,中断返回。
(设1秒钟通过波形数N=100)
中断流程图如图3-2所示:
图3-2电机控制模块中断响应流程图
3.2.2主要程序
外中断INT0的部分中断响应程序如下:
ORG0003H
INTD0:
PUSHACC
PUSHPSW
PUSHDPH
PUSHDPL
SETB24H.0
MOVA,5FH
JZTING1
DECA
MOV5FH,A
LJMPFAN2
TING1:
…
FAN2:
MOVA,5BH
JZTING2
MOV5BH,A
LJMPZONG
TING2:
ZONG:
MOVA,59H
JZKAI
DECA
MOV59H,A
LJMPEXIT
KAI:
CLR24H.0
JB26H.0,KAI2
KAI2:
MOVA,66H
JZEXIT1
EXIT1:
MOV5FH,5AH
MOV5BH,66H
MOV59H,#100
EXIT:
POPDPL
POPDPH
POPPSW
POPACC
RETI
结束语
首先,通过这次应用系统设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在接下来的日子我们都会了,而且会做得更好。
我所写的系统主要根据目前节智能化电风扇技术的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对电风扇转速的自动控制。
系统以单片机AT89C51为核心部件,单片机系统完成对环境温度信号的采集、处理、显示等功能;
用Protel软件绘制电路原理图和PCB电路印刷板图,由Protues软件进行访真测试,利用MCS51汇编语言编制,运行程序该系统的主要特点是:
1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户对最适合温度的要求,实现对最适温度的实时监控。
2)系统成本低廉,操作非常简单,随时可以根据软件编写新的功能加入产品。
操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。
本系统在当今提倡人性化设计和健康产品的环境下具有非常好的市场前景。
本设计在模拟检测中运行较好,但采样据不太稳定。
功能上的缺憾是对于两个档之间的临界温度处理不好,并且档位太少。
还有待改进。
参考文献
[1]张鑫.单片机原理及应用.电子工业出版社
[1]明德刚.DS18B20在单片机温控系统中的应用.贵州大学学报,2006,2
[2]黄朝民,肖明清,吴志强.单片机原理与应用.现代电子技术,2006,12
[3]刘进山.基于MCS-51电风扇智能调速器的设计.电子质量,2004,10