水温控制系统在日常生活中随处可见,例如锅炉水温控制、热水器水温控制等;由于水温控制系统的数学模型难以建立,因而在水温控制系统中水温控制器采用传统的pid控制算法。虽然pid控制算法对可以建立精确数学模型的控制系统有良好的控制效果,但在控制的过程中,容易出现温度过冲。
模糊控制将人的控制策略转化为计算机所描述的控制算法,模拟人的思维方式对无法构造数学模型的被控对象进行有效控制,可较好的解决pid控制方法难以解决的问题。然而,传统的模糊控制器存在抗干扰能力差、响应速度慢等缺陷,产生这些问题的原因是因为模糊规则一旦制定就不能改变,从而使得当前水温控制系统难以达到理想的水温控制效果。
技术实现要素:
本发明的目的在于提供一种基于量化因子可调式模糊算法的水温控制系统,可在线调整模糊规则,旨在解决现有的水温控制系统容易出现温度过冲,抗干扰能力差,响应速度过慢的问题,从而达到更好的控制效果。
为了实现上述任务,本发明采用以下技术方案:
一种基于量化因子可调式模糊算法的水温控制系统,包括:
温度采集模块,用于采集温度值并将温度值反馈给智能控制模块;
智能控制模块,用于将所述的水温信息经过量化因子可调式模糊算法处理后,得到输出控制信号,并将输出控制信号作用于输出模块;
输出模块,用于根据所述的输出控制信号控制加热装置以实现水温控制;
所述的量化因子可调式模糊算法包括:
步骤1,建立次级模糊控制器
所述的次级模糊控制器为双输入单输出的模糊控制器,其中双输入分别为通过所述温度采集模块采集的温度值与目标温度值的偏差ec,和偏差变化率ecc;所述的单输出为输出的控制量uc;
分别设定所述偏差ec、偏差变化率ecc和控制量uc的模糊论域ec、ecc、uc以及对应的语言值,然后建立次级模糊规则控制表;
计算输出的模糊量uc,通过解模糊量uc得到所述的控制量uc;
步骤2,建立主模糊控制器
所述的主模糊控制器为双输入单输出的模糊控制器,其中双输入分别为通过所述温度采集模块采集的温度值与目标温度值的偏差ez,和偏差变化率ecz;所述的单输出为作用在所述输出模块上的输出控制信号uz;
分别设定所述偏差ez、偏差变化率ecz和控制量uz的模糊论域ez、ecz、uz以及对应的语言值,然后建立主模糊规则控制表;
计算输出的模糊量uz,通过解模糊量uz得到所述的输出控制信号uz。
进一步地,所述的分别设定所述偏差ec、偏差变化率ecc和控制量uc的模糊论域ec、ecc、uc以及对应的语言值,包括:
所述的偏差ec的模糊论域为ec={-6,-4,-2,0,2,4,6},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb};所述的偏差变化率ecc的模糊论域为ecc={-6,-4,-2,0,2,4,6},对应的语言值为{nb,nm,ns,ze,ps,pm,pb};所述的控制量uc的模糊论域为uc={0,0.2,0.4,0.6,0.81},对应的语言值为{vs,s,m,b,vb}。
进一步地,所述的计算输出的模糊量uc所采用的公式为:
上式中,rc表示所述的次级模糊控制规则表。
进一步地,所述的分别设定所述偏差ez、偏差变化率ecz和控制量uz的模糊论域ez、ecz、uz以及对应的语言值,包括:
所述的偏差ez的模糊论域为ez={-6,-4,-2,0,2,4,6},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb};所述的偏差变化率ecz的模糊论域为ecz={-6,-4,-2,0,2,4,6},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb};所述的输出控制信号的模糊论域为uz={-3,-2,-1,0,1,2,3},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb}。
进一步地,所述的计算输出的模糊量uz的公式为:
其中,α为量化因子,α=uc;rz为所述的主模糊控制规则表。
进一步地,所述的解模糊量uc、解模糊量uz所用到的方法均为重心法。
进一步地,所述的系统还包括:
按键模块,用于设定所述的目标温度值;
液晶显示模块,用于显示所述的目标温度值、温度采集模块采集到的温度值、目标温度值与所述温度值的差值,以及时间、日期。
进一步地,所述的次级模糊规则控制表如下:
进一步地,所述的主模糊规则控制表如下:
本发明与现有技术相比,具有以下技术特点:
本发明的系统采用量化因子可调式模糊算法,量化因子由次级模糊控制器模糊推理产生,相当于在原本的模糊控制器上增加一个调节量化因子的次级模糊控制器,当偏差较大时,要加大对偏差的规则加权,当偏差较小时,主要是偏差变化率在起作用。量化因子可调式模糊算法可通过次级模糊控制器在线自整定量化因子,因此与传统的pid的算法相比较,本发明采用量化因子可调式模糊控制算法作为水温控制算法,可以较大的减小系统的超调量,同时量化因子可调式模糊控制算法响应更加迅速,可应用于例如热水器水温控制、锅炉水温控制等多种水温控制场合。
附图说明
图1为本发明系统的结构示意图;
图2为本发明的量化因子可调式模糊算法的原理图;
图3为本发明的量化因子可调式模糊算法与传统的pid算法、模糊控制算法的仿真对比图。
具体实施方式
如图1所示,本发明公开了一种基于量化因子可调式模糊算法的水温控制系统,包括:
温度采集模块,用于采集温度值并将温度值反馈给智能控制模块;在本实施例中,温度采集模块由热电偶以及max6675芯片构成,其中热电偶用于采集温度信号,max6675芯片用于将采集的温度信号转换成数字信号以提供给智能控制模块。
智能控制模块,用于将所述的水温信息经过量化因子可调式模糊算法处理后,得到输出控制信号,并将输出控制信号作用于输出模块;本实施例中,所述的智能控制模块采用stm32f1系列的芯片,在其内部建立模糊算法,最终通过温度采集模块实时获取的温度值、目标温度值通过输出模块来调节水温,最终的输出控制信号为脉宽调制信号。
输出模块,用于根据所述的输出控制信号控制加热装置以实现水温控制;本实施例中,输出模块采用光耦隔离器和晶闸管,其中光耦隔离器起到保护智能模块的作用,晶闸管具有放大脉宽调制信号的作用;所述的加热装置可采用加热棒,加热棒设置在需要控制水温的水中,根据脉宽调制信号的控制进行水温的调节。
除了上述的模块之外,本发明的系统进一步还包括:
按键模块,用于设定所述的目标温度值,按键模块采用键盘;所述的目标温度值即期望水温达到的温度;
液晶显示模块,用于显示所述的目标温度值、温度采集模块采集到的温度值、目标温度值与所述温度值的差值,以及时间、日期,这些数值由所述的智能控制模块通过液晶显示模块进行显示。
电源模块,用于给所述的智能控制模块、输出模块、加热装置、液晶显示模块供电。本发明各个模块间的连接关系如图1所示。
本发明的工作原理如下:
本发明通过k型热电偶及max6675检测当前的水温信号,转为数字信号温度值并提供给智能控制模块,智能控制模块采用量化因子可调式模糊算法,根据设定的目标值与采集到的温度值的差值运用模糊推理技术,计算出次级模糊控制器的输出值uc,主模糊控制器根据设定的目标值与采集到的温度值的差值及次级模糊控制器输出值uc,计算出输出控制信号uz,即脉宽调制信号。输出模块与智能控制模块连接,计算出的脉宽调制信号传递到光耦隔离器(保护智能控制模块),再次传递到晶闸管(放大脉宽调制信号的作用),最终作用在加热装置上,使得水温能够迅速并不过冲的达到设定的温度值;假如采集到的温度值与设定值为0,则智能控制模块输出一个恒定不变的输出量。本发明还具有较为人性化的人机交互界面,显示目标温度值及当前温度值等信息,可通过按键模块设定目标温度值。
智能控制模块采用控制水温的量化因子可调式模糊算法,运用模糊推理技术,通过设计主模糊控制器、次级模糊控制器,并根据经验、大量的试验建立模糊规则控制表,从而计算出最优的脉宽调制信号,由于采用的是量化因子可调式模糊算法技术,比传统的pid控制器相比具有超调较小,响应迅速等特点。本发明在智能控制模块内部建立的量化因子可调式模糊算法的步骤如下,原理图如图2所示:
步骤1,建立次级模糊控制器
步骤1.1,所述的次级模糊控制器为双输入单输出的模糊控制器,其中双输入分别为通过所述温度采集模块采集的温度值与目标温度值的偏差ec,和偏差变化率ecc;所述的单输出为输出的控制量uc;其中ec、ecc及uc为精确量;
步骤1.2,分别设定所述偏差ec、偏差变化率ecc和控制量uc的模糊论域ec、ecc、uc以及对应的语言值;所述的偏差变化率为温度采集模块相邻两次采集到的温度值的差值;
本方案中,根据水温控制的特点,经过发明人试验,对所述的模糊论域以及语言值的设置如下:
所述的偏差ec的模糊论域为ec={-6,-4,-2,0,2,4,6},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb}(对应的模糊语言值为{负大,负中,负小,零,正小,正中,正大});所述的偏差变化率ecc的模糊论域为ecc={-6,-4,-2,0,2,4,6},对应的语言值为{nb,nm,ns,ze,ps,pm,pb}(对应的模糊语言值为{负大,负中,负小,零,正小,正中,正大});所述的控制量uc的模糊论域为uc={0,0.2,0.4,0.6,0.81},对应的语言值为{vs,s,m,b,vb}({非常小,小,中,大,非常大})。其中ec、ecc及uc为模糊量。
步骤1.3,建立次级模糊规则控制表
本实施例中,发明人通过大量的调试、操作以及实际经验设计出的次级模糊控制规则表如表1所示:
表1次级模糊控制规则表
在实际使用过程中,根据所述的次级模糊控制规则表实现对控制量uc的在线调整。
步骤1.4,计算输出的模糊量uc,所采用的公式为:
上式中,rc表示所述的次级模糊控制规则表,
步骤1.5,通过解模糊量uc得到所述的控制量uc,解模糊算法采用重心法。
次级模糊控制器最终得到的控制量uc,被用在主模糊控制器中,根据公式
步骤2,建立主模糊控制器
步骤2.1,所述的主模糊控制器为双输入单输出的模糊控制器,其中双输入分别为通过所述温度采集模块采集的温度值与目标温度值的偏差ez,和偏差变化率ecz;所述的单输出为作用在所述输出模块上的输出控制信号uz,其中ez、ecz及uz为精确量;
步骤2.2,分别设定所述偏差ez、偏差变化率ecz和控制量uz的模糊论域ez、ecz、uz以及对应的语言值,然后建立主模糊规则控制表;具体地,经过发明人试验,对所述的模糊论域以及语言值的设置如下:
所述的偏差ez的模糊论域为ez={-6,-4,-2,0,2,4,6},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb}(对应的模糊语言值为{负大,负中,负小,零,正小,正中,正大});所述的偏差变化率ecz的模糊论域为ecz={-6,-4,-2,0,2,4,6},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb}(对应的模糊语言值为{负大,负中,负小,零,正小,正中,正大});所述的输出控制信号的模糊论域为uz={-3,-2,-1,0,1,2,3},所对应的语言值为{nb,nm,ns,ze,ps,pm,pb}(对应的模糊语言值为{负大,负中,负小,零,正小,正中,正大})。其中ez、ecz及uz为模糊量。
步骤2.3,建立主模糊规则控制表
本实施例中,发明人通过大量的调试、操作以及实际经验设计出的主模糊控制规则表如表2所示:
表2主模糊控制规则表
步骤2.4,计算输出的模糊量uz,计算公式为:
其中,α为量化因子,α=uc;rz为所述的主模糊控制规则表。
步骤2.5,通过解模糊量uz得到用于实际控制的输出控制信号uz,解模糊算法采用重心法,输出控制信号uz为脉宽调制信号,最终被作用在输出模块上,输出模块将信号放大后通过加热装置对水温进行调节;利用本发明的算法可较为合理地达到温控的目的。
仿真实验:
发明人对本发明的量化因子可调式模糊算法,和现有的模糊算法、pid算法进行仿真分析,设目标温度为28℃。
实验结果如图3所示,通过试验表明,本发明的量化因子可调式模糊算法在响应时间、反应速度抗干扰能力上要比模糊算法强,与传统的pid算法相比,超调量较小。