河北農(nóng)業(yè)大學(xué)信息學(xué)院 徐 琳 齊天峰 劉五一
1.1.1 總方案的論證選擇
方案一:開環(huán)控制系統(tǒng)
由滾動(dòng)摩擦公式,結(jié)合自己制作的平板通過測試計(jì)算得出具體的方程,又牛頓第二定律等物理知識得出平板上球從一點(diǎn)到另一點(diǎn)所需要的大概的傾斜角度、滾動(dòng)時(shí)間等,再通過硬件調(diào)試調(diào)整這些參數(shù),最終實(shí)現(xiàn)實(shí)驗(yàn)任務(wù)。但其操作比較復(fù)雜,而且可靠性不強(qiáng)。
方案二:模糊控制理論
由于板球系統(tǒng)是一個(gè)典型的非線性系統(tǒng),所以可以考慮使用模糊控制理論,建立模糊數(shù)學(xué)模型,代入程序中,調(diào)整參數(shù),使之達(dá)到要求。但模糊數(shù)學(xué)理論比較復(fù)雜,數(shù)學(xué)模型難以建立。
方案三:PID算法控制:由攝像頭得到小球位置,與選定位置做對比,通過PID調(diào)節(jié),調(diào)整參數(shù),使小球到達(dá)選定的位置。它兼顧了系統(tǒng)的穩(wěn)定性、快速性和準(zhǔn)確性,是一套有效的算法。
綜合考慮由于PID原理簡單、使用方便,適應(yīng)性強(qiáng)、魯棒性強(qiáng)、抗干擾能力強(qiáng),而且易于實(shí)現(xiàn),所以我們決定使用方案三。
1.1.2 控制模塊的論證選擇
方案一:采用傳統(tǒng)的51系列單片機(jī)
STC89C52是的一種低功耗、CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash存儲器。用傳統(tǒng)51單片機(jī)作為系統(tǒng)的主控核心。方便調(diào)試,軟件編程相對容易,價(jià)格低廉,但其運(yùn)算速度慢,片內(nèi)資源少,存儲容量小,難以實(shí)現(xiàn)復(fù)雜的算法
方案二:采用STM32f103
具有專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex-M內(nèi)核,該系列為Cortex-M3內(nèi)核,最高工作頻率72MHz,內(nèi)置32K到128K的閃存,相比51系列性能大幅度提升??梢詽M足該實(shí)驗(yàn)的要求。
方案三:采用STM32f407
相比STM32f103,該型號單片機(jī)采用Cortex_M4內(nèi)核,最高工作頻率168M,主頻帶DSP,不少的集成外設(shè)被加強(qiáng),比如GPIO本身407可有較多的功能選擇,而且存儲器的Flash和
SRAM加大了很多。相比方案二更優(yōu)。
通過比較,我們選擇控制模塊選擇方案三。
1.1.3 傳感模塊
方案一:OV7670
OV7670,圖像傳感器,體積小,工作電壓低,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸入整幀、子采樣、取窗口等方式的各種分辨率8位影像數(shù)據(jù)。該產(chǎn)品VGA圖像最高達(dá)到30幀/秒。用戶可以完全控制圖像質(zhì)量、數(shù)據(jù)格式和傳輸方式。所有圖像處理功能過程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過SCCB接口編程。OmmiVision圖像傳感器應(yīng)用獨(dú)有的傳感器技術(shù),通過減少或消除光學(xué)或電子缺陷如固定圖案噪聲、托尾、浮散等,提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像。
方案二:OV2640
相對于方案二的OV7670,OV2640擁有以上優(yōu)點(diǎn),而且像素更高,達(dá)到200萬像素,可視區(qū)域更大,相較OV7670更能滿足實(shí)驗(yàn)需求。
通過比較我們傳感模塊選擇方案二。
1.1.4 驅(qū)動(dòng)模塊
方案一:舵機(jī)
舵機(jī)最小轉(zhuǎn)動(dòng)角較大,控制不夠精確,不能滿足實(shí)驗(yàn)的要求。
方案二:步進(jìn)電機(jī)
步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機(jī),在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,可定長定速控制??梢酝ㄟ^控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到精準(zhǔn)控制的目的??刂票容^精確,但是由于它轉(zhuǎn)速過快,使得平板不夠穩(wěn)定。
方案三:減速電機(jī)
減速電機(jī)是指減速機(jī)和步進(jìn)電機(jī)的集成體。電機(jī)提供的是高速轉(zhuǎn)速,但力矩小、慣性大,減速器的功能則是降低轉(zhuǎn)速、提升扭矩、降低慣性,達(dá)到理想的轉(zhuǎn)速和力矩,配合編碼器之后也可以實(shí)現(xiàn)定長定速控制。所以它可以使小球比較穩(wěn)得在平板上運(yùn)動(dòng),滿足實(shí)驗(yàn)的要求。
通過比較我們驅(qū)動(dòng)模塊選擇方案三。
STM主控芯片,使LCD顯示信息,接受攝像頭返回的信息,帶編碼器的電機(jī)向編碼器和電機(jī)發(fā)送數(shù)據(jù),使其運(yùn)動(dòng)。
其中,OV2640攝像頭用于采集圖像,減速電機(jī)與編碼器用于控制平板的運(yùn)動(dòng),顯示屏用于顯示當(dāng)時(shí)的平板攝像頭圖像。
2.1.1 像素點(diǎn)的計(jì)算
所以可以根據(jù)處于對角線邊界兩點(diǎn)圓形區(qū)域位置的判定,按照比例確定其他七個(gè)點(diǎn)所在位置。
同理,4、5、6、7、8也按照2、3點(diǎn)來計(jì)算位置。
2.1.2 原始圖像三值化處理
紅色:r = ((rgb_buff[i][j]>>11)&0x1f)×255÷31
綠色:g = ((rgb_buf[i][j]>>5)&0x3f)×255÷63
藍(lán)色:b = (rgb_buf[i][j])×255÷31
2.2.1 PID算法
其中:
STM32F407連接0V2640攝像頭、顯示屏、減速電機(jī)。其中減速電機(jī)連接著編碼器。
(1)獲取攝像頭圖像:在攝像頭拍攝到的圖片上取320×240分辨率,對像素點(diǎn)的RGB顏色進(jìn)行分析,若離紅色(255,0,0)較近,則取為紅色,若離黑色(255,255,255)較近,則取為黑色,若離白色(0,0,0)較近,則取為白色。處理后,圖像上只顯示紅、黑、白三種顏色。
(2)確定小球位置:遍歷像素點(diǎn)數(shù)組,在白色平板和黑色小球邊界,數(shù)組顏色值會發(fā)生改變,選取這個(gè)值,確定x軸最大、最小坐標(biāo),y軸最大、最小坐標(biāo)。將最大最小坐標(biāo)加和取中間值,即能得到小球中心x、y軸坐標(biāo)。
(3)按鍵選題:通過case語句,控制按鍵,來選擇題目。
該系統(tǒng)無論從程序思路還是機(jī)械結(jié)構(gòu)都有多種方案,未來還會用更多方案來更好的解決此問題。解決平衡方面的問題。