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