摘要: 計步器是一種頗受歡迎的日常鍛煉進度監控器,可以激勵人們挑戰自己,增強體質,幫助瘦身。早期設計利用加重的機械開關檢測步伐,并帶有一個簡單的計數器。晃動這些裝置時,可以聽到有一個金屬球來回滑動,或者一個擺錘左右擺動敲擊擋塊。
計步器功能可以根據計算人的運動情況來分析人體的健康狀況。而人的運動情況可以通過很多特性來進行分析。與傳統的機械式傳感器不同,ADXL345是電容式三軸傳感器,由它捕獲人體運動時加速度信號,更加準確。信號通過低通濾波器濾波,由單片機內置A/D轉換器對信號進行采樣、A/D轉換。軟件采用自適應算法實現計步功能,減少誤計數,更加精確。單片機STC89C52控制液晶顯示計步狀態。整機工作電流只有1-1.5mA,實現超低功耗。
關鍵字:計步器;加速度傳感器;ADXL345;低功耗
1.1論文研究的背景、目的及意義
隨著社會的發展,人們的物質生活水平日漸提高,人們也越來越關注自己的健康。計步器作為一種測量儀器,可以計算行走的步數和消耗的能量,所以人們可以定量的制定運動方案來健身,并根據運行情況來分析人體的健康狀況,因而越發流行。手持式的電子計步器是適應市場需求的設計,使用起來簡單方便。
計步器是一種頗受歡迎的日常鍛煉進度監控器,可以激勵人們挑戰自己,增強體質,幫助瘦身。早期設計利用加重的機械開關檢測步伐,并帶有一個簡單的計數器。晃動這些裝置時,可以聽到有一個金屬球來回滑動,或者一個擺錘左右擺動敲擊擋塊。電子計步器主要組成部分是振動傳感器和電子計數器。步行的時候人的重心會上下移動。以腰部的上下位移最為明顯,所以記步器掛在腰帶上最為適宜。所謂的振動傳感器其實就是一個平衡錘在上下振動時平衡被破壞使一個觸點能出現通/斷動作,由電子計數器完成了主要的記錄與顯示功能,其他的屬于熱量消耗,路程換算均由電路完成。計步器中一般采用一種加速度計來感受外界的震動。常用的加速度計原理如下:在一段塑料管中密封著一小塊磁鐵,管外纏繞著線圈,當塑料管運動時,磁鐵由于慣性在管中反向運動,切割線圈,由于電磁感應,線圈中產生電流,人體運動時,上下起伏的加速度近似為正弦過程,線圈的輸出電流也是正弦波,測量正弦波的頻率就可以得出運動的步數,再計算的出速度,距離,和消耗卡路里。
1.2國內外研究現狀
計步器最早是由意大利的倫納德·達芬奇醞釀的,但現存的最早的計步器 是在達芬奇之后150年,即德國1667年制作的。 日本最早的計步器是由Gcn.naiHiraga在1755年制作的。在中世紀和近代,計步器并未被廣泛使用,因為人們并不清楚它的用途。這說明機器的發明(硬件)不及找到它對人類的用途(軟件)重要。 在日本,計步器已經使用了40多年,主要用于體育運動和分析記錄行走步調。1965年,計步器正式進入日本商用市場,并被命名為manpo-meter(manpo的日語含義是10000步)。這是的計步器通常利用擺鐘原理作為記步技術,利用加重的機械開關檢測步伐,并帶有一個簡單的計數器。如果晃動這些裝置,就可以聽到有一個金屬球來回滑動,或者一個擺鐘左右擺動敲響當塊。 這種機械式的計步器早已淡出歷史,取而代之的是電子式的計步器。
1.3本文研究的內容
本文是一個基于STC89C52低速單片機,結合ADXL345傾角傳感器來實現計步功能。第二章根據設計的要求選擇了基于三軸加速度ADXL345功能計步器設計方案,第三章對硬件中微處理器電路模塊、傳感器數據采集模塊以及LED1602顯示模塊進行介紹,第四章中對軟件流程圖以及記步檢測算法進行介紹。緊接著第五章對實物進行了調試和功能驗證。
2方案設計及選擇
2.1設計要求
(1)能夠有效的檢測人體步行動作。
(2)能夠顯示并且記錄單位時間內的步數。
(3)使用單片機技術處理數據。
2.2傳感器的選擇
方案一:是選擇機械式振動傳感器
機械式振動傳感器內部有一個平衡錘,當傳感器振動時,平衡被破壞,如此會造成上下觸點的通斷。佩戴者在跑步過程中,身體起伏重心高低產生變化,計步器內部的振動傳感器就會將這一變化轉換為數字量送至控制單元,從而獲得佩戴者的運動信息。機械式振動傳感器原理簡單、精度和成本低,適用于振幅較大的場合。
方案二:選擇加速度傳感器
三軸加速度傳感器分為壓阻式,壓電式和電容式。加速度的變化能夠改變電阻、電壓或者電容的變化,從而獲得空間位置三個垂直方向的加速度分量。佩戴者在跑步過程中,身體上下起伏,計步器內部的微控制器讀取三軸加速度傳感器的三組模擬量,通過計步算法分析,獲取運動信息。三軸加速度傳感器具有精度高、反應速度快、通訊協議簡單可靠等特點,廣泛使用于汽車、數碼產品、航天設備等領域。
方案三:選擇壓力傳感器
壓力傳感器是將壓力的變化轉化為電壓的變化。利用這一特性,可將壓力傳感器內置在鞋的底部,當用戶在行進過程中,壓力傳感器受到的壓力不同(抬腳時腳對鞋無壓力,放腳時腳對鞋有持續壓力),這樣,計步器的主控單元讀取壓力值,經過計步算法即可判斷運動狀態。
為選擇一款最適合本課題的計步傳感器將三種傳感器對比如圖:
| 類型 | 機械式振動傳感器 | 加速度傳感器 | 壓力傳感器 |
| 工作電流 | 5mA | 30 | -- |
| 工作精度 | 0.1g | 0.002g | -- |
| 價格(元) | 1.0元 | 5.0元 | -- |
目前內置于鞋底的壓力傳感器屬于柔性傳感器。在2008年北京奧運會上曾將它用于檢測運動員的蹬地力、蹬地時間、足底接觸形狀、運動速度、離心力等信息,以便指導運動員取得更好的成績。這種傳感器價格昂貴,設計難度較大,不適合本設計。機械設振動傳感器應用于早期的計步器,測量精度低,誤判、漏判嚴重,不符合本課題高精度的設計原則。隨著加速度傳感器的工藝逐漸成熟,測量精度也逐漸提高,功耗已達到微安級別,隨著市場的大量使用,價格也降了下來,非常符合本課題的設計理念。表2列出了不同型號的三軸加速度傳感器的特性。
表2 加速度傳感器特性對比表
?
| 加速度計代表型號 | LSM303DLH | MPU-6050 | ADXL345 |
| 工作電流 | 0.83Ma | 500 | 150 |
| 精度 | 0.0003g | 0.0003g | 0.008g |
| 價格(元) | 40.0 | 50.0 | 3.0 |
結合價格、功耗和精度等多方面考慮,本課題選擇的三軸加速度傳感器ADXL345作為計步傳感器。
方案一:采用8位微控制器
8位微控制器的典型代表是8051微控制器。8051微控制器是一款入門級微控制器,它內核簡易,應用廣泛,資料齊全,非常適合入門學習。同時它的價格低廉,是一款適用于追求低成本,不追求實時性的電子產品。在我國很長一段時間內,8051微控制器占據了小型家電市場,其中的原因正是超低的成本。
方案二:采用16位微控制器
MSP430微控制器是一款以低功耗聞名的16位微控制器,有許多低功耗的工作模式,采用了精簡指令集(RISC)結構,具有豐富的尋址方式,高效率的查表處理指令。這些特點都保證了用它可以編寫出高效率的源程序。
方案三:采用32位微控制器
Cortex-M0+內核基于ARMv6架構,支持Thumb/Thumb-2子集ISA,單核心,采用低成本的90nmLP工藝制造,核心面積僅0.04mm2,每MHz單位頻率消耗的電流、功耗分別有9μA、11μW,是現今其它8/16位微控制器的大約三分之一,而性能上又比它們高出很多。飛思卡爾的Kinetis L系列微控制器基于ARM Cortex-M0+內核,是目前市場上能效極高的32位微控制器,每微安數據吞吐量居業內領先水平;超低功耗模式多種靈活的功率模式,適合不同的應用情形,可最大限度延長電池壽命;多種技術優化功耗,包括90nm薄膜存儲(TFS)技術、時鐘和電源門控技術,以及帶有位處理引擎、外圍交叉橋和零等待閃存控制器的高效平臺等;深度睡眠模式下,可在不喚醒內核的情況下進行智能決策并處理數據。
綜合上述幾種單片機優缺點并且根據實驗要求,就地取材選擇了由STC公司生產的一種價格便宜、低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。
2.4系統的總體設計
該計步器是有ADXL345加速度傳感器、STC89C52單片機以及LED1602顯示屏等組成。傳感器采集數據,經內部A/D轉換后,輸入單片機內部,將數據處理后輸出液晶顯示。 VISIO

?
3系統的硬件設計
3.1微處理器電路模塊
STC89C52是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU?和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。
具有以下標準功能: 8k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外 STC89X52 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。
STC89C52RC單片機參數
⑴8K字節程序存儲空間;
⑵512字節數據存儲空間;
⑶內帶2K字節EEPROM存儲空間;
⑷可直接使用串口下載;
3.2計步器傳感器采集模塊
?
ADXL345的內部功能結構如圖2所示,X、Y、Z三個相互正交的的方向上的加速度由 G-Cell傳感器感知,經過容壓變換器、增益放大、濾波器和溫度補償后以電壓信號輸出。

所謂的G-Cell傳感器是由半導體材料(多晶硅)經半導體工藝加工得到,其結構可簡化為三塊電容極板,如圖3。兩端的極板圈定,中間的極板在加速度的作用下,偏離無加速度的位置,這樣它到兩端極板的距離發生變化,造成電容值的變化.這個變化值經容壓變換、增益放大,濾波等后體現在最后的電壓輸出值上,從而完成對加速度的測量。

?
?
ADXL345的三個相互正交的測量方向如圖4,固定在人體上后,這三個方向上的數據意義也就隨之確定了。

引腳配置(頂視圖):
?

ADXL345是一款小而薄的超低功耗3軸加速度計,分辨率高(13位),測量范圍達±16g。數字輸出數據為16位二進制補碼格式,可通過SPI(3線或4線)或I2C數字接口訪問。ADXL345非常適合移動設備應用。它可以在傾斜檢測應用中測量靜態重力加速度,還可以測量運動或沖擊導致的動態加速度。其高分辨率(3.9mg/LSB),能夠測量不到1.0°的傾斜角度變化。
如圖10所示,為傳感器底座,接口電路連接:

?
此模塊電路主要功能就用于做ADXL345加速度傳感器的一個轉接口,而且利用ADXL345該加速度傳感器產生相應的變化值。相當于整個系統的信號產生模塊。
3.3顯示模塊
液晶顯示器(LCD)為平面超薄的顯示設備,液晶顯示器功耗很低,適用于使用電池的電子設備。它由一定數量的彩色或黑白像素組成,放置于光源或者反射面前方。它的主要原理是以電流刺激液晶分子產生點、線、面配合背部燈管構成畫面。
LCD特點:機身薄,節省空間。與比較笨重的CRT顯示器相比,液晶顯示器只要前者三分之一的空間。
省電,不產生高溫。它屬于低耗電產品,可以做到完全不發熱(主要耗電和發熱部分存在于背光燈管或LED),而CRT顯示器,因顯像技術不可避免產生高溫。
低輻射,益健康。液晶顯示器的輻射遠低于CRT顯示器(僅僅是低,并不是完全沒有輻射,電子產品多多少少都有輻射)。
?
畫面柔和不傷眼,不同于CRT技術,液晶顯示器畫面不會閃爍,可以減少顯示器對眼睛的傷害,眼睛不容易疲勞。

第1腳:GND為電源地
第2腳:VCC接5V電源正極
第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。
第4腳:RS為寄存器選擇,高電平1時選擇數據寄存器、低電平0時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。
第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳
變時執行指令。
第7~14腳:D0~D7為8位雙向數據端。第15~16腳:空腳或背燈電
源。
第15腳背光正極。
第16腳背光負極。特性3.3V或5V工作電壓,對比度可調
4軟件設計
4.1軟件流程圖
解釋
(1)主程序流程

?
?
4.2計步器算法的實現
在可用于分析跑步或步行的特征當中,我們選擇“加速度”作為相關參數。個體(及其相關軸)的運動包括三個分量,分別是前向(“滾動”)、豎向(“偏航”)和側向(“俯仰”),如圖9所示。ADXL345檢測其三個軸—x、y和z上的加速度。計步器處于未知方向,因此測量精度不應嚴重依賴于運動軸與加速度計測量軸之間的關系。

讓我們考慮步行的特性。一個步伐,我們將其定義為單位步行周期,步行周期各階段與豎向和前向加速度變化之間有一定的關系。
要實現檢測步數首先要對人走路的姿態有一定了解。行走時,腳、腿、腰部,手臂都在運動,它們的運動都會產生相應的加速度,并且會在某點有一個峰值。從腳的加速度來檢測步數是最準確的,但是考慮到攜帶的方便,我們選擇利用腰部的運動來檢測步數。
圖10顯示了與一名跑步者的豎向、前向和側向加速度相對應的x、y和z軸測量結果的典型圖樣。無論如何穿戴計步器,總有至少一個軸具有相對較大的周期性加速度變化,因此峰值檢測和針對所有三個軸上的加速度的動態閾值決策算法對于檢測單位步行或跑步周期至關重要。

(1)步伐參數
數字濾波器:首先,為使信號波形變得平滑,需要一個數字濾波器。可以使用四個寄存器和一個求和單元,如圖11所示。當然,可以使用更多寄存器以使加速度數據更加平滑,但響應時間會變慢。
?

圖12顯示了來自一名步行者所戴計步器的最活躍軸的濾波數據。對于跑步者,峰峰值會更高。

動態閾值和動態精度:系統持續更新三軸加速度的最大值和最小值,每采樣50次更新一次。平均值(Max + Min)/2稱為“動態閾值”。接下來的50次采樣利用此閾值判斷個體是否邁出步伐。
由于此閾值每50次采樣更新一次,因此它是動態的。這種選擇具有自適應性,并且足夠快。除動態閾值外,還利用動態精度來執行進一步濾波。
步伐邁出的條件定義為:當加速度曲線跨過動態閾值下方時,加速度曲線的斜率為負值(sample_new 《 sample_old)。
峰值檢測:步伐計數器根據x、y、z三軸中加速度變化最大的一個軸計算步數。如果加速度變化太小,步伐計數器將忽略。
步伐計數器利用此算法可以很好地工作,但有時顯得太敏感。當計步器因為步行或跑步之外的原因而非常迅速或非常緩慢地振動時,步伐計數器也會認為它是步伐。為了找到真正的有節奏的步伐,必須排除這種無效振動。利用“時間窗口”和“計數規則”可以解決這個問題。
“時間窗口”用于排除無效振動。假設人們最快的跑步速度為每秒5步,最慢的步行速度為每2秒1步。這樣,兩個有效步伐的時間間隔在時間窗口[0.2 s - 2.0 s]之內,時間間隔超出該時間窗口的所有步伐都應被排除。
ADXL345的用戶可選輸出數據速率特性有助于實現時間窗口。表5.1列出了TA = 25°C、VS = 2.5 V、VDD I/O = 1.8 V時的可配置數據速率(以及功耗)。
表3數據速率和功耗
| 輸出數據速率(Hz) | 帶寬(Hz) | 速率代碼 | IDD (μA) |
| 3200 | 1600 | 1111 | 146 |
| 1600 | 800 | 1110 | 100 |
| 800 | 400 | 1101 | 145 |
| 400 | 200 | 1100 | 145 |
| 200 | 100 | 1011 | 145 |
| 100 | 50 | 1010 | 145 |
| 50 | 25 | 1001 | 100 |
| 25 | 12.5 | 1000 | 65 |
| 12.5 | 6.25 | 0111 | 55 |
| 6.25 | 3.125 | 0110 | 40 |
?
此算法使用50 Hz數據速率(20 ms)。采用interval的寄存器記錄兩步之間的數據更新次數。如果間隔值在10與100之間,則說明兩步之間的時間在有效窗口之內;否則,時間間隔在時間窗口之外,步伐無效。
“計數規則”用于確定步伐是否是一個節奏模式的一部分。步伐計數器有兩個工作狀態:搜索規則和確認規則。步伐計數器以搜索規則模式開始工作。假設經過四個連續有效步伐之后,發現存在某種規則(in regulation),那么步伐計數器就會刷新和顯示結果,并進入“確認規則”工作模式。在這種模式下工作時,每經過一個有效步伐,步伐計數器就會更新一次。但是,如果發現哪怕一個無效步伐,步伐計數器就會返回搜索規則模式,重新搜索四個連續有效步伐。
5測試及分析
?
5.1系統調試及功能
?

圖13系統實物圖
設計的實物用于記錄單位時間的人行走的步數,以及一段時間的總步數,以達到督促人們鍛煉的目的。
5.2系統的測試
如表2為在實際步數中顯示步數以及總步數不復位情況下記錄。下圖表3為在實際步數中顯示步數每5步復位一次總步數不復位情況下記錄。由圖可得到實物對步數統計準確率在90%以上。
表4
| 實際步數 | 5 | 10 | 15 | 20 | 25 | 30 |
| 顯示步數 | 5 | 9 | 14 | 18 | 22 | 27 |
| 總步數 | 5 | 9 | 14 | 18 | 22 | 27 |
?
表5
?
?
| 實際步數 | 5 | 10 | 15 | 20 | 25 | 30 |
| 顯示步數 | 4 | 5 | 4 | 5 | 5 | 5 |
| 總步數 | 4 | 9 | 13 | 18 | 23 | 28 |
6總 結
在本次計步器的制作過程中,體會到不少。而在解決問題的時候也是對自身的專業素質的一種提高。在焊接過程中元件必須清潔和鍍錫焊接前用小刀掛掉氧化膜,然后再進行焊接時應使用電騾鐵的溫度高于焊錫的溫度以烙鐵頭接觸松香剛剛冒煙為好。焊接點的上錫數量焊接點上的焊錫數量不能太少,焊少了焊接不牢固,機械強度也太差。
同時讓我也更加的了解了ADXL345是一款出色的加速度計,非常適合計步器應用。它具有小巧纖薄的特點,采用3 mm × 5 mm × 0.95 mm塑封封裝,利用它開發的計步器已經出現在醫療儀器和高檔消費電子設備中。它在測量模式下的功耗僅40 μA,待機模式下為0.1 μA,堪稱電池供電產品的理想之選。嵌入式FIFO極大地減輕了主處理器的負荷,使功耗顯著降低。此外,可以利用可選的輸出數據速率進行定時,從而取代處理器中的定時器。13位分辨率可以檢測非常小的峰峰值變化,為開發高精度計步器創造了條件。最后,它具有三軸輸出功能,結合上述算法,用戶可以將計步器戴在身上幾乎任何部位。
電子發燒友App














評論