魯開林++吳孔平++李琳++慈能達++李良光++周孟然
摘要:體溫是一種反映人體健康狀況的重要參數,長期記錄人的體溫為預防疾病起到重要作用,為進一步研究井下工作人員的身體健康狀況提供大量的有用數據。采用單片機STM32F103RBT6為主控制器,配合MLX90615 紅外溫度傳感器實現對人體體溫的測量并把體溫數據保存在大容量Micro SD卡中。該系統不僅體積小、功耗低,便于在礦工帽上安裝和長時間使用,而且成本低廉、操作簡單,便于普及和推廣。
關鍵詞:STM32; 體溫測量; MLX90615; Micro SD卡
中圖分類號:TP368.1文獻標志碼:A
近年來,隨著科學技術的發展以及國家對煤礦開采安全的重視,管理者對礦工在井下工作的安全性要求越來越高,同時對礦工身體的健康狀況也日益重視,而體溫是人體生命活動的基本特征,也是觀察人體機能是否正常的重要指標之一,是標準化較強和測量較為方便的一種生理信號[1]。因此,在礦工帽上設計一種具有智能測量體溫并存儲的系統尤為重要,這有助于煤礦的管理人員了解礦工在井下工作的身體健康狀況,安排合理的工作班次,對礦工提供人文關懷。本系統選擇意法公司的STM32F103芯片作為主控制器,MLX90615作為非接觸式測溫的傳感器,目的是設計一個由微控制芯片控制的礦工帽上的體溫采集存儲系統。
1系統設計
系統由單片機STM32F103、紅外溫度傳感器、OLED顯示模塊、Micro SD存儲模塊、報警模塊和電源模塊等構成(見圖1)。單片機通過通用輸入輸出管腳(GPIO)、模擬SMBus總線與紅外溫度傳感器進行通信。紅外傳感器采集信息發送給單片機,單片機通過內部算法準確計算出人的體溫值,通過OLED顯示模塊顯示并保存到Micro SD存儲器中,再根據體溫的警戒值去控制報警模塊。鑒于煤礦下的實際應用環境,人體體溫的警戒值設定為38.5攝氏度[2]。
圖1系統的硬件結構框圖
2硬件設計
2.1控制器的選擇
本設計選用了基于ARM公司Cortex-M3內核的STM32系列中STM32F103RBT6微處理器。STM32微處理器具有高性能、低功耗特點,擁有復位電路、低電壓檢測、調壓器、精確的RC振蕩器等,并提供豐富的外設和USB接口[3] 。STM32F103RBT6片上集成了128 k FLASH,20 k SRAM存儲器,并有2個SPI、3個串口、4個16位定時器、1個CAN接口、1個USB、51個可用的I/O腳。這樣的配置滿足當前功能又能后續升級,是較為理想的選擇。
2.2體溫測量電路設計
本系統采用MLX90615ESG-DAA紅外溫度傳感器測量人體體溫。該種傳感器專為醫療檢測設計,內部集成了紅外傳感器,低噪聲運算放大器,16位ADC,FIR/IIR濾波器和高性能DSP單元,在36~39℃的人體溫度范圍內的精度達到±0.1 ℃,符合醫療檢測標準。MLX90615 支持PWM和SMBus兩種通信方式,本設計采用SMBus的方式與處理器進行通信,紅外體溫測量電路如圖2所示。SMBus 是一種二線制的同步串行總線,由1 條時鐘線和1 條數據線組成,主機為通信提供同步時鐘[4]。由于處理器STM32沒有標準的SMBus 總線,因此,使用2 個GPIO 管腳模擬SMBus 總線的通信協議,處理器作為通信主機,而MLX90615 作為從機。
SCL 引腳為SMBus總線通信提供同步時鐘;SDA 引腳為數據線。
圖2MLX90615與STM32F103RBT6單片機的連接電路圖
2.3OLED顯示模塊電路的設計
本系統采用ALINETEK的0.96寸OLED顯示屏實現數據的顯示。該模塊為全固態結構,抗震性好、高分辨率,超廣可視角度、超低功耗。它不需要高壓,采用3.3 V的電壓就可以工作。它支持8080并行接口方式,具有多個控制指令,可以控制OLED的亮度、對比度、開關升壓電路等指令[5]。操作方便,功能豐富,通過以下一些的信號線與單片機連接。OLED顯示模塊與STM32單片機的連接原理如圖3所示。
2.4Micro SD存儲模塊的電路設計
Micro SD 卡的外形尺寸很小,應用在手機、多媒體播放器等小體積的系統中。它擁有高記憶容量、快速數據傳輸率以及很好的安全性的特點。Micro SD卡的接口支持SPI模式。它使用4條線:串行時鐘線(SCL)、低電平有效的使能信號線(CS)、主機輸入/從機輸出線(MISO)、主機輸出/從機輸入線(MOSI)[6]。利用STM32自帶的SPI接口,最高通信速度可達18 Mb/s,每秒可傳輸數據2MB以上,對于該系統應用足夠了。Micro SD 卡和STM32單片機的連接原理如圖4所示。
圖3OLED顯示模塊與STM32F103RBT6單片機引腳的電路連接圖
圖4Micro SD 卡和STM32F103RBT6引腳的電路連接圖
2.5電源模塊設計
系統中單片機、紅外溫度傳感器、OLED顯示模塊、Micro SD卡存儲模塊和報警模塊的供電電壓均為3.3V,因此,電源模塊需為系統提供3.3 V電源。采用4.2 V鋰電池進行供電,使用一片低壓差線性穩壓器RT9193將電池電壓轉換為3.3 V供電電壓。電源模塊電路如圖5所示,經實際測試,電源輸出能夠到達本質安全型標準。
圖5電源模塊電路
3系統的軟件設計
系統軟件主要完成功能包括體溫數據采集與運算、OLED顯示、Micro SD卡相關的初始化和寫操作。系統初始化包括系統時鐘配置、中斷配置、外設總線初始化以及GPIO引腳配置等初始化設置。系統主程序如圖6所示[7]。
圖6系統的主程序流程圖endprint
3.1溫度采集部分
系統采用定時中斷的方式啟動紅外體溫測量,在定時中斷子程序中啟動SMBus總線讀取MLX90615的原始測量數據Data,并根據公式T=Data×0.02 -273.15計算人體體溫,將最終得到的人體體溫T 存入體溫數據緩沖區中。定時器中斷子程序流程如圖7所示。
圖7定時器中斷子程序流程圖
3.2Micro SD卡的初始化和數據存儲部分
Micro SD卡通過上電和軟件復位命令CMD0實現復位;上電之后進入idle狀態模式;Micro SD卡在選擇進入SPI 模式后,再次上電前不能返回SD模式,之后用CMD1初始化Micro SD卡[8]。其初始化流程如圖8所示。
圖8Micro SD卡初始化流程圖
4結論
本文設計的基于STM32礦工帽的體溫采集存儲系統設計,能成功地將數據顯示并存儲起來,為測量礦井下的人員在工作中的體溫變化過程提供一種技術手段,可為井下人員身體工作狀況實時監測的研究提供可靠的和足夠的實測數據。整個系統不僅體積小、功耗低、集成度好,而且采用了彈出式Micro SD卡座設計,數據存儲卡可以替換下來,方便數據信息保存到PC機中。本系統為面向個人健康監護的典型應用,適用于礦井工作環境,有著很好的發展前景和廣闊的提升空間。
參考文獻:
[1]孫旭東,張躍.基于AD8232 和MLX90615 的心電與體溫測量系統設計[J]. 傳感器與微系統, 2014, 33(9):81-84.
[2]邢娟娟. 井下高溫作業的礦工生理、 生化測定研究[J]. 中國安全科學學報,2001,11(4): 45-48.
[3]丁珍紅. 基于STM32的高速大容量數據采集存儲系統設計[D]. 上海:上海交通大學,2011.
[4]章彧, 陸斌, 李軍, 等. 基于C8051F064 混合信號微控制器的SMBus應用[J].電力自動化設備,2007,27(2):118-120.
[5]李想,鄭喜鳳,陳宇. 基于Linux下的OLED顯示模塊設計[J]. 液晶與顯示,2012,27(1):103-107.
[6]王國靜,王衛東,昂清,等. 基于ZigBee技術的多生理參數采集和存儲系統的設計[J]. 中國醫療器械雜志,2012,36(2):90-92.
[7]侯小華,胡文東,李曉京,等. 基于CC2430 和Micro SD 卡的體溫采集系統的設計[J]. 醫療衛生裝備,2010,31(9): 25-27.
[8]劉軍. 例說STM32[M].北京:北京航空航天大學出版社,2011:262-264.
(責任編輯:何學華,吳曉紅)endprint