企业简介

作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。

  • 公司类型:其他

联系方式
  • 控制网
  • 地址:北京市海淀区上地十街辉煌国际2号楼1504室
  • 邮编:100085
  • 电话:010-57116291 / 59813326
  • 传真:010-59813329
  • 网址:http://www.kongzhi.net
  • Email:mahongliang@kongzhi.net
  • 联系人:市场部
案例详细
标题一种基于Matlab的参数自调整模糊控制器的设计方法
技术领域仪器仪表
行业
简介
内容





   杨晓燕(1987-)

    女,江西九江人,厦门大学,控制理论与控制工程研究所,研究方向主要为非线性控制、自适应控制。



    摘  要:本文介绍了一种在MATLAB的模糊控制工具箱中,通过编写S函数实现对量化因子和比例因子的在线自动调整来设计模糊控制器,从而有效地实现参数自调整模糊控制器的设计方法。为了验证参数自调整模糊控制器的优越性,分别进行了空调温度控制系统的PID控制、常规模糊控制和参数自调整模糊控制的仿真研究。结果表明,参数自调整模糊控制器较之常规的模糊控制器,在被控对象特性变化或较大扰动的情况下,控制系统能保持较好的性能,是一种较理想的控制方法,具有广阔的发展前景。

    关键词:S函数;PID控制;模糊控制;参数自调整模糊控制器

    Abstract: This paper describes how a fuzzy controller is designed with MATLAB fuzzy toolbox and how the parameter self-tuning fuzzy controller is designed based on the on-line automatic adjustment of the S-function and .scale factor. In order to verify the superiority of the proposed self-tuning fuzzy controller, simulations of applying PID controller, fuzzy controller, and self-tuning fuzzy controller in temperature control of air-conditioning system are respectively performed. The result shows that parameter self-tuning control is an ideal method, and can achieve the ideal response curve. It has practical guiding effect and application value in research and engineering applications, and will have broad developing prospects.

    Key words: S-Function; PID control; Fuzzy control; Parameter self-tuning fuzzy controller

    1 引言

    工业过程中的许多被控过程,大多是针对复杂的非线性对象,存在诸多不确定性信息,往往得不到被控对象精确的数学模型,从而使基于模型设计得到的控制器得不到满意的控制效果。就中央空调系统来说,它是一个典型的具有大滞后特性的非线性系统,能耗占整个建筑能耗的50%以上,采用传统的PID控制效果并不令人满意,能源浪费很严重,在系统的控制精度、稳定性和可靠性等方面,难以满足用户的需求。本文提出了一种基于参数自调整模糊控制器的设计,实时修改控制参数,确保系统在运行过程中始终处于优化状态,既满足系统技术性能指标要求又能最大限度地节约能源。

    模糊控制器的性能主要取决于模糊控制规则的确定及其可调整性。当对象的参数、给定或扰动变化过大时,控制效果则会变差,可根据实际情况在线调整输出,实现模糊自适应控制。调节器输出部分的比例因子可以根据速度的实时变化趋势经自适应调整机构的模糊规则库在线调整,使系统的速度响应更快,超调更小,稳态精度提高,改善常规模糊控制器在控制过程中参数不变带来的问题,相比常规PID控制和模糊控制的方法,参数自调整模糊控制器使系统获得较好的响应特性,对环境变化有较强的自适应能力,使得在被控对象特性变化或扰动的情况下,满足系统响应速度快、稳态精度高的要求。

    2 参数自调整模糊控制器的设计

    单回路时,系统控制框图如图1所示。

                

                              图1   温度单回路闭环控制

    空调控制器的设计目标是:调节风机转速,使房间温度接近设定温度;避免调节机构频繁动作,防止环境温度在设定值附近频繁振荡;节约能源。影响房间温度的主要因素是循环水温度、室外温度、房间散热系数和空调换热系数。
由于调节阀的时间常数相对于房间和表冷器的时间常数很小,故在仿真时忽略调节阀环节,这样温度控制系统便是一个典型的二阶系统。

    对于定风量空调系统,空调房间的特性,有传递滞后、时间常数和放大系数等描述。由于空调房间的工艺特性、围护结构、送风方式和换气次数的不同,测得结果也不相同。本文研究的各环节参数参照实际工程数据。空调房间传递函数可近似为:
 
    根据空调系统所标称的物理参数,可以精确计算出表冷器的各参数,但实际数值与理论数值有较大差异,并且很难测量。因此,将原来的二阶惯性系统,利用一阶惯性环节加纯滞后模型近似。

    2.1 模糊控制器设计

    MATLAB的动态仿真工具Simulink以结构图形式组成系统,方便直观,且提供模糊控制器模块。

    在MATIAB的命令窗口输入命令Fuzzy,回车,即可进入模糊逻辑编辑窗口,设置模糊控制器需要的输入输出变量、规则等。

    本文以中央空调温度控制系统为例,选择误差e和误差变化ec为输入变量,阀门开度u为输出变量。隶属度函数均选择三角形(trimf)。
  
    输入语言变量e的取值:{负大,负中,负小,零,正小,正中,正大},表示符号:{NB,NM,NS,ZE,PS,PM,PB}。

    输入语言变量EC = de/dt的取值:{负大,负中,负小,零,正小,正中,正大},表示符号:{NB, NM, NS, ZE, PS, PM, PB}。

    输出变量u的取值:{关闭,微开,小开,半开,小半开,大半开,全开},表示符号:{CB,CM, CS, M, OS, OM, OB)。

    根据推理控制决策过程:

    IF{温度设定值和回风温度偏差过大AND偏差有变大的趋势}THEN{电动水阀全开};

    IF{温度设定值和回风温度偏差过小AND偏差有变小的趋势}THEN{电动水阀全闭};

                 表1   模糊控制规则表

                     
    根据控制规则表1以“If-Then”的形式在Rule Editor窗口输入以上控制规则。模糊决策采用Mamdani推理法。这样就利用模糊逻辑工具箱建立了一个FIS型文件,保存到work文件夹中,文件名为my_work.fis,并保存到工作空间(save to workspace),模糊控制器的设计工作就基本完成。

     2.2 参数自调整模糊控制器构成

    参数自调整模糊控制器由基本的模糊控制器和参数自适应调节模块组成。如图2所示。

              
 
                         图2   参数自调整模糊控制原理图

    2.3 模糊控制器参数自调整策略

    在模糊控制器中,对控制性能影响较大的参数主要有模糊控制规则,量化、比例因子,隶属函数形状及其分布等,各种自调整方法大多围绕对这些参数的调整和优化展开。

    考虑系统设计的复杂程度,以及各参数间的相互影响,一般只选一个或几个参数进行调整。模糊控制规则是模糊控制器的核心,控制器的性能很大程度上取决于模糊控制规则的确定及其可调整性。对于二维模糊控制器而言,为了使控制器适用不同的被控对象,控制算法具有更强的通融性,同时简化算法,一般采用规则解析式来近似表述模糊控制规则,通过调整其中的规则调整因子α从而实现对模糊控制规则的调整。量化因子Ke、Kec和比例因子Ku对控制性能的影响也很大。但是同时调整这三个因子计算量过大,而且各因子之间具有相互制约和影响的作用。

    在目前使用的参数自调整方法中,调整各个参数的依据都是误差或误差变化的模糊值。误差和误差变化只能反映对象某一时刻的瞬态状态,并不能反映对象处在过渡过程的哪个阶段。为此,在调整参数时,不仅要参考误差、误差变化,还应依据反映对象全局性状态的指标来改变系统参数。

    基于以上分析,本文提出一种自调整模糊控制方法,即根据误差E和误差变化EC调整规则调整因子α,根据系统控制性能指标调整比例因子Ku。

    3 改善的参数自调整模糊控制器设计

    调整的原则是:当E或EC较大时,重点考虑系统响应问题,Ke和Kec取较小值。降低对E和EC的分辨率,同时Ku取较大值,使响应加快。保证系统的快速性与稳定性;当E或EC较小时,Ke和Kec取较大值。增加对E和EC的分辨率,同时Ku减小,避免产生超调,并使系统尽快进入稳态精度范围。

    简单地使用SIMULINK中的模块无法直接应用到本文所研究的空调系统中的参数自调整模糊控制器的设计中。在Simulink中,还有一个S-Function模块,该模块通过编程,可以实现自定义的功能。

    在MATLAB里通过编写S函数,新建一个输入输出自调整模块,由偏差Ke和偏差变化Kec的大小自动调节输出比例因子Ku,实现参数自调整的目的。

    S函数的引导语句格式为:function[sys,x0]=fname(t,x,u,flag)

    其中fname为函数名,t,x,u,flag为对应于状态方程模型的时间、状态向量和输入量。flag为返回变量标志,用于标识该函数的返回结果。例如flag为1时,变量sys将返回系统的状态向量。为0时sys和x0将分别返回系统的阶次信息和初始状态。为2则使离散状态x(n+1)返回到sys。为3时将返回系统的输出变量。

    打开Matlab,在File菜单中“新建”选择M-file。从而进行编写S函数。

    根据本文所述参数调整原则编写如下S函数:

function [sys,x0]=sreg(t,x,u,flag)
global ke kec ku;
ke=5;kec=0.1;ku=76;
switch flag,
    case 0,
        sys=[0,0,3,2,0,1];
        x0=[];
    case 3,
        if abs(u(1))>20|abs(u(2))>2
            sys(1)=0.5*ke*u(1);
            sys(2)=0.4*kec*u(2);
            sys(3)=ku+3;
        elseif abs(u(1))>10|abs(u(2))>1
            sys(1)=0.7*ke*u(1);
            sys(2)=0.6*kec*u(2);
            sys(3)=ku+2;
        else
            sys(1)=0.8*ke*u(1);
            sys(2)=0.7*kec*u(2);
            sys(3)=ku;
        end
    otherwise
        sys=[];
end

   编写完毕后,将其存盘为sreg.m文件(文件名与函数名应一致)。然后在Simulink的块库中.从非线性库中将名为S-Function的块拖出,双击它,弹出一个输入框,在“S-Function name”项中填入已保存的文件名sreg(如图3)。将其打包、封装后得到图4所示的两输入三输出的新模块,并存入模糊控制模块库中以备后用。该模块具有上述程序所具有的功能。

                   
                          图3   用S函数实现的模块sreg
                                
                       图4   封装后的模块

    4 仿真实验

    空调房间存在很多干扰因素,例如门、窗突然打开,空调突然起、停,室内人员的流动等。在此,将这些因素等效为房间温度的阶跃扰动。在控制系统中,要求系统有很好的抗干扰性,笔者主要考虑房间人员和仪器设备的使用情况的干扰,选用信号发生器产生干扰信号,来研究系统对突加干扰的动态响应。

    在系统稳定后,T=3500s时加一个持续时间为5分钟,幅值为2的信号模拟房间干扰,加干扰时的仿真图如图5所示,响应曲线如图6所示。

                     

                                图6   响应曲线图

    由图6系统响应曲线可见,PID控制对扰动很敏感,系统经历较长时间才能达到稳态;而采用参数自调整模糊控制器对系统进行控制时只有微小的颤动。参数自调整模糊控制器具有无静差、响应速度快且具有强鲁棒性,对于时变、非线性、强干扰的空调控制对象,采用参数自调整模糊控制是一个非常好的选择。

    5 结论

    MATLAB作为一种开放的编程语言,相继推出的建模可视化功能SIMULINK和工具箱为仿真研究提供了有力的工具,可以直观方便地进行分析、计算和仿真工作,但简单地使用SIMULINK中的模块无法仿真复杂控制系统。鉴于MATLAB具有丰富的命令和函数,通过标准M文件形式编制S函数来构造系统模型所需要的功能模块,从而实现MATLAB与SIMULINK之间的更深联系。本文充分利用MATLAB编程灵活与SIMULINK简单直观的优点,实现参数在线自调整模糊控制系统的设计与仿真。并且将它成功应用到空调系统的温度控制中。

    针对空调系统这样一个大滞后、非线性、时变的复杂控制系统,当采用一组固定的量化因子和比例因子难以达到预期的控制效果时,可以根据比例因子对系统性能的影响关系,采用改变比例因子的方法,来调整整个控制过程中不同阶段的控制特性。采用参数自调整模糊控制器的方法,对控制系统具有重要的理论价值和实际意义。

    同时也应看到模糊控制器参数自调整仍是个困难和复杂的问题,因为模糊控制器是一个相当灵活的系统,它的特性是由大量的参数决定的。因此,选择何种参数作为被调整对象,如何协调各参数之间的关系,选择何种调整方法,还缺少系统化的分析和设计方法,对这种具有调整能力的模糊控制器的稳定性也缺少足够的分析研究。因此基于参数自调整模糊控制器基础上的研究仍然任重而道远。

    参考文献:

    [1] 薛定宇. 基于MATLAB/SIMULINK的系统仿真技术与应用[M]. 北京: 清华大学出版社,2002.

    [2] 张金红. 中央空调控制系统的设计与研究[D]. 河北工业大学,2006.

    [3] 王建明,李训铭. 变风量系统空调房间建模与特性参数计算[J]. 计算机仿真. 2002,(4): 69~72.

    [4] 马银辉,丁建设,徐德松. 基于MATLAB的PID参数自调整模糊控制器的设计与应用仿真[J]. 发电设备,2005,(2):
113~124.

    [5] 贺远华,方彦军. 基于MATLAB的参数自调整模糊控制系统的设计与仿真[J]. 微计算机信息. 2002,18(10): 10~12.

    [6] 马丙场,倪国宗. 参数自调整模糊控制器在中央空调控制系统中的应用[J]. 自动化技术与应用,2003,22(2): 9~12.

    [7] 潘耀,鲁五一. 参数自调整模糊控制在空调系统中的应用[J]. 仪器仪表用户, 2009,(01): 79~80.

    [8] 高宏岩,王建辉著. 在线自调整修正因子模糊控制方法和应用[J]. 微计算机信息. 2006,(22): 5~12.

    [9] Masiala, M.; Vafakhah, B.; Salmon, J.; Knight, A.M.; “Fuzzy Self-Tuning Speed Control of an Indirect Field-Oriented Control Induction Motor Drive”. Industry Applications, Vol.44,  Issue 6,  Nov.-dec. 2008 Page(s):1732~1740.

    [10] Changbo Xu; Congcong Liu; Zhenfu Bi; Chengjin Zhang; “PID Self-tuning Immune Fuzzy Control of Steam Temperature Control System in Fossil-fired Power Plant”. Intelligent Control and Automation, 2006. WCICA 2006. The Sixth World Congress on Vo.1,  Page(s):3973~3977.


                                                              ——转自《自动化博览》