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