王启明 刘冬梅 周艳艳
【摘 要】为了解决传统风扇无法进行人体感知从而导致损耗大量的电力资源且存在安全隐患,设计开发了一个智能风扇系统。该系统以单片机为核心,采用DS18B20温度传感器采集数据,将周围环境温度在LED数码管上实时显示,根据实时温度与系统设置的阈值,同时人体红外模块监测周围环境是否有人,来决定风扇是否开启,当没有人在房间时,风扇自动关闭。该智能风扇系统不仅克服了传统风扇的缺点,还具有很好的安全性,低功耗,低成本以及自动监测温度等优点,为人们生活带来了便捷。
【关键词】智能控制;单片机;红外传感器
中图分类号: TM925.11;TP368.12文献标识码: A文章编号: 2095-2457(2019)16-0011-003
DOI:10.19694/j.cnki.issn2095-2457.2019.16.004
Design and Implementation of Intelligent fan Based on Single Chip Microcomputer
WANG Qi-ming LIU Dong-mei ZHOU Yan-yan
(School of information engineering, pingdingshan university, pingdingshan Henan 467000,China)
【Abstract】In order to solve the problem that the traditional fan can not perform human perception, which leads to the loss of a large amount of power resources and has potential safety hazards, an intelligent fan system is designed and developed. The system takes the single-chip microcomputer as the core, uses DS18B20 temperature sensor to collect data, and displays the ambient temperature on the LED digital tube in real time. According to the real-time temperature and the threshold set by the system, the human body infrared module monitors whether there is someone in the surrounding environment to determine whether the fan is turned on. When no one is in the room, the fan automatically turns off. The intelligent fan system not only overcomes the shortcomings of the traditional fan, but also has the advantages of good safety, low power consumption, low cost and automatic temperature monitoring, which brings convenience to peoples lives.
【Key words】Intelligent control; Single chip microcomputer; Infrared sensor
0 緒论
如今的社会日新月异,人们对生活质量的追求不断提高的同时,人身安全和节约资源也成了重要问题。电风扇作为一种小型的家用电器,一直广受人们的欢迎,由于大部分家庭消费水平的限制,电风扇在中小城市以及乡村未来将仍然会占有市场大部分份额。面临庞大的市场需求,提高风扇的功能性,让电风扇产业在市场上更有竞争力,是现在面临的主要问题。传统风扇不能根据外界温度的变化对风扇的工作状态进行调整,也不能对风扇的开关与否进行自动控制。尤其对于昼夜温差相对较大的地区,在使用风扇时常常会遇到这样的问题:当凌晨气温已经下降,不再需要风扇进行降温,但人们已经熟睡而无法察觉。对于体质较弱的群体就会面临着凉感冒的风险。不仅对身体造成一定的影响,同时也浪费了一些不必要的电力资源。该系统在传统风扇的基础上开发设计出了一些创新功能,解决了传统风扇耗电量大以及使用当中存在安全隐患等问题,从而提高人们的生活质量,节约电力资源。
1 系统总体设计
图1 系统功能结构图
该系统以STC89C51单片机为核心,通过温度采集模块、LED数码管显示模块、HC-SR501人体感应模块、按键调速模块以及ESP8266 WIFI控制模块构成。温度采集模块主要将采集到的温度值与系统设置的初始温度值进行比较。若采集到的温度值大于初始温度值,则风扇将会开启;若采集到的温度值小于初始温度值,风扇将一直保持关闭状态[1]。LED数码管主要显示温度数据。HC-SR501人体感应模块监测是否有人,若有人并且采集到的温度大于初始温度值,则风扇转动;反之,风扇关闭。ESP8266 WIFI控制模块用来发出ESP8266 WIFI信号,通过手机终端连接相应的WIFI信号,实现相应的系统功能。按键调速模块通过设置不同档位实现控制风扇的转速。系统功能结构图如图1所示。
2 系统硬件设计
2.1 STC89C51控制芯片
本设计采用STC89C51单片机为中心控制元件,它包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM),定时/计数器、UART串口、I/O接口、EEPROM、看门狗等模块。STC89C51单片机几乎包含了数据采集和控制中所需的所有单元模块,称得上一个片上系统[2]。因为其工作电压低、开发周期短和保留数据时间长等优点,经常用于学习与开发。
2.2 温度采集模块
DS18B20数字温度传感器提供9位温度读数,指示器件的温度。数据信息经过单线接入口送入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线。读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。所有读时序必须最少60us,包括两个读周期间至少1us的恢复时间。当总线控制器把数据线从高电平拉到低电平时,读时序开始,数据线必须至少保持1us,然后总线被释放。DS18B20通过拉高或拉低总线上来传输”1”或”0”。当传输逻辑”0”结束后,总线将被释放,通过上拉电阻回到上升沿状态。从DS18B20输出的数据在读时序的下降沿出现后15us内有效。因此,总线控制器在读时序开始后必须停止把I/O口驱动为低电15us,以读取I/O口状态。
该模块主要用来测量周围环境温度,中间管脚为输出管脚。两端管脚分别用来接地和电源。DS18B20温度传感器电路图如图2所示。
2.3 人体感应模块
该模块正常工作只需要接通地线和电源线,当人进入感应范围内,输出信号RIR0输出为高电平1,人离开感应范围为则会自动延时,然后输出低电平0。人体具有恒定的温度,一般为37度,因此会发出红外探头所能探测到的10uM左右的红外线。人体发射的红外线聚集到红外感应源上,这种元件就会接收到[3]。由于人体红外一般用于控制灯光或报警,所以具有延时功能。只要监测到有人,即使人已经离开但是仍然会延时3秒。HC-SR501人体感应模块硬件电路如图3所示。
2.4 远程控制模块
ESP8266 WIFI控制模块是一款超低功耗的UART-WIFI透传模块,专为移动设备和物联网应用设计,拥有超低能耗技术,可将用户的物理设备连接到无线网络上,进行互联网或局域网通信,实现联网功能[4]。它支持三种天线接口形式,串口透传主要负责数据传输,若正常使用,服务器和客户端需搭载在同一个网络上,则需要一些常用指令,包括加入接入点指令:AT+CWJAP,当前可用接入点指令:AT+CWLAP,退出接入点指令:AT+CWQAP。
3 系统软件实现
3.1 温度数据读取实现
温度传感器不断采集周围环境温度,通过datapros()温度读取转换函数将采集到的温度值转换为十进制温度值,因为读取的温度是实际温度补码,通过减1,再取反求出原码。在主程序中,通过在while循环中调用该函数,实现不断的实时检测当前环境温度。如果指令执行完毕,单片机系统就开始接收数据,并将接收到的数据信息按照十进制的方式存放到特定的数组中,信号采集完毕后,系统对采集到的数据进行保存且保持信号采集指令持续执行。
3.2 红外检测实现
人体红外传感器通过将人或动物发出的红外线聚集到红外感应源上,将感应的红外信号转化为电信号,在程序中通过digitalRead()函数来获取人体红外传感器读到的状态,在主程序中,在while循环中,不断调用该函数,用is接收并判断它的值,若is等于1,则人体红外传感器检测到有人,只有在这种条件成立的前提下,配合温度传感器获取的温度值,若两者同时满足设定的条件,则智能风扇系统自动启动,若有任意一个条件不成立,则系统都无法自动开启。
3.3 按键功能实现
在该设计中,使用按键进行控制风扇的转速,通过KEY_Detect()按键扫描函数,不断使用if(ucTemp!= 0xFF)判断是否有按键按下,若有按键按下,由于按键工作存在抖动现象,容易导致误判,故需要调用延时函数Delay()进行消抖后再次判断,否则等待直到有按键按下才继续执行程序,然后通过switch和case语句确定具体按键值,该函数的返回值为key。在主函数中,通过在while循环中不断检测按键是否被按下,然后调用KEY_Detect()函数获取key值,从而改变电机运行状态,实现按键调速的目的。
3.4 整体功能实现
经过多次的软件调试和硬件仿真,最终该系统顺利完成,各个模块功能基本实现,智能风扇系统顺利工作。该系统的整体实物图如图5所示。
4 结束语
该系统以STC89C51單片机为核心,采用温度传感器实现了风扇自动监测室内温度,当监测到的温度小于系统设置阈值时,风扇将自动停止转动,同时采用人体感应模块实现了无人时风扇自动关闭,有人时风扇自动开启。相比较传统电风扇多采用机械方式控制,功能少,无法判别是否有人在使用电风扇,存在无人状态下持续工作的安全隐患。本项目设计的智能风扇不仅克服了传统风扇的缺点,还具有很好的安全性,精确的温度控制,低功耗,低成本,自动监测温度等优点。随着我国电子技术的发展,该智能风扇将会走进千千万万普通人的家里,为广大人民带来生活上的便捷。
【参考文献】
[1]王蕊.基于单片机的多功能自动调温风扇系统设计[D].郑州大学,2014.
[2]陈大新.单片机应用技术[J].C51,2014,20(1):30-35.
[3]徐科军.传感器与检测技术(第4版)[M].北京:电子工业出版社,2016:55-56.
[4]史嘉瑞,马一诺,王哲.基于Wifi控制的电动风扇的智能寻踪系统设计[J].电子制作,2018(23):19-21.
[5]张凯强,李红岭,王浩,李盼盼,林晓庆.智能温控风扇调速系统的设计[J].电子技术与软件工程,2019(06):68-69.
[6]周常伟.客车发动机冷却风扇智能控制系统的研发[D].山东建筑大学,2016.