0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

EtherCAT运动控制器Delta机械手应用

正运动技术 来源:正运动技术 作者:正运动技术 2024-05-09 10:47 次阅读

ZMC406硬件介绍

ZMC406是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNETRS232CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。

wKgaomY8NtCAcVBaAAFOOmnQnQ4211.png

ZMC406支持6轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。

ZMC406支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#C++LabVIEWMatlab、Qt、Linux、VB.Net、Python等接口。

wKgaomY8NtSAQzMzAAFif7ZUecs169.png

ZMC406支持6轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24路输入口和12路输出口,模拟AD/DA各两路,EtherCAT最快125us的刷新周期。

此类运动控制器与PCI运动控制卡相比具有如下优点:

(1)不使用插槽,稳定性更好;

(2)可以选用MINI电脑ARM工控电脑,降低整体成本;

(3)控制器直接做接线板使用,节省空间;

(4)控制器上可以并行运行程序,与PC只需要简单交互,降低PC软件的复杂性等优势。

ZMC控制器通过RTSys开发环境来调试,RTSys是一个方便的编程、编译和调试环境。RTSys可以通过串口、以太网、PCI和LOCAL与控制器建立连接。应用程序可以使用VC,VB,VS,C++Builder,C#等软件来开发。调试时可以把RTSys软件同时连接到控制器,程序运行时需要动态库zmotion.dll。

Delta机械手支持3-4轴,关节轴1+关节轴2+关节轴3+[末端旋转轴4]。后缀带R的控制器支持Delta机械手功能,例如ZMC406R。

ZMC406R可以采用脱机的方式将编辑好的程序下载到控制器上,可利用触摸屏示教的方式编辑想要运动的轨迹。也可以用PC API函数调用方式或者实时发送指令操作,在PC上位机C#,C++,Labview,Python等语言来开发Delta机械手的应用。

wKgaomY8NtiAGnftAAA4pGwe0tk985.png

▶▶▶ 机械手相关概念

1、关节轴与虚拟轴

(1)关节轴:是指实际机械结构中的旋转关节,在程序中一般显示旋转角度(某些结构也是平移轴)。由于电机与旋转关节会存在减速比,所以设置脉冲当量UNITS(电机走1mm或者1°需要的脉冲数)时要按照实际关节旋转一圈来设置,同时TABLE中填写结构参数时也要按照旋转关节中心计算,而不是按照电机轴中心计算。

(2)虚拟轴:不是实际存在的,抽象为世界坐标系的6个自由度,依次为X、Y、Z、RX、RY、RZ。可以理解为直角坐标系的三个直线轴和三个旋转轴,用来确定机械手末端工作点的加工轨迹与坐标。

2、正解运动与逆解运动

(1)正解运动:通过操作关节坐标,再根据机械结构参数可以计算出末端位置在直角坐标系的空间位置,这个过程称为正解运动。此时操作的是实际关节轴,虚拟轴自动计算坐标。此时只能操作关节轴运动,正解模式一般用于手动调整关节位置或上电点位回零。

(2)逆解运动:给定一个直角坐标系中的空间位置,反推出各关节轴坐标,这个过程称为逆解运动。此时操作的是虚拟轴,实际关节轴自动解算坐标并运动。控制器使用CONNFRAME指令建立逆解模式,此指令作用在关节轴上,此时只能操作虚拟轴,对虚拟轴发送运动指令,可以在笛卡尔坐标系中做直线,圆弧,空间圆弧等运动,关节轴在CONNFRAME的作用下会自动运动到逆解后的位置。

▶▶▶ 机械手使用操作步骤

1、确认电机转向是否正确。

3个关节轴向下旋转时为正向。末端旋转轴逆时针旋转为正向(俯视)。

连接上机械手仿真工具,通过Rtsys软件菜单栏的【工具】-【手动运动】,以较小的速度分别操作3个关节轴移动,观察各个关节轴下杆移动过程中是否趋向末端工作点,若是则说明电机转向是正确的。

wKgZomY8Nt2Afk5CAAD9_18js0k337.png

2、TABLE寄存器(控制器上电后自动生成)依次存入机械手结构参数。

建立机械手连接时,需要将机械结构参数按照如下次序依次填写到TABLE数组中。Delta机械手FRAME12模型机械结构参数说明如下。

wKgaomY8NuCANrW5AAHSRKt1LmI360.pngwKgZomY8NuSAXRICAAC1KqPLj2s311.png

‘从TableNum编号开始依次机械手结构参数上间距半径、下间距半径、上杆长度、下杆长度、第一个关节轴旋转一圈的脉冲数、第二个关节轴旋转一圈的脉冲数、第三个关节轴旋转一圈的脉冲数、末端与下面中心点的X偏移、末端与下面中心点的Y偏移、末端与下面中心点的Z偏移、第四个关节轴旋转一圈的脉冲数到Table中。
TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)

3、设置关节轴参数及虚拟轴参数。

各轴的轴类型和脉冲当量(units)要设置正确,设置为电机走1°需要的脉冲数。虚拟轴的units跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的1mm的脉冲数一般建议设置为1000,表示精度为小数点后3位。

'关节轴设置
BASE(Axis_JList(0),Axis_JList(1),Axis_JList(2),Axis_JList(3))
'脉冲轴类型设置为1。若是总线轴类型,可设置为65 
ATYPE = 1,1,1,1 
UNITS = UnitsJList(0),UnitsJList(1),UnitsJList(2),UnitsJList(3)
'设置关节轴速度、加速度(一般设置为速度的10倍)、减速度(一般设置为速度的10倍)
SPEED = SpeedJList(0),SpeedJList(1),SpeedJList(2),SpeedJList(3) 
ACCEL = ADSpeedJList(0),ADSpeedJList(1),ADSpeedJList(2),ADSpeedJList(3)
DECEL = ADSpeedJList(0),ADSpeedJList(1),ADSpeedJList(2),ADSpeedJList(3)
'S曲线
SRAMP = SrampJ(0),SrampJ(1),SrampJ(2),SrampJ(3)
'虚拟轴设置
BASE(Axis_VList(0),Axis_VList(1),Axis_VList(2))
'虚拟轴轴类型设置为0
ATYPE = 0,0,0
'虚拟轴脉冲当量设置为1000--表示精度为小数点后3位
UNITS = 1000,1000,1000
'设置虚拟轴速度、加速度(一般设置为速度的10倍)、减速度(一般设置为速度的10倍)
SPEED = SpeedVList(0),SpeedVList(1),SpeedVList(2)
ACCEL = AccelV(0),AccelV(1),AccelV(2)
DECEL = DecelV(0),DecelV(1),DecelV(2)
'S曲线
SRAMP = SrampV(0),SrampV(1),SrampV(2)

4、移动各关节轴到规定的零点位置。

机械手算法建立时,需要有个零点位置作为参考。当Delta机械手

各关节轴的连杆L1都处于水平位置时,认为是关节零点位置。实际现场机械手机

一般有定位销,没有定位销的话可以通过水平仪把连杆L1调整至水平。

wKgZomY8NuqAMj29AACgcHItrN4092.png

5、根据需求建立正解或逆解控制机械手

▶▶▶ 机械手指令说明

不同的机械手模型参数是有差异的,可通过“正运动机械手指令手册说明”(文章末尾扫码查看),查阅对应的机械手模型参数进行确认选择。

本文以Delta的FRAME12模型(有末端旋转轴,使用关节轴操作旋转轴)为例介绍,机械手正解与逆解的指令说明如下。

wKgaomY8Nu-AOsg6AAG-MbpmBBw537.png

1、CONNREFRAME -- 建立正解连接

指令描述:

将虚拟轴的坐标与关节轴的坐标关联,关节轴运动后,虚拟轴自动走到相应的位置。

指令语法:

CONNREFRAME(frame,tablenum,Axis_J1,Axis_J2,Axis_J3,Axis_J4)

参数说明:

frame:坐标系类型。参考【正运动机械手指令手册说明】,

frame是12,代表这款机械手模型是4轴Delta且

关节轴操作末端旋转轴。Tablenum:存储机械手结构参数的TABLE起始位置,依次存储对应模型的机械手结构参数。Axis_J1:第1个关节轴轴号Axis_J2:第2个关节轴轴号Axis_J3:第3个关节轴轴号Axis_J4:第4个关节轴轴号

2、CONNFRAME -- 建立逆解连接

指令描述:

将当前关节坐标系的目标位置与虚拟坐标系的位置关联;关节坐标系的运动最大速度受SPEED参数的限制;当关节轴告警等出错时,此运动会被CANCEL。

指令语法:

CONNFRAME(frame,tablenum,Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)

参数说明:

frame:坐标系类型。参考【正运动机械手指令手册说明】,

frame是12,代表这款机械手模型是4轴Delta且

关节轴操作末端旋转轴。Tablenum:存储机械手结构参数的TABLE起始位置,依次存储对应模型的机械手结构参数。Axis_Vx:第1个虚拟轴轴号Axis_Vy:第2个虚拟轴轴号Axis_Vz:第3个虚拟轴轴号Axis_J4:第4个关节轴轴号

▶▶▶ Delta机械手模式建立

1、正解建立

以Delta机械手的Frame12模型为例。

先将机械手结构参数从某个Table起始编号依次存储到Table数组中,然后选择对应模型的轴列表,使用CONNREFRAME指令建立正解模式。

指令说明可通过Rtsys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。

'将机械手参数从编号TableNum开始依次存储到Table数组中
TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)
'选择轴列表
BASE(Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)
'建立机械手正解
CONNREFRAME(FrameType,TableNum,Axis_J1,Axis_J2,Axis_J3,Axis_J4)

若机械手正解建立成功,虚拟轴MTYPE(当前运动类型)将显示为34,此时只能操作关节轴在关节坐标系中调整机械手姿态,手动运动可通过RTSys软件菜单栏的【工具】-【手动运动】,待【手动运动】界面弹出之后选择关节轴轴编号(本文关节轴以轴0,轴1,轴2,末端旋转轴轴3为例),然后根据实际需求选择点动或者寸动。

虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

wKgaomY8NvSARbjoAAGV7DPBfTo197.pngwKgZomY8NviAZ5e1AADuRGJfS6g825.png

2、逆解建立

以Delta机械手的Frame12模型为例。先将机械手结构参数从某个Table起始编号依次存储到Table数组中,然后选择对应模型的轴列表,使用CONNFRAME指令建立正解模式。指令说明可通过Rtsys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。

'将机械手参数从编号TableNum开始依次存储到Table数组中
TABLE(TableNum,Top_R,Under_R,Top_L,Under_L,OneCirPules_J1,OneCirPules_J2,OneCirPules_J3,Offset_X,Offset_Y,Offset_Z,OneCirPules_J4)
'选择轴列表
BASE(Axis_J1,Axis_J2,Axis_J3,Axis_J4) 
'建立机械手逆解
CONNFRAME(FrameType,TableNum,Axis_Vx,Axis_Vy,Axis_Vz,Axis_J4)

若机械手逆解建立成功,关节轴MTYPE(当前运动类型)将显示为33,【手动运动】界面操作虚拟轴方法同上。此时加工工艺指令只能操作虚拟轴,事先编辑好运动的轨迹在直角坐标系中运动(本文虚拟轴以轴10,轴11,轴12为例),关节轴会自动计算在关节坐标系中如何联合运动。

wKgZomY8Nv2ACtf0AAGR8FDhZYY117.pngwKgaomY8NwCAJV0QAAD2QuTxvzA072.png

▶▶▶ 程序编辑

RTSys软件支持Basic,HMI与PLC混合编程,本例程采用Basic结合HMI界面混合编程进行演示。可通过RTSys软件菜单栏的【HMI】-【工具箱】,选择控件进行拖拉摆放,设计交互界面。

wKgZomY8NwSASwjkAAFjcuAWqwY726.png

在本次例程中均先在bas文件中定义全局的SUB子函数,编辑子函数的功能(工程源码见文章末尾)需求然后使用控件绑定,控件的动作均选择调用函数。操作流程如下图。

wKgaomY8NweAVYdUAACwMWB70Eg277.png

▶▶▶ 应用例程

1、需求描述

Delta机械手逆解建立时以零点位置为参考,确定一个安全高度。基本动作为机械手上升到安全高度去固定的取料点上方,然后下降打开Op口通过真空吸的方式去取料,延时抬升到安全高度然后运动到固定的2*2码盘位置,下降到码盘位置关闭Op进行放料,然后抬升依次循环直到将码盘放满后停止。

2、加工代码

'启动标志位置1
StartFlag = 1
LOCAL SafeHigh,i
'安全高度
SafeHigh = DPOS(Axis_VList(2))-25
'行,列
LOCAL Row,Col
'固定的取料点位置
LOCAL SrcBorrow_X,SrcBorrow_Y,SrcBorrow_Z
SrcBorrow_X = 5
SrcBorrow_Y = 5
SrcBorrow_Z = SafeHigh-20
'选择虚拟轴
BASE(Axis_VList(0),Axis_VList(1),Axis_VList(2))
'设置加工的速度、加速度、减速度
SPEED = SpeedVList(0)
ACCEL = AccelV(0)
DECEL = DecelV(0)
'打开连续插补
MERGE = ON
'每次启动临时总数清零
TmpSum = 0
'运动到零点位置参考的安全高度
MOVEABS(0,0,SafeHigh)
FOR Col=1 TO 2
   FOR Row=1 TO 2
       '运动到取料点上方
       MOVEABS(SrcBorrow_X,SrcBorrow_Y,SafeHigh)
       '下降到取料点
       MOVEABS(SrcBorrow_X,SrcBorrow_Y,SrcBorrow_Z)
       '打开Op口吸附取料
       MOVE_OP(8,ON)
       '延时
       MOVE_DELAY(300)
       '上升到安全高度
       MOVEABS(SrcBorrow_X,SrcBorrow_Y,SafeHigh)
       '运动到码盘放料点上方位置
       MOVEABS(-5*Row,5*Col,SafeHigh)
       '下降到码盘放料点位置
       MOVEABS(-5*Row,5*Col,SrcBorrow_Z)
       '关闭Op口进行放料
       MOVE_OP(8,OFF)
       '延时 
       MOVE_DELAY(300)
       '上升到安全高度
       MOVEABS(-5*Row,5*Col,SafeHigh)
       '临时总数自增
       TmpSum = TmpSum+1
   NEXT
NEXT
'等待所有轴停止
WAIT UNTIL IDLE(Axis_VList(0)) AND IDLE(Axis_VList(1)) AND IDLE(Axis_VList(2))
DELAY(10)
RAPIDSTOP(2)
DELAY(10)
'启动标志位置0
StartFlag = 0

▶▶▶ 调试分析

1、将程序下载到控制器运行,先后点击RTSys软件菜单栏的【工具】-【插件】-【XPLC SCREEN】。

wKgZomY8Nw2ADtcnAADDA2t9TCQ365.png

2、待交互界面弹出后,在主界面机械手模式选择”机械手正解”。

wKgaomY8NxCAUyGwAAEKfImDSFM541.png

3、建立正解连接之后,打开正运动机械手仿真软件ZRobotView,点击“连接”弹出”连接控制器”窗口,然后选择连接控制器的方式(仿真工具支持串口和网口连接)。这里以网口连接为例,在IP栏选择控制器的IP然后进行连接。

wKgZomY8NxOAVs0EAACBbIz_M3I259.png

4、连接成功后,仿真工具上方会显示当前机械手类别,程序中存入Table中的机械手结构参数仿真工具也可以查看,且构建出相应参数的机械手模型。

wKgZomY8NxaAeIQ8AADGdxGCclA259.png

5、切换到RTSys编程软件,先后点击菜单栏的【常用】-【示波器】。待示波器窗口弹出后选择XYZ模式,从三维空间观察动作演示效果。数据源选择DPOS(规划位置),数据源编号选择虚拟轴轴号。示波器参数确认后,先后点击【停止】-【启动】-【手动触发】。

wKgaomY8NxmAfaJTAAD9GacNsjE276.png

6、切换到交互界面,在主界面机械手模式选择”机械手逆解”,建立逆解模式。然后点击“启动”,进行需求工艺的加工流程。

wKgZomY8Nx2ANpHWAAEUMAB752o231.png

7、切换到RTSys软件的示波器界面观察加工效果,Delta机械手每次来回取放料过程,始终保持在安全高度下进行升降,这样确保在实际加工的平稳性。

wKgaomY8NyGAG2rFAACXBOPHFzk063.png

本次,正运动技术EtherCAT运动控制器Delta机械手应用,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 运动控制器
    +关注

    关注

    2

    文章

    393

    浏览量

    24640
  • 机械手
    +关注

    关注

    7

    文章

    333

    浏览量

    29605
  • ethercat
    +关注

    关注

    18

    文章

    649

    浏览量

    38575
  • 正运动技术
    +关注

    关注

    0

    文章

    96

    浏览量

    307
收藏 人收藏

    评论

    相关推荐

    机械手 OEM 的应用

    方案,并通过精确的动作控制,帮助患者进行肢体的运动训练,促进患者的康复。 科研教育领域 : 科学研究 :在科学研究中,机械手 OEM 可以用于实验的操作和数据的采集。例如,在化学实验中,机械
    发表于 09-18 10:31

    EtherCAT运动控制器Delta机械手应用# 正运动技术# 运动控制系统# 机械手

    控制系统
    正运动技术
    发布于 :2024年05月24日 09:13:35

    使用桁架式机械手有哪些优势?

    `力泰科技资讯:桁架式自动上下料机械手能够实现自动控制的、可重复编程的、多功能的、多自由度的、运动自由度间成空间直角关系、多用途的操作机。它能够搬运物体、操作工具,以完成各种作业。桁架机器人的出现
    发表于 11-25 15:24

    PLC控制机械手设计

    PLC机械手控制的实现二、设计要求:1. 阐述机械手的工作原理2. 如何实现PLC对机械手控制3. 
    发表于 12-13 14:15 371次下载

    智能控制器在机器人机械手位置控制中的应用

    智能控制器在机器人机械手位置控制中的应用 以JJR-1型教学机器人为基础描述了智能控制器机械手定位
    发表于 04-02 10:51 31次下载

    智能控制器在机器人机械手位置控制中的应用

    摘要:以JJR-1型教学机器人为基础描述了智能控制器机械手定位控制中的应用。对机器人机械手的肴关节进行了测试与折算,给出了其数学模型。在此基础上提出了采用模糊
    发表于 08-25 11:15 61次下载

    基于PLC的机械手控制设计(毕业设计)

    基于PLC的机械手控制设计(毕业设计)基于PLC的机械手控制设计(毕业设计)
    发表于 11-13 11:21 0次下载

    研华SCARA机械手案例分享

    相对传统的机器人专用控制器控制方式,基于PC的运动控制控制具有成本低、开发自由度高、与行业应用更加匹配等优势。领略数控具备写
    发表于 09-30 15:59 22次下载
    研华SCARA<b class='flag-5'>机械手</b>案例分享

    串联机械手空间轨迹运动控制方法研究

    以六自由度串联机械手为研究对象,基于自主研发的以DSP+FPGA为核心的运动控制器,提出了一种机械手连续轨迹控制的方法。首先采用D-H坐标建
    发表于 02-01 15:15 2次下载
    串联<b class='flag-5'>机械手</b>空间轨迹<b class='flag-5'>运动</b><b class='flag-5'>控制</b>方法研究

    机械手运动控制系统设计

    基于S7200PLC村机械于的运动进行一系列控制,这些运动包括手臂上下、左右直线运动,手腕旋转运动
    发表于 04-30 10:19 9011次阅读
    <b class='flag-5'>机械手</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b>系统设计

    32位微控制器机械手大战人类

    观看采用Flexis AC 32位微控制器机械手如何在曲棍球游戏中战胜人类对手
    的头像 发表于 06-19 14:31 3079次阅读

    ​ZMC运动控制器SCARA机械手应用快速入门

    ZMC运动控制器SCARA机械手应用快速入门
    的头像 发表于 09-23 11:30 2370次阅读
    ​ZMC<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>SCARA<b class='flag-5'>机械手</b>应用快速入门

    坐标机械手配件有哪些?

    直线模组是一种常见的机械传动装置,广泛应用于机械手等自动化设备中,在机械手中的主要作用是实现机械手运动
    的头像 发表于 12-07 17:38 852次阅读
    坐标<b class='flag-5'>机械手</b>配件有哪些?

    EtherCAT运动控制器在SCARA和码垛机械手中的应用

    以XPLC104HR控制器为例,介绍正运动SCARA和码垛机械手的应用。
    的头像 发表于 08-28 10:10 252次阅读
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>运动</b><b class='flag-5'>控制器</b>在SCARA和码垛<b class='flag-5'>机械手</b>中的应用

    机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用

    机器视觉运动控制一体机在DELTA并联机械手视觉上下料的应用
    的头像 发表于 10-24 09:02 228次阅读
    机器视觉<b class='flag-5'>运动</b><b class='flag-5'>控制</b>一体机在<b class='flag-5'>DELTA</b>并联<b class='flag-5'>机械手</b>视觉上下料应用