魯放 張宸赫 鄭晗
摘要 本系統采用STM32F103VET6為主控芯片,K60為輔助芯片,通過OV7725攝像頭傳感器提供信息、采用PID控制算法調整舵機的工作狀態、在液晶和按鍵的作用下顯示并切換工作模式,形成一個閉環控制系統。該控制系統通過控制驅動各舵機,使小球在一平板上做預定運動,同時保持小球在該系統中的穩定性。
【關鍵詞】平板 STM32單片機 OV7725 攝像頭舵機LCD
1 設計任務
在邊長為65cm光滑的正方形平板上均勻分布著9個外徑3cm的圓形區域,其編號分別為1-9號。設計一個控制系統,通過控制平板的傾斜,使直徑不大于2.5cm的小球能夠按照指定的要求在平板上完成各種動作,并從動作開始計時并顯示,單位為秒。
2 系統分析
對小球進行受力分析,理想狀態下,小球的加速度與板的傾角程正比例關系,其關系式為a=gsmx,x為板子傾斜角度,速度為a的積分,位移為速度的積分。如果取速度為直接控制量的話,那角度與速度的對應關系是直接的線性關系。假設執行機構與板子傾斜度的傳遞函數值為1,那么P控制可以完美控制小球的速度,進而控制小球的位移。但實際系統中,小球的加速度與板子傾
斜角度并非完全是線性關系,此時要加D及時修正,并且小球與平板存在靜摩擦,有時給一定傾斜角度并不會使其運動,所以要加I進行補償,但是I的滯后非常嚴重,不適用于動態系統,故應采用積分分離的PID控制方法來控制小球的速度。如果要得到良好的位移相應曲線,能控制速度從根本上解決超調失調的現象。故本題可采用串級PID的方式,將當前位移差期望的速度送到內環PID去修正補償,以追隨當前期望速度,具體算法在后續文字中有部分說明。可近似為a=gx。
3 模塊選型
控制模塊:控制模塊是整個控制系統的核心,承載著執行控制算法,實現控制功能的作用。因此,要保證系統整體的控制質量,控制器的選擇非常重要!在控制器的選擇方案中,選擇技術成熟,應用廣泛的STM32作為主控芯片。
檢測模塊:檢測模塊是系統的“眼睛”,從根本上決定了整個系統的控制精度,在進行選型時統籌考慮檢測精度與檢測速度,再進行眾多比較后選擇兼具速度與精度的OV7725搭配K60最小系統板初步處理原始觀測數據組成檢測模塊。
動力裝置:動力裝置作為本控制系統中的執行機構,是控制系統中的重要組成部分。它將控制器送來的控制信號轉換成執行動作,從而操縱作用于被控對象的能量,將被控變量維持在所要求的數值上或一定的范圍內。考慮到反應時間與可控性,選擇了兩個力矩為20千克的舵機組成動力裝置。
外圍模塊:本系統中的外圍模塊為輔助調節的模塊,主要為按鍵模塊與LCD顯示模塊,在多個任務切換中,可以使用按鍵模塊加以控制,同時LCD顯示模塊予以提示與實時監控,方便控制人員操作,提供一個良好的人機交互環境。
電源模塊:在該控制系統中,要完成控制任務必須保證提供充足的動力。在考慮到對舵機的供電以及對電源穩定性的要求后,舍棄了長時間使用后電壓會產生浮動的鋰電池,而使用開關電源搭配降壓模塊為整個系統提供更加穩定的動力支持。
4 方案原理設計
平板上的小球會根據平板的傾角方向和大小進行可預計的運動,預設坐標系之后,使用攝像頭得到平板上規定區域的圖像,進行分析后可以將得到的圖像二值化進而方便辨別出小球位置,并且高頻率的獲取圖像,根據兩次小球位置的差值和獲取位置的間隔時間可以得到小球運動的方向和速度,通過對小球的運動方向和速度進行程序上的計算轉化為舵機的旋轉角度,通過該旋轉角度影響平板的傾角,進而影響小球的運動,同時攝像頭獲得調整后的小球位置,運動方向和速度反饋到主控芯片,以此形成一個閉環控制,達到控制小球做規定運動的目的。
5 程序細節與分析
在小球的數據獲取中,將每一次獲取到的圖像信息進行了二值化處理,將顏色與平板顏色相差較大的小球的位置信息更加明顯的突出出來以便于進一步分析。獲取到圖像的二值化數據后對像素點開始遍歷查詢,查詢到疑似小球的像素點時進行大小的判斷過濾,將噪點過濾掉,以得到正確的小球坐標。
在主控芯片中,使用串級PID控制程序來共同對小球的數據進行計算,將獲取到的小球位置坐標與計算出的速度作為輸入量分別將其輸入到PID程序中進行運算,得到期望的角度并控制舵機達到目標。該算法使用速度作為直接控制量,其變化率理想狀態下與木板傾斜角度成正比例關系,并且對過程控制效果極好,經測試,小球放在絕大多數位置,超調量都小到可以忽略,所以該算法再合適不過
在算法程序之外,同時定義起舵機角度與平板傾角的對應關系和平板上各個預留區域的范圍坐標,將這些定義為標準量在程序中進行調用,將程序處理的準確性得到提升。
程序是控制系統的“大腦”,必須保證其及時性和準確性,在經過多次調試后我們每20ms得到一次小球的位置坐標和速度,根據所要實現的控制目標不同,主控程序每運行一次的時間在50ms~60ms之間,完全達到完成設計任務的需求。
6 測試結果與誤差分析
預設在每個預設區域的停留時間為2.5s,實驗結果則顯示略大于該數值,但也為正常現象。從區域1到區域4的平均用時7.29s,從區域4到區域5的平均用時為6.204s,位移量應大致相等,但所用時間卻有明顯差距,經過分析發現原因在與在靠近平板中間的區域更容易控制,對比邊緣位置較少的抖動,因而更容易控制,所用時間也較短。
7 測試總結
在多次對各個設計任務的測試中,該控制系統能夠在規定時間內很好的完成各項任務,并有較好的復現能力,并且發現反應速度并不是越快越好,例如我們發現攝像頭快速采集數據時會產生很多噪聲,甚至在小球運動至視野邊緣時會產生當前位置與原點位置的跳變,適當的降低采集頻率則大幅度緩解了這種現象。一個跟當前系統匹配的檢測模塊采集速度和動力裝置執行速度會避免掉很多莫名出現的問題。
參考文獻
[1]王賡.基于視覺系統的板球控制裝置的設計與開發[D].清華大學,2004.
[2]呂芳,板球系統的經典控制仿真研究[A].中國自動化學會系統仿真專業委員會、中國系統仿真學會仿真技術應用專業委員會.2008系統仿真技術及其應用學術會議論文集[C].中國自動化學會系統仿真專業委員會、中國系統仿真學會仿真技術應用專業委員會,2008:2.