下载此文档

基于STM32的无线运动传感节点设计.doc


文档分类:通信/电子 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
该【基于STM32的无线运动传感节点设计 】是由【碎碎念的折木】上传分享,文档一共【12】页,该文档可以免费在线阅读,需要了解更多关于【基于STM32的无线运动传感节点设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。????基于STM32的无线运动传感节点设计????摘??要:针对医疗、体育训练等过程中的身体指标监测问题,设计了基于ADS1292和LMT70的无线运动传感器节点,其中温度测量模块、心率监测模块实现了实时采集人体心电信号、体表温度,运动记录模块使用MPU6050芯片结合卡尔曼滤波算法来实现人体运动信息精准检测,最后STM32将以上信息通过CC2652RB蓝牙芯片发送给服务器(手机)并由自主开发的APP实时显示,同时还设计了心跳、体温异常等信息的語音提醒等功能,实验结果表明系统运行稳定,测量精度可满足实际要求。关键词:心率检测;温度测量;运动姿态检测;无线传输;APP显示:;??????:A?:2096-4706(2020)24-0035-04Design?of?Wireless?Motion?Sensor?Node?Based?on?STM32GAO?Tianxue(Shandong?Huayu?University?of?Technology,Dezhou??253034,China)Abstract:Aiming?at?the?problem?of?body?index?monitoring?in?the?process?of?medical?treatment?and?physical?training,a?wireless?motionsensor?node?based?on?ADS1292?and?LMT70?is?designed.?Thereinto,temperature?measurement?module?and?heart?rate?monitoring?module?realize?real-time?acquisition?of?human?ECG?signals?and?shell?temperature,the?motion?recording?module?uses?MPU6050?chip?bining?with?Kalman?filtering?algorithm?to?realize?an?accurate?detection?of?human?motion?information.?Finally,STM32?sends?the?aboveinformation?to?the?server(mobile?phone)2652RB?Bluetooth?chip?and?displays?it?in?real?time?by?the?self-developed?APP.?And?at?the?same?time,it?also?designs?the?voice?reminder?function?on?the?information?of?heartbeat,abnormal?body?temperature?etc.?Experiments?results?show?that?the?systems?running?is?stable,and?the?measurement?accuracy?can?meet?the?actual?:heart?rate?detection;temperature?measurement;motion?gesturedetection;wireless?transmission;APP?display0??引??言心率、体温、运动状态等指标均涉及到人体健康,也是医疗、体育训练等项目中越来越重视的关键指标,该系列指标的无线快速监测问题已成为最新医疗器械、手环、手机等设备中的必备功能,传统的监测方法由于器件灵敏度等问题存在效率低、误差大、功能单一等问题,同时传统的检测设备多采用有线数据传输方式,导致设备的接线较为复杂且传输线在使用中也存在接触不良、开路等问题,造成维修与检测工作量大且很难找到开路点等问题,特别是高速运动过程中的指标监测技术在稳定性、灵活性、快速性等方面仍有待提高。笔者基于学校教学研究项目及全国大学生电子设计竞赛项目对基于STM32的无线运动传感节点进行了设计与开发,实现了实时采集人体心电信号、人体温度、人体2652RB蓝牙芯片发送给服务器(手机)并由自主开发的APP实时显示,同时还设计了心跳、体温异常等信息的语音提醒等功能。1??系统总体设计方案目前的姿态检测多使用三轴加速度传感器进行运动检测,主要因为其成本较低,但三轴加速度传感器测量数据单一、准确性低。而MPU6050姿态融合传感器,通过姿态融合算法可以精确地对人体的运动进行分析,数据复杂但准确性高。目前的小型控制电路核心控制器多采用89C51单片机,其I/O脚使用简单,但高电平时驱动能力不强,而且89C51单片机运行速度过慢、保护能力很差,很容易烧坏芯片。而近几年流行起来的高速STM32单片机有以下优点:运存大、主频高,运算能力强、外设丰富,定时器多、外部接口丰富,且拥有多个串口,USB通信、SPI通信等一应俱全,故采用该系列单片机作为主控芯片。目前的无线传输方式主要有Wi-Fi、蓝牙、ZigBee等传输形式,虽然Wi-Fi传输距离长,但是价格高、功耗高、电池续航时间短。ZigBee在短距离传输具备优势且功耗极低,但其传输速率不高且开发过程比较复杂,需大量协议程序代码。蓝牙传输模块价格低、功耗低、可以延长续航,虽然传输距离稍近,但是近距离通信毫无压力。综合比较后最终确定整个系统由手机、单片机、温度测量模块、心率监测模块、运动记录模块等组成,系统框架如图1所示。2????心电测量方法心脏在收缩或舒张时会产生微弱的生物电流,这种电流可以传到人体表面。心电图机就是通过监测心脏这种周期性变化产生的电流变化,以连续曲线的形式,在心电图中记录下来。心电图记录纸上横向坐标可以测量各波的宽度,即时间。每小格距离为1?mm,采用25?mm/s的纸速时,则横坐标上每1??s。根據需要可以提高走纸的速度,如成倍提高至50?mm/s或100?mm/s,则每小格1???s。在心电图上测量心率时,只需测量一个P-P(两个P峰之间的间隔)或R-R(两个R峰之间的间隔)间期的秒数,然后除以60即可得出心率数,计算公式:HR=60/P-P(R-R)例如:R-?s时,心率为:60/=80(次/分),还可采用查表法或使用专门的心率尺直接读出相应的心率数。当心律不规则,P-P和R-R间期不均匀时,不能用一个心动周期计算,一般采取数个(如10个)心动周期的P-P或R-R周期平均值计算。测量各波的时间,应选用波形清晰的导联并且同时用多个方法测量导联方能准确,各波的时间测量应自该波形内缘的起点测至波形内缘的终点。??基于LMT70的体表温度测量方法LMT70是精密模拟温度传感器,其供电要求低、引脚简单、具有很宽的温度测量范围,是一款医用级的传感器。LMT70几乎适用于所有高精度、低功耗的经济高效型温度感测应用,例如物联网传感器节点、医疗温度计、高精度仪器仪表和电池供电设备。根据其测量结果精确、体积小、电源要求低的特点,由于LMT70的输出电压传递函数近似于线性但并非绝对线性,故也可以用二阶或三阶传递函数方程更好地描述,通常用在对温度变化测量精度要求较高的工业控制领域。二阶传递函数可以在更宽的有限温度范围内提供良好的结果。在-55??至+150??的整个温度范围内,单个二阶传递函数在极端温度下的误差会增加。使用最小二乘和方法,使用如表1所示的电气特性温度查找表中的值生成了最合适的二阶传递函数:TM=a(VTAO)2+b(VTAO)3+c其中TM为温度值,VTAO为直流电压值,a与b为二阶、三阶传递系数,c为补偿值。在较宽的温度范围内,最精确的单个方程式是三阶传递函数。使用最小二乘法并使用表2中的值生成了最合适的三阶传递函数:TM=a(VTAO)3+b(VTAO)3+c(VTAO)+d其中,a、b、c为传递系数,d为补偿值。由于本系统对温度的精度要求不高,温度传感器LMT70的温度计算公式采用了一阶传递函数:T=-×NUM×1?000+,故需要进行模数转换后送到单片机内部进行温度还原。??运动量计算方法实验表明,MPU6050姿态融合传感器可通过四元数法来算出运动量,四元数法:当采用欧拉角表示姿态变换时,表征的是分别绕着(i,j,k)三个坐标轴的三次旋转,根据欧拉定理,这三次旋转可以等效成绕着某轴一次旋转而成,其中的某轴就是公式中的u=(u1,u2,u3),旋转角度就是公式中θ。四元数通常写为:q=q0+q1+q2+q3那么用于姿态表示时:使用四元数进行载体姿态更新方程:其中,t为初始时间,δ为采样间隔。四元数的更新可通过上式完成。因此只要知道初始四元数(载体的初始姿态)和四元数的导数就可以完成任意时刻四元数的解算,从而得到运动信息。由于MPU6050自带的DMP库可以直接输出四元数,故可以大大减轻STM32的运算负担,将芯片采集到的信息代入方程计算出结果即可对人体的运动状态进行估计。3????硬件电路设计系统核心控制器采用了STM32F103单片机,该单片机的主频速度可达72?MHz,用其来完成温度信息、运动信息、心率信息的计算可大大提高系统的灵敏度。根据实际需求使用ADS1292模拟前端芯片设计了心电检测模块电路,系统以温度传感器LMT70为基础,加入模数转换芯片ADS1115设计了温度检测模块,2652RB的蓝牙模块,其波特率最高可达115?200比特每秒,可保证心率信号的实时传输,确保系统在高速运动时的稳定运行。系统使用了可以进行5??V降压的芯片AMS1117对整个电路进行供电,在搭建完成基本电路加入了充电过冲保护模块和开机锁等功能。??系统软件设计系统整体软件流程如图2所示,程序开始后单片机会启动ADS1292、ADS1115、MPU6050读写函数,实时获取心电信号、温度数据、加速度数据并使用卡尔曼滤波算法对采集值进行滤波处理,最终得到稳定值后计算实际值。以MPU6050的运动数据滤波为例,部分简易卡尔曼及一阶互补核心滤波算法为:函数功能:简易卡尔曼滤波入口参数:加速度、角速度返回值:无voidKalman_Filter(float?Accel,float?Gyro){angle+=(Gyro?-?Q_bias)?*?dt;?//先验估计Pdot[0]=Q_angle?-?PP[0][1]?-?PP[1][0];?//?Pk-先验估计误差协方差的微分Pdot[1]=-PP[1][1];Pdot[2]=-PP[1][1];Pdot[3]=Q_gyro;PP[0][0]?+=?Pdot[0]?*?dt;?//?Pk-先验估计误差协方差微分的积分PP[0][1]?+=?Pdot[1]?*?dt;?//?=先验估计误差协方差PP[1][0]?+=?Pdot[2]?*?dt;PP[1][1]?+=?Pdot[3]?*?dt;Angle_err?=?Accel?-?angle;?//zk-先验估计PCt_0?=?C_0?*?PP[0][0];PCt_1?=?C_0?*?PP[1][0];E?=?R_angle?+?C_0?*?PCt_0;K_0?=?PCt_0?/?E;K_1?=?PCt_1?/?E;t_0?=?PCt_0;t_1?=?C_0?*?PP[0][1];PP[0][0]?-=?K_0?*?t_0;?//后验估计误差协方差PP[0][1]?-=?K_0?*?t_1;PP[1][0]?-=?K_1?*?t_0;PP[1][1]?-=?K_1?*?t_1;Angle?+=?K_0?*?Angle_err;?//后验估计Q_bias?+=?K_1?*?Angle_err;?//后验估计angle_dot?=?Gyro?-?Q_bias;?//输出值(后验估计)的微分=角速度}函数功能:一阶互补滤波入口参数:加速度、角速度返回值:无voidYijielvbo(float?angle_m,?float?gyro_m){angle?=?K1?*?angle_m+?(1-K1)?*?(angle?+?gyro_m?*?);}

基于STM32的无线运动传感节点设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息