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