《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于STM32处理器的表面肌电无线采集装置设计
基于STM32处理器的表面肌电无线采集装置设计
来源:电子技术应用2012年第7期
王金凤1, 李 涛2, 孙漫漫2
1. 武汉理工大学 华夏学院,湖北 武汉430070; 2. 武汉理工大学 自动化学院,湖北 武汉430070
摘要: 为了可靠获取人体运动意图,对假肢、外骨骼机器人进行有效控制,评价助力效果,设计了一种基于STM32处理器的无线肌电采集装置。介绍了装置的前端调理硬件电路、无线传输和上位机数据处理的设计方案,给出了工频滤波算法及表面肌电信号的简单特征提取方法。这种表面肌电采集装置具有通道数目多、实时性强、数据传输距离远、精度高、操作简便等优点。如果将采集装置构成表面肌电采集阵列,可用于复杂手势的识别。
中图分类号: TP242
文献标识码: A
文章编号: 0258-7998(2012)07-0078-03
A wireless SEMG collection device design based on STM32 processor
Wang Jinfeng1, Li Tao2, Sun Manman2
1. Huaxia College, Wuhan University of Technology, Wuhan 430040,China; 2. School of Automation, Wuhan University of Technology, Wuhan 430070,China
Abstract: In order to obtain movement intention, control artificial limbs, control exoskeletons robot and evaluate assist effect. We designed a wireless SEMG collection device based on the STM32 processor. This paper introduced the related front-hardware circuit, wireless transmission and data processing on PC. The power frequency filter algorithm and the SEMG feature extraction method are presented. This device has many advantages: multi-channel, real-time collection, long transmission distance, high precision, and simple operation. If multiple sensors are disposed as an array, use the relevant algorithm, the device can be used to recognize complex gestures.
Key words : SEMG; notch filter; power spectrum density; wireless transmission

    表面肌电信号(SEMG)利用粘贴在人体肌肉表面的Ag-AgCl电极片,测量肌肉活动时的放电信号。它不同于针电极插入肌肉的测量方法,具有简单易用、无创伤、无痛苦的优点,能有效反映肢体运动信息。它可以被用在临床医学研究与诊断、康复工程、机器人等领域[1]。

    现有肌电采集仪具有通道数目较少、所测数量少、测量受连接电缆的束缚等缺点,因此,本文提出了一种无线肌电采集装置,以STM32F103作为处理器,利用nRF24L01作为射频无线收发模块,不但可克服以上缺点,还具有稳定可靠、传输距离远、数据量大等优点。在助力机器人应用中,可以实时采集人在上楼梯、远距离行走时的SEMG。目前,该装置已经被用于助力机器人的助力效果评价中[2]。
1 工作原理
    系统结构框图如图1所示。16个通道的肌电信号通过差分电极,经过射极跟随电路缓冲后,经放大、滤波、电平抬升后供STM32F103进行采集。STM32F103内部的切换开关分时选通每个通道,由于切换速度高,可认为采集是同步进行的。STM32F103将SEMG进行数字滤波后,通过nRF24L01发送至接收端。接收端将数据通过USB接口发送至上位机软件。STM32F103具有最高128 KB的Flash,最高20 KB的SRAM,主频可以达到72 MHz,具备二个SPI同步串行接口,一个USB2.0全速接口。它自带A/D转换器,具有16通道、1 μs转换速度、12 bit采样精度,可完成16通道的SEMG数据采集。通道数目越多,可测量的数据点就越多,所反映肌肉块的数据信息也就越多。多通道可以构成阵列式电极,运用相关算法,可对复杂肢体运动进行识别。虽然MSP430单片机采样频率可以达到200 kS/s,但受制于晶振的工作频率及串口传输速率的瓶颈,无法做到8通道以上的高速SEGM采集。

    nRF24L01作为采集仪的收发模块,是一种工作于2.4 GHz的无线工业级的通信芯片, 它的最高传输速率为2 Mb/s,具有内置硬件CRC检错和点对多点通信地址控制,抗干扰能力强。基于WIFI的无线文件传输系统,对于嵌入式系统,配置杂,功耗较高。使用工业级无线模块nRF24L01做无线收发任务,配置简单,功耗低。
2 系统硬软件设计
2.1 SEMG的前端调理

    SEMG非常微弱,幅度一般为0.1~5 mV,常常淹没在大量噪声中,极易受到干扰。要先进行首级放大后才能进行滤波,放大电路选用高共模抑制比、低输入偏置电流的仪表运放INA111。对于毫伏级小信号的放大,运算放大器选择特性优良的OPA4277,其参数为:偏置电压10 μV,偏置电流1 nA,温漂±0.1 μV/℃,电源抑制比130 dB,静态电流0.79 mA,单双电源供电,轨对轨输出。前3个参数可防止SEMG淹没在器件本身的噪声中,高电源抑制比可避免由电源波动引起的噪声干扰,低静态电流可减少锂电池供电时的功耗。考虑到SEMG频带为10~500 Hz,故设计-3 dB截止频率范围为10~500 Hz的带通滤波器,滤除SEMG夹杂的低频和高频的干扰信号,再进行末级放大。取INA111差分信号的平均值,做积分运算,运算结果作为参考电极——浮地(Float GND),可有效地抑制共模干扰。电路图如图2所示。

    电路中仅做带通滤波还不够,还需针对50 Hz的工频陷波,可选方法很多。有源T型陷波器虽然理论与设计成熟,但对元件的对称性要求极其严格,元件精度直接影响中心频率与Q值,调试非常困难;用UAF42通用滤波器构成的陷波器,可以使50 Hz工频衰减40 dB[3],但是对于多通道的数据采集系统来说,每个通道都加一片UAF42及外围电路,硬件显得过于庞杂。结合STM32F103的数据处理速度快的特点,直接用数字滤波,可以简化系统设计、降低成本。使用FIR滤波器可以设计到高阶,而且线性相位性能好,详细过程在后面介绍。
2.2 SEMG数据采集与发送
    参考文献[4]介绍了一种96通道的阵列式SEMG采集与测量系统,ADC转换速率高达1 MHz。有研究表明,SEMG 作为一种微弱的生物电信号,其频率分布在10~500 Hz,且绝大部分集中在20~150 Hz之间[5]。根据香农定理及工程实践经验,将STM32F103的采样频率定为1 kHz,已经能够较好满足实际需求。每次A/D转换结束后,使用DMA方式将转换后的数据依次移至数据缓冲区,数缓冲区填满后,将4 KB数据无线发送到接收模块。
    SEMG数据发送工作流程如下:采集模块接收到PC机发送的采集命令参数后,解析命令的具体功能,如开始采集、发送数据、停止采集、滤波、修改采样频率等。采集模块将数据按Modbus协议格式打包成数据帧,通过SPI接口传给nRF24L01自动发送。如果采集模块接收到重传命令,重新传递数据。
2.3 SEMG数据接收
    接收模块的STM32F103在上电后,完成系统时钟配置与初始化片外设备,并从nRF24L01读取数据,进行CRC校验,若数据出错,则命令发送模块重传。若数据正确,放入DMA中,等到数据缓冲满4 KB时,将数据打包,通过STM32的USB接口,发送到上位机软件,进行实时显示与存储。意法半导体公司专门为STM32F103 提供USB固件驱动程序库,简化了应用开发流程。首先,使用DriverStudio中的Driver works编写USB 驱动程序,生成“*.inf”与“*.sys”文件。然后,当接收端与PC机连接时,PC机自动加载USB驱动程序,上位机软件用CreateFile 函数打开设备,用ReadFile 从WDM中读数据,用WriteFile写数据给WDM。利用TeeChart Active控件,实现数据的可视化输出。为减小文件大小、提高读写速度,防止出现死机与丢包现象发生,数据被以二进制文件“*.dat”的形式存储在硬盘中。最后,当应用程序退出时,用CloseHandle关闭设备。
3 工频滤波
    使用较好的差分电极和高共模抑制比的仪表运放,可减少工频噪声。但是它的带宽较窄,难以充分抑制。工频干扰主要集中在以50 Hz及其倍频上,如100 Hz、150 Hz、…、450 Hz。为了把工频干扰从SEMG中滤除,本文设计了线性递归的梳状陷波器。IIR滤波器的计算量小,但没有线性相位;FIR滤波器虽有线性相位,但其所用阶次高,带阻滤波器的系数也非整数,所以乘加运算量大,无法实时处理SEMG。如果采用简单整系数滤波可以用IIR的结构实现FIR滤波器。采用全通网络减去带通网络方法得到带阻网络。
    带通滤波器的转移函数为:
    
    根据转移函数,求出时域方程,STM32处理器将采集数据放到循环队列中与时域方程的各项系数进行乘加运算,得到滤波后的SEMG,再通过无线传输方式发送到上位机。为了验证滤波器的设计效果,用120 Hz、210 Hz两种正弦波叠加,并添加50 Hz及其倍频干扰,来模拟SEMG。滤波前后对比如图3所示。可看出复合信号经陷波后,工频成分极大地衰弱,陷波器窄阻带很好地保护了其他有效频带内的模拟SEMG。

4 SEMG的特征提取

 


    可通过时域与频域的方法来提取特征参数,对SEMG进行模式识别。时域方法计算时域SEMG信号的方差和均值,由于个体差异、电极片粘贴位置、肌肉发力强度、测量时间、引入噪声等因素,导致计算结果存在很大差异,适用性和可靠性均不佳[6]。频域方法是指计算SEMG的平均功率频率和中值频率。由于功率谱波形稳定好,提取的频域特征也相对比较稳定,有利于进行SEMG的模式识别。尝试使用功率谱比值法也获得了较好的效果。
    先从采集的SEMG 中找出功率谱的最大值f0,然后,计算出f0附近某个指定宽度±n区域的面积,再除以功率谱整个总面积P, 得到功率谱特征比值K。具体定义如下:
  
    经过实验,当n取为15 Hz,特征值的区分度较好。分子P0为功率谱在f0±15 Hz的面积,分母P取在20-450 Hz内功率谱面积。得到的两路SEMG功率谱比值如表1所示。从表1看出,利用桡侧腕屈肌、尺侧腕屈肌和肱桡肌、掌长肌屈肌这两组功率谱比值来区分腕内外转动与手腕上下扬。手腕作相对运动时,对应肌肉存在大小差异。比如手腕上扬时,肱桡肌功率谱比值大于掌长肌,下扬时肱桡肌的功率谱比值小于掌长肌。


    本文将STM32F103处理器应用到肌电采集装置中,通道数目多,数据处理能力强。采用nRF24L01收发数据,传输量大,可靠性高。针对信号调理电路在工频消噪这一环节上的不足,设计了50 Hz梳状陷波器,能有效滤除工频。采用的功率谱比值法提取简单手势的SEMG特征,有较好的识别效果。

参考文献
[1] 姚松丽,章亚男,张震.利用选择性肌电信号控制踝关节神经运动康复装置[J].上海大学学报,2009,15(3):245-250.
[2] 向馗,李涛,宋全军,等.面向外骨骼助力的肌张力信息实时获取[J].华中科技大学学报,2011,39(2):259-263.
[3] 颜良, 陈儒军, 刘石,等. 基于UAF42通用滤波芯片的50 Hz陷波器设计[J].仪器仪表学报,2006,27(8):924-927.
[4] NAGATA K, MAGATANI K, et al. Monte carlo method for evaluating the effect of surface EMG measurement placement on motion recognition accuracy[C]. 31st Annual International Conference of the IEEE EMBS Minneapolis, Minnesota, USA, September 2-6,2009:2583-2586.
[5] RONAGER J, CHRISTENSEN H. Power spectrum analysis of the EMG pattern in normal and diseasedmuscles[J].Neurol. Sci, 1989,94(1-3):283-294.
[6] 李耀宇,郭凌菱,雷英杰.肌电信号的波幅直方图统计处理[J].生物医学工程杂志,1995,12(3):237-240.

此内容为AET网站原创,未经授权禁止转载。