当前位置:首页>科技 >内容

开放式激光振镜运动控制器ZMC408SCAN进行振镜矫正的方法与实现

2024-07-02 09:04:54科技漂亮的斑马

01 zmc 408扫描控制器介绍ZMC408SCAN是一款基于EtherCAT总线的新型开放式激光振镜运动控制器,专为工业激光振镜运动控制而设计。通过Ethe

开放式激光振镜运动控制器ZMC408SCAN进行振镜矫正的方法与实现

01 zmc 408扫描控制器介绍

ZMC408SCAN是一款基于EtherCAT总线的新型开放式激光振镜运动控制器,专为工业激光振镜运动控制而设计。通过EtherCAT总线和脉冲轴接口可以实现多轴联动运动控制。

ZMC408SCAN支持以太网、EtherCAT、USB、CAN、RS485、RS232等通信接口。可以通过CAN和EtherCAT总线连接各种扩展模块,以扩展数字量、模拟量或运动轴。

(1)ZMC408SCAN内置高精度PSO位置同步输出功能,在加工圆角、曲线零件时,即使进行减速调整,也能在高速加工中控制激光输出的间隔恒定;

(2)支持激光振镜控制和振镜反馈,包括两个振镜接口,支持2D振镜和3D振镜,配合无加减速的运动命令MOVESCAN自动延迟拐角处的振镜加工,完成精准高效的激光控制,提高激光加工设备的生产率;

(3)激光开/关延时可在运动过程中通过指令灵活调整,响应速度快,精确控制到us级别,设置过程简单,大大缩短了工程师的参数调整时间;

(4)自带激光控制接口,支持IPG、YLR、YLS等多种类型的激光电源,还具有EXIO扩展IO接口,可通过定制转接板灵活控制市场上各种主流激光器;

(5)支持PC控制16个ZMC408SCAN控制器同时工作,形成振镜阵列的激光加工;

(6)板载四路高速差分脉冲输出,四路高速差分编码器反馈,支持EtherCAT总线驱动器控制,5轴XYZAC轴插补,振镜轴和运动轴混合插补;

(7)支持直线插补、任意圆弧插补、空间圆弧插补、螺旋插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设定等运动控制功能。

02检流计控制

激光振镜是专门用于激光加工领域的专用移动装置。它依靠两个振镜反射激光,形成XY平面的运动。

激光检流计不同于一般的电机。激光振镜的惯性很小,运动过程中负载很小,所以系统的响应很快。所以在振镜的运动中可以忽略振镜的加速和减速。一般来说,检流计分为模拟检流计和数字检流计。模拟检流计是接收模拟信号的方式。常用的模拟检流计是DC电压在-5伏到5伏之间变化的信号,对应电机摆角,例如-5伏到5伏对应-10度到10度的电机摆角。

数字检流计由数字信号控制,符合XY2-100协议。数字量-32768~32767对应电机最大摆角。

正运动为振镜的轴控制提供了特殊的运动命令,振镜的快速响应是通过ZAUX _ DIRECT _ MOVESCABS或ZAux_Direct_MoveScan实现的。

与普通运动命令控制相比,扫描运动命令没有加减速规划,支持美制级时间控制。运行时间由ZAux_Direct_SetForceSpeed设置的速度和矢量距离直接计算。

目前正向运动扫描控制器支持1-2路XY2-100数字振镜轴控制。

指令描述ZAux_Direct_SetAtype设置轴类型ZAux_Direct_SetUnits设置轴脉冲当量ZAux_Direct_SetMegre设置轴连续插补开关ZAux_Direct_SetForceSpeed设置振镜轴扫描运动速度无加减速ZAux_Direct_MoveScan振镜轴。线性插补相对运动ZAux_Direct_MoveScanAbs振子轴线性插补绝对运动ZAux_Direct_MoveAddax设置运动叠加ZAux_Direct_GetDpos读轴命令规划位置ZAux_Direct_GetMpos读轴实际反馈位置ZAux_Direct_GetEncode R读取振镜轴的原始位置数据zaux _ direct _ getaxistatus读取振镜轴的状态ZAux_Direct_StepRatio设置振镜的方向sha

通过指令ZAux_Direct_SetAtype设置相应的振镜轴类型。有三种类型的检流计轴:

一轴类型值为20(振镜式,带振镜状态反馈,仅ZMC408SCAN支持);

一轴式值为21(振镜轴控式);

一个轴类型的值为22(振镜类型,带振镜位置反馈,仅受ZMC408SCAN支持)。

*表示不支持的功能。

控制器型号SCAN0SCAN1X轴Y轴Z轴(3D专用固件)X轴Y轴Z轴(3D专用固件)ZMC 408 scan 458679 zmc 420 scan 45 * 67 * VPLC 504 scan 45 * * *

二、检流计校正

1.突出

激光振镜扫描系统如下图所示。可以看出,振镜扫描的实际工作范围是由振镜的最大偏转角和工作高度决定的。因此,振镜轴偏转角对应的-32768~32767的输出与实际工作范围之间的单位映射时,需要根据测试长度做比例映射。

振镜扫描系统建立的坐标系是非正交坐标系,实际扫描场会造成枕形畸变。由于振镜本身扫描造成的枕形失真如图(左),由于使用了F-Theta平面场镜,输出轮廓的桶形失真如图(中),叠加后的输出图形具有如图(右)所示的双重桶形和枕形失真。

为了使软件坐标与实际运行距离相对应,输出轨迹不失真,需要实时修正每个数据点。通常通过查找表的分段线性插值来修正位置,修正点越多,实际输出位置越准确。

正向运动扫描控制器提供方框校正、多点校正和其他方法。无论是系数修正还是多点修正,修正点参数都写入控制器内部系统数组的表寄存器中。因此,在程序中对表寄存器应用其他函数时,需要注意地址的合理分配。

(1)箱系数修正

系数校正是指根据检流计输出图形的枕/桶形畸变、平行四边形畸变、梯形畸变和缩放比例来调整和校正系数。

通过调用ZScan_CorrectFactor来校正系数。首先控制振镜画出一个正方形的校正图形,根据校正图形的畸变调整相应的系数参数如下图所示,根据划线长度和测量长度调整缩放系数,直到实际划线尺寸与设定一致,才认为校正成功,校正是基于填充的变化量,通常以0值为参考。

(2)9点校正

9点标定是指在工作范围内,根据标有3*3的表格,根据各点的理论位置和实际位置进行检流计标定。

首先控制振镜预画一个3*3的校正表图形,如下图所示按照P1-P9的顺序填写X坐标和Y坐标的实测值,填写P1点的理论标记和P9点的理论坐标,通过调用ZScan_Correct9进行9点校正。需要重新标记测试,直到实际标记和理论值达到预期精度范围。

(3)修正25分

25点修正是指根据工作范围内标有5*5的表格,调用ZScan_Correct25进行25点修正,修正过程与9点修正相同。校正点越多,校正精度越高。

2.检流计教学介绍

指令ZScan_Correct9检流计9: 00校正ZScan_Correct25检流计25: 00校正ZScan_CorrectFactor检流计系数校正ZScan_CancelCorrect取消检流计校正。

(1)检流计轴的9点钟校正

指令20ZScan_Correct9指令原型int 32 _ _ stdcall zscan _ correct 9(zmc _ handle handle,intnscannum,double * pdxmeasurept,double * pdymeeasurept,intnscanExchange,int nRowColPtNum,double dUnits,double dTheoryLeft,double dTheoryBottom,double dTheoryRight,double dTheoryTop,double dScaleRatio,int ntable start);指令描述9: 00校准输入参数名称描述手柄检流计轴连接手柄。纳氏检流计数。pdXMeasurePt测量的点的x坐标(长度9)9)pdYMeasurePt测量的点的Y坐标(长度9)安装9)nScanExChangeXY振镜时是否交换了位置nRowColPtNum的行列方向的点数(必须是奇数,建议值为11、21等。)脉冲当量dTheoryLeft of dUnits振镜轴校正理论范围左极限坐标dTheoryBottom校正理论范围极限坐标dTheoryTop校正理论范围右极限坐标dTheoryTop校正理论范围极限坐标dScaleRatio放大倍率表起始数根据存储的输出参数/工作台起始位置的返回值,成功返回值为050-控制器链接错误51-校正点数太少52-校正点数不正确53-有关校正失败说明的示例,请参考“振镜控制功能”一章。详细描述/

(2)检流计轴的25点校正

指令21ZScan_Correct25指令原型int 32 _ _ stdcall zscan _ correct 25(zmc _ handle handle,int nscannnum,double * pdxmeasureperp,double * pdymeasureperp,int nscanExchange,int nRowColPtNum,double dUnits,double dTheoryLeft,double dTheoryBottom,double dTheoryRight,double dTheoryTop,double dScaleRatio,int ntable start);该说明描述了检流计轴的25点校准输入参数。参数名描述了句柄连接句柄。纳氏检流计数。pdXMeasurePt测量的点的x坐标(长度9)9)pdYMeasurePt测量的点的Y坐标(长度9)安装9)nScanExChangeXY振镜时是否交换了位置nRowColPtNum的行列方向的点数(必须是奇数,建议值为11、21等。)脉冲当量dTheoryLeft of dUnits振镜轴校正理论范围左极限坐标dTheoryBottom校正理论范围极限坐标dTheoryTop校正理论范围右极限坐标dTheoryTop校正理论范围极限坐标dScaleRatio放大倍率表起始数根据存储的输出参数/工作台起始位置的返回值,成功返回值为050-控制器链接错误51-校正点数太少52-校正点数不正确53-有关校正失败说明的示例,请参考“振镜控制功能”一章。详细描述/

(3)检流计轴系数的修正

指令22ZScan_CorrectFactor指令原型int 32 _ _ STDCALL ZSCAN _ correct factor(ZMC _ Handle Handle,Intnsscannum,Double DMAX Boxx,Double DMAX Boxy,double dCorrectBoxY,double dOffsetX,double dOffsetY,double *pdFactorX,double *pdFactorY,int nScanExChange,int nRowColPtNum,double dUnits,double dScaleRatio,int nTableStart);说明描述检流计轴系数校正输入参数参数名称描述手柄连接手柄。纳氏检流计数。dMaxBoxXX方向最大校正面积dMaxBoxYY方向最大校正面积dcorrectboxxxx方向实际校正面积dCorrectBoxYY方向偏移量dOffsetXX方向偏移量dOffsetYY方向pdFactorXX方向校正系数(长度为4,分别为:缩放系数、桶形/枕形失真系数、平行四边形失真系数和梯形失真系数)pdFactorYY方向校正系数(长度为4,分别为:缩放系数、桶形/枕形失真系数、平行四边形失真系数和梯形失真系数,失真系数范围为-0.3 ~ 0.3)。NSCANEXCHANGXXY检流计在安装时是否交换了位置(0-未交换)?1-交换)nRowColPtNum的行列方向点数(必须是奇数,推荐值为11、21等。)dUnits振镜轴的脉冲等效dScaleRatio数据中存储的nTableStart位置的输出参数/返回值为050-控制器链接错误51-校正点数太少52-校正点数不正确53-示例见“振动故障说明”。详细描述/

(4)取消检流计校正

指令23ZScan_CancelCorrect指令原型int 32 _ _ stdcall zscan _ cancel correct(zmc _ handle handle,int nscannum,int nscanexchange,double dunits,double dscalaratio,int table start);指令描述取消检流计校准输入参数参数名称描述手柄连接手柄。纳氏检流计数。nScanExChangeXY振镜的位置是否在安装期间交换(0-未交换,1-交换)dUnits振镜轴的脉冲当量dScaleRatio标度比nTABLEStart数据存储表初始位置输出参数/返回值成功返回值为050-控制器链接错误51-校正点太少52-校正点不正确53-参考“振镜控制功能”章节中的示例。详细描述/

03程序显示

九点修正的过程和25点修正是一样的,但是25点修正的精度更高,可以用九点修正的套路重写25点修正。

1.九点校正程序如下

ZMC _句柄句柄=空;//连接句柄int RTN=zaux _ openeth(' 192 . 168 . 0 . 11 'handle);//连接控制器if (checkerror (RTN,' zaux _ openeth '))返回;//检查函数返回for(int iAxis=4;iAxis6iAxis){ RTN=ZAux _ Direct _ seta type(handle,iAxis,21);//设置轴为振镜轴if (checkerror (RTN,' zaux _ direct _ setatype '))返回;RTN=ZAux _ Direct _ set units(handle,iAxis,500);//设置轴脉冲等效if (checkerror (RTN,' zaux _ direct _ setunits '))返回;} RTN=ZScan _ cancel correct(handle,0,-1,-1,200,1,1000);//如果(checkerror (RTN,' zscan _ cancelcorrect '))返回,则取消振镜校准;double m _ dxmeasureport[9]={-51.5,0,49.5,-52.9,0,50.1,-51.8,0,49.0 };doublem_dYMeasurePt[9]={-51.5,-51.0,-53.0,0,0,51.9,51.5,53.9 };rtn=ZScan_Correct9(handle,0,m _ dXMeasurePt,m_dYMeasurePt,0,21,500,-50,-50,50,50,1,1000);//检流计校准到0.9点,校准数据存储在系统数组表(1000-100421 * 21 * 2)if(check error(RTN,' zscan _ correct factor '))返回;rtn=ZAux_Close(句柄);//如果(checkerror (RTN,' zaux _ close '))返回,则关闭连接并释放句柄;handle=NULL2.系数修正例程如下:ZMC _句柄handle=NULL//连接句柄int RTN=zaux _ openeth(' 192 . 168 . 0 . 11 'handle);//连接控制器if (checkerror (RTN,' zaux _ openeth '))返回;//检查函数返回for(int iAxis=4;iAxis6iAxis){ RTN=ZAux _ Direct _ seta type(handle,iAxis,21);//设置轴为振镜轴if (checkerror (RTN,' zaux _ direct _ setatype '))返回;RTN=ZAux _ Direct _ set units(handle,iAxis,500);//设置轴脉冲等效if (checkerror (RTN,' zaux _ direct _ setunits '))返回;} RTN=ZScan _ cancel correct(handle,0,-1,-1,200,1,1000);//如果(checkerror (RTN,' zscan _ cancelcorrect '))返回,则取消振镜校准;double m_dMaxBox[2]={131,131 };//最大修正面积double m _ dcorrectbox []={131,131 };//实际校正区域double m _ dofset[2]={ 0,0 };//Offset一般用于红灯Offset double m _ pdf actor[2][4]={ {1,0,0,0},{ 1,0,0 } };//校正因子缩放因子,桶/枕失真因子,平行四边形失真因子,梯形失真因子RTN=zscan _ correct因子(handle,0,m _ dmaxbox [0],m _ dmaxbox [1],m _ dcorrectbox [0],m _ dcorrectbox [1]。m_dOffset[1],m_pdFactor[0][0],m_pdFactor[1][0],0,21,1,1,500,1,1000);//振镜0系数校正,校正数据存放在系统数组表(1000-100421 * 21 * 2)if(check error(RTN,' zscan _ correct factor '))返回;rtn=ZAux_Close(句柄);//如果(checkerror (RTN,' zaux _ close '))返回,则关闭连接并释放句柄;handle=NULL

04振镜校正工具振镜校正工具包含多种校正方式,包括9点校正、25点校正、系数校正、多点校正和文档校正。

参数设置界面机械参数:首先选择IP地址,连接相应的控制器,然后设置机械参数选择激光类型,设置振镜数,使打标图案的XY方向与软件显示一致。

标记参数:

自上而下填写打标速度、空转速度、轴型、脉冲当量(运动指令和速度指令的基本单位,需要修正振镜移动1mm的脉冲数的脉冲当量,修正后的打标图案与预定尺寸相差不大时即可测量修正。如果预校正标记图案不完整或图案比预定尺寸大得多,则降低该参数

切换延迟:多点调整圆心深度,调整切换延迟。

关闭延迟:最外环未密封时的关闭延迟。

拐角延迟:正确的线深度,调整拐角延迟。

跳跃延迟:多点修正点有小尾巴,跳跃延迟调整。

结束延迟:在所有动作完成后添加结束延迟。

激光能量控制:

(1)模拟DA(0~4095对应0~10V电压)

(2)PWM(调整占空比和设置频率)

(3)IO组合注:激光能量的控制参数需要根据激光能量和功率的控制类型进行修改,参考激光手册。

1.9点校正和25点校正

用修正参数设置表的起始位置:这个地址不要和其他表地址位置冲突,大概用了1000个数据,占用1000个表地址;

红灯游:可以用来纠正图形;

预标记尺寸:面积,用于标记预校正图形;

对图案进行预标记后,取出标记好的图案进行测量:测量两点之间的距离,并将两点之间的距离参数填入相应的方框中;

标记预校正:根据参数设置和预标记尺寸标记预校正图形;

仅校正按钮:仅进行振镜校正,不做标记;

标记尺寸:面积,用于标记校正前的图形;

校正和标记:根据标记尺寸,开始校正和标记图形;

保存到文件和保存到控制器:保存到文件保存到本地计算机(保存的文件可用于文件校正和多点校正),保存到控制器是保存到控制器的flash块(确保不同振镜轴数使用不同的flash块,以免冲突);

紧急停止:标记紧急停止。

(1)9点校正标注的校正前效果图。

(2)修改和标注效果图。

(3)25点校正与9点校正相同,但点数更多,校正精度更高。

2.系数校正

系数校正类似于9: 00校正,只是有一个原点偏移和XY缩放比例。

3.多点校正

(1)修正尺寸:同上;

(2)标记点半径:标记圆(点)的半径;

(3)标记点数:可选9 *9、17 * 17、33 * 33、65 * 65,目前正在开发9*9、17*17,更多点数修正请联系正动技术支持工程师;

(4)填充点间距:同心圆半径差;

(5)完整图形:标注完整图形(扫描仪可以完整扫描整张图片);

(6)左/右图形:标记左/右图形;(当图形很大时,您无法使用扫描仪一次扫描所有图形。请左右分别标注,分别扫描,导入两张图);

(7)紧急停止:标记紧急停止;

(8)点加工:

模式:单幅、两幅:根据扫描标记后的校正图是扫描两次还是左右标记。

极性:白底黑点,黑底白点。

阈值模式:自动和手动阈值:(阈值参数范围为0~255)黑白照片白色为255,黑色为0,低阈值和高阈值之间的像素处理为255,否则为0,用于进行扫描标记后的图像处理。

低阈值:0~255

高阈值:0~255应设置为大于或等于低阈值数据。

最大面积/最小面积:通过过滤原点区域来过滤图像噪点(斑点)。

有关详细信息,请参见Zvision帮助。

(9)搜索9点修正文件:导入9点修正文件(多点修正需要9点修正中“将修正数据保存到文件”的文件)。

4.文件校正

功能:导入9/25/多点校正的“将校正数据保存到文件”中保存的文件,更新校正界面的参数,仅校正或标记校正等。

审计郭婷

声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

Top