孫弋婷,翁欣濛
(1.杭州電子科技大學電子信息學院,浙江杭州,310018;2.杭州電子科技大學信息工程學院,浙江杭州,311305)
無線傳感器網絡[1],是由大量的具有感知能力的傳感器節點,通過自組織方式[2]構成的無線網絡,可以監控不同位置的物理或環境狀況如溫度、聲音、振動、運動或污染物,在促進物聯網發展方面發揮著重要作用,本文結合2020年TI杯大學生電子設計競賽與現實生活中的應用,以STM32F103C8T6作為主控制器設計的具有溫度測試、心率監測[3]、運動狀態分析等功能的無線傳感器。
以STM32F103單片機為主控制器,以ADS1292[4]模塊為心率信號接收部分,接收采集到的心電信號并轉化為數字信號傳至單片機,以LMT70為溫度接收部分,接收采集到的溫度數據并通過ADS1115模塊將模擬量轉化為數字量傳至單片機,以ABXL345模塊為運動分析模塊,將采集到的運動數據傳至單片機,單片機對上述信號進行處理與分析后將對應的數據顯示在屏幕,并通過HC05藍牙模塊將內容在移動端上顯示。如圖1所示。

圖1 系統總體設計圖
作為無線傳感器的核心選用專為要求高性能、低成本、低功耗的的ARM Cortex-M3內核系列STM32單片機。其具有32位總線寬度,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬件除法。同時具有多達13個的通信接口、112個快速I/O端口、11個定時器,對比MSP430單片機,STM32具有速度快和低功耗的優點。
本電路采用TPS5450降壓轉換器。如圖2所示。TPS5430是一個具有較高轉換效率的高輸出電流PWM轉換器。輸入去耦電容取10μF,根據電路的需求與參考公式可得到輸出濾波電路電容與電感值。根據公式比例關系得到阻值比確定電阻值。最終將+5供電轉為USB接口對單片機進行供電。

圖2 直流供電電路圖
ADS1292是適用于ECG應用的24位、2通道、低功耗模擬前段。根據ADS1292的芯片手冊搭建ADS1292的電路,通過ADS1292采集到信號后,將模擬量轉變成數字量傳至單片機,單片機通過數字信號處理將數字信號中非心電的成分濾除,即進行數字濾波。硬件結構簡單,噪聲消除效果較好。但在實際應用中發現其輸出信號存在不穩定現象,因此在后續的設計中加入電平轉換芯片對其進行隔離。如圖3所示。

圖3 ADS1292電路
如圖4所示。本電路采用LMT70測溫芯片與ADS1115模數轉換器芯片。LMT70是超小型、高精度(±0.1℃)、低功耗CMOS模擬溫度傳感器。ADS1115是具有PGA、振蕩器、電壓基準與比較器的4通道。當我們在被測物體溫度在20℃到42℃之間、芯片的供電電壓在2.7V時,測量的誤差在±0.05℃,為了最大程度地降低噪聲耦合,在LMT70的VDD和GND引腳之間放置至少100nF的電源去耦電容,并串聯電阻以保持條件穩定。利用ADS1115進行連續地AD轉換讀取結果,并通過IIC串行通信總線與主機通信,并通過以下公式計算溫度值。

圖4 測溫電路

(其中,adcx為采樣數字量,無單位,tem為溫度,單位為攝氏度)

圖5 步數與距離測量電路
ADXL345是一款小而薄的超低功耗 3軸加速度計,數字輸出數據可通過SPI(3線或4線)或I2C數字接口訪問,非常適合移動設備應用。活動和非活動檢測功能通過比較任意軸上的加速度與用戶設置的閾值來檢測有無運動發生,且可以在傾斜檢測應用中測量靜態重力加速度,還可以測量運動或沖擊導致的動態加速度,其高分辨率(3.9mg/LSB),能夠測量不到1.0°的傾斜角度變化,符合人行走時的姿態檢測。通過I2C通信協議連接單片機,使用算法對得到的數據進行分析可以較為準確得到結果,且低頻特性較好,符合應用場景與技術指標。
包括HC05藍牙模塊與OLED顯示模塊。

圖6 HC05藍牙模塊

圖7 OLED顯示模塊
程序初始化后,利用STM32控制ADS1292以500sps的速率對數據進行采樣,將得到的數據進行濾波處理,并進行歸一化處理,進而得到心率值和心電圖,并對心率不齊的情況做出聲音提示。同時,驅動LMT70測溫模塊及測得溫度,利用進行AD轉換獲得相應數據。系統持續更新3軸加速度的最大值和最小值,每采樣50次更新一次。利用公式求出“動態閾值”,接下來的50次采樣利用此閾值判斷個體是否邁出步伐,通過對年齡,性別,身高等數據的擬合以及每兩秒內所運動的步數,得到平均步長以測出運動距離。最后,將這些數據顯示在OLED上,并通過串口與藍牙模塊進行通信,最終將所有數據顯示于移動終端上。


圖8 軟件流程圖
采用ADS1292模塊作為心電信號接收部分。使用心電信號模擬儀輸出標準心電信號,將單片機處理后的心率、心電圖與標準信號相比較。使用電極片與三導聯采集人體心電信號,將采集到經過單片機處理過后的數據與市面商品化產品所測得的心率進行比較。
采用LMT70模塊作為溫度接收部分,通過ADS1115模塊將模擬量變為數字量送入單片機進行處理。將分析過后的數據與數字溫度計進行比較。
采用ADXL345模塊獲得運動狀態數據,將數據傳入單片機進行數據的處理與分析,在OLED上實時顯示并通過HC05藍牙模塊將數據內容顯示到移動端。將測試結果與合格的運動分析產品以及實際進行比較。
(1)標準心率檢測:與心電信號模擬儀相接,產生1mV的標準心率信號,得到結果如表1所示。可知設計結果較為準確,誤差在要求范圍內。

表1 心率測試
(2)溫度測試:將本設計的溫度探測點與數字溫度計探頭置于各個物體表面同一點,得到的結果如表2所示。可知設計結果較為準確,誤差在要求范圍內。

表2 溫度測試
(3)距離測試:將設備置于手中,按照正常行走方式,走在規定長度的路線上,結果如表3所示。

表3 距離測試
(4)步數測試:將手環佩戴上與持設備的同一只手,按照正常行走方式前進既定步數,結果如表4所示。誤差基本在要求范圍內。

表4 步數測試
本文設計了一個無線運動傳感器節點,實現了在較低功耗的條件下心電信號、溫度、運動狀態的檢測與分析,并完成數據的無線傳輸。為了對人體的運動狀態進行分析,必須對心率、溫度、移動距離等要素進行特征提取和總結歸類。同時,對于相似且難以判斷的情形,采取優先級排序的方式,將幾種不同的運動狀態分為不同優先級進行響應,從而降低了狀態判斷錯誤率,同時也提高了狀態判斷速度。