葛峰峰
(南京理工大學 江蘇 南京 210094)
一種運動姿態測量系統的設計
葛峰峰
(南京理工大學 江蘇 南京 210094)
為了實現運動姿態的測量,設計了一個基于微處理器CC2530和芯片MPU6050的系統。采用MPU6050傳感器采集加速度信號,處理器CC2530計算出運動角度,與設定的標準角度比較,實現如俯臥撐,仰臥起坐等運動的計數,再通過CC2530芯片帶有的無線RF收發器對計數進行無線傳輸。實測中系統性能穩定,操作簡單,達到設計目的。
CC2530;無線通信;MPU6050;加速度;角度計算
Abstract:In order to realize the motion measurement,this paper designed a system based on the combination of the microprocessor,CC2530, and the chip,MPU6050.The MPU6050 sensor acquires acceleration signal, calculates the movement angle, and compares to the standard angle we set.Through those steps, the sensor realize the counting of exercising such as push-ups, sit-ups etc.Then through the CC2530 with wireless RF transceiver chip transfer the counting.In experiment,the performance of system is stable and easy to operate.The system meet the design purpose.
Key words:CC2530; wireless communication; MPU6050; acceleration; angle calculation
隨著社會發展,軍人在日常訓練中對于人體運動如俯臥撐,仰臥起坐等提出了規范化的要求,本設計應運而生。本設計包括若干傳感器節點,和一個網關節點。網關節點與傳感器節點進行一對多無線通信,實現控制與信息獲取。傳感器節點接收網關命令啟動運動姿態檢測,如俯臥撐,仰臥起坐的計數,再將計數值通過無線回傳給網關節點,網關節點通過串口傳輸給上位機[1-4]。
運動姿態測量系統主要由核心模塊、傳感器模塊、電源模塊、數據傳輸模塊,串口模塊等部分組成,傳感器節點與網關節點的差別在于是否含有傳感器模塊,系統總體框圖如圖1所示。MCU采用TI公司的CC2530單片機作為控制芯片,該芯片具有串口輸出,2.4 GHz無線通信功能,抗干擾能力強;傳感器模塊采用MPU6050,負責采集加 速度信號[5]。

圖1 系統總體框圖
核心模塊主要完成傳感器數據的讀取,計算,以及控制命令,實時數據的傳輸。模塊采用德州儀器的CC2530F256集成芯片。這款芯片集成業內標準的增強型8051控制內核,以及優良性能的業內領先的2.4 GHz RF收發器,自帶256 kB的大容量閃存。搭載了TI研發的業內領先的ZigBee協議棧 (ZStackTM),用戶可以在這個基礎上進行自己程序的開發[6-7]。同時這款芯片有多種運行模式,可以在休眠,低功耗,正常運行之間切換,節約能源消耗。使設備運行更長時間。應用電路如圖2所示。

圖2 CC2530應用電路
其中將I/O口的P1.5腳定義為輸出,連接小燈,可以觀察單片機運行狀況,P0.4與P0.5與傳感器模塊相連,模擬I2C通信,接收數據,P0.2與P0.3與上位機進行串口通信。P2.1與P2.2連接下載器進行程序下載調試。
傳感器選用MPU6050芯片,這款芯片集成了一個3軸加速度計與一個陀螺儀,在本設計中利用其3軸加速度計部分,這款芯片有兩種通信方式,選用其I2C通信,進行數據傳輸。主要工作過程為芯片采集X,Y,Z 3個軸的加速度電壓值,通過內部的16位AD信號轉換器,轉成數字信號通過I2C總線傳輸給主芯片,使用最小驅動電路[8-10]。MPU6050芯片主要的引腳功能說明如表1所示。

表1 MPU6050的主要管腳功能
本設計需要對人體的運動達標姿態進行數量統計,使用有線數據傳輸不符合工程需求,因此數據傳輸部分使用無線方式,運用2.4 GHz頻段進行無線通信,再由網關總機將每個節點數據通過串口傳輸到上位機。為了設備簡潔,輕便,采用PCB天線。通過比較選用倒F天線設計。
倒F型天線,顧名思義,是由于其結構形如英文字母F倒置而命名[11-12]。天線結構已經設計了接觸地金屬面,可以降低模塊中接地金屬對其的干擾,所以非常適合用在小型2.4 GHz無線裝置中。另一個優點是,由于倒F型天線僅僅需要設計適當尺寸的金屬導體配合適當的阻抗匹配及將天線短路到接地,所以這款天線制作成本很低,而且可以直接繪制在PCB電路板上,一體化設計,非常方便,節省空間。
傳感器節點部分主要有兩個任務,一個是運動姿勢的測量,一個是無線傳輸。運動姿勢的測量,流程如圖6所示。主要過程通過抽象建模,實際運動過程中重力加速度方向一直朝下不變,3個軸在轉。但我們抽象建模將3個軸方向不變,3個加速度值抽象成一個空間向量坐標,建立一個空間坐標系,相當于重力加速度在轉,因此運動角度可以通過向量夾角求出。運算過程為開機初始化邊界向量A,B都為最初加速度值;在讀取下一時刻值,建立向量O,比較AO夾角與BO夾角,AO大則更新B,否則更新A。接下來判斷AB夾角情況,達到標準則將標志加一,標志達到2即一去一回則算作完成一次運動。同時可以記錄AB的中間向量,作為參考,如果達標的兩次中間向量夾角太大可以不計次數,清零初始化重新來。以上為整個運動計數功能設計。
無線通信部分利用2.4 GHz頻段,設置節點信道,通信增益,節點短地址,然后接收控制命令。在這個過程中通過TXPOWER,FREQCTRL兩個寄存器設置通信功率和信道。再設置自身短地址,通過basicRfReceive (pRxData,APP_PAYLOAD_LENGTH,NULL)函數接受數據識別其中控制命令,根據命令通 過 uint8 basicRfSendPacket (uint16 destAddr,uint8*pPayload,uint8 length)函數發送相應信息。

圖3 運動計數流程圖
網關節點部分負責接收上位機命令下達給傳感器節點,然后接收傳感器節點數據返回給上位機。網關節點軟件主要是節點底層應用編程,無線傳輸協議使用德州儀器CC2530自帶的RF點對點發送[13]。以C語言為基礎,在通用程序的基礎上修改,實現自己需要的功能,包括查詢在線節點,數據收發等功能[14],具體的軟件設計如圖4所示。

圖4 網關節點無線通信設計
網關節點還負責與上位機通過串口通信。涉及到對串口接收到的數據進行識別,截取有用部分,本設計中對數據進行格式固定,字頭兩個0x66,字尾兩個0xBB,從緩存中讀一段數據,先找到字頭,再找到字尾,然后將控制命令從數據中識別出。根據命令進行相應無線傳輸。
利用C++語言面向對象開發PC機端的管理軟件,使用者可以通過管理軟件看到運動計數,在線節點編號,電壓等信息,可以實時下達運動開始,結束的命令,設置運動標準角度,一組運動持續時間等信息。上位機軟件通過串口與網關節點通信,他在整個系統中是非常重要的。網關節點對傳感器節點發回的數據實時上傳,因此上位機需要對串口輸入的緩沖區進行實時管理,避免網關節點發回的數據被相互覆蓋,為了實現相應功能,專門編寫了CnComm類[15-16]。
先采集傳感器數據通過串口輸出,驗證算法的有效性。數據為人體做俯臥撐時的3軸加速度值的變化。經過計算發現與實際運動個數相符,但由于加速度會有某些尖峰,當運動速度過快會產生多計,因此需要濾波,采用移動平均法,濾波寬度為20,開始時采集數據次數不滿20,直接取平均,數據多于20個時,每次有新數據時將20個數據總和減去平均值,再加上新數據值,返回新的平均值;同時采用時間限制,太短時間內所產生的計數不計入有效范圍之內。
再加上無線通信部分,傳感器節點能夠做到在13 ms內接收命令,計算,回傳數據。測試主要目的為計算人體俯臥撐速度,根據世界紀錄最快大概,1秒3個,濾波20次260 ms,能滿足1秒3個的速度。本系統在室外進行了系統組網測試,數據傳輸測試,傳輸距離測試。采用一臺上位機,一部網關,10個傳感器節點,測試能夠到達60 m穩定傳輸。上位機軟件主要有個數、時間顯示,以及網絡檢測,參數設置,檢測電壓,啟動,結束等幾個部分。如圖5所示。

圖5 上位機軟件界面
人體運動姿態測量系統以CC2530單片機為主芯片實現了無線通信,配合MPU6050芯片實現運動角度測量。實測中能夠做到多點同時測量,數據準確,傳輸實時性好。該系統做到了運動標準化計數的可穿戴設計,具有很強的現實運用意義。
[1]林宇,方方,林澤萍,等.基于MPU6050三軸傾角測控設計[J].數字技術與應用,2016(1):181.
[2]卓從彬,楊龍頻,周林,等.基于MPU6050加速度傳感器的跌倒檢測與報警系統設計[J].電子器件,2015(4):821-825.
[3]劉莉,鄭冬云,劉曉軍.基于MPU6050的老年人跌倒監測系統設計[J].中國醫療器械雜志,2015(5):327-330.
[4]陳克濤,張海輝,張永猛,等.基于CC2530的無線傳感器網絡網關節點的設計[J].西北農林科技大學學報:自然科學版,2014(5):183-188.
[5]賴義漢,王凱.基于MPU6050的雙輪平衡車控制系統設計[J].河南工程學院學報:自然科學版,2014(1):53-57.
[6]龔文超,吳猛猛,劉雙雙.基于CC2530的無線監控系統設計與實現[J].電子測量技術,2012(6):33-36,49.
[7]Xin Zhenghua,Chen Guolong,Li Xianwei,et al.Research on the ZigBee Network and Equipment Design Based on the CC2530[J].Sensors&;Transducers,2013(15):8-11.
[8]徐秀林,姚曉明,徐奚嬌.MPU6050在評定人體上肢關節角度中的應用 [J].生物醫學工程學進展,2015(3):137-141.
[9]徐斌,裴曉芳,李太云.穿戴式智能計步器設計[J].電子科技,2016(3):178-182.
[10]李士垚,唐星陽,呂迪洋.基于MPU6050六軸傳感器的懸空鼠標設計與實現 [J].電子制作,2016(15):26-27.
[11]李俊斌,胡永忠.基于CC2530的ZigBee通信網絡的應用設計[J].電子設計工程,2011(16):108-111.
[12]湯鎮輝,張正明.基于CC2530的ZigBee無線路燈節能智能監控系統[J].微型機與應用,2011(19):81-83.
[13]Dawood Moeinfar,Hossein Shamsi,Fatemeh Nafar.Design and implementation of a low-power active RFID for container tracking at 2.4 GHz frequency[J].Advances in Internet of Things,2012,2 (2):13-22.
[14]蔡利婷,陳平華,羅彬,等.基于CC2530的ZigBee數據采集系統設計 [J].計算機技術與發展,2012(11):197-200.
[15]李志方,鐘洪聲.IEEE802.15.4的CC2530無線數據收發設計 [J].單片機與嵌入式系統應用,2011(7):43-45.
[16]章偉聰,俞新武,李忠成.基于CC2530及ZigBee協議棧設計無線網絡傳感器節點[J].計算機系統應用,2011(7):184-187,120.
A design of exercising attitude measurement system
GE Feng-feng
(Nanjing University of Science and Technology, Nanjing210094,China)
TN925+.92
A
1674-6236(2017)19-0027-04
2016-08-25稿件編號201608190
葛峰峰(1992—),男,江蘇南京人,碩士。研究方向:控制理論與控制工程。