B类泡沫混合系统的Smith-模糊PID控制方法

文档序号:32907797发布日期:2023-01-13 03:15阅读:47来源:国知局
B类泡沫混合系统的Smith-模糊PID控制方法
b类泡沫混合系统的smith-模糊pid控制方法
技术领域
1.本发明属于消防车技术领域,特别涉及b类泡沫混合系统的smith-模糊pid控制方法。


背景技术:

2.现代化泡沫灭火系统开始逐步在世界范围进行广泛实验和应用,但目前配备的泡沫灭火系统在使用时也需要依赖于用户的经验,手动开启各个阀门产生泡沫混合液。输出的泡沫混合液无法精确的达到合适的比例,若泡沫比例过小,导致灭火效果比较差;反之,将会造成泡沫原液浪费,导致无法保持较长时间的消防作业。传统消防车的泡沫混合器中泡沫原液和水的混合比随着消防泵转速变化而波动,主要原因是改变消防泵转速将引起水的出口压力和泡沫原液出口压力发生变化,无法保持恒定的压差,故泡沫溶液混合比的稳定性和精确性都无法得到控制。因此,要做到泡沫混合液在工作期间一直能够自动实时地保持适当的百分比目标,其控制难度仍然较大。


技术实现要素:

3.针对背景技术存在的问题,本发明提供一种b类泡沫混合系统的smith-模糊pid控制方法及控制器。
4.为解决上述技术问题,本发明采用如下技术方案:b类泡沫混合系统的smith-模糊pid控制方法,包括硬件部分和软件部分;硬件部分包括mcu微处理器模块、电源模块、gpio模块、dac输出电流模块、adc采集模拟量信号模块、串口采集数据模块、定时器捕获脉冲信号模块和按键模块以及看门狗模块;mcu微处理器模块分别与电源模块、gpio模块、dac输出电流模块、adc采集模拟量信号模块、串口采集数据模块、定时器捕获脉冲信号模块连接;mcu微处理器模块用于接收、分析和处理所有传感器数据;电源模块用于提供9-32v的宽工作电压;gpio模块用于驱动外挂设备;dac输出电流模块用于电流接口,同时控制泡沫管道调节阀的开度大小;adc采集模拟量信号模块用于采集4-20ma的压力传感器信号,作为系统预留接口;串口采集数据模块用于采集rs485信号的压力传感器数据;定时器捕获脉冲信号模块用于采集管道总出水流量数据和泡沫出液管道流量数据;看门狗模块用于监测系统运行状态,并进行系统软件复位;mcu微处理器模块采用stm32f407zgt6;软件部分采用freertos操作系统实现多任务管理,任务包括调节阀开度数据读取、控制指令数据接收、压力传感器数据读取、数据解析和封包处理、看门狗监测系统是否死机、泡沫比例自动控制任务,并通过dma空闲中断和定时器中断获取液位、泡沫液和水流量以及消防泵转速的数据;各任务与中断之间采用抢占式运行。
5.在上述b类泡沫混合系统的smith-模糊pid控制方法中,包括以下步骤:
6.步骤1、建立b类泡沫混合系统数学模型;
7.步骤2、制定b类泡沫混合系统流量跟踪控制方法;
8.针对b类泡沫混合系统的时滞特性以及非线性特征,结合pid控制和smith预估补
偿控制以及模糊pid控制理论,在建立的b类泡沫混合系统数学模型的基础上,制定b类泡沫混合系统的流量跟踪控制方法。
9.在上述b类泡沫混合系统的smith-模糊pid控制方法中,步骤1的实现包括以下步骤:
10.步骤1.1、通过实验获得调节阀的固有流量特性,将调节阀内部的水流动状态等效为水流经节流孔板的流动状态,建立调节阀抛物线特性开度数学模型;
11.步骤1.2、利用工程流体力学对泡沫混合器产生压强的原理建立分支管路流体力学模型,得到泡沫引水管路与主管路的流量分配关系,由实验测得泡沫管道压力和其对应总输出流量的数据;
12.步骤1.3、求解调节阀传递函数,根据离线辨识理论,通过实验数据拟合曲线获得流量调节阀实际开度响应模型:
[0013][0014]
消防泵转速n和泡沫控制比μ为输入计算开环控制流量对应的调节阀开度平衡工作点xe;
[0015]
在上述b类泡沫混合系统的smith-模糊pid控制方法中,步骤2的实现包括以下步骤:
[0016]
步骤2.1、首先依据建立的b类泡沫混合系统数学模型的基础上,在simulink建立消防泵转速n和出口流量q1的计算模块、阀门开度xe的计算模块、泡沫原液输出流量qr的计算模块,以计算调节阀的开度,并将其作为开环信号作用于调节阀,则开环控制下泡沫原液输出流量为:
[0017]
qe(s)=g(qr,q1)g(s)g-1
(x,q1)
[0018]
d(s)为pid控制器的传递函数利用经验整定法获得pid参数分别为:k
p
=22.5,ki=0.5,kd=17.4;
[0019]
g(s)是控制调节阀开度的传递函数:
[0020][0021]
g-1
(x,q1)为g(qr,q1)关于变量qr和x的反函数,q3为系统实际输出泡沫原液流量;
[0022]
pid控制下调节阀的开度输入为:
[0023][0024]
步骤2.2、引入smith预估控制算法抑制pid控制滞后时间;
[0025]
smith预估器:g(s)=g
p
(s)e-τs
[0026]
g(s)中时间常数较大的惯性环节使用taylor级数展开法近似分解为一个纯时延环节,得到τ=4.41;
[0027]
smith预估控制下调节阀的开度输入为:
[0028]
[0029]
步骤2.3、制定模糊逻辑和规则对传统pid的参数进行实时的调整和优化;
[0030]
根据系统的输入信号,计算产生的误差e以及误差变化率ec,建立模糊规则进行模糊化推理,再对参数进行解模糊处理,最后将输出的参数作用到控制器中完成控制任务;
[0031]
步骤2.3.1、模糊控制器的误差e和误差变化率ec是连续变化的量,将这两个物理量离散化处理,将其分成若干等级;
[0032]
设误差e的基本论域、误差变化率ec的基本论域、输出变量u的基本论域分别用[-xe,xe]、[-x
ec
,x
ec
]和[-yu,yu]来表示;同时,设定误差模糊子集e的论域为{-n,-n+1,

,n-1,n},误差变化率模糊子集ec的论域为{-m,-m+1,

,m-1,m},控制量所取的模糊子集u的论域为{-l,-l+1,

,l-1,l};其中,对于离散论域形式取值有n,m,l=6或者7;
[0033]
步骤2.3.2、输入参数的模糊化;将输入变量从基本论域转换到模糊集的论域,e的量化因子ke及ec的量化因子k
ec
计算公式分别为:
[0034][0035][0036]
采用比例因子ku进行计算的公式为:
[0037][0038]
调节阀在控制指令的作用下开度响应的偏差和偏差率经验值为50%和100%,控制系统两个输入量调节阀开度偏差值e与偏差的变化率ec的模糊论域分别为{-50,50},{-100,100},即xe=50,x
ec
=100;三输出k
p
、ki和kd的模糊论域均为{0,100};
[0039]
模糊子集都按照7个变量进行取值,即n=m=l=7,用字母记作为{nb,nm,ns,zo,ps,pm,pb};
[0040]
模糊控制器语言变量的模糊论域可以表示为:
[0041][0042]
采用三角形隶属度函数对模糊控制策略进行分析;
[0043]
步骤2.3.2、建立控制系统中k
p
、ki和kd三个变量模糊推理的规则库;
[0044]kp
的模糊规则表
[0045][0046]ki
模糊规则表
[0047][0048]
kd的模糊规则表
[0049][0050][0051]
步骤2.3.3、进行模糊pid解模糊处理;
[0052]
根据步骤2.3.2获取相对应的k
p
、ki和kd参数值,结合三角隶属度函数,使用重心法计算量化值:
[0053][0054]
式中,k
p
、ki、kd为传统pid的参数值;为比例因子;δk
p
、δki、δkd是根据模糊规则进行实时变化的输出值。
[0055]
在上述b类泡沫混合系统的smith-模糊pid控制方法中,该控制方法对调节阀阀门开度的实时控制包括以下步骤:
[0056]
s01、上电、系统初始化;设置液体控制比例;
[0057]
s02、读取实时调节阀的开度和水泵转速;
[0058]
s03、判断用户是否设定液体比例控制,若否,系统不控制调节阀,继续采样,回到
s2;若是,执行下一步;
[0059]
s04、判断传感器是否发生硬件故障,如果否,进行下一步;如果是,则结束;
[0060]
s05、计算阀门开度偏差值;
[0061]
s06、应用smith-模糊pid算法进行阀门开度控制;
[0062]
s07、判断开度是否满足用户设置液体比例,如果否,回到s5;如果是,则结束。
[0063]
在上述b类泡沫混合系统的smith-模糊pid控制方法中,该控制方法采用smith-模糊pid的算法控制调节阀阀门开度包括以下步骤:
[0064]
s11、给定阀门开度期望值;
[0065]
s12、计算误差e和误差变化率ec;
[0066]
s13、调整量化因子ke和kec;
[0067]
s14、模糊化ke和kec;
[0068]
s15、解模糊ke和kec;
[0069]
s16、查表确定k
p
、ki、kd的模糊值;
[0070]
s17、利用重心法确定k
p
、ki、kd实际值;
[0071]
s18、在线调整比例因子ku;
[0072]
s19、输出k
p
、ki、kd;
[0073]
s20、位置pid输入控制器;
[0074]
s21、调节阀阀门开度控制;
[0075]
s22、输出泡沫原液流量;
[0076]
s23、通过smith预估控制器控制阀门开度;
[0077]
s24、采集原液流量数据回到s12。
[0078]
与现有技术相比,本发明建立了以消防泵转速和泡沫控制比为输入,阀门开度为输出的b类泡沫混合系统数学模型。针对每种控制算法均进行simulink仿真分析,确定了smith-模糊pid控制是最优的控制算法,能够实现对b类泡沫混合系统泡沫混合比的精确控制。开发了b类泡沫混合系统并进行实验验证,能实现消防车输出的泡沫溶液稳定和准确地恒定在3%或者6%的国标b类泡沫灭火要求,实验结果表明smith-模糊pid算法可满足b类泡沫混合比的国标控制要求。
附图说明
[0079]
图1是本发明一个实施例硬件架构图;
[0080]
图2是本发明一个实施例b类泡沫混合控制流程图;
[0081]
图3是本发明一个实施例smith-模糊pid算法流程图;
[0082]
图4是本发明一个实施例b类泡沫混合系统的smith-模糊pid仿真模型图;
[0083]
图5是本发明一个实施例控制系统的smith-模糊pid控制方框图。
具体实施方式
[0084]
下面将结合本发明实施例对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,
都属于本发明保护的范围。
[0085]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0086]
下面结合具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0087]
本实施例提供一种b类泡沫混合系统的smith-模糊pid控制方法及控制器,以解决b类泡沫混合精度的问题。
[0088]
本实施例提供的控制器中,将stm32控制单元,泡沫调节阀,泡沫出液流量计和管道总出水流量计组成泡沫比例控制系统,通过采集到的泡沫出液流量和管道总出水流量数据的比值实时调节泡沫调节阀开度大小,将设计smith-模糊pid算法应用于泡沫比例的控制中,调整量化因子和比例因子的值,系统在控制过程中产生良好的控制效果并且完成控制目标。
[0089]
本实施例是通过以下技术方案来实现的,如图1所示为b类泡沫混合系统的smith-模糊pid控制系统硬件架构图,本实施例硬件部分可分为以下几大模块,并分别处理不同的任务:mcu微处理器模块、电源模块、gpio模块、dac输出电流模块、adc采集模拟量信号模块、串口采集数据模块、定时器捕获脉冲信号模块以及看门狗模块。mcu微处理器是数据采集器的核心,负责接收,分析和处理所有传感器数据;电源模块负责提供9-32v的宽工作电压;gpio模块负责驱动外挂设备;dac电流接口,同时也控制泡沫管道调节阀的开度大小;adc采集模拟量信号模块可采集4-20ma的压力传感器信号,作为系统预留接口;串口采集数据模块可采集rs485信号的压力传感器数据;定时器捕获脉冲信号模块进行采集管道总出水流量数据和泡沫出液管道流量数据;看门狗模块对整个系统运行状态进行监测,一旦发现系统意外出现死机,即刻对系统进行软件复位使系统恢复正常运行状态。软件部分采用freertos操作系统实现多任务管理。创建七个任务并发工作,分别为调节阀开度数据读取,控制指令数据接收,压力传感器数据读取,数据解析和封包处理,看门狗监测系统是否死机,泡沫比例自动控制任务。此外,操作系统还并发运行着定时器捕获中断、定时器溢出中断和dma串口空闲中断等中断事件,各个任务和中断之间采用抢占式运行。
[0090]
b类泡沫混合系统的smith-模糊pid控制方法,包括建立b类泡沫混合系统数学模型、制定b类泡沫混合系统流量控制策略、设计和开发泡沫混合控制器实现泡沫混合比的精确控制。
[0091]
一、首先建立b类泡沫混合系统数学模型。将调节阀内部的水流动状态等效为水流经节流孔板的流动状态,调节阀为抛物线特性开度数学模型,调节阀的固有流量特性采用实验获得;利用工程流体力学对泡沫混合器其产生压强的原理进行数学建模,对分支管路进行流体力学建模,得到泡沫引水管路与主管路的流量分配关系,由实验测得泡沫管道压力(负压)和其对应总输出流量的数据;推导和求解出调节阀传递函数,根据离线辨识理论,通过实验数据拟合曲线获得流量调节阀实际开度响应模型,
[0092][0093]
ρ是液体密度,当系统确定了消防泵转速n的值时,根据用户选择的泡沫比例μ为3%或者6%时,可计算开环控制流量对应的调节阀开度平衡工作点xe,即控制系统处在一个正常和稳定运行状态下的输出值。
[0094]
二、制定b类泡沫混合系统流量控制方法。针对b类泡沫混合系统的时滞特性以及非线性特征,在建立的b类泡沫混合系统数学模型的基础上,结合pid控制和smith预估补偿控制以及模糊pid控制理论,设计一种b类泡沫混合系统的流量跟踪控制算法,并且针对该控制算法的泡沫原液输出流量进行simulink模型仿真对比分析。如图4所示。
[0095]
首先依据建立的b类泡沫混合系统数学模型的基础上,在simulink建立消防泵转速n和出口流量q1的计算模块、阀门开度xe的计算模块、泡沫原液输出流量qr的计算模块,以计算调节阀的开度,并将其作为开环信号作用于调节阀,则开环控制下泡沫原液输出流量为:
[0096]
qe(s)=g(qr,q1)g(s)g-1
(x,q1)
[0097]
d(s)为pid控制器的传递函数利用经验整定法获得pid参数分别为:k
p
=22.5,ki=0.5,kd=17.4
[0098]
g(s)是控制调节阀开度的传递函数g-1
(x,q1)为g(qr,q1)关于变量qr和x的反函数,q3为系统实际输出泡沫原液流量。
[0099]
因此,pid控制下调节阀的开度输入为:
[0100][0101]
引入smith预估控制算法抑制pid控制滞后时间,防止滞后时间产生振荡降低系统控制稳态精度。
[0102]
smith预估器为
[0103]gm
(s)=g
p
(s)(1-e-τs
)
[0104]
g(s)中时间常数较大的惯性环节可使用taylor级数展开法近似分解为一个纯时延环节,得到τ=4.41,即进而得到smith预估控制下调节阀的开度输入。
[0105]
制定模糊逻辑和规则对传统pid的参数进行实时的调整和优化,进而提高控制系统对外界干扰因素适应能力,增强系统健壮性。根据系统的输入信号,计算产生的偏差e以及偏差变化率ec,建立模糊规则进行模糊化推理,再对参数进行解模糊处理,最后将输出的参数作用到控制器中完成控制任务。模糊控制器的e和ec是连续变化的精确量。将这两个物理量离散化处理,将其分成若干等级。假设e的基本论域、ec的基本论域、输出变量u的基本论域分别用[-xe,xe]、[-x
ec
,x
ec
]和[-yu,yu]来表示。同时,设定误差模糊子集e的论域为{-n,-n+1,

,n-1,n},误差变化率模糊子集ec的论域为{-m,-m+1,

,m-1,m},控制量所取的模糊子集u的论域为{-l,-l+1,

,l-1,l}。其中,在模糊pid的工程应用中,对于一般规范化的离散论域形式取值情况有n,m,l=6或者7。
[0106]
控制系统的smith-模糊pid控制如图5所示,
[0107]
首先第一步是输入参数的模糊化。
[0108]
将输入变量从基本论域转换到模糊集的论域,e的量化因子ke及ec的量化因子k
ec
计算公式分别为:
[0109][0110][0111]
为了获得模糊控制器输出量的基本论域,需要对模糊论域进行转化,采用比例因子ku进行计算的公式为:
[0112][0113]
经实验测得,调节阀在控制指令的作用下开度响应的偏差和偏差率大约为50%和100%。因此,控制系统两个输入量调节阀开度偏差值e与偏差的变化率ec的模糊论域分别为{-50,50},{-100,100},即xe=50,x
ec
=100。三输出k
p
、ki和kd的模糊论域均为{0,100}。
[0114]
模糊子集都按照7个变量进行取值,即n=m=l=7,用字母记作为{nb,nm,ns,zo,ps,pm,pb}。
[0115]
因此,模糊控制器语言变量的模糊论域可以表示为:
[0116][0117]
模糊论域在转化为语言值函数过程中,需要选取隶属度函数作为运算依据。隶属度函数中的三角形隶属度函数因其分辨率高、稳定性强和控制灵敏而被广泛使用,因此采用三角形隶属度函数对模糊控制策略进行分析。
[0118]
第二步建立模糊规则表。
[0119]
建立控制系统中k
p
、ki和kd三个变量模糊推理的规则库。
[0120]
系统调节初期应取较大的k
p
;在调节中期,k
p
则取较小值,使系统保证一定的响应速度且具有较小的超调;在后期应将k
p
调到较大值以减小静差和提高控制精度。根据以上分析推出的k
p
的模糊规则表。
[0121]kp
的模糊规则表
[0122][0123]
在系统控制中,积分控制是用来消除或者减少稳态误差的。因此,在调节初期,ki的值应小一些;在调节中期,积分作用可以适中以避免影响稳定性;在调节后期,为了减小调节静差,积分作用可以加强,即增大ki。根据以上分析制定的ki模糊规则表。
[0124]ki
模糊规则表
[0125][0126]
微分环节的作用在于改变系统的动态特性。根据实际工程经验,在调节初期,应增大kd值以避免超调;在调节中期,kd值应适当减小或者保持固定不变;在调节后期,kd值应减小以减缓被控过程的制动作用。根据以上分析制定kd的模糊规则表。
[0127]
kd的模糊规则表
[0128][0129]
第三步进行模糊pid解模糊处理。
[0130]
根据上一步骤中模糊推理的结果获取相对应的k
p
、ki和kd参数值。结合三角隶属度函数,使用重心法计算量化值
[0131][0132][0133]
式中,k
p
、ki、kd为传统pid的参数值;为比例因子;δk
p
、δki、δkd是根据模糊规则进行实时变化的输出值。
[0134]
实验中在消防泵转速一级增速1600r/min、二级增速2200r/min和降速1600r/min阶段中,smith-模糊pid控制的最大流量跟踪误差分别为-0.7l/s、-1.1l/s、+0.7l/s,最大流量跟踪误差率为-90%、-35%、+90%,泡沫原液流量在跟踪过程中几乎没有产生震荡,稳定性更强,确定最优的控制算法以实现泡沫混合比的精确控制。
[0135]
本实施例提供的控制器中,将stm32控制单元,泡沫调节阀,泡沫出液流量计和管道总出水流量计组成泡沫比例控制系统,通过采集到的泡沫出液流量和管道总出水流量数
据的比值实时调节泡沫调节阀开度大小,将设计smith-模糊pid算法应用于泡沫比例的控制中,调整量化因子和比例因子的值,系统在控制过程中产生良好的控制效果并且完成控制目标。
[0136]
如图2所示为b类泡沫混合控制流程图,本实施例采用smith-模糊pid控制算法对调节阀阀门开度实时调整的控制流程。泡沫混合控制器上电后,进行系统程序的初始化,系统检测传感器工作正常后,泡沫混合控制器实时读取调节阀的开度、泡沫液与水流量以及消防泵转速,计算当前泡沫溶液的比例,如果大于设定值,则应用smith-模糊pid算法,减小泡沫溶液的阀门开度;反之则增大泡沫溶液的阀门开度,直至满足用户选择泡沫比值的要求。
[0137]
如图3所示为smith-模糊pid算法流程图,本实施例采用smith-模糊pid的算法控制调节阀阀门开度,使输出的泡沫混合比例满足国标下b类泡沫要求,控制算法如下:首先参数的模糊化,根据实验调节阀在控制指令的作用下开度响应的偏差e和偏差率ec大约为50%和100%,三输出k
p
、ki和kd的模糊论域均为{0,100};其次,建立参数的模糊规则表确定k
p
、ki和kd的值;最后,解模糊处理,计算和实验获得模糊控制器的比例因子分别为:量化因子分别为:ke=0.14,k
ec
=0.07,并将获得的这些参数用于调节阀的控制中,进而输出比例稳定和准确的泡沫混合液。
[0138]
以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1