角度脉冲数=细分数*(设定角度/360)
=1600*(5/360)=22.22222222
转换成整数=22 重复运动后角度就错了怎么解决
角度脉冲数=细分数*(设定角度/360)
=1600*(5/360)=22.22222222
转换成整数=22 重复运动后角度就错了怎么解决
脉冲数通常是整数,而PLC计算得到的脉冲数可能是小数,这就带来了一个问题:如何准确地表示和转换这些小数脉冲数。
角度脉冲数为22.22222222,但只能使用整数22作为脉冲数,这会导致实际旋转的角度略小于设定的角度。为了解决这个问题,可以考虑以下几种方法:
四舍五入或向上取整:
你可以将小数脉冲数四舍五入到最接近的整数,或者总是向上取整。这取决于你的应用对精度的要求。向上取整会确保你至少达到设定的角度,但可能会超过一些。
使用更小的步长:
如果可能的话,你可以尝试增加细分数(即减少每个脉冲对应的角度),这样你就可以得到更精确的脉冲数。但这可能会受到硬件限制。
累积误差补偿:
如果你需要高精度控制,并且知道每次都会有一些误差,你可以尝试累积这些误差并在未来的运动中补偿它们。例如,如果每次你都少旋转了一点,那么在下一次你可以多发送一些脉冲来补偿这个误差。
使用插值或微调:
在某些情况下,你可能能够在达到目标角度后使用更小的脉冲或更慢的速度进行微调,以达到更精确的角度。
检查硬件和软件的限制:
确保你的硬件(如电机和驱动器)和软件(如PLC编程)都支持你所需要的精度。有时,硬件或软件的限制可能会阻止你实现所需的精度。
使用反馈控制:
如果可能的话,你可以使用编码器或其他传感器来测量电机的实际位置,并使用这个信息来调整你的脉冲输出,以实现更精确的控制。这通常被称为闭环控制或反馈控制。
即使使用了上述方法中的一种或多种,也可能无法完全消除误差。
求:角度脉冲数=细分数*(设定角度/360)
=1600*(5/360)=22.22222222
转换成整数=22 重复运动后角度就错了怎么解决
解:
从机械入手,搞个齿轮(齿轮比是9的倍数)+联轴器,nice
有计算误差
步进电机换成伺服电机
感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。
对于求助者要求:
1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;
2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。
3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。
4、2024龙年加油!龙年棒棒!
用绝对定位指令去做,走完一圈就减掉360°
把360转浮点,角度输入也是浮点,然后E1600*角度/E360,记得先乘后除,全部浮点运算,
最后把浮点转整数,也就是脉冲,就误差小多了
除不尽小数点越多,出现误差概率越大
最近也搞了一个,也是角度控制。不过我的只是单次回转,运动前脉冲清零,不知道这样子会不会存在误差。。
在往返行程中增加一个检测开关,工件经过检测开关时强制写入当前位置数据。(建议将开关放置在零位,回到零位时将位置数据写入零就好了)
7楼为正解
感谢分享原创推荐
感谢分享原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐 原创推荐