admin管理员组

文章数量:1531721

2024年3月31日发(作者:)

机电工程技术

48

卷第

12

MECHANICAL

&

ELECTRICAL

ENGINEERING

TECHNOLOGY

Vol.48

No.12

DOI:

10.

3969

/j.

issn.

1009-9492.

2019.12.

021

程超发

师文庆

黄江

等.基于

STM32

个人健康助手设计

[J]

.机电工程技术

2019,

48

(12)

61-64.

基于

STM32

个人健康助手设计

程超发

师文庆※

王楚虹

(广东海洋大学电子与信息工程学院

广东湛江

524088)

摘要

设计一种基于

STM32

开发系统的个人健康助手

实现及时测量人体体温与脉搏心律的功能。

该设计通过红外温度传感模块获得人体

向外辐射的能量

通过心率脉搏传感模块获得手指血管搏动的透光率

经过算法分析将以上的信号转变为具体的体温值和心率值

并通过

蓝牙模块传输信号

OLED

显示屏显示数据

同时还实现了一些辅助功能

包括设置时间和闹钟

在线获得测量数据

查看日志等

设计可靠实用

简单方便

携带便捷

具有一定的实用价值

关键词

传感器

健康

软件程序

STM32

中图分类号

TP368.1

文献标志码

A

文章编号

1009

-

9492

(

2019

)

12

-

0061

-

04

Design

of

Personal

Health

Assistant

Based

on

STM32

CHENG

Chaofa,

SHIWenqing*,

HUANG

Jiang,

WANG

Chuhong

(College

of

Electronic

and

Information

Engineering,

Guangdong

Ocean

University,

Zhanjiang,

Guangdong

524088

,

China)

Abstract:

A

personal

health

assistant

based

on

STM32

development

system

was

designed

,

which

could

timely

measure

human body

temperature

and

pulse

design

obtains

the

energy

radiated

from

human

body

through

the

infrared

temperature

sensor

module,

and

obtains

the

light

transmittance

of

finger

blood

vessel

pulsation

through

the

heart

rate

pulse

sensor

module.

Through

algorithm

analysis

,

the

above

signals

were

converted

into

specific

temperature

and

heart

rate

values

,

and

signals

were

transmitted

through

the

bluetooth

module

to

display

data

by

OLED

display

screen.

It

also

implements

some

auxiliary

functions,

including

setting

time

and

alarm

clock,

obtaining

measurement

data

online,

viewing

log,

etc.

The

design

is

reliable

and

practical

,

simple

and

convenient,

and

has

certain

practical

value.

Key

words:

sensor

;

health

;

software

programs

;

STM32

0

引言

21

世纪

,社会高速发展

,生活物质越来越丰富

为了

K1

按键功能选择一非接触温度传感器获取数据一脉

搏传感器采集心率数据一模拟心率波形图一计时表一播

放音乐

其中秒表及闹钟页面

按键

K0

功能选择

开始

暂停一清除一返回

追求更高的物质享受

,人们不断消耗人体健康机制去拼

,导致身体抵抗能力下降

引发各种疾病。

因此

身体

健康状况越来越备受大家的关注

健康意识也得到普遍提

正常的体温是保障人体内部器官工作的重要因素

常人体温度保持在

37

t

左右

若偏离正常体温则需要及

时就医

心率则可以更直接反映身体的健康状况

一般

60~100

次/分属于正常

,若心率异常

也需及时就医

本文设计一套基于

STM32

个人健康助手

实现随时测

量人体体温和心率的功能

以监控人体的健康状况叫

1

整体设计

本设计系统主要测量出人的体温与脉搏心律

并能对

测量数据进行保存

主要分为硬件结构和软件系统

具体

如图

1

所示。

其中硬件结构包含

STM32

脉搏传感器

非接触红外温度传感器

OLED

显示

蓝牙通信以及蜂

鸣器等模块

首先

传感器采集到相应的数据信号

过系统特定算法对数据进行分析处理

得到具体的温度

2

硬件设计

2.1

STM32

模块

采用

STM32

开发系统设计

原理如图

2

所示

值和心率值

并通过

OLED

显示出来

也可以通过蓝牙

传输在手机上显示

手机

APP

通过蓝牙修改参数值及查

内核

32

位高性能

ARMCortex-M4

处理器

时钟

168M,

支持浮点运算和

DSP

指令

10

串口

STM32F407ZET6,

144

引脚

阅日志

其软件设计思路为

初始化系统

OLED

显示字

收稿日期

2019

-

07

-

08

61

2019

12

机电工程技术

48

卷第

12

114

10

串口

SWD

调试

SDA

数据

向外传输

MOS-6

电路可以增大电路输

存储器

FLASH

5

12k,

SRAM

192k

出阻抗

提高输出带载能力

起到稳定输出电平和保护内

AD

模数转换

3

12

AD,

内置参考电压;

部芯片的作用

DA

数模转换

2

12

DA

数模转换器

2

STM32

原理图

4

MXL90614

原理图

2.2

OLED

显示模块

2.4

脉搏传感模块

采用

0.96

OLED

模块进行设计

,原理图如图

3

根据郎伯-比尔

(lamber

-

beer

定律

在一定波长

其中降压电路是

U2

将电源电压

VCC_IN

转换成

OLED

范围内介质的吸光度和它的浓度成正比

当稳定波长的光

额定电压

VCC,

SSD1306

OLED

的核心驱动芯片

图形

照射到人体组织上时

经过反射、

吸收后光强会有一定的

显示数据内存

包含

128x8

字节

128x64

bits

,

1

bits

衰减

那么衰减后的光强在一定程度上则反映了被照射部

OLED

128x64

个点互相对应起来

,

也即是每个像素对

位组织的生理结构特征

衰减后的光强可描述为

128x64

o

STM32

SSD1306

通讯

通过

I2C

总线

SCL

时钟

SDA

数据)

SSD1306

传输数据字符

SSD1306

釆用脉搏传感器进行设计,

原理图如图

5

所示

主要

调用

U4

汉字库芯片并驱动

OLED

相对应的点点亮

呈现不

由光源

光敏器件以及相应的信号调理控制电路组成

同的图像及字符叫

LM358

是双运算放大器

控制通过

D1

的电流

可有效

地避免波动电流对脉搏信号测量的干扰

OP07

是低噪声

的双极性运算放大器

把光敏器件采集的信号进行分析处

从而获得人体脉搏心律的基本生理状况

2.3

非接触红外温度传感模块

2.5

蓝牙模块

依据普朗克

Plank

定律

物体所辐射的能量大小

蓝牙模块无线技术是一种设备间短距离通信系统

与该物体温度直接有关

即该物体所辐射的能量大小是与

要目的就是取代连接设备通信的缆线。

采用

HC-05

主从机

该物体热力学温度的

4

次方成正比

。人体主要辐射的红外

一体蓝牙模块板设计

,原理如图

6

所示

其中

RT9193-3.3

线波长为

9~10

m,

而空气不会吸收在该波长范围内的

是将电源电压转换成

3.3V

电平的

LDO,

作为二次电源给整

光线

人体表面的温度就可以利用人体所辐射红外的能量

个电路供电,

HC-05

是主要核心芯片

通过

粗略地测量出来叫

送数据

RXD_TTL

接收数据

与主机进行信息通

采用数字非接触式红外温度传感芯片

MXL90614

进行

二极管

DI

D2

具有单向性

通信就不会混乱冋

设计

原理图如图

4

所示

其中

TPS73033

是将电源电压转

2.6

蜂鸣器模块

换成

3.3

V

电平的

LDO,

作为二次电源给整个电路供电

采用蜂鸣器驱动设计

原理如图

7

所示

主要由蜂鸣

MXL90614

将最终测量的温度数据通过

I2C

总线

SCL

二极管

三极管

电容等构成

其中

H1

是发声元

62

程超发

基于

STM32

个人健康助手设计

D1

1N4148,

是续流二极管保持电路电流续流

C1

是滤波电容滤除

H1

电流对电路的影响

提高电源交流阻

3.2

时钟

釆用

RCT

实时时钟模块设计,

RCT

模块和时钟配置分

布在后背区域

具有复位或者启动

RCT

的设置与时间维持

Q1

8050,

是三极管

主要起开关作用

不变的特性

其中

RCT

提供日历时钟

中断功能的周期性

可编程

2

个可编程闹钟中断

2

个包含二进码十进制格

式的秒

星期

日期

月份

、年份的

32

位寄存

Comxvl

器叫

RTC_GetTime

(RTC_Format_BIN,&RTC_Time-

Struct)

;

〃获取时间

6

蓝牙模块原理图

RTC_GetDate

(RTC_Format_BIN,&RTC_DateStruct)

;

〃获取日期

OLED_ShowCN

(10+i*16,0,i);

〃显示中文"健康助手

系统"

OLED_ShowStr

(

0,2,date_buffer,2)

;

〃显不日期

OLED_ShowStr

(0,4,time_buffer,2)

;

〃显

7K

时间

OLED_ShowStr

(5,6,"K1

Switching"?);

〃按键切换功

能界面

7

蜂鸣器原理图

3.3

MXL90614

测温度

采用非接触红外温度传感模块设计

通过

MXL90614

3

软件模块

本设计系统用

while

循环语句控制系统程序的运行

釆集数据传输给

STM32

开发系统

结合软件算法程序得到

相应的温度值

OLED_ShowCN

(10+

(i-6)

*16,0,i)

;

//

显示中文

通过按键来切换不同的功能。

定义一个标志位

flag,

每按

按键一次

标志位自增一

得到不同

flag

根据

switch

(flag)

函数

系统程序执行不同的功能代码

红外温度计

if

(sum==TEMP_data[i])

〃校验和判断

按键

K1:

选择功能区

主页面是

RCT

时钟表

并在

OLED

显示屏显示,

如图

4

为系统主页面

K1

按键可以

{T0=

(float)

(

(TEMP_data[4]«8)

ITEMP_data[5])

/

100

〃得到真实环境温度

往下一功能区

功能依次是

MXL90614

测温度

Pulse-

Sensor

测心率

模拟心率波形图、

计时表

播放音乐

TA=

(float)

(

(

TEMP_data[6]«8)

ITEMP_data[7])

/

100

;

|

〃得到真实物体温度

按键

K0:

计时表选择运行状态

OLED

显示屏处于

3.4

PulseSensor

测心率

采用脉搏传感模块设计

通过

PulseSensor

采集脉搏信

计时表状态

K0

按键依次为开始计时

停止计时

回初始计时状态

手机蓝牙

APP

(1)

修改时间协议

年-月-日-时-

-D

例如

2019-2-5-2-2-D

调用

void

Set_date_time

(void)

//

设置日期时间函数

(

2)

查阅测量日志协议

C

息传输给

STM32

开发系统

结合软件算法程序得到相应的

心率值

OLED_ShowCN

(10+

(i-12)

*16,0,i)

;

〃显示中文

脉搏测量仪

if

(

pulseCount

==

1

)

〃两次脉搏的第一次

调用

void

View_log

(void)

〃查看日志函数

(

3)

设置闹钟

协议:启动-时-分-铃声

-N

例如

1-12-2-1-N

调用

void

Set_Alarm_clock

(void)

〃设置闹钟函数

{

firstTimeCount

=

timeCount

:

}

//

记录第一次脉搏时

if

(pulseCount

==

0)

〃两次脉搏的第二次

3.1

初始化系统

系统接通电源启动后

初始化各个功能模块端口

Spijnit

0;

//

初始化

SPI

Adcjnit

0

;

/潮始化

ADC

{

secondTimeCount

=

timeCount

;

//

记录第二次脉搏时

timeCount

=

0;

if

(

(

secondTimeCount

>

firstTime

­

脉搏模块、

LEDJnit

();

〃初始化

LED

Delayjnit

();

//

初始化延迟函数

Usartljnit

();

〃初始化蓝牙模块

I2C_Configuration

();

〃初始化总线模块

OLED_Init

Count)

)

〃判断第二次计时是否有效

{

IBI

=

(

secondTimeCount

-

firstTimeCount)

*

SAM-

();〃

初始化

OLED

Rtcjnit

()

;

//

初始化

RCT

KEYJnit

0;

〃初始化按键

BEEPJnit

();

/

砌始化蜂

PLE_PERIOD;

〃计算相邻

2

次脉搏的时间

得到

IBI

BPM

=

60000

/IBI;

I

〃通过

IBI

得到心率值

BPM

,81

O

3.5

模拟心率图

鸣器

Time4_Init

();

〃初始化中断函数

Usart3_Init

0

〃初始化非接触红外温度模块。

PulseSensor

采集的信号经软件算法程序得到的数

63

2019

12

机电工程技术

48

卷第

12

值用点在

OLED

显示屏上显示出来

由于采集的频率较

非接触红外温度传感测量体温及环境温度

测试数据

所以在

OLED

显示屏上会显现波浪线

如表

2

~

4

所示

脉搏传感测量心率值

测试数据如表

5

OLED_CLS

0;

〃清屏

for

(i=0;

i<128;

i++)

{for

(j=

蓝牙模块传输数据

蜂鸣器发声等

0;

j<8;

j++)

bpm_bufi[i]|j]=pulse_BPM/30

;

OLED_DrawPoint

(i,bpm_buffli][j])

:

)//½

OLED

±

3.6

秒表及闹钟

采用按键控制计时开始

停止

清零

返回设计

页面处于计时页面

K0

按键选择不同机制

OLED_ShowCN

(10+

(i-18)

*16,0,i);

〃主页面显示

8

设计成品

中文"秒表计时间器

OLED_ShowStr

(0,2,alarm_buff,

2

MXL90614

测试数据表

2

)

;

〃闹钟时间

单位

OLED_ShowStr

(20,6,"K0->

start",

2)

:

〃显示下次按

/°C

1

2

3

4

5

6

78

9

10

K0

开始计时

环境

温度

22.5

22.8

22.9

23.0

23.0

23

23

232

23.1

23.3

OLED_ShowStr

(20,6,"K0->

slop",

2)

:

〃显示下次按

人体

35.4

35.4

35.835.6

33.8

33.9

32.9

44.3

K0

停止计时;

温度

35.2

36.6

OLED_ShowStr

(20,6,"K0->

clear"

,2);

显示下次按

KO

3

环境对

MXL90614

测试数据表

清除计时

OLED_ShowStr

(20,6,"K0->retum",2)

;

〃显

示下次按

K0

返回

[3

手指

S

0

0S

H

S

□□

3.7

播放音乐

温度

音乐其实就是用不同频率的声音按照一定的时间节拍

转换发出

如表

1

所示

手指

HS

S

R

S0

温度

1

C

调音符频率对应表

4

距离对

MXL90614

测试数据表

音符

1

2

3

4

56

7

距离

测量

环境

1

2

3

4

5

6

7

8

低音

/Hz

260

295

330

350390

440

495

/cm

次数

温度

手指

中音

/Hz

525

580

660

700

785

880

990

2

温度

23.9

34.734.9

35.0

34.8

35.1

34.8

34.9

35

高音

/Hz1

045

1

175

1

320

1

400

1

570

1

7601

980

3

手指

温度

24.4

34.6

34.534.834.9

35.0

35.2

35.435.3

OLED_ShowCN

(10+

(i-33)

*16,0,i)

//

显示中文

5

PulseSensor

测试数据表

"欣赏音乐盛会"

play_music0

();

〃播放"欢乐颂"

OLED_ShowCN

(30+

(i-30)

*16,5,

i);

〃显示中文

欢乐

测量

次数

1

2

3

4

5

6

7

8

"

play_musicl

();

〃播放"时间都去哪了"

OLED_ShowCN

(10+

(i-24)

*16,

5,

i);

〃显示中文

时间

BMP

112

36

128

94

100

6454

78

都去哪了”

首先宏定义

#define

D1

260

...........

通过本研究设计分析结合表

2~5

得出以下结论

//0

1

23

45

67

8

9

10

11

12

13

14

15

16

17

18

19

20

21

(1)

辐射率(辐射系数)

距离系数

环境因素对非

ul6

tone[]

=

接触红外温度传感有一定的影响

{E0,Dl,D2,D3,D4,D5,D6,D7,Ml,M2,M3,M4,M5,M6,M7,

(2)

运动干扰

环境光干扰、电磁干扰对心率脉搏传

H1,H2,H3,H4,H5,H6,H7}

感产生一定的干扰。

u8

music]]

{2,12,6,5,7,1,5,22,13,3,

);

〃音调

(3)

设计系统程序不够严谨优化

存在一定的漏洞。

u8

time[]

=

{12,4,22,2,7,12,2,8,4,

14,

)

/

序拍时间

5

结束语

依次从音调数组中获取

music[i],

再依据

music[i]

的值

本设计旨在设计出一款便捷又准确的智能测量工具

tone

数组中控制该音的发声频率

(tone[music[i]])

,

调用

基于

STM32

个人健康助手

它通过相应的传感器采集

sound

函数控制蜂鸣器发声

声音的发声时间由

time

数组

数据

分析人体生理健康状况

非接触红外体温计传感器

控制叫

采集人体表面温度数据.系统将会对数据进行分析

并做

4

结果与结论

出友情建议

心率脉搏传感器采集人体心跳频率数据

本设计成品如图

8

所示。

其中

OLED

显示屏显示字

统也会做出相应的分析与应答

OLED

显示屏显示相应字

64

(下转第

201

页)

常宝瑞

液压支架液压系统的优化设计

«3=19.36/12.05=1.63

(s)

[2]

向东.平煤股份液压支架液压控制系统优化的实施与

同理可以计算得出降架消耗时间值

数值大小为

4.41

s,

移架消耗时间值

%数值大小为

3.67

s,

则液压支架单次

[3]

推广

[J]

.中国战略新■兴产业

2018

(32)

87.

刘芳.矿用液压支架液压系统优化设计与验证

[D]

.

郑州

中原工学院

2017.

[4]

杜晓旭

魏延峰,

常园园

.ZY17000/32/70D

型液

循环操作所需的总时间为

t=t,+t

2

+t

3

=4.4

1

+3.67+1.63=9.71

(s)

<10

(s)

通过计算可以得出,

此次设计液压支架液压系统在进

压支架液压系统优化设计

[J]

.煤炭科技

2015

(02)

91-92.

行移架操作过程中所需总时间为

9.71

s,

能够满足移架速

度提升的要求

[5]

王宇,

尹纪强

任相广.综采液压支架液控系统优化

3

结束语

液压支架在煤矿井下开采作业过程中所发挥的作用非

常大

而随着煤矿开采速度不断地提升

也要求液压支架

设计

[J]

.煤矿机械

2014,

35

(08)

13-14.

[6]

周如虹

翟荣涛.液压支架液压系统优化设计及发展

[J]

.煤炭与化工

2014,

37

(05)

114-115.

移架速度同时需要随之提升,

而对于液压支架装置而言

其性能很大程度上是由液压系统所决定的

所以

此次结

[7]

于玲

贾春强.综采工作面支架液压系统仿真研究

[J]

.煤矿机械

2014,

35

(02)

56-58.

[8]

李鹏南,

付胜

丁满柱.综采支架液压系统的改造

[J]

.煤矿机械,

2000

(10)

52-53.

合移架速度提升的实际需求

针对液压支架立柱供液系

回液系统以及推移供回液系统进行了改进设计,

通过

计算得出了所设计液压系统满足移架速度提升要求,

可以

在实践中进一步验证

作者简介

:常宝瑞

(1992-),

大学本科

,助理工程

参考文献

[1]

张海朋.综采面液压支架供液系统的改造分析

[J]

.

研究领域

机械设计

(编辑

王智圣)

2019,

28

(04)

78-79.

1

1

------

1

------

1

1

1

-----

1

I

(

1

I

I

(

I

1

1

(上接第

64

页)

手机

APP

可以接收测量数据及实现参数上设置等功

2019,

30

(6)

.

[6]

蓝牙技术指标和系统参数一百度文库.

随着互联网的发展

科技的不断进步

个人健康助手

将会成为医学中必不可少的诊断及医疗手段

当个人健康

[7]

RTC

实时时钟驱动

-lfsblack

-博客园.

[8]

使用

PulseSensor

心率脉搏传感器测量心率.邵国际.

[9]

基于

STM32

定时器的

PWM

音乐播放功能的实现

助手与互联网大数据库连接起来

那就是开阔的世界:

户可以通过手机

APP

应用端与互联网连接

读取数据库相

关信息

经系统审核并授权后,

用户所预约的医生就可以

度文库.

根据访问的数据信息来评估其身体生理状况

做一个全面

有效的保健养生医疗

也可以通过互联网

APP

设备与医生

进行在线交流

获取远程就诊服务

人们即将走入

足不

第一作者简介

程超发

(

1992-),

,广东肇庆人

广东

海洋大学电子科学与技术专业

2015

级本科生

研究领

电子科学与技术

※通讯作者简介

师文庆

(1971-),

甘肃天水人

博士

出户

便医百病

”的时代

参考文献

[1]

司建平.健康服务与管理专业发展现状及对策研究

[J]

.

中国中医药现代远程教育

2019,

17

(7)

:

教授

研究领域

物理电子与激光应用技术的教学与科

(编辑

阮毅)

130-134.

[2]

熊军洲

STM32

微控制器虚拟串口通信实现与仿真

[J]

.科教导刊-电子版(中旬

)

2018,

(6)

269.

[3]

信意电子

0.96

-t

OLED

模块使用手册-图文-百度文

库.

[4]

非接触式红外温度传感器-图文-百度文库.

[5]

Renwei

Liu,

Yoshihiro

Deguchi,

Weigang

Nan,

etal.

Unbumed

carbon

measurement

in

fly

ash

using

laser-in

­

duced

breakdown

spectroscopy

with

short

nanosecond

pulse

width

laser

[j]

.

Advanced

Powder

Technology

,

•201-

本文标签: 设计系统液压模块脉搏