ZMC406硬件介绍
ZMC406是正运动推出的一款多轴高性能EtherCAT总线运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。
ZMC406支持6轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。
ZMC406支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、Matlab、Qt、Linux、VB.Net、Python等接口。
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机械手的应用。
▶▶▶ 机械手相关概念
1、关节轴与虚拟轴
(1)关节轴:是指实际机械结构中的旋转关节,在程序中一般显示旋转角度(某些结构也是平移轴)。由于电机与旋转关节会存在减速比,所以设置脉冲当量UNITS(电机走1mm或者1°需要的脉冲数)时要按照实际关节旋转一圈来设置,同时TABLE中填写结构参数时也要按照旋转关节中心计算,而不是按照电机轴中心计算。
(2)虚拟轴:不是实际存在的,抽象为世界坐标系的6个自由度,依次为X、Y、Z、RX、RY、RZ。可以理解为直角坐标系的三个直线轴和三个旋转轴,用来确定机械手末端工作点的加工轨迹与坐标。
2、正解运动与逆解运动
(1)正解运动:通过操作关节坐标,再根据机械结构参数可以计算出末端位置在直角坐标系的空间位置,这个过程称为正解运动。此时操作的是实际关节轴,虚拟轴自动计算坐标。此时只能操作关节轴运动,正解模式一般用于手动调整关节位置或上电点位回零。
(2)逆解运动:给定一个直角坐标系中的空间位置,反推出各关节轴坐标,这个过程称为逆解运动。此时操作的是虚拟轴,实际关节轴自动解算坐标并运动。控制器使用CONNFRAME指令建立逆解模式,此指令作用在关节轴上,此时只能操作虚拟轴,对虚拟轴发送运动指令,可以在笛卡尔坐标系中做直线,圆弧,空间圆弧等运动,关节轴在CONNFRAME的作用下会自动运动到逆解后的位置。
▶▶▶ 机械手使用操作步骤
1、确认电机转向是否正确。
3个关节轴向下旋转时为正向。末端旋转轴逆时针旋转为正向(俯视)。连接上机械手仿真工具,通过Rtsys软件菜单栏的【工具】-【手动运动】,以较小的速度分别操作3个关节轴移动,观察各个关节轴下杆移动过程中是否趋向末端工作点,若是则说明电机转向是正确的。
2、TABLE寄存器(控制器上电后自动生成)依次存入机械手结构参数。
建立机械手连接时,需要将机械结构参数按照如下次序依次填写到TABLE数组中。Delta机械手FRAME12模型机械结构参数说明如下。
‘从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)