費維科
(西安汽車職業大學,陜西西安,710038)
設計采用STM32F103R開發板為主控制器,結合芯片ADS1292、ESP8266WiFi串口通信模塊、串口屏以及供電裝置等構成心電圖信號的采集及監控。使用STC15W4k48S4為主控制器,結合溫度傳感器LMT70、模擬芯片ADS1115、加速度計傳感器mpu6050等結合Esp8266WiFi無線傳輸芯片、OLED顯示屏以及供電裝置等構成用戶體表溫度、運行等信息的采集以及監控。通過Mpu6050監測人體運動過程中的周期性變化,結合相關算法進行數據處理,實現計步和距離的統計,并轉換成串口數據通過Esp8266進行遠程傳輸監測實時顯示。使用采用ESP8266wifi通信模塊為主控制器搭建服務器,“MERCURY”路由器搭建網關以及服務顯示端PC和供電裝置組成一套完整的物聯網服務端設備,接收節點數據,上傳到路由器并轉發到服務器接收端,再結合算法處理數據以實現被測者身體信息的遠程監測,并通過TTL轉USB串口輸出到電腦實時顯示。
本設計物聯網傳輸系統控制框圖如圖1所示。

圖1 系統控制框圖
為實現基于加速度計等傳感器檢測使用者運動信息,實現運動步數和運動距離的統計分析。通過STC15W4k48S4處理器IIC協議對于mpu6050加速計/陀螺儀傳感器信號的采集和處理,得到了3軸6向方位信息的原始數據,并根據人體運動過程中陀螺儀進行的周期性的數據變化,對數據進行處理和運算得到平穩的運動周期脈沖輸出,并結合判斷算法進行步頻和步數的計算,再通過運動周期的變化角度值計算每一步的距離。通過STC15W4k48S4主控制器內部自帶的TTL電平輸出,將數據進行2路輸出,一路數據通過OLED顯示屏顯示在副屏上實現交互界面。另一路數據通過TTL串口傳輸至Esp8266WiFi無線傳輸模塊進行TTL轉WiFi信號,上傳至路由器網關。運動信息節點框圖如圖2所示。

圖2 運動信息節點框圖
為實現基于LMT70傳感器檢測被測者體表溫度信息的統計分析,本設計中對LMT70輸出的模擬信號采用外部24位模數轉換ADS1115芯片來處理,以實現信息的準確性。STC15W4k48S4處理器使用IIC協議對于ADS1115轉換過來的信號的進行采集和處理,得到了原始的電壓數據信號,LMT70基于環境溫度的變化會呈現負比例的增長,基于此特性對數據進行處理和運算,得到平穩的電壓信號輸出,體表溫度節點框圖如圖3所示。

圖3 體表溫度節點框圖
受疫情影響,人們越來越重視醫療健康,相對應的產品也隨之推出。設計ADS1292芯片時把模擬信號轉換成SPI協議信號輸出并加入濾波Stm32f103rct6處理器使用SPI協議對ADS1292轉換過來的信號的進行采集和處理,得到了原始的電壓數據信號,由于次數據的準確性無必要高,因此在程序設計時使用了卡爾曼濾波算法進行處理和計算,得到平穩的電壓信號輸出,再次校準調試,結合電壓轉換心率的算法最終輸出心電信息。心電監控節點框圖如圖4所示。

圖4 心電監控節點框圖
心電信號的測量是此項目最難的一個節點。關鍵在于ADS1292模擬前端芯片(醫療級別ADC)的使用,結合電路原理圖,其中IN1P/IN1N IN2P/IN2N 是兩對模擬輸入,采用差分輸入以減小共模干擾,在它們輸入到MUX之前,還經過了EMI濾波器。
程序中使用了DMA傳輸,CS片選信號需要在DMA傳輸完成之后置1,保證數據傳輸完成,若使用輪詢讀數據的方式則選用注釋掉的代碼。讀取到的數據是一補碼的形式存儲的,需要經過處理再傳給上位機,為了數據的更加準確與嚴謹,使用了卡爾曼濾波算法。同時為避免上位機不好處理24位的數據,在單片機程序中做了數據處理,簡單來說就是3字節的數據最高位(數據的24位)做了異或(^)處理。最終通過串口發送到屏幕以及Esp8266上。
采用STM32系列單片機對于ADS1292模擬前端芯片的信號進行讀取和處理,利用三對差分放大電路作為輸入,采集人體心肌收縮過程中釋放的生物電信號,配合醫用電極片進行數據的采集,在心跳那一點,電流最大,是個脈沖信號,測量心電圖時用電極接在胸口,加濾波器去掉雜波,再加放大器發大電流信號,最終進行處理進行心電信號的讀取,并且結合算法輸出平穩的心電波形信號顯示在串口屏幕上。
測試濾波后心電波形如圖5所示。

圖5
基于LMT70對于使用者體表溫度信息的監控,由于LMT70對于環境溫度是有著電壓變化的特性,并且呈負比例系數變化,基于此特性,使用了一塊24位高精度ADS1115芯片對于測量溫度,加濾波器去掉雜波,再加放大器發大電流信號,最終進行處理進行溫度信號的讀取,并且結合算法輸出平穩的溫度信號。
德州儀器推出出的由于其出色的性能和穩定的輸出及IIC方式的通信協議成為讀取LMT70模擬信號的不二之選,通過差分放大的方式讀取模擬電壓后進行24位的數據轉換,再結合算法和標準溫度進行數據的校準。結合手冊提供的轉換的公式,“(-0.0000084515)*模擬電壓*模擬電壓+(-0.176928)*模擬電壓+204.393”處理器通過IIC協議接收到來之ADS1115的信號后對其進行運算處理,從而輸出高精度的溫度信號,通過TTL電平傳輸到Esp8266以及oled屏幕進行顯示。
基于MPU6050加速度計對于使用者運動信息的監控,基于人體運動時候是呈現一個周期性變化的規律,因此對于采取一個周期性的變化量來計算運動的過程,也就是計步的實現,而對于不同步伐的速率以及開合角度不同的話,那么對于加速度計傳感器輸出信號也是有所不同的,因此可以達到計算距離的一個量的估計,最終進行處理進行運動信息的讀取。并且結合算法輸出平穩的運動信息,從而對數據進行加工和處理同時以Esp8266進行數據傳輸到服務器端和顯示在OLED屏幕上。如圖6所示。

圖6 計步和距離實時顯示
系統分體采用18650單節鋰電池供電,電路加濾波電路以及過充過放保護電路最大可輸出3A電流,電源可滿足需求。再通過線性降壓芯片AMS1117-3.3V 線性降壓模塊對于3.8V的電池電壓轉換成3.3V電壓信號以供給MPU6050等設備供電。
系統采用四套獨立的處理器進行信號的采集發送以及接收處理顯示,其中溫度節點、運動信息節點、心電監控節點分別由三個處理器以及三個獨立的WiFi模塊進行數據的發送,由路由器網關進行數據的轉發,再由一套Esp8266模塊進行數據的接收處理并通過串口顯示在PC端。
各模塊數據采集主流程圖如圖7所示。

圖7 各傳感器數據采集流程圖
(1)STM32心電波形顯示心率計算
包括心率信號收集的硬件部分采用了ADS1292模塊、心電儀產生的心電信號收集與顯示以及IIR濾波處理與簡單平滑處理的效果展示等。
(2)人體運動信息的采集
通過對非電量的測量,即把傳感器或傳感元件固定在被測物體上,將被測物體的力學參數通過傳感器轉換為模擬電量,然后放大器再將轉換的微弱的模擬電量放大并調理,A/D轉換器轉換后進行計算處理。原理框圖如圖8所示。

圖8 人體運動信息采集
(1)由心電基準源輸出的心電波形與本項目方案的波形進行比對和穩定性測試,重復N次,記錄數據,在程序中進行調試和校準。
(2)人為干擾波形的顯示以及亂碼之后能否重新得到平穩的心電信號測試,多次進行測試,更換電極片之后數據能否平滑的輸出。
(3)由體溫計測量的體溫與本項目方案的體表信息進行比對和穩定性測試,重復N次,記錄數據,在程序中進行調試和校準。
(4)人為干擾溫度的顯示以及亂碼之后能否重新得到平穩的溫度信號測試,多次進行測試,更換測溫探頭之后數據能否平滑的輸出。
(5)由智能手環測量的體溫與本項目方案的運動信息進行比對和穩定性測試,重復N次,記錄數據,在程序中進行調試和校準。
(6)人為干擾運動的顯示以及亂碼之后能否重新得到平穩的運動信息測試,多次進行測試,重新上電之后數據能否平滑的輸出。
體溫計、示波器、基準源信號發生器、智能手環、TPC調試助手,串口調試助手。

圖9