1、 目 录 第1节 引 言31.1 智能电风扇控制系统概述 31.2 本设计任务和主要内容 3第2节 系统主要硬件电路设计 52.1 总体硬件设计 52.2 数字温度传感器模块设计 5 2.2.1 温度传感器模块的组成 5 2.2.2 DS18B20的温度处理方法 62.3 电机调速与控制模块设计 7 2.3.1 电机调速原理7 2.3.2 电机控制模块硬件设计82.4 温度显示与控制模块设计 9第3节 系统软件设计103.1 数字温度传感器模块程序设计103.2 电机调速与控制模块程序流程153.2.1 程序设计原理 153.2.2 主要程序16第4节 结束语19 参考文献20基于单片机的智能
2、电风扇控制系统第1节 引 言 电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在
3、工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。1.1 智能电风扇控制系统概述 传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。从而达到无须人为控制便可自动调整风力大小的效果。1.
4、2 设计任务和主要内容本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。本设计主要内容如下: 风速设为从高到低5个档位,可由用户通过键盘手动设定。 当温度每降低2则电风扇风速自动下降一个档位。 当温度每升高2则电风扇风速自动上升一个档位。 用户可设定电风扇最低工作温度,当低于该温度时,电风扇自动停转。第2节 系统主要硬件电路设计
5、 2.1 总体硬件设计系统总体设计框图如图2-1所示键盘输入温度显示单片机系统电机控制模块数字温度传感模块图2-1 系统原理框图 对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有4KB片内E2PROM的AT89C51单片机作为中央处理器。作为整个控制系统的核心,AT89C51内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高。是比较合适的方案2.2 数字温度传感器模块设计 温度传感器可以选用LM324A的运算放大器,将其设计成比例控制调节器,输出电压与
6、热敏电阻的阻值成正比,但这种方案需要多次检测后方可使采样精确,过于烦琐。所以我采用更为优秀的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。2.2.1 温度传感器模块组成本模块以DS18B20作为温度传感器,AT89C51作为处理器,配以温度显示作为温度控制输出单元。整个系统力求结构简单,功能完善。电路图如图2-2所示。系统工作原理如下:DS18B20进行现场温度测量,将测量数据送入AT89C51的P3.7口,经过单片机处理后显示温度值,并与设定温度值的上下限值比较,若高于设定上限值或低于设定下限值则控制电机转速进行调整。图2-
7、2 DS18B20温度计原理图2.2.2 DS18B20的温度处理方法DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。温度值/ 数字输出(二进制) 数字输出(十六进制) +85 0000 0101 0101 0000 0550H +25.625 0000 0001 1001 0001 0191H +10.125 0000 0000 1010 0010 00A2H+0.5 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H-0.5 1111 1111 1111 1000 FFF8H -10.1
8、25 1111 1111 0110 1110 FF5EH -25.625 1111 1111 0110 1111 FF6FH -55 1111 1100 1001 0000 FC90H表2-1 部分温度值与DS18B20输出的数字量对照表 2.3 电机调速与控制模块设计电机调速是整个控制系统中的一个重要的方面。通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。2.3.1 电机调速原理可控硅的导通条件如下:1)阳-阴极间加正向电压;2)控制极-阴极间加正向触发电压;3)阳极电流IA 大于可控硅的最小维持电流IH。电
9、风扇的风速设为从高到低5、4、3、2、1档,各档风速都有一个限定值。在额定电压、额定功率下,以最高转速运转时,要求风叶最大圆周上的线速度不大于2150m/min。且线速度可由下列公式求得式中,V为扇叶最大圆周上的线速度(m/min),D为扇中的最大顶端扫出圆的直径(mm);n为电风扇的最高转速(r/min)。代入数据求得 1555r/min,取 =1250 r/min.又因为:取n1=875 r/min.则可得出五个档位的转速值: =1250r/min =1150r/min =1063r/min =980r/min =875r/min又由于负载上电压的有效值 其中,u1为输入交流电压的有效值,
10、为控制角。解得: =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 口输出一个高电
11、平, 经反向器反向后, 送出一个低电平,使光电耦合器导通, 同时触发双向可控硅, 使工作电路导通工作。给定时间内,负载得到的功率为:式中: P 为负载得到的功率, kW; n 为给定时间内可控硅导通的正弦波个数; N 为给定时间内交流正弦波的总个数; U 为可控硅在一个电源周期全导通时所对应的电压有效值,V; I 为可控硅在一个电源周期全导通时所对应的电流有效值,A。由式(1) 可知,当U , I , N 为定值时, 只要改变n 值的大小即可控制功率的输出,从而达到调节电机转速的目的。图2-3 电机控制原理图2.4 温度显示与控制模块设计 通过HD7279A控制芯片组建一个单片机键盘输入与显示
12、模块,其中包括一个2*8的键盘矩阵。和8段动态扫描数码管显示。与单片机通过接插件连接,可以用于系统的控制和输出,其原理图如图2-4所示。图2-4 HD7279A键盘和显示器控制模块电路原理图第三节 系统软件设计3.1 数字温度传感器模块程序设计本系统的运行程序采用汇编语言编写,采用模块化设计,整体程序由主程序和子程序构成。图3-1 数字温度传感器模块程序流程图如图3-1所示,主机控制DS18B20完成温度转换工作必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。单片机所用的系统频率为12MHz。根据DS18B20初始化时序、读时序和写时序分别可编写4个子程序:初始化子程序、写子程序、读
13、子程序、显示子程序。DS18B20芯片功能命令表如下:表2 DS18B20功能命令表命令 功能描述 命令代码CONVERT 开始温度转换 44HREAD SCRATCHPAD 读温度寄存器(共9字节) BEH READ ROM 读DS18B20序列号 33HWRITE SCRATCHPAD 将警报温度值写如暂存器第2、3字节 4EH MATCH ROM 匹配ROM 55H SEARCH ROM 搜索ROM F0H ALARM SEARCH 警报搜索 ECHSKIP ROM 跳过读序列号的操作 CCHREAD POWER SUPPLY 读电源供电方式:0为寄生电源,1为外电源 B4H主要程序如下
14、:MAIN:;初始化LCALL RST_DS18B20LCALL GET_TEMPERMOV A,20HMOV C,08HRRC AMOV C,09HRRC AMOV C,10HRRC AMOV C,11HRRC AMOV 20H,ALCALL DISPLAYAJMPMAINRST_DS18B20:SETB P3. 7NOPCLR P3. 7MOV R1, #3RST1:MOV R0, #110DJNZ R0, $DJNZ R1,RST1SETB P3. 7NOPNOPMOV R0, #25HRST2:JNB P3. 7,RST3DJNZ R0,RST2LJMP RST4RST3: SETB
15、FLAGLJMP RST5RST4:CLR FLAGLJMP RST7RST5:MOV R0, #115RST6:DJNZ R0, $RST7: SETB P3. 7RETWR_DS18B20:;写数据子程序MOV R2, #8CLR CWR1: CLR P3. 7MOV R3, #6DJNZ R3, $RRC AMOV P3. 7,CMOV R3, #25DJNZ R3, $SETB P3. 7NOPDJNZ R2,WR1SETB P3. 7RETRD_DS18B20:;读数据子程序MOV R4, #2MOV R1, #20HREAD1:MOV R2, #8READ2: CLR CSETB
16、P3. 7NOPNOPCLR P3. 7NOPNOPNOPSETB P3. 7MOV R3, #9READ3:DJNZ R3,READ3MOV C, P3. 7MOV R3, #23READ4:DJNZ R3,READ4RRC ADJNZ R2,READ2MOV R1,AINC R1DJNZ R4,READ1RET3.2 电机调速与控制模块程序流程3.2.1 程序设计原理采用双向可控硅过零触发方式,由单片机控制双向可控硅的通断,通过改变每个控制周期内可控硅导通和关断交流完整全波信号的个数来调节负载功率,进而达到调速的目的。由于INT0信号反映工频电压过零时刻,因此只要在外中断0的中断服务程序中
17、完成控制门的开启与关闭,并利用中断服务次数对控制量n进行计数和判断,即每中断一次,对n进行减1计数,如果n不等于0,保持控制电平为“1”,继续打开控制门;如n=0,则使控制电平复位为“0”,关闭控制门,使可控硅过零触发脉冲不再通过。这样就可以按照控制处理得到的控制量的要求,实现可控硅的过零控制,从而达到按控制量控制的效果,实现速度可调。1)回路控制执行程序。主回路控制执行程序的任务是初始化数据存储单元,确定电机工作参数 /,并将其换算成“有效过零脉冲”的个数;确定中断优先级、开中断,为了保证正弦波的完整,工频过零同步中断INT0确定为高一级的中断源。2)断服务程序,执行中断服务程序时,首先保护
18、现场,INT0中断标志置位,禁止主程序修改工作参数,然后开始减1计数,判断是否关断可控硅,最后INT0中断标志位清零,还原初始化数据,恢复现场,中断返回。(设1秒钟通过波形数N=100)中断流程图如图3-2所示: 图3-2 电机控制模块中断响应流程图3.2.2 主要程序外中断INT0的部分中断响应程序如下:ORG0003HINTD0:PUSHACCPUSHPSWPUSHDPHPUSHDPLSETB24H.0 MOVA,5FHJZ TING1 DECA MOV5FH,ALJMPFAN2TING1: FAN2:MOVA,5BHJZ TING2 DECA MOV5BH,ALJMPZONGTING2:
19、ZONG:MOVA,59HJZ KAIDECAMOV59H,ALJMPEXITKAI:CLR24H.0JB26H.0,KAI2KAI2:MOVA,66HJZ EXIT1EXIT1:MOV5FH,5AHMOV5BH,66HMOV59H,#100EXIT:POPDPLPOPDPHPOPPSWPOPACCRETI结 束 语首先,通过这次应用系统设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在接下来的日子我们都会了,而且会做得更好。 我所写的系统主要根据目前节智能化电风扇技术的发展趋势和国内实际的应用特点和要求,采用了自动化
20、的结构形式,实现对电风扇转速的自动控制。 系统以单片机AT89C51为核心部件,单片机系统完成对环境温度信号的采集、处理、显示等功能;用Protel软件绘制电路原理图和PCB电路印刷板图,由Protues软件进行访真测试,利用MCS51汇编语言编制,运行程序该系统的主要特点是: 1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户对最适合温度的要求,实现对最适温度的实时监控。 2)系统成本低廉,操作非常简单,随时可以根据软件编写新的功能加入产品。操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。本系统在当今提倡人性化设计和健康产品的环境下具有非常好的市场前景。 本设计在模拟检测中运行较好,但采样据不太稳定。功能上的缺憾是对于两个档之间的临界温度处理不好,并且档位太少。还有待改进。参考文献1 张鑫.单片机原理及应用.电子工业出版社1 明德刚.DS18B20在单片机温控系统中的应用.贵州大学学报,2006,2 2 黄朝民,肖明清,吴志强.单片机原理与应用.现代电子技术,2006,12 3 刘进山.基于MCS-51电风扇智能调速器的设计.电子质量,2004,1017