歐陽晨星
摘要:本方案采用了K60單片機為核心的滾球控制系統。該系統主要由K60單片機模塊、穩壓模塊,攝像頭模塊,圖像處理模塊構成。有K60來顯示該系統的功能。通過UART和電腦通信,通過攝像頭顏色識別技術來收集信號,以期獲得準確的轉向,利用PID算法調整舵機位置并用舵機來改變小球運動方向。在直徑不大于2.5cm的小球能夠按照指定的要求在平板上完成各種指定的動作這個條件下。在區域2開始后,先利用Openmv攝像頭識別技術來獲取舵機轉動方向是本方案的重要步驟。本方案利用了身邊的材料,采用的木板較輕便靈活,采用攝像頭使數據更準確,采用PID算法使小球能夠按照指定路線移動。
關鍵詞:K60;Openmv攝像頭;UART通信;PID算法
一、系統方案
本系統主要由攝像頭模塊、驅動電機模塊、控制系統模塊、電源模塊組成,下面分別論證這幾個模塊的選擇。
(一)攝像頭的論證與選擇
方案一:總鉆風MV9032攝像頭模塊。利用MV9032攝像頭模塊的攝像頭全局快門和高動態性能的特點,與MK60DN512VLQ10芯片配合使用,非常符合本設計,但由于光線影響較大,適應場地能力弱。方案二:OV7670攝像頭模塊。OV7670攝像頭模塊的攝像頭高靈敏度,并且拍攝的圖像清晰,不過視角太小,而平板的尺寸是65*65,要把整個平板都拍攝到攝像機里去,攝像頭的位置要放得很高,搭建和固定不方便。方案三:OPENMV攝像頭模塊。OPENMV攝像頭模塊能進行圖像處理和顏色識別,功能很強大,很適合這個系統。綜合以上三種方案,選擇方案三。
(二)驅動電機的論證與選擇
方案一:步進電機。其可以通過控制脈沖個數來控制角位移量,同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業知識,不好進行操控。方案二:直線行程電機。直線行程電機的耗電量比較大,發熱量大,而本設計所使用的只是7.2V的鎳鎘電池,不適合本設計。方案三:舵機。舵機角度可以保持在驅動當中,穩定性好。綜合以上三種方案,選擇方案三。
(三)控制系統的論證與選擇
方案一:STC51控制系統。51單片機串行口比較少,功能比較少,響應速度和反應時間比較慢。方案二:MK60DN512VLQ10控制系統。MK60DN512VLQ10功能比較齊全,波特率比較大,能很好的進行圖像處理和控制電機的驅動。綜合考慮采用MK60DN512VLQ10控制系統。
二、系統理論分析與計算
(一)小球位置的分析
(1)攝像頭采集。通過MK60DN512VLQ10最小系統驅動Openmv攝像頭模塊,開始進行數據采集,并傳輸到數據存儲器中。
(2)最大類間方差法。從數據存儲器中讀取圖像信息,通過最大類間方差法進行圖像處理。
(3)確定小球位置。通過最大類間方差法處理可以將小球的位置確定下來,進行小球指定軌跡的滾動。
(二)舵機的計算
(1)舵機的選擇。該舵機的型號為SD-5,正常供電電壓應該在5V到6.5V之間。電壓過高會導致舵機燒毀,電壓過低無法正常啟動舵機以及打腳不靈敏,所以需要在硬件方面給它進行濾波。
(2)舵機的轉向。設計時就要綜合考慮轉向機構響應速度與舵機力矩之間的關系,通過優化得到一個最佳的轉向效果。
(3)調節小球位置。通過PID算法調節舵機的轉速和角度,使小球按照指定的軌跡運動。
三、電路與程序設計
(一)電路的設計
攝像頭模塊采集→控制系統→舵機。
(二)程序的設計
(1)程序功能描述與設計思路。①程序功能描述。高效的程序與算法,合適的參數是滾球控制系統平穩自動滾動的基礎。圖像采集及后續處理,速度與打角的控制是整個軟件系統的兩大內容。我們設計的滾球控制系統采用openmv攝像頭模塊進行小球識別。圖像采集及后續處理是軟件算法的一大內容。在舵機的轉向和速度控制方面,我們使用了經典PID控制算法,再配合使用理論計算和實際參數補償的辦法,使小球能夠穩定地完成任務。②程序設計思路。通過openmv攝像頭模塊掃描,對所采集到的圖像用最大類間方差法進行處理將所采集到的坐標傳回主控芯片MK60DN512VLQ10,再由PID算法對舵機進行控制,從而實現滾球控制。
(2)程序流程圖。攝像頭(采集數據)→K60處理數據→舵機(改變小球軌跡)。
四、測試方案與測試結果
(一)測試方案
(1)硬件測試。搭建65cm*65cm的小球運動平板、底座和支架,并做好攝像頭固定支架。最后找準中心點,放置小球,使小球處于靜止狀態。
(2)硬件軟件聯調。搭建硬件設備并焊接電路,上電測試,各模塊通電正常。下載程序,測試各模塊正常工作。進行程序編寫,軟件和硬件結合,完成了部分任務要求。
(二)測試條件與儀器
測試條件:多次檢查,硬件電路與系統原理圖完全相同,并且檢查無誤,硬件電路無虛焊。
測試儀器:高精度數字示波器,高精度數字萬用表。
(三)測試結果及分析
(1)測試結果(數據)。經測試,電路的焊接與系統原理圖完全相同,硬件的搭建有誤差,不精準,但能夠利用軟件矯正,軟硬件相互結合,相互協調。
(2)測試分析與結論。在將硬件組裝完成之前將舵機、攝像頭等硬件用萬用表測試一遍,確保硬件完好。在軟件調試之前,再對硬件檢測一遍,連接有無錯誤,再用OpenMV IDE對各個模塊進行進行調試。如果檢測到硬件出現問題,查找下是哪個硬件部分的問題,常見的如杜邦線沒插好,虛焊電路等。
然后對攝像頭進行調試,將小球放在硬質木板上看攝像頭能否檢測識別到,調整間距和幅度,找到最合適的位置。將攝像頭模塊固定。
測試儀器:高精度的數字毫伏表,模擬示波器,數字示波器,數字萬用表,指針式萬用表。最后進行總體調試。
五、結論與心得
滾球控制系統,在硬件的搭建上,合理利用身邊有用的資源,做到大膽創新,精益求精。在電路設計上,以理論為基礎,綜合多種電路的優點,巧妙設計自己的電路。在軟件的調試上,隊友們思想活躍,為系統出謀劃策,理性分析問題,結合原理抓住問題的根源所在,用心解決每一個問題。最后經歷了一次次失敗的測試不斷地進行改進與優化,完成作品。
參考文獻:
[1]于海生.計算機控制技術[M].北京:機械工業出版社,2007.
[2]盧繼傳.對于做強中小企業的思考[J].管理科學文摘,2003,(9).