视频教程:《视频教程:运动控制器激光振镜控制》
激光振镜控制实际效果展示
激光振镜使用ZMC420SCAN控制器控制,本节视频主要讲ZDevelop编程软件的Basic语言开发使用。
在激光振镜运动控制系统中不但有运动的控制,还有激光的控制。如何有效地处理振镜运动和激光开关的配合是本节要解决的问题,只有有效的协调了激光和运动的关系,才能运动出精确的轨迹。
01 材料准备
一、硬件
1.ZMC420SCAN控制器一台,带振镜轴接口。
2.激光振镜头一个,内含两个振镜轴。
3.电脑一台。
4.带屏蔽层网线两根。
5.24V直流电源一个。
6.伺服驱动器+电机一套
7.接线端子与连接线若干。
二、软件
ZDevelop V3.10版本控制器编程软件。
从正运动技术官网(www.zmotion.com.cn)下载压缩包,解压后直接运行应用程序,无需安装。
02 硬件接线
控制器接口的用途参见下图。
控制器接线参考
A.主电源:将控制器主电源接线端子上的E+24V端子接入24V直流电源正极,将EGND端子接入24V直流电源负极。
B.以太网EtherNET端口接线:使用一根网线将控制器的EtherNET端口与电脑的以太网口相连。
C.激光振镜头与控制器接线:将激光振镜头内的两个振镜轴与控制器的振镜轴接口AXIS 4相连,此时振镜轴轴号分别为4、5,在将激光发生器的各个接口按要求接在控制器输出口上。
D.若打标的工件需要动作,按要求将控制工件运动的轴接入控制器的脉冲轴接口或总线轴接口上。
03 控制产品介绍
一、控制器
ZMC420SCAN是一款20轴的总线型控制器,包含两个振镜轴接口,除了支持脉冲轴,还支持ECAT/RTEX总线连接,支持多达20轴运动控制,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等;采用优化的网络通讯协议可以实现实时的运动控制。
ZMC420SCAN总线控制器支持脉冲轴/总线轴/振镜轴混合插补。
ZMC420SCAN支持10轴脉冲输入与编码器反馈且支持4振镜轴,板载24点输入,12点输出,2AD,2DA,支持手轮接口,所有输出口都支持高速PWM控制。
如下图所示:
二、激光振镜
激光振镜是一种专门用于激光加工领域的特殊的运动器件,激光振镜头内包含的主要元件是激光发生器,两个电机和两个振镜片,它靠两个电机分别控制两个振镜片X和Y反射激光,形成XY平面的运动,这两个电机使用控制器上的振镜轴接口控制。
激光振镜不同于一般的电机,激光振镜具有非常小的惯量,且在运动的过程中负载非常小,只需要带动反射镜片,系统的响应非常快。
04 振镜控制过程
一、振镜轴控制
ZMC420SCAN支持XY2-100振镜协议,支持运动控制与振镜联合插补运动。
上位机通过网口与控制器相连,通过XY2-100振镜协议进行控制振镜轴的运动,通过总线协议或者脉冲模式控制伺服轴运动。
使用ZMC420SCAN控制器的振镜轴接口连接激光振镜头,每个振镜轴接口内包含两路振镜通道信号,分别控制振镜片X、Y的偏转,从而控制了激光打到工件的位置。
激光振镜程序开发除了使用ZDevelop软件,还可以使用其他上位机软件开发,ZMC420SCAN使用一套API函数,支持C、C++、C#、LabVIEW、Python、Delphi等开发语言,支持VC6.0、VB6.0、Qt、.Net等平台,支持Windows、Linux、WinCE、iMac等操作系统。
将控制器支持PWM功能的输出口连接激光振镜的激光发生器,通过指令控制器激光的频率、激光输出,激光打标的运动控制通过运动控制指令来实现。。
ZMC420SCAN的外部通用输出口0-11都具有PWM输出功能,PWM 输出受正常输出功能的控制,只有输出口状态ON的时候PWM才能实际输出,这样可以用来控制激光能量。
使用PWM_DUTY指令设置激光占空比,加工过程中要使激光一直处于开启状态将此参数设为1,设为0表示激光关闭。PWM_FREQ指令设置激光的频率。
激光参数设置完成,在运动中使用MOVE_OP指令操作激光是否输出。
二、激光控制指令
PWM_DUTY——PWM占空比
PWM的占空比用于控制激光能量输出,PWM只能通过设置占空比为0来关闭,不能通过设置PWM频率为0实现,PWM频率一定要在PWM开关之前调整。
占空比指有效电平占整个周期的比例,一个周期中先输出有效电平,再输出无效电平。
语法一:PWM_DUTY(编号,占空比)
语法二:PWM_DUTY(编号)=占空比
选择PWM输出口编号时,一定要选择支持PWM功能的OUT口;占空比范围0-1,当设置0的时候,PWM关闭,设置为1,PWM常开。
PWM_FREQ——PWM频率
PWM频率设置或读取,频率越高,电平跳变越频繁。
语法一:PWM_FREQ(编号, 频率)
语法二:PWM_FREQ(编号)=频率
PWM输出频率有限制,硬件PWM最大为1MHz,软件PWM最大为2KHz。
MOVE_PWM——缓冲PWM
BASE轴运动缓冲操作PWM,指令缓冲执行时不做任何运动,只操作PWM。
PWM只能通过设置占空比为0来关闭,不能通过设置PWM频率为0实现。
语法:MOVE_PWM(编号,占空比[,频率])
编号为支持PWM功能的输出口编号,查看硬件手册确认。
占空比指有效电平占整个周期的比例;范围0-1,设置0时关闭PWM;一个周期中先输出有效电平,再输出无效电平。
频率缺省为1KHz,硬件最大为1MHz,软件最大为2KHz。
运动缓冲中输出并修改PWM例子:
BASE(0)
ATYPE=1
UNITS=100
SPEED=100 '初始速度
ACCEL=1000
DECEL=1000
DPOS=0
MOVE_PWM(0, 0, 1000) '关闭PWM
MOVE(10)
MOVE_PWM(0, 0.111, 2000) '轴0运行到10时,操作PWM0输出
MOVE_DELAY(100)
MOVE_PWM(0, 0.555, 3000) '延时100ms,修改PWM0输出
MOVE(20)
MOVE_PWM(0, 0, 1000) '关闭PWM
END
三、振镜轴接口
ZMC420SCAN带两个振镜轴接口,本地轴号4/5可以ATYPE=21 配置为第1个振镜, 本地轴号 6/7可以ATYPE=21 配置为第2个振镜,可通过AXIS_ADDRESS轴映射指令配置可以更改轴号。
振镜轴接口引脚的定义:
振镜轴的轴类型应该选择为ATYPE=21的模式,设置轴为振镜轴类型,振镜轴类型系统周期与刷新周期都要比普通轴快很多。
ZMC420SCAN的输出0-7的具有精准输出的功能,每个输出的精准输出功能相互独立,同一周期可以同时开启多个精准输出,AXIS_ZSET指令可以用来设置每个MOVE_OP指令是否使用精准输出,MOVEOP_DELAY指令设置精准输出的延时,从而实现激光的PSO控制。
AXIS_ZSET——开启精准输出
对轴启用MOVE_OP精准输出功能,一条指令开启一个轴,作用在轴组的主轴上。精准输出需要开启的OP口支持精准输出功能才能生效。
设置参数:
bit0:1-VP_SPEED缺省使用插补速度,0-VP_SPEED 使用单轴的速度
bit1:1-使用MOVE_OP精确输出功能, 0- MOVE_OP为普通输出
bit4:1-对带编码器功能的轴,使用编码器位置的MOVE_OP精准方式,多个编码器轴插补时,对BASE运动的主轴开启精准输出设置
可读:VALUE=AXIS_ZSET
可写:AXIS_ZSET=VALUE
SYSTEM_ZSET指令也可用于开启精准输出,参数设置与AXIS_ZSET指令相同,SYSTEM_ZSET修改的同时会修改当前BASE轴的AXIS_ZSET,以兼容旧的程序,一般建议使用AXIS_ZSET指令。
SYSTEM_ZSET一旦开启,所有支持精准输出功能的输出口都变为精准模式,使用过程中一般不需要全部开启,部分控制器型号精准输出功能不独立时在一个控制器周期内只能操作一个精准输出口,新版本固件不建议使用此指令,直接采用AXIS_ZSET指令对主轴开启精准输出。
精准输出开启方法:
AXIS_ZSET(0)=19 '使用主轴轴0编码器位置MPOS的MOVE_OP精准方式,需要带编码器
AXIS_ZSET(0)=2 '不带编码器,用目标位置DPOS的MOVE_OP精准方式
MOVE_OP(0,1) '精准生效,选择输出通道0
05 激光振镜
打标例程
例程演示的是使用激光加工25个圆弧,轴在移动到指定位置后,开启OP口,控制激光输出,打标轨迹完成后,关闭OP口,此时激光也无法输出了,轴走到下一个要打标的位置后后再次开启OP口打标。
圆弧打标方向如下图:轨迹可用一条圆弧插补指令实现或多条直线插补指令走小线段,此处轨迹为半径为2.5的逆时针整圆。
示例程序:
'设置振镜轴轴号,并配置轴类型
BASE(4,5)
ATYPE=21,21
'设置基本参数
UNITS=300,300
SPEED=500,500
ACCEL=SPEED20,SPEED20
DECEL=SPEED20,SPEED20
DPOS=0,0
MERGE=ON '打开连续插补
CORNER_MODE=32+8+2 '轨迹前瞻模式
DECEL_ANGLE=15*(PI/180) '模式2参考角度
STOP_ANGLE=90*(PI/180)
FORCE_SPEED=5000 '限速参考速度
FULL_SP_RADIUS=20 '模式8小圆限速参考半径
ZSMOOTH=0.1 '模式32倒角参靠半径
AXIS_ZSET(4)=2 '开启主轴MOVE_OP的精准输出功能
'设置pwm频率,设为2kHz
PWM_FREQ(2)=2000 'OP(2)接激光器上的输出口
'输出延时设置
MOVEOP_DELAY AXIS(4)=0
WHILE 1
IF MODBUS_BIT(0)=ON THEN
MODBUS_BIT(0)=OFF
BASE(4,5) '选择振镜轴
PWM_DUTY(11)=0.5 '能量调节,需要OUT11支持PWWM才能设置,否则选择其他支持PWWM通道
OP(11,ON) '能量开关
OP(1,ON) '先开启后,再操作OP(0)出光
DELAY 100
MOVE_MARK=0,0 '运动标号清零
TRIGGER
'打标进行固定轨迹
FOR I = 0 TO 4 '五行圆弧轨迹
MOVE(0, -15) '每行圆弧间隔15
FOR J = 0 TO 4 '每行五个圆弧
MOVE(-15, 0) '每个圆弧间隔15
MOVE_OP(0,ON) '开启激光
MOVECIRC(0,0,-2.5,0,0) '打标轨迹
WAIT IDLE
MOVE_OP(0,OFF) '关闭激光
NEXT
MOVE(75, 0)
NEXT
MOVE(0, 75)
ENDIF
WEND
END
运动轨迹:
《运动控制器激光振镜控制》就讲到这里。更多学习视频及图文详解请关注我们的公众号“正运动小助手”。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。