張芳,張震強(qiáng)
(陜西科技大學(xué) 電氣與信息工程學(xué)院,陜西 西安 710021)
摘要:電腦鼠競賽自動計時系統(tǒng)由傳感器、延時電路、電平轉(zhuǎn)換電路、串口通信電路和PC組成,包括了系統(tǒng)的硬件設(shè)計、軟件界面和控制程序的設(shè)計。通過將軟硬件系統(tǒng)相結(jié)合,本系統(tǒng)能夠滿足競賽對高精度時間統(tǒng)計的要求,并且能夠克服環(huán)境、人為等因素的影響。按照IEEE的比賽規(guī)則,能夠準(zhǔn)確地測量和計算電腦鼠的運(yùn)行時間,在比賽過程中自動地對成績進(jìn)行大屏幕顯示和計算機(jī)存儲。本系統(tǒng)電路簡單,測量精度和靈敏度高,調(diào)試方便,能夠充分發(fā)揮自動計時系統(tǒng)在比賽中的實時觀測、現(xiàn)場監(jiān)督的作用。本系統(tǒng)已通過迷宮現(xiàn)場測試,期望應(yīng)用于正式比賽。
關(guān)鍵詞:電腦鼠競賽;自動;計時
0引言
“電腦鼠”,英文名叫做 MicroMouse,是使用嵌入式微控制器、傳感器和機(jī)電運(yùn)動部件構(gòu)成的一種智能行走裝置,可以在復(fù)雜迷宮中精確定位,自動記憶和選擇路徑,規(guī)避障礙,尋找出口,采用相應(yīng)的算法,最終快速地達(dá)到所設(shè)定的目的地[1]。
首場電腦鼠迷宮競賽于1979年在紐約舉行。 2009年由中國計算機(jī)學(xué)會嵌入式系統(tǒng)專業(yè)委員會主辦了首屆全國電腦鼠走迷宮競賽,拉開了中國電腦鼠競賽的大幕。
競賽的得分用“時間”來衡量,時間越短,所獲得的成績也越高。因此,設(shè)計一個非接觸式的比賽自動計時系統(tǒng)就顯得尤為重要。本系統(tǒng)能夠克服環(huán)境、人為等因素的影響,按照IEEE的比賽規(guī)則要求,準(zhǔn)確地測量和計算電腦鼠的比賽時間。此外,該系統(tǒng)還具有遠(yuǎn)程傳送和大屏幕顯示的能力,便于實時觀測,現(xiàn)場監(jiān)督。
1電腦鼠走迷宮競賽主要規(guī)則
本系統(tǒng)以IEEE電腦鼠走迷宮競賽規(guī)則為設(shè)計依據(jù)[2]。主要規(guī)則如下:
電腦鼠的基本功能是從起點(diǎn)開始走到終點(diǎn),比賽中,每一次的成績都由運(yùn)行時間、迷宮時間和碰觸獎懲三部分組成。競賽使用這3個參數(shù),從速度﹑求解迷宮的效率和電腦鼠的可靠性三方面進(jìn)行評分。
?。?)運(yùn)行時間。電腦鼠每次從迷宮起點(diǎn)走到終點(diǎn)所用時間稱為“運(yùn)行時間”。競賽中,電腦鼠在迷宮中的總時間不可超過15 min。
?。?)迷宮時間。從電腦鼠的第一次激活到每次運(yùn)行開始所用時間稱為“迷宮時間”。
(3)碰觸獎懲。電腦鼠啟動運(yùn)行后出現(xiàn)故障,允許操作員手動電腦鼠使其繼續(xù)行走或?qū)㈦娔X鼠從迷宮取出,放到起點(diǎn)重新啟動運(yùn)行,該動作稱為“碰觸”,但不能超過3次。
?。?)成績的計算。得分通過計算每次“排障時間”來衡量:排障時間=迷宮時間/30+運(yùn)行時間+碰觸獎懲。
電腦鼠在規(guī)定時間內(nèi)允許運(yùn)行多次,取最短排障時間作為最好成績。
2系統(tǒng)設(shè)計原理
本系統(tǒng)根據(jù)競賽規(guī)則要求,選用PC代替單片機(jī)作為控制器,PC既是顯示器件同時也是控制器件,對PC的利用率大大提高,將上位機(jī)的控制作為主導(dǎo),整個系統(tǒng)盡可能少地使用元器件,簡化硬件電路。
系統(tǒng)采用激光管及其接收電路采集計時信號,經(jīng)過信號處理部分,將輸出的電平信號直接輸入PC串口的特定引腳,PC采用Visual Basic編程語言構(gòu)建計時系統(tǒng)界面,同時利用軟件編寫串行口通訊程序,通過對串行口引腳狀態(tài)的判斷,執(zhí)行相應(yīng)的計時控制程序。利用鼠標(biāo)對上位機(jī)系統(tǒng)界面進(jìn)行操作,并在大屏幕上顯示當(dāng)前內(nèi)容和數(shù)據(jù),實現(xiàn)對參賽電腦鼠的運(yùn)行時間、迷宮時間、碰觸次數(shù)、本次成績、最好成績的實時顯示、控制及存儲。
系統(tǒng)的整體設(shè)計框圖如圖1所示。
3硬件設(shè)計
本系統(tǒng)硬件部分的整體框圖如圖2所示。
3.1傳感器的安裝及其工作電路
由圖2所示,在迷宮起點(diǎn)單元,一面墻壁內(nèi)部嵌入激光管,該激光管使用+3 V紐扣電池驅(qū)動發(fā)光。發(fā)出的激光照射到迷宮單元格的對面墻壁上,在該墻壁上激光所照的點(diǎn)處嵌入光敏電阻,該光敏電阻連入比較器電路中。
當(dāng)沒有電腦鼠經(jīng)過迷宮起點(diǎn)單元,即有激光照射到光敏電阻上時,光敏電阻阻值很小,比較器輸出+10 V電壓;當(dāng)電腦鼠經(jīng)過起點(diǎn)單元,即激光被阻斷,沒有激光照射到光敏電阻上時,光敏電阻阻值很大,比較器輸出0 V電壓。通過高低電平的變換實現(xiàn)對起點(diǎn)單元信號的檢測。
迷宮終點(diǎn)的傳感器安裝方式及其工作電路同理。
3.2信號處理電路
由于傳感器響應(yīng)周期很短,若參加比賽的電腦鼠車體形狀不規(guī)則,小車經(jīng)過計時區(qū)時,很可能觸發(fā)傳感器對信號進(jìn)行多次采集。本系統(tǒng)采用555定時器連接而成的單穩(wěn)態(tài)觸發(fā)器實現(xiàn)延時消抖,將傳感器輸出的信號進(jìn)行一定的延時處理,從而保證車體每經(jīng)過一次,傳感器僅采集一次開關(guān)量信號。
3.3串口電路
串口電路的設(shè)計是本系統(tǒng)的難點(diǎn),同時也是本設(shè)計的一項創(chuàng)新點(diǎn)。
不同于一般的單片機(jī)與PC的串行通訊[3-4],由于本系統(tǒng)為PC控制,采集到的開關(guān)量信號直接從PC串口的某一針腳輸入,通過檢測串口針腳的狀態(tài)來得到計時脈沖信號。
RS-232C總線標(biāo)準(zhǔn)規(guī)定,RTS、CTS、DSR、DTR和DCD等控制線上信號有效(接通,ON狀態(tài),正電壓)為+3 V~+15 V ,信號無效(斷開,OFF狀態(tài),負(fù)電壓)為-3 V~-15 V。本系統(tǒng)傳感器電路的輸出無車經(jīng)過時為高電平+10 V,有車經(jīng)過時為低電平0 V,而該電平是串口針腳所不能識別的。
因此,利用了OP07作為比較器構(gòu)成電平轉(zhuǎn)換電路,將輸出的脈沖信號轉(zhuǎn)換為串口可識別的±12 V電壓,再從RS232C輸入計算機(jī)。DB9的CTS腳接起點(diǎn)信號的輸出端,DCD腳接終點(diǎn)信號的輸出端,GND腳接地。具體連線方法如圖3所示。
當(dāng)小車經(jīng)過起點(diǎn)傳感器時,起點(diǎn)信號輸出為+12 V,CTS有效,獲得起點(diǎn)的計時脈沖信號,同理,當(dāng)小車經(jīng)過終點(diǎn)傳感器時,終點(diǎn)信號輸出為+12 V,DCD有效,獲得終點(diǎn)的計時脈沖信號,從而控制系統(tǒng)進(jìn)行計時。
4軟件設(shè)計
軟件是控制電路的靈魂,上位機(jī)程序的編寫是本設(shè)計研究的核心,也是本計時系統(tǒng)功能實現(xiàn)的關(guān)鍵所在。本系統(tǒng)使用可視化編程語言Visual Basic進(jìn)行操作界面和控制程序的設(shè)計[5]。
4.1流程圖
軟件設(shè)計的主程序流程圖如圖4所示。
4.2界面模塊
界面模塊由標(biāo)題欄、計時顯示、按鍵控制、參賽組提示4個主要部分組成,如圖5所示。
其中,計時顯示部分包括本次運(yùn)行時間、本次迷宮時間、總時間、本次成績、碰觸次數(shù)和最好成績共六部分;按鍵控制部分包括開始、碰觸和清零共三部分。
4.3工作過程
裁判員單擊“開始”按鍵,激活比賽計時系統(tǒng)。
控制程序以查詢方式每隔一段時間檢測起點(diǎn)信號狀態(tài),當(dāng)CTS線為高電平時,表示電腦鼠進(jìn)入迷宮起點(diǎn),計時程序開始執(zhí)行,同時,在界面模塊上實時顯示本次運(yùn)行時間、迷宮時間和總時間,并將該時間值存入相應(yīng)數(shù)組中。
電腦鼠繼續(xù)在迷宮中運(yùn)行,控制程序檢測終點(diǎn)信號的狀態(tài),當(dāng)DCD線為高電平時,表示電腦鼠進(jìn)入迷宮終點(diǎn),獲取當(dāng)前時間,計算并顯示本次成績。
電腦鼠允許在規(guī)定的15 min內(nèi)運(yùn)行任意次,因此,電腦鼠回到起點(diǎn)再次進(jìn)入迷宮后,本次運(yùn)行時間、本次迷宮時間和本次成績由電腦鼠新一次的情況給出,選擇各次成績中最短用時作為最好成績。
比賽過程中,電腦鼠每發(fā)生一次碰觸事件,裁判員單擊“碰觸”按鍵,顯示碰觸次數(shù)加1,相應(yīng)地碰觸獎懲時間改變,當(dāng)碰觸次數(shù)達(dá)到4次時,顯示“停賽!”。
當(dāng)前組比賽停止后,裁判員單擊“清零”按鍵,清除本輪比賽記錄,當(dāng)前組號和將要參賽的組號各加1,為進(jìn)行下一組比賽做準(zhǔn)備。
5現(xiàn)場測試及結(jié)論
同時使用人工秒表和自動計時系統(tǒng)兩種方案進(jìn)行迷宮現(xiàn)場計時。迷宮現(xiàn)場測試數(shù)據(jù)如表1所示。
由測試結(jié)果可以看出,電腦鼠競賽自動計時系統(tǒng),克服了人工秒表計時人力資源浪費(fèi)大、計時誤差大、不能實時顯示等缺點(diǎn),對資源的利用更為合理。按照比賽規(guī)則,可準(zhǔn)確測量和計算電腦鼠的運(yùn)行時間,在比賽過程中自動對成績進(jìn)行測定、顯示與存儲,具有遠(yuǎn)距離傳送和大屏幕顯示的能力,并且滿足電路簡單、測量精度和靈敏度高、調(diào)試方便的要求,能夠充分發(fā)揮非接觸式自動計時系統(tǒng)在比賽中的實時觀測、現(xiàn)場監(jiān)督的作用。本系統(tǒng)已經(jīng)用于校內(nèi)的電腦鼠比賽中,工作穩(wěn)定。
參考文獻(xiàn)
?。?] 周立功.IEEE電腦鼠開發(fā)指南[M].廣州:廣州致遠(yuǎn)電子有限公司,2008.
?。?] 2009全國“電腦鼠走迷宮”競賽組委會.2009全國“電腦鼠走迷宮”競賽 [EB/OL].(2009-11-01)[2016-06-20]. http://www.micromouse.com.cn.2009 11 01/2010 01 12.
?。?] 顧星辰,胡仁杰,馬智勇. AVR單片機(jī)和Matlab串口通信的計時器系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(3):25-27.
?。?] 梁振濤,樊澤明,任永亮,等.基于單片機(jī)的移動監(jiān)控系統(tǒng)硬件設(shè)計[J].微型機(jī)與應(yīng)用,2014,33(2):25-27.
[5] 邵昊舒. 基于VB的英國議會制辯論賽計時器的設(shè)計開發(fā)[J].電子測試,2015(4):1-3.