查看: 3645|回复: 18
收起左侧

[教程经验] 【发帖达人赛】凸轮曲线分析与规划

Slimming 2022-4-12 13:42:36 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
本帖最后由 Slimming 于 2022-4-12 13:46 编辑

一、凸轮简介


电子凸轮是利用凸轮曲线来模拟机械凸轮,达到凸轮轴与主轴之间相对运动的算法系统。
凸轮的核心包括一下几个点:曲线规划、主从跟随、啮合离合


曲线规划涉及数学计算领域,位置、速度、加速度根据设定数据进行微积分运算,求出一般表达式中的代数。
主从跟随涉及PID领域,以主轴位置为目标值,从轴位置为实际值,根据偏差值进行调整,类似伺服的位置环。
啮合离合属于工艺类算法,一般涉及到位置比较、凸轮反算、柔和启停等。


本节主要讲凸轮的曲线分析规划。




二、曲线分析


1.位置曲线-横纵坐标系
凸轮的本质是主从的位置跟随,曲线规划的是位置关系,所以在观察凸轮表时,曲线横坐标为主轴位置,纵坐标为从轴位置、速度、加速度
image.png
在plc追踪、伺服采曲线时,均是以时间为横坐标,以位置为横坐标可能不太好理解。其实位置和时间类似,把位置看作时间也是一样的。凸轮主轴连续递增,位置不动相当于时间停止,位置变化相当于时间变化。
若主轴是匀速运行,那么位置曲线和时间曲线基本重叠。如果主轴变速运行,那么追踪观察到的位置曲线就会发生扭曲,向上向下发生形变,可以理解为横纵坐标夹角改变。
最常见的形变是主轴刚启动加速至匀速时的形变。

例如飞剪曲线规划的速度一般不为0,理论启动瞬间速度会发生突变,如上图。但是启动时因主轴速度为0,主轴加速的过程导致位置曲线向下形变,所以从轴从0开始加速不会有速度突变,如下图。
image.png

2.速度曲线-主从速比
因位置曲线的横坐标是主轴位置,那么微分之后的速度曲线不再是从轴速度值,而且主从速比值。
凸轮速度曲线是位置曲线的微分,即主从位置的变化趋势,dv=ds2/ds1 = (ds2/dt) / (ds1/dt) =  dv2 / dv1。所以凸轮表中的速度曲线,实则是主从速比曲线
例如凸轮第一条曲线:
主轴位置60,从轴位置50,主从速比=50/60=0.833
image.png

3.加速度曲线
与速度曲线类似,加速度是速度的微分,加加速度亦如此不再赘述。


三、曲线规划


上面说了一大堆,了解凸轮的坐标和曲线有啥用呢?其中最重要是就是可以进行曲线的速度衔接和规划
例如制袋机中的询标停机,主轴速度可能是变化的,每次询标停的速度如果不同,那停的位置也是不同的,那就可以根据主从的速度关系,按照固定的线速度进行规划。注意是线速度。
例如凸轮运行过程中,打断凸轮以新的凸轮表运行,要将当前的速度衔接起来保证无突变,那就可以规划凸轮表第一段的起点速比,保证速度连续运行。

讲曲线规划之前,在定义公式和参数方便理解,曲线横坐标从0开始。
一般式:yn=∑(Kn*xn),K为x前的系数,n是x的幂。
下面的表达式为了方便编写,主从轴位置采用x和y来表示,速度y',加速度y'',目标是求出未知数,将一般式表达出来。
凸轮设定参数包括:位置起点(0,ys),位置终点(xe,ye),y'(0)=Vs(起点速度) ,y'(xe)=Ve(终点速度),y''(0)=As(起点加速度) ,y''(xe)=Ae(终点加速度)。


1.三次曲线规划
一元函数一般式:y(x)=k0+k1*x+k2*x2+k3*x3[size=11.6667px],k0~k3个未知数。
位置:y(x)=k0+k1*x+k2*x2+k3*x3
速度:y'(x)=k1+2*k2*x+3*k3*x2已知位置坐标(0,ys)(xe,ye)和速度坐标(0,Vs)(xe,Ve)四个点,分别代入上述两公式中可求出。
k0=ys;
k1=Vs;
k2=3.0*(ye-k1*xe-k0- xe/3*(Ve-Vs))/(xe2);

k3=(Ve-Vs-2.0*k2*xe)/(3.0*(xe2));

例如位置坐标(0,0),(100,200),速度坐标(0,1)(100,1),求出k0=0,k1=1,k2=0.03,k3=-0.0002
image.png image.png
image.png

2.五次曲线规划
一般式:y(x)=k0+k1*x+k2*x2+k3*x3+k4*x4+ k5*x5[size=11.6667px],k0~k5六个未知数。
位置:y(x)=k0+k1*x+k2*x2+k3*x3+ k4*x4+ k5*x5
速度:y'(x)=k1+2*k2*x+3*k3*x2+ 4*k4*x3+ 5*k5*x4加速度:y''(x)=2*k2+6*k3*x+ 12*k4*x2+ 20*k5*x3
已知位置坐标(0,ys)(xe,ye),速度坐标(0,Vs)(xe,Ve)、(0,As)(xe,Ae)六个点,分别代入上述两公式中可求出。

k0= ys;
k1= Vs;
k2= As / 2;
k3= (10.0*ye – 4.0*Ve*xe+ Ae*(xe2)/2 - (10.0*k0 + 6.0*k1*xe+ 3.0*k2*(xe2)))/ (xe3);
k4:= (2.0*Ve - Ae*xe/2- (2.0*k1 + 3.0*k2*xe + 3.0*k3*(xe2)))/(2.0*(xe3));
k5:= (Ae/2 - (k2+ 3.0*k3*xe + 6.0*k4*(xe2)))/(10.0*(xe3));
例如位置坐标(0,0),(100,200),速度坐标(0,1)(100,1),加速度(0,0)(100,0),求出k0=0,k1=1,k2=0,k3=0.001,k4=1.5e-5,k5=6e-8
image.png image.png image.png
image.png

3.其余曲线
除了三次五次之外,常用的还有:二次方、正弦、梯形、摆线、各种修正曲线等等,太多了各位可以自己去网上找找资料,或者自己推导一下。

四、总结

曲线规划出来后大概有下面几个用处。
1.凸轮速度衔接,多段速规划;
2.凸轮防反转;
3.通过加速度的变化,研究负载的响应和震动情况。

三次五次曲线规划在应用上,算出一般式可求出极值点,解决凸轮反转问题。一般式都算出来了,各位感兴趣的可以去算算极值点,我在之前的帖子中也分享过。
分享:追飞剪五次曲线分析
http://bbs.inovance.com/forum.php?mod=viewthread&tid=8123

曲线的规划本身是数学问题,在凸轮中就以位置速度的方式呈现出来,把物理问题建模成数学问题对原理和概念理解的会比较透彻。
学无止境,希望各位在学习过程中也能够开启新世界的大门。

点评

给力  发表于 2023-4-11 15:28
大佬  发表于 2023-4-11 14:42




上一篇:发帖达人赛保持性时间寄存器
下一篇:为啥数组这样清零不了

已有 1 人打赏作者

Inovance 赏了楼主100水滴
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香! 鲜花榜单
回复 邀请回答送花

使用道具 举报

@海纳百川@ 2022-4-12 14:32:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 送花

使用道具 举报

我爱汇川 2022-5-27 15:24:45 | 显示全部楼层
Slimming 发表于 2022-4-12 15:10
头大,函数公式的格式乱了,上标下标没有正常显示出来,各位有问题或者感兴趣的可以直接联系我 ...

需要一份1484819709@qq.com
回复 送花

使用道具 举报

Patrical 2022-6-18 08:04:40 | 显示全部楼层
感谢,很好的分享,有参考价值
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部