黄剑平 穆瑞珍林振衡
(1.厦门理工学院光电与通信工程学院,福建 厦门 361024;2.莆田学院现代精密测量与激光无损检测福建省高校重点实验室,福建 莆田 351100)
肌肉运动是人类长期以来一直研究的课题。对肌肉运动状态的研究在临床诊断、疾病防控、假肢控制、体育运动以及日常健康保健等领域都有很好的应用价值。目前对肌肉运动的研究通常采用表面肌电信号法(surface electromyography,sEMG)和光电容积描记法(Photoplethysmography,PPG)。其中,表面肌电信号法存在容易受到电磁干扰,与皮肤接触的电极容易因出汗而造成测量误差等缺点[1-2],与之相比光电容积描记法具有探测灵敏,不受电磁干扰,体积小,功耗低等优势。已有文献报道将光电容积描记法用于测量人体多项健康指标,如:血氧、呼吸、心率、血压等[3-7]。
目前利用光电容积描记法对肌肉收缩运动的研究,多采用光源与传感器位于探测部位同一侧的反射法。但已报道的绝大多数的研究样机每次只能测量一处肌肉的状态,如果要检测多处肌肉的状态,只能分多次测量。且大部分设计都将发光、探测光的检测模块以及单片机主控电路、信号处理电路等模块全部设计在一块电路板上,这样整个电路系统的体积比较大,不利于穿戴在身上测量。基于上述不足,本文提出了改进方案,设计了可以同时检测多处肌肉运动状态的传感电路系统,且将传感部分和其他处理电路分开,提高了传感器穿戴的方便性。
肌肉里包含有表皮、血管、肌肉、骨骼等组织。当用一束光照射到肌肉中时,血液中的各种物质都会不同程度地吸收光线,研究表明血液中红血球携带的血红蛋白对光线起主要吸收作用[8-9]。其他没有被吸收的光在肌肉中会经历透射和散射,如图1所示。一部分散射光最终会从皮肤出射,呈现一个弯曲状的传输路径[10]。
图1 光线在肌肉组织中的传输路线
当肌肉收缩时,肌肉中的肌纤维会变粗,压迫肌肉中的血管,使血流量减少,引起主要吸光物质血红蛋白浓度减少,从而引起吸收的光量减少,散射出皮肤的光量增加[11-12],皮肤外光电探测电路的输出相应地增大。这就为探测肌肉的收缩状态提供了依据。
电路系统的整体硬件框图如图2 所示。整个电路系统由一块ATmega48 单片机作为控制核心,控制4 路LED 可编程恒流源驱动红外LED 发出红外光,照射到肌肉中。另外,分别有4 路的红外光传感电路探测透射出肌肉的光,将光信号转换为电信号。随后4 路电信号送到一个4 入1 出的模拟多路开关,每路信号分时导通,然后经过滤波放大后,分别送到ATmega48 单片机进行AD 采样。最后,采样得到的数据通过蓝牙模块传送到上位机电脑端进行后继处理。
图2 系统硬件框图
探测光选择红外光是因为比起其他波长的光线,红外光在肌肉中有更好的穿透性,能探测到更深层的肌肉组织。此外,整个系统由一块聚合物锂电池经过DC-DC 升压电路输出稳定的5 V 电压供电,避免随着电池电量的消耗,电池电压下降造成整个系统工作不稳定。
LED 发光需要用恒流方式驱动,这里选择可编程恒流源电路方案,如图3 所示。ATmega48 单片机通过I2C 总线与4 通道8 位分辨率的DAC 芯片LTC2635-LZ8 连接,DAC 芯片的A 通道输出控制电压VA到一块低噪声精密运放AD8656 的“+”输入端,使运放的输出端电压升高,从而使MOS 管BSR606N 导通,随着流过MOS 管电流的增大,电流取样电阻R5上的压降也相应增大,该压降反馈到运放的“-”输入端,直至运放的“+”“-”输入端电压达到均衡状态,这时,流过LED 的电流达到稳定值。
从图3 中看出流过LED 与取样电阻R5的电流基本一致,电流计算公式为:
图3 可编程LED 恒流驱动电路
LED 驱动电流通路中还串联了导通电阻仅有0.5 Ω 的PMOS 管DMP2012SN 作为导通控制开关。在单片机输出端口的控制下,实现4 路LED 驱动电路分时导通。
没有被肌肉组织吸收的入射光,在肌肉中经过弯曲形路径从皮肤出射,出射光通过如图4 所示的光电探测电路被转换为电信号。当光电二极管BPW34SR 上有光照射时,光电二极管产生微弱的电流,电流流过精准运放AD8606 与取样电阻R19组成的反馈网络,电流信号ID转换为电压信号Vo,转换传递函数为:
图4 红外光探测电路
实际电路中,红外LED 和光电二极管探测电路安装在同一块电路板的同一侧,并垫上黑色挡光海绵,只留出2 个通光口。测量时,让电路板紧贴皮肤,用胶布固定好,最大程度地避免环境杂散光泄漏进来产生测量误差。
4 个通道的红外探测信号随后被送到模拟多路开关芯片74LV4051 的4 个输入端,如图5 所示。在单片机的控制下,多路开关每次只导通一路信号到后继的二阶巴特沃夫低通滤波器以滤除高频噪声干扰。滤波后,信号经同相放大后,再送到ATmega48单片机自带的10 位ADC 采样端口转换为数字信号。
图5 多路开关和低通滤波电路
主控单片机及外围电路如图6 所示,选用Microchip 公司的ATmega48 单片机,这是一款具有增强RISC 架构的低功耗CMOS 微控制器,具有丰富的片上资源。它集成有前述DAC 芯片LTC2635-LZ8 控制所需的I2C 总线控制模块、10 位ADC 采样模块、定时器、计数器等。单片机通过内部USART串口传输模块与HC42 低功耗蓝牙模块连接,以57 600 bit/s的波特率,将采样到的10 位数字信号分2 byte 发送到上位机电脑端进行处理。
图6 单片机及外围电路
4 路探测通道的控制时序如图7 所示。首先,单片机控制多路开关导通通道1,先进行一次AD 采样,这时读取到的是少量泄漏进来的杂散光干扰信号。随后让通道1 的LED 导通100 μs,待LED、光电二极管、运放等元器件的状态达到上升时间并稳定工作后,再采样一次。这时读取到的是从肌肉透射出来的光信号,用它减去前面的干扰信号,就得到去除干扰的传感信号,然后将数据通过蓝牙模块发送出去。接着,通道2、3、4 也进行同样的操作,然后又控制通道1 进行下一个周期的操作,每个周期用时10 ms,如此循环。这样,实现了4 个通道数据的分时采集发送。同时,每个通道的工作时间很短,整个系统的功耗很小。
图7 4 路探测通道的控制时序图
上位机电脑端采用MATLAB 软件控制蓝牙数据的接收和处理。接收硬件同样选用HC42 蓝牙模块接收下位机传送过来的串行数据。随后,利用一块串口转USB 芯片CH340 连接蓝牙串口和电脑的USB 端口,并在电脑上生成一个虚拟串口,让电脑从USB 端口读入蓝牙串行数据。MATLAB 软件进行初始化设置后,读取各通道的测量数值,并存入相应的寄存数组中,同时将数据波形实时描绘出来,软件界面如图8 所示。
图8 无线数据传输程序界面
进行哑铃弯举动作的上肢肌肉群实测。设置4个通道的LED 驱动电流都为80 mA。将4 个传感模块分别放置在前臂的桡侧腕屈肌、肩部的三角肌、上臂的肱二头肌和肱三头肌上,各传感模块与单片机主控板用排线连接。手握2 kg 的哑铃,刚开始手臂自然下垂,然后保持上臂固定不动,以肘关节为支点前臂缓慢向上弯举至最高点,再慢慢放下来。将采集到的4 路数据用MATLAB 软件绘制成曲线图,如图9 所示。图中,横轴表示采样的点数,每10 ms采样一次,共采样1 500 个数据,用时15 s,纵轴表示采样电压值。从图中看出,采集到的曲线带有毛刺干扰,为了消除毛刺,对数据进行滑动平均滤波,如式(3)所示,滑动窗口N每次取8 个数据点。滑动平均后的曲线如图10 所示,曲线变得平滑了许多。
图9 原始测量数据曲线
图10 滑动平均后的测量曲线
从测量结果看出,电路系统实现了同时检测4路肌肉收缩状态的功能,数据曲线的变化同时反映出了肌肉群收缩程度的变化。初始曲线上的毛刺干扰,经过滑动平均滤波处理后被很好地消除,曲线变得平滑。
从测量曲线上看,上臂肱二头肌和前臂桡侧腕屈肌变化明显,最开始手臂自然下垂时,这2 块肌肉基本处于放松状态,因此检测得的电压较低。随着前臂向上弯举到最高点,这2 条曲线都有明显的升高,肱二头肌的曲线变化最明显,有1 V 左右的提升。当哑铃放下时,这2 条曲线又慢慢回落到初始值附近。肱三头肌和三角肌在手臂下垂时,起始电压较大,原因是手提哑铃时,这两处肌肉初始就是施力收缩的状态。从图10 中看出,在举起哑铃的过程中,肱三头肌有一个先略微下降再升高的变化,反之,在放下哑铃时,也有一个略微升高再下降的变化。升高或下降的过程与肱二头肌和桡侧腕屈肌曲线的升高或下降是同步的。说明随着举起哑铃的动作,肱二头肌和桡侧腕屈肌收缩,与此同时肱三头肌先略微拉伸再明显收缩,放下哑铃的过程正好相反。在实际的动作中仔细观察肱三头肌的状态变化,的确如曲线所示。可以看出,4 路数据曲线很好地同步反映了肌肉群拉伸和收缩的状态变化,细小的变化也能被检测到。
本文介绍了利用光电容积描记法检测肌肉收缩运动的原理,设计了可以同步测量4 路信号的肌肉收缩传感电路系统。该电路同时检测4 路信号的设计,是对同类电路在功能上的改进。电路中4 个传感模块与单片机主控模块分开放置,增加了整个电路系统穿戴上的方便性。从测试结果上看,该电路系统测量准确,工作稳定,实现了预期功能,具有一定的实用价值。