可实时调整刺激参数的功能性电刺激仪的研制
2019-12-21丁建华陈子晗李玉榕
丁建华,陈子晗,李玉榕
(福州大学电气工程与自动化学院,福建省医疗器械和医药技术重点实验室,福建 福州 350108)
0 引言
在FES 应用中,为避免单极性电流刺激导致电荷在皮肤表面积累,造成肌肉疲劳或刺痛感,电刺激仪需要具备双极性输出的能力,且需要恒流输出以保证刺激量稳定.为应用于辅助患者步行的场合,电刺激仪需要设计为可穿戴式.特别地,为应用在闭环FES系统中,电刺激仪还需要具备实时调节刺激参数的能力,包括电流幅值、频率和脉宽.文[5-6]指出,功能性电刺激常用刺激频率为20~100 Hz,脉宽为0.1~1.0 ms,而电流幅值因刺激部位的不同而不同,因此,电流幅值需要连续可调[7-8].目前的功能性电刺激仪无法同时满足上述需求,例如Compex SA制造Compex Motion[9],虽然可以通过PC对预设的刺激序列进行编程,但并不是实时调整刺激参数.讯丰通医疗股份有限公司生产的足下垂助行仪采用固定的刺激序列,也无法实时调整刺激参数[10].文[11-12]研究的功能性电刺激治疗仪需要外接电源供电,不利于携带.
针对上述不足之处,设计一款基于STM32的功能性电刺激仪,其以双极性恒流输出,波形为双极性波形,刺激强度可实时调整:幅值在0~50 mA、频率在0~100 Hz和脉宽在0~1 000 μs范围内可调,调节幅值、频率和脉宽的步长分别为1 mA、1 Hz和1 μs.
1 原理与系统框图
刺激强度可实时调整的多通道电刺激输出装置主要包括串口通信、刺激恒压源和刺激脉冲生成电路,通过四路刺激恒压源和四路刺激脉冲生成四通道输出脉冲的电刺激装置.为避免采用市电供电导致体积较大,整个装置由锂电池供电,减小电刺激仪的体积.其基本原理是:电源模块是通过USB线对锂电池进行充电,并为各个模块供电使其正常工作;STM32微控制器通过通信模块与上位机通信,接收上位机指令,其中上位机指令包括刺激通道、通道使能信号、频率、幅度和脉宽等数据,根据上位机指令选择启动刺激通道,并在刺激仪工作过程中对电池进行AD采样,当电压过低时产生报警信号;升压模块是对锂电池电压进行升压,通过调节DAC转换器或者数字电位器来产生指定电流幅值对应的刺激恒压源电压;恒流输出模块是通过微控制器控制H桥电路生成双极性刺激脉冲,输出恒定电流,从而实现输出刺激强度可实时调整的电刺激脉冲.刺激强度可实时调整的多通道电刺激输出装置系统框图如图1所示.
图1 系统框图Fig.1 System block diagram
电刺激仪的微控制器采用STM32F407VET6,通过串口与上位机通信,接收由上位机发送的指令,实时调整刺激强度,上位机可以采用PC控制程序或者微控制器.
2 硬件电路设计
2.1 STM32处理器控制电路
STM32F407VET6是电刺激仪的主控芯片,它采用32位ARM Cortex-M4内核,高达168 MHz的工作频率,外设丰富,满足系统所需的定时器、ADC、I2C、GPIO和USART功能模块.STM32处理器主要是控制STM32与上位机通信、控制升压电路生成刺激恒压源、控制刺激脉冲生成电路输出双极性刺激脉冲以及对系统供电的锂电池进行AD检测.
2.2 刺激恒压源生成电路
采用升压电路的输出电压作为刺激恒压源,当电极片贴好后,负载维持在稳定值,电刺激仪工作时刺激恒压源作用在稳定的负载上,因此,电刺激仪输出恒定电流.人体皮肤阻抗约1 kΩ[13],当本系统输出最大的脉冲幅值(50 mA),根据欧姆定律,需要大约50 V的刺激恒压源,而本设计采用锂电池供电,无法达到50 V的电压,需要采用升压电路进行升压.本系统将刺激恒压源生成电路设计为两级升压电路,一级升压电路最高输出电压为12 V,二级升压电路最大输出电压为56 V.当刺激恒压源的电压值大于12 V时,二级升压电路开始工作,输出对应刺激脉冲幅值所需要的刺激恒压源电压.
为确定刺激恒压源的电压值,检测电极片两端的人体皮肤阻抗大小R0,根据设置的电流幅值数据I,根据欧姆定律有:
卓时Premier系列Precious月相功能腕表的镶钻表耳重现海瑞温斯顿纽约第五大道旗舰店的拱门造型,令人过目难忘,表圈与表耳共镶嵌57颗圆形明亮式切工钻石。 时、分指示及月相功能通过优质瑞士自动上链机械机心驱动,其动力储存长达68小时。腕表配备蓝色或棕色鳄鱼皮表带,搭配镶嵌17颗圆形明亮式切工钻石的白18K金或玫瑰18K金材质针扣。
U=R0×I
(1)
由式(1)计算得到输出对应幅值所需刺激恒压源的电压值.
当式(1)计算出的电压小于12 V时,二级升压电路不工作,一级升压电路的输出电压作为刺激恒压源.一级升压电路的输出电压Vo由电压Vf和电压Vadj组成的线性加法电路控制,其中电压Vadj为STM32控制的DAC转换电路输出的电压,输出电压Vo与电压Vf成线性关系:
(2)
根据电路的分压定理有:
(3)
其中:1.2 V为芯片FP6296XR第5引脚的反馈电压,将式(2)带入式(3)中并带入具体数值,计算得:
Vo=10.1×(Vadj-8.64)
(4)
根据式(4)可以计算一级升压电路的输出电压,以此作为刺激恒压源.
当式(1)计算出的电压大于12 V时,DAC转换电路不工作.由于二级升压电路采用的升压芯片的工作电压在10~18 V之间,根据式(2)将一级升压电路设计为输出12 V电压,作为二级升压电路的升压芯片的工作电压.采用数字电位器U6控制输出电压,假设数字电位器U6的阻值为Rx,输出电压VCH1_VDD与数字电位器U6成线性关系:
(5)
根据式(5)计算出二级升压电路的输出电压,以此作为刺激恒压源.当二级升压电路不工作时,一级升压电路的输出电压Vo即为电压VCH1_VDD.
2.3 刺激脉冲生成电路
系统采用H桥电路作为刺激脉冲生成电路,H桥电路如图2所示.
图2 H桥电路Fig.2 H-bridge circuit
系统采用的刺激脉冲波形为双极性脉冲,正负脉冲电荷相等,在一个周期内正负电荷相互中和,可以减少电荷在皮肤组织中积累[14],不易造成肌肉疲劳,可以避免由单极性脉冲刺激造成电荷积累引起刺痛感等问题.系统工作时,控制Q5、Q8导通且Q6、Q7截止,电流方向为:A—人体—B,产生正向的刺激脉冲;控制Q5、Q8截止且Q6、Q7导通,电流方向为:B—人体—A,产生反向的刺激脉冲;Q5、Q8和Q6、Q7轮流导通,电刺激仪输出双极性脉冲.
3 软件设计
采用Keil uVision5编写STM32的嵌入式程序,主要包括主程序、计算升压参数子程序和计算H桥的控制参数子程序.
3.1 刺激脉冲生成电路
当通信程序接收一次指令后,将标记置1,在主程序中,将标记置0,根据通信程序接收的指令,包括通道信号、通道使能信号、幅值、频率和脉宽等数据,选择启动电刺激通道,以及计算对应通道的升压参数和H桥的控制参数.其中升压参数包括用于配置DAC转换器的寄存器的一级升压参数和用于配置数字电位器的寄存器的二级升压参数,H桥的控制参数包括H桥的开关管导通时间和关断时间.主程序流程图如图3所示.
图3 主程序流程图Fig.3 Main program flow chart
3.2 计算升压参数子程序
现有文献中指出在皮肤湿润的情况下,人体阻抗约为1 kΩ[13].考虑到实际使用情况下皮肤湿润程度不高,导致人体阻抗升高,子程序计算电极两端的阻抗处于正常范围内后,可以进行升压计算,并根据阻抗计算出升压电路所需的一级升压参数和二级升压参数.
3.3 计算H桥的控制参数子程序
改变指令中频率和脉宽这2个刺激参数中的任意一个参数,都需要重新计算H桥的控制参数.其中,Freq和Width分别是指令中的频率参数和脉宽参数.根据频率、周期和脉宽之间的关系有:
(6)
us_High=Width
(7)
LowTime=0.5×Period-us_High
(8)
根据式(6)先将频率转换为以微秒为单位的周期值Period,根据式(7)得到以毫秒为单位的高电平持续时间,根据式(8)得到以毫秒为单位的低电平持续时间,并根据这些时间参数控制H桥开关管的导通与关断.
4 实验与测试
采用Matlab软件编写上位机控制程序,发送指令改变刺激强度.搭建测试平台,分别进行电阻实验测试和人体实验测试.为在示波器中观察到脉宽的明显变化,将刺激频率设置为最大值100 Hz,频率越大,脉冲的占空比也越大,在示波器中观察到的脉宽变化越明显.串口发送数据的频率设为刺激脉冲的频率,即每个脉冲周期改变一次脉宽,发送10次数据.本次实验采用梯形刺激包络线,与目前市场上大多数成功商业化的电刺激仪相同,可以避免由全或无刺激包络线的刺激强度上升或下降过快所导致的弊端[14],其脉宽从零逐渐增加,然后维持一段时间的恒定脉宽,最后逐渐降低直到关闭输出.
4.1 系统测试
测试平台如图4所示.实验所用的示波器为安捷伦的DSO-X2012A示波器,带宽为100 MHz,采样率高达2 GSa·s-1(Sa为采样数),满足测试精度要求.并对提出的输出参数和精度要求进行测试,测试结果显示电刺激仪的输出参数都满足设计要求.与瑞士公司Compex SA制造Compex Motion[9]相比,本设计中的功能性电刺激仪精度更高,脉宽分辨率为1 μs,可以满足更多刺激部位的脉宽调节要求,且可以满足功能性电刺激系统的闭环控制要求.
4.2 模拟电阻实验测试
实验中采用1 kΩ的电阻模拟人体阻抗,给定刺激脉冲幅值为20 mA,通过Matlab发送指令改变脉宽.经过实验测试,通过示波器观察实际输出波形的脉宽如图5所示,刺激脉冲波形的脉宽随着脉宽值的变化而变化,其脉宽逐渐从零变宽,然后维持不变,再逐渐从宽变为零,符合梯形刺激包络线.
图4 测试平台Fig.4 Testing platform
图5 电阻实验测试输出波形Fig.5 Output waveform of resistance test
4.3 人体实验测试
人体实验选在手臂进行测试,实验前,先用医用酒精涂抹皮肤表面,用于消毒和增强导电能力.在实验过程中,为了在示波器中观察到脉宽的明显变化,采用同模拟电阻实验一样的刺激频率和刺激包络线,其中刺激频率为100 Hz.由于是在人体进行实验,考虑人体安全,给定的测试电流不能过大,这里采用7 mA的电流幅值.采用与电阻实验测试一样的方法改变脉宽.
经过实验测试,在示波器中观察到实际脉宽变化如图6所示.其中,图6(a)为人体实验测试的波形图,图6(b)为图6(a)的前5个周期放大后的波形图,可以明显观察到脉宽逐渐增大,然后维持不变;图6(c)为图6(a)的后5个周期放大后的波形图,可以明显观察到脉宽逐渐减小,整个过程符合梯形刺激包络线.人体实验测试结果同样表明,在对人体进行电刺激时,电刺激仪也能实时调整刺激脉宽.与已经商业化的深圳讯丰通医疗股份有限公司生产的足下垂助行仪[10]相比,该功能性电刺激仪可实时调整刺激强度,满足闭环控制系统需求.
图6 人体实验测试输出的波形图Fig.6 The output waveform of human body
与图6模拟电阻输出的波形对比,发现人体实验测试的波形图与模拟电阻实验测试的波形图有所不同,是因为人体阻抗并不是纯电阻,如果用电路模型模拟人体真实阻抗,表现为电阻和电容的复杂组合,因此具有电容的特性.当电压突然由高电平变为低电平时,电容储存的能量不能瞬间释放,需要一段时间进行放电,因此在人体实验测试得到的波形与在模拟电阻实验测试得到的波形会略有差异.
5 结语
针对刺激强度可实时调整的设计要求,设计了根据上位机指令改变刺激参数的电刺激仪,并给出了具体的电路设计方案.该电刺激仪采用锂电池供电,减小了电刺激仪的体积和重量,适用于一些特殊应用场合,例如在辅助患者步行的FES应用场合;输出双极性波形,并且实现恒流输出,避免了造成肌肉疲劳以及刺激量不稳定的弊端;实现了实时调整刺激参数,可以应用在闭环FES系统中.通过精度测试、电阻的实验测试和人体实验测试,其结果表明:刺激电流幅值在0~50 mA连续可调,可以实时调整刺激脉冲的频率和脉宽,其中频率可以在0~100 Hz连续可调,脉宽可以在0~1 000 μs连续可调.在闭环FES系统的实际工作过程中,刺激电流根据不同的刺激部位调节电流幅值,频率和脉宽具体大小可以根据实际控制算法计算得到.