2013年12月29日 星期日

[servo]伺服馬達S03T

Key

  • 透過訊號線傳送PWM脈波來控制軸柄的停止位置旋轉角度,這個訊號脈波必須每秒重複50次(也就是50Hz),而脈衝持續時間長短便代表了馬達該將軸柄轉到什麼位置,範圍從1.0ms到2.0ms(millisecond,毫秒,千分之一秒),若想置中則是1.5ms;也可將1.0ms當做角度0度,那麼1.5ms會是90度,2.0ms則是轉到底180度。注意,也有可能反過來。
  • 不過每個廠牌型號的伺服馬達可允許旋轉的角度各不相同,也就是說可接受的訊號脈衝範圍也不相同,必須查閱產品資料規格書,若超出範圍可能會損害伺服馬達。
  • 死頻帶寬度(dead band width):10µs。脈衝變化調整之間若小於10µs,太快,訊號不穩,馬達不會有動作。


引用馬達標頭檔

  • #include <Servo.h>

宣告建立馬達物件

  • Servo myServo;

設定由哪個digitalPin(PWM)來控制馬達

  • myServo.attach(9);

設定馬達角度

  • myServo.write(pos);   pos:0~179度

Servo預設的脈衝寬度範圍是544到2400µs,可依規格書修正至500~2400us

  • myservo.attach(9, 500, 2400); 

直接以脈衝寬度控制,較精準控制

  • myservo.writeMicroseconds(i); 
  • 要注意的是,必須查詢伺服馬達的規格表,查知正確的脈衝寬度範圍,使用writeMicroseconds時也要小心,不可傳入超出範圍的值,否則會損壞伺服馬達。


Reference









沒有留言:

張貼留言