《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于C8051F020的假肢控制系统设计
基于C8051F020的假肢控制系统设计
来源:电子技术应用2011年第6期
樊炳辉, 贾朝川, 杨 婷
(山东科技大学, 山东 青岛 266510)
摘要: 以C8051F020单片机为核心处理器,设计了仿人手臂形假肢的控制系统。系统采用单片机自身集成的PCA模块产生占空比可调的PWM信号用于驱动三个直流电机,采用定时器产生频率信号用于驱动三个步进电机,采用CPLD对各个关节控制量的检测并实时地反馈给控制器实现实时控制。在此基础上设计出了按键控制和语音控制两种控制方式。该系统不但结构简单、操作方便,而且可靠性高。
中图分类号: TP242.6
文献标识码: A
文章编号: 0258-7998(2011)06-135-03
Design of artificial limb control system based on C8051F020
Fan Binghui, Jia Chaochuan, Yang Ting
Shandong University of Science and Technology, Qingdao 266510, Chin
Abstract: Take C8051F020 as the core processor to design humanoid artificial limb's control system. The system uses the PCA module of C8051f020 to produce the PWM signal of duty-cycle adjustable to drive the three DC motors, the timer to produce the frequency signal to drive the three stepper motors, the CPLD to check each joint control quantity and feedback to the controller so that the controller can control the artificial limb instantly. There are two control modes: pressed key control and voice control. The system has some good properties such as simple structure, high reliability and easy operation.
Key words : C8051F020; PCA; CPLD; voice recognition


    假肢是人体缺损肢体的替代物,用以弥补缺损肢体的形状和功能。本文针对失去整个手臂的情况,设计出一种仿人手臂形假肢的控制系统。使用者可以补偿部分缺失的功能,达到生活自理甚至于可以从事基本劳动,减少身心痛苦,同时也相应地解放了护理工作用。在设计中,采用C8051F020[1]单片机作为主控制器,并通过CPLD(Complex Programmable Logic Device)完成对各个关节控制量的检测以及凌阳61单片机实现语音控制功能。
1 机器人假肢结构
 多自由度机器人型假肢(上肢)拥有6个自由度,其结构原理图如图1所示。

2 假肢控制系统的硬件设计
2.1 控制器的工作原理

 控制系统原理框图如图2所示,主要由控制、驱动、被控对象和检测反馈四个部分构成。控制部分主要由C8051f020完成;驱动部分由6个电机驱动器构成;被控对象即是六自由的假肢;检测反馈部分主要由CPLD检测目标位置各个关节的控制量。系统主要采用按键控制和语音控制两种控制方式。

2.1.1 按键控制
  系统采用了12个独立式按键对6个电机正反方向转动的控制,电机的转动驱动着各个关节进行运动。各个按键对应控制关节运动情况如表1所示。


2.1.2 语音控制
 语音识别模块由SPCE061A单片机完成。首先,对各个命令进行训练,并将训练结果保存下来。在系统运行过程中,当SPCE061A单片机识别出某条命令时,它会通过串口给C8051F020发送指令,当C8510F020接收到相应的指令时,控制相应的关节做相应的运动[2]。例如:当SPCE061A识别出“手指张开”命令时,将会通过串口发送如“0x10”的十六进制的数,当C8051F020通过串口接收到“0x10”后,就会控制手指做张开运动。其他关节控制亦如此。其语音命令的控制形式如图3所示。

 

 

3 系统软件设计
 本系统软件主要包括:初始化程序、频率输出子程序、PWM信号输出子程序、键盘控制子程序、通信子程序、语音识别系统、CPLD检测编码器输出子程序。
3.1系统主流程
 图4所示为整个控制系统的流程图。首先对系统硬件进行初始化;然后设计出两种工作方式:按键方式和语音方式;之后选择示教3个位置,并通过CPLD保存示教位置的各个关节的脉冲控制量,最后的设计是手动运动到示教的目标或是自动运动到示教的目标位置,至此即可完成对目标位置的物体的抓取功能[3]。

3.2 CPLD检测编码器设计
 由系统流程图可以看出,对各个示教位置的各个关节控制量的检测与保存由CPLD完成。由于本设计采用旋转编码器的传感器,通常其输出A和B两路占空比为50%的脉冲,A、B的脉冲个数反映主轴转过的角度,A、B的相位关系反映主轴的旋转方向。为了检测上述两个变量即主轴转过的角度和主轴旋转的方向,系统采用了一种辨向细分电路。
 将A和B两路输入信号分别组成四种状态(A,B):(0,0)、(0,1)、(1,0)和(1,1)。当主轴正向旋转时,状态转移过程为:(0,0)、(1,0)、(1,1)、(0,1)、(0,0),反向旋转时正好相反。故只需要判断状态(1,0)和状态(1,1)的先后顺序即可判断出主轴旋转的方向,并且由出现状态(1,0)和(1,1)之间的转换次数就可以确定转轴转过的角度,即出现一次状态转换就是主轴转过1°[4]。由旋转编码器的特性设计的CPLD的检测系统框图如图5所示。

3.3 语音识别系统设计
 语音识别是使假肢能够准确地听出操作者的语音内容,并能准确完成操作者的命令。本系统只针对特定人进行训练,并且只能对特定人的语音进行识别。主要由凌阳SPCE061A单片机完成。其系统框图如图6所示。

4 实验结果分析
 完成以上的软件和硬件的设计后,对整个系统进行了实际的控制调试。在调试过程中,各个关节都可以运动自如,并且每个按键对应的控制都是完全正确的。按键在按下的过程中会出现抖动现象,为此,在程序的设计过程中通过延时程序进行了消抖。在语音控制模块中,由于采用的是两级命令控制,即如图3所示控制形式。语音系统经过多次训练,对特定人的语音识别率达到了96%以上,辨识率很高。但只是针对特定的人进行试验。如果对其他人的语音信号进行识别还会存在误差,会出现个别误操作。但这种误差是可以控制的。只要对特定的人进行训练,并由被训练人来控制设备,即可以避免由于控制者与语音录入者不同而给系统带来的控制误差。
    该控制系统最大的特点是可以人为自由地进行手动控制假肢做相应的活动,或者运用佩戴者的语音实现语音智能化控制假肢做相应的运动。实现了设计方法和控制都简单,操作安全、稳定的目的。此外,可以给佩戴者设计一个遥控器(前提是针对只失去一只臂膀的用户),如果是失去了双臂膀,则可以在其适当的部位安装一个语音控制装置,使用语音进行控制。
参考文献
[1] 万光毅,孙九安,蔡建平.SoC单片机实验、实践与应用设计—基于C8051F020系列[M].北京:北京航空航天大学出版社,2006.
[2] 卢胜利.基于凌阳SPCE061A设计实验平台的专业综合设计教程[M].北京:机械工业出版社,2006.
[3] 李长有,武学东.基于C8051F020的SD卡主控制器设计[J].微计算机信息,2007(9-2):120-122.
[4] 应卓瑜,梁坚,邵亮,等.基于CPLD的辨向细分电路设计[J].传感技术学报,2005,18(1):143-145.

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