我有一个连接到Arduino的270度伺服电机(LD-3015MG)。我遇到的问题是我设置的角度与它实际到达的实际角度不匹配。
这是Arduino代码:
#include <Servo.h>
Servo myservo; // create servo object to control a servo
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo.write(180);
}
void loop() {
}
首先,我将其设置为0度,然后将其设置为180度。但是我可以清楚地看到,伺服系统一直旋转到大约270。
是什么原因造成的? Arduino库是否为这种类型的伺服器发送了错误的PWM信号?伺服功率不足吗?有什么方法可以校准伺服电机?
答案 0 :(得分:2)
库的write
函数仅处理0到180之间的输入,这意味着在270度伺服上,180度代表最大值。我建议切换使用writeMicroseconds
函数,因为它可以更清楚地知道您使用的是哪种类型的值。
write(120)
应该产生接近180度的角度。