2014年第23卷第l1期 http://www.c—s-a.org.ca 计算机系统应用 模糊PID控制算法在窗帘控制中的应用① 张卫钢 ,马红艳 ,邱瑞 ,刘锐锐‘ (长安大学信息工程学院,西安710064) (长安大学理学院,西安710064) 摘要:针对目前电动窗帘控制系统中控制精度不足、系统误差不稳定等普遍存在的问题,提出了一种基于模糊 自整定PID控制【l】的算法并将其应用于系统控制中.系统以芯片CC2530为通信及控制核心,内嵌模糊PID控制 算法,使窗帘能够准确快速地响应用户需求,完成对窗帘的命令控制及手动智能控制,并达到用户期望的开合目 标.经系统仿真试验,系统可达无超调输出,且调节时间为0.18s,稳态误差约为0.15%,均小于常规PID控制.具 有一定的实用和理论研究参考价值. 关键词:物联网;窗帘控制;系统误差;控制算法;模糊PID Application of Fuzzy Pid Control Algorithm in Curtain System ZHANG Wei—Gang ,MA Hong-Yah‘,QIU Rui ,LIU Rui-Rui‘ (Department ofInformation Engineering,Chang’an University,Xi’na 710064,China;) D(epartment ofScience,Chang’na Universiyt,Xi’all 710064,China) Abstract:In view of the present electric curtain control system for hte lack of control accuracy,instability of the system error,a fuzzy self-tuning PID control algorithm was proposed and used in the system contro1.The system took CC2530 as the core of communications and control,which was embedded in the fuzzy PID control algorithm.The users’ requirements could be responded quickly and accurately.Eventually it could control the curtain under the users’ command and complete the manually smart control to the desired degree.After a system simulation test,the output of hte system was not up to the overshoot and it acquired the setting time of O.1 8s and steady—state error of about O.1 5%. which were less than the conventional PID contro1.Thus it has certain practical and theoretical research reference value. Key words:internet ofthings;curtain control;system error;control algorithm;fuzzy PID 0引言 算法,是难以较大程度地减小系统运行时所受的内外 随着人们生活水平的不断提高,以及人工智能技 干扰的影响的.比如,因供电电压电流不稳,而引起 术的不断发展,智能家居也已成为国内外自动控制领 的电机非匀速转动;因窗帘行进中的摇摆,而导致检 域的一个研究热点.然而,针对目前国内外现有智能 测信号的记载漏失;因窗帘撞停,而引起行程误差的 家居产品的价格昂贵、实用范围小、面向高端用户、 增大:以及因传感器灵敏度受外界因素影响而致使信 不易推广等问题,价格相对低廉、面向平民化的智能 息采集过程不可靠等等,都使整个系统表现为高度的 家居终端控制器则为我国智能家居行业的快速发展提 非线性和不确定性,因而利用传统PID控制算法所建 供了一种新思路. 立的精确数学模型势必使整个系统缺乏灵活性和应变 作为智能家居系统的一部分,电动窗帘控制器, 性,难以达到好的控制效果,甚至会出现系统不稳定 是一种集环境感知、规划决策、自动行进等功能于一 的情况. 体的综合系统.窗帘控制器若是采用传统的PID控制 因此,本文提出一种基于模糊自整定PID控制的 ①收稿时间:2014-03.13;收到修改稿时间:2014-05-04 Software Technique・Algorithm软件技术・算法155 计算机系统应用 http://www.c-S-a.org.crl 2014年第23卷第11期 算法,将模糊逻辑控制策略结合传统PID控制策略应 用在窗帘控制中.经系统仿真试验,系统控制性能良 好,且大大提高了系统的控制精度和可靠性. 控芯片CC2530可以对窗帘行程实施闭环控制和调节, 其中采用模糊PID控制算法进行调节,算法内嵌于主 控芯片中;同时,也可以自动感应用户手动拉窗帘动 作,完成电动窗帘的手动智能控制.其控制方框图如 图1所示. 主拄芯片CC2530 1系统控制模型 电动窗帘通常由传动箱、滑轮、滑车、导轨、同 步皮带、电机等构成,窗帘控制器的实质就是通过控 制与窗帘相连的电机的正转、反转、停止,进而实现 电动窗帘的开、合及停止.控制过程则是基于霍尔传 感器输出信号,将信号边沿计数转换为电机转动圈数, 从而得知窗帘行进行程,同时依据信号序列判断电机 转向以得知窗帘行进方向,最终得以控制窗帘行进至 用户期望位置. 设计中,窗帘控制器以TI公司的一款单片无线一 控制方框图 2模糊PID控制器的设计 模糊自整定PID控制器是控制系统的核心部分, 控制系统的结构框图如图2所示. 体化芯片CC2530为通信及控制核心,外围由电源、电 机驱动及电机状态反馈模块构成.在用户命令下,主 模糊控制器 图2模糊自整定PID控制系统结构框图 模糊控制是建立在模糊推理基础上的一种非线性 控制策略,它通过模糊语言表达了人们的操作经验以 及常识推理规则( .由图2.1可知,模糊控制器的基本 PID调节器输出与系统环境相适应的控制信号“(七), 从而对窗帘电机执行相应控制,如此便构成了自整定 模糊PID控制器. 结构包括模糊化、知识库、模糊推理、解模糊化和输 入输出量化等部分.其中模糊推理具有模拟人的基于 模糊概念的推理能力,该推理过程是基于模糊逻辑中 的蕴含关系及推理规则来进行的. 2.2控制器的输入/输出 模糊控制器是在模糊集的论域中进行讨论和计算 的,因而首先要将输入量变换到相应的论域,并将输 入数据转换成合适的语言值,也就是要对输入量进行 模糊化.结合控制系统结构框图可知,模糊控制器的 模糊自整定PID控制器正是模糊控制器与传统 PID控制器相结合的结果. 输入有两个,即上文所述P(七)和ec(k),输出为PID调 节器的三个参数:k 、七,、 . 将行程偏差e(k)看作模糊变量E( ),则其论域为: E(七)={-5,一4,一3,一2,一1,0,1,2,3,4,5),其中k=l,2,3…4.取7 2.1控制器结构的确定 控制器将用户期望行程,(七)和检测反馈量y(七)进 行比较,得到行程偏差e(.j})及其变化率ec(k),以e( ) 和ec(k)作为模糊控制器及常规PID调节器的输入,可 以满足不同采样时刻的e(k)和ec(k)对PID参数自整定 的要求.实际运行中通过不断检测e(k)和ec(k),利用 个语言值:el(负大),e2(负oo),e3(负小),e4(零), e5(正小),e6(正中),e7(大).其中,P4表示窗帘当前 行程与期望行程无偏差,则保持窗帘当前状态;e3、 模糊控制规则在线对PID三个参数进行修改【”,使得 1 56软件技术・算法Sottware Technique・Algorithm e2、el表示当前行程大于期望行程且各自偏差分别为 2014年第23卷第1l期 http://www.c・S—a.org.ca 计算机系统应用 较小、中等和较大,则应控制窗帘打开:e5、e6、e7 表示当前行程小于期望行程且各自偏差分别为较小、 中等和较大,则应控制窗帘闭合.E( )的隶属度函数 定义如图3所示. 将偏差变化率ec(k)模糊化为EC(k),其论域为: EC(k)={一3,一2,一1,0,1,2,3},其中k=l,2,3,4…同样取7个 语言值:ecl(负快),ec2(负中),ec3(负慢),ec4(零), ec5(正慢),ec6(正中),ec7(正快).其中,ec4表示当 前采样时刻较上一采样时刻,窗帘当前行程与期望行 程的偏差无变化:ec3、ec2、ecl则表示偏差变小且各 自变化程度分别为慢、中等和快:ec5、ec6、ec7表示 偏差变大且各自变化程度分别为慢、中等和快.EC(k) 的隶属度函数定义如图4所示. 图3行程偏差隶属度函数曲线图 f =膏 +Akr 1笔 3控制算法的实现 图4行程偏差变化率隶属度函数曲线图 设定PID三个参数k 、 、 的论域分别为【一0.3, 0.3】、[一0.06,0.06]、[一3,3】,对应取相同的7个语言值: (3) 能否准确控制窗帘行程及方向,使窗帘长期有效 地满足用户期望的控制精度,在很大程度上取决于系 统是否有一个合理、有效的控制算法. 控制算法流程图如图5所示. NB(负大),NM(负中),NS(负小),ZO(零), 小),PM(正中),PB(正大). (正 在进入电动窗帘的主控流程前,首先要将模糊控 制查询表写入主控芯片的EEPROM,以便控制器在进 行窗帘控制时即时查询模糊控制规则,从而进行模糊 推理,得出模糊输出量.在每一个采样周期,模糊控 制将采样得到的输入量量化到输入语言变量的模糊论 由控制系统结构框图可以看出,将PID三个参数 解模糊化并量化后送入常规PID调节器,便可输出窗 帘控制信号“(七),这里利用数字增量型控制算法求得, 如公式(1)、(2)所示. 域中,以量化的结果元素分别对应到不同的地址,从 SoftwareTechnique・Algorithm软件技术・算法l57 计算机系统应用 http://www.c—s—a.org.cn 2014年第23卷第11期 而直接寻址查找模糊控制查询表,最终得以获得PID 三个参数的清晰值.再将其三个参数送入PID控制器 得到控制量,经标度变换,即可得到系统的实际控制 量,用以控制窗帘的实际运行过程. 依据系统控制模型,图1可知,在用户命令到达 得的,即通过记录窗帘从起始位置到终止位置间的霍 尔信号边沿计数值以得知窗帘实际总行程,待窗帘行 程学习完毕之后,即可接收控制命令,完成窗帘期望 开合的控制. 然而,窗帘行进中,检测信号在内外干扰的影响 下是难以保证窗帘准确地到达期望开合的,并且,PID 控制参数在窗帘运行时也会因环境的变化而改变,因 此,实际控制中,需采用上述模糊自整定PID控制结 时,控制器基于当前采样霍尔信号换算得来的窗帘行 程,与用户期望行程进行比较,进而判断窗帘电机转 向及窗帘所需行走行程.其中用户命令以百分比的形 式告知控制器窗帘的期望位置,因此,需要窗帘实际 总行程与该百分比的乘积,以得到用户期望开合. 构,对PID调节器参数进行在线实时自整定,从而得 到经过修正的控制量并实时地对窗帘行程(中断计数) 进行调整和修正,最终使窗帘达到期望开合,实现了 系统的最佳控制. 在手动智能控制过程中,将所记录的霍尔信号序 列与标准序列进行比较,进而判断出手动拉窗帘时电 机转向,待确定电机方向后,便可得知窗帘的当前行 程和期望行程,主控制器进而控制窗帘完全打开或闭 合,这里的控制过程与窗帘命令控制过程相同,不再 赘述. 4系统仿真 为验证和实现模糊PID控制算法的先进性和良好 的控制效果,分别给出了基于传统PID控制的系统响 应曲线和基于模糊自整定PID控制的系统响应曲线, 如图6(a)和(b)所示. 图5控制算法流程图 (b)基于模糊自整定PID控制的系统响应曲线 设计中,窗帘的总行程是在控制前期进行学习获 158软件技术・算法SoftwareTechnique・Algorithm 图6系统仿真图 2014年第23卷第1l期 http://www.c-s-a.org.cn 计算机系统应用 用不同的控制算法得到的系统响应曲线也不同. 当然,在系统实际测试过程中也发现了上述算法 对比图6(a)和(b),传统PID控制稳定所需时间为0.26s, 稳态误差为0.3%,而模糊自整定PID控制算法的调节 时间为0.18s,稳态误差约为0.15%.很显然,采用模 糊自整定PID控制算法明显改善了系统的动态性能, 加快了系统的响应速度,调节时间缩短且不存在超调, 平衡了快速性与稳定性的矛盾,达到了控制效果最佳 的统一,这是传统PID控制所难以达到的.经过控制 的不足之处,比如,尽管窗帘行程控制精度得到了提 高,但仍然无法消除窗帘长期运行过程中行程误差的 累积.这些问题都有待进一步完善和解决. 参考文献 1刘金琨.先进PID控制及其MATLAB仿真.北京:电子工业 出版社,2002. 系统仿真试验,充分验证了模糊自整定PID控制算法 控制思想的正确可行性,足以满足系统控制需求. 5结语 将上述模糊自整定PID控制算法应用于实际智能 家居系统的窗帘控制中,实现了对窗帘行程及方向的 精确控制,有效地解决了以往窗帘控制系统中所存在 的系统误差较大、动态特性不理想的问题,提高了系 统的控制精度和可靠性.实验结果表明,该算法设计 正确,不仅改善了控制系统的动、静态性能,同时也提 高了系统自动化控制的程度,具有较高的实用价值. 2赵文峰.基于MATLAB6.x的控制系统设计与仿真.西安:西 安电子科技大学出版社,2002. 3王春武,刘春玲,姜文龙.基于单片机的无线智能窗帘控制器 的设计.吉林大学学报(自然科学版),2010,(2):93-95. 4张周.ZigBee技术研究及其在智能家居中的应用【学位论 文】.厦门:厦门大学,2o07. 5张敏敏,陈亮亮.实用智能家居窗帘的设计.科技视 界,2012,(8):233-234. 6孙健.智能家居电动窗帘的设计与实现.机械工程与自动化, 2012,(4):133-135. SoftwareTechnique・Algorithm软件技术・算法159