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