基于MC9S08GB32的便攜式無(wú)水阻槳頻船速測量?jì)x
摘要:介紹一種以MC9S08GB32為核心控制器的便攜式無(wú)小阻槳頻船速測量?jì)x的設計方案,給出方案設計原理、系統功能特性、硬件及軟件結構。
關(guān)鍵詞:MC9S08GB32 加速度傳感器 槳頻船速測量
引言
皮艇、劃艇、賽艇等都是比較重要的水上運動(dòng)項目。運動(dòng)員劃槳的槳頻、艇前進(jìn)的速度等是項目訓練中教練員和運動(dòng)員最為關(guān)注的指標。如果能夠方便、準確地測出這些運動(dòng)技術(shù)參數,并加以科學(xué)的運算、處理、分析,必會(huì )對訓練產(chǎn)生很好的指導作用。傳統方法不可避免地增加了水對艇的阻力,對運動(dòng)員訓練帶來(lái)額外負擔。由于傳感器要在水中工作,因此訓練前后的安裝、拆卸非常不便,由于傳感器和控制、電視教學(xué)部分分離,因此很難做到較小便攜。此外,由于傳感器輸出通常需要放大、濾波等處理,進(jìn)一步進(jìn)大了系統功耗,不便利用在電池供電場(chǎng)合。本文提出的測量系統采用Motorola的低功耗芯片MC9S08GB32作為信心控制器,通過(guò)對MMA6262Q型加速度傳感器的信號處理實(shí)現船速、槳頻的測量,克服了傳統儀器的諸多弊端。
圖1
1 設計原理及功能特性
本系統利用劃艇時(shí)每劃一槳,船體動(dòng)量會(huì )有一增量的原理開(kāi)發(fā)而成。工作時(shí),微控制器不斷采用加速度傳感器二個(gè)方向加速度對應的輸出電壓,然后通過(guò)內部A/D轉換器得到可運算的數字量,再經(jīng)過(guò)一定算法計算出船速、槳數和槳頻,最終存儲并顯示這些數據。該測量?jì)x具有以下功能特性:
采用電池供電,系統工作于3.3V電壓,再結合MC9S08GB32的低功耗工作模式,使系統具有很好的低功耗特性;
輕小便攜,外形尺寸為75mm40mm35mm(長(cháng)寬高),既不會(huì )給運動(dòng)員的劃槳帶來(lái)額外阻力,也便于攜帶使用;
具有自啟動(dòng)功能,設置好訓練時(shí)段后,劃動(dòng)第一槳時(shí),儀器便自動(dòng)開(kāi)始進(jìn)行測量和記錄,面板的LCD屏將實(shí)時(shí)顯示訓練時(shí)間、槳數、槳頻、速度等信息;
運動(dòng)計時(shí)范圍為59分59.9秒(00:00.0~59.9),計時(shí)精度為0.1秒,計時(shí)到59分59.9秒時(shí)可自動(dòng)返回到00:00.0;
具有自動(dòng)關(guān)閉功能,若6分鐘之內無(wú)劃槳操作,MC9S08GB32將自動(dòng)轉入低功耗模式,同時(shí)清LCD屏以節省電源功耗,直至有按鍵按下時(shí)才被喚醒,并繼續下一時(shí)段的測量、記錄工作;
皮艇槳頻測量范圍為60~180槳/分;劃艇槳頻測量范圍為36~100槳/分;賽艇槳頻測量范圍為12~60槳/分。
槳數測量范圍為0~9999槳,若計到9999槳將自動(dòng)返回0并繼續計數;
在每個(gè)訓練段的計時(shí)范圍內,可以記憶整個(gè)運動(dòng)過(guò)程中從劃第一槳至劃完最后一槳的總時(shí)間,以及這段時(shí)間內的平均槳頻和總槳數??衫冒存I操作依次在LCD屏上顯示整個(gè)運動(dòng)過(guò)程的總時(shí)間、總平均槳頻、總槳數。不清屏時(shí),可按需要多次重復顯示;
具有數據存儲功能,對于運動(dòng)時(shí)段數、運動(dòng)總時(shí)間、總槳數和槳頻的存儲而言,可以存儲4小時(shí)的運動(dòng)數據;對于槳速存儲而言,可以存儲15分鐘的運動(dòng)數據;二種存儲式可以通過(guò)按鍵單選擇;
具有數據通信功能,在訓練結束后,可以選擇將存儲的數據通過(guò)RS-232傳送到PC,進(jìn)行相應的運算、處理、分析;
PC端配有分析處理軟件,能夠接收儀器傳送的數據,以直觀(guān)、明了的圖形方式繪制各個(gè)訓練時(shí)段的加速度α(t)、速度v(t)、槳頻f(t)等多種參數曲線(xiàn),也能將訓練數據保存以供日后分析使用;
具有電池報警功能,當電池電量不足時(shí)不可報警顯示,提示用戶(hù)更換電池。
2 系統硬件設計
整個(gè)系統以MC9S08GB32型微控制器和MMA6260Q型加速度傳感器為核心,系統電路包括微控制器模塊、數據采集模塊、電源管理模塊、LCD顯示模塊、按鍵功能選擇模塊和PC串口通信模塊。其硬件框圖如圖1所示。
2.1 微控制器模塊
本系統選用的MC9S08GB32型MCU,是Motorola專(zhuān)為智能儀表應用設計的一款高速超低功耗MCU,速度可達20MHz。該MCU最大的特色體現在電源管理上,采用1.8V~3.6V供電,適合于電池供電的應用場(chǎng)合,低功耗模式下僅耗電0.7μA,內部電源管理支持電池電壓監測、低電壓報警等功能。內部8路16位定時(shí)器可滿(mǎn)足多種定時(shí)需求;32kB片內Flash支持在系統、在應用擦寫(xiě)而無(wú)需再擴展外部存儲器;8通道10位ADC;帶有SCI、SPI、I2C接口;56個(gè)通用I/O接口,具有內部可編程上拉電阻器、大電流吸收能力和邊沿斜率控制能力。儀表啟動(dòng)后,MCU可對MMA6260Q型加速度傳感器的信號進(jìn)行處理,進(jìn)而實(shí)現船速、槳數和槳頻的測量、計算、存儲和顯示。
2.2 數據采集模塊
MMA6260Q具有高靈敏度、低噪聲、低功耗等特點(diǎn)。其動(dòng)態(tài)量程為1.5g,靈敏度為800mv/g,輸出電壓與加速度成正比。該傳感器可與MC9S08GB32直接接口,其輸出直接送至MC9S08GB32的片內10位ADC。MC9S08GB32片內ADC的工作電壓為3.3V,工作頻率達2MHz,10位ADC對于加速度的分辨率可達4mg。具體連接方法參見(jiàn)圖2。XOUT與ADC引腳之間的RC起濾波作用,用于減小時(shí)鐘噪聲。加速度傳感器與微控制器之間不需大電流。電源與地之間的0.1μF電容器是去耦電容器,設計時(shí)應盡量減小加速度傳感器與微控制器之間的距離。
2.3 電源管理模塊
系統電源管理采用TPS78833型低噪聲、低壓差、低功耗穩壓 ,低電電池電壓范圍為2.7V~10V,輸出3.3V穩壓,最大輸出電流為150mA,靜態(tài)工作電流僅為0.017mA,采用SSOP小尺寸封裝。
2.4 LCD模塊
LCD采用專(zhuān)用字符液晶顯示模塊,通過(guò)不同字符組合,可以滿(mǎn)足當前槳頻、當前槳數、當前船速、平均槳頻、平衡槳數、航程、記錄通道數、訓練時(shí)間、工作方式、電池狀態(tài)等信息的顯示。LCD的電源電壓為3.3V,與MCU的接口采用SPI。
2.5 按鍵功能功能模塊
按鍵K2-K0用于設定儀器工作方式、測量的停止、顯示信息的選擇、系統休眠與喚醒、存儲數據擦除與傳送等。按鍵直接由MC9S08GB32管理,MC9S08GB32復用,KBI1P7-KBI1P0共享同一鍵盤(pán)中斷,KBI1P7-KBI1P4引腳還可以通過(guò)軟件為其配置內部上拉電阻器。
2.6 PC串口通信模塊
MAX3221是低功耗電平轉換器,實(shí)現3.3V TTL電平和RS-232電平之間的轉換,完成MC9S08GB32和PC之間通信的物理連接。
3 系統軟件設計
軟件主程序流程如圖3所示。系統初始化后,先判斷加速度傳感器的瞬時(shí)輸出電壓值,以決定系統是否進(jìn)入運動(dòng)測量狀態(tài)。進(jìn)入測量狀態(tài)后,由主程序完成加速度的采樣和補償、船速、槳數和槳頻的換算、數據的存儲與顯示刷新。工作狀態(tài)下,若在6分鐘之內加速度傳感器的瞬時(shí)輸出電壓一直低于某一閾值,MCU將會(huì )轉入休眠模式。按鍵檢測由按鍵中斷完成,再進(jìn)入相應的功能模塊。系統軟件包括測量?jì)x終端軟件和PC端軟件二部分。
3.1 測量?jì)x終端軟件
測量?jì)x終端軟件主要包括以下模塊。
(1)工作時(shí)鐘設定模塊:用來(lái)設定MC9S08GB32內部CPU的工作頻率、ADC、計數器、SCI等外圍模塊的工作時(shí)鐘頻率,同時(shí)利用計時(shí)器產(chǎn)生1/128ms的ADC采樣時(shí)間間隔及0.1s的運動(dòng)時(shí)間最小間隔。
(2)A/D采樣及船速測量模塊:MCU每隔1/128ms采樣一次MMA6260Q的加速度輸出,同時(shí)通過(guò)一定的軟件算法得 到一個(gè)瞬時(shí)速度值。軟件算法基于以下公式。
其中,v0為t0時(shí)刻的瞬時(shí)速度,v1(t)為t1時(shí)刻瞬過(guò)速度,α(t)為t0~t1時(shí)段的瞬時(shí)加速度值。
(3)槳數、槳頻測量模塊:運動(dòng)員每劃動(dòng)一槳將對船產(chǎn)生前向加速度,而在回槳過(guò)程中又會(huì )由水對船產(chǎn)生后向加速度,這種前、后向加速度隨著(zhù)運動(dòng)員的不停劃槳出現準周期性的變化,本測量模塊將結合實(shí)測的加速度曲線(xiàn),通過(guò)專(zhuān)門(mén)的軟件搜索算法判斷出每一槳的起始點(diǎn)、終止點(diǎn),從而得到槳數值和槳頻值。
(4)MMA6260Q靜態(tài)調零校準模塊:受工作溫度、供電電壓、電路個(gè)體差異等因素的影響,MMA6260Q的0g情況下的電壓輸出值會(huì )有一定的波動(dòng),故需要通過(guò)該模塊進(jìn)行零點(diǎn)校準,其他處理模塊需要利用此時(shí)得到的零點(diǎn)漂移值進(jìn)行軟件補償。
(5)系統自啟動(dòng)模塊和休眠啟動(dòng)、喚醒模塊:初始狀態(tài)下,當A/D采樣模塊的瞬時(shí)輸出超出某一閾值時(shí),系統便自動(dòng)轉入運動(dòng)測量狀態(tài)直到運動(dòng)員按下停止鍵或超時(shí)為止。工作狀態(tài)下,若在6分鐘之內A/D轉換模塊的輸出一直低于某一閾值,MCU將在清屏和現場(chǎng)保護后轉入休眠模塊以節省功耗。休眠模式下若有鍵按下,則退出休眠模式并返回休眠前的狀態(tài)。
(6)按鍵和LCD模塊:按鍵功能選擇模塊通過(guò)鍵盤(pán)中斷處理、軟件消抖、鍵值譯碼等過(guò)程獲取K2-K0的鍵值,產(chǎn)生不同工作狀態(tài)下的各種控制信息。MCU通過(guò)SPI接口向LCD顯示不同的數據信息。
(7)Flash擦、寫(xiě)模塊:測量槳頻和槳速時(shí)都需要將測量結果存儲到存儲器中,以供訓練結束后利用PC進(jìn)行進(jìn)一步的分析,Flash擦、寫(xiě)模塊完成MC9S08GB32片內32kB Flash在線(xiàn)擦寫(xiě),實(shí)現測量數據的存儲。擦、寫(xiě)模塊需要復制到MC9S08GB32中的RAM來(lái)執行。
(8)SCI通信模塊:SCI通信模塊可在通信工作方式下讀取Flash中存儲的測量數據,并遵循一定的通信協(xié)議將數據傳送給PC。
3.2 PC端軟件
PC端軟件基于Window界面,利用VisualC++編寫(xiě),主要實(shí)現測量數據的讀取、保存、分析處理和速度曲線(xiàn)α(t)、速度曲線(xiàn)v(t)、槳頻曲線(xiàn)f(t)等的顯示。
4 結束語(yǔ)
皮艇、劃艇、賽艇等是許多運動(dòng)會(huì )的正式比賽項目,也是非常依賴(lài)器材的項目,良好的器件能夠幫助運動(dòng)員改進(jìn)技術(shù),提高成績(jì)。本文設計的測量?jì)x能夠實(shí)現船速、槳數和槳頻的實(shí)時(shí)顯示;能存儲數據以便以后的分析和指導;操作簡(jiǎn)單,所有功能均由按鍵按制;儀表由電池供電,體積小,便于攜帶和放置;在艇類(lèi)體育運動(dòng)領(lǐng)域有著(zhù)良好的應用前景。
評論