单片机的智能温控风扇的设计.docx
《单片机的智能温控风扇的设计.docx》由会员分享,可在线阅读,更多相关《单片机的智能温控风扇的设计.docx(10页珍藏版)》请在冰豆网上搜索。
单片机的智能温控风扇的设计
单片机的智能温控风扇的设计
2方案论证
本系统实现风扇的温度控制,需要有较高的温度变化分辨率和稳定可靠的换档停机控制部件。
2.1温度传感器的选用
温度传感器可以下几种方案可供选择:
方案一:
选用热敏电阻作为感测温度的核心元件,通过运算放大器放大于温度变化引起热敏电阻电阻的变化、进而导至的输出电压变化的微弱电压变化信号,再用AD转换芯片ADC0809将模拟信号转化为数字信号输入单片机处理。
方案二:
采用热电偶作为感测温度的核心元件,配合桥式电路,运算放大电路和AD转换电路,将温度变化信号送入单片机处理。
方案三:
采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号供单片机处理。
对于方案一,采用热敏电阻有价格便宜、元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,虽然可以通过一定电路予以纠正,但不仅将使电路复杂稳定性降低,而且在人体所处温度环境温度变化中难以检测到小的温度变化。
故该方案不适合本系统。
对于方案二,采用热电偶和桥式测量电路相对于热敏电阻其对温度的敏感性和器件的非线性误差都有较大提高,其测温范围也非常宽,从-50摄氏度到1600摄氏度均可测量。
但是依然存在电路复杂,对温度敏感性达不到本系统要求的标准,故不采用该方案。
对于方案三,于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且于其感测温度的原理与上述两种方案的原理有着本质的不同,使得其温度分辨力极高。
温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又于该传感器采用先进的单总线技术,与单片机的接口变的非常简洁,抗干扰能力强。
关于DS18B20的详细参数参看下面“硬
6
件设计”中的器件介绍。
2.2控制核心的选择
方案一:
采用电压比较电路作为控制部件。
温度传感器采用热敏电阻或热电偶等,温度信号转为电信号并放大,集成运放组成的比较电路判决控制风扇转速,当高于或低于某值时将风扇切换到相应档位。
方案二:
采用单片机作为控制核心。
以软件编程的方法进行温度判断,并在端口输出控制信号。
对于方案一,采用电压比较电路具有电路简单、易于实现,以及无需编写软件程序的特点,但控制方式过于单一,不能自设置上下限动作温度,无法满足不同用户以及不同环境下的多种动作温度要求,故不在本系统中采用。
对于方案二,以单片机作为控制器,通过编写程序不但能将传感器感测到的温度通过显示电路显示出来,而且用户能通过键盘接口,自设置上下限动作温度值,满足全方位的需求。
并且通过程序判断温度具有极高的精准度,能精确把握环境温度的微小变化。
故本系统采用方案二。
2.3显示电路
方案一:
采用五位共阳数码管显示温度,动态扫描显示方式。
方案二:
采用液晶显示屏LCD显示温度
对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。
不足的地方是扫描显示方式是使五个LED逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼将感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。
对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比拟的。
但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原则考虑,本系统采用方案一。
2.4调速方式
方案一:
采用变压器调节方式,运用电磁感应原理将220V电压通过线圈降压到不同的电压,控制风扇电机接到不同电压值的线圈上可控制电机的转速,从而控制风扇风力大小。
7
方案二:
采用晶闸管构成无级调速电路。
对于方案一,于采用变压器改变电压调节,有风速级别限制,不能适应人性化要求。
且在变压过程中会有损耗发热,效率不高,发热有不安全因素。
对于方案二,以电位器控制晶闸管的导通角大小,可实现最大风速到关闭的无级别调速,可将风力调节在关闭无风到最大风之间的任意风力,实现“自风”。
且在调速环节中基本无电力损耗。
故本系统采用方案二。
2.5控制执行部件
方案一:
采用数模转换芯片AD0832控制,单片机根据当前温度值送出相应数字量到AD0832,AD0832产生模拟信号控制晶闸管的导通角,从而配合无级调速电路实现温控时的自动无级风力调节。
方案二:
采用继电器,继电器的接有控制晶闸管导通角的电阻的接入电路与否单片机控制,根据当前温度值在相应管脚送出高/低电平,决定某个继电器的导通角控制电阻是否接入电路。
对于方案一,该方案能够实现在风扇处于温控状态时也能无级调速,但是D/A转换芯片价格较高,与其温控状态下无级调速功能相比性价比不高。
对于方案二,虽然在温控状态下只能实现弱/大风两级调速,但采用继电器价格便宜,控制可靠,且出于在温控状态时无级调速并不是特别需要的功能,综合考虑采用方案二。
3系统原理
系统总体设计
键盘输入数字温度传感模块单片机系统 温度显示
8
电机控制模块
图1系统总体结构框图
控制装置原理
传统电风扇供电采用的是220V交流电,电机转速分为几个档位,通过人工手动调整电机转速达到改变风速的目的,亦即,每改变一次风力,必然有人参与操作,这样就会带来诸多不便。
介绍了一种基于STC89C52单片机的智能电风扇调速器的设计,该设计巧妙利用红外线遥控技术、单片机控制技术、无级调速技术和温度传感技术,把智能控制技术应用于家用电器的控制中,将电风扇的电机转速作为被控制量,单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。
从而达到无须人为控制便可自动调整风速的效果。
3.3温度检测和显示电路
可以选用LM324A运算放大器作为温度传感器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,但这种方案需要多次检测后方可使采样精确,过于烦琐。
所以我采用更为优秀的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。
DS18B20的温度处理方法
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线读写,温度变换功率数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源,因而使用DS18B20可使系统结构更趋简单可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
DS18B20简介:
9
独特的单线接口方式:
DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
在使用中不需要任何外围元件。
可用数据线供电,电压范围:
+~+V。
测温范围:
-55~+125℃。
固有测温分辨率为℃。
通过编程可实现9~12位的数字读数方式。
用户可自设定非易失性的报警上下限值。
支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。
负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
单线 数字输出
10
+125 0000011111010000 07D0H
+85 0000010101010000 0550H+ 0000000110010001 0191H+ 0000000010100010 00A2H+ 0000000000001000 0008H0 0000000000000000 0000H- 1111111111111000 FFF8H- 1111111101101110 FF5EH- 1111111101101111 FF6FH-55 1111110010010000 FC90H
表1部分温度值与DS18B20输出的数字量对照表
温度传感器和显示电路组成
本模块用更为优秀的DS18B20作为温度传感器,STC89C52单片机作为处理器,配以温度显示作为温度控制输出单元。
整个系统力求结构简单,功能完善。
电路图如图2所示。
系统工作原理如下:
DS18B20数字温度传感器采集现场温度,将测量到的数据送入STC89C52单片机的口,经过单片机处理后显示当前温度值,并与设定温度值的上下限值作比较,若高于设定上限值或低于设定下限值则控制电机转速进行自动调整。
图2DS18B20温度计原理图
电机调速电路
11
电机调速是整个控制装置中的一个相当重要的方面。
通过控制改变三极翻出的导,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。
电机调速原理
双向可控硅的导通条件如下:
(1)阳-阴极间加正向电压;
(2)控制极-阴极间加正向触发电压;
(3)阳极电流IA大于可控硅的最小维持电流IH。
电风扇的风速从高到低设为5、4、3、2、1档,每档风速都有一个限定值。
在额定电压、额定功率下,以最高转速运转时,要求风叶最大圆周上的线速度不大于2150m/min。
且线速度可下列公式求得
V=πDn×103
式中,V为扇叶最大圆周上的线速度(m/min),D为扇中的最大顶端扫出圆的直径(mm),n为电风扇的最高转速(r/min)。
代入数据求得n5≤1555r/min,取n5=1250r/min.又因为:
调速比最低调速档的转速100%70%
最高调速档的转速取n1=875r/min。
则可得出五个档位的转速值:
n1=875r/min,n2=980r/min,n3=1063r/min,n4=1150r/min,n5=1250r/min又于负载上电压的有效值
sin2u0=u1
2式中,u1为输入交流电压的有效值,α为控制角。
解得:
(1)当α5=0°时,t=0ms;
(2)当α4=°时,t=;(3)当α3=°时,t=;(4)当α2=°时,t=;(5)当α1=°时,t=。
上述计算出的是控制角和触发时间,当检测到过零点时,按照所求得的触发时间延时发脉冲,便可实现预期转速。
12
电机控制模块设计
本模块电路中采用了过零双向可控硅型光耦MOC3041M,集光电隔离、过零检测、过零触发等功能于一身,避免了输入输出通道同时控制双向可控硅触发的缺陷,简化了输出通道隔离2驱动电路的结构。
所设计的可控硅触发电路原理图见图3。
其中RL即为电机负载,其工作原理是:
单片机响应用户的参数设置,在I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控硅,使工作电路导通工作。
给定时间内,负载得到的功率为:
nUI (3)N式中:
P为负载得到的功率;n为给定时间内可控硅导通的正弦波个数;N为
P给定时间内交流正弦波的总个数;U为可控硅在一个电源周期全导通时所对应的电压有效值;I为可控硅在一个电源周期全导通时所对应的电流有效值。
式(3)可知,当U,I,N为定值时,只要改变n值的大小即可控制功率的输出,从而达到调
节电机转速的目的。
图3电机控制原理图
13
4控制器软件设计
本系统的运行程序采用C语言编写,采用模块化设计,整体程序主程序和显示、键盘扫描、红外线接收以及电机控制等子程序模块组成。
主程序
在主程序进行初始化后,开始反复检测各模块相关部分的缓冲区的标志,如果缓冲区置位,说明相应的数据需要处理,然后主程序调用相应的处理子模块。
如图7所示。
14
开始系统初始化显示子模块Y温度变化?
NY键盘输入?
键盘处理子模块温度控制子模块NY红外信号?
红外接收处理模块N图7主程序模块流程图
1
数字温度传感器模块和显示子模块
1
15
如图8所示,主机控制DS18B20数字温度传感器完成温度转换工作必须经过三个步骤:
初始化、ROM操作指令、存储器操作指令。
单片机所用的系统频率为12MHz。
根据DS18B20数字温度传感器进行初始化时序、读时序和写时序分别可编写3个子程序:
初始化子程序、写子程序、读子程序。
开始DS18B20初始化启动DS18B20测温调用相应的键值处理程序异常调用相应的控制程序内部判断正常调用读子程序调用写子程序显示子程序结束图8数字温度传感器模块程序流程图
DS18B20芯片功能命令表如下:
命令 说明 协议
16
READROM 读取激光ROM64位 33HMATCHROM 匹配ROM 55HSKIPROM 跳过ROM CCHSEARCHROM 搜索ROM F0HALARMSEARCH 告警搜索 ECHWRITESCRATCHPAD 把字节写入暂存器的地址2和3 4EHREADSCRATCHPAD 读取暂存器和CRC字节 BEHCOPYSCRATCHPAD 把暂存器内容拷贝到非易失性存储器中 48HCONVERTT 开始温度转换 44HRECALLE2 把非易失性存储器中的值召回暂存器 B8HREADPOWERSUPPLY 读电源供电方式:
0为寄生电源,1为外电源 B4H
表2DS18B20功能命令表
电机调速与控制子模块
本模块采用双向可控硅过零触发方式,单片机控制双向可控硅的通断,通过改变每个控制周期内可控硅导通和关断交流完整全波信号的个数来调节负载功率,进而达到调速的目的。
因为INT0信号反映工频电压过零时刻,所以只要在外中断0的中断服务程序中完成控制门的开启与关闭,并利用中断服务次数对控制量n进行计数和判断,即每中断一次,对n进行减1计数,如果n不等于0,保持控制电平为“1”,继续打开控制门;如n=0,则使控制电平复位为“0”,关闭控制门,使可控硅过零触发脉冲不再通过。
这样就可以按照控制处理得到的控制量的要求,实现可控硅的过零控制,从而达到按控制量控制的效果,实现速度可调。
中断服务程序:
执行中断服务程序时,首先保护现场,INT0中断标志置位,禁止主程序修改工作参数,然后开始减1计数,判断是否关断可控硅,最后INT0中断标志位清零,还原初始化数据,恢复现场,中断返回。
回路控制执行程序:
主回路控制执行程序的任务是初始化数据存储单元,确定电机工作参数nmin/nmax,并将其换算成“有效过零脉冲”的个数;确定中断优先级、开中断,为了保证正弦波的完整,工频过零同步中断INT0确定为高一级的中断源。
17
EX0中断温度大于等于下限值并且
小于上限值控制可控硅截止设置T0参数启动定时中断返回图9电机控制模块中断响应流程图
18
aT0中断控制可控硅导通停止T0定时中断返回b
结束语
本系统以STC89C52单片机为核心,单片机主要完成对外界环境温度信号的采集、处理、显示等功能;用AltiumDesigner6软件绘制电路原理图和PCB电路印刷板图,Protues软件进行访真测试,利用MCS-51C语言编制。
运行程序该系统的主要特点是:
(1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户对最适合温度的要求,实现对最适温度的实时监控。
(2)随时可以根据软件编写新的功能加入产品。
操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。
本系统温度控制采用DS18B20数字温度传感器作为感温元件。
可控硅串接在电源与负载电风扇,借改变定周期内可控硅的导通与截止时间之比来实现调速功能,其设计完使用方便就,适应人们睡办公等不同场合的使用。
基于STC89C52单片机所设计与研制的电风扇智能调速系统,造价低且具有稳定性高、性能优越、节约电能等优点,在夜间无需定时,同样能给人们带来更多的方便。
本设计在模拟检测中运行较好,但采样据不太稳定。
功能上的缺憾是对于两个档之间的临界温度处理不好,并且档位太少,还有待改进。
19