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

这篇具有很好参考价值的文章主要介绍了Codesys电子凸轮表的规划与凸轮曲线的拟合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、序言

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

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

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

2、电子凸轮规划

2.1、主从轴关系数学建模

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

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

 红色为加工件打磨外形,外形如下,圆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电子凸轮表的规划与凸轮曲线的拟合

  2.2、创建CAM曲线和CAM表

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

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

得到的cam曲线如图所示

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

 此时的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电子凸轮表的规划与凸轮曲线的拟合

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

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

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

注意: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文章来源地址https://www.toymoban.com/news/detail-449566.html

到了这里,关于Codesys电子凸轮表的规划与凸轮曲线的拟合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB实现任意函数曲线拟合(高斯曲线为例)

    matlab实现多项式拟合的函数相对比较简单,且容易记忆,但是复杂曲线的拟合就比较繁杂,比如高斯曲线,也叫正态分布函数,线上做个笔记,大家共勉。 拟合前后曲线对比结果如下。

    2024年02月16日
    浏览(50)
  • 数学建模——曲线拟合

     已知一组数据(二维),即平面上n个点       (xi,yi)(i=1,2,…,n), xi互不相同。寻求一个函数y=f(x),使得f(x)在某种准则下与所有的数据点最为接近,即拟合得最好。 线性最小二乘法是解决曲线拟合最常用的方法,基本思路是,令                         其中,r1(x),…,r

    2024年02月12日
    浏览(50)
  • MATLAB 曲线拟合

    MATLAB 曲线拟合 eg: 与数据插值类似,曲线拟合也是一种函数逼近的方法。 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小优化误差的平方和来寻找数据的最佳函数匹配。 polyfit():多项式拟合系数 功能:求得最小二乘拟合多项式系数 调用格式: p=polyfit(X,Y,m

    2024年02月06日
    浏览(32)
  • MATLAB根据数据拟合曲线

    阿楠 零基础入门matlab教程基础版 阿楠 Simulink 模型创建 Matlab simulink建模与仿真视频教程

    2024年02月01日
    浏览(53)
  • Origin曲线拟合教程

    今天是自我学习的第n天~ 一、线性和多项式拟合 (一)线性拟合和异常值去除 首先,异常值通常被描述为与其他点“非常遥远”的数据点集合中的数据点或观察值,因此可能是由于例如测量过程中的某些错误。 异常值的识别和去除通常是有争议的,并且在用于描述数据的模

    2024年01月20日
    浏览(34)
  • MATLAB数据曲线拟合

    MATLAB数据曲线拟合 数据拟合是我们常用的一种方法,可以通过一组离散的数据点来找到一个函数,使这个函数能够对数据进行预测和描绘。在MATLAB中实现数据拟合非常简单,而且MATLAB还提供了许多工具箱来帮助我们完成这项任务。下面我们将会介绍如何使用MATLAB对数据进行曲

    2024年02月14日
    浏览(35)
  • 利用Labview实现曲线拟合

    线性(Linear)   利用最小二乘法找到最能代表输入数据集的直线斜率和截距。 多项式(Polynomial)   通过最小二乘法找到最能代表输入数据集的多项式拟合系数。 样条插值(Spline)   返回区间个数为 n 的样条插值,结果中包含样条插值函数在内接点处的二阶导数。

    2024年02月09日
    浏览(44)
  • 自留-Python:线性拟合(直线+曲线)

    使用最小二乘法的线性拟合,自留代码 读取数据  

    2024年02月12日
    浏览(44)
  • 当我问chatGPT怎么拟合曲线

    以后是不是不用干活了! 由3个点就可以计算一个二次曲线,如果有20个观测点该如何计算这条二次曲线 有20个观测点的二次曲线可以通过最小二乘法来计算。最小二乘法是一种常用的数据拟合方法,通过最小化所有观测点到拟合曲线的垂直距离的平方和,来确定一个与实际观

    2024年02月06日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包