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