我正在使用带有处理软件的计算机发送 Arduino(通过 USB 串行连接)数据以设置一些伺服系统的角度。现在一切都很好,但是有很多震动。我使用鼠标移动来控制每个伺服旋转多少。理论上它应该和屏幕上的鼠标一样流畅,但实际上存在一些抖动。无论如何要减少这种抖动?
问问题
2867 次
2 回答
4
这其中的原因很多。
不是最不重要的,如果不是第一个,就是力量不足。在这种情况下,伺服系统通常会在固定在所需位置之前发出咆哮和振荡。如果您的伺服系统已经在驱动一个机构,您可能还需要确保它们是否提供足够的扭矩。
另一个因素 - 您的输入速度可能超过伺服的最大转速,查看规格并计算是否是这种情况。
另一个 - 串行连接不是那么快,最轻微的时间偏差可能会导致不均匀的运动。您可能希望使用记录伺服命令时间和坐标的代码来增强您的 Arduino 固件,然后根据收集的数据绘制图表 - 您将非常清楚地看到是否是这种情况。
解决这个问题的一种可能方法是实现基于 Arduino 定时器中断的伺服处理程序,只需给它所需的结束角度和到达时间,然后让它计算出来——这将使串行时序脱离图片。
而且,最后,您的伺服系统可能不是一流的质量 - 如果内部摩擦过大,无论输入多么平稳,它们都不会平稳移动。
于 2012-06-17T20:44:01.793 回答
0
您可能正在尝试将角度更改为快速,您可以通过每隔几毫秒更新一次角度来解决它,而不是立即更改角度。
于 2012-06-18T11:05:16.923 回答