基于STM32矿工帽的体温采集存储系统设计

2015-07-21 09:55鲁开林吴孔平李琳慈能达李良光周孟然

鲁开林++吴孔平++李琳++慈能达++李良光++周孟然

摘要:体温是一种反映人体健康状况的重要参数,长期记录人的体温为预防疾病起到重要作用,为进一步研究井下工作人员的身体健康状况提供大量的有用数据。采用单片机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