2017全國大學生電子設計大賽B題 | 板球控制系統(三)舵機控制相關

轉載請註明出處

2019全國電賽交流羣(內有板球系統基礎題代碼):597962412

  今天我們來講一講舵機的控制。電賽在給出賽題說明與採購清單的一剎那,我就想好了賽題最可能使用的兩種輸出元器件。一種是滾珠絲槓/皮帶滑臺,另一種是舵機。前一種是嚴格意義上的行程爲直線的電機,後一種是專門爲猜題中最火熱的板球系統而準備的。對於板球系統來說,舵機是短時間內能最快完成電賽任務的執行器,具有控制方法和機械結構簡單的優點。我在2017國賽上看見過用推杆電機的,也有用電機卷繩子吊着板子的,甚至也有使用步進電機加上滾珠絲槓的,但是很遺憾,這些隊伍很少能有爭取到國一的隊伍。推杆電機控制速度緩慢,繩吊式的板球系統具有相當大的不穩定性,繩子彈性大一點都可以打乒乓去了。步進電機倒是控制起來很精確,但是機械結構的安裝和設計極其複雜,供電也很麻煩。

舵機需要考慮的問題很多,但是並不複雜,都是一些經驗之談。

當你確定使用舵機以後,腦子裏應該有幾個問題需要考慮:

1.舵機中值的確定
2.舵機pid輸出值的改變頻率(舵機控制頻率)
3.舵機pwm的頻率和細分度(注意第三問題的頻率和第二個的區別)
4.舵機的信號屏蔽處理
5.舵機的安裝以及輸出機械結構該如何設計


  首先來看第一個問題。舵機中值,其來自於飛思卡爾智能車比賽的舵機控制,原意指智能車轉向機構舵機在絕對中位時候舵機的pwm輸出值。什麼是絕對中位呢?就是車子轉向機構完全向前,能夠直線行走時候舵機的位置。在我們的板球系統中,就是通過智能手機陀螺儀水平計/機械氣泡水平計測的保持板面絕對水平時候舵機控制的pwm值。每一個舵機由於安裝機械位置以及輸出頭安裝角度問題,舵機中值都是不一樣的,需要我們一個個去整定測量。舵機中值測好了以後,我們纔可以爲後續算法提供便利。

  第二個問題。舵機的pid 輸出頻率問題。舵機是一種執行器件,也需要相關的反應時間,如果你pid每1ms都給舵機一個命令,完全不等待,那麼舵機就會喘振,失力,達不到精確的控制效果。因爲此時舵機並不能在1ms以內光速移動到指定位置。根據飛思卡爾智能車的控制經驗,我們舵機輸出的週期應該在20ms左右最爲合適。此時舵機既有良好的響應速度,又有充足的時間和扭力來執行位置任務。

  第三個問題。以mg996r舵機爲例,其最佳pwm控制週期在50hz。stm32可以把pwm波細分10000份,其最終落實到舵機有效輸出區間能有1000左右,完全夠用。不明白pwm細分度的建議詳細查看正點家的pwm程序。不明白舵機控制原理的也可以詳細查一查百度,裏面有大把的文章教你舵機怎麼驅動。

  第四個問題。這個問題純屬經驗之談。衆所周知,在單片機進行調試debug模式或者是下載程序的時候,會在管腳產生隨機電平或者是產生懸空狀態,這時候舵機很有可能會抽風,我強烈建議爲了各位板球系統安全找想,在焊接舵機信號線的時候儘量加一個開關,在不使用或者調試的時候通過開關控制舵機起停,可以達到緊急時刻停機的效果,保護板球機械結構。

  第五個問題。舵機會控制了,馬上就是如何安裝的問題。如果你僅僅用熱熔膠,木頭塊,來固定安裝你的舵機,那麼再高明的算法也拯救不了你。如果你仔細設計了舵機的輸入輸出結構,完善了摩擦和潤滑以及機械配合,完全去除了縫隙,保證每一份力的傳遞到位,那麼得很簡單的pid就可以拿到全國一等獎。在我看來,機械結構是和pid同等重要的。兩者相輔相成,缺一不可。關於機械結構部分會是一篇大文章,會有很多細節到位,這些我們下一期在講解。文章會不定期更新,謝謝大家的閱讀!

關於電賽qq羣,我建立了一個可以讓大家交流問題互相學習的環境,並且在後續博客完結以後會公佈板球系統部分源代碼以供大家學習,參考。有興趣的同學可以加羣交流。qq羣:597962412




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章