发布于 2014-11-13 08:29:45
1楼
用200做这样的事情比较痛苦。如果只能这样做,那么我会这样做。
手工编程。每3到10毫秒发一次脉冲,脉冲的数量是这段时间内需要的脉冲数(脉冲数一定要对)。脉冲的周期是这段时间内的脉冲数除以时间,但是一定要保证这段时间内一定要发完需要的脉冲(周期可以不太相等)。因为下一个时间段将要继续发脉冲,此时前一段脉冲就不可以没有完成。这点很重要。
每个时间段重复做上面的事情。直到发生触发信号,把上面的脉冲数改写成需要的定长脉冲数,并且不再执行定时中断。这样就会定位完之后停止发脉冲。
用库程序是不可能做到这个效果的。切换模式的时候一定会有一个扫描周期时间的脉冲是断裂的。对速度的连续性毫无保障。这种断裂,在设备上的反应是好像轴承里面有个东西,走到那个位置就卡一下。别小看这个扫描周期的长度只有几毫秒,这个卡摸得到听得到就是看不到。伺服刚性小的话可以弥补这个缺失,但是要牺牲跟踪性能。