min0326
级别: 探索解密
精华主题: 0
发帖数量: 62 个
工控威望: 193 点
下载积分: 1332 分
在线时间: 71(小时)
注册时间: 2013-10-06
最后登录: 2024-06-03
查看min0326的 主题 / 回贴
楼主  发表于: 2017-05-13 09:39
 请教各位 
如驱动器细分为4000,璇转角度360/7=51.428, 算出来的脉冲数是51.428/360*4000=571.42,这个在程序里要怎么处理呢?
还是我的计算方法有误,请大神指点下,谢谢!
   
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 238 个
工控威望: 408 点
下载积分: 989 分
在线时间: 168(小时)
注册时间: 2008-08-23
最后登录: 2025-01-23
查看sjbandmm的 主题 / 回贴
1楼  发表于: 2017-05-13 11:06
分数没关系,这种情况是不可避免的;如果是整数倍就那没什么事,每次固定增量就可以,如果不是,就要每次运行前计算一次,可以大幅减少误差,比如每次要走571.42个脉冲,那么第一走571个脉冲,第二次走571.42*2-当前值(571),第三次走571.42*3-当前值(1042),第四次走571.42*4-当前值,这样误差就很小,要注意的就是,长时间走,会超出32位,需要在32位快溢出时清一次0.当然也可以在走到7圈时清零,这个时候正好是整数脉冲,不会有误差。
楼主留言:
真诚感谢!