我正在使用带有Adafruit伺服护罩的Arduino-Uno微控制器。要以所需的角度移动非常快速的0.07秒/ 60°微型数字伺服电机,例如在C#应用程序中:
myport.WriteLine(val.ToString());
我使用PWM library:
pwm.setPWM(1, 0, Serial.parseInt());
将电动机成功地移动到指定角度的方法,但是我试图找出如何将伺服电动机从一个角度移动到另一个角度,并从上传的代码中完全到达终点。
因此,如果范围的最大值和最小值为:
#define SERVOMIN 160
#define SERVOMAX 500
伺服电机的转速从210到450,这是我的尝试:
pwm.setPWM(1, 0, 210);
delay(12);
pwm.setPWM(1, 0, 450);
delay(12);
pwm.setPWM(1, 0, 210);
这样,电动机将无法完成运动,甚至无法单向运动而无法返回。在上载的代码中进行这种移动的正确方法应该是什么。
任何建议,指南或示例都会很有帮助
答案 0 :(得分:3)
你不能。
普通伺服器不提供有关其位置的任何反馈。单独使用软件是不可能的,除非您添加足够长的延迟以确保即使在负载下也能完成移动。
您需要其他伺服或其他传感器。
有关Arduino Stack Exchange的更多信息:How long does it take for a servo to change rotation?