[0004] 本发明针对开关式智能阀门定位器在一些工况下出现控制效果很差的问题,提出了一种基于环境自学习的阀门定位器控制方法,该控制方法通过内部参数自整定方法检测漏气,当漏气量超过一定阈值,系统进行报警,当漏气量在一定范围内则自动辨识出行程类型、端点位置、最大超调量、最佳PWM占空比和补偿PWM等参数,为改进后控制算法的控制参数选择提供依据,闭环控制算法借助自整定得到的控制参数、目标阀位、实时阀位等计算出所需的PWM波,然后输出相应PWM波控制开关式压电阀的进气量和排气量,从而实现气动阀门快速和准确的定位。闭环控制算法同样增加了环境自学习功能,根据环境的变化实时改变补偿PWM,并更新到闭环控制算法中。
[0005] 本发明给出的开关式智能阀门定位器控制方法通过以下步骤实现环境自学习控制:
[0006] 步骤A1:气动调节阀接入外部系统(高压气源和控制信号等),智能微处理器调用压力检查模块,若压力检查模块示数在允许范围内,则调节阀可以正常工作,进入步骤A2,否则进行报警。
[0007] 步骤A2:通过参数自整定方法,首先检测系统内部是否漏气,当漏气量超过设定值,调用报警模块进行报警,控制过程停止,不再进行任何操作;当漏气量在零到设定值内,整定出闭环控制所需的参数(行程类型、端点位置、充气和排气阶段最大超调量对应AD值、最小驱动PWM、最佳运行PWM、补偿PWM),进入步骤A3;
[0008] 步骤A3:LCD模块显示出该智能阀门定位装置所允许的最高控制精度ε(用户可自行设定),用户手动输入目标阀位值,智能微处理器接收目标阀位值与从阀位采集模块采集的实时阀位值进行比较。如果目标阀位与当前的阀位差值大于用户设定的精度要求,则进入步骤A4;否则不进行任何操作。
[0009] 步骤A4:智能微处理器调用自整定出的参数,并进行闭环控制,计算出实时的PWM占空比以及压电开关阀的工作状态,并将此PWM和控制指令输出给压电开关阀,以此控制压电开关阀进排气量,实现阀位的控制,进入步骤A3,循环执行。
[0010] 所述的压力检测模块,判断调节阀能否正常工作的具体实现步骤如下:
[0011] 步骤B1:在气源连通调节阀接口处安装压力传感器,定义为压力传感器A。
[0012] 步骤B2:智能微处理器记录减压阀设置的压力,记做V。
[0013] 步骤B3:智能微处理器实时检测压力传感器A的示数,记做V1。
[0014] 步骤B4:V1和V进行对比,两者偏差在10KPa内,则智能阀门系统外部无明显工况存在,调节阀可以正常工作。否则调节阀系统外部存在明显的工况问题,影响调节阀正常工作,此时调用智能阀门定位器的报警模块,进行报警。
[0015] 所述的参数自整定方法,主要进行以下操作闭环控制方法所需的参数(此过程选择使用气开型阀门作为分析对象,此参数自整定方法同样适用于气关型阀门):
[0016] 步骤C1:获得行程类型、端点位置、行程范围FSR。向开关式压电阀输出100%PWM波并且发出充气指令,调整压电阀处于充气状态,实时检测阀位反馈信号和阀杆速度信号,检测出阀杆的最大速度为Vup以及最大速度阀位对应的AD值Sup1(AD值表示模拟信号转换成数字信号的数值),当检测到速度等于0时,立即记录此时阀位AD值即为顶端位置对应的AD值Sfar。向开关式压电阀输出100%PWM波并且发出排气指令,调整压电阀处于排气状态,实时检测阀位反馈信号和阀杆速度信号,检测阀杆的最大速度为Vdown以及最大速度阀位对应的AD值Sdown1,当检测到速度等于0时,立即记录此时阀位AD值即为低端位置对应AD值Snear,行程范围FSR=|Sfar‑Snear|。
[0017] 步骤C2:整定充气阶段补偿PWM,具体实现包括以下子步骤:
[0018] 子步骤C2.1:向开关式压电阀输出给定的PWM波,并且发出充气指令,调整开关式压电阀处于充气状态,实时采集反馈阀位,一旦阀位发生变化,立即向开关式压电阀输出最小驱动PWM,一旦阀位到达S1位置,立即向开关式压电阀发出阀位保持指令(既不充气也不排气),延时10秒钟记录此时阀位对应AD值S2,若S1=S2,记PWM1=0,并进入步骤C2.4,否则记PWM1=1进入步骤C5.2。
[0019] 子步骤C2.2:判断PWM1是否超过限制(一般为15),PWM1超过限制认为漏气严重,无法正常完成闭环控制,导致系统崩溃,立即调用报警模块进行报警,否则执行子步骤C2.3。
[0020] 子步骤C2.3:调节阀位回到初始位置,仍向开关式压电阀输出给定的PWM波,调整开关式压电阀处于充气状态,实时采集反馈阀位,一旦阀位发生变化,立即向开关式压电阀输出最小驱动PWM,一旦阀位到达S1位置,立即向开关式压电阀输出PWM1,延时10秒钟记录此时阀位对应AD值S2,若S1=S2,进入步骤C2.4,否则PWM1=PWM1+1,并进入步骤C2.2。
[0021] 子步骤C2.4:循环执行子步骤C2.1‑C2.3,分别整定S1=40%*FSR、S2=60%*FSR、S1=80%*FSR处的补偿PWM占空比。
[0022] 子步骤C2.5:通过最小二乘线性化拟合,即可得到充气阶段不同阀位对应的补偿PWM占空比。
[0023] 步骤C3:整定排气阶段补偿PWM,具体实现包括以下子步骤:
[0024] 子步骤C3.1:智能微处理器继续发出100%PWM波,并且发出充气指令,速度检测模块实时检测速度,一旦速度为0,智能阀门定位器立即发出排气指令,调整压电阀为排气状态,向开关式压电阀输出给定的PWM波,实时采集反馈阀位,一旦阀位发生变化,立即向开关式压电阀输出启动PWM,一旦阀位到达S3位置,立即向开关式压电阀发出阀位保持指令(既不充气也不排气),延时10秒钟记录此时阀位对应AD值S4,若S3=S4,记PWM2=0,并进入步骤C3.4,否则记PWM1=1,并进入步骤C3.2。
[0025] 子步骤C3.2:判断PWM2是否超过限制(一般为15),PWM2超过限制认为漏气严重,无法正常完成闭环控制,导致系统崩溃,立即调用报警模块进行报警,否则执行子步骤C3.3。
[0026] 子步骤C3.3:调节阀位回到初始位置,仍向开关式压电阀输出给定的PWM波,调整开关式压电阀处于排气状态,实时采集反馈阀位,一旦阀位发生变化,立即向开关式压电阀输出最小驱动PWM1,一旦阀位到达S3位置,立即向开关式压电阀输出PWM2,延时10秒钟记录此时阀位对应AD值S4,若S3=S4,进入步骤C4.3,否则PWM2=PWM2+1,重复进入步骤C3.2。
[0027] 子步骤C3.4:循环执行子步骤C3.1‑C3.3,分别整定S3=40%*FSR、S3=60%*FSR、S3=80%*FSR处的补偿PWM占空比。
[0028] 子步骤C3.5:通过最小二乘线性化拟合,即可得到排气阶段不同阀位对应的补偿PWM占空比。
[0029] 步骤C4:获得最小驱动PWM。向开关式压电阀发出充气指令和100%PWM,实时采集阀位反馈信号,将阀位调整到0.5*FSR阀位(其中*表示乘积,FSR表示行程范围)。此时向开关式压电阀输出0%PWM,PWM以1%为幅度不断增加,直到阀杆可以缓慢均匀的运行,记录并定义此时的PWM值Pup为充气阶段的最小驱动PWM,再将阀位控制到x1=0.5*FSR阀位处,并向开关式压电阀输出0%PWM和排气指令,PWM以1%为幅度不断增加,直到阀杆可以缓慢均匀的运行,记录并定义此时的PWM值Pdown为排气阶段的最小驱动PWM,定义最小驱动PWM为Pstr=|Pup+Pdown|/2。
[0030] 步骤C5:确定充气阶段最大超调量,智能阀门定位器发出100%PWM波,并且发出充气指令,调整压电阀处于充气状态,数据采集模块实时采集阀位,一旦阀位到达Pup1位置,智能微处理器立即向压电阀发出阀位保持指令,延时10秒钟记录此时阀位对应AD值Pup2,定义充气阶段最大超调量对应的AD值为Pover1=|Pup1‑Pup2|。
[0031] 步骤C6:确定排气阶段最大超调量,智能微处理器继续发出100%PWM波,并且发出充气指令,速度检测模块实时检测速度,一旦速度为0,智能阀门定位器立即发出排气指令,调整压电阀为排气状态,数据采集模块实时采集阀位,一旦阀位到达Pdown1位置,智能微处理器立即向压电阀发出阀位保持指令,延时10秒钟记录此时阀位对应AD值Pdown2,定义充气阶段最大超调量对应AD值为Pover2=|Pdown1‑Pdown2|。
[0032] 步骤C7:整定充气阶段最佳运行PWM,具体实现包括以下子步骤:
[0033] 子步骤C7.1:定义最佳加速距离L=λ*FSR(λ取值范围为0.1~0.3,*表示乘积),H=2α*β*FSR,p1=p2‑β*α*FSR,p3=p2+β*α*FSR,p2=20%*FSR(其中p1、p2、p3代表阀位,具体数值用所对应的AD值)。
[0034] 子步骤C7.2:初始化PWM占空比,PWM波输出模块输出初始PWM波给压电阀。
[0035] 子步骤C7.3:控制调节阀运行到p0位置处,智能微处理器向压电阀发出充气指令,数据采集模块采集实时阀位信号,一旦阀位到达p1位置处,智能微处理器立即向压电阀发出保持指令,调节压电阀处于保持状态,延时5秒,记录调节阀位置。
[0036] 子步骤C7.4:若调节阀位置大于p3位置,表示超调,则以10%的幅度减小PWM占空比,继续执行子步骤C7.3;若调节阀位置小于p3位置,表示不超调,则以10%的幅度增加PWM占空比,继续执行子步骤C7.3。
[0037] 子步骤C7.5:假设PWM占空比为P1时阀位超调,PWM占空比为P2时阀位不超调,则开始折半查找,即设定PWM占空比P=P2+(P1‑P2)/2,继续执行子步骤C7.3,循环执行多次即可得到p2阀位的最佳PWM占空比。
[0038] 子步骤C7.6:循环执行子步骤C7.3‑C7.5,分别整定p2=40%*FSR、p2=60%*FSR、p2=80%*FSR处的最佳PWM占空比。
[0039] 子步骤C7.7:通过最小二乘线性化拟合,即可得到充气阶段不同阀位对应的最佳运行PWM占空比。
[0040] 步骤C8:整定排气阶段最佳运行PWM,具体实现包括以下子步骤:
[0041] 子步骤C8.1:定义最佳加速距离L=λ*FSR(λ取值为0.1~0.3,*表示乘积),H=2α*β*FSR,p1=p2+β*α*FSR,p3=p2‑β*α*FSR,p2=20%*FSR(其中p1、p2、p3代表阀位,具体数值用所对应的AD值)。
[0042] 子步骤C8.2:初始化PWM占空比,PWM波输出模块输出初始PWM波给压电阀。
[0043] 子步骤C8.3:控制调节阀运行到p0位置处,智能微处理器向压电阀发出排气指令,数据采集模块采集实时阀位信号,一旦阀位到达p1位置处,智能微处理器立即向压电阀发出保持状态,调节压电阀处于保持状态,延时5秒,记录调节阀位置。
[0044] 子步骤C8.4:若调节阀位置小于p3位置,表示超调,则以10%的幅度减小PWM占空比,继续执行子步骤C8.3;若调节阀位置大于p3位置,表示不超调,则以10%的幅度增加PWM占空比,继续执行步骤C8.3。
[0045] 子步骤C8.5:假设PWM占空比为P1时阀位超调,PWM占空比为P2时阀位不超调,则开始折半查找,即设定PWM占空比P=P2+(P1‑P2)/2,继续执行步骤C8.3,循环执行多次即可得到p2阀位的最佳PWM占空比。
[0046] 子步骤C8.6:循环执行子步骤C8.3‑C8.5,分别整定p2=40%*FSR、p2=60%*FSR、p2=80%*FSR处的最佳PWM占空比。
[0047] 子步骤C8.7:通过最小二乘线性化拟合,即可得到排气阶段不同阀位对应的最佳运行PWM占空比。
[0048] 所述的智能微处理器调用闭环控制模块,实现阀位快速定位的具体实现步骤如下(此过程选择气开型阀门作为分析对象,算法同样适用于气关型阀门。只针对阀位增大过程进行分析,算法同样适用于阀位减小过程):
[0049] 步骤D1:定义ε=β*FSR,e1=Sover1,e2=Sover2,接收到用户输入的目标阀位值r(t),采集实时阀位反馈值c(t),阀位误差e(t)=r(t)‑c(t),根据阀位误差的大小,将控制过程分为粗调区、细调区、死区;其中t表示时间,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1,*表示乘积,ε、e1、e2代表阀位,具体数值用所对应的AD值表示。
[0050] 步骤D2:智能微处理器通过数据采集模块采集实时阀位,计算出阀位误差,若误差处于粗调区1内,则执行步骤D6。
[0051] 步骤D3:数据采集模块实时采集阀位,若误差处于细调区1内,数据采集模块检测实时速度,一旦速度大于零立即执行步骤D7,否则执行D6。
[0052] 步骤D4:智能微处理器通过数据采集模块采集实时阀位,计算出阀位误差,若误差处于微调区1内,
[0053] 步骤D5:智能微处理器通过数据采集模块采集实时阀位,计算出阀位误差,若误差处于死区内,智能微处理器立即输出补偿PWM波,控制阀位停留在死区内。
[0054] 步骤D6:向开关式压电阀输出给定的100%PWM波,并且发出充气指令给压电阀,执行步骤D1。
[0055] 步骤D7:智能微处理器立即根据实时阀位计算出此时对应的实时最佳运行PWM,输出PWM(此时输出PWM=实时最佳运行PWM+补偿PWM)给压电阀,控制阀位移动,执行步骤D1。
[0056] 步骤D8:智能微处理器立即根据实时阀位计算出对应的实时最小驱动PWM,输出PWM(此时输出PWM=最小驱动PWM+补偿PWM)给压电阀,执行步骤D1。
[0057] 最终通过实时采集的阀位反馈值检测最终停下的阀位,若阀位出现超调,记录下出现超调的次数,当超调的次数等于5时,此时补偿PWM以0.5%的幅度减小PWM,并更新到闭环控制算法;若未达到死区,记录该次数,当次数等于5时,此时补偿PWM以0.5%的幅度增加PWM;假设PWM占空比为P1时超调,PWM占空比为P2时未达到死区,则开始折半查找,即补偿PWM占空比P=P2+(P1‑P2)/2,最终将该补偿PWM占空比更新到闭环控制算法中。