面向仿生手臂的表面肌电信号采集与处理系统研究
【摘要】:目前,我国残疾人的数量越来越多,上肢残疾人数占其中的很大一部分,肢体残疾给他们的生活带来了很大的不便,因此研究一种易于使用的仿生手臂使残疾人更好的融入社会,这是一件很有意义的事情。
表面肌电(SEMG)信号是从人体皮肤表面记录的神经肌肉活动所产生的生物电信号,它可以反映神经、肌肉的功能状态。肌电控制的假肢可以反映人的肢体运动信息,并且可以实现多自由度的假肢控制,所以肌电信号比较适合作为仿生手臂的控制源。如何获取表面肌电信号是目前研究的难点,目前广泛使用的是利用现成的、造价昂贵的肌电采集仪去采集表面肌电信号,这种方法只适用于对肌电信号进行分析,不适合应用于仿生手臂中。本文的工作是设计一套面向仿生手臂的表面肌电采集系统。
本文设计的肌电采集系统可以完成肌电信号放大、A/D转换、数据存储、数据传输与处理功能。系统设计包括硬件设计和软件程序设计,硬件设计分为模拟电路设计和数字电路设计,软件设计包括单片机程序设计和上位机MATLAB程序设计。
SEMG信号是一种很微弱的信号,很容易受到噪声的干扰,模拟硬件电路不仅要对SEMG信号放大,还要对干扰信号进行有效的抑制。我们采用多级放大电路,该电路采用2级放大,第一级采用差动输入方式,提高了电路的共模抑制比,第2级采用仪用放大器AD620对微弱的肌电信号进行了放大。针对表面肌电信号中叠加的高频噪声和50H工频干扰信号设计了4阶切比雪夫低通滤波电路和工频陷波电路,滤波电路可以很好的完成对高频干扰和50Hz工频干扰的滤除功能。
本文的数字电路部分是以C8051F320单片机为核心的,数字部分包括A/D转换、数据存储、数据传输3部分。在数字电路部分,首先要完成的是SEMG信号的A/D转换,将经过放大和滤波后的SEMG信号转换成需要的数字信号。本文利用C8051F320内部集成的ADC模块进行A/D转换,通过寄存器配置设计了AD采集程序,采用双端输入方式,采样频率为1000Hz。A/D转换完的数据应该被保存下来以备后续使用,我们选用AT24C512存储芯片来存储肌电数据,利用C8051F320内部的SMBus接口的多个中断源完成对24C512的连续读写功能。
数据传输部分要完成的功能是PC对存储在24C512中的肌电数据的读写。我们利用PC的串口对数据进行读写,由于串口采用的是RS232电平,而单片机系统采用的是TTL电平,我们利用MAX232进行电平转换。在单片机中,设置串口相应的寄存器使其可以以固定的波特率发送数据。在PC中,我们利用MATLAB的回调函数实现利用串口对下位机数据的读入。
在PC中利用MATLAB设计数字滤波器,利用MATLAB设计了450Hz低通、10Hz高通以及工频陷波器,然后利用这些数字滤波器对SEMG信号进行了滤波,实验表明滤波效果很好,可以满足我们肌电采集的需要。
本文最后进行了动作识别实验,通过我们设计的表面肌电采集系统采用双通道采集数据,对数据进行滤波后提取其特征值构成特征向量,对其进行识别。实验得出的识别率超过了通常利用现成的肌电采集仪所达到的准确率,从而证明了我们设计的表面肌电采集系统的有效性,该系统可以满足仿生手臂系统对表面肌电信号采集的需要。