【问题标题】:How to control a servo motor using servo library in C++ on Arduino?如何在 Arduino 上使用 C++ 中的伺服库控制伺服电机?
【发布时间】:2013-03-24 18:27:48
【问题描述】:

我尝试使用Arduino Pro 套件旋转全旋转伺服电机。我正在使用伺服库,尤其是伺服功能。我使用Write()来控制伺服电机的速度和方向。

根据Arduino C++舵机库,write函数的参数是标准舵机的角度,全转舵机的速度。现在我想知道这个参数的单位,因为当我把这个参数设置为45时,速度比我设置为90的时候高!我该如何解决这个问题?

【问题讨论】:

标签: c++ arduino


【解决方案1】:

在连续旋转舵机上,这将设置舵机的速度 (0 为单向全速,180 为单向全速 其他,接近 90 的值表示没有移动)。

来源:http://arduino.cc/en/Reference/ServoWrite

【讨论】:

  • @IbrahimAbdulhaq 因为它是一个旋转,我们正在寻找它应该是en.wikipedia.org/wiki/Angular_velocity中描述的“角速度”的速度
  • @IbrahimAbdulhaq 如果这回答了您的问题,请将其标记为已回答。谢谢。
  • @IbrahimAbdulhaq MarkusDeibel 不正确。 由于连续旋转伺服系统没有反馈机制,它们无法控制速度。连续旋转伺服系统是带有电阻而不是电位器的真正伺服系统,因此认为伺服系统处于 90 度是被欺骗的。当你做 91 时,它会比设置为 180 慢,因为它知道它更接近所以它不会那么快。没有速度,度数是电机所能提供的速度量的比值。 (有关伺服如何工作的信息,请参阅此:servocity.com/html/how_do_servos_work_.html)。
  • 如果上面的帖子没有意义,请提供更多信息: pololu.com/blog/24/… ** 附加说明:** 伺服设置为 45/90 度(Arduino根据方向告诉它 45 或 135)它不一定会达到 90/90 度速度的 1/2(Arduino 告诉伺服 0 或 180)。
【解决方案2】:

我有一些从类库中控制伺服电机的代码示例,希望你能从中得到一些帮助。

转到:http://everysolutionshere.blogspot.in/2013/05/step-to-control-servo-motors-from-c.html

您可以使用轴卡轻松控制伺服。它为脉冲和方向控制提供了更好的精度。

【讨论】:

  • 您好,欢迎您!我不确定您发布的内容是否直接回答了提出的问题。如果您链接上的某些示例代码回答了问题,请提取相关位并将它们放入您的答案中。所以往往会贬低仅链接的答案。
猜你喜欢
  • 2019-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2016-09-12
相关资源
最近更新 更多