电子凸轮设计之数学基础设计

电子凸轮现在的机械机构多数以伺服电机驱动,而伺服电机驱动的方式有脉冲式、模拟量式、总线式(canopen/Ethnet)。

首先,目前的需求是利用MCU+FPGA+旋转编码器形式实现伺服点击的电子凸轮控制,利用FPGA的话就脉冲控制显然是最好的方式。(此中我们之讨论数据理论部分,不涉及到编程微机控制方面,如果以后有时间会更新一篇)

其次,我们分析下伺服电机在负载状态下曲线形式有直线式、曲线式。但是在实际应用中最好的方式是先直线启动、在曲线加速、最后平稳过渡到直线匀速运行,所以我们需要的曲线形式有以下几种:

1.

codesys凸轮案例_codesys凸轮案例


2.

codesys凸轮案例_伺服电机_02


3.

codesys凸轮案例_伺服电机_03


其实1、2、3都是一个道理的曲线。

先对曲线说明下,其中的坐标系是以距离为横轴,速度为纵轴的形式,曲线与直线相交合的部分为相切,可以从直线部分平稳过渡至曲线部分,从曲线部分又可平稳过渡至直线部分。最后,我们来看下如何得到这样的曲线,用一个数学公式来表达下,我们可以得到任意的特定切点位置的曲线。这里用到了一个数学软件mathmatics,此款软件与MATLAB有异曲同工之妙,不多说先看下编程函数吧(mathmatics也是要编程的。。。)

1.首先我们采用拟合的形式一点点的逼近我们的需求:

codesys凸轮案例_MATHMATICS_04


codesys凸轮案例_伺服电机_05


逼近1000位置整数。。。。

但是这有点蛋疼,不具备可操作性,那么是否可以根据需求来得到3次/2次/1次的系数呢,这个当然可以有,于是有了下面的计算

codesys凸轮案例_FPGA_06


codesys凸轮案例_MATHMATICS_07


a b c的系数都出来了公式,带入你想要的且点位置,即可输出你想要的曲线。下面是一个单直线,曲线的计算方式,其实是上面的一个简版(能看出来嘛?:)

codesys凸轮案例_电子凸轮_08


codesys凸轮案例_codesys凸轮案例_09


由此种方法,你可以计算出5次曲线的电子凸轮计算方式。。

codesys凸轮案例_电子凸轮_10


codesys凸轮案例_FPGA_11


codesys凸轮案例_codesys凸轮案例_12

此文旨在记录我的电气工程师。如果有感兴趣的小伙伴可以一起讨论。。。