项目简介
最近在一个客户现场搞熔边机项目,涉及到收放卷工艺的卷径计算,同时张力控制使用的是摆杆,然后通过PID控制输出辅助转速补偿收卷伺服速度。单一的PID参数不能自动适应卷径变化,如在小卷径200mm下调试整定出的一组PID参数,当收卷卷径大于300mm的时候该组参数就不能稳定,系统会发散。于是想出了本篇文章将要为大家介绍的变比例变积分变微分自适应PID控制器。
硬件介绍
上图1为位置传感器,图中2部分为摆杆。摆杆运动的时候达到左右限位输出的值范围是0到500,中间位置为250.摆杆是通过气缸控制的,气缸输出一定的力。收卷使用的是伺服速度模式,收卷轴卷径变化范围为100mm-1000mm,系统卷径变化较大。系统最大运行速度为220m/min。速度可以通过HMI进行输入。
收卷轴的速度是根据牵引主轴速度确定的,这里只用牵引主轴的速度是不能保证摆杆在中间位置的,所以还要在此速度基础上 根据摆杆的位置反馈计算出PID补偿的辅助速度。 我为了实现系统优化,本套系统采用了两层变比例变积分变微分分段自适应PID控制器算法。具体的介绍如下:
变比例变积分变微分自适应PID控制器原理介绍
收卷的主速度是根据牵引主轴的给定速度计算出来的,辅速度是根据摆杆的位置通过位置式PID控制器算出的辅助速度。收卷轴的真正速度 = 主速度+辅助速度。
这里收卷轴,卷径是可以通过线长相等计算而来的。计算思路:要保证张力恒定的话,就是牵引走过的线长和收卷轴转过的线长应该是相等的。牵引走过的距离与收卷转过的距离是相等的,这里再通过一定的方法算出走过的这段距离中收卷转动的圈数,然后就能算出实时卷径了。
我们可以观察到一个现象,同样的牵引速度下,卷径小的时候收卷计算出的主转速n是比较快的,卷径增大的过程中同样的线速度下其收卷转速是减小的。具体的数学关系如下:
V = w*r = 2πnr 所以:n = v/2πr,也就是说主速度和(v/r)呈正比例关系。这里收卷伺服给定的转速n给定 = n主 + n辅,因为n主是和(v/r)呈正比例关系的,所以这里的PID计算出来的n辅也应该和(v/r)呈正比例关系。所以可以推得 PID参数也应该和(v/r)呈正比例关系。
上面介绍的是第一层变比例变积分变微分PID算法(实际上可以理解为跟随速度和卷径自适应的PID参数),实际上我在应用中,还使用了第二层变比例变积分变微分分段PID控制器,第二层分段PID控制参数实际上是根据偏差进行自动调整计算的。这里偏差是作为第二层分段PID的分段指标的,如下图:
当前自适应PID算法实现方法与参数整定介绍
第一层自适应PID参数整定方法
首先PID参数不乘以(v/r)这个时变系数,使用二倍二分法辅助看目标值和反馈值曲线调试PID参数。先确定一组在速度固定为200,卷径固定在100到200mm范围内的一组PID参数。把这组PID参数确定好之后,再乘以(v/r)系数。这个算出来的PID参数作为第二层根据偏差的分段PID的小偏差范围内的kp1 ki1 kd1(上图中),然后这里为了方便,再将kp1 ki1 kd1乘以一个系数,我们就能得到kp2 ki2 kd2参数了。
这里PID控制器参数的整定采用的是控制变量法,每次只调一组参数,然后看波形。
#为了系统更稳定,这里采用多重滤波处理:
反馈滤波以及转速滤波,滤波后效果波形如下所示
采用一阶低通 滤波后的数据 = (1-s)上次滤波数据 + s此次实时反馈数据
反馈滤波系数0.9和0.1
转速滤波系数 0.9和0.1
转速:红色为滤波后转速 D470蓝色 D1208为主+辅算出的转速n
反馈:D66实时反馈采样 D572反馈滤波后曲线
反馈滤波系数0.95和0.05
转速滤波系数0.95和0.05
反馈滤波系数0.99和0.01
转速滤波系数0.99和0.01(滞后非常严重)
反馈滤波系数0.96和0.04
转速滤波系数0.96和0.04
最终确定卷径200mm v = 200m/min左右 的PID参数
Kp = 1400
Ki = 500
Kd = 70
最终确定卷径100mm v = 200m/min左右 的PID参数
Kp = 1600
Ki = 600
Kd = 180
然后根据上面说到的控制原理,推算出相应的系数,得到自适应PID控制器的自动调整参数。
具体参数整定过程如下:
目标位置是250,实际位置曲线如黄线所示
Kp = 100
Ki = 0
Kd = 0
R = 247
Kp = 200
Ki = 0
Kd = 0
R = 251
Kp = 400
Ki = 0
Kd = 0
R = 262
Kp = 800
Ki = 0
Kd = 0
R = 262
Kp = 1600
Ki = 0
Kd = 0
R = 268
Kp = 3200
Ki = 0
Kd = 0
R = 275
Kp = 2000
Ki = 0
Kd = 0
R = 278
Kp = 1400
Ki = 0
Kd = 0
R = 278
Kp = 1200
Ki = 0
Kd = 0
R = 278
Kp = 1200
Ki = 0
Kd = 100
R = 203
Kp = 1200
Ki = 0
Kd = 50
R = 311
Kp = 1200
Ki = 0
Kd = 60
R = 311
Kp = 1200
Ki = 0
Kd = 200
R = 203
Kp = 1200
Ki = 0
Kd = 25
R = 321
Kp = 1200
Ki =0
Kd = 35
R = 322
Kp = 1200
Ki =0
Kd = 40
R = 322
Kp = 1200
Ki = 400
Kd = 50
R = 324
Kp = 1200
Ki = 800
Kd = 50
R = 331
Kp = 1200
Ki = 800
Kd = 70
R = 338
Kp = 1200
Ki = 800
Kd = 80
R = 338
Kp = 1200
Ki = 800
Kd = 80
R = 338
Kp = 1200
Ki =100
Kd = 0
R = 285
Kp = 1200
Ki = 200
Kd = 0
R = 292
Kp = 1200
Ki = 400
Kd = 0
R = 302
关注本站微信公众号,可以更方便的获得更多资源资料
燕骏工控博客[环宇工控博客]–www.yanjuntech.cn 专注于工业自动化领域,分享工控相关经验与教程,分享收集的百度云盘工控资料资源,记录个人生活读书感悟。期待与您相遇~~
赞赏作者
喜欢 (11)or分享 (0)