費(fèi)維科
(西安汽車職業(yè)大學(xué),陜西西安,710038)
設(shè)計(jì)采用STM32F103R開發(fā)板為主控制器,結(jié)合芯片ADS1292、ESP8266WiFi串口通信模塊、串口屏以及供電裝置等構(gòu)成心電圖信號的采集及監(jiān)控。使用STC15W4k48S4為主控制器,結(jié)合溫度傳感器LMT70、模擬芯片ADS1115、加速度計(jì)傳感器mpu6050等結(jié)合Esp8266WiFi無線傳輸芯片、OLED顯示屏以及供電裝置等構(gòu)成用戶體表溫度、運(yùn)行等信息的采集以及監(jiān)控。通過Mpu6050監(jiān)測人體運(yùn)動過程中的周期性變化,結(jié)合相關(guān)算法進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)計(jì)步和距離的統(tǒng)計(jì),并轉(zhuǎn)換成串口數(shù)據(jù)通過Esp8266進(jìn)行遠(yuǎn)程傳輸監(jiān)測實(shí)時(shí)顯示。使用采用ESP8266wifi通信模塊為主控制器搭建服務(wù)器,“MERCURY”路由器搭建網(wǎng)關(guān)以及服務(wù)顯示端PC和供電裝置組成一套完整的物聯(lián)網(wǎng)服務(wù)端設(shè)備,接收節(jié)點(diǎn)數(shù)據(jù),上傳到路由器并轉(zhuǎn)發(fā)到服務(wù)器接收端,再結(jié)合算法處理數(shù)據(jù)以實(shí)現(xiàn)被測者身體信息的遠(yuǎn)程監(jiān)測,并通過TTL轉(zhuǎn)USB串口輸出到電腦實(shí)時(shí)顯示。
本設(shè)計(jì)物聯(lián)網(wǎng)傳輸系統(tǒng)控制框圖如圖1所示。
圖1 系統(tǒng)控制框圖
為實(shí)現(xiàn)基于加速度計(jì)等傳感器檢測使用者運(yùn)動信息,實(shí)現(xiàn)運(yùn)動步數(shù)和運(yùn)動距離的統(tǒng)計(jì)分析。通過STC15W4k48S4處理器IIC協(xié)議對于mpu6050加速計(jì)/陀螺儀傳感器信號的采集和處理,得到了3軸6向方位信息的原始數(shù)據(jù),并根據(jù)人體運(yùn)動過程中陀螺儀進(jìn)行的周期性的數(shù)據(jù)變化,對數(shù)據(jù)進(jìn)行處理和運(yùn)算得到平穩(wěn)的運(yùn)動周期脈沖輸出,并結(jié)合判斷算法進(jìn)行步頻和步數(shù)的計(jì)算,再通過運(yùn)動周期的變化角度值計(jì)算每一步的距離。通過STC15W4k48S4主控制器內(nèi)部自帶的TTL電平輸出,將數(shù)據(jù)進(jìn)行2路輸出,一路數(shù)據(jù)通過OLED顯示屏顯示在副屏上實(shí)現(xiàn)交互界面。另一路數(shù)據(jù)通過TTL串口傳輸至Esp8266WiFi無線傳輸模塊進(jìn)行TTL轉(zhuǎn)WiFi信號,上傳至路由器網(wǎng)關(guān)。運(yùn)動信息節(jié)點(diǎn)框圖如圖2所示。
圖2 運(yùn)動信息節(jié)點(diǎn)框圖
為實(shí)現(xiàn)基于LMT70傳感器檢測被測者體表溫度信息的統(tǒng)計(jì)分析,本設(shè)計(jì)中對LMT70輸出的模擬信號采用外部24位模數(shù)轉(zhuǎn)換ADS1115芯片來處理,以實(shí)現(xiàn)信息的準(zhǔn)確性。STC15W4k48S4處理器使用IIC協(xié)議對于ADS1115轉(zhuǎn)換過來的信號的進(jìn)行采集和處理,得到了原始的電壓數(shù)據(jù)信號,LMT70基于環(huán)境溫度的變化會呈現(xiàn)負(fù)比例的增長,基于此特性對數(shù)據(jù)進(jìn)行處理和運(yùn)算,得到平穩(wěn)的電壓信號輸出,體表溫度節(jié)點(diǎn)框圖如圖3所示。
圖3 體表溫度節(jié)點(diǎn)框圖
受疫情影響,人們越來越重視醫(yī)療健康,相對應(yīng)的產(chǎn)品也隨之推出。設(shè)計(jì)ADS1292芯片時(shí)把模擬信號轉(zhuǎn)換成SPI協(xié)議信號輸出并加入濾波Stm32f103rct6處理器使用SPI協(xié)議對ADS1292轉(zhuǎn)換過來的信號的進(jìn)行采集和處理,得到了原始的電壓數(shù)據(jù)信號,由于次數(shù)據(jù)的準(zhǔn)確性無必要高,因此在程序設(shè)計(jì)時(shí)使用了卡爾曼濾波算法進(jìn)行處理和計(jì)算,得到平穩(wěn)的電壓信號輸出,再次校準(zhǔn)調(diào)試,結(jié)合電壓轉(zhuǎn)換心率的算法最終輸出心電信息。心電監(jiān)控節(jié)點(diǎn)框圖如圖4所示。
圖4 心電監(jiān)控節(jié)點(diǎn)框圖
心電信號的測量是此項(xiàng)目最難的一個節(jié)點(diǎn)。關(guān)鍵在于ADS1292模擬前端芯片(醫(yī)療級別ADC)的使用,結(jié)合電路原理圖,其中IN1P/IN1N IN2P/IN2N 是兩對模擬輸入,采用差分輸入以減小共模干擾,在它們輸入到MUX之前,還經(jīng)過了EMI濾波器。
程序中使用了DMA傳輸,CS片選信號需要在DMA傳輸完成之后置1,保證數(shù)據(jù)傳輸完成,若使用輪詢讀數(shù)據(jù)的方式則選用注釋掉的代碼。讀取到的數(shù)據(jù)是一補(bǔ)碼的形式存儲的,需要經(jīng)過處理再傳給上位機(jī),為了數(shù)據(jù)的更加準(zhǔn)確與嚴(yán)謹(jǐn),使用了卡爾曼濾波算法。同時(shí)為避免上位機(jī)不好處理24位的數(shù)據(jù),在單片機(jī)程序中做了數(shù)據(jù)處理,簡單來說就是3字節(jié)的數(shù)據(jù)最高位(數(shù)據(jù)的24位)做了異或(^)處理。最終通過串口發(fā)送到屏幕以及Esp8266上。
采用STM32系列單片機(jī)對于ADS1292模擬前端芯片的信號進(jìn)行讀取和處理,利用三對差分放大電路作為輸入,采集人體心肌收縮過程中釋放的生物電信號,配合醫(yī)用電極片進(jìn)行數(shù)據(jù)的采集,在心跳那一點(diǎn),電流最大,是個脈沖信號,測量心電圖時(shí)用電極接在胸口,加濾波器去掉雜波,再加放大器發(fā)大電流信號,最終進(jìn)行處理進(jìn)行心電信號的讀取,并且結(jié)合算法輸出平穩(wěn)的心電波形信號顯示在串口屏幕上。
測試濾波后心電波形如圖5所示。
圖5
基于LMT70對于使用者體表溫度信息的監(jiān)控,由于LMT70對于環(huán)境溫度是有著電壓變化的特性,并且呈負(fù)比例系數(shù)變化,基于此特性,使用了一塊24位高精度ADS1115芯片對于測量溫度,加濾波器去掉雜波,再加放大器發(fā)大電流信號,最終進(jìn)行處理進(jìn)行溫度信號的讀取,并且結(jié)合算法輸出平穩(wěn)的溫度信號。
德州儀器推出出的由于其出色的性能和穩(wěn)定的輸出及IIC方式的通信協(xié)議成為讀取LMT70模擬信號的不二之選,通過差分放大的方式讀取模擬電壓后進(jìn)行24位的數(shù)據(jù)轉(zhuǎn)換,再結(jié)合算法和標(biāo)準(zhǔn)溫度進(jìn)行數(shù)據(jù)的校準(zhǔn)。結(jié)合手冊提供的轉(zhuǎn)換的公式,“(-0.0000084515)*模擬電壓*模擬電壓+(-0.176928)*模擬電壓+204.393”處理器通過IIC協(xié)議接收到來之ADS1115的信號后對其進(jìn)行運(yùn)算處理,從而輸出高精度的溫度信號,通過TTL電平傳輸?shù)紼sp8266以及oled屏幕進(jìn)行顯示。
基于MPU6050加速度計(jì)對于使用者運(yùn)動信息的監(jiān)控,基于人體運(yùn)動時(shí)候是呈現(xiàn)一個周期性變化的規(guī)律,因此對于采取一個周期性的變化量來計(jì)算運(yùn)動的過程,也就是計(jì)步的實(shí)現(xiàn),而對于不同步伐的速率以及開合角度不同的話,那么對于加速度計(jì)傳感器輸出信號也是有所不同的,因此可以達(dá)到計(jì)算距離的一個量的估計(jì),最終進(jìn)行處理進(jìn)行運(yùn)動信息的讀取。并且結(jié)合算法輸出平穩(wěn)的運(yùn)動信息,從而對數(shù)據(jù)進(jìn)行加工和處理同時(shí)以Esp8266進(jìn)行數(shù)據(jù)傳輸?shù)椒?wù)器端和顯示在OLED屏幕上。如圖6所示。
圖6 計(jì)步和距離實(shí)時(shí)顯示
系統(tǒng)分體采用18650單節(jié)鋰電池供電,電路加濾波電路以及過充過放保護(hù)電路最大可輸出3A電流,電源可滿足需求。再通過線性降壓芯片AMS1117-3.3V 線性降壓模塊對于3.8V的電池電壓轉(zhuǎn)換成3.3V電壓信號以供給MPU6050等設(shè)備供電。
系統(tǒng)采用四套獨(dú)立的處理器進(jìn)行信號的采集發(fā)送以及接收處理顯示,其中溫度節(jié)點(diǎn)、運(yùn)動信息節(jié)點(diǎn)、心電監(jiān)控節(jié)點(diǎn)分別由三個處理器以及三個獨(dú)立的WiFi模塊進(jìn)行數(shù)據(jù)的發(fā)送,由路由器網(wǎng)關(guān)進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā),再由一套Esp8266模塊進(jìn)行數(shù)據(jù)的接收處理并通過串口顯示在PC端。
各模塊數(shù)據(jù)采集主流程圖如圖7所示。
圖7 各傳感器數(shù)據(jù)采集流程圖
(1)STM32心電波形顯示心率計(jì)算
包括心率信號收集的硬件部分采用了ADS1292模塊、心電儀產(chǎn)生的心電信號收集與顯示以及IIR濾波處理與簡單平滑處理的效果展示等。
(2)人體運(yùn)動信息的采集
通過對非電量的測量,即把傳感器或傳感元件固定在被測物體上,將被測物體的力學(xué)參數(shù)通過傳感器轉(zhuǎn)換為模擬電量,然后放大器再將轉(zhuǎn)換的微弱的模擬電量放大并調(diào)理,A/D轉(zhuǎn)換器轉(zhuǎn)換后進(jìn)行計(jì)算處理。原理框圖如圖8所示。
圖8 人體運(yùn)動信息采集
(1)由心電基準(zhǔn)源輸出的心電波形與本項(xiàng)目方案的波形進(jìn)行比對和穩(wěn)定性測試,重復(fù)N次,記錄數(shù)據(jù),在程序中進(jìn)行調(diào)試和校準(zhǔn)。
(2)人為干擾波形的顯示以及亂碼之后能否重新得到平穩(wěn)的心電信號測試,多次進(jìn)行測試,更換電極片之后數(shù)據(jù)能否平滑的輸出。
(3)由體溫計(jì)測量的體溫與本項(xiàng)目方案的體表信息進(jìn)行比對和穩(wěn)定性測試,重復(fù)N次,記錄數(shù)據(jù),在程序中進(jìn)行調(diào)試和校準(zhǔn)。
(4)人為干擾溫度的顯示以及亂碼之后能否重新得到平穩(wěn)的溫度信號測試,多次進(jìn)行測試,更換測溫探頭之后數(shù)據(jù)能否平滑的輸出。
(5)由智能手環(huán)測量的體溫與本項(xiàng)目方案的運(yùn)動信息進(jìn)行比對和穩(wěn)定性測試,重復(fù)N次,記錄數(shù)據(jù),在程序中進(jìn)行調(diào)試和校準(zhǔn)。
(6)人為干擾運(yùn)動的顯示以及亂碼之后能否重新得到平穩(wěn)的運(yùn)動信息測試,多次進(jìn)行測試,重新上電之后數(shù)據(jù)能否平滑的輸出。
體溫計(jì)、示波器、基準(zhǔn)源信號發(fā)生器、智能手環(huán)、TPC調(diào)試助手,串口調(diào)試助手。
圖9