minrod_2012 发表于 2015-8-2 13:49:28

想问些运动控制器的初级问题如插补周期

最近是做了一块mach3的USB控制卡,当时设计的是参考国外ncPod做的,再加上国内的几家做这个卡的,做好后,好好读了一下《运动控制》这本书,插补算法分几种,逐点比较法说是能做到一个脉冲当量,是不是说插补算法里算是最好的了?而一般的伺服控制器有总线的和脉冲的,那要是总线的,不可能有其它的算法,只能是时间分割法,是这样吗?像USB的mach3卡一般也就是时间分割法做的,因为用了mach3的运动规划buffer.有这方面经验的童鞋,多请指教一下,谢谢!

minrod_2012 发表于 2015-8-2 13:57:04

插补周期一般就是在时间分割法里才有的概念,扩展DDA有没有插补周期的说法呢?

yngufeng 发表于 2015-8-5 16:00:15

商业化的运动控制器(脉冲输出模式)基本都是时间分割粗插补+扩展DDA或其他精插补

minrod_2012 发表于 2015-8-11 21:29:49

一般说来,只要是软件做的插补算法,是不是都有插补周期?由硬件完成的插补可以下运动坐标指令,由硬件高速控制,完成脉冲的发送过程,那这样的话,真正达到硬插补的话,在加速过程中每个脉冲的周期时间都不会相同才算得上,应为没有时间片去算加速度,那么就用脉冲宽度来控制加速度了,目前还没有机会去测试这个,后面拿到硬插补算法的芯片对比测测就该清楚了,要是硬插补芯片没做到这一点,那也就是挂羊头卖狗肉的事了,我最近加强我做的nMotion控制卡功能,想把插补周期做到更短,但想缩短插补周期好像很难,一方面是数据量会增加,另一方面是运算速度跟不上,在处理小时间片上的脉冲输出任务切换时也要耗时,会使切换瞬间的脉冲宽度加长,脉冲也就变得不均匀了,软件要是还不行,也只能转向FPGA了.

hmd420304805 发表于 2015-8-14 17:20:26

dda 逐点比较似乎没有插补周期的说法,如果偏要说有,那就是每个脉冲都算一个周期,这样改变就是改变脉冲频率了。如果模拟量插补,那么插补周期就是pid的周期。不知道对不对。

roy189 发表于 2015-9-3 19:14:39

童鞋:您好,现在一般的数控系统基本都采用采样插补(时间分割法)的。数控的大致流程如下:Step1:前瞻模块一方面预处理轨迹数据,根据拐角以及每条轨迹的位移数据等约束计算得到每条线段的末速度,另一方面,如果需要平滑轨迹的,在前瞻环节在一定弓高误差约束下,需要重新规划轨迹(所谓过渡算法) ;STEP2:插补环节,在插补环节,需要做下每条轨迹的速度规划,如S,T,E型等规划,根据具体的轨迹类型插补圆形,直线,NURBS等;STEP3:位置控制环节,前期插补中位置数据,分解到每个轴上,一般可以支持三轴联动了,如果需要五轴联动的话,在前瞻环节,还需要将轨迹的法向量进行必要的控制;STEP4:如果你要走总线,轨迹位置直接通过总线传递给伺服,伺服负责位置,速度闭环。

roy189 发表于 2015-9-3 19:16:01

我在论坛上曾经发起一个开源项目:想用5年为论坛开发基于ARM+DSP+FPGA的开源数控系统,请继续关注!

roy189 发表于 2015-9-3 19:17:47

建议你直接用时间采样方法,MACH3里面的BUFFER我估计是做前瞻的吧,你说的运动规划,是轨迹规划,还是速度规划呢?

roy189 发表于 2015-9-3 19:18:21

yngufeng 发表于 2015-8-5 16:00
商业化的运动控制器(脉冲输出模式)基本都是时间分割粗插补+扩展DDA或其他精插补 ...

商业化的数控系统一般都是采样插补的。。。

roy189 发表于 2015-9-3 19:19:49

hmd420304805 发表于 2015-8-14 17:20
dda 逐点比较似乎没有插补周期的说法,如果偏要说有,那就是每个脉冲都算一个周期,这样改变就是改变脉冲频 ...

发脉冲的周期跟插补周期没有必然的联系的。。。插补周期是应该大于等于位置环周期。

minrod_2012 发表于 2015-9-19 20:32:03

楼上的史弟果然是高手,学习!

hzpyl 发表于 2015-10-8 20:36:32

roy189 发表于 2015-9-3 19:14
童鞋:您好,现在一般的数控系统基本都采用采样插补(时间分割法)的。数控的大致流程如下:Step1:前瞻模块 ...

谢谢!!!!!

ffmickey 发表于 2015-12-26 17:36:50

采样查补
页: [1]
查看完整版本: 想问些运动控制器的初级问题如插补周期