基于蚁群算法的风扇控制系统设计
2019-07-29郭中会李松松李敏张宸宸夏闻泽
郭中会 李松松 李敏 张宸宸 夏闻泽?
摘 要:针对目前市场上智能风扇贵而不实和老式风扇功能单一的现状设计了一种智能风扇控制器,该控制器采用单片机STC89C52作为主控,利用温度传感器对环境温度进行感知,利用时钟芯片对时间信息进行记录,根据蚁群算法得到当前最适合用户的风速,进而实现了手机遥控、时钟显示、定时启停、自动调速、夜间自动降速等功能。测试表明:显示装置可以精确显示时间和温度变化,无线控制距离可以覆盖面积为100 m2的楼房,各项功能均达到预期效果,且具有较大的应用价值。
关键词:风扇控制器;温度检测;无线控制;蚁群算法;单片机;传感器
中图分类号:TP273 文献标识码:A 文章编号:2095-1302(2019)06-00-03
0 引 言
近年来,随着人们生活水平的不断提高和科技的快速发展,电风扇变得越来越智能化、多功能化,但目前已知的智能风扇仅增加了照明、驱蚊等不实用的功能[1]。据统计,消费者在追求个性时尚及精致的同时,也愈加关注健康,长时间在风扇下不仅容易对人体的血管、肌肉等造成严重伤害,还会因受凉引发感冒发烧等。因此,具有自主调节风量大小的电风扇越来越受到消费者的青睐[2]。
张晓东研究的无线遥控风扇无极调速器很好地解决了无线技术在电风扇上的应用问题,并且可使用软件实现无极调速,将软件与硬件完美结合[3]。周学礼等通过对温度传感器的应用实现了对电风扇的自动温控,但其调速方法为步进调速,在很大程度上影响了风扇自动控温的精度[4-6]。随着技术的更新与进步,电风扇的功能将变得越来越全面,使用越来越便捷,会向着多功能化及小型化的方向发展[7-9]。
文中设计了一款能够实现手机遥控、时钟显示、定时、自动调速、夜间自动降速等功能的智能电风扇。该电风扇的应用将极大地改善人们的生活,使人们摆脱机械定时的吱吱声、换挡不方便、深夜天气转凉导致感冒发烧等旧式风扇带来的负面影响。
1 系统总体设计
自动风扇控制设计以STC89C52单片机为主控单元,通过DS1302实时时钟芯片和DS18B20温度传感器分别将当前时间和温度传输到主控,主控收到当前时间和温度后一方面将其值传送到LCD1602显示屏和手机客户端,另一方面在自动控制时通过蚁群调节控制LM298风扇电机驱动上的PWM占空比,达到无差别调速的目的。在手机无线控制方面,使用蓝牙模块与手机直接通信,通过手机发送不同的控制指令,单片机根据接收的指令执行不同的控制模式,如调速、更改时间、模式选择等。设计具有齐全的手机遥控、时钟显示、定时、自动调速、夜间自动降速等功能。系统结构如图1所示。
2 硬件整体设计
2.1 单片机最小系统
设计采用增强型STC89C52R单片机,可以任选6个时钟/机器周期或12个时钟/机器周期,指令代码完全兼容传统8051。工作频率可达48 MHz,通用I/O口为32个,其应用程序的空间为8 KB,片上集成的RAM为512 B,此外还具有2个16位计数器(定时器)和4路外部中断[10]。
2.2 显示模块的设计显示模块采用字符型液晶LCD1602A。设计时,采用8位
总线传输方式接单片机P0.0~P0.7;寄存器选择口BS接单片机P2.6,用于选择寄存器类别;信号读写线R/W接单片机P2.5,用于选择读写操作方式;液晶显示器对比度调整端VO接电位器,通过电位器分压后得到VO端电压。其工作过程大致为先进行初始化,而后不断写数据以显示更新内容并通过读数据保证所写数据准确传达,保障系统正常工作。
2.3 直流电机驱动的设计
直流电机驱动使用L298N驱动芯片,其内部包含4通道逻辑电路,同时具备抗干扰能力强,驱动能力强,发热量低等优点。在驱动模块电路的设计中,输入IN1和IN2驱动信号,其中将IN1接单片机I/O口,IN2接VCC。D6\D8\D10\D12与D7\D9\D11\D13分别构成两个H桥高电压大电流全桥式驱动器,可驱动46 V/2 A以下的电机[11-12]。驱动使用了大容量滤波电容,续流保护二极管,提高了驱动电路的可靠性,其中OUT1,OUT2与风扇连接。驱动模块电路连接如图2所示。
2.4 无线控制系统的设计
无线控制HC-06芯片具有无线收发、高灵敏度、低电压(3.3 V)工作、小体积、低功耗、低成本等特点,其外围电路简单,内置2.4 GHz天线、外置8 Mbit FLASH。无线蓝牙与单片机的连接采用串口UART方式,当无线蓝牙接收到数据后通过端口TXD向中枢控制器单片机进行写操作,而单片机的RXD进行读操作;当单片机向外发送数据时,通过单片机的TXD完成写操作,而无线蓝牙的RXD读数据,经过处理后发送。无线控制系统电路如图3所示。
2.5 时钟模块
时钟模块使用DALLAS公司设计生产的DS1302芯片,该芯片内含31 B静态RAM和一个实时时钟即日历。实时时钟提供秒、分、时、日、月、年的信息,并且每月的天数和闰年的天数可自动调整。DS1302与单片机之间能简单地通过同步串行的方式通信,仅需用CE复位、I/O数据线和SCLK串行时钟三个口线即可实现。与单片机连接时,数据线I/O接单片机P1.1口,以实现总线的功能;串行时钟SCLK接单片机P1.0口,以控制数据的讀写状态;复位端CE接单片机P1.2用于对实时时钟芯片DS1302的复位。
3 软件设计
3.1 总程序设计
在程序运行时,单片机首先进行初始化,开启定时器0、定时器1和串口中断4,而后等待控制指令。在控制中,采用按键控制与手机无线控制并行控制的思路,即按键检测与手机无线接收以“或”的方式在程序中运行[13]。根据控制信号的不同执行不同的子程序,即万年历的设置、调速方式的设置、夜间降速模式的设置、风速与温度的关系等。程序总流程如图4所示。
3.2 无线控制程序设计
在手机无线控制子程序中,当手机向蓝牙发送十六进制数据时,蓝牙接收后通过串口发送至单片机,SBUF接收后将根据不同的值分别执行开、关、自动、手动、高速、中速、低速等操作。手机控制子流程如图5所示。
4 蚁群算法在风扇控制系统的应用
4.1 蚁群算法的应用框架
在风扇控制系统中,时间变量和温度变量呈现非线性的复杂关系,因此传统的拟合方法或者PID控制策略等都不适用,而蚁群算法是一种基于种群的启发式搜索算法,被广泛应用于多变量的路径优化和求解中。
蚁群算法在应用到风扇控制系统时,首先根据信息素模型构建解记忆表,而后基于可变解记忆表研究蚂蚁自适应基准解,指导后续随机解构建,如图6所示。
4.2 蚁群算法的随机解构建
蚂蚁随机解构建方法是求解得到可靠解的关键。对于连续变量,蚂蚁采用二次高斯分布进行解构建。蚂蚁围绕基准解Sj,按行数和维数遍历,依次对每个变量进行解构建。蚂蚁在第i+j(1≤i≤r,1≤j≤c)步,将为(i,j)赋值。为此,蚂蚁采用高斯分布抽样基准解Sj中Rji值的邻域。高斯分布fji(x,y)中心μji为基准解Sj中Rji值:
标准差σji由记忆表所有解的第i个连续变量取值共同决定[16]:
Rji值与其他k-1个解的第i个连续变量取值的平均距离反映了连续變量取值的收敛程度。同时,采用一个参数ξ来调节标准差σji。ξ值越高对应放慢收敛速度,反之加快收敛速度。
4.3 蚁群算法对风速控制参数的自动化配置
本文利用离散变量的标准函数集,结合蚁群算法对风速控制参数进行自动化配置,如图7所示。一次自动化配置过程包括运算算法、反馈参数性能指标、评价参数配置质量、指导新的参数配置生成。其中训练场景包含蚁群算法和离散变量的标准函数训练数据。
5 仿真及应用
5.1 系统仿真
本系统通过串口输入不同温度和时间并观察PWM波的占空比,定性研究风扇控制器的自适应效果。设定温度P∈[15,40],时间T∈[0,24],占空比PWM∈[0,1],对数据进行Matlab建模,得到占空比(风速)与温度、时间的关系,如图8所示。从图中可以清晰看出,当温度逐渐升高时,中午12点左右的风速将优先升高,凌晨左右的风速最后升高;相同时刻下随着温度的上升,风速呈现单调不减的趋势。
5.2 系统应用
为了检验系统的实际效果,本系统在保证安全和可操作性前提下,采用24 V直流供电风扇在20~30 ℃的室内进行实验,实验结果见表1所列。
6 结 语
风扇控制系统的研究对于提高人们的生活质量以及促进服务型智能产品的发展具有重要意义。本文介绍了风扇控制系统的设计过程,包括系统设计框架、主要硬件电路、程序流程图及基于蚁群算法的风扇控制方法。最后由仿真和实验数据得出控制系统达到设计要求的结论。但由于个人水平有限,在抗干扰方面仍存在不足,系统有待完善。
参 考 文 献
[1]周学礼,沈发旺,王洪远.基于MSP430单片机的12 V风扇智能调速器设计[J].微计算机信息,2010,26(3-2):100-102.
[2]李庆梅.基于AT89C51的智能电风扇调速器的设计[J].自动化技术与应用,2008,27(1):117-119.
[3]陈伟,张源.基于单片机的温控风扇控制设计[J].微型电脑应用,2015,31(10):49-50.
[4]黄锦峰,胡锦,周华安,等.基于AT89C52的风扇温控调速器的设计[J].工业控制计算机,2008,21(9):89-90.
[5]罗贝尔.家用落地扇调速电路的改进[J].电脑知识与技术,2015,11(22):143-144.
[6]周学礼,陈飞.基于MSP430风扇速度自调装置的实现[J].常熟理工学院学报,2009,23(8):86-88.
[7]楼俊君,程启明,甄兰兰.基于STC89C51的温控风扇的设计[J].黑龙江科技信息,2015(26):20.
[8]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009:342-344.
[9]梅丽风.单片机原理及接口技术[M].北京:清华大学出版社,2012:102-104.
[10]刘军,崔学伟.基于单片机的双模式太阳能充电器的设计[J].电子测量技术,2018,41(18):91-96.
[11]陈富忠,翁桂琴.智能温控调速风扇的设计[J].上海电机学院学报,2009,12(4):297-300.
[12]王蕊.基于单片机的多功能自动调温风扇系统设计[D].郑州:郑州大学,2014.
[13]陈磊,魏鑫,魏林心.基于单片机的智能风扇控制系统设计[J].电子世界,2016(5):29-30.
[14]韩晓峰,张士录,翁锐,等.车用PWM冷却风扇控制策略试验研究[J].内燃机与动力装置,2014,31(6):8-9.
[15]廖天俊,余赟.面向混合变量和任意时间优化的蚁群算法[J].系统工程与电子技术,2017,39(3):675-680.
[16] AnalogDevice.Inc.Loop-Powered4-20mvDAC.DataSheet[Z].1996:5-8.