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