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