Codesys电子凸轮表的规划与凸轮曲线的拟合

1、序言

Codesys电子凸轮的功能使用已经在之前介绍过,还未熟悉Codesys电子凸轮功能的可以参考文章

https://blog.csdn.net/qq_19979629/article/details/122373387

在实际应用中,主轴与从轴的关系不仅仅是简单的线性关系,更多的是一些不规则的曲线,那么在使用电子凸轮时,就需要更好的规划电子凸轮表,使电子凸轮曲线更加的切合真实的关系曲线。目前电子凸轮曲线的规划都使用多项式来拟合。本文主要介绍如何有效的调整多项式参数,使建立的电子凸轮满足功能要求。

2、电子凸轮规划

2.1、主从轴关系数学建模

要建立电子凸轮,首先需要建立主轴与从轴之间的数学关系,本文以水滴模型为例,图形如下

Codesys电子凸轮表的规划与凸轮曲线的拟合_第1张图片Codesys电子凸轮表的规划与凸轮曲线的拟合_第2张图片Codesys电子凸轮表的规划与凸轮曲线的拟合_第3张图片

 红色为加工件打磨外形,外形如下,圆o外一点A,从A引两条切线,A点+两条切线+圆O构成加工件的外形,形似水滴。

加工工艺:加工件绕原点O顺时针旋转,打磨砂轮根据旋转角度控制砂轮的行走位置打磨出外形;那么主从轴关系曲线也就是计算图中蓝色线段BO的长度与角1的关系函数曲线;

水滴外形的数学模型在之前的文章中也有介绍,参考文章如下:

https://blog.csdn.net/qq_19979629/article/details/122329175

为方便起见,这里我们的数值取值如下,圆O半径为R,AO距离为2R,则图中角A为60°,角2为30°,旋转角度即为α,则根据前文公式,可直接得出BO与α函数关系:

                               BO= R / sin(30°+α); (0<=α<=60°)

                               BO= R;                            (60°<α<300°)

                               BO= R / sin(390°-α);(300°<=α<360°)

假设R=180,则通过excel图标功能可以画出函数曲线

Codesys电子凸轮表的规划与凸轮曲线的拟合_第4张图片

  2.2、创建CAM曲线和CAM表

根据函数关系和曲线图,将函数分为3部分,左右两侧区间无法使用直线,需要用多项式,中间线段为直线,因此我们首先确定4个点位,以及段类型,如下图所示

Codesys电子凸轮表的规划与凸轮曲线的拟合_第5张图片

得到的cam曲线如图所示

Codesys电子凸轮表的规划与凸轮曲线的拟合_第6张图片

 此时的cam曲线与实际的关系曲线还有较大偏差, 可以通过可视化仿真看到,打磨外形的切线段部分明显没有打磨到,结果如下:

电子凸轮设计

2.3、偏差分析

凸轮运转结果与实际效果可以看到,加工件在打磨切线部分是,速度没有跟上,导致切线边没有加工到。而对比凸轮曲线和数学模型曲线也可以明显看到在0-60°区间两条曲线的差异。如何快速有效的调整凸轮曲线,我们需要了解一些其他内容

a、cam曲线的含义,codesys中cam曲线包含4-5项内容,从轴位置曲线,从轴速度曲线,从轴加速度曲线,从轴加加速度曲线等,结合物理和数学可知,对位置曲线求导就得到速度曲线,对速度曲线求导就得到加速度曲线。以此类推;

b、多项式:目前电子凸轮常用的拟合多项式为5阶,f(x)=a+bx+cx^2+dx^3+ex^4+fx^5,对f(x)求导就可以得到f'(x)=b+cx+dx^2+ex^3+fx^4,再次对f'(x)求导可以f''(x)=c+dx+ex^2+fx^3,以此类推,分别对应cam曲线中的位置,速度,加速度等曲线,在实际应用中,一般用到加速度或者加加速度曲线即可,也就是常数e=f=0;

c、多项式拟合原理:将整个曲线分区间拟合,在固定区间内,让函数f(x)、f'(x)、f''(x)等函数与实际的位置、速度、加速度等曲线重合,求出常数a,b,c,d的值,如果无法满足误差要求,则将区间减小,达到误差范围内即可,实际应用中,只需要位置曲线和速度曲线拟合,基本就可以达到要求。

2.4、调整cam曲线和cam表

本例中,关键位置在于0-60°区间,其函数关系为f(x)=1/sin(30°+x),为方便求导计算起见,记为在30°-90°区间,f(x)=1/sinx,则其导数f'(x)=1/sinxtanx,这里f''(x)比较繁琐,并未计算。根据函数关系,列出点位表

Codesys电子凸轮表的规划与凸轮曲线的拟合_第7张图片

 根据列出的点位表,选择一些关键点位,设定对应数值,cam表中的数值对应位X,Y,再根据cam曲线,在cam表里调整V和A的值,或者直接在cam曲线里挪动点表,对应的V和A会自动变化,当位置曲线与函数曲线基本一致时,可以先试运行,如果偏差,在调整V、A如图所示

Codesys电子凸轮表的规划与凸轮曲线的拟合_第8张图片

Codesys电子凸轮表的规划与凸轮曲线的拟合_第9张图片

注意:cam表中段类型为line两端的点位,V和A的数值无法改动,因为两点确定后,其斜率也就是V的值就确定了,而直线的加速度为0。

 2.5、验证结果

 通过可视化仿真运行,其结果如下

电子凸轮修正后视频

 通过视频可以看到,修正后的电子凸轮比初始创建的电子凸轮有很大改进,外形拟合基本达成,如果要求更高则可以增加点位,并调整V,A的值,以达到更高的拟合精度。

3、综述

通过以上测试,我们可以将电子凸轮cam曲线和cam表的调整方法分5步:

a、建数学模型,确定关系曲线,通过数学函数或者取大量的点位依次连接,类似excel画曲线法;

b、划分区间段,选择关键点位划分,用直线或多项式分别拟合各个区间的曲线或者函数;

c、区间内多项式拟合也可以增加关键点位以使拟合曲线更快的接近实际曲线;

d、调整点位内的速度V和加速度A的值,使cam曲线可以更加平滑,区间之间的衔接更加顺畅;

e、边运行,边调整,曲线拟合后还需要实际验证,并在运行中检查实际效果,记录偏差的点位,再进行优化调整,直到达到控制要求位置。

附:只要点位够多,即使cam表所用的点位都用line类型,也能够建立起有效的电子凸轮,这是最直接的办法。

本文相关的程序代码可以在以下地址下载:

https://download.csdn.net/download/qq_19979629/75445789

你可能感兴趣的:(动态规划,算法,几何学)