首页 上一页 1 2 下一页 尾页

运动控制器中的电子凸轮实现(技术讨论) 点击:8203 | 回复:37



alexqiu

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:12帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-13 12:37:00
楼主
之前看过“叫我小白”和“七夜”关于电子凸轮的讨论。很受启发。
相关内容请参考。[url=http://www.gongkong.com/tech/detail.asp?id=382177]http://www.gongkong.com/tech/detail.asp?id=382177[/url]
因此开贴讨论电子凸轮在运动控制器中怎样实现的,全做抛砖引玉!

1.PC端对电子凸轮功能的规划:
  此部分涉及到应用数学和计算机图形学的相关理论。
  CAM曲线建立:
     建立CAM曲线时需要设定如下关键参数:
     进入点位置,速度,加速度
     离开点位置,速度,加速度
     另外就是X,Y坐标系长度和单位。
     选择输出控制点的数量,256、512、1024。。。
     此处因该还有对曲线类型的选择,OPEN/CLOSE
  CAM曲线编辑:
     进入CAM编辑界面可以通过加入节点和调节节点处斜率调节局部位置曲线。
     在CAM编辑界面里面软件使用SPLINE数学模型来形成曲线。但是几次样条函数目前还不确定
     位置为5次曲线,速度为4次曲线,加速度为3此曲线。对此机械手和日系的运动控制描述也相似。
     请参考欧姆龙相关     
[url=http://search.cnpat.com.cn/Search/CNViewSearch?wd=vdkvgwkey=200510125440&jsk=search_gb]http://search.cnpat.com.cn/Search/CNViewSearch?wd=vdkvgwkey=200510125440&jsk=search_gb[/url]
     安川相关
[url=http://search.cnpat.com.cn/Search/CN/viewResult/picFrame.jsp]http://search.cnpat.com.cn/Search/CN/viewResult/picFrame.jsp[/url]


     
     在调节位置曲线的同时速度曲线和加速度曲线也随之变化。 曲线编辑结束导出CAM文件,此文件应该包含512、1024。。个曲线支撑点的位置,速度,加速度

欧洲的厂商应该也是如此。德国工程师协会的VDI 2143特别有对电子凸轮有论述。只是此份文件为德文版,我在同济大学的嘉定校区图书馆的汽车阅览室有查到。只是不懂德文,所以其内容不详。


楼主最近还看过



alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-13 12:53:00
1楼
2.运动控制器对CAM文件的处理。将PC端软件产生的CAM文件下载到运动控制器。
运动控制器根据如下函数关系对软件产生的相邻两点进行插补。
从轴位置=A0 + A1*X +A2*X*X + A3*X*X*X + A4*X*X*X*X +  
         A5*X*X*X*X*X
从轴速度=A1+2*A2*X +3*A3*X*X +4*A4*X*X*X +5*A5*X*X*X*X
从轴加速度 = A2 +6*A3*X +12*A4*X*X +20*A5*X*X*X
由相邻两点位置、速度、加速度可以求得A0..A5。

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-13 13:01:00
2楼
3.运动控制器如何控制伺服驱动器
  运动控制器内可以参考PLCOPEN的运动控制模式。对于CAM功能。
  其相关的FB为MC_CAMTableSelect/MC_CAMIN/MC_CAMOUT
  运动控制模型可以参考PLCOPEN定义的状态机。
4.运动控制器与伺服驱动器的数据传递。
  此运动控制器的通讯接口选定为CANopen,也就是此运动控制器为一CANopen主站,通过CANopen DS301(基本协议)。和DSP402(运动控制协议)对内建CANopen功能的伺服驱动器进行控制。

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-13 13:09:00
3楼
从上位机到控制器,再到伺服驱动器。都有大概的规划。可能其中有不足,全当抛砖引玉。[b]主要探讨运动控制器中CAM如何实现[/b]?希望大家。[b]脑白金式的广告就免了吧[/b]!谢谢!

firstrazor

  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 753回
  • 年度积分:0
  • 历史总积分:909
  • 注册:2007年7月28日
发表于:2008-03-13 13:19:00
4楼
小日本把凸轮里的多项式插补算法也注册成专利,可笑!

只是在凸轮离线编辑器里做多项式插补,下载到控制器里以后,在运行时还进行多项式插补吗?如果要在线更改凸轮曲线又如何?五次多项式也不是对所有的应用都是最佳的,我要其他的多项式插补又如何?

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-13 13:51:00
5楼
回复firstrazor:
只是在凸轮离线编辑器里做多项式插补,下载到控制器里以后,在运行时还进行多项式插补吗?
[color=#0000FF]凸轮离线编辑器中曲线的生成方式目前还没有完全弄明白!稍后我再去努力一下再来和您讨论。
但是运行时应该还是要做插补的,由于生成的点毕竟有限。如果控制器和伺服驱动器的通讯周期在几个ms,数据量是非常大的。因此相邻两点以特定或者可选择的函数关系控制伺服,这样控制精度应该会高很多。[/color]
如果要在线更改凸轮曲线又如何?五次多项式也不是对所有的应用都是最佳的,我要其他的多项式插补又如何?
[color=#0000FF]您的建议很好,应该在建立CAM曲线的时候选择曲线类型,然后下载到运动控制器中,运动控制器以建立是所选择的曲线类型进行插补控制。 目前看来在线修改应该问题不大,在线修改只是修改运动控制器内部的CAM文件,这个应该可以通过串口或者USB口实现。串口用于连接远程终端,USB口用于连接PC[/color]

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2008-03-13 22:30:00
6楼
2.运动控制器对CAM文件的处理。将PC端软件产生的CAM文件下载到运动控制器。
运动控制器根据如下函数关系对软件产生的相邻两点进行插补。
从轴位置=A0 + A1*X +A2*X*X + A3*X*X*X + A4*X*X*X*X +  
         A5*X*X*X*X*X
从轴速度=A1+2*A2*X +3*A3*X*X +4*A4*X*X*X +5*A5*X*X*X*X
从轴加速度 = A2 +6*A3*X +12*A4*X*X +20*A5*X*X*X
由相邻两点位置、速度、加速度可以求得A0..A5。

跟我在博客中提到的有点相似,但是我提到的五次曲线并不是用于插值,而是用于运动规划控制。

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-14 09:32:00
7楼
回复 叫我小白:
非常感谢您的博客,我在里面受益匪浅!

此部分确实有赖于您博客中的内容。此后我在网络中也有搜索一些内容。有些机械手臂的运动规划也使用类似的方法。
VDI 2143对电子凸轮论述的内容现在还不知,后期我会想办法拿到,再跟各位讨论。
日系的运动轨迹规划也是使用5次位置曲线,4次速度曲线,3次加速度曲线。前面的两份专利应该可以大概了解其内容。
因此对运动曲线的规划,特别是进入点和离开点使用5次位置曲线,4次速度曲线,3次加速度曲线似乎是各厂商通用的做法。至于在中间的部分,我比较同意firstrazor的说法,5次曲线不一定适合所有的应用场合,所以中间部分应该可以使用其他的运动轨迹规划方法,例如直线。

对于运动控制器是否要对由PC下载的点使用5次曲线进行插值。
这个地方我认为是应该有插值动作的,只是使用怎样的插值方法应该和曲线规划时的设置一致。假如曲线规划时使用5次曲线规划,那么运动控制器就应该使用5次曲线进行插值。假如曲线规划时使用直线规划,那么运动控制器就应该使用直线进行插值。

看过有些内嵌电子凸轮功能的伺服驱动器的规格。其内部的实现方法也是类似,对于相邻的几点做3次或者5次曲线插补。

以上为个人想法。不足或错误之处还请大家指出讨论。如果大家有其他的看法,期待您不吝..


叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2008-03-14 21:20:00
8楼
在变速和变位置过程中采用曲线拟合。VDI2143定义了一些用于拟合的曲线,具体函数不知。五次曲线是其中的代表曲线,计算相对简单所需力矩较小。
可以考虑用五次曲线计算出凸轮支撑点来进行运动控制。

凸轮的设计可以有两种方式,一种采用厂商提供的专用软件,一种是直接计算。

前者较为通用和简单,凸轮点数有限。后者应用比较复杂,而且很多厂商并没有开放。

当根据电子凸轮计算出从轴设定值的时候,因为该计算周期总是较大(比如1ms),而伺服三环循环值往往低于这个计算周期,所以肯定伺服驱动器内部还要进行插值计算。

firstrazor

  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 753回
  • 年度积分:0
  • 历史总积分:909
  • 注册:2007年7月28日
发表于:2008-03-15 11:31:00
9楼
凸轮的设计其实是可以参考机械设计的一些准则。我认为电子凸轮的关键是灵活性,可以做一些机械凸轮不能做的事,这个方面就有很多可以研究了,而且不同的公司由于底层系统架构的不同,方法可能是很不一样的。

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2008-03-15 22:21:00
10楼
关于电子凸轮,你可以参考PLCopen motion control的部分内容。

当然,我的博客上也加入(翻译)了一部分这方面的内容。

jy249325481

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 18回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2008年3月15日
发表于:2008-03-15 23:34:00
11楼
小白,  您好,很想更您请教,能说一下QQ号吗

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2008-03-16 00:35:00
12楼
可以联系我的email,我QQ比较少上。
allen.zhaol@gmail.com 不过我的知识,大概是根据一些文档和试验猜测和估计出来的,并不保证完全正确。

firstrazor

  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 753回
  • 年度积分:0
  • 历史总积分:909
  • 注册:2007年7月28日
发表于:2008-03-16 12:24:00
13楼
PLCopen Motion Control Function Block定义的都是比较基本的功能,它也允许各公司自行定义各自的技术功能块,一般重要的有技术含量的应该在这里。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2008-03-17 08:19:00
14楼
这个论题很不错,也来学习学习!

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2008-03-17 11:05:00
15楼
[b]回复 叫我小白:[/b]
当根据电子凸轮计算出从轴设定值的时候,因为该计算周期总是较大(比如1ms),而伺服三环循环值往往低于这个计算周期,所以肯定伺服驱动器内部还要进行插值计算。
[color=#0000FF]电子凸轮编辑软件对电子凸轮编辑后将会生成很多点(比如512),因此运动控制器会将相邻2点使用五次曲线或者其它函数曲线进行插值 控制 伺服驱动器。正如你所说,运动控制器对伺服驱动器的控制间隔会大于1ms,可能会在2-4ms。如果使用CANopen总线进行报文传递,DSP 402中有定义IP模式来实现伺服驱动器的插值。伺服驱动器应该是接收到运动控制器的位置,速度,加速度后,对其进行曲线拟合,然后在下一个运动控制器命令之前(2-4ms)使用此曲线控制伺服电机[/color]
另外关于PLCopen motion control,在WWW.PLCOPEN.ORG下载到文件。
tf_mc_part1_version1_1.pdf  大概了解了一下他的内容,其只是说明了单轴控制,多轴控制的Function Block的大概功能和Function Block的参数(例如输入,输出)还有就是对于功能块的执行冲突处理。对于单轴的运动控制功能还介绍的还比较详细,对于多轴的运动控制功能块,例如CAMtableselect camin camout介绍的比较精简,无法看到更多的东西,也许这也正是PLCOPEN的目的,它只定义了一个框架,具体每个功能细节实现要由厂商自己实现。对于电子凸轮的实现,VDI 2143应该就是一个通用的方法。虽然没有看到VDI2143,但猜测其内容也是对电子凸轮实现做了概括的介绍。具体的细节各厂商可能还是会有差别。
对与VDI 2143,目前正在联系中,相信不久我们就不用猜测,可以一睹其内容。

对于电子凸轮离线编辑软件,目前还有个疑问。不知道他是用的怎样的函数关系,猜测可能使用的是5次均匀样条曲线。不知大家是有有其他看法

jy249325481

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 18回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2008年3月15日
发表于:2008-03-20 13:25:00
16楼
各位大侠,我单位的钢桶自动缝焊机梭机是受电子凸轮控制,由于直流伺服驱动器故障后,更换了新的,电子凸轮运转周比以前延长,使得桶套生产量下降(以前8只/分钟,现在3只/分钟).希望高手能分析其原因.

firstrazor

  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 753回
  • 年度积分:0
  • 历史总积分:909
  • 注册:2007年7月28日
发表于:2008-03-20 14:20:00
17楼
估计驱动器里有参数没有设成和以前一样

jy249325481

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 18回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2008年3月15日
发表于:2008-03-20 18:48:00
18楼
我们的伺服驱动器是美国ALLEN BRADLEY(艾伦.布雷德利)公司,是1988年的引进的,不具体应设置那些参数,大侠能否给些数据看看,以做参考

firstrazor

  • 精华:1帖
  • 求助:0帖
  • 帖子:15帖 | 753回
  • 年度积分:0
  • 历史总积分:909
  • 注册:2007年7月28日
发表于:2008-03-20 19:54:00
19楼
1988年我大学都还没读完,哪可能知道那时的东西?

关键是,是否有什么原设备的文件描述了参数设置。没有原设备生产商提供的资料,我估计就是ALLEN BRADLEY也帮不了你。

wxzbj

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 362回
  • 年度积分:0
  • 历史总积分:549
  • 注册:2007年12月04日
发表于:2008-03-20 20:36:00
20楼
 这个论题很不错

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页