楊圣華 王永偉 李曉蕾
摘 要:針對當(dāng)前頸椎病呈現(xiàn)出的“人數(shù)多、低齡化、危害大,難治愈”趨勢,為了防患頸椎病于未然。本文基于MPU6050六軸陀螺儀設(shè)計并實現(xiàn)了一款智能頸環(huán)。該方案采用嵌入式設(shè)計,以MPU6050作為姿態(tài)監(jiān)測傳感器,nRF51822藍(lán)牙芯片作為單片機(jī),通過MATLAB等仿真軟件及卡爾曼濾波處理得到精確的頸椎運動監(jiān)測模型。
關(guān)鍵詞:可穿戴設(shè)備;傳感器;頸椎病
21世紀(jì)初,世界衛(wèi)生組織宣布頸椎病已經(jīng)成為世界第二大頑疾,越來越多的新聞也表明頸椎病有低齡化的趨勢。頸椎病的危害極大,患者臨床表現(xiàn)復(fù)雜,最重可至癱瘓,治愈的可能性也極低。本文從預(yù)防頸椎病的方向出發(fā),提出一款智能頸環(huán)的設(shè)計方案。該方案將對系統(tǒng)的總體方案,硬件電路和軟件設(shè)計等內(nèi)容做詳細(xì)介紹,通過MPU6050采集頸椎運動姿態(tài)數(shù)據(jù),結(jié)合ARM單片機(jī)內(nèi)核做數(shù)據(jù)分析后利用藍(lán)牙4.0與上位機(jī)實現(xiàn)通訊。
一、系統(tǒng)總體方案
在本產(chǎn)品中,智能頸環(huán)MCU是ARM單片機(jī)nRF51822。該處理器的芯片面積小且能耗極低。本方案通過貼片工藝將MPU6050芯片及nRF51822芯片嵌入到頸環(huán)目標(biāo)板當(dāng)中。頸環(huán)工作原理如下:MPU6050芯片采集用戶運動姿態(tài)數(shù)據(jù),MCU通過I2C協(xié)議讀取到傳感器中的歐拉角數(shù)據(jù),并通過芯片內(nèi)的算法得到姿態(tài)數(shù)據(jù)。姿態(tài)數(shù)據(jù)會通過藍(lán)牙串口通訊服務(wù)發(fā)送到上位機(jī),也會被存入M25P16存儲芯片。系統(tǒng)總體方案圖如圖1所示。
二、硬件設(shè)計
(一)單片機(jī)
考慮到智能頸環(huán)需要擁有可靠的續(xù)航能力,單片機(jī)采用低功耗藍(lán)牙芯片nRF51822。該芯片具有現(xiàn)成的s110協(xié)議棧及與之相匹配的SDK,內(nèi)置256Kb閃存及16Kb RAM,靈活的電源管理ADC以及數(shù)據(jù)接收信號強(qiáng)度檢測(RSSI)等豐富硬件資源[ 1 ]。通過搭載貼片陶瓷天線和阻容器件即可實現(xiàn)藍(lán)牙網(wǎng)絡(luò)節(jié)點。
(二)傳感器
傳感器采用MPU6050,該芯片由一個三軸陀螺儀和一個三軸加速計組成。通過它內(nèi)部集成的數(shù)字運動處理器DMP即可直接運算出四元數(shù)和歐拉角[ 2 ]。單片機(jī)只需等待DMP解算完成后產(chǎn)生的外部中斷,在外部中斷中就可以輕易讀取姿態(tài)解算的結(jié)果。此外,通過DMP解算后的數(shù)據(jù)已經(jīng)去除了高斯白噪聲,使得以此建立的算法分析模型更精確[ 3 ]。經(jīng)過DMP解算后的數(shù)據(jù)將會通過I2C協(xié)議傳輸?shù)絾纹瑱C(jī)當(dāng)中,隨后單片機(jī)通過串口傳輸?shù)缴衔粰C(jī)進(jìn)行分析。
(三)存儲器單元
存儲器主要由片內(nèi)存儲及外設(shè)M25P16存儲芯片組成,通過操作nRF51822內(nèi)部的Flash或通過SPI總線將數(shù)據(jù)存儲到M25P16實現(xiàn)數(shù)據(jù)長久存儲。
三、軟件設(shè)計
(一)初始化
在單片機(jī)軟件編程中需要注意每個元件的初始化工序。在這里我們需要注意的是六軸陀螺儀MPU6050的初始化。MPU6050的初始化分為陀螺儀的初始化以及DMP的初始化,首先初始化I2C總線,然后通過I2C總線往MPU6050當(dāng)中寫入數(shù)據(jù),包括設(shè)置采樣率、晶振頻率、工作模式等;隨后開始初始化DMP,該過程包括初始化I2C總線,設(shè)置所需傳感器、FIFO、采樣率、加載dmp固件等功能。
(二)算法模型
算法模型為自主研發(fā)的基于卡爾曼濾波的姿態(tài)檢測算法。該算法的工作原理是借助六軸陀螺儀內(nèi)部自帶的卡爾曼濾波引擎,將三軸加速計監(jiān)測得到的加速度值作為基準(zhǔn)值,將三軸陀螺儀的值作為比較值。通過將兩個軸的加速度進(jìn)行反三角函數(shù)運算得到物體在空間當(dāng)中的角度,即三個歐拉角。通過將三軸陀螺儀每個角速度進(jìn)行積分得到三個歐拉角。隨后將兩個角度輸入卡爾曼引擎,引擎根據(jù)多個比較值與基準(zhǔn)值之間的協(xié)方差[ 4 ]做濾波分析,得到可靠的歐拉角并輸出。在這里卡爾曼濾波的核心原理是利用陀螺儀與加速計的對比降噪,減少高斯白噪聲。隨后利用經(jīng)過降噪后所得的三個歐拉角量化用戶佩戴頸環(huán)時的姿勢,通過多次數(shù)據(jù)采樣,檢測出左傾,右傾,低頭等頸椎姿態(tài)數(shù)據(jù)變化并記錄。最后將記錄的數(shù)據(jù)通過MATLAB分析建模,得到頸椎姿態(tài)算法模型。
(三)流程設(shè)計
主線對單片機(jī)進(jìn)行一部分初始化設(shè)置后開始廣播,此時若沒有外部中斷產(chǎn)生則芯片自動進(jìn)入休眠化并持續(xù)運行運動姿態(tài)算法,直到藍(lán)牙連接請求被接收到之后開啟中斷。中斷部分根據(jù)主設(shè)備發(fā)送的字符來執(zhí)行不同的功能。
四、結(jié)語
本文提出了一種新型的可穿戴式設(shè)備——智能頸環(huán)。該頸環(huán)利用MPU6050作為傳感器,并設(shè)計了基于卡爾曼濾波的姿態(tài)角監(jiān)測算法來監(jiān)測佩戴者頸椎運動狀況,實現(xiàn)頸椎姿態(tài)的智能監(jiān)測。獲得的頸椎姿態(tài)數(shù)據(jù)可以通過藍(lán)牙4.0技術(shù)傳輸?shù)缴衔粰C(jī)加以利用。在物聯(lián)網(wǎng)技術(shù)成熟的今天,通過結(jié)合APP及服務(wù)器技術(shù),可以實現(xiàn)一套科學(xué)的頸椎病預(yù)防方案。本項目的核心技術(shù)在疲勞駕駛檢測,學(xué)習(xí)專注度檢測等各類姿態(tài)監(jiān)測應(yīng)用領(lǐng)域也具有廣泛的應(yīng)用價值,
參考文獻(xiàn):
[1] 譚暉.低功耗藍(lán)牙技術(shù)快速入門[M].北京.北京航空大學(xué)出版社,2016.
[2] 葉龍.基于MPU6050傳感器的方位角傾角算法研究[D].吉林大學(xué),2015.
[3] 傅忠云,朱海霞,孫金秋,劉文波.基于慣性傳感器MPU6050的濾波算法研究[J].壓電與聲光,2015.
[4] 高顯忠,候中喜,王波,張俊韜.四元數(shù)卡爾曼濾波組合導(dǎo)航算法性能分析[J].國防科學(xué)技術(shù)大學(xué)航天科學(xué)與工程學(xué)院,2013.