陳 杰,趙高鵬,王向民
(南京理工大學(xué) 江蘇 南京210094)
基于單片機(jī)的高爾夫運(yùn)動訓(xùn)練系統(tǒng)設(shè)計(jì)
陳 杰,趙高鵬,王向民
(南京理工大學(xué) 江蘇 南京210094)
為了測試準(zhǔn)確獲取高爾夫球員擊球時的桿頭偏角與桿頭速度,提出了一種以STC12LE2052單片機(jī)為核心的高爾夫訓(xùn)練系統(tǒng),該系統(tǒng)采用光電傳感器采集數(shù)據(jù),通過藍(lán)牙模塊將數(shù)據(jù)發(fā)送給上位機(jī)或者手機(jī)等終端設(shè)備。文章首先對系統(tǒng)工作原理進(jìn)行分析,其次對系統(tǒng)的硬件和軟件進(jìn)行了分析,最終通過實(shí)際測試表明,本系統(tǒng)精度高,可靠性強(qiáng)。另外,本系統(tǒng)還具有小巧靈活,使用簡單,且成本低的優(yōu)點(diǎn)。
高爾夫訓(xùn)練系統(tǒng);STC12LE2052單片機(jī);光電傳感器;藍(lán)牙模塊
隨著高爾夫球運(yùn)動的普及與推廣,高爾夫教學(xué)和高爾夫練習(xí)方法得到眾多教練與學(xué)員的關(guān)注。目前的高爾夫訓(xùn)練主要是針對揮桿動作和揮桿力量進(jìn)行訓(xùn)練,而高爾夫運(yùn)動員在做揮桿訓(xùn)練時,其揮桿擊球瞬時的桿頭偏角及桿頭速度決定了高爾夫球飛行的方向和距離,它們是評價運(yùn)動員揮桿擊球動作和揮桿力量的兩個關(guān)鍵性指標(biāo)[1-3]。目前,對于桿頭偏角和桿頭速度測量的方法主要有圖像分析和相控雷達(dá)檢測等,圖像分析方法是通過高速攝像機(jī)抓取擊球瞬時的圖片,進(jìn)過圖像處理技術(shù)來獲取,其檢測精度受到圖像質(zhì)量的約束[4-5];相控雷達(dá)檢測設(shè)備,如目前世界上最先進(jìn)的高爾夫雷達(dá)監(jiān)測設(shè)備TrackMan等,雖然精度高,但只適用于大揮桿動作,對于推桿動作,由于高爾夫球始終在地面滾動,受到球桿的遮擋等影響,無法進(jìn)行檢測,且這兩種方法對設(shè)備要求比較高,價格昂貴,不利于推廣[6-7]。文中提出了一種以STC12LE2052單片機(jī)為核心的高爾夫訓(xùn)練系統(tǒng),該系統(tǒng)小巧靈活,使用簡單,且具備較高的精度。
本系統(tǒng)主要由單片機(jī)、電源模塊、光電傳感器模塊、232串口模塊以及藍(lán)牙模塊組成。如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
其中,232串口模塊主要用來調(diào)試和燒寫程序之用;藍(lán)牙模塊用來實(shí)現(xiàn)數(shù)據(jù)的無線傳輸,將數(shù)據(jù)傳給上位機(jī)進(jìn)行相應(yīng)的處理分析,同時可以將數(shù)據(jù)傳到訓(xùn)練者手機(jī)上,訓(xùn)練者可以更方便的查看自己的揮桿擊球數(shù)據(jù);光電傳感器模塊就是采用8個光電開關(guān)產(chǎn)生8束光束,本方案采用對射型光電開關(guān),這種傳感器作用距離大,靈敏度高,抗干擾能力強(qiáng);電源模塊,給整個系統(tǒng)供電。
圖2 桿頭數(shù)據(jù)檢測原理圖
檢測設(shè)備的功能就是獲取訓(xùn)練者擊球時刻的桿頭速度以及擊球角度,如圖2所示,該裝置設(shè)置8束光電光束分別為A,B,C,D,E,F(xiàn),G,H,圖中 L 為桿頭的橫截面,由于球員揮桿擊球的瞬間很難做到絕對水平擊球,即一定存在一個擊球角度ɑ,也就是球桿桿頭遮擋光束點(diǎn)A和B的時間是不同的,存在一個時間差,同時因?yàn)锳,C或B,D之間的距離很小,桿頭在A,C或B,D之間可以近似認(rèn)為是勻速運(yùn)動,根據(jù)桿頭遮擋A,C和B,D之間的時間差可以計(jì)算出此時的桿頭速度,這樣就可以根據(jù)等效三角形原理計(jì)算出擊球時刻的桿頭角度了。
高爾夫下桿擊球速度為:
擊球角度分別為:
8個光束按揮桿前后時間可以分為兩部分:A,B,C,D為揮桿前,利用該4束光束可以計(jì)算出擊球前的桿頭角度,同時根據(jù)計(jì)算出的兩個角度ɑ和β可以得到擊球前的桿頭角度變化趨勢,這樣可以更充分的看出球員擊球前的揮桿變化;另外4個光束E,F(xiàn),G,H用來測量球員擊球后的桿頭數(shù)據(jù),計(jì)算原理和前面的一樣。根據(jù)擊球前后的桿頭數(shù)據(jù),不僅可以知道球員擊球瞬間的桿頭變化,同時也可以得到速度的轉(zhuǎn)化效率。
文中所要實(shí)現(xiàn)的功能是采集桿頭遮擋激光束的時間,由于桿頭遮擋到兩光束之間的時間差都是毫秒級的,另外我們最終需要的參與計(jì)算的參數(shù)是時間差,器件的響應(yīng)時間并不會影響到計(jì)算的精度,所以采用1T的8位51單片機(jī)STC12LE2052,它是高速、低功耗的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍,完全可滿足設(shè)備的要求[8-9]。光電傳感器的選擇主要從功耗和作用距離以及靈敏度方面考慮,最終本文選用一款對射型激光發(fā)射接受管,其功耗低,激光管功率只有5 mW,而且接收管的接收面很小,這樣可以提高設(shè)備精度[10-12];另外,藍(lán)牙模塊選擇CC2540射頻芯片,其具有低功耗、高靈敏度、抗干擾能力強(qiáng),外接電路簡單等優(yōu)勢[13-15]。
如圖3所示,發(fā)射的激光信號經(jīng)過調(diào)制變成調(diào)制光,這樣可以大大地提高傳感器的抗干擾能力,消除了外界光源對傳感器地干擾。接收管在照射到調(diào)制光時會使電平拉低,當(dāng)光源被遮擋,引腳2的電平會升為高電平,當(dāng)再次照射到光源時,通過J1連接的外部中斷會得到一個下降沿信號從而產(chǎn)生中斷,表示光源信號經(jīng)過一次遮擋。
圖3 發(fā)射和接收電路
電源部分,本文采用充電電池給設(shè)備供電,本設(shè)備需要5 V和3.3 V兩種電壓。并且充電電池的電壓并不能一直穩(wěn)定在3.3 V左右,所以在電源設(shè)計(jì)上首先采用LT1930A從3.3 V升壓到5 V,給激光接收管供電,然后通過LM1117-3.3將電壓降到3.3 V供其他芯片使用。具體電路如圖4所示。
藍(lán)牙模塊以CC2540射頻芯片為核心,CC2540與藍(lán)牙低功耗協(xié)議棧共同構(gòu)成高性價比、低功耗的片上系統(tǒng)解決方案,非常適合藍(lán)牙低功耗應(yīng)用。其外圍電路簡單,外接若干個阻容器件構(gòu)成的濾波電路和PCB天線即可實(shí)現(xiàn)無線網(wǎng)絡(luò)節(jié)點(diǎn)的構(gòu)建。CC2540最小系統(tǒng)主要由32 MHz晶振、32.768 kHz睡眠晶振、復(fù)位電路、3.3 V電源及去耦電容、射頻阻抗匹配電路及單極性PCB天線組成。其外圍電路如圖5所示,其中ANT接PCB天線,TXD和RXD分別接51單片機(jī)的RXD和TXD。
圖4 電源模塊電路
圖5 藍(lán)牙模塊電路
本設(shè)備要實(shí)現(xiàn)的功能是通過光電傳感器采集擊球時的桿頭數(shù)據(jù),然后將數(shù)據(jù)打包發(fā)送到上位機(jī)處理,所以軟件設(shè)計(jì)的重點(diǎn)是如何精準(zhǔn)的采集到桿頭遮擋光束的時間數(shù)據(jù)。由于高爾夫球員在揮桿前需要先瞄準(zhǔn)擊球點(diǎn),在瞄準(zhǔn)的過程中桿頭必然會遮擋擊球前的4點(diǎn)光束,而這時并沒有擊球,所以要求單片機(jī)忽略掉此時遮擋的時間數(shù)據(jù),鑒于此我們采用外部中斷的方式來采集遮擋時間數(shù)據(jù)。由于STC12LE2052的外部中斷只有5個,對于8個光束來說就需要采用中斷加掃描I/O口電平的方式來采集數(shù)據(jù)。具體流程如圖6流程圖所示。
在中斷服務(wù)程序中,首先根據(jù)相應(yīng)的I/O口電平判斷具體是哪個接收管被遮擋觸發(fā)中斷,然后讀取產(chǎn)生中斷的接收管的光源遮擋時間,并置遮擋標(biāo)志位為1。不過在球員擊球時,高爾夫球有可能會遮擋到后4個光束。如果不做處理單片機(jī)會誤以為這是桿頭掃過時產(chǎn)生的遮擋,這樣就會發(fā)送錯誤的時間數(shù)據(jù)。經(jīng)過實(shí)驗(yàn),我們發(fā)現(xiàn)在球員擊出球后,在很短的時間后桿頭也會掃過后面的4束光束。所以我們可以設(shè)定一個時間閾值,在桿頭掃過前4個光束后,延時一段時間,當(dāng)?shù)竭_(dá)設(shè)定閾值后,再發(fā)送所有時間數(shù)據(jù)。這時,存儲最后4個光束時間數(shù)據(jù)的數(shù)組會被最后一次桿頭掃過時的時間數(shù)據(jù)更新,具體流程如圖7所示。
圖6 系統(tǒng)主程序流程圖
圖7 中斷服務(wù)程序流程圖
系統(tǒng)的精度主要受到下列因素的影響:首先是傳感器的響應(yīng)時間的不同,會給遮擋時間的記錄帶來誤差;其次,光電傳感器的感應(yīng)面積是一個帶狀的區(qū)域,光線可能并不是垂直照射到接收管,這樣可能造成最后兩個光束之間的感應(yīng)距離并不是其真實(shí)距離;最后,球員揮桿擊球的過程并不是一個勻速運(yùn)動的過程,鑒于間距小本文近似看成是勻速運(yùn)動,這也會給計(jì)算帶來誤差。
其中,第三個因素由于簡便處理這樣的誤差是客觀存在的,而距離誤差我們可以在調(diào)試過程中盡量做到光線垂直照射到接收管上。而對于光電傳感器的響應(yīng)時間,在我們的實(shí)際測量中得到了圖8的結(jié)果:
圖8 光電傳感器響應(yīng)波形
由上圖8可以發(fā)現(xiàn),光電傳感器的響應(yīng)時間很短,在1~2 μs之間。這對于兩個光束間毫秒級的時間間隔來說基本可以忽略;另外,本文對于角度與速度的計(jì)算是采用兩點(diǎn)間的時間差作為基本數(shù)據(jù)的,而每一個傳感器的響應(yīng)時間基本都相同都在1~2 μs之間,所以這樣的誤差對于最后的計(jì)算的影響基本可以忽略。
最終系統(tǒng)的測試,我們將上位機(jī)所得到的數(shù)據(jù)和用雷達(dá)方案的TrackMan的數(shù)據(jù)進(jìn)行對比(TrackMan是一家將軍用雷達(dá)科技轉(zhuǎn)化到民用體育領(lǐng)域的公司,他們的測量精度在速度上可以達(dá)到+/-0.045 m/s,而角度偏差可以控制在 +/-0.5 度),本文經(jīng)過對比測試得到了以下的測試結(jié)果。
表1 擊球速度的精度統(tǒng)計(jì)表
通過表1的統(tǒng)計(jì)對比可以發(fā)現(xiàn),在擊球速度的測量上,本文的方案的精度絕大多數(shù)可以控制在92%以上。
表2 擊球角度的精度統(tǒng)計(jì)表
從表2可以看出,對于擊球角度的測量,本方案的精度保持在93%以上的也占了大多數(shù),說明本方案可靠性較高。
文中提出了以光電傳感器作為數(shù)據(jù)采集核心,一改以往采用雷達(dá)和圖像的揮桿結(jié)果采集方案,極大的降低了高爾夫采集器的成本和計(jì)算的復(fù)雜度,同時在精度上的表現(xiàn)也可以滿足日常訓(xùn)練的要求。
不過由于種種原因,本文也有一些不足之處。首先本文對于擊球角度的測量只能針對于水平方向上的偏角,而對于豎直方向上的角度就不適用,后續(xù)工作可能需要加上雷達(dá)或者圖像的方法作為輔助來獲取豎直方向上的擊球角度;其次,本文在計(jì)算過程中,處于簡便考慮將很短距離內(nèi)的桿頭運(yùn)動簡化成勻速運(yùn)動,這給計(jì)算帶來了一定的誤差,在下一步的工作中需要對桿頭的運(yùn)動過程進(jìn)行建模,從而可以獲得更準(zhǔn)確的時間數(shù)據(jù)。
[1]張紅彬.高爾夫球運(yùn)動參數(shù)測量系統(tǒng)的研究[D].北京郵電大學(xué),2014.
[2]Guo Hualing,Deng Jiahao,Cai Kerong.Highspeed Moving Target Recognition Technology Based on Multi-sensor Data Fusion[C]//IEEE International Forum on Information Technology and Applications,2010.
[3]Jiann-JyhWang,Pei-Feng Yang,Wei-Hua Ho,et al.Determine an effective golf swing by swing speed and impact precision tests[J].Journal of Sport and Health Science.2015,3:209,244-249.
[4]劉星彤.基于圖像識別技術(shù)的高爾夫揮桿動作分析儀的研制[D].沈陽:東北大學(xué),2011.
[5]謝蕾.基于目標(biāo)跟蹤算法的高爾夫揮桿分析系統(tǒng)研制[D].北京:北京郵電大學(xué),2015.
[6]林仲揚(yáng).漫談雷達(dá)測速[J].國外電子元器件,2006(10):71-73.
[7]張翔宇.雷達(dá)近距離探測與跟蹤技術(shù)研究[D].北京:北京郵電大學(xué),2015.
[8]史小楠.STC12C5410/12C2052系列 單片機(jī)簡介[J].電子制作,2007(1):24-25.
[9]謝紹霞,郭三華,曹麗娟,等.基于單片機(jī)STC12C5A60S2與無線模塊CC1101的電動溫控閥控制器設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016(13):104-106.
[10]李俊斌,胡永忠.基于CC2530的ZigBee通信網(wǎng)絡(luò)的應(yīng)用設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011(16):108-111.
[11]朱宇,李靜,岳勇.基于藍(lán)牙4.0的設(shè)備通信方案設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2014(19):150-152,155.
[12]徐金茍.低能耗藍(lán)牙4.0協(xié)議原理與實(shí)現(xiàn)方法[J].微型電腦應(yīng)用,2012(10):16-19.
[13]孫杰,潘繼飛.高精度時間間隔測量方法綜述[J].計(jì)算機(jī)測量與控制,2007(2):145-148.
[14]尚君瑩,田學(xué)民,陳潔萌.脈沖激光測距系統(tǒng)及其算法研究[J].電子設(shè)計(jì)工程,2015(11):99-101.
[15]吳慶生.基于時差法的激光測距方法與應(yīng)用[D].大慶:東北石油大學(xué),2014.
Golf training system based on 51 MCU
CHEN Jie,ZHAO Gao-peng,WANG Xiang-min
(Nanjing University of Science and Technology,Nanjing 210094,China)
In order to test for golfers'swing speed and hit precision,a golf training system with singlechip microcomputer STC12LE2052 as the core is proposed.The system collect data through the photoelectric sensor,then the collected data is transmitted by Bluetooth module to the terminal equipment such as PC and cellphone.In this paper,the working principle of the system is analyzed,then the hardware and software of the system are designed and analyzed,finally the experimental results show that the system is reliability and high accuracy.What's more ,the system is flexible,simple to use,and have low cost.
golf training system;MCU STC12LE2052;photoelectric sensor;bluetooth module
TN99
A
1674-6236(2017)16-0125-04
2016-08-09稿件編號:201608072
上海航天科技創(chuàng)新基金項(xiàng)目(1151241057)
陳 杰(1991—),男,安徽合肥人,碩士研究生。研究方向:嵌入式系統(tǒng),圖像與視頻處理。