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

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

3天内不再提示

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

正运动技术 2021-09-23 11:30 次阅读

视频教程:《视频教程:ZMC运动控制器SCARA机械手应用快速入门》

今天我们来学习一下,ZMC运动控制器SCARA机械手应用快速入门。

运动控制

控制器接线参考

01 概述

SCARA(Selective Compliance Assembly Robot Arm,中文译名:选择顺应性装配机器手臂)是一种圆柱坐标型的特殊类型的工业机器人。SCARA机器人可以被制造成各种大小,最常见的工作半径在100毫米至1000毫米之间,此类的SCARA机器人的净载重量在1千克至200千克之间。SCARA系统在x,y方向上具有顺从性,而在Z轴方向具有良好的刚度,还具有串接的两杆结构的特点,适用于搬取零件和装配工作。故SCARA系统大量用于装配印刷电路板、电子零部件、集成电路板,此外,塑料、汽车、电子产品、药品和食品等工业领域也有广泛的应用。

ZMC运动控制器具有6轴、12轴、20轴、30轴、32轴、60轴、64轴等不同电机轴数的产品,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置、机械手指令等。本文使用ZMC运动控制器,介绍机械手指令CONNFRAME,在SCARA机械手的应用。

ZMC运动控制器采用简单易懂的BASIC程序来二次开发机械手程序,支持多文件多任务运行,支持自定义指令,同时提供了强大的ZDevelop开发环境,支持PC仿真运行和在线跟踪调试,兼容VC的操作习惯,使得复杂的运动控制变得简单明了。运动控制器的机械手程序也可以使用常见的PC上位机开发软件,例如VC、VB、VS、C++C#等,根据不同的开发环境,在正运动官网下载PC函数库编程资料,找到对应的dll连接库以及相关文件,编程中使用 ZAux_ Direct_Connframe 和 ZAux_ Direct_Connreframe 指令建立机械手连接。

CONNFRAME指令使得在SCARA机械手运动的实现,在编程上简易、方便;在运动过程中电机运动平滑、精准;客户对ZMC产品性能及品质得到了一致认可,正运动技术也会对不同客户的不同需求定制特殊的指令及控制器型号。

02 系统架构

01 SCARA 机械手

SCARA机械手支持2-4轴,大关节轴+小关节轴 [+Z 轴] [+末端旋转轴]。

运动控制

本系统应用于标准4轴SCARA机械手,2个关节轴X,Y,一个上下Z轴,及一个末端旋转轴R。控制器需要支持机械手功能,采用脱机的方式将编辑好的程序下载到控制器上(也可以用PC监视或者实时发送指令操作),可利用触摸屏示教的方式编辑想要运动的轨迹。

02 ZMC 运动控制器

ZMC406总线控制器是正运动技术推出的新一代网络6轴运动控制器(可通过扩展模块来扩展轴,支持多达32轴),自带6个脉冲轴接口

运动控制

支持RS232,RS485,以太网,U盘,CAN, EtherCAT通讯接口。EtherCAT高达500us的刷新周期。通过EtherCAT总线,最多可扩展4096个隔离输入或输出口。输出口输出电流可达 300mA,可直接驱动部分电磁阀。每轴输出脉冲频率可达10MHz。采用优化的网络通讯协议可以实现实时的运动控制。支持编码器位置测量,可以配置为手轮输入模式。单台电脑支持多达256个ZMC控制器同时连接。

此运动控制器与PCI运动控制卡相比

具有如下优点:

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

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

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

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

ZMC控制器通过 ZDevelop开发环境来调试,ZDevelop 是一个很方便的编程、编译和调试环境。ZDevelop 可以通过串口、485、USB 或以太网与控制器建立连接。

应用程序可以使用 VC,VB,VS,C++Builder,C#等软件来开发。调试时可以把 ZDevelop 软件同时连接到控制器,程序运行时需要动态库 zmotion.dll。

03 实现方案

方案采用正运动ZMC406型号控制器,实现了SCARA机械手精准、平滑的运动。

在支持机械手功能的控制平台上,通过指令建立机械手实际关节轴与虚拟轴的连接,给虚拟轴发送运动控制指令,通过机械手算法自动计算关节轴的运动路径,从而控制关节轴运动。

将机械手上的关节轴依次接到控制器的脉冲轴接口上。

01 机械手相关概念

1)关节轴与虚拟轴

关节轴

关节轴是指实际机械结构中的旋转关节,在程序中一般显示旋转角度(某些结构也是平移轴)。

由于电机与旋转关节会存在减速比,所以设置UNITS时要按照实际关节旋转一圈来设置,同时TABLE中填写结构参数时也要按照旋转关节中心计算,而不是按照电机轴中心计算。

虚拟轴

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

2)正解运动与逆解运动

正解

通过操作关节坐标,再根据机械结构参数可以计算出末端位置在直角坐标系的空间位置,这个过程称为正解运动,此时操作的是实际关节轴,虚拟轴自动计算坐标。

控制器使用CONNREFRAME指令建立正解模式,此指令作用在虚拟轴上,此时只能操作关节轴,关节轴也可以做各种运动,但实际运动的轨迹不是直线圆弧,正解模式一般用于手动调整关节位置或上电点位回零。

逆解

给定一个直角坐标系中的空间位置,反推出各关节轴坐标,这个过程称为逆解运动,此时操作的是虚拟轴,实际关节轴自动解算坐标并运动。

控制器使用CONNFRAME指令建立逆解模式,此指令作用在关节轴上,此时只能操作虚拟轴,对虚拟轴发送运动指令,可以在笛卡尔坐标系中做直线,圆弧,空间圆弧等运动,关节轴在CONNFRAME的作用下会自动运动到逆解后的位置。

02 机械手指令

实现指令:CONNFRAME--建立逆解连接

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

语法:CONNFRAME(frame,tablenum,viraxis0,viraxis1)

frame:坐标系类型,1-scara,(如需针对特殊的机械手类型定制,请联系厂家)。

tablenum:存储转换参数的TABLE位置,frame=1时,以此存放:第一个关节轴长度,第二个关节轴长度,第一个关节轴一圈脉冲数,第二个关节轴一圈脉冲数。

viraxis0:虚拟坐标系第一个轴

viraxis1:虚拟坐标系第二个轴

实现指令:CONNREFRAME--建立正解连接

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

语法:CONNREFRAME(frame,tablenum,viraxis0,viraxis1)

frame: 坐标系类型, 1- scara,(如需针对特殊的机械手类型定制,请联系厂家)。

tablenum: 存储转换参数的TABLE位置,frame=1时,以此存放:第一个关节轴长度,第二个关节轴长度,第一个关节轴一圈脉冲数,第二个关节轴一圈脉冲数。

axis0:关节坐标系第一个轴

axis1:关节坐标系第二个轴

FRAME描述:Frame = 1,SCARA,如下图,旋转轴为关节轴,末端对应位置为虚拟的位置。

运动控制

03 机械手使用操作步骤

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

电机方向及角度范围定义,各关节电机正向如下图蓝色箭头所示。

运动控制

2)确认机械手各关节轴对应到控制器指令参数的轴次序。

选择各个关节轴轴号和对应的虚拟轴轴号。

运动控制

3) TABLE中设置好机械结构相关参数。

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

运动控制

4)设置关节轴参数及虚拟轴参数

各轴的轴类型和脉冲当量要设置正确。机械手的所有虚拟轴和关节轴的长度单位要求统一,一般都是 mm单位。

虚拟轴的UNITS跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的一个 mm的脉冲数一般建议设置为1000,表示精度为小数点后3位。

运动控制

5)移动各关节轴到规定的零点位置。

机械手算法建立时,需要有个零点位置作为参考,同时需要确定好电机转向。

SCARA的零点位置为两个关节轴的零点时成一条直线,此时指向虚拟 X 轴的正向。

坐标方向:当关节轴为0零点的位置时,虚拟轴零点的坐标为(L1+L2,0),上下伸缩轴零点位置无特殊要求。

建立逆解连接之后虚拟轴的DPOS坐标自动校正为(L1+L2,0)。

运动控制

6)使用CONNREFARME指令建立正解模式。

正解模式:

BASE(Viraxis_x, Viraxis_y, [Viraxis_v] [,Viraxis_z])

CONNREFRAME(1,tablenum, Axis_a,Axis_b[, Axis_c][,Axis_d])

WAIT LOADED

建立成功后,虚拟轴MTYPE将显示为34,IDLE显示为0。此时只能操作关节轴在关节坐标系中运动,虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

7)操作关节轴调整机械手姿态,确认在运动中不会发生干涉(某些结构只有一个姿态)。

机械手姿态在数学上来说,是同一组虚拟轴数值有多组关节轴的解。即机械手在笛卡尔坐标系中运动到某一坐标点A,可以有多种运动轨迹,这些运动轨迹就对应着不同姿态。

SCARA机械手有两个姿态,左手姿态和右手姿态,只可在正解模式下移动关节轴选择。

当前姿态通过指令FRAME_STATUS指令查询。

在逆解模式下运行时,由于机械结构的问题,会产生无法运动到某一位置或刚体干涉的问题,此时就需要进行姿态的调整。

机械手姿态只能在正解模式下操作关节轴进行调整。

8)使用 CONNFARME 指令切换为逆解模式。

逆解模式:

BASE(Axis_a, Axis_b [,Axis_c] [,Axis_d])

CONNFRAME(1,tablenum, Viraxis_x, Viraxis_y, [Viraxis_v] [,Viraxis_z]) WAIT LOADED

建立成功后,关节轴 MTYPE 将显示为 33,IDLE 显示为 0。此时只能操作虚拟轴在直角坐标系中运动,关节轴会自动计算在关节坐标系中如何联合运动。

9) 选择虚拟轴,发送运动指令使用。

BASE(Viraxis_x, Viraxis_y[,Viraxis_v] [,Viraxis_z])

MOVE(dis_x, dis_y [,dis_v] [,dis_z])

04 应用例程

例如在某自动焊接设备上加工如下图所示的工件,SCARA机械手的2个关节轴L1、L2长均为250,需要焊接的轨迹为跑道型,1为初始零点,此时关节轴坐标为(0,0),虚拟轴坐标为(500,0)。

由零点运动到起始加工点,在运动第2段时需要起焊,关节轴先回到起始位置然后运动到工件上方同时Z轴下降,打开起焊IO,延时50ms(因为焊接的液体打开需要一定时间,否则起始点处会漏焊),然后按轨迹运行。完成跑道焊接后IO关闭,Z轴上升。

运动控制

加工指令代码:

BASE(6,7,8) '启动逆解连接后,使用运动指令控制虚拟轴运行

MOVEABS(300,0,20) '第1段直线,从零点(500,0,0)运动到(300,0,20)

MOVE_OP(0,1) '打开起焊IO

MOVE_DELAY(50) '延时50ms

MOVEABS(300,100,20) '第2段直线,从起始焊接点(300,0,20)运动到(300,100,20)

MOVECIRCABS(200,100,250,100,0) '第3段圆弧,(300,100,20)运动到(200,100,20)

MOVEABS(200,-100,20) '第4段直线,从(200,100,20)运动到(200,-100,20)

MOVECIRCABS(300,-100,250,-100,0) '第5段圆弧,(200,-100,20)运动到(300,-100,20)

MOVEABS(300,0,20) '第6段直线,从(300,-100,20)运动到(300,0,20)

MOVE_OP(0,0) '加工完成,关闭IO

MOVEABS(300,0,50) 'Z轴上升

示波器采样轨迹:

运动控制

SCARA机械手应用例程如下:

'**********电机、机械手参数定义**********

DIM L1 '大臂长度

DIM L2 '小臂长度

DIM L3 'X方向偏移

DIM ZDis '旋转轴一圈,z轴移动距离

L1=250

L2=250

L3=0

ZDis=0

DIM u_m1 '电机1一圈脉冲数

DIM u_m2 '电机2一圈脉冲数

DIM u_mz '电机z一圈脉冲数

DIM u_mv '电机v一圈脉冲数

u_m1=3600

u_m2=3600

u_mz=3600

u_mv=3600

DIM i_1 '关节1传动比

DIM i_2 '关节2传动比

DIM i_z '关节z传动比

DIM i_v '关节v传动比

i_1=2

i_2=2

i_z=2

i_v=2

DIM u_j1 '关节1实际一圈脉冲数

DIM u_j2 '关节2实际一圈脉冲数

DIM u_jz '关节z实际一圈脉冲数

DIM u_jv '关节v实际一圈脉冲数

u_j1=u_m1*i_1

u_j2=u_m2*i_2

u_jz=u_mz*i_z

u_jv=u_mv*i_v

DIM p_z 'z轴螺距

p_z=1.5

'*************关节轴设置*************

BASE(0,1,2,3) '选择关节轴号

ATYPE=1,1,1,1 '轴类型设为脉冲轴

UNITS=u_j1/360,u_j2/360,u_jv/360,u_jz/p_z '把z轴units设成1mm的脉冲数,其余轴设成1°的脉冲数

DPOS=0,0,0,0 '设置关节轴的位置,此处要根据实际情况来修改。

SPEED=100,100,100,100 '速度参数设置

ACCEL=1000,1000,1000,1000

DECEL=1000,1000,1000,1000

CLUTCH_RATE=0,0,0,0 '使用关节轴的速度和加速度限制

'*************虚拟轴设置*************

BASE(6,7,8,9)

ATYPE=0,0,0,0 '设置为虚拟轴

TABLE(0,L1,L2,u_j1,u_j2,u_jv, L3,ZDis) '根据手册说明填写参数

UNITS=1000,1000 ,u_jv/360,1000 '运动精度,要提前设置,中途不能变化

SPEED=200,200,200,200 '速度参数设置

ACCEL=1000,1000,1000,1000

DECEL=1000,1000,1000,1000

SRAMP=100,100,100,100 'S曲线

MERGE=ON '开启连续插补

CORNER_MODE=2 '启动拐角减速

DECEL_ANGLE=15*(PI/180) '开始减速的角度 15度

STOP_ANGLE=45*(PI/180)'降到最低速度的角度45度

'*************建立机械手连接*************

WHILE 1

IF SCAN_EVENT(IN(0))>0 THEN '输入0上升沿触发

'建立正解,操作关节轴调整机械手姿态

BASE(6,7,8,9) '选择虚拟轴号

CONNREFRAME(1,0,0,1,2,3) '第0/1轴作为关节轴,启动正解连接。

WAIT LOADED '等待运动加载

?"正解模式"

ELSEIF SCAN_EVENT(IN(0))<0 THEN '输入0下降沿触发

'建立逆解,操作虚拟轴运行加工程序

BASE(0,1,2,3) '选择关节轴号

CONNFRAME(1,0,6,7,8,9) '第6/7轴作为虚拟的XY轴,启动逆解连接。

WAIT LOADED '等待运动加载,此时会自动调整虚拟轴的位置。

?"逆解模式"

BASE(6,7,8) '启动逆解连接后,使用运动指令控制虚拟轴运行

TRIGGER

MOVEABS(300,0,20) '第1段直线,从零点(500,0,0)运动到(300,0,20)

MOVE_OP(0,1) '打开起焊IO

MOVE_DELAY(50) '延时50ms

MOVEABS(300,100,20) '第2段直线,从起始焊接点(300,0,20)运动到(300,100,20)

MOVECIRCABS(200,100,250,100,0) '第3段圆弧,(300,100,20)运动到(200,100,20)

MOVEABS(200,-100,20) '第4段直线,从(200,100,20)运动到(200,-100,20)

MOVECIRCABS(300,-100,250,-100,0) '第5段圆弧,(200,-100,20)运动到(300,-100,20)

MOVEABS(300,0,20) '第6段直线,从(300,-100,20)运动到(300,0,20)

MOVE_OP(0,0) '加工完成,关闭IO

MOVEABS(300,0,50) 'Z轴上升

ENDIF

WEND

05 机械手仿真软件

将程序下载到控制器运行,建立正解或逆解连接之后,打开正运动机械手仿真软件ZRobotView,点击“连接”弹出下方窗口,选择控制器IP,没有控制器可连接到仿真器查看效果。

运动控制

选择控制器IP之后连接即可显示出如下机械手模型,此时可运行运动指令或手动调试,查看机械手的运行情况。

运动控制

《ZMC运动控制器SCARA机械手应用快速入门》就讲到这里。更多学习视频及图文详解请关注我们的公众号“正运动小助手”。

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

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

    关注

    2

    文章

    394

    浏览量

    24648
  • 运动控制
    +关注

    关注

    4

    文章

    564

    浏览量

    32822
  • SCARA
    +关注

    关注

    0

    文章

    50

    浏览量

    13323
  • 正运动技术
    +关注

    关注

    0

    文章

    97

    浏览量

    319
收藏 人收藏

    评论

    相关推荐

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

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

    机械手 OEM 的应用

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

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

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

    VPLC7机器视觉运动控制一体机在三轴SCARA机械手螺丝锁付的应用

    三轴SCARA机械手螺丝锁付解决方案
    的头像 发表于 08-09 11:18 226次阅读
    VPLC7机器视觉<b class='flag-5'>运动</b><b class='flag-5'>控制</b>一体机在三轴<b class='flag-5'>SCARA</b><b class='flag-5'>机械手</b>螺丝锁付的应用

    机器视觉控制机械手的具体过程

    机器视觉控制机械手是一种将机器视觉技术与机械手控制技术相结合的自动化技术。它通过机器视觉系统获取目标物体的图像信息,然后利用图像处理技术对图像进行分析和处理,从而实现对
    的头像 发表于 07-04 10:40 775次阅读

    PLC在机械手控制系统中的具体应用

    随着工业自动化技术的飞速发展,机械手作为现代制造业中不可或缺的重要设备,其智能化、自动化水平不断提高。在机械手控制系统中,PLC(可编程逻辑控制器)因其可靠性高、编程简单、功能强大等优
    的头像 发表于 06-17 10:46 1276次阅读

    EtherCAT运动控制器在UVW对位平台中的应用

    ZMC406运动控制器为例,介绍正运动UVW三种对位平台机械手模型与算法的应用
    的头像 发表于 05-27 11:29 895次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>在UVW对位平台中的应用

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

    以正运动ZMC406R运动控制器为例,讲解Delta机械手运动
    的头像 发表于 05-09 10:47 1531次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>Delta<b class='flag-5'>机械手</b>应用

    多轴高性能EtherCAT总线运动控制器ZMC408CE硬件介绍

    ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,
    发表于 04-28 12:40 668次阅读
    多轴高性能EtherCAT总线<b class='flag-5'>运动</b><b class='flag-5'>控制器</b><b class='flag-5'>ZMC</b>408CE硬件介绍

    EtherCAT运动控制器的MATLAB开发

    以正运动ZMC408CE运动控制器为例,讲解MATLAB进行运动控制应用开发。
    的头像 发表于 04-17 10:54 522次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>的MATLAB开发

    EtherCAT运动控制器在LabVIEW中的运动控制与实时数据采集

    本文以正运动技术EtherCAT运动控制器ZMC408CE为例,介绍如何使用LabVIEW对控制器参数进行获取内容并生成示波器波形。 01
    的头像 发表于 04-08 11:45 856次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>在LabVIEW中的<b class='flag-5'>运动</b><b class='flag-5'>控制</b>与实时数据采集

    EtherCAT运动控制器在ROS上的应用开发案例(上)

    本文以正运动技术EtherCAT运动控制器ZMC432和ZMC408CE为例,介绍正运动技术
    的头像 发表于 03-17 11:06 1228次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>在ROS上的应用开发案例(上)

    EtherCAT运动控制器在ROS上的应用(上)

    本文以正运动技术EtherCAT运动控制器ZMC432和ZMC408CE为例,介绍正运动技术
    的头像 发表于 03-06 11:47 1139次阅读
    EtherCAT<b class='flag-5'>运动</b><b class='flag-5'>控制器</b>在ROS上的应用(上)

    ZR机械手:技术升级,推动产业变革

    ZR机械手:技术升级,推动产业变革 随着科技的飞速发展,自动化设备在各个产业领域中的应用越来越广泛。作为自动化设备的重要组成部分,机械手在提高生产效率、保证产品质量、降低劳动成本等方面发挥
    的头像 发表于 01-11 09:21 525次阅读

    坐标机械手配件有哪些?

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