基于ARM的机械手运动控制系统设计

2014-08-25 01:44,,
浙江工业大学学报 2014年3期
关键词:伺服电机机械手触摸屏

, ,,

(浙江工业大学 信息工程学院,浙江 杭州 310023)

工业机械手具有使用方便、不污染环境、动作灵活迅速、工作安全可靠、操作维修简便以及适于在恶劣环境下工作等特点.它一方面可以减少劳动力,另一方面还可以大大提高生产效率,因此在工业生产中有着广阔的应用前景.工业机械手[1-3]一般由执行系统、驱动系统和控制系统组成,在市场上,由PLC或嵌入式控制器设计的机械手居多,如基于PLC控制的气动机械手系统[4]、基于ARM嵌入式的三维机械手远程控制系统[5-6].PLC拥有编程容易、可靠性强、开发简单等方面的优势[7-8].ARM是面向批量的、降低成本的和开发系列产品的,它具有运算处理能力强、与PC通讯方便、成本低、针对应用优化设计等方面的优势.这里采用STM32F103ZET6芯片来设计控制器,所设计的伺服控制系统可保证机械手高精度、高效率地运行.

1 机械手结构、工作原理及运动控制系统

1.1 结构及工作原理

该机械手由底座、机械手臂、手爪、伺服电机、行星减速器、光电开关及STM32控制部分组成[9].机械手共有三个自由度,动作由伺服电机驱动,STM32控制,可以完成手臂左右移动,手臂前后伸展,手臂上下移动以及抓取工件等动作.机械手能准确地抓取工件,并送到指定位置.机械手机械部分如图1所示.

图1 机械手结构简图

机械手每轴两端都有一个光电开关,用于设定原点与限位.对于每个光电开关,在控制器中除了高低电平外,还有边沿的变化,原点和限位可以通过这两种变化确定.当电源开启时,机械手开始回原点,原点定义为:X轴的最右端,Y轴的最左端,Z轴的最下端.在机械手回原点动作时,光电开关是用来定位的,其余的时候都用作限位,确保机械手的运行安全.

1.2 运动控制系统

机械手控制系统主要由基于ARM Cortex-M3的STM32的控制板、伺服系统、接口板和触摸屏组成,如图2所示.

图2 机械手控制系统

整个控制系统的核心是基于ARM Cortex-M3芯片的STM32的控制板,它经由脉冲输出端向伺服驱动器发出定量的脉冲来控制伺服电机的转动.这里选用的STM32F103ZET6芯片[10-11],其内核是ARM 32位的Cortex-M3 CPU,最高工作频率为72 MHz,拥有单周期乘法和硬件除法,处理速度快.此外,该芯片拥有8个定时器,其中2个为系统定时器,可以用作系统定时,其余的6个定时器都可以用于发送脉冲或者对外部输入脉冲进行计数.这里所用的机械手为笛卡尔型三轴空间直角坐标机械手,需要三个定时器发送脉冲,同时需要三个定时器接收编码器反馈信号,所以STM32F103ZET6芯片刚好满足要求.

伺服系统包含两部分:伺服电机和伺服驱动器.伺服驱动器根据输出端的脉冲输出数量和频率分别控制伺服电机的转动圈数和转动速度,因而能够准确地控制机械手的运行速度和距离.这里选用的是台达ASDA-AB系列的伺服驱动器,其性价比高,操作模式有位置模式、速度模式、扭矩模式、混合模式,根据需要选定本次设计的操作模式为外部脉冲输入位置模式.伺服电机与伺服驱动器相连,并通过一定的机械结构(减速器和皮带)带动机械臂.选用ECMA系列伺服电机,Z轴垂直于地面,如果手爪抓的东西过重,在重力影响下机械手会沿Z轴缓缓下降,所以Z轴电机选用的是带刹车的伺服电机.由于伺服电机带有自锁功能,考虑到成本和功能,X轴与Y轴选用普通伺服电机既能达到要求.

接口板的位置在控制板和伺服控制系统之间,它的作用是对控制器信号和伺服控制器信号进行隔离.接口板自带电源,控制板信号经过光耦转换成24 V信号再输给伺服启动器.反之,伺服驱动器信号经过光耦转成3.3 V信号再输给控制板.接口板能有效地转换信号电平,并减少控制板和伺服驱动之间的干扰.

系统各类参数能够通过触摸屏直观的显示出来,并且通过触摸屏与后台的控制系统进行通信可以修改参数,为用户提供良好的人机交互界面,简化了对机械手现场的操作.这里选用迪文科技生产的人机界面交互模组DWIN_HMI,它自身含有电源模块、处理器、TFT屏、存储单元以及接口电路,内部还包含了一整套的指令集.通过串口通信,控制板可以将数据按固定的协议格式传到DWIN_HMI上显示,而且用户在DWIN_HMI上的操作能迅速地传到控制器上进行处理.

2 软件设计

2.1 总体程序设计

硬件平台构建好后,根据机械手的基本功能要求,在其基础上搭建系统的软件环境进而通过设计好的算法来控制机械手并验证算法的效果.该程序设计中包含3个环节:初始化、示教、轨迹规划,程序流程图如3所示.

图3 程序流程图

2.1.1 初始化

初始化包括:芯片的时钟初始化、定时器初始化、中断初始化、编码器初始化、触摸屏初始化等.定时器的脉冲频率设置公式为

(1)

其中:Fout为定时器输出频率;Te为时钟预分频系数;Td为自动重载寄存器周期值;Tk为定时器的时钟输入.STM32芯片的定时器时钟输入为72 MHz,只需要合理地选择时钟预分频系数和自动重载寄存器周期值,就可以确定所要发送的脉冲频率.

2.1.2 示 教

在人机界面中,设计了两个界面分别用于示教[12]和轨迹规划.系统启动后,首先判断是否示教,如果需要,那么进入手动示教界面,如图4所示.

图4 手动示教界面

手动示教界面中有节点选择和X,Y,Z三轴的运动方式选择,其具体流程如图3(b)所示.操作时,首先选择节点,接着选择X,Y,Z轴的运动方式.当机械手运动到所需要位置,按下停止键,如果还有偏差,继续移动直至满意再按停止键.最后按确定键,此时在选中的节点右侧显示机械手在X,Y,Z三个方向上的绝对距离,同时数据保存到存储单元.如果需要重新记录该节点数据,即重新选中该节点,然后将机械手示教到要求位置后,按确定键.

2.1.3 轨迹规划

示教结束之后就是轨迹规划环节,其界面如图5所示.

图5 步骤确定

图中运动顺序中有10个方框,分别对应右侧10个步骤选择,节点选择中的8个节点与手动示教界面的8个节点相对应,其具体操作流程如图3(c)所示.在程序设计中,运动顺序的形式是一个数据表,其形式见表1.

表1 数据表

轨迹规划是对示教节点进行操作,首先步骤选择,然后节点选择,最后将数据存入新数据表,其形式见表2.根据轨迹规划得到的新数据表,表示一条轨迹,再现时,机械手按照运动顺序设定的步骤运行.

表2 新数据表

表中节点顺序表示实际机械手的运行顺序,如表2所示,机械手的运动顺序为1—5—3.机械手按照新数据表中的节点数据,进行点对点运动.按表2所示,机械手先运动到节点1,然后运动到节点5,最后运动到节点3,从而再现预设的轨迹.

2.2 速度规划的实现

在笛卡尔空间中,当机械手的运动轨迹为多段路径时,坐标运动轨迹可以简化成X,Y,Z三轴的运动合成.运动过程可以分解成若干已知坐标点、速度极值、加速度极值等信息的运动问题.在机械手运行过程中,如何根据微小段之间的拐角大小对速度进行加减速控制进而保证速度平滑过渡,让各段微小线段的平均运行速度都保持比较高的值,从而实现机械手高速运动同时保证运动的稳定性,是运动控制系统的一个重点和难点[13],笔者采用的是S曲线加减速的方法来解决这一问题.

S曲线加减速算法分为5段和7段[14-15],这里采用的是5段S曲线加减速算法,其过程是由加加速、减加速、匀速、加减速、减减速这5个阶段按照先后顺序组成的.对单一路径的运动进行分析,这里S为给定运动距离,在计算中为已知量,且S=Sup+Sgv+Sdown(Sup为升速过程位移;Sgv为匀速过程位移;Sdomn为降速过程位移),V为速度值,a为加速度值,J为加速度的变化率,其为一恒值,Vs为初始速度值,Ve为末速度值,Vmax为最大速度值.其中:加加速段时间与减加速段的时间相等,均为T1;加减速段时间和减减速段的时间相等,均为T2,匀速运动段时间为T3.

图6 S曲线加减速

这里考虑的是点对点运动,即开始和结束都是静止的,所以初速度Vs=0,末速度Ve=0,时间T1=T2.根据设定加速度的变化率J、速度最大值Vmax和已知的总位移S,就能计算得到T1,T2,T3.得到T1,T2,T3后,就能计算得到各个参数值.

1) 如果Sev≥0,根据匀速阶段速度公式

(2)

可得

(3)

将J,Vmax和已知的Vs=0代入,求得

(4)

由于T1=T2,根据第五阶段位移表达式

(5)

可得

(6)

(7)

2) 如果Sev<0,表明没有匀速区,即T3为0,且速度最大值达不到Vmax,由于Sup=Sdomn,根据位移公式可知

(8)

(9)

通过以上计算可以得到T1,T2,T3,然后代入位移表达式,可以得到每个时间段结束时,机械手与起始点的相对位移S1,S2,S3,S4,S5,再依据此位移和实际编码器反馈得到位移进行比较确定时间段,继而求出每个时间段的实时速度V,具体流程如图7所示.

图7 五段S曲线加减速的实现

求得实时速度V后,将其换算到脉冲频率,在下一个时刻控制器按此频率发送脉冲给伺服系统,即实现伺服系统的S曲线加减速控制.

2.3 运动控制系统的实现

2.3.1 实际长度转脉冲数

在控制系统中,控制器发送脉冲给伺服驱动器,根据发送的脉冲个数来定位,而在触摸屏上显示的是实际长度.STM32根据实际长度计算出向伺服驱动器发送的脉冲数,具体公式为

(10)

其中:P标为实际脉冲数;S实为实际长度;P标为标准脉冲数;S标为标准长度;R为电子齿轮比.标准长度指电机旋转一周所对应的长度,标准脉冲数指电机旋转一周所需要的脉冲数.电子齿轮比指通过更改电子齿轮比的分倍频,来实现不同的脉冲当量.例如电子齿轮比等于1时,如果电机的每周脉冲数为10 000,那么当电子齿轮比等于0.5时,则电机每周所需的脉冲数为20 000.

2.3.2 脉冲个数与实际长度的转换

通过触摸屏显示机械手运行距离,可以让操作人员更好地了解机械手的工作状况.其具体方法是控制器读取编码器反馈回来的脉冲信号,然后换算为实际长度值,并显示在触摸屏上.脉冲个数转换成实际长度表示为

(11)

其中:Pb为编码器反馈脉冲数,它的计数分为绝对计数与相对计数.在本次设计中,触摸屏上显示的位置指的是机械手的绝对位置.

2.3.3 脉冲频率与实际速度

由于这里的机械手是笛卡尔型机械手,机械手的实际速度可以看成X,Y,Z三个方向的速度合成.考虑单轴运行速度,它与控制器发送脉冲的频率有关,具体公式为

(12)

其中:V为实际速度;V脉冲为脉冲发送速度,即脉冲频率.

3 实 验

实验中,设定最高速度为v=188.5 mm/s,J=100 mm/s3,R=1,P标=10 000,S标=94.247 7 mm.首先,示教所需要的节点,如图8所示.然后,对节点进行轨迹规划,为实验方便,选择从节点1到节点2,具体如图9所示.

按五段S曲线加减速算法,根据控制器计算,可以直接从芯片寄存器中读取T1,T2,T3,如表3所示.机械手按照设定从节点1运行到节点2,三轴运行的实际情况如表4所示.

图8 节点记录

图9 轨迹规划

表3 加减速临界时间

表4 实验结果

实验结果表明:笔者设计的三轴机械臂软硬件均能按照设计的要求正常运行,进一步验证了基于嵌入式系统的三轴机械臂设计的可行性.根据实验数据可知伺服系统的脉冲定位精度在一个脉冲以内,可以精确定位机械手运动位置.触摸屏则可以直观显示及修改各种运动参数,通过触摸屏可以对机械手进行示教,简化了现场操作.

4 结 论

基于ARM芯片的机械手运动控制系统实现了机械手运动的示教、轨迹规划、速度规划和位置控制功能.从具体的实验中进一步验证了采用ARM控制板作为机械手臂的控制器可行性,且在ARM芯片作为控制器的基础上可充分发挥其优点,比如可利用ARM芯片与DWIN_HMI触摸屏的通讯来进行机械手的可视化的示教,通过控制器的脉冲数及脉冲频率与电机运行的圈数和转速的转换来达到机械手运动控制的目的等.采用STM32F103ZET6芯片来设计机械手的控制器,所设计的伺服控制系统可保证机械手高精度、高效率地运行,为ARM芯片嵌入式控制器的推广做了理论和实验性的论证.

参考文献:

[1] CRAIG J J.机器人学导论[M].贠超,李成群,译.北京:机械工业出版社,2006.

[2] 张立彬,计时鸣.农业机器人的主要应用领域和关键技术[J].浙江工业大学学报,2002,30(1):36-41.

[3] 王世红,徐世许.送料机定长送料的伺服控制系统设计[J].机械工程与自动化,2010(1):152-154.

[4] 张州,刘广瑞,杜大军.基于PLC控制的气动机械手系统[J].机电产品开发与创新,2004,17(3):25-27.

[5] 向丹,王文涛.基于ARM嵌入式的三维机械手远程控制系统设计[J].电子与封装,2009,9(6):21-24.

[6] 范志荣.机械手控制系统的改造[J].机床与液压,2005(3):202-203.

[7] 周元芳.结构化及面向对象的程序设计方法在PLC编程中的应用[J].浙江工业大学学报,2003,31(3):264-267.

[8] 潜立标,杨马英,俞立.基于Web和S7300 PLC的远程控制实验室系统[J].浙江工业大学学报,2007,35(1):73-77.

[9] 王宇.多轴机械手控制系统的研究与开发[D].杭州:浙江工业大学信息工程学院,2012.

[10] 俞金钱.STM32系列ARM Cortex-M3核微控制器开发与应用[M].北京:清华大学出版社,2011.

[11] 王永红,徐炜,郝立平,等.STM32系列ARM Cortex-M3微控制器原理与实践[M].北京:北京航空航天大学出版社,2008.

[12] 李建刚.巧用PLC实现机械手运动的示教与再现[J].农业科技与装备,2011(8):32-35.

[13] 朱海燕.七自由度仿人机械臂轨迹规划与控制方法研究[D].杭州:浙江工业大学信息工程学院,2012.

[14] 李晓辉,邬义杰.S曲线加减速控制新方法的研究[J].组合机床与自动化加工技术,2007(10):50-53.

[15] 郭新贵,李从心.S曲线加减速算法研究[J].机床与液压,2002(5):60-62.

猜你喜欢
伺服电机机械手触摸屏
专利名称:一种适应压铸环境的伺服电机
某数控车床的桁架机械手结构设计
人体体感感知机械手设计与实现
PLC和触摸屏在卫生间控制系统的应用
浅析投射式多点触控电容触摸屏
生产线中的伺服电机定位控制
皮肤“长”出触摸屏
伺服电机控制在电阻焊机的应用研究
伺服电机驱动的连铸结晶器振动位移系统模糊自整定PID控制