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

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

3天内不再提示

运动缓冲在精密激光加工中的应用

正运动技术 来源:正运动技术 作者:正运动技术 2025-03-31 15:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

背景介绍

在全球科技快速发展的浪潮下,半导体行业作为关键的技术领域,始终处于创新与变革的前言。同时对于实时性的要求也在不断提高。

例如激光加工技术在半导体行业的应用中,对于激光切割的速度和精度也作出了更高的要求。而运动缓冲则是一个可以快速提高实时性的有效手段。

本文主要通过使用正运动激光振镜运动控制器ZMC408SCAN-V22介绍运动缓冲相关原理及其在激光加工中的应用。

wKgZO2fqSGGADn4xAAZERQmnNKo163.png

ZMC408SCAN-V22硬件介绍

ZMC408SCAN-V22是正运动技术推出的高性能双振镜运动控制器,集成了2个百兆以太网口,支持EtherCAT、EtherNET、CAN、RS232RS485、24路通用数字输入、20路通用数字输出、2路通用模拟量输出、2路通用模拟量输入、4个本地差分脉冲轴接口、1个MPG手轮编码器接口、2个带反馈振镜接口、1个LASER激光专用接口、1个FIBER激光器接口。开放式系统框图如下所示:

wKgZO2fqSHKAAkf5AAdaR72A6gc206.png

ZMC408SCAN-V22总线控制器支持EtherCAT总线连接,支持最快500μs的刷新周期,支持最多达16轴运动控制,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等;采用优化的网络通讯协议可以实现实时的运动控制。

wKgaombqfM6AMYffAAK1OSOaHPw424.png

ZMC408SCAN-V22通过CAN、EtherCAT总线可以连接各个扩展模块,从而扩展数字量、模拟量或运动轴。可以在Windows,Linux,Mac,Android,Wince各种操作系统下开发,提供vc,c#,vb.net,labview等各种环境的dll库。上位机软件编程参考《ZMotion PC函数库编程手册》。

wKgaomagX2SAGZXJAAFWXI2sSnE360.png

运动缓冲原理

在运行运动指令时,控制器提供了一个缓冲区来保存进入运动缓冲的运动缓冲队列。运动指令存到运动缓冲区,在缓冲区里取出指令再执行,省略了程序扫描的时间,大大提升了实时性,同时也使得程序能正常向下扫描,不会堵塞。

ZMotion运动控制器具有多级的运动缓冲,并且遵循先进先出原则。

当运动缓冲开启的时候,程序在扫描识别到程序任务的第一条运动指令时,将运动指令分配到指定轴的运动缓冲区,电机开始运动,此时程序继续向下扫描到第二条运动指令时,再往运动缓冲区中存,在不断扫描存入运动指令的同时,从运动缓冲区中依次取出运动指令执行。

运动缓冲原理参考下图:

1.MTYPE,NTYPE分别是当前运行的运动指令类型和MTYPE后面的第一条指令类型。

2.任意一段程序的运动指令都可以进入任意轴的运动缓冲区,由轴号指定。

3.每个轴的运动缓冲区都是独立的,互不干扰。

wKgZO2fqSJSAZ0YwAADH9RpcvPo943.png

如下图:当运动缓冲区还有空间,运动指令就会进入运动缓冲区。然后可以通过MOVE_MARK设置标识,表示下一条要调用的运动指令的MARK标号,这个标号会和运动指令一起写入运动缓冲。等指令执行完成后,则退出运动缓冲区,之前的下一条指令变成正在运动指令,循环往复,直到缓冲区没有指令去执行。

wKgZPGfqSJyAYEIzAABc4jYKhdE346.png

缓冲多条运动指令时,为了判断当前运动执行到哪一条,提供MOVE_MARK运动标号和MOVE_CURMARK当前运动标号指令。

MOVE_MARK运动标号每扫描一条运动指令+1;

MOVE_CURMARK指令为当前运动的标号,提示当前运动到第几条运动指令,所有运动完成后为-1。

当前运动完成后会自动执行运动缓冲区内的下一条运动。运动指令全部执行完后,运动缓冲区为空,或者使用CANCEL/RAPIDSTOP指令清空运动缓冲区。

扩展说明

上图中的FORCE_SPEED、ENDMOVE_SPEED和STRATMOVE_SPEED指令属于SP运动指令。SP指令也属于运动指令,使用SP运动指令(如MOVESP、MOVECIRCSP等直接在运动指令后方加上SP)时,SP速度FORCE_SPEED、ENDMOVE_SPEED和STRATMOVE_SPEED会随SP运动指令写入运动缓存区。

SP运动指令与运动指令的区别:

MOVE(100)的速度是SPEED=100,MOVESP(100)的速度是FORCE_SPEED=200。具体见下图:

wKgZO2fqSLiAOu6SAAJ1p5Reuao788.png

运动缓冲在激光加工中的应用

通过上面的介绍,大家对运动缓冲应该有了基本的认识,下面我们来介绍运动缓冲在激光加工中的应用。

在激光处理的应用场景中,运动控制系统不仅需要解决机床的轴向运动问题,而且还必须准确控制激光输出。

例如激光功率,焦点,运动速度,辅助气体,材料吸收等,都需要运动控制系统执行操作和输出。对于激光束的运动轨迹控制,它必须非常准确。保证任何数据参数都不会丢失。否则,工件的处理无法正常完成。工件的边缘将产生毛刺,更严重可能导致工件损坏。

下图为模拟激光加工工艺的轨迹,通过运动缓冲可最大程度保证运动到固定点开光、关光的精确性。

正运动激光控制使能、出光等控制都是通过通用的IO输出指令进行控制。

以开光操作为例:必须等待轴空移到设定的开光位置后才能控制输出口开光,所以必须使用MOVE_OP运动缓冲输出指令而不是使用OP普通输出指令,运动缓冲使得该轴前面其他运动指令执行完毕同时到达开光点才执行开光操作,保证了运动的时序。

wKgZPGfqSMmAUeQ7AADjcsOwjAs028.png

如下图:

开始刻蚀图形时,执行空移到起点位置、开光、直线、调光等操作,这些指令都会依次放入运动缓冲区,按照先进先出的顺序执行。

wKgZPGfqSM6Ac3RSAAFZDT5vsLg733.png

在激光加工应用场景中,采用插补缓冲中控制激光器的方式不仅可以保证运动时序,还可以通过MOVE_PWM或者MOVE_AOUT等运动缓冲指令调节激光器的输出功率控制激光器出光的强弱,从而满足更多的工艺需求和提高加工的效果。

运动缓冲在激光加工应用场景示例

使用该例程需选择带SCAN的控制器型号。(本文以ZMC408SCAN-V22为例)

正运动SCAN系列运动控制器不仅可以对电机进行控制,同时还可以对激光振镜进行运动控制,来完成振镜的定位和插补运动,并且在运动过程中可以实现激光器控制、IO控制、DA控制、PWM控制等工艺操作,同时振镜轴与电机轴之间也可以做插补轨迹运动。(注:带SCAN的控制器才能设置轴类型为21)

1.MOVESCANABS(pos1[,pos2] [,pos3]…) - 振镜直线运动指令。

(1)pos1:第一个轴的运动坐标,绝对位置

(2)pos2:下一个轴的运动坐标,绝对位置

2.MSCANCIRCABS(end1,end2,centre1,centre2,direction) - 振镜圆心画弧指令。

(1)end1:终点第一个轴运动坐标,绝对位置

(2)end2:终点第二个轴运动坐标,绝对位置

(3)centre1:圆心第一个轴运动坐标,绝对位置

(4)centre2:圆心第二个轴运动坐标,绝对位置

(5)direction:0-逆时针,1-顺时针

例程中其他指令介绍见《激光振镜控制编程手册》(资料联系正运动工作人员获取)

RAPIDSTOP(2)'清除缓冲区
WAITIDLE
'1,初始部分,设置振镜轴参数,开启激光使能等等的初始化操作
BASE(4,5) '选择振镜轴,振镜X轴4,振镜Y轴5
ATYPE = 21,21 '设置振镜轴类型
UNITS = 1000,1000 '设置振镜轴脉冲当量
MERGE = ON '开启连续插补
AXIS_ZSET = 3 '开启精准输出
'拐角延时参数设置
CORNER_MODE = 2 '设置拐角模式
DECEL_ANGLE = 60 * (PI/180) '设置起始弧度0-60不处理60-90等比减速
STOP_ANGLE = 90 * (PI/180) '设置停止弧度大于90延时
LASER_SET(1,1) '设置能量并口
MOVE_OP(49,ON) '打开激光器急停信号(根据实际情况设置)
MOVE_OP(47,ON) '打开使能
'2,功率设置(功率设置可以多次穿插在运动中间,实现不同图层的操作)
MOVE_OP(46,OFF) '设置拐角延时(单位 us)
ZSMOOTH = 500
MOVE_AOUT(3,128) '设置功率(50% 0 - 255)
MOVE_PWM(11,0.5,60000) '功率锁存信号(Fiber 激光器处于锁存模式下使用)
MOVE_OP(46,ON)
'3,标刻图形
FORCE_SPEED = 1000 '设置空移速度 1000Units/s
MOVESCANABS(50,0) '空移到起点
MOVE_OP(44,ON) '开光
MOVESCANABS(150,0)
MOVE_PWM(11,0.5,50000) '调光(画圆弧时速度比直线慢,有能量堆积,需要降频)
MSCANCIRCABS(150,-100,150,-50,1)
MOVE_PWM(11,0.5,60000) '调光(圆弧结束恢复原来的频率)
MOVESCANABS(100,-100)
MOVE_OP(44,OFF) '关光
'4,结束部分
MOVESCANABS(0,0) '振镜回零
WAIT IDLE
MOVE_DELAY(0.1,1) '结束延时

wKgZO2fqSPaAH1iFAABspp_jk2U743.png位置及输出波形图

wKgZPGfqSPyADo30AABsO-zoZUg322.png速度及输出波形图 wKgZPGfqSQyAOwSIAAAu8WVRA1M194.pngXY模式图

普通输出与运动缓冲中输出

在编写程序过程中,通常会使用OP指令操作输出口的打开或者关闭,与此同时也提供了MOVE_OP运动缓冲输出指令,这两种指令区别如下:

1.普通输出指令程序扫描到该行指令便执行输出。

2.运动缓冲中输出指令在程序扫描之后,将其存入运动缓冲区,运动缓冲区按先进先出的顺序依次取出指令执行,直到取出该输出指令时才会执行输出。例如在激光应用场景中,如果不使用运动缓冲,当扫描到上一条运动指令,就会出现还没运动完毕,程序就扫描到输出指令,这时就会立刻执行输出,导致实际开关光的位置不是在我们预想的点位位置执行。

下面通过例子帮助理解两种输出的区别。

RAPIDSTOP(2) '停止所有轴
WAIT IDLE(0) '等待轴0停止
BASE(0) '选择轴0
DPOS=0 '轴0坐标偏移至0
UNITS=100 '脉冲当量
SPEED=100 '速度
ACCEL=1000 '加速度
DECEL=1000 '减速度
TRIGGER '触发示波器采样
OP(0,3,$0) '关闭输出口0-3
DELAY(1000) '延时
MOVE(100) '直线插补相对距离100
MOVE_OP(1,ON) '运动缓冲中输出
OP(0,ON) '普通输出

例子运行效果:延时1s后,程序扫描到OP指令,输出口0立即执行输出。

MOVE_OP把IO操作指令填入运动缓冲区,所以在运行完MOVE(100)之后,输出口1才输出。

wKgZPGfqSTKAF733AABQGoGhRTA427.png

运动缓冲区堵塞

每个轴的运动缓冲空间是有限的,当扫描太多运动指令放入运动缓冲区时,多级运动缓冲区全部被塞满,如果程序继续扫描到更多的运动指令,程序也会被堵塞,直到运动指令依次完成并退出,运动缓冲区有了空位,运动指令才会继续进入运动缓冲区。

例:以ZMC408CE控制器为例,默认为4096个运动缓冲,下图例程中显示该控制器的运动缓冲区最多能存493条圆弧插补指令,下载程序后打印i的值为492,表示当前FOR循环并未执行完,程序堵塞了。

wKgZO2fqSTyAfeYRAAF_hM--Nwk998.png

下图中,当从运动缓冲区取出部分运动指令执行之后,缓冲区有了空间,FOR循环继续执行,并存入运动指令到运动缓冲区。指令执行退出运动缓冲区后,只要运动缓冲区的空间足够,新的运动指令则会继续一条一条往运动缓冲区中存入。

wKgZPGfqSUOAG-LhAAAdqq4e5fo585.png

每个轴的运动缓冲都是独立的,互不干扰,且缓冲区大小相同,通过指令REMAIN_BUFFER(MTYPE) AXIS(n)查看某个轴的剩余可用缓冲区的个数。

ZMC4系列运动控制器每个轴可支持多达4096段运动缓冲(不同型号的控制器缓冲个数有区别,具体情况参见控制器《用户手册》说明或使用?*max打印查看),可以手动设置LIMIT_BUFFERED运动缓冲限制。

不同的运动指令占用的缓冲空间是不同的,越复杂的运动占用的运动缓冲空间越多。

如下表所示:MTYPE为1表示MOVE直线插补指令,MTYPE为2表示MOVEABS直线插补指令(绝对)。MTYPE为3表示MHELICAL螺旋插补指令,MTYPE为4表示MOVECIRC圆弧插补指令。

MTYPE 运动指令类型
0 IDLE(没有运动)
1 MOVE
2 MOVEABS
3 MHELICAL
4 MOVECIRC

例如:ZMC408CE控制器,运动缓冲区大小为4096,缓冲区一次性可缓冲的MOVE直线插补指令和MOVECIRC圆弧插补指令个数是不同的。可参考下图:

注:插补运动缓冲在主轴的运动缓冲区。

wKgZPGfqSVOAYDHXAAAQJ-qwlZU883.pngwKgZO2fqSViAdTRDAAE6GhcXeP0174.png

为了让大家更好理解运动缓冲区的概念,本例将轴的运动缓冲区可缓冲运动指令个数限制为3(LIMIT_BUFFERED=3)。LIMIT_BUFFERED的作用是限定运动缓冲个数,不能超过控制器的最大值。(可通过?*max查看控制器运动缓冲个数最大值)

如下例:例子中共有四条MOVE运动指令,但是运动缓冲区最多只能装3条直线插补指令。MOVE(60,40)占用轴0的MTYPE,轴0还能缓冲2个运动指令,轴0剩余缓冲数为0。此时运动缓冲区满,那么在MOVE(60,40)执行完之前MOVE(60,50)是无法进入运动缓冲区的。

RAPIDSTOP(2)    '停止所有轴   
WAIT IDLE(0)    '等待轴0停止
WAIT IDLE(1)    '等待轴1停止
BASE(0,1)        '选择轴0,轴1
ATYPE=1,1        '设置轴类型
DPOS=0,0         '轴0轴1坐标偏移至0
UNITS=100,100    '设置脉冲当量
SPEED=100,100    '设置速度
ACCEL=1000,1000  '设置加速度
DECEL=1000,1000  '设置减速度
MERGE=ON         '开启连续插补
TRIGGER'触发示波器采样
LIMIT_BUFFERED=3'轴0/1运动缓冲区可缓冲运动指令个数设置为3
MOVE(60,40)     '进入MTYPE,Buffer0
MOVE(70,50)     '进入NTYPE,Buffer1
MOVE(50,40)     'Buffer2
MOVE(60,50)'缓冲区满,暂不进入
?"轴0当前缓冲指令个数="MOVES_BUFFERED(0)   '结果2
?"轴0剩余缓冲区个数="REMAIN_BUFFER(1) AXIS(0) '结果0
?"轴1剩余缓冲区个数="REMAIN_BUFFER(1)AXIS(1)'结果3
END

如下图:等MOVE(60,40)运动完成,MOVE(60,50)才能进轴0的运动缓冲区。

wKgZPGfqSXuAZZu9AADnp6PkZJc587.png

插补运动缓冲在主轴轴0里,故轴1的运动缓冲区是没有指令的,轴1剩余缓冲大小为3。每条MOVE指令占用一个缓冲空间。

示波器波形如下:

wKgZPGfqSYKAG-0RAABq1J5RgUs109.png

其他运动缓冲指令

下表为部分常见的运动缓冲指令,如需了解更多可参考《RTBasic编程手册》。

运动缓冲指令 指令功能
MOVE_OP 缓冲输出
MOVE_OP2 缓冲输出2
MOVE_DELAY 缓冲延时
MOVE_AOUT 缓冲输出模拟量
MOVE_PAUSE 运动暂停
MOVE_MARK 运动标号
MOVE_CURMARK 当前运动标号
MOVE_SYNMOVE 缓冲触发其他轴
MOVE_ASYNMOVE 缓冲触发其他轴2
MOVE_TASK 缓冲开启任务
MOVE_WAIT 缓冲等待
MOVE_CANCEL 缓冲停止
LOADED 缓冲空
MOVE_HWPSWITCH2 缓冲硬件比较输出
MOVE_HWTIMER 缓冲硬件定时
MOVE_ADDAX 运动叠加
MOVE_PARA 缓冲参数
MOVE_PWM 缓冲PWM
MOVE_TABLE 缓冲Table

教学视频可点击→“运动缓存在精密激光加工中的应用”查看。

本次,正运动技术运动缓冲在精密加工中的应用,就分享到这里。

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

审核编辑 黄宇

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

    关注

    336

    文章

    30035

    浏览量

    258713
  • 激光
    +关注

    关注

    21

    文章

    3584

    浏览量

    69116
  • 激光加工
    +关注

    关注

    0

    文章

    100

    浏览量

    12285
  • 正运动技术
    +关注

    关注

    0

    文章

    135

    浏览量

    848
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    激光驱动器技术:精密控制与创新应用

    激光驱动器集成精密控制、保护和通信功能,实现高精度、高稳定性的激光输出,应用于光通信和工业加工
    的头像 发表于 11-06 11:37 103次阅读

    ATA-4052C高压功率放大器:精密超声加工的核心驱动方案

    工艺,是利用超声技术,设置刀尖运行轨迹,使刀尖在预设轨迹往复高频运动。相比于常规切削技术,大幅减小了切削损耗,提高了加工效率以及加工精度。 安泰电子ATA-4000系列高压功率放大器
    的头像 发表于 10-11 18:00 635次阅读
    ATA-4052C高压功率放大器:<b class='flag-5'>精密</b>超声<b class='flag-5'>加工</b>的核心驱动方案

    同步带模组如何破解激光加工速度与精度?

    作为激光设备的关键组件,同步带模组通过橡胶齿带与同步带轮的精密啮合,将电机旋转转化为直线运动,其传动精度可达0.01mm级,适用于激光切割、焊接、打标等对精度要求严苛的场景
    的头像 发表于 09-27 17:51 264次阅读
    同步带模组如何破解<b class='flag-5'>激光</b><b class='flag-5'>加工</b>速度与精度?

    Akribis的SGS激光加工系统

    在高端制造领域,激光加工技术正发挥着日益重要的作用。从半导体、3C电子,到新能源、医疗器械,精密、高效的激光解决方案,已成为提升设备性能和生产效率的关键。 伴随制造业的不断升级,微米
    的头像 发表于 08-07 17:16 661次阅读
    Akribis的SGS<b class='flag-5'>激光</b>微<b class='flag-5'>加工</b>系统

    全面解析直线电机模组在激光加工的优势与应用

    在现代制造业激光加工技术以其高精度、高速度和非接触式加工的优势,被广泛应用于各种工业制造领域。而直线电机模组作为一种先进的传动装置,在激光
    的头像 发表于 08-04 11:29 676次阅读
    全面解析直线电机模组在<b class='flag-5'>激光</b><b class='flag-5'>加工</b><b class='flag-5'>中</b>的优势与应用

    激光指向稳定系统,是如何大幅提高龙门系统激光加工的精度!

    激光加工作为一种无接触式加工,以其可控性好、加工效率高、材料损耗低等特点,在与传统加工方式的比较
    的头像 发表于 07-28 11:10 423次阅读
    看<b class='flag-5'>激光</b>指向稳定系统,是如何大幅提高龙门系统<b class='flag-5'>激光</b><b class='flag-5'>加工</b>的精度!

    激光加工设备在PCB制造的应用

    在芯片日益微型化、集成化的今天,PCB上的微小空间不仅承载着复杂电路,更需容纳清晰、耐久的产品标识及精加工生产。传统加工技术面对这一精密战场,其局限日益凸显。而FPCB激光
    的头像 发表于 07-05 10:13 1072次阅读

    高频滤波器CNC精密加工,如何赋能通信?

    量产的关键支撑。 高频滤波器的核心结构由金属腔体和谐振柱组成,通过谐振频率筛选目标信号。CNC精密加工技术通过数字化编程控制机床运动轨迹,实现金属材料的毫米级切削与曲面雕刻。以五轴联动数控机床为例,其通过多轴协同
    的头像 发表于 06-11 16:15 431次阅读

    超短脉冲激光加工技术在半导体制造的应用

    随着集成电路高集成度、高性能的发展,对半导体制造技术提出更高要求。超短脉冲激光加工作为一种精密制造技术,正逐步成为半导体制造的重要工艺。阐述了超短脉冲激光
    的头像 发表于 05-22 10:14 1191次阅读
    超短脉冲<b class='flag-5'>激光</b><b class='flag-5'>加工</b>技术在半导体制造<b class='flag-5'>中</b>的应用

    大族激光陶瓷基板精密加工及全自动集成解决方案荣获金耀奖

    日前,2025激光金耀奖(GloriousLaserAward,简称GLA)评选结果正式公布。大族激光陶瓷基板精密加工及全自动集成解决方案在一众应用项目中脱颖而出,荣获2025
    的头像 发表于 03-19 15:25 692次阅读
    大族<b class='flag-5'>激光</b>陶瓷基板<b class='flag-5'>精密</b><b class='flag-5'>加工</b>及全自动集成解决方案荣获金耀奖

    激光技术在材料加工的应用

    随着科技的飞速发展,激光技术以其独特的优势在材料加工领域占据了越来越重要的地位。尤其在高精度切割和焊接方面,激光技术的应用已经取得了明显的成果。本文将探讨激光技术如何在材料
    的头像 发表于 03-12 14:22 1053次阅读

    激光精密加工设备的应用领域

    激光精密制造作为现代制造业的核心技术之一,正随着技术创新和市场需求的推动,展现出多元化、高端化的发展趋势。激光精密加工设备朝着智能化和集成化
    的头像 发表于 02-19 11:51 1287次阅读

    激光自身空间维度加工系统综述

      01   应用背景 随着智能制造步伐加快,各行业对精细化零部件的加工需求愈发旺盛。传统借助外部辅助机构如机床、机械臂带动激光加工头实现激光束空间维度变化的方式,因
    的头像 发表于 01-16 10:52 1263次阅读
    <b class='flag-5'>激光</b>自身空间维度<b class='flag-5'>加工</b>系统综述

    激光焊接机在精密微小元件的工艺流程

    激光焊接机作为一种高精度、高效率的焊接设备,在精密微小元件的制造中发挥着举足轻重的作用。下面来看看激光焊接技术在精密微小元件的工艺流程。
    的头像 发表于 12-27 17:01 994次阅读
    <b class='flag-5'>激光</b>焊接机在<b class='flag-5'>精密</b>微小元件<b class='flag-5'>中</b>的工艺流程