【问题标题】:Servo movement from side to side with PWM Arduino uploaded code使用 PWM Arduino 上传代码左右伺服运动
【发布时间】:2019-01-07 07:33:40
【问题描述】:

我正在使用带有 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);  

这种方式电机不完成运动,甚至单向运动不返回。在上传的代码中进行此类移动的正确方法应该是什么。

任何建议、指南或示例都会非常有帮助

【问题讨论】:

    标签: arduino-uno pwm servo


    【解决方案1】:

    你不能。

    普通伺服系统不会提供任何有关其位置的反馈。仅使用软件是不可能的,除非您添加足够长的延迟以确保即使在负载下也能完成移动。
    您要么需要不同的伺服器,要么需要额外的传感器。

    有关 Arduino 堆栈交换的更多信息:How long does it take for a servo to change rotation?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多