APP下载

基于DSP的模块化机械臂运动控制器设计

2015-11-04朱学军邰春茹

组合机床与自动化加工技术 2015年7期
关键词:机械手编码器控制器

耿 振,朱学军,邰春茹

(1.宁夏大学机械工程学院,银川 750021;2.上海英集斯自动化技术有限公司 研发部,上海201108)

基于DSP的模块化机械臂运动控制器设计

耿 振1,朱学军1,邰春茹2

(1.宁夏大学机械工程学院,银川 750021;2.上海英集斯自动化技术有限公司 研发部,上海201108)

随着科学技术的快速发展和社会的进步,机器人在各行业中的的应用越来越普遍。机器人学是一门高度交叉的前沿学科,机器人技术是典型的机电一体化技术。其中的运动控制器技术是机器人技术中的关键,也是影响机器人性能的主要因素。文章介绍了以PC机为操作平台,通过CAN总线的方式建立起的小型分布式控制系统,控制6个自由度的协调运行。其运动控制器以DSP和CPLD为核心,实现了6自由度机械手的运动控制。该设计实现了各旋转关节的独立化、模块化。各模块间的机械连接可根据需要自由调整,此外还具有高度的开放性,信息处理的高速性等特点。

DSP;CAN总线;运动控制器;分布式控制

0 引言

随着微电子技术与计算机通讯技术的发展,基于DSP(Digital Signal Processor)和CPLD(Complex Programmable Logic Device)的运动控制技术受到人们的青睐,业已成为新一代运动控制器的主流发展方向。其开放、实时、可靠等因素使其在机器人运动控制领域具备重要的应用价值[1]。

近几年,机器人运动控制器的研究在国内外颇为流行。国外已经有很多著名的公司在做机器人运动控制器的研究开发,有些产品已经能够控制12轴甚至更多。国内也有一些专家、学者在做此方面的研究,目前有基于DSP+CPLD和DSP+FPGA运动控制器这类的产品出现[2-3]。

以往的专用运动控制器一般为封闭式结构,存在系统的兼容性、可靠性差,且系统成本较高,维护不便等诸多缺点[4]。为克服这些缺点,我们设计了以DSP为核心处理器的运动控制器,采用PC机作为操作平台,将驱动器和运动控制器结合在一起,并利用CPLD进行时序逻辑、地址译码、编码器信号的处理[5]。该系统具有高度的开放性,方便编程人员进行软件的结构化设计和进行二次开发[6]。此外,该机械臂提供给高校和科研机构等客户,作为学生及科研人员的学术研究平台,对普及机器人基础知识及研究人员设计性能更好的机械臂控制算法有重要意义[7]。

1 六自由度模块化机械臂的机械结构

MT-Arm机械臂运动控制器采用DSP+CPLD的结构来实现电机的伺服驱动。该6自由度模块化机械手的总体结构如图1所示。

图1 MT-Arm模块化机械手的机械结构

从图1中可以看出,机械手的6个自由度做成了可以多方位安装的6个相互独立的模块,独立模块对应的控制系统集成在该模块中,控制系统包括驱动部分和伺服控制部分。独立模块分为以下4种:

①单自由度大(功率)模块;

②单自由度小(功率)模块;

③腕部双自由度模块(简称云台);

④夹爪模块。

其中,每一种模块主要包含以下几个组成部分:

①原动力系统(直流有刷电机);

②传动系统(谐波减速器,夹爪模块齿轮传动+丝杠传动+直线导轨);

③制动系统(无励磁制动、保持两用刹车);

④位置传感器(增量式光电编码器+金属接近开关);

⑤驱动及伺服控制系统;

⑥模块壳体及支撑结构。

每个模块的外形都为长方体,且各模块的4个外表面都预留有与其他模块连接的螺纹孔,通过各种连接件组合以上四种不同种类和数量的模块,然后模块之间通过弹簧线(含CAN总线和24V电源线)建立电气连接,就可以构成不同自由度不同结构形式的多自由度模块化机械手。

2 运动控制器总体结构

基于DSP的开放式运动控制器的结构如图2所示。上位机为PC机,通过一个USB转CAN模块实现PC机与下位机的通信[8]。在机械手运行时,PC机根据用户输入的参数,把目的位置、速度、加速度等运动信息通过CAN总线发送给DSP,再由DSP完成精确运动控制。同时接收运动控制器反馈的各关节位置信息,监视机械手的运行情况。下位机集成了CAN接口模块、电源管理及保护功能模块、外扩存储器模块、回零检测模块、编码器接口、驱动模块及直流电机。

图2 运动控制器总体框图

2.1 系统通信模块

由于传输的数据量大、实时性要求高,为完成PC机与机械手运动控制器之间的通信,我们选用了广州致远电子有限公司的USBCAN-E-U高性能CAN接口卡,该接口卡使PC通过USB端口连接至CAN网络,进而构成一个CAN-bus控制节点,完成数据处理、数据采集等任务。该接口卡具有体积小巧、即插即用的特点,并且为了增强系统在恶劣环境中使用的可靠性,接口卡上还带有电气隔离模块,使接口卡避免遭到地环流的损坏。USBCAN-E-U接口卡支持ZLG(周立功)CANTest通用测试软件,具有CAN-bus报文的收发和监测等功能。

USBCAN-E-U接口卡集成1路CAN通道,可以用于连接一个CAN-bus网络或者带有CAN-bus接口的设备。CAN-bus通道由1个10 Pin的插拔式接线端子引出。接线端子的引脚定义如表1所示。

表1 USBCAN-E-U接口卡的CAN-bus信号分配

在实际应用中,电源和通信端子的定义及分配见图3。可以看出,CAN_H和CAN_L信号线与24V直流电源正极和GND组合在一起构成如图3所示的接口。机械手每个关节都有2个这样的接口(公头和母头各一个),因此可实现与其他任意关节模块间的CAN通信并向其提供电源。

由于DSP2407内部集成了CAN模块,片外只需要一枚CAN收发器即可,这里选用了82C250芯片作为CAN控制器。CAN总线隔离芯片采用HP公司的HCPL-0630双路光藕,它具有高速,高共模抑制比的特性。

图3 电源和通信接口

2.2 系统电源部分

系统供电模块如图4所示。其中输入为24V直流电,经过滤波后,送到LM2574-12稳压器进行降压,LM2574系列稳压器是单片集成电路,提供作为降压开关稳压器的所有功能,可以驱动0.5A的负载,此处输出为12V。此外,还使用LM1117-5和IB1205S-2W DC转换器进行12V转5V的电压输出。由于系统中还有3.3V供电需求,此处选用低压差线性稳压器LM1117-3.3输出3.3V电压。

图4 系统供电模块

同时,系统还设计有电压监控电路。系统掉电时,当电压检测电路检测到系统电压低于原本设定的域值,就会给DSP一个信号,DSP立刻将一些需要保存的数据保存到外部扩展的电可擦只读存储器(E-2PROM)中,下次系统启动时会从E2PROM中读取数据,此外,还可以将PID参数等一些运动控制的参数保存在E2PROM中,可以通过编程实现系统上电自动加载这些参数[8]。

2.3 系统控制部分

MT-Arm控制板是由DSP作为核心处理器的,其结构如图5所示。控制板主要包括DSP芯片,过温检测及电流检测电路、复位电路、JTAG接口电路、时钟电路、RS-232总线驱动电路、编码器脉冲整形电路、外部扩展存储器E2PROM、外部扩展存储器SRAM。

图5 DSP控制板结构图

运动控制器的核心处理器采用TI公司的DSP芯片TMS320LF2407A。TMS320LF2407A是一种专门针对控制领域而开发的高性能16位定点DSP芯片。其主要特点为:两个事件管理器模块EVA和EVB,分别包括两个16位通用定时器、8个16位脉冲调制(PWM)通道、3个捕获单元、1个正交编码脉冲单元(QEP);串行通讯接口(SCI)模块;16通道A/D转换器;16位串行外设(SPI)模块;控制器局域网络(CAN)2.0B模块;高达40个可单独编程或复用的通用I/O引脚(GPIO)[9]。

为了能减少处理器外围数字逻辑器件的使用数量,同时满足机械手扩展传感器的需要,该运动控制卡采用ALTERA公司MAX3000系列CPLD芯片来扩展DSP的I/O端口和实现外围数字逻辑电路设计。采用CPLD可以增加电路板的可靠性和设计灵活性。CPLD作为系统主控芯片的扩展,实现了众多逻辑控制的任务:①地址译码。利用CPLD内部的专门的译码电路对DSP的地址信号进行地址译码,产生相应的片选信号,选通SDRAM、DA等。②外部中断逻辑判断。对伺服电机的伺服报警信号、回零信号以及双口RAM的BUSY信号进行检测和判断,并向DSP发出中断请求。③作为DSP的外扩I/O,CPLD还起到电平转换的作用。由CPLD对增量式编码器进行鉴相、倍频等计算,并发送给DSP,以计算电机运动速度和位置。

系统上电后必须先将DSP的RS引脚拉为低电平,对DSP的寄存器和I/O端口进行复位。系统时钟电路采用20M晶体振荡器,通过PLL的倍频作用,产生2倍频,使系统的时钟频率变为40MHz。

本系统采用增量式光电编码器输出位置信号,实现了对伺服电机的位置闭环控制,经处理便得到电机转速以及机械手各关节的位移量,转换电路由74HC14构成。74HC14是一款高速CMOS器件,可将缓慢变化的输入信号转换成清晰、无抖动的输出信号,可用作整形电路。该电路的功能是将输入的一对极性相反的编码器反馈信号转化为单极性的无毛刺的方波信号。原理图中XA、XB为两路正交编码脉冲,通过判断XA、XB两信号的相位关系就可得出光电编码器旋转方向以及电机的位移量和转速信息。因为编码器脉冲频率较高,此处选择输入频率高达10MHz的高速光藕HCPL-0630来满足系统高频脉冲信号隔离转换的要求。

系统需要实时记录关节位置、速度、加速度信息。为执行复杂的控制算法,需要扩展数据空间和程序空间。此处选用CY7C1021DV33外扩数据存储空间和程序存储空间。

2.4 驱动部分

MT-Arm伺服驱动卡采用单极性H桥驱动原理,要求电机能够实现正反转,这就需要使用可逆PWM系统。可逆PWM系统分为单极性驱动和双极性驱动[10]。单极性驱动是指在一个PWM周期中,电动机电枢的电压极性呈单一性(或者正、或者负)变化。双极性驱动是指在一个PWM周期里,电动机电枢电压极性呈正负交替变化[11]。由于单极性驱动较易于实现,该驱动器采用单极性H桥式方式来驱动电机。

图6 H桥PWM驱动

单极性H桥驱动电路原理及输入波形如图6所示。H桥电路主要由4个VMOS管组成,当电机正转时,要求B2导通,B1截止,调节A1的输入信号HO1的占空比实现对电机的调速,A2的输入波形则要求与A1的输入波形反向;同理,当电机反转时,要求A2导通,A1截止,调节B1的输入信号HO2的占空比实现对电机的调速,B2的输入波形则要求与B1的输入波形反向。

3 运动控制器软件实现

MT-Arm运动控制器软件总体结构分为2部分:上位机控制程序和DSP下位机程序。完整意义的运动控制器,其上位机应该具有人机交互界面、3D模拟仿真界面、运动学的正逆解、在线示教等功能。而下位机主要完成数据通信、插补算法的实现、中断控制、I/O控制、数据处理、伺服控制等功能。

该上位机程序中,PC与运动控制卡的通讯程序不需要开发,该功能通过动态链接库实现,用户只需调用库函数即可。上位机程序包括手臂仿真应用软件和控制软件。MT-Arm演示软件在VC7和OpenGL平台上开发,OpenGL语言的优点是能够将三维图形在三维空间内显示,并可对其中的某个模型进行平移旋转缩放等功能,这样用户可以在没有连接手臂的情况下在该模型上验证用户自定义的算法。上位机软件程序界面如图7所示,主要有以下几个模块:OpenGL仿真界面、总控制栏、末端执行器位姿显示栏。此外,软件还包括以下功能:各关节的运动状态显示;各关节的速度位移和电压曲线实时显示;示教功能;还有逆运动学的关节空间和直线插补的实现等功能。PC机与手臂连接时,仿真界面中的手臂同时运动。此外,还可以通过顶部的工具栏实现对仿真窗口图形的平移、旋转及任意角度的查看。

图7 模块化机械臂上位机软件界面

下位机程序中,主要由两部分组成,主程序和中断程序,主程序负责电机运动的控制,中断程序则完成接收上位机发来的信息并且为程序计时的功能,二者相辅相成,缺一不可。

图8显示了主程序的流程,在主程序中最终实现电机控制的部分在图中用虚线方框包围。在主程序中,先对系统、SCI、SPI、CAN模块、EVA、EVB和PWM进行初始化,然后开中断,再进入do-while循环语句函数运动控制部分,这样就可实现既定控制算法对电机的不间断控制。

图8 主程序流程图

4 结论

本文介绍了由PC机、DSP和CPLD组成的用于6自由度模块化机械手的运动控制器。经实验表明,各个自由度可以依照预先设定参数完成规定的动作,误差较小,且各个关节运动参数可单独调节。该设计提高了控制系统的精度,模块化的结构增强了系统的灵活性。实验结果证明了系统软硬件设计方案和电机控制算法的有效性,这对开放式运动控制系统设计具有借鉴意义。

此外,系统还存在一些不足。例如,在下位机程序的算法中,采用了传统的PID算法,今后的工作中会考虑加入智能控制算法,如模糊控制、遗传算法等以提高系统性能。上位机软件还可以再加入机器人工作空间的求解以及末端执行器轨迹的实时显示等实用功能。

[1]时良仁.基于DSP的机械手开放式运动控制器设计[J].齐齐哈尔大学学报,2011,27(3):14-16.

[2]谢完成.多轴运动控制器在机械手上的研究[J].计算机测量与控制,2010,18(8):1783-1785.

[3]刘永锋.基于DSP和FPGA的机器人运动控制器的研究[D].南京:南京理工大学,2007.

[4]刘松国,朱世强,王会方.多轴运动控制器研制及其在机械手上的应用[J].机电工程,2011,28(5):556-559.

[5]廖永忠.基于DSP+CPLD的伺服控制卡的设计[J].现代电子技术2009(1):142-144.

[6]雷江,陈幼平,夏泽中.基于DSP的主从运动控制器的软件设计[J].机械与电子2000(6):32-34.

[7]Chen Song,,Wang Lei,Xu YeFeng.A High-precision Control System of DCMotor Based On DSP[J].Elsevier,Procedia Engineering,2011(15):573-577.

[8]熊毅,玉振明,陈炳忠.基于DSP宝石加工机械手控制系统设计与实现[J].组合机床与自动化加工技术,2011(8):56-63.

[9]刘和平,邓力,江渝,等.DSP原理及电机控制应用-基于TMS320LF240X系列[M].北京:北京航空航天大学出版社,2006.

[10]田玉利,高伟,宋宗玺.CPLD在PWM电路设计中的应用[J].科学技术与工程,2007,7(9):2060-2063.

[11]刘刚,白旭岐,乔鑫.基于CPLD的软开关H桥PWM控制信号发生器设计[J].吉林化工学院学报,2010,27(2):46-49.

(编辑 李秀敏)

The M otion Controller Design of M odular M anipulator Based on DSP

GENG Zhen1,ZHU Xue-jun1,TAIChun-ru2
(1.School of Mechanical Engineering,Ningxia University,Yinchuan 750021,China;2.Research and Development Department,Shanghai Ingenious Automation Technology Co.,Ltd.,Shanghai201108,China)

W ith the rapid development of science and technology and the progress of the society,robot′s application in various industries is becom ingmore common.Robotics is a highly interdisciplinary frontier discipline,and the robot technology is a typical electromechanical technology.Themotion controller technology is the key in robotics,it is also themain factors that affecting the performance of robots.This paper introduced PC machine as the operating platform,through CAN bus to establish the small distributed control system,control the six DOF coordinated operation.Themotion controller taking DSP and CPLD as the core,and realized themotion control of 6 degree of freedom manipulator.This design has realized rotary joint’s independence and modularization.Mechanical connection between each module can be adjusted freely according to user’s need.In addition,this system also have characteristics of high openness and high speed of information processing,etc.

DSP;CAN bus;motion controller;distributed control

TH166;TG659

A

1001-2265(2015)07-0124-04 DOI:10.13462/j.cnki.mmtamt.2015.07.034

2014-09-18;

2014-11-10

耿振(1989-),男,山东济南人,宁夏大学机械工程学院在读硕士,研究方向为机电系统智能控制,(E-mail)1054559803@qq.com;通讯作者:朱学军(1970-),男,浙江金华人,宁夏大学机械工程学院教授,硕士,研究领域为机电系统智能控制,(E-mail)zxjxu@sohu. com。

猜你喜欢

机械手编码器控制器
融合CNN和Transformer编码器的变声语音鉴别与还原
工商业IC卡控制器改造为物联网控制器实践
某数控车床的桁架机械手结构设计
舞台机械技术与设备系列谈(二)
——编码器
人体体感感知机械手设计与实现
基于双增量码道的绝对式编码器设计
车轮装配机械手气动控制系统设计
基于粒子群迭代的一种冗余机械手逆解算法
基于数字信号处理的脉冲编码器
模糊PID控制器设计及MATLAB仿真