|
本帖最後由 acen2008 於 2010-6-30 22:33 編輯
HI
RoBoIO Library中有可以控制速度的函數唷, 依照馬達有無feedback
功能可以使用下列方法 :
1. 沒有feedback的馬達
在初始化(rcservo_Initialize)後, 可以使用rcservo_EnterPlayMode_NOFB()把
沒有feedback的馬達先歸位, 而歸位的位置就是要傳入這個函數的引數(它是一個陣列)
, 然後再使用rcservo_MoveTo()這個函數, rcservo_MoveTo()的第一個引數是馬達下
一個位置的陣列, 第二個引數就是時間, 時間以ms為單位, 設定1000L的話, 就是馬達從現
在的位置轉到下個位置需要花1秒, 2000L的話就是2秒, 3000L的話就是3秒, 建議可以把
函數放在for loop 中, 依序傳入角度陣列與時間.....
(註 : rcservo_MoveTo(array, time), array 是記錄馬達角度的陣列, time是時間)
2. 有feedback的馬達(例如 : kondo, hitec)
初始化(rcservo_Initialize)後, 呼叫rcservo_EnterCaptureMode(), 可以使用
rcservo_ReadPositions()來取得目前馬達的位置, 並且將位置放在陣列中, 擷取
數筆後, 呼叫rcservo_EnterPlayMode(), 就可以再使用rcservo_MoveTo()讓馬
達依照剛剛所擷取回來的角度轉了(依序把角度陣列與時間傳入)
試試看吧 |
|