來(lái)源: OFweek 摘要:隨著互聯(lián)網(wǎng)時(shí)代的到來(lái),越來(lái)越多的智能化設(shè)備幫助人們生活質(zhì)量,計(jì)步器作為一款可穿戴跟蹤設(shè)備,可以記錄行走步,提高運(yùn)動(dòng)樂(lè)趣。有別于傳統(tǒng)的計(jì)步器,腰帶型計(jì)步器嵌入腰帶內(nèi)部,能夠縮小穿戴設(shè)備的體積和免去可穿戴設(shè)備的“二次穿戴”問(wèn)題,并且依靠精度高、功耗低的ADLX345 傳感器實(shí)現(xiàn)準(zhǔn)確計(jì)步,實(shí)驗(yàn)表明:腰帶型計(jì)步器具有體積小,結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定性高,能夠滿足計(jì)步要求。 0 引言 當(dāng)今社會(huì),隨著經(jīng)濟(jì)的發(fā)展,人民的生活水平越來(lái)越高,生活節(jié)奏越來(lái)越快,伴隨而來(lái)的是人們的身體素質(zhì)普遍下降,體重超標(biāo)、亞健康等問(wèn)題普遍存在。人們也越來(lái)越關(guān)注自己的身體健康問(wèn)題,而鍛煉身體是使自己保持健康的最有效方法。計(jì)步器作為一款可穿戴健康跟蹤設(shè)備,可以記錄人的行走步數(shù),反饋給用戶準(zhǔn)確的運(yùn)動(dòng)數(shù)據(jù),幫助佩戴者量化鍛煉強(qiáng)度、制定合理的健身方案,提醒佩戴者適當(dāng)調(diào)節(jié)運(yùn)動(dòng)量,激勵(lì)佩戴者堅(jiān)持鍛煉身體。 目前計(jì)步器有機(jī)械式和電子式兩種。機(jī)械式計(jì)步器依靠?jī)?nèi)部簧片的振動(dòng)產(chǎn)生電子脈沖, 進(jìn)而達(dá)到計(jì)步的功能。其準(zhǔn)確性和靈敏度較低。電子式的計(jì)步器通過(guò)測(cè)量人體行走時(shí)加速度的變化,來(lái)達(dá)到計(jì)步的功能。電子式計(jì)步器有較好的準(zhǔn)確性和靈敏度。電子計(jì)步器有的要求確定的佩戴部位,比如腰部、手腕等;有的對(duì)佩戴部位沒(méi)有要求,只要放在身邊的口袋里、手提包中就可以計(jì)步。總的來(lái)說(shuō),佩戴手腕的計(jì)步器和對(duì)佩戴部位無(wú)要求的計(jì)步器實(shí)現(xiàn)精確計(jì)步的難度較大,開(kāi)發(fā)成本也較高。佩戴在腰部的計(jì)步器更加容易實(shí)現(xiàn)精確計(jì)步功能,其成本也較低。它們都需要進(jìn)行“二次穿戴”。 1 硬件設(shè)計(jì) 1.1 ADXL345 傳感器 計(jì)步器由ADXL345 加速度傳感器、STC90C51 單片機(jī)、LCD1602 顯示器,歸零按鍵、等幾個(gè)部分組成。由電池進(jìn)行供電。ADXL345 是一款小而薄的超低功耗3 軸加速度計(jì),測(cè)量范圍達(dá)± 16g。其高分辨率(3.9mg/LSB),能夠測(cè)量不到1.0°的傾斜角度變化。其基本工作流程為:首先由三軸敏感單元敏感3 個(gè)方向加速度,然后通過(guò)電子感應(yīng)器件將感應(yīng)到物理量模擬化,再通過(guò) A/D 采樣轉(zhuǎn)換成數(shù)字信號(hào),經(jīng)過(guò)數(shù)字濾波后送往控制與中斷邏輯,在命令字的控制下通過(guò)串行 I/O 口與主設(shè)備交互。 1.2 IIC 總線通信 ADXL345 有兩種與微處理器(單片機(jī))通信的方式:SPI 和IIC。我們采用的通信方式是IIC 總線通訊方式。IIC 總線由數(shù)據(jù)線SDA 和是鐘線SCL 構(gòu)成,可發(fā)送和接受數(shù)據(jù)。在CPU 與被控IC 之間、IC 和IC 之間進(jìn)行雙向傳送,最高傳送速率100Kbps。IIC 總線的主要優(yōu)點(diǎn)有:1、占用的空間非常小,減小了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本。2、支持多主控,其中任何能夠進(jìn)行發(fā)送和接受的設(shè)備都可以成為主設(shè)備。如果 CS 片選引腳接 VDD I/O 高電平的話,IIC 接口模式啟用。IIC 一個(gè)可變地址 0x53,可能會(huì)被引腳SDO 選中,此時(shí)寫(xiě)操作為 0xA6,讀操作為 0xA7。其工作工程為:首先啟動(dòng)IIC 總線,為數(shù)據(jù)傳輸做好準(zhǔn)備,然后向從設(shè)備(ADXL345)發(fā)送存儲(chǔ)單元地址,再連續(xù)讀取6 個(gè)地址數(shù)據(jù)存入接受數(shù)據(jù)緩存區(qū),接收完以后從設(shè)備(ADXL345)向主設(shè)備(微處理器)發(fā)送應(yīng)答信號(hào),最后在發(fā)送停止信號(hào),標(biāo)志一次數(shù)據(jù)的傳輸終止,IIC 總線處于空閑狀態(tài)。 1.3 STC90C51 單片機(jī) STC90C51 單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的增強(qiáng)型8051 單片機(jī),其在一塊硅片上集成了中央處理器(CPU),程序存儲(chǔ)器(Flash)和數(shù)據(jù)儲(chǔ)存器(SRAM)、定時(shí)器/計(jì)數(shù)器、UART 串口、I/O 接口、EEPROM、看門(mén)狗等模塊。具有一臺(tái)計(jì)算機(jī)屬性。STC90C51 工作電壓為3.3V—5.5V,共有40 個(gè)管腳,通用I/O 口為35 個(gè)。 STC90C51 一端連接著 ADXL345,對(duì)ADXL345 傳輸來(lái)的數(shù)據(jù)進(jìn)行處理和判斷,另一端連接中LCD1602 顯示器,將顯示命令和顯示的數(shù)據(jù)傳輸給LCD1602。同時(shí),還有歸零按鍵、斷電按鈕等。 1.4 LCD1602 顯示器 本次設(shè)計(jì)采用的LCD1602 字符型液晶顯示屏作為系統(tǒng)的顯示界面。LCD1602 顯示器是一種專門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)的點(diǎn)陣型液晶模塊。它是由若干個(gè)5 ╳ 7 或者5 ╳ 11 的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。其中,引腳編號(hào)1、2 為電源端;引腳編號(hào)3 為液晶顯示偏壓信號(hào),用于調(diào)節(jié)顯示對(duì)比度;編號(hào)4 為數(shù)據(jù)/ 命令選擇端,與單片機(jī)P1.0 口相連;編號(hào)5 為讀/ 寫(xiě)選擇端,與單片機(jī)P1.1 口相連;編號(hào)6 為使能端,與單片機(jī)P2.5 口相連;編號(hào)7 到編號(hào)14 為8 個(gè)數(shù)據(jù)I/O 口;引腳編號(hào)15、16 為背光源電源端。首先,對(duì)LCD1602 進(jìn)行初始化,設(shè)置光標(biāo)、指針等數(shù)據(jù),然后寫(xiě)入命令,設(shè)置符號(hào)的顯示位置,最后,連續(xù)將字符寫(xiě)入顯示器,LCD1602 顯示器會(huì)把字符顯示出來(lái)。 2 人體行走模型 人在行走過(guò)程中有很多參數(shù)發(fā)生變化,比如:距離、能量、加速度等。而通過(guò)加速度變化來(lái)描述人行走特征是一種簡(jiǎn)便、可行的方法。從腳的加速度來(lái)檢測(cè)步數(shù)是最準(zhǔn)確的, 但是考慮到攜帶的方便, 我們選擇利用腰部的運(yùn)動(dòng)來(lái)檢測(cè)步數(shù)。腰部的運(yùn)動(dòng)加速度可以分解成垂直軸,前進(jìn)軸已經(jīng)側(cè)向軸三個(gè)方向。如圖1 所示。ADXL345 是一個(gè)三軸(X 軸、Y 軸和 Z 軸) 模擬輸出的加速度傳感器, 正好可以作為垂直、側(cè)向和前進(jìn)三個(gè)方向的傳感器。如圖2 所示。從圖中可以看到垂直軸(X 軸)和前進(jìn)軸(Z 軸)方向上有著較為明顯的周期特性。垂直軸加速度值最小處對(duì)應(yīng)的是腳離開(kāi)地面( 一步的開(kāi)始或結(jié)束) , 最大值對(duì)應(yīng)腳抬到最高點(diǎn)。前進(jìn)軸加速度最小處對(duì)應(yīng)的是腳離開(kāi)地面( 一步的開(kāi)始或結(jié)束), 最大值對(duì)應(yīng)腳抬到最高點(diǎn)。 圖 1 人體行走模型 圖2 垂直軸、側(cè)向軸、前進(jìn)軸加速度變化(放大1000 倍) 3 軟件實(shí)現(xiàn) 通常情況下,人的最大步頻不超過(guò)5 步/s,最小步頻為0.5步/s。所以,人行走的頻率為0.5—5hz 之間,因此,我們通過(guò)低通濾波器過(guò)濾掉5hz 以上的噪音頻率,通過(guò)在程序里面設(shè)定時(shí)間間隔,將0.5hz 以下的頻率過(guò)濾掉,最終得到0.5—5hz 的有效頻率。 此外,由于不同人行走時(shí)的加速度輸出是不同的,所以作者設(shè)計(jì)了一種動(dòng)態(tài)濾波程序,程序持續(xù)更新記錄下X 軸輸出數(shù)據(jù)的最大值(max)和最小值(min),當(dāng)記錄下100 組數(shù)據(jù)時(shí),求其一次平均值(average),即將所有的max 和min 求和除以100。為了排除系統(tǒng)誤差,當(dāng)max 超過(guò)程序本身設(shè)定的一個(gè)上限值或者min 小于程序本身設(shè)定的一個(gè)下限值,自動(dòng)將本次max 取為上限值或者將本次min 取為下限值。接下來(lái)記錄的100 次max 和min 數(shù)據(jù)過(guò)程中,利用average 數(shù)值來(lái)判斷人行走的步數(shù)。 程序不斷地更新最大值和最小值。每當(dāng)程序記錄下來(lái)一個(gè)min 時(shí),開(kāi)始記錄采樣點(diǎn)數(shù),在一定的采樣點(diǎn)數(shù)內(nèi)能夠采集到最大值(max),并且max 和min 都超過(guò)了由average 所確定的一定區(qū)間時(shí),可以判斷為一步有效步成立。同時(shí),Z 軸的加速度變化滿足程序所設(shè)定的要求時(shí),計(jì)步程序加1。另外,為了驗(yàn)證腰帶型計(jì)步器的計(jì)步準(zhǔn)確性,將ADXL345 傳感器安裝在實(shí)驗(yàn)者的腰部進(jìn)行了5次步頻不同的測(cè)試,每次測(cè)試行走100 步。實(shí)驗(yàn)結(jié)果如表1 所示。 表 1 實(shí)驗(yàn)結(jié)果 4 結(jié)論 ADXL345 是ADI 公司開(kāi)發(fā)的一款功耗低、封裝小、高精度的三軸加速度傳感器?;贏DXL345 的腰帶型計(jì)步器可以達(dá)到現(xiàn)在市場(chǎng)上普通計(jì)步器的計(jì)步精度,與人們普遍使用的腰帶相結(jié)合,大大減輕了計(jì)步器需要二次穿戴的繁瑣問(wèn)題。另外,計(jì)步器嵌于腰帶頭內(nèi)可有效縮小空間和保證穩(wěn)定性。腰帶型計(jì)步器能夠較好地適應(yīng)不同步頻情況,保證計(jì)步準(zhǔn)確性。 |
|