上一節介紹了控制器的激光相關的接口與如何實現激光的控制。本節介紹ZMC408SCAN控制激光振鏡的方法。
01 激光與振鏡功能簡介
ZMC408SCAN是正運動技術新推出的一款支持EtherCAT總線的開放式激光振鏡運動控制器,集激光控制+振鏡控制+軸控于一體。支持16路運動軸的復雜的連續軌跡控制需求,可實現振鏡軸+脈沖軸+總線軸的混合插補。
ZMC408SCAN控制器上包含兩個SCAN振鏡接口,SCAN支持XY2-100振鏡協議,支持振鏡軸與運動軸聯合插補運動,實現激光輸出與運動的同步控制。
支持激光振鏡控制和振鏡反饋,配合不帶加減速的運動指令MOVESCAN,拐角處振鏡加工自動延時,完成精準高效的激光控制,提高激光加工設備的產能。
→激光器的接口可選LASER,EXIO擴展IO口或OP輸出口。
→LASER激光電源接口支持連接 IPG、YLR、YLS 等類型激光電源。
→EXIO擴展接口目前可支持擴展標準的YGA、SPI、FIBER等激光器類型,通過EXIO擴展接口連接擴展板,轉換TTL信號后控制激光器的激光使能、紅光開關以及8位數字量輸出口控制激光能量,接線完成還需使用指令配置EXIO擴展接口,配置連接擴展板的輸入/輸出信號。
→輸出口OUT0-7支持PWM功能,可靈活連接激光器。
02 激光振鏡控制原理
1.什么是激光振鏡
激光振鏡是一種專門用于激光加工領域的特殊的運動器件,2D激光振鏡頭包含的主要元件是激光發生器,兩個電機和兩個振鏡片,它靠兩個電機分別控制兩個振鏡片X和Y反射激光,形成XY平面的運動,這兩個電機使用控制器上的振鏡軸接口控制,示意圖如下。
激光振鏡不同于一般的電機,激光振鏡具有非常小的慣量,且在運動的過程中負載非常小,只需要帶動反射鏡片,系統的響應非常快。
激光發生器的能量和開關可采用PWM控制或模擬量控制,根據激光器的類型選擇接線方式和控制方式。
2.SCAN振鏡接口
使用ZMC408SCAN控制器的SCAN振鏡軸接口連接激光振鏡頭,每個振鏡軸接口內包含兩路振鏡通道信號,分別控制振鏡片X、Y的偏轉,從而控制了激光打到工件的位置,激光的開關一般通過OP口控制,部分OP口支持PWM功能,通過PWM控制激光的能量和開關。
SCAN振鏡接口采用25針母頭,針腳號說明參見下表:
針腳號 |
信號 |
說明 |
1 |
Clk- |
時鐘信號- |
14 |
Clk+ |
時鐘信號+ |
2 |
SYNC- |
同步信號- |
15 |
SYNC+ |
同步信號+ |
3 |
X- |
振鏡 X 通道信號- |
16 |
X+ |
振鏡 X 通道信號+ |
4 |
Y- |
振鏡 Y 通道信號- |
17 |
Y+ |
振鏡 Y 通道信號+ |
5 |
Z- |
振鏡 Z 通道信號- |
18 |
Z+ |
振鏡 Z 通道信號+ |
6 |
Y RETURN- |
振鏡 Y 通道反饋信號- |
19 |
Y RETURN+ |
振鏡 Y 通道反饋信號+ |
7 |
Z RETURN- |
振鏡 Z 通道反饋信號- |
20 |
Z RETURN+ |
振鏡 Z 通道反饋信號+ |
8 |
X RETURN- |
振鏡 X 通道反饋信號- |
21 |
X RETURN+ |
振鏡 X 通道反饋信號+ |
9 |
NC |
/ |
22 |
||
10 |
||
23 |
GND |
信號地 |
11 |
||
24 |
||
12 |
NC |
/ |
25 |
||
13 |
注意:
(1)2D振鏡默認情況下,SCAN0的對應2D振鏡Axis4,Axis5,SCAN1的對應2D振鏡Axis6,Axis7;
(2)3D振鏡默認情況下,SCAN0的對應3D振鏡Axis4,Axis5,Axis8,SCAN1的對應3D振鏡Axis6,Axis7,Axis9。
3.XY2-100振鏡協議
ZMC408SCAN支持XY2-100振鏡協議,刷新周期10us-50us,支持運動控制與振鏡聯合插補運動。上位機通過網口與控制器相連,通過XY2-100振鏡協議進行控制振鏡軸的運動,通過EtherCAT總線或者脈沖模式控制伺服軸運動。
ZMC408SCAN同時支持XY2-100E振鏡協議,支持瑞雷振鏡閉環,振鏡運動過程中會實施反饋MPOS的振鏡位置,可通過讀取的位置進行對應處理實現閉環,并且會對應報警。
4.激光振鏡控制過程
振鏡運動采用緩沖區運動方式,即用戶需要向軸運動緩沖區傳遞運動及工藝數據,然后啟動緩沖區運動,運動控制器則會依次連續執行用戶所傳遞的運動數據,直到所有的運動數據全部運動完成。
在激光振鏡運動控制系統中不但有運動的控制,還有激光的控制。如何有效地處理振鏡運動和激光開關的配合是一個很重要的問題,只有有效的協調了激光和運動的關系,才能運動出精確的軌跡。
運動控制:打標運動時,激光會按照設定的打標速度沿著給定的打標軌跡運動,在執行打標相關指令時,激光振鏡運動控制器會自動開啟激光。如果下一條仍是打標指令,激光一直呈開啟狀態,直到最后一條打標指令結束,或緩存區指令執行完畢,中途在緩沖區若遇到跳轉指令,則激光自動關閉,直到遇到打標指令,激光才重新開啟。開始運動前為保證打標軌跡正確需調整振鏡坐標,同時清空緩沖區。
激光控制:主要包括控制激光的開關控制與發出激光的時長,控制激光的開斷使用OP指令,激光能量的控制可根據激光器的不同,對應通過模擬量,數字量輸出口,以及輸出口PWM的占空比對應控制能量的大小。
5.激光振鏡控制架構
ZMC408SCAN開放式激光振鏡控制系統的參考架構如下圖:
實現激光加工包含運動控制與激光控制兩大部分。
激光振鏡控制系統的控制過程可選正運動的API函數庫通過常用上位機環境控制,或正運動自主研發的ZDevelop開發環境,或第三方用戶程序。
激光振鏡用于直接控制激光的軌跡,選用支持標準XY2-100協議的產品。
激光控制可通過LASER、支持PWM功能的OUT輸出口或者EXIO擴展接口接標準的激光器。
工件需要運動時可采用脈沖軸或EtherCAT總線軸控制,支持與激光振鏡軸聯合插補。
ZMC408SCAN上的SCAN0對應的2D振鏡軸號為4和5,SCAN1對應的振鏡軸號為6和7,ATYPE軸類型設為21(振鏡的軸類型),振鏡軸的運動控制與脈沖型驅動器的控制方法相同,可使用常用的MOVE等一系列運動控制指令。
同時額外封裝了MOVESCAN(MOVESCANABS絕對運動)振鏡運動指令,MOVESCAN與MOVE指令區別是此指令不帶加減速,支持微秒級別的時間控制,響應速度更快。
03 激光振鏡控制實例
例程用ZDevelop軟件開發,以ZMC408SCAN控制FIBER激光器為例,分為運動控制和激光控制兩部分。
運動控制部分采用SCAN0接口控制2D激光振鏡,振鏡軸對應軸號為4和5。
激光控制部分采用EXIO擴展IO接口擴展,通過標準Fiber轉接板連接激光器。
1.控制器與激光振鏡接線
采用標準的配線完成控制器與激光振鏡接線,接線參考圖如下:
(1)SCAN振鏡軸接口接線原理如上圖所示,請使用差分接線標準,注意信號規格相互匹配;
(2)請使用屏蔽雙絞線接線,尤其是環境惡劣的場合,務必使屏蔽層充分接地。
2.控制器與激光器接線參考
控制器與轉接板、激光器與轉接板均采用標準DB25線直連,配線簡單方便,轉接板與激光器采用統一接口,采用專用線纜直連。接線參考圖如下:
Fiber激光器轉接板輸出接口說明如下表,通過EXIO_DIR設置好IO方向后,便可通過右側的IO編號控制激光器。
針腳號 |
信號 |
說明 |
IO控制信號 |
1 |
D0 |
功率設定位D0 |
OUT36 |
2 |
D1 |
功率設定位D1 |
OUT37 |
3 |
D2 |
功率設定位D2 |
OUT38 |
4 |
D3 |
功率設定位D3 |
OUT39 |
5 |
D4 |
功率設定位D4 |
OUT40 |
6 |
D5 |
功率設定位D5 |
OUT41 |
7 |
D6 |
功率設定位D6 |
OUT42 |
8 |
D7 |
功率設定位D7 |
OUT43 |
9 |
LATCH |
功率鎖存信號,上升沿有效。 |
OUT46 |
10 |
NC |
保留 |
/ |
11 |
STA2 |
報警狀態反饋(輸入接口) |
IN68 |
12 |
NC |
保留 |
/ |
13 |
NC |
保留 |
/ |
14、15 |
GND |
數字參考地 |
/ |
16 |
STA0 |
報警狀態反饋(輸入接口) |
IN66 |
17 |
+5V |
+5V輸出,100mA左右,不用時懸空 |
/ |
18 |
M0 |
主振蕩器開關信號 |
OUT47 |
19 |
GATE |
激光器調制信號 |
OUT8 |
20 |
PRR |
激光頻率信號 |
OUT9 |
21 |
STA1 |
報警狀態反饋(輸入接口) |
IN67 |
22 |
RED LIGHT |
紅光信號 |
OUT48 |
23 |
EMSTOP |
急停信號 |
OUT49 |
24、25 |
NC |
保留 |
/ |
D0和D7一共8位組合設置激光器的功率,激光出光口為OUT8,激光出光前先設置好激光器的功率并打開激光使能開關OUT47,紅光的開關為OUT48。
→EXIO擴展IO配置
說明:采用EXIO接口擴展后, 均需要使用EXIO_DIR指令對擴展IO進行方向配置才可正常使用。
按上節接線完成后,配置好EXIO擴展IO接口的IO方向之后才能控制激光器,擴展IO功能設置EXIO_DIR(0, $8FFFF)。
指令語法:
EXIO_DIR(isel, dirbit)Isel:0(指定激光器類型)dirbit: 按位設置是否輸出, 0- 輸入, 1-輸出 (自定義配置轉接口對應的信號類型)
控制器與激光器的接線參考圖如下:
3.激光控制說明
例如某激光器的控制端口針腳說明如下表,對比上表可知,Fiber-DB25頭轉接板輸出接口采用與該激光器匹配的標準端口,針腳定義一致,可直接與該激光器相連,再通過OUT引腳控制激光器。
主要控制端子說明:
功率信號定義:設置針 1~8 的 TTL 信號,通過 TTL 信號的組合來設置泵浦激光二極管的電流,從而控制激光器的輸出功率。通過 1~8 針可以設置 0~255 范圍內的編碼,對應于 0~100%的功率輸出。
電源:針17和GND組成激光器控制端口的供電回路,采用5V直流供電。
4.打標應用例程
編程界面如下圖,采用Basic和HMI混合編程,Basic完成控制過程,HMI編寫界面。
初始化定義相關變量,初始化軸參數,配置好FIBER轉接板的方向為輸出,后續的激光加工控制由HMI界面的按鈕觸發。
D0和D7一共8位組合設置激光器的功率,通過AOUT3配置激光功率;激光出光口為OUT8,激光出光前先設置好激光器的功率并打開激光使能開關OUT47,紅光的開關為OUT48。
(1)Basic程序如下
'**********************************************************HMI初始化
Global Sub Sub_HmiInit()
Sub_VarDefine() '定義變量
Sub_AxisInit() '初始軸參數
Sub_SetExioFiber 'Fiber轉化板參數設置
End Sub
'**********************************************************HMI刷新掃描
Global Sub Sub_HmiScan()
End Sub
'**********************************************************變量定義初始化
Global Sub Sub_VarDefine()
Global Const Gc_AxisX = 4
Global Const Gc_AxisY = 5
Global Const Gc_Out_Laser = 8 '出光OUT口
Global Const Gc_Out_LaserEnable = 47 '激光使能
Global Const Gc_Out_Red = 48 '紅燈
Global Const Gc_Aout_Laser = 3 '激光能量模擬量輸出口
Global Gv_StartDelay '開光延時us
Gv_StartDelay = 1000
Global Gv_LastDelay '關光延時us
Gv_LastDelay = 1000
Global Gv_CorDelay '拐角延時us
Gv_CorDelay = 1000
Global Gv_JumpDelay '跳轉延時us
Gv_JumpDelay = 1000
Global Gv_LaserPower '激光功率0-2^8
Gv_LaserPower = 128
Global Gv_EmpSp '空移速度
Gv_EmpSp = 10000
Global Gv_WorkSp '加工速度
Gv_WorkSp = 5000
Global Gv_WorkMode '加工模式 0-紅光 1-激光
Gv_WorkMode = 0
Global Gv_MarkSize '標刻大小
Gv_MarkSize = 80
End Sub
'**********************************************************軸參數初始化
Global Sub Sub_AxisInit()
base(Gc_AxisX,Gc_AxisY)
Atype = 21,21 '軸類型 振鏡軸
Units = 500,500 '脈沖當量
speed = 100,100 '運動速度
Accel = 10000,10000 '加速度
AXIS_ZSET = 3,3 '開啟精準輸出
End Sub
'**********************************************************切換紅光
Global Sub Sub_Btn_Red()
if op(Gc_Out_Red) THEN
op(Gc_Out_Red,OFF)
ELSE
op(Gc_Out_Red,ON)
endif
End Sub
'**********************************************************切換出光
Global Sub Sub_Btn_Laser()
if op(Gc_Out_Laser) THEN
Aout(Gc_Aout_Laser) = 0
op(Gc_Out_Laser,OFF)
DELAY(100)
op(Gc_Out_LaserEnable,OFF)
ELSE
Aout(Gc_Aout_Laser) = Gv_LaserPower '設置能量
op(Gc_Out_LaserEnable,ON) '打開激光使能
DELAY(100)
op(Gc_Out_Laser,ON) '出光
endif
End Sub
'**********************************************************fiber轉換板處理
GLOBAL SUB Sub_SetExioFiber()
'修改擴展接口方向為輸出
EXIO_DIR(0, $FFFFF)
END SUB
'**********************************************************空移到起點
Global Sub Sub_MoveEmp(StartX,StartY)
base(Gc_AxisX,Gc_AxisY)
FORCE_SPEED = Gv_EmpSp
MOVESCANABS(StartX,StartY) '空移到起點
MOVE_DELAY(Gv_JumpDelay/1000) '跳轉延時
if Gv_WorkMode =1 then
MOVE_OP(Gc_Out_Laser, ON)
ELSE
MOVE_OP(Gc_Out_Red, ON)
endif
MOVE_DELAY(Gv_StartDelay/1000) '開光延時
End Sub
'**********************************************************直線運動
'XPos 運行結束點X坐標
'YPos 運行結束點Y坐標
'If_End 是否最后的結束點,是啟動關光參數
Global Sub Sub_MoveLine(XPos,YPos,If_End)
FORCE_SPEED = Gv_WorkSp
MOVESCANABS(XPos,YPos) '運動到加工點
if(If_End) then
MOVE_DELAY(Gv_LastDelay/1000) '關光延時
if Gv_WorkMode =1 then
MOVE_OP(Gc_Out_Laser, OFF)
ELSE
MOVE_OP(Gc_Out_Red, OFF)
endif
endif
End Sub
'**********************************************************畫矩形運動
'XPos 運行結束點X坐標
'YPos 運行結束點Y坐標
'If_End 是否最后的結束點,是啟動關光參數
Global Sub Sub_MoveRect(StartX, StartY, EndX,EndY,If_End)
FORCE_SPEED = Gv_WorkSp
MOVESCANABS(StartX,EndY)
MOVE_DELAY(Gv_CorDelay/1000)
MOVESCANABS(EndX, EndY)
MOVE_DELAY(Gv_CorDelay/1000)
MOVESCANABS(EndX, StartX)
MOVE_DELAY(Gv_CorDelay/1000)
MOVESCANABS(StartX, StartY)
if(If_End) then
MOVE_DELAY(Gv_LastDelay/1000) '關光延時
if Gv_WorkMode =1 then
MOVE_OP(Gc_Out_Laser, OFF)
ELSE
MOVE_OP(Gc_Out_Red, OFF)
endif
endif
End Sub
'**********************************************************
Global Sub Sub_Move9Point()
Local dScanSize
dScanSize = Gv_MarkSize
MOVE_Aout(Gc_Aout_Laser,Gv_LaserPower) '設置能量
MOVE_op(Gc_Out_LaserEnable,ON) '打開激光使能
MOVE_DELAY(10)
TRIGGER
'繪制橫線
Sub_MoveEmp((-dScanSize/2 - dScanSize/10), 0)
Sub_MoveLine((dScanSize/2 + dScanSize/10), 0,TRUE)
'繪制豎線
Sub_MoveEmp(0, (-dScanSize/2 - dScanSize/10))
Sub_MoveLine(0,(dScanSize/2 + dScanSize/10),TRUE)
'矩形
Sub_MoveEmp(-dScanSize/2, -dScanSize/2)
Sub_MoveRect(-dScanSize/2, -dScanSize/2, dScanSize/2, dScanSize/2,TRUE)
'繪制X
Sub_MoveEmp((dScanSize/2-0.06*dScanSize), -0.02*dScanSize)
Sub_MoveLine((dScanSize/2-0.02*dScanSize), -0.08*dScanSize,TRUE)
Sub_MoveEmp((dScanSize/2-0.02*dScanSize), -0.02*dScanSize)
Sub_MoveLine((dScanSize/2-0.06*dScanSize), -0.08*dScanSize,TRUE)
'繪制Y
Sub_MoveEmp(0.02*dScanSize, (dScanSize/2-0.02*dScanSize))
Sub_MoveLine(0.04*dScanSize, (dScanSize/2-0.05*dScanSize),TRUE)
Sub_MoveEmp(0.06*dScanSize, (dScanSize/2-0.02*dScanSize))
Sub_MoveLine(0.04*dScanSize, (dScanSize/2-0.05*dScanSize),FALSE)
Sub_MoveLine(0.04*dScanSize, (dScanSize/2-0.08*dScanSize),TRUE)
'回原點
FORCE_SPEED = Gv_EmpSp
MOVESCANABS(0,0) '空移到原點
MOVE_Aout(Gc_Aout_Laser,0) '關閉能量
MOVE_op(Gc_Out_LaserEnable,OFF) '關閉激光使能
End Sub
'**********************************************************
Global Sub Sub_Bnt_TaskRun() '九點標定按鈕
STOPTASK 1
RUNTASK 1,Sub_Move9Point
End Sub
'**********************************************************
Global Sub Sub_Btn_TaskStop() '停止按鈕
STOPTASK 1
base(Gc_AxisX,Gc_AxisY)
Cancel(2)
End Sub
(2)HMI界面如下
通過HMI界面可設置激光加工的參數,選擇紅光模式或者激光模式加工,并且能調整振鏡軸的速度,標刻幅面的大小,標刻的軌跡如界面右側所示。
操作流程:基礎參數設置-出光模式選擇-點擊”九點標定“按鈕開始打標,運動時點擊”停止 “按鈕停止運動并關閉出光。
(3)運動效果
通過示波器可采樣振鏡軸的運動波形,采樣振鏡軸4和軸5的位置,激光輸出口OP(8)的狀態,若為紅光模式,采樣OP(48)。
按上圖的運動參數,XY模式下的兩個振鏡軸的插補軌跡如下,軌跡包含打標和空走兩部分,打標軌跡為三部分,十字線+方框+XY字符。
XYZ模式下波形圖如下,加入激光輸出OP(8)的狀態為Z軸參數,上半部分圖形為打標軌跡,下半部分的圖形為空走軌跡。
本次,正運動技術開放式激光振鏡運動控制器(四):ZMC408SCAN振鏡控制光纖激光器加工,就分享到這里。
審核編輯:湯梓紅
-
控制器
+關注
關注
112文章
16447瀏覽量
179462 -
激光器
+關注
關注
17文章
2540瀏覽量
60709 -
光纖
+關注
關注
19文章
3952瀏覽量
73619
發布評論請先 登錄
相關推薦
評論