韓方健 王濤濤 沙毅
摘 要:文章設(shè)計(jì)了迷你高爾夫模擬器的前端檢測(cè)系統(tǒng)。該系統(tǒng)通過激光器形成檢測(cè)面,可以檢測(cè)到經(jīng)過檢測(cè)面時(shí)高爾夫球的速度、偏角及仰角,并將數(shù)據(jù)發(fā)送給上位機(jī)PC,上位機(jī)得到數(shù)據(jù)后便可以模擬高爾夫球的運(yùn)動(dòng)軌跡,產(chǎn)生一種逼真的擊球效果。
關(guān)鍵詞:AT89S52單片機(jī);檢測(cè)系統(tǒng);高爾夫;模擬器
1 概述
室內(nèi)模擬高爾夫在國際上已經(jīng)成為了一種非常熱門的康體項(xiàng)目,在國內(nèi)也以其占地投資少、收益大、時(shí)尚健康,品位高雅而得到飛速發(fā)展?,F(xiàn)在國內(nèi)已有的高爾夫模擬器場(chǎng)所使用的都是國際先進(jìn)的檢測(cè)系統(tǒng),還有比較高檔的環(huán)境,并且只能一次性固定安裝,需要一定的場(chǎng)地。對(duì)一些中等收入的高爾夫愛好者,這種消費(fèi)也是一個(gè)很大的問題。文章設(shè)計(jì)的迷你高爾夫模擬器不需要專門的場(chǎng)合,僅僅需要幾平方米的地方就夠了。想練習(xí)高爾夫球的時(shí)候,只需要將迷你高爾夫模擬器放在客廳或其他幾平米大的地方就可以進(jìn)行高爾夫球練習(xí),鍛煉了身體的同時(shí),也享受到了高爾夫球給人們帶來的無限樂趣。
2 系統(tǒng)的構(gòu)造及工作過程
圖1中有三個(gè)激光光源,其中三條深色的線,分別代表三排檢測(cè)接收器,每排檢測(cè)接收器有128個(gè)接收傳感器,這些傳感器呈線狀均勻分布。光源1和檢測(cè)器1共同組成了檢測(cè)面A,光源2、光源3、檢測(cè)器2和檢測(cè)器3共同組成了檢測(cè)面B。檢測(cè)面的大小取決于光源和檢測(cè)接收器的相對(duì)位置。當(dāng)有效擊打高爾夫球時(shí),高爾夫球桿的桿頭和球依次經(jīng)過檢測(cè)面A飛向檢測(cè)面B。此時(shí),檢測(cè)系統(tǒng)被觸發(fā),并記錄高爾夫球飛經(jīng)該檢測(cè)面B時(shí)的位置信息(包括水平位置信息和高度信息),而自動(dòng)屏蔽了桿頭的信息。當(dāng)球飛經(jīng)檢測(cè)面時(shí),將激光器發(fā)出的激光擋住,同時(shí)在接收器上便形成了球的影子,即影子部位的接收傳感器不能正常接收到激光,此時(shí)邏輯電路會(huì)產(chǎn)生一個(gè)觸發(fā)信號(hào)給檢測(cè)系統(tǒng)的微控制處理器,并將觸發(fā)信號(hào)作為鎖存信號(hào),將各個(gè)接收傳感器的狀態(tài)鎖存起來。微控制處理器收到觸發(fā)信號(hào)后,通過掃描各鎖存器的鎖存結(jié)果,從而可以確定觸發(fā)時(shí)該檢測(cè)接收器上形成影子的位置,即得到了位置信息。當(dāng)主控系統(tǒng)收到了觸發(fā)信號(hào)后,便將各個(gè)檢測(cè)系統(tǒng)獲得的位置信息進(jìn)行整合,通過串口將所獲取的信息發(fā)送給上位機(jī),上位機(jī)根據(jù)下位機(jī)的信息確定高爾夫球的飛行軌跡,模擬出一個(gè)逼真的擊打場(chǎng)景。
3 系統(tǒng)的原理框圖
整個(gè)系統(tǒng)由高度檢測(cè)系統(tǒng)、水平檢測(cè)系統(tǒng)、總控系統(tǒng)等三個(gè)子系統(tǒng)組成。
高度檢測(cè)子系統(tǒng)和水平檢測(cè)子系統(tǒng)的系統(tǒng)組成相同,如圖3所示。高度檢測(cè)子系統(tǒng)的功能是當(dāng)高爾夫球被有效擊中后,當(dāng)球飛經(jīng)檢測(cè)面B時(shí),接收傳感器的狀態(tài)發(fā)生變化,經(jīng)過信號(hào)轉(zhuǎn)換后產(chǎn)生觸發(fā)信號(hào),同時(shí)鎖存各個(gè)傳感器的狀態(tài)。微控制處理器AT89S52接收到觸發(fā)信號(hào)后,通過軟件控制讀取狀態(tài)鎖存器的鎖存結(jié)果,成功得到球飛經(jīng)此面時(shí)的高度信息。高度檢測(cè)子系統(tǒng)還要實(shí)現(xiàn)與總控子系統(tǒng)的相互通信,一方面,在打高爾夫球之前上位機(jī)需要檢測(cè)各個(gè)接收傳感器的狀態(tài),檢查各接收傳感器是否準(zhǔn)備就緒;另一方面,由于高度檢測(cè)子系統(tǒng)不能直接和上位機(jī)直接通信,因而高度信息必須通過主控系統(tǒng)才能到達(dá)上位機(jī)。水平檢測(cè)系統(tǒng)與高度子系統(tǒng)的功能基本相同,在球飛經(jīng)檢測(cè)面B時(shí),該系統(tǒng)記錄水平位置上的影子信息。
圖4所示為主控子系統(tǒng)的功能框圖,主控子系統(tǒng)的主要功能是實(shí)現(xiàn)檢測(cè)系統(tǒng)和上位機(jī)之間的相互通信。一方面主控子系統(tǒng)根據(jù)上位機(jī)的命令,查詢各個(gè)檢測(cè)子系統(tǒng)的傳感器狀態(tài)。另一方面當(dāng)觸發(fā)過后,主控子系統(tǒng)需要將各個(gè)檢測(cè)子系統(tǒng)的記錄結(jié)果上傳給上位機(jī)。主控子系統(tǒng)也有一個(gè)輔助功能就是在高爾夫球飛過檢測(cè)面A時(shí),啟動(dòng)定時(shí)功能,當(dāng)球飛經(jīng)檢測(cè)面B時(shí)將停止計(jì)時(shí),這樣可以獲取高爾夫球飛經(jīng)兩個(gè)檢測(cè)面時(shí)的時(shí)間差,進(jìn)而可以得到時(shí)間參數(shù),完成球速的計(jì)算。通過和高度檢測(cè)子系統(tǒng)和水平檢測(cè)子系統(tǒng)的數(shù)據(jù)通信和信號(hào)交互,運(yùn)用幾何方法,可以計(jì)算出高爾夫球的仰角、偏角、速度三個(gè)參數(shù)。
最后,根據(jù)自定義的通信協(xié)議,主控子系統(tǒng)將整理好的數(shù)據(jù)信息以一定的數(shù)據(jù)格式進(jìn)行上傳,上位機(jī)利用已安裝的高爾夫球場(chǎng)軟件模擬出高爾夫球的飛行過程,給練習(xí)者一個(gè)逼真的視覺效果。
4 結(jié)束語
本系統(tǒng)以單片機(jī)為主控芯片,設(shè)計(jì)了主控子系統(tǒng)和兩個(gè)檢測(cè)子系統(tǒng),上行與PC通信,下行通過RS-485與各節(jié)點(diǎn)進(jìn)行通信,這樣的連接方法具有設(shè)備簡(jiǎn)單,價(jià)格低廉,檢測(cè)靈敏度高等優(yōu)點(diǎn)。經(jīng)實(shí)驗(yàn)測(cè)試驗(yàn)證,該系統(tǒng)基本符合設(shè)計(jì)要求,達(dá)到了預(yù)期的效果。
參考文獻(xiàn)
[1]李江全,魏中巖,姚帥,等. 單片機(jī)通信與控制應(yīng)用編程實(shí)例[M].中國電力出版社, 2012.
[2]鄭鋒,王巧芝,李英建,等. 51單片機(jī)應(yīng)用系統(tǒng)模型模塊開發(fā)大全[M].中國鐵道出版社,2013.