目录
[1 作品摘要](#1 作品摘要)
[2 作品介绍](#2 作品介绍)
[2.1 设计背景](#2.1 设计背景)
[2.2 设计目的](#2.2 设计目的)
[2.3 所选单片机](#2.3 所选单片机)
[3 作品功能与实用性](#3 作品功能与实用性)
[3.1 作品预期功能](#3.1 作品预期功能)
[3.2 市场创新度与竞争力](#3.2 市场创新度与竞争力)
[3.2.2 竞争力](#3.2.2 竞争力)
[4 设计原理](#4 设计原理)
[4.1 系统的硬件设计与实现](#4.1 系统的硬件设计与实现)
[4.1.1 整体设计思路](#4.1.1 整体设计思路)
[4.2 系统硬件电路](#4.2 系统硬件电路)
[4.2.1 系统复位与晶振电路](#4.2.1 系统复位与晶振电路)
[4.2.2 独立按键连接电路](#4.2.2 独立按键连接电路)
[4.2.3 数码管显示电路](#4.2.3 数码管显示电路)
[4.2.5 风扇电机驱动与调速电路](#4.2.5 风扇电机驱动与调速电路)
[4.3 系统功能](#4.3 系统功能)
[4.3.1 系统实现的功能](#4.3.1 系统实现的功能)
[4.3.2 系统功能分析](#4.3.2 系统功能分析)
[5 软件模块说明](#5 软件模块说明)
[5.1 数字温度传感器模块说明](#5.1 数字温度传感器模块说明)
[5.2 显示器模块说明](#5.2 显示器模块说明)
[5.3 按键子程序模块说明](#5.3 按键子程序模块说明)
[6 结论](#6 结论)
[7 附录](#7 附录)
1 作品摘要
本设计为智能温控风扇系统,该系统可以实现风扇随实时环境温度而智能变速功能。系统主要选用STC89C52单片机作为控制中心,DS18B20数字温度传感器采集实时温度,再经单片机处理后通过三极管放大信号后驱动直流风扇的电机。根据采集的实时温度,实现了风扇的自起自停。可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。
2 作品介绍
2.1 设计背景
随着气温的逐渐.上升,风扇的需求量也逐渐扩大。传统风扇不能根据外界温度的变化对风扇转速快慢进行调整,也不能对风扇的开关与否进行自动控制,这将会损耗大量的电力资源。
市场上智能风扇产品相继问世,制作方法也多种多样,功能也逐渐完善,普遍都具有了手动变速和定时关闭等功能,相对而言,具备人性化,智能化的风扇还是很少,使用也并不广泛。
风扇还是有一定的市场份额,几乎每个家庭都有风扇,具备价格便宜,摆放轻便,体积灵巧等特点,使得风扇在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,为提高风扇的市场竞争力,使之在技术含量上有所提高,满足智能化的要求,智能风扇很具竞争力。
2.2 设计目的
随着社会水平的高速发展,家用电器已经越来越智能化,紧随着物价也自然会因为设计成本的提高而上涨。单单从夏季我们用来降温的电器来看,尽管很多城市家庭如今已经用上了空调,但大多数的中国农村家庭仍还在利用电扇降温防暑。电扇虽有调节档位的功能,但仍然离不开人工手换档,灵活性太差。比如在深夜里,温度下降后风扇的风速应该降低,可是这时人已经入睡并不能及时手动换挡,就很容易感冒。为了避免这种不便情况,我们一般都会给风扇定时,让风扇定时关闭,但这依旧不是很智能化。因为如果当风扇定时时间到后,气温依旧没有明显的下降,但是这时风扇已经关闭,人就很容易会再次被热醒,而不得不起床重新打开风扇,这样人根本得不到充足的休息时间。因此,智能温控风扇是当今市场迫切需求的产品,使得人们能够得到充足的睡眠时间并且睡得很舒适。
2.3 所选单片机
本文以STC89C52单片机为核心,通过数字温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现"温度高、风力大、温度低、风力弱"的性能。另外,通过红外发射和接收装置及按键实现各种功能的启动与关闭,并且可对各种功能实现遥控,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。
3 作品功能与实用性
3.1 作品预期功能
本系统以单片机为控制核心,以温度传感器DS18B20检测环境温度,实现了根据环境温度变化调节不同的风扇电机转速.在一定范围内能实现转速的连续调节,LED数码管能连续稳定的显示环境温度与设置温度,并能通过两个独立的按键调节不同的设置温度,从而改变环境温度与设置温度的差值,进而改变电机转速。实现了基于单片机的温控风扇的设计。
本系统的设计可推广到各种电动机的控制系统中,实现电动机的转速调节。在生产生活中,本系统可用于简单的日常风扇的智能控制,为生活带来便利;在工业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷达到不同的电压信号,再由电压信号调节不同的发动机转速,进而调节发电量,实现电力自动化调节。
3.2 市场创新度与竞争力
3.2.1 创新度
随着电子制造业的不断发展,社会对生产率的要求越来越高,各行业都需要精良高效、高可靠性的设备来满足要求。作为一种老式家电,电风扇曾一度被认为是空调产品冲击下的淘汰品:但电风具有价格便宜、摆放方便、体积轻巧等特点。由于大部分家庭消费水平的限制,电风扇作为成熟的家电行业的一员,在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,但老式电风扇功能简单,不能满足智能化的要求。为提高电风扇的市场竞争力,使之在技术含量上有所提高,且更加安全可靠,智能电风扇随之被提出。
智能温控风扇相对于传统风扇的优势:首先是智能风扇能随着环境温度的变化自动调节风速。这对那些昼夜温差大的地区是一个强大的功能,尤其是人们在熟睡时,不会浪费资源,使得人们能够睡得舒适。第二是智能风扇噪音较小。传统电风机械的定时方式常常会伴随着机械运动的声音,特别是夜间影响人们的睡眠,而智能风扇不会存在这个问题。最后是智能风扇是随外界温度变化而控制的,定时范围广。而传统风扇定时范围有限,不能满足人们的需求。
3.2.2 竞争力
当今社会已经完全进入了电子信息化,温度控制器在各行各业中已经得到了充分的利用。具有对温度进行实时监控的功能,以保证工业仪器,测量工具,农业种植的正常运作,它的最大特点是能实时监控周围温度的高低,并能同时控制电机运作来改变温度。它的广泛应用和普及给人们的日常生活带来了方便。
温控风扇是用单片机系统来完成的一个小型的控制系统。现阶段运用与国内大部分家庭,系统效率越来越高,成本也越来越低。其发展趋势可以根据其性质进行相应的改进可以运用与不同场合的温度监测控制,并带来大量的经济效益。
4 设计原理
4.1 系统的硬件设计与实现
4.1.1 整体设计思路
本设计的整体思路是:利用温度传感器DS18B20检测环境温度并直接输出数字温度信号给单片机STC89C52进行处理,在LED数码管上显示当前环境温度值以及预设温度值。其中预设温度值只能为整数形式,检测到的当前环境温度可精确到小数点后-位。同时采用PWM脉宽调制方式来改变直流风扇电机的转速。并通过两个按键改变预设温度的大小,一个提高预设温度,另一个降低预设温度。系统结构框图如图4-1所示。
图4-1 系统组成框图
4.2 系统硬件电路
4.2.1 系统复位与晶振电路
在单片机应用系统中,出单片机本身需要复位以外,外部扩展I/0接口电路:也需要复位,因此需要一个包括上电和按钮复位在内的系统同步复位电路。单片机上的XTAL1和XTAL2用来外接石英晶体和微调电容,即用来连接单片机内的定时反馈回路。本设计中开关复位电路如图4-2所示。晶振电路如图4-3所示,当按下按键开关S1时,系统复位一次。其中电容C1、C2为33pF,C3为10uF,电阻R2、R3阻值为10k,晶振频率为12MHz。
图4-2 系统复位电路
图4-3 晶振电路
4.2.2 独立按键连接电路
按键包括两个独立按键S2和S3,一端与单片机的P1.3和P1.4口连接,另一端接地,当按下任一键时,P1口读取低电平有效。系统上电后,进入按键扫描子程序,以查询的方式确定各按键,完成温度初值的设定。其中按键S2为加按键,每按一次,系统对最初设定值加一,按键S3为减按键,每按下一次,系统对初定值进行减一计算。其连线图如图4-4所示。
硬件设计上为通过3个按键,由按键扫描子程序KEYSCAN子程序提供软件支持。按下一次设置键K1,进入温度上限设置,此时按下"加"键K2,加一,按下"减"键K3,减1。再按一次设置键K2,进入温度下限设置状态,此时按下"加"键K2,加一,按下"减"键K3,减1。下限动作温度值TL和上限动作温度值的设置范围为10-100摄氏度,满足一般使用要求。再按一次设置键K3退出上下限温度设置状态。电路图如图4-4所示。
图4-4 独立按键电路
4.2.3 数码管显示电路
本设计制作中选用5位共阴极数码管作为显示模块,它和单片机硬件的接口如图4-5所示。其中前3位数码管DS1.DS2.DS3用于显示温度传感器实时检测 采集到的温度,可精确到0.1摄氏度,显示范围为0~99.9摄氏度;后2位数码管DS4、DS5用于显示系统设置的初值温度,只能显示整数的温度值,显示范围为0~99摄氏度。5位数码管的段选a、b、c、d、e、f、g、dp线分别与单片机的P0.0~P0.7口连接,其中PO口需要接一10K的上拉电阻,以使单片机的PO口能够输出高低电平。5位数码管的位选W1~W5分别与单片机的P2.0~P2.4口相连接,只要在P2.0~P2.4口任一位中输出低电平,则选中与该位相连的数码管。
图4-5 数码管显示电路
4.2.4温度采集电路
DS18B20数字温度传感器通过其内部计数时钟周期的作用,实现了特有的温度测量功能。低温系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数,计数器预先设置有与-55°C相应的一个基权值。如果计数器计数到0时,高温度系数振荡周期还未结束,则表示测量的温度值高于-55°C,被预置在-55°C的温度寄存器中的值就加1°C,然后这个过程不断反复,知道高温系数振荡周期结束为止。此时温度寄存器中的值即为被测温度值,这个值以16位二进制的形式存放在存储器中,通过主机发送存储器读命令可读出此温度值,读取时低位在前,高位在后,依次进行。由于温度振荡器的抛物线特性的影响,其内用的斜率累加器进行补偿。
DS18B20在使用时,一般都采用单片机来实现数据采集。只须将DS18B20信号线与单片机1位I/0线相连,且单片机的1位I/0线可挂多个DS18B20,就可实现单点或多点温度检测。本设计中将DS18B20接在P1.7口实现温度的采集。电路如图3-6所示。
图4-6 温度采集电路
4.2.5 风扇电机驱动与调速电路
本设计中由单片机的I/0口输出PWM脉冲,通过一个达林顿反向驱动器ULN2803驱动12V的直流无刷电机以及实现风扇电机转速的调节。
按键控制设置温度,通过软件向单片机输入相应控制指令,由单片机通过P1.7口输出与转速相应的PVM脉冲,经过ULN2803驱动风扇直流电机控制电路,实现电机转速与启停的自动控制。当环境温度升高时,直流电机的转速会相应按照设定的等级有所提高;当环境温度下降时,电机的转速会相应的下降;当环境温度低于设置温度时,电机停止转动,而环境温度又高于预设温度时,电机重新启动。电路图如图3-7所示,风扇电机的一端接12V电源,另一端ULN2803的0UT7引脚,ULN2803的IN7引脚与单片机的P3.1引脚相连,通过控制单片机的P3.1引脚输出PWM信号,由此控制风扇直流电机的速度与启停。系统选用的风扇电机为12直流无刷电机,达林顿反向驱动器ULN2803输入TTL信号为5V或CMOS信号为6~15V时,输出的最大电压为50V,最大电流为500mA,工作温度范围为0~70°C。系统中单片机I/0口输出的TTL信号为5V,因此此风扇电机可以用ULN2803来驱动。
图4-7 风扇电路
4.3 系统功能
4.3.1 系统实现的功能
本系统能够实现单片机系统检测环境温度的变化,然后根据环境温度变化来控制风扇直流电机输入占空比的变化,从而产生不同的转动速度,也可根据按键调节不同设置温度,再由环境温度与设置温度的差值来控制电机。当环境温度低于设置温度时,电机停止转动;当环境温度高于设置温度时,单片机对应输出口输出不同占空比的PWM信号,控制电机开始转动,并随着环境温度与设置温度的差值的增加电机的转速逐渐升高。系统还能动态的显示当前温度与设置温度,并能通过按键调节当前的设置温度。
4.3.2 系统功能分析
系统总体上由五部分组成,即按键与复位电路、数码管显示电路、温度检测电路、电机驱动电路。首先考虑的是温度检测电路,该部分是整个系统的首要部分,首先要检测到环境温度,才能用单片机来判断温度的高低,然后通过单片机控制直流风扇电机的转速;其次是电机驱动电路,该部分需要使用外围电路将单片输出的PIM信号转化为平均电压输出,根据不同的PWM波形得到不同的平均电压,从而控制电机的转速。电路的设计中采用了达林顿反向驱动器ULN2803,实现较好的控制效果;再次是数码管的动态显示电路,该部分的功能实现对环境温度和设置温度的显示,其中DS18B20采集环境温度,按键实现不同设置温度的调整,实现了对环境温度和设置温度的及时连续显示。
5 软件模块说明
5.1 数字温度传感器模块说明
DSI8B20数字温度传感器完成温度转换工作步骤:先对DS18B20始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一-过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。单片机所用的系统频率为12MHz。
5.2 显示器模块说明
对于本设计温控风扇,如果要实现它的理想功能:根据实时环境温度来控制风扇的转速,就必须在运作时进行不断地进行程序判断,当超过设定温度值的上下限时,相应的子程序会及时控制风扇,实时的切换关闭、弱风、大风三个状态。显示驱动程序以查七段码取得各数码管应显数字,逐位扫描显示。程序实现的功能是将从DS18B20读取的二进制温度值转换为七段码在LED上显示出来。显示方式采用的是动态扫描的方式,先给位选信号,再给段选信号,然后延时一下。
5.3 按键子程序模块说明
硬件设计上为通过3个按键,由按键扫描子程序KEYSCAN子程序提供软件支持。按下一次设置键K1,进入温度上限设置,此时按下"加"键K2,加一,按下"减"键K3,减1。再按一次设置键K2,进入温度下限设置状态,此时按下"加"键K2,加一,按下"减"键K3,减1。下限动作温度值TL和_上限动作温度值的设置范围为10-100摄氏度,满足一般使用要求。再按一次设置键K3退出上下限温度设置状态。
6 结论
本次设计的系统以单片机STC89C52为控制核心,用温度传感器DS18B20采集实时环境温度,最终可实现风扇的转速随着环境温度的变化而改变,并还可以通过LED数码管显示当前的环境温度和风扇档位,完成了基于单片机的温控风扇的设计。
本系统设计可推广到各种电动机的控制系统中,实现电动机的转速调节。在生产生活中,本系统可用于简单的日常风扇的智能控制,为生活带来便利;在工业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷达到不同的电压信号,再由电压信号调节不同的发电机转速,进而调节发电量,实现电力系统的自动化调节。综上所述,该系统的设计和研究在社会生产和生活中具有重要地位。
7 附录
附录一:系统原理图
附录二:元器件清单
|-------------|--------------|
| 5位共阴极数码管 | DS18B20温度传感器 |
| STC89C52单片机 | ULN2803驱动器 |
| 按键 | 三极管 |
| 12M晶振 | 1K电阻 |
| 10uF电解电容 | 10K电阻 |
| 20pF电容 | DC电源接口 |