你的位置:首页 > Altera > Altera > 正文
结合FPGA与DSP的仿人假手控制系统设计
来源:EEPW 作者: 2015/5/13 11:53:00 人气:92
内容导读:
本文采用模块化设计方案,以FPGA作为核心芯片,运动控制、肌电信号采集、电刺激等模块独立设计,通过通用接口连接。在此基础上,进行多模式的多指抓取实验。

  仿人假手作为肢残患者重获人手功能的主要对象,具有重大的社会需求。理想的假手应具有人手的仿生特征,主要体现在假手构造、控制方式与环境感知3个方面,但由于其有限的体积和复杂的传感器系统,对控制系统提出了更高的要求。

  现有的控制系统有外置式和内置式两种。外置式控制系统多用于研究型假手,如Cyber Hand,Tokyo Hand,Vanderbilt Hand等,这种控制系统主要用于算法、方案的验证,在残疾人应用上推广意义较小。内置式控制系统在研究型假手和商业型假手上均有应用,其中研究型假手控制系统,在环境感知和双向信息交互上投入大量研究,如Smart Hand,DARPA hand;而商业型假手控制系统虽然也有部分集成有外部传感器,但传感器系统简单,双向信息交互上也有较大欠缺,如i-Limb,BeBionic Hand.

  HIT IV代假手控制系统采用DSP作为主控芯片,集成有位置传感器和力矩传感器,可对肌电信号采样。但控制系统为一个整体,且体积较大,只适用于HIT IV代假手。DSP芯片在功能拓展上弱于FPGA,不利于二次开发。

  本文采用模块化设计方案,以FPGA作为核心芯片,运动控制、肌电信号采集、电刺激等模块独立设计,通过通用接口连接。在此基础上,进行多模式的多指抓取实验。

  1仿人假手系统介绍

  本文所设计的控制系统以HIT V代手为控制对象。该手略小于成年人人手,具有5根手指,每根手指2个指节,大拇指还另有一个内旋/外展关节,共有11个活动关节,整个手由6个直流电机驱动,每根手指安装有力矩传感器、位置传感器、指尖六维力传感器。

  控制系统采用模块化设计思想,将整个系统分割成几个模块,通过通用接口建立相互连接,使整个控制系统可以放置在仿人假手内部,实现机电一体化。

  2基于FPGA的控制系统设计

  仿人假手电气控制系统用于实现假手各手指的驱动控制、多种传感器信息的采集以及与上位机( PC或PCI控制卡)之间的通信。该控制系统由10个模块组成,分别为:由FPGA组成的主控芯片模块、USB接口模块、拇指控制电路模块、食指控制电路模块、中指控制电路模块、无名指控制电路模块、小指控制电路模块、肌电信号采集模块、电池管理系统模块、电刺激反馈模块。模块化设计方法增加了控制系统的灵活性与独立性,便于对模块单独进行调试与修改。电气系统总体功能框图如图1.

  

  图1 电气系统功能框图

  2.1 FPGA主控芯片模块设计

  FPGA主控芯片模块采用Altera公司CycloneⅢ系FPGA芯片EP3C25F25617作为控制核心,负责肌电信号和多种传感器信号的处理、与手指电路的通信、USB通信、CAN通信接口等功能。同时,主控芯片模块还负责大拇指内旋/外展自由度驱动电机的控制。各个功能通过VHDL语言进行编写,FPGA中嵌入双NIOS核构成双核处理器,其中一个NIOS核用于肌电信号处理,另一个NIOS核用于通信;双核通过2M的EEPROM进行通信。FPGA功能框图如图2.

  

  图2 FPGA功能框图

  RS—485通信通过在NIOS核内自定义元件AutoSCI控制RS—485收发接口芯片MAX3362实现。MAX3362收发芯片可通过3.3 V低压实现高速数据传送。CAN与LVDS通信采用复用电路设计(图3),通过更换接收发送接口芯片完成功能转换。CAN通信采用TI公司的CAN收发器SN65HVD230QD作为接口芯片。LVDS通信采用TI公司的半双工LVDS收发接口芯片SN65LVDM176,构成PPSeCo高速串行通信系统与PCI控制卡通信,通信速率可达25 Mbps,保证控制信息与传感器信息传送的及时性。

  

  图3 CAN通信/LVDS通信复用电路

  拇指内旋/外展自由度驱动电机由NIOS核中自定义元件PWM控制。元件功能通过VHDL语言编写,PWM波周期和占空比均可调。电机驱动芯片采用MPC17531A,其内部集成双H桥,可直接控制直流有刷电机。

  2.2手指运动控制模块设计

  五根手指的运动控制模块采用相同的设计方案,增强系统的互换性与通用性。该模块由DSP作为控制核心,直流有刷电机驱动芯片MPC17531A作为电机驱动芯片,负责手指电机的驱动,力矩传感器、位置传感器、电机电流传感器信号的采集与处理,以及与触觉传感器系统的通信,最后各项数据通过RS—485通信接口与主控芯片模块通信。控制模块如图4.

  

  图4 手指运动控制模块功能框图

  该模块采用的DSP TMS320F28027运行速率高,封装小。内部集成的16通道12位A/D转换器可实现对力矩、位置、电机电流信号的采样。串行异步通信接口通过RS —485收发接口芯片实现与主控芯片模块通信。EPWM模块可直接控制直流有刷电机驱动芯片MPC17531A.

  如图5,关节力矩传感器信号采集系统包括力矩传感器、处理放大电路、滤波电路和A/D转换电路。力矩传感器基于应变原理,采用仪表放大器INA337组成半桥电路对力矩信号进行放大后通过RC滤波电路进入A/D转换芯片。

  

  图5 力矩传感器信号采集系统

  如图6,关节位置传感器信号采集系统包括位置传感器、处理放大电路、滤波电路和A/D转换电路。位置传感器基于旋转电位器原理,采用集成运放MAX9618对电位器信号进行放大后通过RC滤波电路进入A/D转换芯片。

  

  图6 位置传感器信号采集系统

  2.3肌电信号采集模块设计

  肌电信号采集模块用来采集肌电电极的信号以及对信号的滤波和D/A转换后存储在CPU中,包括RC电路组成的滤波电路、D/A转换电路和电压转换电路。数字信号通过电压转换芯片转换为3.3 V电压,通过SPI接口输入到CPU中央处理器。

  2.4电池管理系统模块设计

  电池管理模块包括电池、电流传感器、蜂鸣器电路、LED显示电路。电流传感器实时监测电池输出电流大小,通过LED显示电路和蜂鸣器电路显示充电状态和电池电量过低报警。

  3软件实现

  在FPGA控制器程序设计中主要完成各系统参数的初始化与控制算法的实现,具体由如下几部分构成:

  1)与上位机通信部分:通过3种方式与上位机通信,获得控制指令,分别为USB通信、LVDS通信、CAN通信,其中LVDS通信与CAN通信不能同时使用;

  2)肌电信号采集部分:通过A/D转换芯片将肌电电极信号转换为数字量,并经过运算处理得到控制指令;

  3)与手指运动控制模块通信部分:通过SCI接口实现与手指运动控制模块的RS—485通信;

  4)生成驱动电机控制参数部分:运算处理控制指令,生成电机运动参数(方向与占空比)。

  控制流程图如图7所示。

  

  图7 FPGA控制流程图

  DSP控制程序主要完成DSP各参数的初始化,控制流程图如图8.

  

  图8 DSP控制流程图

  4假手抓取实验

  基于上述设计,研制出HIT V假手样机,进行抓取实验(图9),可实现多种动作模式的抓取,分别为:两指捏取、三指捏取、圆柱抓取、球形抓取、单指指向、胡克抓取、侧边捏取、五指端取。控制过程中,系统工作稳定,满足仿人假手运动控制和传感器信息采集要求。

  

  图9 多指抓取实验

  5结论

  本文介绍了结合FPGA与DSP的仿人假手控制系统的设计组成与工作流程。该控制系统体积小巧,可完全安装于假手内部。实验证明:该系统运行可靠、控制灵活,使用效果良好。

标签:
商品推荐



相关文章
阅读排行
最近更新
推荐阅读