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