黃鳳英
摘 要:文中設計了一種能夠實時監測人體溫度、統計運動步數的多功能智能手表。設計采用STM32F103C8T6單片機作為系統主控,將德州儀器設計生產的TMP100作為溫度采集傳感器,可對人體溫度、運動步數等參數進行采集、分析和顯示。當體溫數據處于不正常范圍時,智能手表會發出相應的提示警告。經測試,文中設計的手表可實現準確計時與人體溫度的實時監控及每日步數的實時記錄,方便用戶根據獲取的體溫及運動數據對自身的健康狀況做出處理。
關鍵詞:傳感器;體溫;計步;智能手表;STM32F103C8T6單片機;TMP100
中圖分類號:TP393文獻標識碼:A文章編號:2095-1302(2019)03-00-03
0 引 言
體溫是機體不斷新陳代謝的結果,同時體溫又是機體功能活動正常進行的重要保障。在正常情況下,人體溫度不隨外界環境溫度的變化而變化,保持在37 ℃左右。但是當人體內的某些機能發生變化或某些部位產生病變時,恒定的體溫將會發生改變。在臨床醫學中,體溫是一個重要的生理參數,病人的體溫為醫生提供了了解生理狀況的重要信息,同時還可以對某些重大疾病或隱藏于身體內部的健康問題起到積極的預防和警示作用[1]。所以人們需要并有必要實時了解自身的體溫狀況,使自己的體溫維持在一個相對穩定的狀態。
針對人們對自身體溫實時監測的需求,本文設計了一個擁有128×64大小OLED顯示屏的智能多功能手表,主要采用STM32F103C8T6單片機作為系統主控單元,將德州儀器設計生產的TMP100作為溫度采集傳感器。該手表可實時記錄采集的數據與每日運動量,并對人體溫度進行實時監控。當用戶獲得自身的健康數據后便可以采取相應措施使自己保持健康的狀態。在這基礎之上,本文采用更低功耗的主控芯片與外圍器件,提高設備的續航能力,優化用戶操作界面,使設備能真正運用到生活中,為實時健康監測提供可能。
1 系統功能介紹
本文設計的智能手表主要具有時鐘功能、體溫實時檢測功能和計步功能,系統功能結構如圖1所示。
(1)在時鐘功能界面下,用戶可以選擇手動校準時間。
(2)在體溫檢測功能界面下,用戶可以查看此刻自身的體溫,也可以查看當天自身體溫的變化情況。
(3)在計步功能界面下,用戶可以查看當天的累計步數,了解自身運動量。
此外,用戶在使用設備的過程中一旦體溫下降或者上升,低于或超過閾值,則系統會向用戶發出警告,提醒用戶此刻體溫處于非正常狀態,用戶可根據自身情況及時處理。
2 系統硬件設計
2.1 系統硬件組成及原理
多功能智能手表系統硬件主要由電源管理模塊、主控芯片模塊、溫度傳感器模塊、加速度傳感器模塊和OLED液晶顯示器與按鍵組成,硬件系統的組成及連接關系如圖2所示。電源管理模塊將不穩定的電池電壓轉換成系統需要的3.3 V穩定電壓,并輸送給各個模塊。主控芯片從溫度傳感器和加速度傳感器獲取采集數據并對數據進行算法處理,最終通過人機交互模塊顯示出來。
2.2 系統主要硬件模塊設計
STM32F103C8T6是一款基于ARM 32位Cortext M3內核的單片機,具有2.0~3.6 V的寬電壓供電范圍,CPU工作頻率最大可達72 MHz,具有單周期乘法指令和硬件除法功能,以及優先級可編程的中斷系統[2]。同時它還具有 64 KB的FLASH存儲器與20 KB的SRAM存儲器,集成了豐富的片內外設,如看門狗,定時器,GPIO口,DMA控制器,ADC,UART,SPI接口,I2C接口等,具有成本低、速度快、性價比高等優點[3]。
人體溫度采集傳感器采用德州儀器生產的TMP100。TMP100是一個SOT23-6封裝的兩線串行輸出溫度傳感器,無需其他元器件,精度可達0.062 5 ℃。此外TMP100具有系統管理總線以及I2C接口的兼容性,可在總線上掛載8個設備。工作溫度為-55~125 ℃,測量精度可通過程序編程選擇。TMP100的器件地址由ADD0和ADD12個引腳決定,引腳輸入與器件地址的關系見表1所列。根據設計原理與圖中ADD0和ADD1引腳接地可知,TMP100的器件地址應為0x48。
加速度傳感器模塊采用飛思卡爾,這是一款比較新的MMA8452加速度傳感器。飛思卡爾是具有12位分辨率的智能低功耗、三軸、電容式微機械加速度傳感器,其主要特性如下:
(1)可以感受X,Y,Z三個自由度的加速度信號,全方位感知人體運動信息。
(2)具有±2 g/±4 g/±8 g的可選量程。傳感器的靈敏度在±2 g量程時為1 024個數字/g,靈敏度精度為±2.5%。
采集的加速度數據可以通過傳感器內部的高通濾波器實時輸出,濾波器的截止頻率可以通過軟件設置,也可以不經過濾波器直接輸出。輸出信號被轉換為12位數字量信號,經I2C接口輸出,輸出數據速率在1.25~800 Hz之間,可調[4]。
電源管理芯片采用德州儀器設計生產的TPS79333,其具有超低噪聲、高PSRR、快速射頻、高電平啟用的200 mA低壓降穩壓器,可將3.7~5 V的電源電壓穩定在3.3 V,具有體積小、效率高、噪聲小等特點[5-7]。
3 系統軟件設計
3.1 程序主框架搭建
本文設計采用主循環和定時器中斷相結合的運行框架。主循環中實現OLED顯示功能。定時器可定時對溫度、加速度傳感器進行數據采集和算法處理。程序主框架如圖3所示。
3.2 時鐘功能設計與實現
時鐘模塊主要以定時器中斷為主,打開一個定時器中斷,中斷時間為0.1 s,累計600次加1分鐘,累計60分鐘加1小時,效果如圖4所示。
3.3 體溫監測功能設計與實現
TSP100溫度傳感器是一款數字傳感器,為I2C通信方式。ADD0和ADD1同時接地,查表可知,器件地址為0x90,初始化STM32F103C8T6的I2C后就可得到TSP100采集的數據。相比其他等價傳感器,TSP100溫度傳感器的精度較高,但也會因為環境等因素產生一些噪音(噪音可控),本文采用中位值濾波解決該問題。體溫檢測界面效果如圖5所示。
3.4 記步功能設計與實現
MMA8452加速度傳感器是一款數字輸出傳感器,與采集溫度的方式相同,不同之處在于加速度傳感器是慣性傳感器,在靜態狀態下能表現出良好的穩定性,但運動后其數據變化較大。如果將處于運動中的加速度計的返回值以時間為X軸,值為Y軸,靜態時會呈現一條平滑的曲線,運動時將會是雜亂無章的噪點,所以對加速度傳感器的采集值進行濾波十分必要。本文設計采用低通濾波和防脈沖干擾平均濾波相結合的方式[8-12]。
當對加速度傳感器采集到的數據進行處理后,默認當前獲得的數值即實際數值,之后對數據進行分析,使之轉化為需要的步數。據研究,距離、速度、加速度等都可以作為描述人體行走狀態的參數。近年來,由于MEMS加速度傳感器的快速發展和其優越特性,被廣泛用于人體運動檢測。行走時腳、腿、腰、手臂都在運動,會產生相應的加速度,垂直方向的加速度信號變化最大。人行走的過程分析:腳蹬地離開地面是一步的開始,此時由于地面的反作用力,垂直加速度開始增大,身體重心上移,當腳要達到最高位置時垂直加速度達到最大,然后腳向下運動,垂直加速度開始減小,直至腳著地,加速度減小至最小值,接著下一次邁步發生。利用腰部的垂直加速度來檢測步數是可行的,通過對加速度的峰值檢測可以得到行走的步數[13-15]。
一對連續的波峰和波谷代表了人體行走的一步,本文采用統計波峰的方法來統計步數。由于人體運動一般不會超過5步/s,即在1 s內理論上不會出現多于5個波峰,連續兩個波峰之間的時間差也不會小于0.2 s。設定采樣頻率為50次/s,記錄采樣時間t和Z軸的加速度信息Acc。如果一個點的Acc值比前后各兩次采樣值都大,則視為一個極大值并將該信息與前一個極值的時間差Δt及Acc值存入一個二維鏈表。時間差Δt代表兩個假定步伐之間的時間差,如果Δt小于0.2 s,則將兩個極大值中Acc較小者視為采樣噪點,從二維鏈表中去掉,并將剩下的數據重新與鏈表中前一記錄比較,大于0.2 s且Acc值比前后Acc值都小20%或者更多,也視為噪點去掉。剩下的極大值就確定為一個有效步伐[10]。最后系統可獲得比較精準的計步結果,如圖6所示。
4 結 語
本文設計了一個可實現對人體溫度實時監測、運動步數實時統計的智能可穿戴多功能手表。通過理論與實踐的結合,從硬件實現與軟件實現切入,清晰展現了軟硬件的設計流程,并提供了解決辦法。從實現結果可以看出,本文的設計方案可行,能實現對人體溫度的實時監控和對個人每日運動量的實時記錄,當體溫處于不正常數據值時,智能手表又能給出相應的提示警告,從而方便用戶根據獲取的體溫及運動數據對自身的健康狀況及時做出處理。
參 考 文 獻
[1]孫雪松.你的體溫和健康有關[J].現代養生,2009(1):59-61.
[2]楊偉,肖義平.基于STM32F103C8T6單片機的LCD顯示系統設計[J].微型機與應用,2014(20):29-31.
[3]傅智河,苗軍林,范宜標,等.基于STM32F103C8T6多功能健康測試腕表的設計與實現[J].赤峰學院學報(自然科學版),2016,32(18):9-11.
[4]芮新芳,朱朝霞,牛耀國.使用Altium Designer Winter 09軟件快速設計印刷電路板[J].軟件導刊,2011(6):69-71.
[5]朱江,李春芾,宋洪慧.J-Link仿真器程序無法下載問題的硬件電路解析[J].信息技術,2016(2):89-91.
[6]李萍,陳鵬宇,李澤仁.基于MMA8452Q傳感器的計步器抗干擾設計[J].電子設計工程,2014(7):161-164.
[7]佚名.ARM發布Keil Vision4集成開發環境為嵌入式軟件開發提供簡化的開發環境[J].電子與電腦,2009(4):70.
[8]龐晶,牟為華.基于ADXL202的計步器[J].電子世界,2004(2):51-52.
[9]邢輝,趙敏.基于MMA7260加速度傳感器的電子計步器[J].中國高新技術企業,2010(22):15-17.
[10]朱東.基于加速度傳感器的計步器設計[J].數字通信世界,2017(9):79.
[11]韓文正,馮迪,李鵬,等.基于加速度傳感器LIS3DH的計步器設計[J].傳感器與微系統,2012,31(11):97-99.
[12]宋浩然,廖文帥,趙一鳴.基于加速度傳感器ADXL330的高精度計步器[J].傳感技術學報,2006(4):1005-1008.
[13]侯向鋒,劉蓉,周兆豐.加速度傳感器MMA7260在步態特征提取中的應用[J].傳感技術學報,2007(3):507-511.
[14]陳泓竹.一種基于物聯網的計步器設計[J].現代計算機(專業版),2012(3):71-76.
[15]郝立果.基于加速度傳感器ADXL330的運動信息采集平臺設計[J].天津工程師范學院學報,2008,18(1):30-32.