2012-06-17 99 views
3

我正在使用帶有處理軟件的計算機發送Arduino(通過USB串行連接)數據來設置一些伺服角度。現在所有的工作都很好,但是有很多震動。我使用鼠標移動來控制每個伺服器旋轉的次數。理論上它應該和屏幕上的鼠標一樣平滑,但實際上有一些跳動。無論如何,以減少這種抖動?Arduino伺服平滑

+1

鼠標移動只對人眼看起來光滑,而不是對您的程序。 –

回答

4

很多原因。

即使不是第一個,也是不夠的。在這種情況下,伺服系統往往是growl,並在穩定在所需位置之前擺動。如果你的舵機已經在驅動一個機構,你也可能想要確定它們是否提供足夠的扭矩。

另一個因素 - 您的輸入速度可能會超過伺服的最大轉速,查看規格並計算是否如此。

還有一點 - 串行連接並不是那麼快,而最輕微的時序偏差可能會導致不均勻的運動。您可能需要使用代碼記錄伺服命令時序和座標來增強Arduino固件,然後根據收集的數據繪製圖表 - 您會非常清楚地看到是否屬於這種情況。

其中一種可能的解決方法是使用基於Arduino定時器中斷的伺服處理程序,並將其設置爲期望的結束角度和到達時間,並讓它計算出來 - 這將使串行時序超出圖像。最後,您的舵機可能並不是最高品質 - 如果內部摩擦過大,無論輸入多麼平滑,它們都不會平穩移動。

0

您可能試圖將角度更改爲快速,您可以通過每隔幾毫秒更新一次角度而不是立即更改角度來解決此問題。

+0

是的,但隨後的響應速度被拋出窗外。 –