《ZMC运动控制器SCARA机械手应用快速入门.docx》由会员分享,可在线阅读,更多相关《ZMC运动控制器SCARA机械手应用快速入门.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ZMC运动控制器SCARA机械手应用快速入门ZMC运动控制器SCARA机械手应用快速入门 正运动技术 导语: 视频教程: 今天我们来学习一下,ZMC运动控制器SCARA机械手应用快速入门。 控制器接线参考 01 概述 SCARA(Selective Compliance Assembly Robot Arm,中文译名:选择顺应性装配机器手臂)是一种圆柱坐标型的特殊类型的工业机器人。SCARA机器人可以被制造成各种大小,最常见的工作半径在100毫米至1000毫米之间,此类的SCARA机器人的净载重量在1千克至200千克之间。SCARA系统在x,y方向上具有顺从性,而在Z轴方向具有良好的刚度,还具
2、有串接的两杆构造的特点,适用于搬取零件和装配工作。故SCARA系统大量用于装配印刷电路板、电子零部件、集成电路板,此外,塑料、汽车、电子产品、药品和食品等工业领域也有广泛的应用。 ZMC运动控制器具有6轴、12轴、20轴、30轴、32轴、60轴、64轴等不同电机轴数的产品,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置、机械手指令等。本文使用ZMC运动控制器,介绍机械手指令CONNFRAME,在SCARA机械手的应用。 ZMC运动控制器采用简单易懂的BASIC程序来二次开发机械手程序,支持多文件多任务运行,支持自定义指令,同时提供了强大的ZDevelo
3、p开发环境,支持PC仿真运行和在线跟踪调试,兼容VC的操作习惯,使得复杂的运动控制变得简单明了。运动控制器的机械手程序可以以使用常见的PC上位机开发软件,例如VC、VB、VS、C+、C#等,根据不同的开发环境,在正运动官网下载PC函数库编程资料,找到对应的dll连接库和相关文件,编程中使用 ZAux_ Direct_Connframe 和 ZAux_ Direct_Connreframe 指令建立机械手连接。 CONNFRAME指令使得在SCARA机械手运动的实现,在编程上简易、方便;在运动经过中电机运动平滑、精准;客户对ZMC产品性能及品质得到了一致认可,正运动技术也会对不同客户的不同需求定
4、制特殊的指令及控制器型号。 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, Et
5、herCAT通讯接口。EtherCAT高达500us的刷新周期。通过EtherCAT总线,最多可扩展4096个隔离输入或者输出口。输出口输出电流可达 300mA,可直接驱动局部电磁阀。每轴输出脉冲频率可达10MHz。采用优化的网络通讯协议可以实现实时的运动控制。支持编码器位置测量,可以配置为手轮输入形式。单台电脑支持多达256个ZMC控制器同时连接。 此运动控制器与PCI运动控制卡相比 具有如下优点: 1 不使用插槽,稳定性更好; 2 可以选用MINI电脑或者ARM工控电脑,降低整体本钱; 3 控制器直接做接线板使用,节省空间; 4 控制器上可以并行运行程序,与PC只需要简单交互,降低PC软件
6、的复杂性等优势。 ZMC控制器通过 ZDevelop开发环境来调试,ZDevelop 是一个很方便的编程、编译和调试环境。ZDevelop 可以通过串口、485、USB 或者以太网与控制器建立连接。 应用程序可以使用 VC,VB,VS,C+Builder,C#等软件来开发。调试时可以把 ZDevelop 软件同时连接到控制器,程序运行时需要动态库 zmotion.dll。 03 实现方案 方案采用正运动ZMC406型号控制器,实现了SCARA机械手精准、平滑的运动。 在支持机械手功能的控制平台上,通过指令建立机械手实际关节轴与虚拟轴的连接,给虚拟轴发送运动控制指令,通过机械手算法自动计算关节轴
7、的运动途径,进而控制关节轴运动。 将机械手上的关节轴依次接到控制器的脉冲轴接口上。 01 机械手相关概念 1)关节轴与虚拟轴 关节轴 关节轴是指实际机械构造中的旋转关节,在程序中一般显示旋转角度(某些构造也是平移轴)。 由于电机与旋转关节会存在减速比,所以设置UNITS时要按照实际关节旋转一圈来设置,同时TABLE中填写构造参数时也要按照旋转关节中心计算,而不是按照电机轴中心计算。 虚拟轴 虚拟轴不是实际存在的,抽象为世界坐标系的6个自由度,依次为X、Y、Z、RX、RY、RZ。可以理解为直角坐标系的三个直线轴和三个旋转轴,用来确定机械手末端工作点的加工轨迹与坐标。 2)正解运动与逆解运动 正解
8、 通过操作关节坐标,再根据机械构造参数可以计算出末端位置在直角坐标系的空间位置,这个经过称为正解运动,此时操作的是实际关节轴,虚拟轴自动计算坐标。 控制器使用CONNREFRAME指令建立正解形式,此指令作用在虚拟轴上,此时只能操作关节轴,关节轴可以以做各种运动,但实际运动的轨迹不是直线圆弧,正解形式一般用于手动调整关节位置或者上电点位回零。 逆解 给定一个直角坐标系中的空间位置,反推出各关节轴坐标,这个经过称为逆解运动,此时操作的是虚拟轴,实际关节轴自动解算坐标并运动。 控制器使用CONNFRAME指令建立逆解形式,此指令作用在关节轴上,此时只能操作虚拟轴,对虚拟轴发送运动指令,可以在笛卡尔
9、坐标系中做直线,圆弧,空间圆弧等运动,关节轴在CONNFRAME的作用下会自动运动到逆解后的位置。 02 机械手指令 实现指令:CONNFRAME-建立逆解连接 描绘:将当前关节坐标系的目的位置与虚拟坐标系的位置关联;关节坐标系的运动最大速度受SPEED参数的限制;当关节轴告警等出错时,此运动会被CANCEL。 语法:CONNFRAME(frame,tablenum,viraxis0,viraxis1) frame:坐标系类型,1-scara,(如需针对特殊的机械手类型定制,请联络厂家)。 tablenum:存储转换参数的TABLE位置,frame=1时,以此存放:第一个关节轴长度,第二个关节
10、轴长度,第一个关节轴一圈脉冲数,第二个关节轴一圈脉冲数。 viraxis0:虚拟坐标系第一个轴 viraxis1:虚拟坐标系第二个轴 实现指令:CONNREFRAME-建立正解连接 描绘:将虚拟轴的坐标与关节轴的坐标关联,关节轴运动后,虚拟轴自动走到相应的位置。 语法:CONNREFRAME(frame,tablenum,viraxis0,viraxis1) frame: 坐标系类型, 1- scara,(如需针对特殊的机械手类型定制,请联络厂家)。 tablenum: 存储转换参数的TABLE位置,frame=1时,以此存放:第一个关节轴长度,第二个关节轴长度,第一个关节轴一圈脉冲数,第二个
11、关节轴一圈脉冲数。 axis0:关节坐标系第一个轴 axis1:关节坐标系第二个轴 FRAME描绘:Frame = 1,SCARA,如下列图,旋转轴为关节轴,末端对应位置为虚拟的位置。 03 机械手使用操作步骤 1)确认电机转向是否正确。 电机方向及角度范围定义,各关节电机正向如下列图蓝色箭头所示。 2)确认机械手各关节轴对应到控制器指令参数的轴次序。 选择各个关节轴轴号和对应的虚拟轴轴号。 3) TABLE中设置好机械构造相关参数。 建立机械手连接时,需要将机械构造参数按照如下次序依次填写到 TABLE数组中。 4)设置关节轴参数及虚拟轴参数 各轴的轴类型和脉冲当量要设置正确。机械手的所有虚
12、拟轴和关节轴的长度单位要求统一,一般都是 mm单位。 虚拟轴的UNITS跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的一个 mm的脉冲数一般建议设置为1000,表示精度为小数点后3位。 5)挪动各关节轴到规定的零点位置。 机械手算法建立时,需要有个零点位置作为参考,同时需要确定好电机转向。 SCARA的零点位置为两个关节轴的零点时成一条直线,此时指向虚拟 X 轴的正向。 坐标方向:当关节轴为0零点的位置时,虚拟轴零点的坐标为(L1+L2,0),上下伸缩轴零点位置无特殊要求。 建立逆解连接之后虚拟轴的DPOS坐标自动校正为(L1+L2,0)。 6)使用CONNREFARME指令建立正解形式。
13、正解形式: 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,可以有多种运动轨迹,这
14、些运动轨迹就对应着不同姿态。 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) WAI
15、T 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)。 由零点运动到起始加
16、工点,在运动第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)
17、 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轴上升 示波器采样轨迹: S
18、CARA机械手应用例程如下: *电机、机械手参数定义* DIM L1 大臂长度 DIM L2 小臂长度 DIM L3 X方向偏移 DIM ZDi 旋转轴一圈,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
19、 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
20、设置关节轴的位置,此处要根据实际情况来修改。 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,2
21、00 速度参数设置 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(
22、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)运动到(30
23、0,0,20) MOVE_OP(0,1) 翻开起焊IOMOVE_DELAY(50) 延时50msMOVEABS(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) MOVEA
24、BS(300,0,20) 第6段直线,从(300,-100,20)运动到(300,0,20) MOVE_OP(0,0) 加工完成,关闭IOMOVEABS(300,0,50) Z轴上升ENDIF WEND 05 机械手仿真软件 将程序下载到控制器运行,建立正解或者逆解连接之后,翻开正运动机械手仿真软件ZRobotView,点击“连接弹出下方窗口,选择控制器IP,没有控制器可连接到仿真器查看效果。 选择控制器IP之后连接即可显示出如下机械手模型,此时可运行运动指令或者手动调试,查看机械手的运行情况。 机械手仿真软件的效果参见视频尾部演示局部。 ?ZMC运动控制器SCARA机械手应用快速入门?就讲到这里。更多学习视频及图文详解请关注我们的公众号“正运动小助手。 本文由正运动技术原创,欢送大家转载,共同学习,一起进步中国智能制造程度。文章版权归正运动技术所有,如有转载请注明文章来源。 0