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