贴合机裁切机项目总结之6:收放卷恒张力控制卷径计算等工艺算法介绍
1.卷径计算
转动情况下,根据转矩公式T = F*r,可以知道如果我们的力不变。那么我们的T和r是正相关的,在收放卷工艺中卷径是实时变化的,所以我们要计算出实时变化的卷径,然后才能间接的计算出实时的转矩。这个项目中恒张力控制的核心就是,张力不变,转矩随着卷径的变化而变化。
本项目中使用的全部都是伺服驱动器,同时又是通过通信进行的数据交互,所以我们可以获得很多较为精确的反馈数据。这里考虑到该项目使用的是伺服驱动器,我们计算卷径可以使用线速度相等法和线长相等法。方法如下:
1.线速度相等
相同时间内牵引轴的走过的物料长度,和收放卷轴走过的物料长度是相等的。(因为物料需要靠恒张力绷紧)。转换一下也就是说牵引轴的线速度和转矩轴物料的线速度是相等的。
这种计算方法适用于速度较为恒定的情况下,速度不经常性变化。如果速度经常性的变化不恒定的话,我们的简单的线速度相等算法计算出来的卷径是不准确的。
本项目中,贴合模式下就是速度较为稳定的情况。所以在贴合模式下可以采用线速度相等的方法实时计算卷径。
v牵引 = v物料 = v线速度 = v HMI设置速度
这里我HMI设置的速度,就是线速度。
又由物理学公式:v线 = wr = 2πn r,式中w是旋转角速度,r是半径。又由物理学公式:w = 2πn,其中n为转速,我们通过通信的方式可以知道转矩轴的实时反馈转速,只需要在canlink配置表中配置读取伺服H0B-00功能码中的数据,就可以获得实时的反馈转速。所以有:
r卷径 = v线 / 2πn反馈
将上述代码转换成梯形图,即可获得计算后的实时卷径。我们在实际项目中,在这个算法的基础上,还进行了如下细节优化处理:反馈转速滤波处理、调速旋钮电位器快速变化时不计算卷径、反馈转速变化过大时不计算卷径、系统正常运行的前2s不计算卷径等细节处理。具体细节我们将在第10篇问题与解决方案篇为大家介绍。
2.线长相等
在裁切模式下,我们的物料是走一段相对位移之后切刀动一下。所以这种情况和上面的贴合模式是不同的,这种模式下属于断续情况。在断续情况下,不能使用上面的线速度相等算法计算卷径(理论上线速度也应该是相等的,但是线速度不是稳定的,是变化的,普通的线速度相等算法并不能精确计算卷径)。
这里,我们根据工艺情况确定了线长相等的算法。每次牵引走完一段相对定位长度,转矩轴物料实际上也走完一段长度,这两个轴走的长度实际上是相等。公式如下:
L牵引 = L物料 = S * α
上式中S为物料的周长,α为物料转动的圈数。L牵引就是我们设置的裁切模式下的裁切长度。在伺服中,我们可以根据反馈脉冲数来计算走过的圈数α。反馈脉冲数我们可以通过canlink通信读取伺服功能码:H0B-17中的数据。我的处理方法是,相对定位前备份一次反馈脉冲数,相对定位后获取到的相对脉冲数减去这次的相对脉冲数,然后除以物料负载转动一圈的脉冲数(考虑减速比),就可以获得负载转过的圈数α。
L牵引是已知的,α通过反馈计算而来,S负载的周长就能计算出来,又S = 2πr,可以顺带计算出r卷径的大小。
2.反馈脉冲数跳变处理
反馈脉冲数据是32位的,数据是带符号型32位整型数据。也就是说其范围是-2^31到2^31 -1。又因为这里使用的是20位增量式编码器,所以电机转动一圈增加或者减少的脉冲数是1048576个编码器脉冲,而考虑到减速比之后再转换到实际的负载转动一圈的脉冲数上。
数据是32位带符号数据,所以脉冲数随着时间的变化肯定会溢出的。所以这里需要考虑一下如何计算起始脉冲数和相对定位后的脉冲数的差值如何计算。
下图中讨论了脉冲差值的3种情况:没有跳变下差值计算、从最大值跳变到最小值的差值计算、从最小跳变到最大的差值计算。
如果按下图计算方法,进行分类计算肯定是正确的。我项目中也是按下面图中的方法计算的,不过由于这里分类讨论的相当复杂,做完项目后又仔细想了想,举出以下例子来说明其实跳变也不需要处理。
从最大跳到最小值,比如x1点的大小是(2^31 – 100),x2点的大小是(-2^31 + 200),x2 – x1 = -2^32 + 300,这里存储这些数据的D寄存器元件都是32位的,所以数据-2^32这个数据溢出,实际为0,那么上面值就变成正确的差值300了。所以说跳变其实也是不需要进行考虑的。这么想应该没错
3.工作速度上下限计算
本项目中,裁切模式下又有两种长度裁切的功能选择。裁切模式下工作速度的输入,需要手动输入每分钟的裁切个数。这里就需要根据输入长度以及长度选择来进行实时的工作速度上下限的计算。
实时计算裁切模式下 工作速度的上下限按D548 初始化 的最大速度运行
1.一种长度
A*D410/(60-0.4A)= D548 / 60
A为 每分钟个数上限
D410为每个走的长度1
D548是每分钟速度mm/min
这里的0.4实际上就是D556的数值,每次切刀工作时间
两种长度下,因为其”倍送”工艺的要求,计算方法如下:
两种长度:
(A/倍送总数)*(倍送总长度)/(60 – D556 * A) = D548 / 60
4.裁切模式下分段设置牵引轴加减速
物料是有惯性的,减速时间比较短的时候,物料停止不及时会产生拱起,加速时间短的话会在瞬间绷紧材料可能造成物料的断料。同时加减速时间也影响着裁切的工作速度,在极限裁切工作速度下,加减速时间影响物料的绷紧程度更加明显,启动的时候绷紧的声音也会比较大,所以我这里根据设置的不同长度分段设置了加减速时间和基底速度。(使用的DDRVI指令是具备加减速时间设定的指令)
5.断料检测算法分析
断料检测,在断料的瞬间,转矩轴上的收放卷会失去张力。在忽略摩擦阻力影响的时候,转矩轴会因为不断的加速,直至到我们设置的转矩速度上下限制值。
在贴合模式下:断料之后,反馈速度会变的很大,在原有的线速度相等的算法计算下,卷径会变的很小。所以我们可以通过反馈转速突变或者计算出的卷径突变来实现断料检测的算法。
在裁切模式下,同样的道理,断料后转速突变。算出的α实际上就会大很多,计算出来的卷径实际上是很小的。
断料检测还需要考虑如下细节:
- 系统运行前2s反馈转速啥的都不稳定,不应该计算卷径不应该判断断料
- 贴合模式下,调速旋钮变化时,不应该计算卷径,应该等速度稳定后再计算卷径不应该判断断料
- 两种长度的裁切模式下,因为相对定位长度需要进行切换,此时长度对应的α值和定位长度需要同步匹配,不然会出现卷径计算错误,断料检测误检测。
下面是非运行模式下,检测断料
转载请注明:燕骏博客 » 贴合机裁切机项目总结之6:收放卷恒张力控制卷径计算等工艺算法介绍
赞赏作者微信赞赏支付宝赞赏