判斷 SG90 伺服馬達是定位型還是連續旋轉型

 判斷 SG90 伺服馬達(舵機)是 180度(定位型) 還是 360度(連續旋轉型),可以透過以下幾種方法辨識:

1. 手動旋轉測試(最直接)
  • 180度馬達: 用手輕輕撥動舵機搖臂,轉到一定角度(約 180 度)時會感覺到物理極限擋塊,無法繼續旋轉。
  • 360度馬達: 可以無障礙地旋轉圈數,沒有物理死角或擋點。 
2. 程式控制行為(最準確)
若已接上 Arduino 或控制板,觀察其對指令的反應:
  • 180度馬達(位置控制): 給予指令 servo.write(90),它會轉到固定位置後停止並維持在該角度。
  • 360度馬達(速度/方向控制): 給予指令 servo.write(90) 通常代表停止(或極慢旋轉);指令為 0 時會以最快速度順時針旋轉,指令為 180 時則以最快速度逆時針旋轉。 

#include <Servo.h>

Servo myservo;  // 建立伺服馬達物件

void setup() {
  myservo.attach(9);  // 將伺服馬達訊號線接在 Pin 9
  Serial.begin(9600);
  Serial.println("正在發送 90 度指令...");
}

void loop() {
  // 測試 1:發送 90 度指令(理論上的中點)
  myservo.write(90); 
  delay(2000);
  
  // 測試 2:發送 0 度指令
  Serial.println("正在發送 0 度指令...");
  myservo.write(0);
  delay(2000);

  // 測試 3:發送 180 度指令
  Serial.println("正在發送 180 度指令...");
  myservo.write(180);
  delay(2000);
}

留言