胡凱,沈新鋒,張瑞東
(南京信息工程大學(xué) 信息與控制學(xué)院,江蘇 南京 210044)
本設(shè)計(jì)采用msp430F149作為核心處理器,設(shè)有打靶和報(bào)靶兩套裝置。打靶裝置用來(lái)打靶和按鍵控制發(fā)送命令,報(bào)靶裝置用來(lái)接收命令進(jìn)行激光點(diǎn)的位置識(shí)別和報(bào)靶。
圖1 實(shí)物模型圖
本設(shè)計(jì)包含兩個(gè)部分,模型如圖1所示。
第一個(gè)部分是激光槍打靶。此裝置的系統(tǒng)結(jié)構(gòu)如圖 2(a)所示,硬 件[1]上 采用了無(wú)線模塊nRF905、細(xì) 分 器2M542、4*4矩陣鍵盤、激光筆和42步進(jìn)電機(jī)搭建的二維云臺(tái)。本設(shè)計(jì)中選擇四個(gè)按鍵控制步進(jìn)電機(jī)上下左右移動(dòng),選擇二個(gè)按鍵進(jìn)行靶心校準(zhǔn)和靶環(huán)距校準(zhǔn),選擇二個(gè)按鍵進(jìn)行圖像采集和自動(dòng)報(bào)靶,選擇二個(gè)按鍵控制激光筆的打開(kāi)和關(guān)閉。在進(jìn)行靶心校準(zhǔn)時(shí),將激光點(diǎn)打到靶心位置,MCU控制攝像頭識(shí)別激光點(diǎn)并記錄下實(shí)際靶心位置的偏差值。在進(jìn)行靶環(huán)間的距離校準(zhǔn)時(shí),選擇任意一個(gè)靶環(huán),將激光點(diǎn)打到該靶環(huán)上,MCU控制攝像頭識(shí)別激光點(diǎn)并記錄下與顯示屏上所畫的靶環(huán)的比例系數(shù)。校準(zhǔn)完成后,便可將激光筆打到攝像頭拍攝范圍內(nèi)任一位置,通過(guò)按鍵控制攝像頭獲取激光點(diǎn)的橫縱坐標(biāo),根據(jù)記錄的偏差值自動(dòng)修改,再通過(guò)按鍵便可顯示點(diǎn)的方位信息和環(huán)數(shù)信息。
圖2 裝置的系統(tǒng)結(jié)構(gòu)圖
第二個(gè)部分是激光點(diǎn)識(shí)別[2]。此裝置的系統(tǒng)結(jié)構(gòu)如圖2(b)所示,硬件上采用了無(wú)線模塊nRF905、帶 FIFO緩存的攝 像 頭 OV7670、彩 屏ILT9395和液晶顯示屏LCD12864。調(diào)整攝像頭的位置和焦距,以便能夠在彩屏上觀察到完整清晰的靶環(huán)。在采集激光點(diǎn)的過(guò)程中,MCU啟動(dòng)攝像頭拍攝當(dāng)前畫面后,從攝像頭內(nèi)存中讀240*320像素點(diǎn)的數(shù)據(jù),以4*4陣列的像素點(diǎn)作為一個(gè)單位進(jìn)行掃描,判別圖像像素點(diǎn)RGB轉(zhuǎn)換成灰度值。如果在4*4陣列的第一列進(jìn)行行掃描時(shí)出現(xiàn)為灰度值大于22(實(shí)際環(huán)境中測(cè)量的值),即判別該4*4陣列為激光槍的著落點(diǎn),按4∶1縮放比例記錄該點(diǎn)的橫縱坐標(biāo)值。
帶FIFO的攝像頭比不帶的多3M的緩存,可將采集的數(shù)據(jù)暫存在這個(gè)緩存中,使用時(shí)讀取緩存中的圖像數(shù)據(jù)即可,可減少對(duì)單片機(jī)采集圖像數(shù)據(jù)時(shí)對(duì)MCU速度的要求。
攝像頭OV7670[3]是一種圖像傳感器,工作電壓低,提供單片VGA攝像頭和影像處理器[4]的所有功能。通過(guò)SCCB總線控制,可以輸出整幀子采樣、取窗口等方式的各種分辨率8位影響數(shù)據(jù)。所有圖像處理功能過(guò)程包括伽瑪曲線、白平衡、飽和度、色度等都可以通過(guò)SCCB接口編程。
在本設(shè)計(jì)中,MCU內(nèi)存有限,不能存取一幀圖像,需要外帶緩存處理圖像信息,并且通過(guò)控制SCCB總線來(lái)啟動(dòng)攝像頭OV7670,通過(guò)軟件編程很容易控制。攝像頭拍攝的一幀圖像信息[5]的像素點(diǎn)格式為565,由16位的二進(jìn)制數(shù)組成。在判斷像素點(diǎn)的RGB轉(zhuǎn)換成的灰度值時(shí),采用的轉(zhuǎn)換算法如式(1)所示。
這里,RGB?11作用是提取R的值,(RGB?11)*1作用是R的值乘以其比例系數(shù);0×07e0&RGB作用是提取G的值,(0×07e0&RGB)*2作用是G的值乘以其比例系數(shù);0×001f&RGB作用是提取B的值,(0×001f&RGB)*1作用是B的值乘以其比例系數(shù);/4作用是除以三種顏色的比例系數(shù)之和(比例系數(shù)可自定)。
實(shí)際測(cè)量中,白色的灰度值在14左右,黑色的灰度值在6左右,激光點(diǎn)的灰度值在22左右。
LCD12864是中文漢字圖形點(diǎn)陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8 192個(gè)中文(16×16點(diǎn)陣)、128個(gè)字符(8×16點(diǎn)陣)及64×256點(diǎn)陣顯示 RAM(GDRAM),該模塊有并行和串行兩種連接方法,
LCD12864可以顯示圖像信息、中文漢字,英文字母等,符合設(shè)計(jì)要求。本設(shè)計(jì)使用的4位并行的連接方法,相對(duì)于8位并行的連接方法省了4個(gè)管腳口,其外圍電路連接圖如圖3所示。
圖3 LCD12864外圍電路連接圖
在本設(shè)計(jì)中,在程序初始化階段便在液晶顯示屏上畫上靶環(huán),而非拍攝獲取的。在確定方位信息時(shí),需求出過(guò)圓心的直線方程,通過(guò)判斷點(diǎn)是在線上還是在線下來(lái)確定點(diǎn)的方位;在確定環(huán)數(shù)信息時(shí),需求出每個(gè)圓環(huán)的方程,通過(guò)判斷點(diǎn)是在圓內(nèi)還是在圓外來(lái)確定點(diǎn)所在的環(huán)數(shù)。
細(xì)分器2M542的適合驅(qū)動(dòng)電壓為24 V~50 V,電流小于4.2 A,可用于兩相混合式步進(jìn)電機(jī)。通過(guò)開(kāi)關(guān)可設(shè)置最小細(xì)分?jǐn)?shù)、輸出相電流的大小和電流的控制方式,并且通過(guò)輸送PWM波可對(duì)步進(jìn)電機(jī)的轉(zhuǎn)角進(jìn)行細(xì)分,其輸入信號(hào)的波形時(shí)序圖如圖4所示。
圖4 細(xì)分器2M542輸入波形時(shí)序圖
nRF905無(wú)線模塊使用在433 Mz開(kāi)放ISM頻段,最高工作速率50 kbps,高效GFSK調(diào)制,抗干擾能力強(qiáng)。其內(nèi)置有硬件CRC檢錯(cuò)和點(diǎn)對(duì)多點(diǎn)通信地址控制,在低功耗1.9 V~3.6 V下工作。同時(shí),模塊可軟件設(shè)地址,只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)(提供中斷指示),可接各種單片機(jī)使用,軟件編程非常方便。
在本設(shè)計(jì)中,MCU可以模擬SPI時(shí)序控制nRF905模塊進(jìn)行數(shù)據(jù)通信,其SPI讀寫時(shí)序如圖5所示,并且在通信過(guò)程中,可以設(shè)有不同的地址,避免了外部信號(hào)的干擾,符合設(shè)計(jì)要求。通過(guò)按鍵控制nRF905的數(shù)據(jù)發(fā)送,而接收方則根據(jù)接收到標(biāo)志信號(hào)執(zhí)行相應(yīng)的程序。
圖5 SPI讀寫時(shí)序圖
按鍵是通過(guò)中斷查詢的方式來(lái)實(shí)現(xiàn)其功能的,其電路連接圖如圖6所示。由于處理器內(nèi)存有限,其按鍵功能只能在循環(huán)中改變標(biāo)志位實(shí)現(xiàn)。
圖6 按鍵模塊電路連接圖
msp430F149芯片[6]是美國(guó) TI公司推出的超低功耗微處理器,有60KB+256字節(jié)FLASH,2KBRAM,包括基本時(shí)鐘模塊、看門狗定時(shí)器、帶 3個(gè)捕獲/比較寄存器和PWM輸出的16位定時(shí)器、帶7個(gè)捕獲/比較寄存器和PWM輸出的16位定時(shí)器、2個(gè)具有中斷功能的8位并行端口、4個(gè)8位并行端口、模擬比較器、12位 A/D轉(zhuǎn)換器、2個(gè)串行通信接口等模塊。
最小系統(tǒng)是由保證處理器可靠工作所必須的基本電路組成的,主要包括電源電路、時(shí)鐘電路、復(fù)位電路、通信接口電路、數(shù)據(jù)存儲(chǔ)電路組成,其硬件框圖如圖7所示。
圖7 msp430F149硬件框圖
圖8 裝置1的程序流程圖
在本設(shè)計(jì)中,一個(gè)裝置需要操控多個(gè)模塊,而msp430F149解決了I/O口不夠用的問(wèn)題。同時(shí)msp430F149可處于低功耗狀態(tài),在沒(méi)有命令時(shí),可以將其置為低功耗狀態(tài)。
根據(jù)結(jié)構(gòu)化程序設(shè)計(jì)的要求,我們編程時(shí)采用模塊化和結(jié)構(gòu)化的方法進(jìn)行編程。根據(jù)這一要求以及系統(tǒng)的功能要求,我們?cè)O(shè)計(jì)了如圖8和圖9所示的程序流程圖。
整個(gè)系統(tǒng)上電啟動(dòng)后,用戶通過(guò)裝置1操控裝置2拍攝當(dāng)前畫面,根據(jù)彩屏上顯示的畫面調(diào)整攝像頭的位置和焦距直至在彩屏中觀察到完整清晰的靶環(huán)。在攝像頭位置調(diào)整好之后,用戶通過(guò)按鍵控制激光筆著落點(diǎn)的位置,使其分別落在靶心和靶環(huán)上,通過(guò)校準(zhǔn)按鍵對(duì)拍攝到的激光點(diǎn)的橫縱坐標(biāo)進(jìn)行軟件校準(zhǔn)。校準(zhǔn)完成后,在攝像頭的可視范圍內(nèi),用戶可隨意控制著落點(diǎn)的位置,通過(guò)攝像頭拍攝按鍵和報(bào)靶按鍵,液晶顯示屏上便顯示相應(yīng)的閃爍點(diǎn),并顯示點(diǎn)的方位信息和環(huán)數(shù)信息。
圖9 裝置2的程序流程圖
設(shè)計(jì)了一種基于點(diǎn)識(shí)別的自動(dòng)報(bào)靶系統(tǒng),由激光槍打靶和攝像頭尋點(diǎn)兩部分組成。在人為調(diào)整和校準(zhǔn)之后,便可以實(shí)現(xiàn)自動(dòng)報(bào)靶的功能。此設(shè)計(jì)涉及到通訊領(lǐng)域、圖像采集處理領(lǐng)域和微控制領(lǐng)域,在實(shí)際生活中有很高的應(yīng)用價(jià)值。
[1]崔鳴,尚麗.基于LM3S811單片機(jī)的LED點(diǎn)光源跟蹤系統(tǒng)[J].蘇州市職業(yè)大學(xué)學(xué)報(bào),2011,27(1):17-21.
[2]HU K,SONG A G,WANG W L,et al.Fault detection and estimation for non-Gaussian stochastic systems with time varying delay[J].Advances in Difference Equations,2013(1):1-12.
[3]李德明.基于OV7670的圖像采集及顯示系統(tǒng)設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2010,31(8):31-32.
[4]夏旻,翁理國(guó),張穎超.基于神經(jīng)元協(xié)同激勵(lì)的穩(wěn)定時(shí)間可控情景記憶[J].系統(tǒng)仿真學(xué)報(bào),2011,23(10):2134-2137.
[5]翁理國(guó),夏旻,張凱,等.基于免疫學(xué)的錯(cuò)誤識(shí)別分類系統(tǒng)[J].系統(tǒng)仿真學(xué)報(bào),2011,23(10):2216-2219.
[6]沈建華.Msp430系列16位超低功耗單片機(jī)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.