首页 > 专利 > 杭州电子科技大学 > 一种开关式智能阀门定位器精确控制方法专利详情

一种开关式智能阀门定位器精确控制方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2019-12-26
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2020-05-15
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-08-03
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2039-12-26
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201911369830.0 申请日 2019-12-26
公开/公告号 CN111043379B 公开/公告日 2021-08-03
授权日 2021-08-03 预估到期日 2039-12-26
申请年 2019年 公开/公告年 2021年
缴费截止日
分类号 F16K31/02 主分类号 F16K31/02
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 0
权利要求数量 1 非专利引证数量 0
引用专利数量 5 被引证专利数量 0
非专利引证
引用专利 CN110173589A、CN108181812A、CN105824781A、CN103775712A、EP3239626A1 被引证专利
专利权维持 3 专利申请国编码 CN
专利事件 许可 事务标签 公开、实质审查、授权、实施许可
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 程前、江爱朋、蒋恩辉、李峰旭、丁强、陈云、夏宇栋 第一发明人 程前
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 7
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
朱亚冠
摘要
本发明公开了一种开关式智能阀门定位器精确控制方法,本发明通过内部参数自整定方法,获得预测控制所需要的参数,然后通过内部的预测控制方法预测出最终停下的阀位,并将此阀位与目标阀位进行比较,根据两者差值的大小,计算出开关式压电阀的工作状态以及所对应的PWM波大小,从而实现目标阀位的精确定位。精度高、调节速度快、稳定性强、通用性强。
  • 摘要附图
    一种开关式智能阀门定位器精确控制方法
  • 说明书附图:图1
    一种开关式智能阀门定位器精确控制方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-01-25 专利实施许可合同备案的生效 IPC(主分类): F16K 31/02 合同备案号: X2022330000004 专利申请号: 201911369830.0 申请日: 2019.12.26 让与人: 杭州电子科技大学 受让人: 杭州连藤网络科技有限公司 发明名称: 一种开关式智能阀门定位器精确控制方法 申请公布日: 2020.04.21 授权公告日: 2021.08.03 许可种类: 普通许可 备案日期: 2022.01.06
2 2021-08-03 授权
3 2020-05-15 实质审查的生效 IPC(主分类): F16K 31/02 专利申请号: 201911369830.0 申请日: 2019.12.26
4 2020-04-21 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种开关式智能阀门定位器精确控制方法,其特征在于:通过以下步骤实现目标阀位的精确控制:
步骤A1:通过参数自整定,整定出闭环控制所需的参数和神经网络所需的数据集;具体步骤如下:
步骤B1:获得行程类型、端点位置、行程范围FSR;向开关式压电阀输出100%PWM波并且发出充气指令,调整压电阀处于充气状态,实时检测阀位反馈信号和阀杆速度信号,检测出阀杆的最大速度为以及最大速度阀Vup位对应的AD值Sup1,当检测到速度等于0时,立即记录此时阀位AD值即为顶端位置对应的AD值Sfar;向开关式压电阀输出100%PWM波并且发出排气指令,调整压电阀处于排气状态,实时检测阀位反馈信号和阀杆速度信号,检测阀杆的最大速度为Vdown以及最大速度阀位对应的AD值Sdown1,当检测到速度等于0时,立即记录此时阀位AD值即为低端位置对应AD值Snear,行程范围FSR=|Sfar‑Snear|;
步骤B2:获得充气和排气阶段最大超调量对应AD值;向开关式压电阀输出100%PWM波,并且发出充气指令,调整开关式压电阀处于充气状态,实时采集反馈阀位,一旦阀位到达Sup1位置,立即向开关式压电阀发出阀位保持指令,延时10秒钟记录此时阀位对应AD值Sup2,定义充气阶段最大超调量对应的AD值为Sover1=|Sup1‑Sup2|;向压电阀发出充气指令,检测到速度等于0时,立即发出排气指令,调整开关式压电阀为排气状态,实时采集阀位,一旦阀位到达Sdown1位置,立即向开关式压电阀发出阀位保持指令,延时10秒钟记录此时阀位对应AD值Sdown2,定义排气阶段最大超调量对应AD值为Sover2=|Sdown1‑Sdown2|;
步骤B3:获得最小启动PWM;向开关式压电阀发出充气指令和100%PWM,实时采集阀位反馈信号,将阀位调整到x1=0.5*FSR阀位;此时向开关式压电阀输出0%PWM,PWM以1%为幅度不断增加,直到阀杆可以缓慢均匀的运行,记录并定义此时的PWM值Pup为充气阶段的最小启动PWM,再将阀位控制到x1=0.5*FSR阀位处,并向开关式压电阀输出0%PWM和排气指令,PWM以1%为幅度不断增加,直到阀杆能够缓慢均匀的运行,记录并定义此时的PWM值Pdown为排气阶段的最小启动PWM,定义启动PWM为Pstr=|Pup+Pdown|/2;
步骤B4:获取神经网络学习样本数据集;定义S1=Snear+Sover1,S2=Sfar‑Sover1;
步骤B5:定义Sup=S1+n*β*FSR表示阀位AD值,P1=Pstr+m*1%表示PWM占空比大小,m、n的初始值均为1,分别表示当前循环的次数,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1;
步骤B6:向开关式压电阀发出大小为P1的PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,当检测到阀位到达Sup位置,立即向开关式压电阀发送保持指令,并且记录此时的速度v1和阀位AD值Sup,当检测到速度为0时,记录此时的阀位AD值S'up;速度为v1,阀位AD值为Sup时对应的超调量即为Sup_over=|Sup‑S'up|;并将(v1、Sup、Sup_over)保存到数据集中;
步骤B7:向开关式压电阀发出100%PWM波,并且发出排气指令,此时开关式压电阀处于排气状态,控制阀位运行到S1;n=n+1,Sup=S1+n*β*FSR;如果Sup≥S2则Sup=S1+n*β*FSR其中n=1,m=m+1,P1=Pstr+m*1%,执行步骤B6;如果P1>100%,n=1,Sdown=S2‑n*β*FSR,m=
1,P2=Pstr+m*1%,执行步骤B8;
步骤B8:向开关式压电阀发出100%PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,控制阀位运行到S2;
步骤B9:向开关式压电阀发出大小为P2的PWM波,并且发出排气指令,此时开关式压电阀处于排气状态,当检测到阀位到达Sdown位置,立即向开关式压电阀发送保持指令,并且记录此时的速度v2和阀位AD值Sdown,当检测到速度为0时,记录此时的阀位AD值S'down;速度为v2,阀位AD值为Sdown时对应的超调量即为Sdown_over=|Sdown‑S'down|;并将v2、Sdown、Sdown_over保存到数据集中;
步骤B10:向开关式压电阀发出100%PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,控制阀位运行到S2;n=n+1,Sdown=S2‑n*β*FSR;如果Sdown≤S1则Sdown=S2‑n*β*FSR其中n=1,m=m+1,P2=Pstr+m*1%,执行步骤B9;如果P2>100%不进行任何操作;
步骤A2:通过神经网络学习,进行模型构建;具体步骤如下:
步骤C1:首先,提取参数自整定获得的输入样本与输出样本集,输入样本包括阀位X、速度V和相对应的超调量对应的AD值Sup_over/Sdown_over,输出样本为某一阀位和速度下的超调量对应的AD值S,然后采用神经网络学下方法对这些历史数据进行训练,神经网络结构包括输入层、隐含层和输出层;训练过程中将阀位X、速度V和相对应的超调量对应的AD值Sup_over/Sdown_over作为输入,以此实际阀位和速度下的超调量对应的AD值S作为输出,通过神经网络学习获得神经网络模型,神经网络模型中的各参数定义如下:
输入层单元输入向量为Pk=(a1,a2,…,an),目标向量Tk=(d1,d2,…,dn);隐含层单元输入向量Sk=(s1,s2,…,sp),输出向量Bk=(b1,b2,...,bp);输出层单元输入向量Lk=(l1,l2,…,lq),输出向量Ck=(c1,c2,...,cq),k=1,2,…m表示样本数据个数;输入层到隐含层的连接权wij,i=1,2,…n;j=1,2,…p;隐含层到输出层的连接权vjt,t=1,2,…q;定义隐含层各单元的输出阈值为θj,定义输出层各单元的输出阈值为yt;其中n表示输入层单元数,p表示隐含层单元数,q表示输出层单元数;
步骤C2:进入如下神经网络模型学习子步骤:
子步骤C2.1:初始化各层的连接权值和阈值,给每个连接权wij、vjt和输出阈值θj、yt赋予区间(‑1,1)内的随机值;
子步骤C2.2:选取输入样本和输出样本;
子步骤C2.3:用输入样本、连接权、输入阈值和输出阈值计算隐含层和输出层各单元的输出;
其中,sj表示隐含层单元的输入值、bj表示隐含层单元的输出值、lt表输出层单元的输入值、ct表示输出层单元的输出值;
子步骤C2.4:计算输出层各单元一般化误差 然后利用隐含层
到输出层的连接权vjt、隐含层的输出向量Bk=(b1,b2,...,bp)、输出层各单元一般化误差计算隐含层各单元的一般化误差 计算公式如下:
子步骤C2.5:利用输出层各单元的一般化误差 与隐含层各单元的输出值来修正隐含层到输出层的连接权vjt、输出阈值yt:
同样利用隐含层各单元的一般化误差 与输入层的输入来修正输入层到隐含层的连接权wij、输出阈值θj:
N=1,2,…,NN表示设定的学习迭代次数,vjt(N)表示当前的连接权vjt,vjt(N+1)表示修正后的连接权;yt(N)表示当前的输出阈值yt,yt(N+1)表示修正后的相应阈值;wij(N)表示当前的连接权wij,wij(N+1)表示修正后的连接权,θj(N)表示当前的阈值,θj(N+1)表示修正后的阈值;
子步骤C2.6:选取下一个输入样本和输出样本,返回到步骤C2.3,直到m个训练样本训练完毕;
子步骤C2.7:计算所有样本的累计误差E,累计误差计算方式为 其中,m表示
样本数量,q表示输出层单元数,定义 表示为所有样本输入后,输出层网络的总误差;如果样本累计误差E小于预先设定值,或者当前学习迭代次数大于设定的学习迭代次数,那么学习训练结束;否则再次选取样本输入和目标输出,然后返回到步骤C2.3;
学习过程结束后,通过得到的神经网络各部分的权值和阈值,建立能够反映输入和输出的神经网络模型,通过给定输入信息,从而获得某一阀位和速度下的超调量对应的AD值S;
步骤A3:将目标阀位值,与实时阀位值进行比较;如果误差大于用户设定的精度要求,则进入步骤A4;否则不进行任何操作;
步骤A4:通过闭环控制,计算出实时的PWM占空比,以及压电开关阀的工作状态;并将此PWM和控制指令输出给压电开关阀,以此控制压电开关阀充气/排气量,实现阀位的精确控制;转入步骤A3,循环执行;
实现阀位快速定位的具体实现步骤如下:
步骤D1:定义ε=β*FSR,e1=Sover1,e2=Sover2,接收到用户输入的目标阀位值r(tt),采集实时阀位反馈值c(tt),阀位误差e(tt)=r(tt)‑c(tt),根据阀位误差的大小,将控制过程分为粗调区、细调区、死区,其中tt表示时间,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1,*表示乘积,ε、e1、e2代表阀位,具体数值用所对应的AD值;
步骤D2:采集实时阀位反馈值,若阀位处于死区内,立即关闭PWM波,并且向开关式压电阀发出保持指令;若阀位误差处于粗调区1内,则执行步骤D3,若阀位误差处于细调区1内,则执行步骤D4;
步骤D3:向开关式压电阀发出100%PWM波,并且发出充气指令,快速减小误差;当阀位误差进入细调区1时,执行步骤D4;
步骤D4:采集实时阀位反馈值和阀杆速度,根据神经网络学习构建的神经网络模型,即可得到在此阀位和阀杆速度下,将开关式压电阀置为保持状态所产生的超调量,从而得出预测阀位值f(tt),比较目标阀位和预测阀位的差值(ee(tt)=f(tt)‑c(tt));若该差值在容许阀位误差范围内,执行步骤D5;若该差值大于容许阀位误差且差值为正值时,执行步骤D6;否则不进行任何操作;
步骤D5:立即向压电阀发出保持指令,循环执行步骤D2;
步骤D6:向压电开关阀发送最小启动PWM,并且发送排气指令,进行降速;循环执行步骤D2。
说明书

技术领域

[0001] 本发明涉及一种自动化仪表,特别是涉及一种开关式智能阀门定位器精确控制方法。

背景技术

[0002] 阀门定位器是调节阀的主要附件,它可以增大执行器的输出功率,减少调节信号传递中的滞后时间,加快阀杆的动作,提高阀门控制的速度,同时克服阀杆移动中的摩擦力,提高阀门控制的精度,对气动调节阀和整个控制系统起着决定性的作用。
[0003] 阀门定位器根据内部结构和工作原理的不同可以分为气动阀门定位器、电气阀门定位器和智能阀门定位器。智能阀门定位器按内部电气转换单元(简称I/P转换单元)的不同又可以分为喷嘴式和压电式(包括压电开关式和压电比例式)。目前,压电开关式智能阀门定位器凭借耗气量低、耗电量低、抗干扰能力强等优点,得到广泛推广。
[0004] 我国在工业控制领域起步较晚,技术较为落后,国产阀门定位器市场占比小,且主要集中在低端市场,中高端阀门定位器主要依赖进口国外品牌成套设备,每年进口国外成套阀门的数量逐年增加,主要原因是因为国产阀门定位器在稳定性、控制精度和调节速度等方面均和国外品牌有很大差距。阀门定位器控制性能的好坏主要受内部控制算法的影响,一个好的控制算法能大幅提升阀门的控制精度和速度。因此,为了将国产定位器引入中高端市场,提高国产阀门定位器的市场占比,急需研制一种控制精度高、调节速度快、稳定性强、通用性强的阀门控制方法。

发明内容

[0005] 本发明针对开关式智能阀门定位器存在控制精度较低、调节速度慢、超调量大等问题,提出了一种开关式智能阀门定位器精确控制方法,该控制方法通过内部参数自整定方法,获得预测控制所需要的参数,然后通过内部的预测控制方法预测出最终停下的阀位,并将此阀位与目标阀位进行比较,根据两者差值的大小,计算出开关式压电阀的工作状态以及所对应的PWM波大小,从而实现目标阀位的精确定位。
[0006] 本发明给出的开关式智能阀门定位器精确控制方法通过以下步骤实现目标阀位的精确控制:
[0007] 步骤A1:通过参数自整定方法,整定出闭环控制所需的参数和神经网络所需的数据集。
[0008] 步骤A2:通过神经网络学习方法,进行模型构建。
[0009] 步骤A3:将目标阀位值与实时阀位值进行比较。如果误差大于设定的精度要求,则进入步骤A4;否则不进行任何操作。
[0010] 步骤A4:通过闭环控制,计算出实时的PWM占空比,以及压电开关阀的工作状态。并将此PWM和控制指令输出给压电开关阀,以此控制压电开关阀充气/排气量,实现阀位的精确控制。转入步骤A3,循环执行。
[0011] 所述的参数自整定方法,主要进行以下操作以获得神经网络模型和闭环控制方法所需的参数(此过程选择使用气开型阀门作为分析对象,此参数自整定方法同样适用于气关型阀门):
[0012] 步骤B1:获得行程类型、端点位置、行程范围FSR。向开关式压电阀输出100%PWM波并且发出充气指令,调整压电阀处于充气状态,实时检测阀位反馈信号和阀杆速度信号,检测出阀杆的最大速度为Vup以及最大速度阀位对应的AD值(AD值表示模拟信号转换成数字信号的数值)Sup1,当检测到速度等于0时,立即记录此时阀位AD值即为顶端位置对应的AD值Sfar。向开关式压电阀输出100%PWM波并且发出排气指令,调整压电阀处于排气状态,实时检测阀位反馈信号和阀杆速度信号,检测阀杆的最大速度为Vdown以及最大速度阀位对应的AD值Sdown1,当检测到速度等于0时,立即记录此时阀位AD值即为低端位置对应AD值Snear,行程范围FSR=|Sfar‑Snear|。
[0013] 步骤B2:获得充气和排气阶段最大超调量对应AD值。向开关式压电阀输出100%PWM波,并且发出充气指令,调整开关式压电阀处于充气状态,实时采集反馈阀位,一旦阀位到达Sup1位置,立即向开关式压电阀发出阀位保持指令,延时10秒钟记录此时阀位对应AD值Sup2,定义充气阶段最大超调量对应的AD值为Sover1=|Sup1‑Sup2|。向压电阀发出充气指令,检测到速度等于0时,立即发出排气指令,调整开关式压电阀为排气状态,实时采集阀位,一旦阀位到达Sdown1位置,立即向开关式压电阀发出阀位保持指令(既不充气也不排气),延时10秒钟记录此时阀位对应AD值Sdown2,定义排气阶段最大超调量对应AD值为Sover2=|Sdown1‑Sdown2|。
[0014] 步骤B3:获得最小启动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。
[0015] 步骤B4:获取神经网络学习样本数据集。定义S1=Snear+Sover1,S2=Sfar‑Sover1。
[0016] 步骤B5:定义Sup=S1+x*β*FSR表示阀位AD值,P1=Pstr+y*1%表示PWM占空比大小,x、y的初始值均为1,分别表示当前循环的次数,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1。
[0017] 步骤B6:向开关式压电阀发出大小为P1的PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,当检测到阀位到达Sup位置,立即向开关式压电阀发送保持指令,并且记录此时的速度v1和阀位AD值Sup,当检测到速度为0时,记录此时的阀位AD值S'up。速度为v1,阀位AD值为Sup时对应的超调量即为Sup_over=|Sup‑S'up|。并将(v1、Sup、Sup_over)保存到数据集中。
[0018] 步骤B7:向开关式压电阀发出100%PWM波,并且发出排气指令,此时开关式压电阀处于排气状态,控制阀位运行到S1。x=x+1,Sup=S1+x*β*FSR;如果Sup≥S2则Sup=S1+x*β*FSR其中x=1,y=y+1,P1=Pstr+y*1%;继续执行步骤B6。如果P1>100%,x=1,Sdown=S2‑x*β*FSR,y=1,P2=Pstr+y*1%,继续执行步骤B8。
[0019] 步骤B8:向开关式压电阀发出100%PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,控制阀位运行到S2。
[0020] 步骤B9:向开关式压电阀发出大小为P2的PWM波,并且发出排气指令,此时开关式压电阀处于排气状态,当检测到阀位到达Sdown位置,立即向开关式压电阀发送保持指令,并且记录此时的速度v2和阀位AD值Sdown,当检测到速度为0时,记录此时的阀位AD值S'down。速度为v2,阀位AD值为Sdown时对应的超调量即为Sdown_over=|Sdown‑S'down|。并将(v2、Sdown、Sdown_over)保存到数据集中。
[0021] 步骤B10:向开关式压电阀发出100%PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,控制阀位运行到S2。x=x+1,Sdown=S2‑x*β*FSR;如果Sdown≤S1则Sdown=S2‑x*β*FSR其中x=1,y=y+1,P2=Pstr+y*1%;继续执行步骤B9。如果P2>100%不进行任何操作。
[0022] 所述的神经网络学习方法获得神经网络模型的主要步骤如下(所得的神经网络模型能够计算出某一阀位和速度下,将压电开关阀置为保持状态,阀位所对应的超调量):
[0023] 步骤C1:首先,提取参数自整定获得的输入样本与输出样本集,输入样本包括阀位X、速度V和相对应的超调量对应的AD值Sup_over/Sdown_over,输出样本为某一阀位和速度下的超调量对应的AD值S,然后采用神经网络学下方法对这些历史数据进行训练,神经网络结构包括输入层、隐含层(中间层)和输出层。训练过程中将阀位X、速度V和相对应的超调量对应的AD值Sup_over/Sdown_over作为输入,以此实际阀位和速度下的超调量对应的AD值S作为输出,通过神经网络学习获得神经网络模型,神经网络模型中的各参数定义如下:
[0024] 输入层单元输入向量为Pk=(a1,a2,…,an),目标向量Tk=(d1,d2,…,dn);隐含层单元输入向量Sk=(s1,s2,…,sp),输出向量Bk=(b1,b2,...,bp);输出层单元输入向量Lk=(l1,l2,…,lq),输出向量Ck=(c1,c2,...,cq),k=1,2,…m表示样本数据个数;输入层到隐含层的连接权wij,i=1,2,…n;j=1,2,…p;隐含层到输出层的连接权vjt,t=1,2,…q;定义隐含层各单元的输出阈值为θj,定义输出层各单元的输出阈值为yt。其中n表示输入层单元数,p表示隐含层单元数,q表示输出层单元数。
[0025] 步骤C2:进入如下神经网络模型学习子步骤:
[0026] 子步骤C2.1:初始化各层的连接权值和阈值,给每个连接权wij、vjt和输出阈值θj、yt赋予区间(‑1,1)内的随机值。
[0027] 子步骤C2.2:选取输入样本和输出样本。
[0028] 子步骤C2.3:用输入样本、连接权、输入阈值和输出阈值计算隐含层和输出层各单元的输出。
[0029]
[0030]
[0031] 其中,sj表示隐含层单元的输入值、bj表示隐含层单元的输出值、lt表输出层单元的输入值、ct表示输出层单元的输出值。
[0032] 子步骤C2.4:计算输出层各单元一般化误差 然后利用隐含层到输出层的连接权vjt、隐含层的输出向量Bk=(b1,b2,...,bp)、输出层各单元一般化误差 计算隐含层各单元的一般化误差 计算公式如下:
[0033]
[0034]
[0035] 子步骤C2.5:利用输出层各单元的一般化误差 与隐含层各单元的输出值来修正隐含层到输出层的连接权vjt、输出阈值yt:
[0036]
[0037]
[0038] 同样利用隐含层各单元的一般化误差 与输入层的输入来修正输入层到隐含层的连接权wij、输出阈值θj:
[0039]
[0040] N=1,2,…,NN表示设定的学习迭代次数,vjt(N)表示当前的连接权vjt,vjt(N+1)表示修正后的连接权;yt(N)表示当前的输出阈值yt,yt(N+1)表示修正后的相应阈值。wij(N)表示当前的连接权wij,wij(N+1)表示修正后的连接权,θj(N)表示当前的阈值,θj(N+1)表示修正后的阈值。
[0041] 子步骤C2.6:选取下一个输入样本和输出样本,返回到步骤C2.3,直到m个训练样本训练完毕。
[0042] 子步骤C2.7:计算所有样本的累计误差E,累计误差计算方式为 其中,m表示样本数量,q表示输出层单元数,定义 表示为所有样本输入后,输出层网络的总误差。如果样本累计误差E小于预先设定值,或者当前学习迭代次数大于设定的学习迭代次数,那么学习训练结束。否则再次选取样本输入和目标输出,然后返回到步骤C2.3。
[0043] 学习过程结束后,通过得到的神经网络各部分的权值和阈值,建立能够反映输入和输出的神经网络模型,通过给定输入信息,从而获得某一阀位和速度下的超调量对应的AD值S。
[0044] 所述的闭环控制,实现阀位快速定位的具体实现步骤如下(此过程选择气开型阀门作为分析对象,算法同样适用于气关型阀门。只针对阀位增大过程进行分析,算法同样适用于阀位减小过程):
[0045] 步骤D1:定义ε=β*FSR,e1=Sover1,e2=Sover2,接收到用户输入的目标阀位值r(tt),采集实时阀位反馈值c(tt),阀位误差e(tt)=r(tt)‑c(tt),根据阀位误差的大小,将控制过程分为粗调区、细调区、死区;其中tt表示时间,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1,*表示乘积,ε、e1、e2代表阀位,具体数值用所对应的AD值表示。
[0046] 步骤D2:采集实时阀位反馈值,若阀位处于死区内,立即关闭PWM波,并且向开关式压电阀发出保持指令;若阀位误差处于粗调区1内,则执行步骤D3,若阀位误差处于细调区1内,则执行步骤D4。
[0047] 步骤D3:向开关式压电阀发出100%PWM波,并且发出充气指令,快速减小误差。当阀位误差进入细调区1时,执行步骤D4。
[0048] 步骤D4:采集实时阀位反馈值和阀杆速度,根据神经网络学习构建的神经网络模型,即可得到在此阀位和阀杆速度下,将开关式压电阀置为保持状态所产生的超调量,从而得出预测阀位值f(tt),比较目标阀位和预测阀位的差值(ee(tt)=f(tt)‑c(tt))。若该差值在容许阀位误差范围内,执行步骤D5;若该差值大于容许阀位误差且差值为正值时,执行步骤D6;否则不进行任何操作;
[0049] 步骤D5:立即向压电阀发出保持指令,循环循环执行步骤D2;
[0050] 步骤D6:向压电开关阀发送最小启动PWM,并且发送排气指令,进行降速。循环执行步骤D2。

实施方案

[0052] 本发明给出的开关式智能阀门定位器精确控制方法通过以下步骤实现目标阀位的精确控制:
[0053] 步骤A1:通过参数自整定方法,整定出闭环控制所需的参数和神经网络所需的数据集。参数自整定方法,主要进行以下操作以获得神经网络模型和闭环控制方法所需的参数(此过程选择使用气开型阀门作为分析对象,此参数自整定方法同样适用于气关型阀门):
[0054] 步骤B1:获得行程类型、端点位置、行程范围FSR。向开关式压电阀输出100%PWM波并且发出充气指令,调整压电阀处于充气状态,实时检测阀位反馈信号和阀杆速度信号,检测出阀杆的最大速度为Vup以及最大速度阀位对应的AD值Sup1,当检测到速度等于0时,立即记录此时阀位AD值即为顶端位置对应的AD值Sfar。向开关式压电阀输出100%PWM波并且发出排气指令,调整压电阀处于排气状态,实时检测阀位反馈信号和阀杆速度信号,检测阀杆的最大速度为Vdown以及最大速度阀位对应的AD值Sdown1,当检测到速度等于0时,立即记录此时阀位AD值即为低端位置对应AD值Snear,行程范围FSR=|Sfar‑Snear|。
[0055] 步骤B2:获得充气和排气阶段最大超调量对应AD值。向开关式压电阀输出100%PWM波,并且发出充气指令,调整开关式压电阀处于充气状态,实时采集反馈阀位,一旦阀位到达Sup1位置,立即向开关式压电阀发出阀位保持指令,延时10秒钟记录此时阀位对应AD值Sup2,定义充气阶段最大超调量对应的AD值为Sover1=|Sup1‑Sup2|。向压电阀发出充气指令,检测到速度等于0时,立即发出排气指令,调整开关式压电阀为排气状态,实时采集阀位,一旦阀位到达Sdown1位置,立即向开关式压电阀发出阀位保持指令(既不充气也不排气),延时10秒钟记录此时阀位对应AD值Sdown2,定义排气阶段最大超调量对应AD值为Sover2=|Sdown1‑Sdown2|。
[0056] 步骤B3:获得最小启动PWM。向开关式压电阀发出充气指令和100%PWM,实时采集阀位反馈信号,将阀位调整到x1=0.5*FSR阀位(其中*表示乘积)。此时向开关式压电阀输出0%PWM,PWM以1%为幅度不断增加,直到阀杆可以缓慢均匀的运行,记录并定义此时的PWM值Pup为充气阶段的最小启动PWM,再将阀位控制到x1=0.5*FSR阀位处,并向开关式压电阀输出0%PWM和排气指令,PWM以1%为幅度不断增加,直到阀杆可以缓慢均匀的运行,记录并定义此时的PWM值Pdown为排气阶段的最小启动PWM,定义启动PWM为Pstr=|Pup+Pdown|/2。
[0057] 步骤B4:获取神经网络学习样本数据集。定义S1=Snear+Sover1,S2=Sfar‑Sover1。
[0058] 步骤B5:定义Sup=S1+x*β*FSR表示阀位AD值,P1=Pstr+y*1%表示PWM占空比大小,x、y的初始值均为1,分别表示当前循环的次数,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1。
[0059] 步骤B6:向开关式压电阀发出大小为P1的PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,当检测到阀位到达Sup位置,立即向开关式压电阀发送保持指令,并且记录此时的速度v1和阀位AD值Sup,当检测到速度为0时,记录此时的阀位AD值S'up。速度为v1,阀位AD值为Sup时对应的超调量即为Sup_over=|Sup‑S'up|。并将(v1、Sup、Sup_over)保存到数据集中。
[0060] 步骤B7:向开关式压电阀发出100%PWM波,并且发出排气指令,此时开关式压电阀处于排气状态,控制阀位运行到S1。x=x+1,Sup=S1+x*β*FSR;如果Sup≥S2则Sup=S1+x*β*FSR其中x=1,y=y+1,P1=Pstr+y*1%;继续执行步骤B6。如果P1>100%,x=1,Sdown=S2‑x*β*FSR,y=1,P2=Pstr+y*1%,继续执行步骤B8。
[0061] 步骤B8:向开关式压电阀发出100%PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,控制阀位运行到S2。
[0062] 步骤B9:向开关式压电阀发出大小为P2的PWM波,并且发出排气指令,此时开关式压电阀处于排气状态,当检测到阀位到达Sdown位置,立即向开关式压电阀发送保持指令,并且记录此时的速度v2和阀位AD值Sdown,当检测到速度为0时,记录此时的阀位AD值S'down。速度为v2,阀位AD值为Sdown时对应的超调量即为Sdown_over=|Sdown‑S'down|。并将(v2、Sdown、Sdown_over)保存到数据集中。
[0063] 步骤B10:向开关式压电阀发出100%PWM波,并且发出充气指令,此时开关式压电阀处于充气状态,控制阀位运行到S2。x=x+1,Sdown=S2‑x*β*FSR;如果Sdown≤S1则Sdown=S2‑x*β*FSR其中x=1,y=y+1,P2=Pstr+y*1%;继续执行步骤B9。如果P2>100%不进行任何操作。
[0064] 步骤A2:通过神经网络学习方法,进行模型构建。所述的神经网络学习方法获得神经网络模型的主要步骤如下(所得的神经网络模型能够计算出某一阀位和速度下,将压电开关阀置为保持状态,阀位所对应的超调量):
[0065] 步骤C1:首先,提取参数自整定获得的输入样本与输出样本集,输入样本包括阀位X、速度V和相对应的超调量对应的AD值Sup_over/Sdown_over,输出样本为某一阀位和速度下的超调量对应的AD值S,然后采用神经网络学下方法对这些历史数据进行训练,神经网络结构包括输入层、隐含层(中间层)和输出层。训练过程中将阀位X、速度V和相对应的超调量对应的AD值Sup_over/Sdown_over作为输入,以此实际阀位和速度下的超调量对应的AD值S作为输出,通过神经网络学习获得神经网络模型,神经网络模型中的各参数定义如下:
[0066] 输入层单元输入向量为Pk=(a1,a2,…,an),目标向量Tk=(d1,d2,…,dn);隐含层单元输入向量Sk=(s1,s2,…,sp),输出向量Bk=(b1,b2,...,bp);输出层单元输入向量Lk=(l1,l2,…,lq),输出向量Ck=(c1,c2,...,cq),k=1,2,…m表示样本数据个数;输入层到隐含层的连接权wij,i=1,2,…n;j=1,2,…p;隐含层到输出层的连接权vjt,t=1,2,…q;定义隐含层各单元的输出阈值为θj,定义输出层各单元的输出阈值为yt。其中n表示输入层单元数,p表示隐含层单元数,q表示输出层单元数。
[0067] 步骤C2:进入如下神经网络模型学习子步骤:
[0068] 子步骤C2.1:初始化各层的连接权值和阈值,给每个连接权wij、vjt和输出阈值θj、yt赋予区间(‑1,1)内的随机值。
[0069] 子步骤C2.2:选取输入样本和输出样本。
[0070] 子步骤C2.3:用输入样本、连接权、输入阈值和输出阈值计算隐含层和输出层各单元的输出。
[0071]
[0072]
[0073] 其中,sj表示隐含层单元的输入值、bj表示隐含层单元的输出值、lt表输出层单元的输入值、ct表示输出层单元的输出值。
[0074] 子步骤C2.4:计算输出层各单元一般化误差 然后利用隐含层到输出层的连接权vjt、隐含层的输出向量Bk=(b1,b2,...,bp)、输出层各单元一般化误差 计算隐含层各单元的一般化误差 计算公式如下:
[0075]
[0076]
[0077] 子步骤C2.5:利用输出层各单元的一般化误差 与隐含层各单元的输出值来修正隐含层到输出层的连接权vjt、输出阈值yt:
[0078]
[0079]
[0080] 同样利用隐含层各单元的一般化误差 与输入层的输入来修正输入层到隐含层的连接权wij、输出阈值θj:
[0081]
[0082] N=1,2,…,NN表示设定的学习迭代次数,vjt(N)表示当前的连接权vjt,vjt(N+1)表示修正后的连接权;yt(N)表示当前的输出阈值yt,yt(N+1)表示修正后的相应阈值。wij(N)表示当前的连接权wij,wij(N+1)表示修正后的连接权,θj(N)表示当前的阈值,θj(N+1)表示修正后的阈值。
[0083] 子步骤C2.6:选取下一个输入样本和输出样本,返回到步骤C2.3,直到m个训练样本训练完毕。
[0084] 子步骤C2.7:计算所有样本的累计误差E,累计误差计算方式为 其中,m表示样本数量,q表示输出层单元数,定义 表示为所有样本输入后,输出层网络的总误差。如果样本累计误差E小于预先设定值,或者当前学习迭代次数大于设定的学习迭代次数,那么学习训练结束。否则再次选取样本输入和目标输出,然后返回到步骤C2.3。
[0085] 学习过程结束后,通过得到的神经网络各部分的权值和阈值,建立能够反映输入和输出的神经网络模型,通过给定输入信息,从而获得某一阀位和速度下的超调量对应的AD值S。
[0086] 步骤A3:将目标阀位值,与实时阀位值进行比较。如果误差大于用户设定的精度要求,则进入步骤A4;否则不进行任何操作。
[0087] 步骤A4:通过闭环控制方法,计算出实时的PWM占空比,以及压电开关阀的工作状态。并将此PWM和控制指令输出给压电开关阀,以此控制压电开关阀充气/排气量,实现阀位的精确控制。转入步骤A3,循环执行。
[0088] 所述的闭环控制方法示意图如图1,实现阀位快速定位的具体实现步骤如下(此过程选择气开型阀门作为分析对象,算法同样适用于气关型阀门。只针对阀位增大过程进行分析,算法同样适用于阀位减小过程):
[0089] 步骤D1:定义ε=β*FSR,e1=Sover1,e2=Sover2,接收到用户输入的目标阀位值r(tt),采集实时阀位反馈值c(tt),阀位误差e(tt)=r(tt)‑c(tt),根据阀位误差的大小,将控制过程分为粗调区、细调区、死区(其中tt表示时间,β表示控制精度,系统出厂默认采用0.5%精度,β取值范围为0~1,*表示乘积,ε、e1、e2代表阀位,具体数值用所对应的AD值)。
[0090] 步骤D2:采集实时阀位反馈值,若阀位处于死区内,立即关闭PWM波,并且向开关式压电阀发出保持指令;若阀位误差处于粗调区1内,则执行步骤D3,若阀位误差处于细调区1内,则执行步骤D4。
[0091] 步骤D3:向开关式压电阀发出100%PWM波,并且发出充气指令,快速减小误差。当阀位误差进入细调区1时,执行步骤D4。
[0092] 步骤D4:采集实时阀位反馈值和阀杆速度,根据神经网络学习构建的神经网络模型,即可得到在此阀位和阀杆速度下,将开关式压电阀置为保持状态所产生的超调量,从而得出预测阀位值f(tt),比较目标阀位和预测阀位的差值(ee(tt)=f(tt)‑c(tt))。若该差值在容许阀位误差范围内,执行步骤D5;若该差值大于容许阀位误差且差值为正值时,执行步骤D6;否则不进行任何操作;
[0093] 步骤D5:立即向压电阀发出保持指令,循环循环执行步骤D2;
[0094] 步骤D6:向压电开关阀发送最小启动PWM,并且发送排气指令,进行降速。循环执行步骤D2;
[0095] 对于本发明所属技术领域的技术人员来说,在不脱离发明构思的前提下还可以做出一定程度的简单推演或者替换,都应当视为属于本发明的保护范围。

附图说明

[0051] 图1是本发明闭环控制示意图
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号