APP下载

基于STM32的压疮预防提醒坐垫的系统设计

2022-04-28蒋帅帅周志峰

智能计算机与应用 2022年4期
关键词:坐垫低功耗压疮

蒋帅帅,周志峰

(上海工程技术大学 机械与汽车工程学院,上海 201620)

0 引 言

压疮是卧床病人由于局部组织长期受压,发生持续缺血、缺氧、营养不良而导致组织溃烂坏死的一种现象,每年约有6万人死于压疮合并症。随着中国逐渐步入老龄社会,长期卧床的老人群体则愈加引起社会重视,同时各医院手术治疗后卧床病人也在增加,如何预防压疮是康复治疗和护理中一个难题。针对这一问题,设计开发一种压疮预防提醒系统,对卧床病人和老人进行实时监测预警,提高压疮预防的高效率和针对性,具有重要意义。

1 系统方案设计

图1为新型分布式压疮监护系统的系统结构图。由图1可知,系统分为阵列压力点采集部分、电源管理部分、语音播报部分、系统调试接口部分。阵列压力点的采集硬件上采用行列多路模拟分时切换,结合DMA读取的方式,实现同一时刻对4路压力点的并行采集;通过柔性薄膜压力采集床垫对久坐人员压力的采集,系统处理感知到病人出现久坐或是久卧事件,则触发语音提醒,告知病人及时活动身体;当病人离开柔性床垫时,系统自动进入低功耗模式,病人再次触压到床垫时,系统自动从低功耗模式唤醒;系统自带锂电池支持充放电,便携性强,也可用于办公族的智能久坐提醒坐垫,有效避免久坐对人体产生的伤害。

图1 系统结构图Fig.1 System structure diagram

2 主要硬件电路设计

2.1 SOC中心控制器

人体接触压力的采集处理和整个算法的实现选用的嵌入式平台为STM32F103RET6,该增强型MCU使用的是高性能ARM®Cortex-M3 32位的RISC内核,工作频率为72 MHz,内置高速存储器(高达512 K字节的闪存和64 K字节的SRAM),丰富的增强I/O端口和联接到2条APB总线的外设,强大的外设接口和完善的库函数,编程简单易学。

2.2 阵列压力点采集电路的设计

图2是本作品使用的柔性压力传感器实物图,采用32行32列阵列式设计,1 024个独立感应单元分布在400 mm*400 mm的正方形之内,每个感应点尺寸为8.5 mm*8.5 mm。图2(b)中,(1)为列线,(2)为行引线,(3)为单个压力传感器。该款分布式压力传感器每个感应点采用独立设计,实现最小干扰。阵列分布式柔性薄膜压力传感器是通过精密印刷工艺,将纳米力敏材料、银浆等材料转移到柔性薄膜基材上,经干燥固化制作而成。

图2 柔性薄膜压力传感器Fig.2 Flexible film pressure sensor

本作品使用的柔性压力传感器在受到压力时,电阻随压力增大而减小,其压阻特性表现为电阻与压力呈幂函数关系,电阻倒数与压力呈近似线性关系。

图3是传感器采集量化电路等效电路图,采用的是同相比例放大电路,使用的运放为MCP6004T,单电源供电,供电电压为3.3 V。这里,R是单个压力传感器的等效电路图,R的电导随着压力的增加而线性增加,R是反馈电阻,图3中的a部分是参考电压电路,使用的是REF3012参考电压芯片,输入3.3 V,输出为1.25 V,经过2个20 K的电阻分压后产生0.625 V的电压,然后连接到运放的同相端,即运放的同相端输入电压V=0.625 V,利用理想运放的虚短和虚断得:

图3 单个压力点采集的等效电路图Fig.3 The equivalent circuit diagram of a single pressure pointcollection

研究可知,单个从机系统实现1 024个压力点的采集算法步骤具体如下。

(1)采集的顺序是从上到下逐行地采集,将单片机GPIO口配置成推挽输出,通过控制单片机6个GPIO口控制2片16路行多路模拟开关的片选线(如图4中H_A_4和H_A_5)和对应地址线(如图4中H_A_0、H_A_1、H_A_2、H_A_3为行地址线,V_A_0、V_A_1、V_A_2为列地址线)选通,一次选通一路行引线H(0≤≤31)。首次取0,从第0行开始,后续逐行依次递增。

图4 1 024个阵列压力点采集原理图Fig.4 Principle diagram of 1 024 array pressure points collection

(2)同理,通过单片机的3个GPIO口控制4片8路列多路模拟开关的片选和地址线选通,一次选通4路列引线V(0≤≤31),4路对应的下标分别为、8、16、24(0≤≤7)。首次取0,则分别为0、8、16、24,即V、V、V、V列同时选通,后续依次递增。

(3)结合原理图,图3是单个点采集的等效电路图,选通的4个压力采集点为(,)、(,8)、(,16)、(,24),一端经过行多路模拟开关接地,另一端分别经过4个列多路模拟开关接到MCP6004T内部的4个同相放大电路的反相输入端。

(4)本实例中采用的是压阻式传感器,当压力垫压力发生变化,R的电导会随着压力成线性变化,(,)、(,8)、(,16)、(,24)压力采集点可以等效于R。由式(1)将以上4个点压阻信号经过4个同相放大电路量化为电压信号,送入单片机ADC的4个输入通道中,单片机读取保存。

(5)重复步骤(2)~(4),直到将第0行所有压力点采集完成,后续逐行依次递增。

(6)再依次重复步骤(1)和(5),直到将32行*32列、共1 024个压力点采集完成。

(7)由于是对4个信号的同时采集,采用的是ADC+DMA独立模式多通道采集的方式,DMA采用的是ADC到内存的方式,初始化配置完成,DMA自动将4路模拟信号采集好放到指定内存中,不需要设置延时等待,实现一次同时对4路压力点的并行采集。

2.3 语音播报电路的的设计

主控制器和SYN6288语音合成芯片之间通过UART接口连接,控制器可通过通讯接口向SYN6288语音合成芯片发送控制命令和文本,SYN6288语音合成芯片把接收到的文本合成为语音信号输出,输出的信号经功率放大器进行放大后连接到喇叭进行播放。系统组成如图5所示。语音播报电路原理如图6所示。

图5 SYN6288系统组成框图Fig.5 SYN6288 system block diagram

图6 语音播报电路原理图Fig.6 Schematic diagram of voice broadcast circuit

2.4 低功耗唤醒电路的设计

低功耗唤醒原理如图7所示。当LM393电压比较器的“+”端电压高于“-”端时,输出管截止,相当于输出端开路,这里设计的是通过10 K上拉电阻接高电平。当“-”端电压高于“+”端时,输出管饱和,相当于输出端接地。

图7 低功耗唤醒原理图Fig.7 Low-power wake-up schematic diagram

设计思路是,首先调节电位器将运放的反相端电压调节到0.5 V,当人离开压力垫时,控制器读得阵列压力点的压力和会很微小,那么相应运放输出的电压也很小。程序里,首先将1 024个点的压力求和记为_,通过判断_的数值大小来判断人已经离开压力垫,当人离开压力垫时则将多路模拟开关选通到(0,4)、(0,12)、(0,20)、(0,28)和(16,4)、(16,12)、(16,20)、(16,28)的压力采集点(如图8所示行列的选通的交合处),然后进入低功耗休眠模式,单片机内核时钟关闭。当人再次触压到压力垫时,(0,4)和(16,4)对应ADC0,(0,12)和(16,12)对应ADC1,(0,20)和(16,20)对应ADC2,(0,28)和(16,28)对应ADC3,当以上压力点只要有一个被按压,都会触发比较器,输出高电平,然后触发单片机Wake up引脚,单片机从低功耗唤醒。

图8 低功耗时多路开关静态选通点Fig.8 Multi-channel switch static gating point at low-power consumption

3 软件设计

3.1 软件总体设计

至此,文中给出的系统研发结构如图9所示,软件总体设计流程如图10所示。由图10可知,首先整个控制系统要对系统时钟初始化,其次对各个模块进行初始化,当外设初始化完成后会有语音提示初始化完成,然后是控制器对1024个压力点的采集和处理,处理完成后进入压疮语音提醒处理程序。当单片机通过柔性薄膜压力传感器监测到病人皮肤组织受到长时间压迫时引起久坐久卧事件,则触发智能语音提醒,提示病人及时活动一下被长时间压迫的身体部位,否则进入静默监护模式;当单片机监测到病人离开坐垫时,则系统立刻进入低功耗模式,当坐垫再次受到按压时,则系统从低功耗模式下唤醒进入监护状态。

图9 系统结构图Fig.9 System structure diagram

图10 软件总体设计流程图Fig.10 Flow chart of software overall design

3.2 采集数据预处理

(1)原始数据:根据柔性力敏传感器的结构特点,用F()表示阵列传感器在坐标(,)位置敏感单元时刻的原始采样值,则传感器在时刻的采样信息()可以用公式(2)所示的矩阵形式来表示,形式上类似于数字图像中的2-D灰度图像:

其中,和分别为图像序列中行数和列数,本文中和均为32。

(2)数据预处理:在数据采集的过程中,由于震动和电磁干扰等原因可能会产生一些杂点数据,因此需要对原始数据进行预处理,消除图像中混入的噪声。均值滤波是一种线性滤波算法,就是指在图像上对目标像素给一个模板(本次设计选取的模板尺寸为3×3,即以目标像素为中心的周围8个像素,构成一个滤波模板),该模板包括了其周围的邻近像素,再用模板中的全体像素的平均值来代替原来像素值。研究推得的数学运算公式为:

其中,F为原始数据;g为滤波后的数据;为该模板中包含当前矩阵在内的元素总个数。综上研究可得数据预处理代码参见图11。

图11 数据预处理代码Fig.11 Data preprocessing code

3.3 压疮预防提醒算法的实现

压疮预防提醒算法流程见图12。压疮预防提醒算法的流程为:

图12 压疮预防提醒算法流程图 Fig.12 Flow chart of pressure ulcer prevention reminding algorithm

(1)分别设置压疮语音报警提醒的监测压力阈值、时间清零的总的压力波动偏差阈值_和提醒时间阈值。

(2)初始化压疮监护时间计数0。

(3)单片机读取每个压力数据F,求和得总的压力点数据和为_。

(4)判断是否病人身体与坐垫的接触压力_且_。

(5)如果是,那么病人身体与坐垫之间压力大于警报监测阈值,则判断人在病床上,同时皮肤组织与床单之间的压力波动_很小,判断一直受到压迫,计数时间开始按每1 s加1。

(6)如果否,可能是病人暂时离开病床导致几乎检测不到压力,或是病人自身身体翻动导致单位时间内总的压力波动绝对值_大于设置的压力波动值,所以认为没有产生压疮的可能,于是将压疮监护时间计数清零。

(7)判断计数时间是否大于语音提醒时间阈值。

(8)如果否,则认为人体皮肤组织虽然受到压迫,但时间短暂,还没有达到触发压疮语音提醒的阈值时间,则继续进行监测。

(9)如果是,则认为病人皮肤组织受到很长时间的压迫,如果再继续压迫,就会产生压疮,于是触发语音报警,语音模块发出压疮语音提醒,提示病人及时活动一下被长时间压迫的身体部位。

3.4 实验过程

本实验以久坐提醒为例,当实验人员坐在压疮预防提醒垫上后,首先是系统低功耗检测电路检测到坐垫受到按压,触发单片机wake_up引脚,单片机立刻从低功耗休眠状态下唤醒。当实验人员扭动身体时,可通过压疮预防提醒算法判断为非久坐事件,则不触发压疮预防语音提醒;当实验人员坐在监护坐垫上不晃动身体且久坐超过50 min后,单片机通过压疮预防提醒算法判断为久坐事件,则触发语音提醒,提示实验人员及时活动一下被长时间压迫的身体部位来避免压疮的产生:当实验人员活动身体,则语音提醒立刻关闭;当实验人员离开坐垫后,则坐垫监护系统立刻进入低功耗休眠模式,当实验人员再次坐下时系统立刻从低功耗模式唤醒进入压疮预防监护状态。压疮预防提醒系统样机和实验过程如图13所示。图13中,(a)为开发的样机实物图,(b)为实验过程和利用压力垫采集到的人体臀部受力大小的分布云图。

图13 压疮预防提醒系统样机和实验过程Fig.13 Prototype and experimental process of pressure sore prevention reminding system

4 结束语

本次研究是一个将医院护理问题与传感器感知技术结合的设计,利用该压疮预防提醒系统能够有效地提醒医院病人避免久坐或久卧,能够很好地预防了压疮的产生,同时也进一步降低了医院的护理成本。本系统设计成本适中,实用性强,便于携带,可以广泛用于住院病人和居家病人的日常护理。

猜你喜欢

坐垫低功耗压疮
家有卧床老人,如何预防压疮
智能坐垫的功能设计
一种高速低功耗比较器设计
基于单片机技术的智能坐垫的设计
痔疮患者千万别用“中空坐垫”
痔疮患者千万别用“中空坐垫”
浅谈压疮的预防及护理
七味白榆散治疗压疮18例
ADI推出三款超低功耗多通道ADC
IDT针对下一代无线通信推出低功耗IQ调制器