servor motor car

<攝影 : greatway9999>

一、成果展示

(一)、題目需求

組裝小型自走車,可控制車子前進、後退、右轉、左轉 與 停止。



二、實作程式碼與解說

(一)、程式碼Demo

control car with servo motor

(二)、接線方式


同上圖,只要將第二顆伺服馬達接到 Pin9 (第一顆伺服馬達 Pin8的隔壁),再將VCC與GND接上即可。



(三)、解題步驟

Step1.設定 PWM腳位

如果使用 NI myRIO,先確認麵包板接在哪一個匯流排。此例接匯流排B,因此在PWM程式方塊的設定中,channel選擇 B/PWM0(Pin27)。因車子需要兩個伺服馬達,因此,另一顆馬達的channel選擇 B/PWM1(Pin29)



Step2. 設定 Duty Cycle和Frequency

依照題意,週期時間為20ms,Duty Cycle為控制伺服馬達正反轉的變數。再多控制一個馬達,所以利用Sequence的程式方塊,讓兩個馬達的資料流傳遞間隔時間為0.1秒。程式接線如下圖黃色圈選所示。

Step3.設定前進、後退、右轉、左轉 與 停止的 5 種狀態按鈕

利用 " Build Array " 程式方塊,將三種按鈕整合成一個陣列。再利用 "Search 1D Array"程式方塊去讀取按鈕的狀態。同時用 "Or Array Elements" 程式方塊將狀態條件送進去 Case 結構中,進行判斷。


另外再留意,透過控制馬達不同的狀態,讓小車呈現前進、後退、右轉、左轉 與 停止的狀態。因此,利用 "Case"這個結構,來設定條件。條件條列下。

 狀態代號 狀態 第一個伺服馬達之毫秒數 第二個伺服馬達之毫秒數
 0前進  0.52.5 
 1 停止 1.5 1.5
 2 後退 2.5 0.5
 3 左轉 0.5 0.5
 4 右轉 2.5 2.5


承上程式後,程式接線與人機介面如下圖所示。
control car with servo motor


執行後,按鈕即可控制馬達前進、後退、右轉、左轉 與 停止。




#PWM #ServoMotor #ControlCar

0 留言