介紹了基于SPCE061A單片機的髖作用力測試儀的系統結構及部分軟件編寫(xiě)流程,著(zhù)重分析了測試儀的測力方法以及使用光電編碼器進(jìn)行測速和鑒相的原理。測試儀以SPCE061A單片機為控制核心,配有串行通信口,具備上位機實(shí)時(shí)監控、數據保存和復現、測試數據離線(xiàn)分析等功能。實(shí)驗證明,該測試儀具有測量準確、穩定性高及操控界面友好等優(yōu)點(diǎn)。 1 引言 隨著(zhù)體育訓練科學(xué)化水平的不斷提高,人體專(zhuān)項力量訓練的必要性日益受到重視。通過(guò)對大量實(shí)際運動(dòng)測試數據的總體分析發(fā)現,所有從事跑、跳運動(dòng)項目和以跑、跳為基礎運動(dòng)項目的運動(dòng)員,其向后蹬伸力量均明顯小于向下或向前蹬伸力量。而向后蹬伸力量恰恰是跑、跳運動(dòng)產(chǎn)生動(dòng)力所必需的專(zhuān)項力量。因此,設計開(kāi)發(fā)一套實(shí)用準確的髖作用力測試儀,對于教練精確量化運動(dòng)員的訓練效果,以及合理制定有針對性的訓練方案,進(jìn)而最終提高運動(dòng)員比賽成績(jì),有著(zhù)極其重要的參考價(jià)值。 本文所介紹的髖作用力測試儀以凌陽(yáng)公司推出的16位單片機SPCE061A為核心部件,綜合借鑒現有技術(shù),通過(guò)對測試儀軟硬件設計的合理規劃,充分發(fā)揮單片機自身集成眾多系統級功能單元的優(yōu)勢,有效降低了硬件成本,具有很高的可靠性和穩定性。 該髖作用力測試儀主要實(shí)現以下功能: (1)測量運動(dòng)員腿部下蹬作用力實(shí)時(shí)力量值; (2)測量運動(dòng)員腿部與下蹬作用力同步的實(shí)時(shí)速度值; (3)通過(guò)上位機實(shí)時(shí)顯示上述作用力、速度以及功率的具體數值和曲線(xiàn); (4)具備數據復現功能?梢员4娌⒈葘y試數據。 2 系統總體結構 髖作用力測試儀結構框圖如圖l所示。系統由數據采集處理電路、控制中心和上位機實(shí)時(shí)數據、曲線(xiàn)顯示3部分組成。 作用力采集電路將髖作用力以模擬量的形式傳遞至單片機I/O口。通過(guò)單片機自身集成的10位高速A/D轉換器,將力量值轉化為控制系統可用的數字量。速度采集電路由光電編碼器和鑒相電路組成。光電編碼器輸出的數字脈沖量經(jīng)單片機運算處理后,得出作用力的實(shí)時(shí)線(xiàn)速率,鑒相電路則向單片機提供了該作用力的方向。微控制器采用凌陽(yáng)16位單片機SPCE061A,其最高工作頻率為49.15MHz,32位可編程多功能I/O端口方便連接各種外設,片內集成7通道 10位電壓模數轉換器(ADC)和單通道聲音模數轉換器,并具有豐富的中斷資源,特別適用于實(shí)時(shí)性要求嚴格的控制系統。串口電平轉換電路完成RS232電平標準和單片機電平標準的轉換,以實(shí)現測試儀和上位機的實(shí)時(shí)全雙工數據通信。用戶(hù)可通過(guò)上位機控制程序實(shí)時(shí)觀(guān)測和保存訓練數據,并能夠設定測試儀的相關(guān)參數。 3 數據的采集和處理 髖作用力測試儀需要測量和顯示的數據主要包括髖作用力、與作用力相應的瞬時(shí)速度值和功率值。其中,髖作用力數據的采集由力傳感器和配套變送器完成,瞬時(shí)速度的采集由光電編碼器和鑒相電路完成。功率則可由作用力和速度的乘積求得。 3.1 髖作用力測量 髖作用力由力傳感器采集,其模擬電壓信號經(jīng)變送器放大和線(xiàn)性化處理后,送至SPCE061A內部集成的ADC完成數模轉換。 3.1.1 力傳感器工作原理 本測試儀采用電阻應變式力傳感器完成髖作用力采集。電阻應變式力傳感器由彈性敏感元件和電阻應變片組成。當彈性敏感元件受到被測力作用時(shí),將產(chǎn)生位移和應變,同時(shí)使粘貼在彈性敏感元件上的電阻應變片的阻值發(fā)生變化。因此,通過(guò)測量電阻應變片的阻值變化,就可以確定被測作用力的大小。力采集電路內部等效原理圖如圖2所示。 其中,Rl是粘貼在彈性敏感元件上的電阻應變片。R1"R4組成單臂式直流電橋,將橋電路中電阻的變化轉換為電橋輸出電壓的變化。由圖可知,電橋的輸出電壓為 即電橋輸出電壓Uo與電阻應變片阻值變化△Rl成線(xiàn)性關(guān)系。結合前述可知,電橋輸出電壓Uo的變化反映了作用力大小的變化。從而通過(guò)測量電橋輸出電壓Uo,就能實(shí)現對作用力大小的檢測。 力傳感器輸出的電壓信號Uo通過(guò)變送器的放大和線(xiàn)性化處理,由雙端輸入信號Uo轉變?yōu)閱味溯敵鲂盘朥sample。模擬電壓Usample與被測作用力線(xiàn)性相關(guān),送至后續模數轉換電路(ADC)完成模數變換。變送器中的精密變送放大電路一般采用三運放差動(dòng)放大電路,具有較高的輸入阻抗和共模抑制比,并通過(guò)內部的阻容耦合電路有效減小了溫度漂移,保證了測量的精確度。 3.1.2 髖作用力測量方法 力采集電路輸出 Usample是電壓模擬量,需要經(jīng)過(guò)ADC,變換為系統控制核心—單片機可以使用的數字量。SPCE061A內部集成有8通道10位高速A/D轉換器,本系統選用單通道I/O A0作為A/D轉換的模擬電壓輸入。A/D轉換的參考電壓Vref可以采用單片機系統自帶的Vdd,也可以通過(guò)軟件設置使用外部參考電壓?紤]到該測試儀的測力量程為0kg"300kg,力采集電路對應的模擬電壓輸出O V"3V,模擬電壓信號符合SPCE061A自帶A/D轉換器的輸入要求。因此,A/D轉換參考電壓采用系統默認的Vdd。將Usample連接至 SPCE061A的I/O A0端,即可進(jìn)行A/D轉換。本系統設計的A/D轉換頻率設置為l kHz,髖作用力F可表示為: 式中:Mmax是測試儀所測作用力的最大量程,g是重力加速度值,Umax是力采集電路輸出的模擬電壓最大值,AD_Data是力采集電路輸出 Usample經(jīng)A/D轉換后得到的10位數字量,AD_Max是10位A/D轉換器參考電壓Uref所對應的數字量,此處為0x03FF。實(shí)際編程中,為了降低采樣過(guò)程瞬態(tài)誤差的干擾,運用了算術(shù)均值濾波的方法,即最終顯示的作用力F通過(guò)對10次采樣的作用力求算術(shù)平均值取得。 3.2 速度測量 本測試儀中,與髖作用力同步的速度值和作用力方向由光電編碼器、鑒相電路和相應軟件計數器求得。 3.2.1 光電編碼器測速原理 光電編碼器是一種數字式角度傳感器,它能將角位移轉化成相應數量的電壓脈沖信號,主要用于機械轉角位置和旋轉速度的檢測和控制。本測試儀選用的ZKX-6- 50BM7型增量式光電縮碼器是一款高精度角位移傳感器,轉動(dòng)軸每旋轉一周分兩路輸出500個(gè)電壓脈沖信號Out_A和Out_B。其中,Out_A和 Out_B兩路信號相位差為90°。 將光電編碼器輸出接至單片機的外部中斷IRQ3,則轉動(dòng)引起的每一個(gè)電壓脈沖都會(huì )觸發(fā)單片機外部中斷。通過(guò)編制單片機外部中斷子函數,就可以實(shí)現對光電編碼器輸出脈沖個(gè)數的準確計算,經(jīng)換算后即得轉動(dòng)軸轉過(guò)的精確角位移。 因此,計算固定時(shí)間段內光電編碼器的角位移,就可求得轉動(dòng)軸的角速率,結合光電編碼器同軸轉盤(pán)的半徑,就可算得與髖作用力同步的線(xiàn)速度值。實(shí)際編程中,選用單片機內部512 Hz的時(shí)基中斷產(chǎn)生固定時(shí)間段,即計算每個(gè)時(shí)間間隔t=l/512 s內光電編碼器的輸出脈沖個(gè)數,從而求得速度。設v為t時(shí)間內的平均速度,由于固定時(shí)間段足夠小,所以將瞬時(shí)速度近似為平均速度v,則 式中:s為t時(shí)間內被測對象產(chǎn)生的位移;n為固定時(shí)間間隔內(1/512 s)光電編碼器輸出的脈沖數;ι為光電編碼器同軸轉盤(pán)的周長(cháng),N為光電編碼器旋轉一周輸出的脈沖數,此處N=500。 3.2.2 速度鑒相的方法 髖作用力檢測過(guò)程中,光電編碼器的轉向說(shuō)明訓練者髖部是主動(dòng)發(fā)力或是被動(dòng)受力。因此,光電編碼器轉向的判別是本測試儀必須具備的基本功能。通過(guò)對光電編碼器所輸出的相位差90°的兩路電壓脈沖信號0ut_A和Out_B進(jìn)行鑒相,就能夠判別轉盤(pán)正轉或反轉。具體鑒相電路原理如圖3所示。 光電編碼器輸出的Out_A和Out_B分別接至D觸發(fā)器時(shí)鐘端Clk和控制端D。根據D觸發(fā)器的功能定義,在輸入時(shí)鐘信號Out_A的每個(gè)脈沖上跳沿,觸發(fā)器的輸出W2被控制端D的輸入信號Out_B置位。圖4示意了光電編碼器正轉時(shí),Out_A、Out_B的信號波形和鑒相電路的輸出。 正轉時(shí),Out_A信號的相位超前Out_B信號90°,w1輸出始終為高電平。反轉時(shí),Out_A信號的相位延后Out_B信號90°,W1輸出始終為低電平。因此,通過(guò)讀取W1的電壓高低,就可以判別光電編碼器的轉向。 3.3 功率的測量 測得作用力和速度之后,功率可由二者乘積算得。即功率: P=Fv (5) 但考慮到單片機在計算實(shí)數乘法的效率和精度上的劣勢,單片機只負責將采集到的作用力和速度通過(guò)RS232上傳到上位機,實(shí)際運算則由上位機完成。此方法能滿(mǎn)足測試儀的實(shí)時(shí)性和精度要求。 4 系統軟件設計 SPCE061A內置在線(xiàn)仿真電路ICE (In-CircuitEmulator)接口和在線(xiàn)串行編程技術(shù),使程序開(kāi)發(fā)、調試和下載等均在可視化開(kāi)發(fā)環(huán)境中通過(guò)在線(xiàn)調試器PROBE實(shí)現,省去了傳統單片機開(kāi)發(fā)中必需的硬件在線(xiàn)實(shí)時(shí)仿真器(ICE)和程序燒寫(xiě)器。具體軟件設計中,充分利用SPCE061A豐富的時(shí)基中斷,在IRQ4、IRQ5中斷子程序中完成鍵盤(pán)掃描和A/D轉換等工作。與上位機的串行通信則采用SPCE061A自帶的UART硬件傳輸中斷,以滿(mǎn)足數據雙向傳輸的異步性和實(shí)時(shí)性。 系統程序由主程序、力采集子程序、速度計算子程序、串行通信子程序、外擴存儲器子程序和中斷子程序等部分組成。各部分嚴格按照模塊化原則編寫(xiě),易于日后系統升級和維護。其中,主程序主要完成測試儀各部件的初始化和自檢,以及實(shí)際測量中各個(gè)功能模塊的協(xié)調。 力采集子程序和速度計算子程序流程圖如圖5所示。 測試儀的上位機監控程序基于Visual C++6.0平臺開(kāi)發(fā)。使用微軟公司提供的MSComm控件,極大程度上避免了直接調用Win32API造成的編程繁瑣等弊端,以較少代碼量實(shí)現本系統要求的通信功能。上位機程序具備作用力計時(shí)、平均功率計算、正反轉選擇顯示、測量數據保存和復現等功能。程序運行界面如圖6所示。 5 結束語(yǔ) 該測試儀以凌陽(yáng)16位單片機SPCE061A為控制核心,充分發(fā)揮其片內資源豐富和運算速度快的優(yōu)點(diǎn),硬件電路結構簡(jiǎn)潔,穩定性高。上位機監控程序界面友好,操控方便。測試數據的保存和復現功能便于運動(dòng)訓練方案的離線(xiàn)分析和制定。整個(gè)測試儀具備較強的可擴展性。該測試儀已經(jīng)開(kāi)始在中國海洋大學(xué)運動(dòng)體能實(shí)驗室試用,并取得了良好的測試效果。 |