張雪蓮,楊 鵬,龐 璐
(中國(guó)電子科技集團(tuán)公司 第四十六研究所,天津 300220)
光纖激光器加工高反射材料產(chǎn)生大量返回光,如果返回光吸收模塊設(shè)計(jì)不完善,則會(huì)對(duì)高精密的光源器件產(chǎn)生不可逆的損傷[1];光纖激光器在將電能轉(zhuǎn)換成光能的過(guò)程中,會(huì)產(chǎn)生大量的熱,如果未開(kāi)啟冷卻系統(tǒng),則在會(huì)造成光源本身的溫升,影響激光器光功率及光束質(zhì)量[2]。因此,對(duì)激光器監(jiān)測(cè)和預(yù)報(bào)警保護(hù)系統(tǒng)的設(shè)計(jì)能有效避免重大損失。隨著USB接口日趨流行,同時(shí)RS232 串口作為一種傳統(tǒng)的通信接口,成本低,數(shù)據(jù)傳輸可靠性高,連線(xiàn)簡(jiǎn)單、通訊距離長(zhǎng)等優(yōu)點(diǎn)[3]?;趦烧邇?yōu)點(diǎn),將USB轉(zhuǎn)RS232串口,并利用Visual Basic編程實(shí)現(xiàn)串口通訊。盡管?chē)?guó)內(nèi)外已有關(guān)于光纖激光器工業(yè)應(yīng)用的研究,但是沒(méi)有詳細(xì)的介紹,同時(shí)價(jià)格高,兼容性低。為解決這些問(wèn)題,本文介紹了激光器的監(jiān)控系統(tǒng)軟、硬件設(shè)計(jì)及其測(cè)試結(jié)果。本設(shè)計(jì)以國(guó)產(chǎn)化、模塊化作為研究的根本目的,具有實(shí)際應(yīng)用意義。本文通過(guò)Visual Basic編寫(xiě)USB轉(zhuǎn)RS232串口通訊的軟件,以STM32F407ZG單片機(jī)為核心設(shè)計(jì)激光器功率驅(qū)動(dòng)控制電路,泵源電流過(guò)大、溫度過(guò)高、回光過(guò)大等故障保護(hù)硬件電路,完成PC端上位機(jī)軟件對(duì)光纖激光器功率控制(0~100%),實(shí)現(xiàn)對(duì)光纖激光器泵源溫度、工作電流大小、激光器功率狀態(tài)等數(shù)據(jù)實(shí)時(shí)采集和監(jiān)測(cè)功能。
激光器安全監(jiān)測(cè)和控制系統(tǒng)設(shè)計(jì)結(jié)構(gòu)如圖1所示,本系統(tǒng)主要分為3個(gè)結(jié)構(gòu):控制層、數(shù)據(jù)層和信號(hào)傳輸層。驅(qū)動(dòng)模塊主要用于實(shí)現(xiàn)激光器功率電流大小控制。數(shù)據(jù)層將采集到的溫度、回光、電流等信號(hào)送給控制層進(jìn)行轉(zhuǎn)換處理,形成采集信號(hào);同時(shí)數(shù)據(jù)層與保護(hù)模塊進(jìn)行閾值比較,如果大于設(shè)定值,則產(chǎn)生報(bào)警信號(hào)。將采集信號(hào)及報(bào)警信號(hào)經(jīng)過(guò)串口傳輸給PC端上位機(jī)完成激光器報(bào)警信號(hào)的實(shí)時(shí)監(jiān)測(cè)及顯示。上位機(jī)通過(guò)發(fā)送命令給主控模塊實(shí)時(shí)采集報(bào)警信號(hào),修改過(guò)程參數(shù),控制光源啟動(dòng),實(shí)現(xiàn)對(duì)激光器的智能化控制;并將采集到的數(shù)據(jù)進(jìn)行復(fù)雜的數(shù)學(xué)計(jì)算及存儲(chǔ)[4-5],實(shí)現(xiàn)更加優(yōu)越的信息處理功能。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
控制層設(shè)計(jì)如圖2所示,整個(gè)系統(tǒng)通過(guò)意法半導(dǎo)體ST公司以ARM CortexTM-M4為內(nèi)核的主控芯片STM32F407ZG及其外圍控制電路,結(jié)合外圍信號(hào)的產(chǎn)生與中斷,實(shí)現(xiàn)激光器平均功率、峰值功率、脈沖頻次和脈沖寬度等參數(shù)的調(diào)節(jié)[6-7]。主控模塊主要負(fù)責(zé)控制光纖激光器電流傳輸,通過(guò)傳感器采集溫度、PD返回光信號(hào),將采集到的電流、溫度、返回光對(duì)應(yīng)的電壓信號(hào)經(jīng)STM32F407ZG內(nèi)部PID算法處理后[8],通過(guò)串口MAX3232與上位機(jī)通信,實(shí)現(xiàn)對(duì)溫度及電流信號(hào)的實(shí)時(shí)監(jiān)測(cè)。
圖2 控制層結(jié)構(gòu)框圖
STM32F407ZG芯片I/O端口D是12bit的D0~D11,依次對(duì)應(yīng)功率大小PD0~PD11,設(shè)Pin口的輸入范圍為0~4 095,對(duì)應(yīng)0~100%的標(biāo)稱(chēng)功率值。上位機(jī)設(shè)置好激光器功率大小及工作模式,通過(guò)USB轉(zhuǎn)串口傳輸給主控模塊,主控模塊配置好激光器工作模式,將輸入的功率二進(jìn)制信號(hào)送給數(shù)模轉(zhuǎn)換器DAC,得到對(duì)應(yīng)功率電壓大小0~2 V。如果收到啟動(dòng)命令,則選通多路模擬開(kāi)關(guān),輸出當(dāng)前功率對(duì)應(yīng)的電壓大小,控制驅(qū)動(dòng)模塊的恒流源電路,驅(qū)動(dòng)激光器的泵源工作。
激光器數(shù)據(jù)層主要分為泵源溫度、電流、回光采集、保護(hù)模塊如圖3所示。
圖3 數(shù)據(jù)層結(jié)構(gòu)圖
在激光器泵源關(guān)鍵點(diǎn)設(shè)置溫度傳感器(10 K負(fù)溫度系數(shù)熱敏電阻),通過(guò)基準(zhǔn)電路采樣溫度電壓,將此傳感采樣電壓經(jīng)OPA4340運(yùn)算放大器換算后送STM32F407ZG經(jīng)PID計(jì)算,得到相應(yīng)溫度值存儲(chǔ)于寄存器,然后經(jīng)串口傳輸給上位機(jī)解碼后,實(shí)時(shí)顯示激光器采樣溫度[9]。同時(shí)設(shè)計(jì)通過(guò)電壓比較器LM2901組成的電路為激光器提供溫度比較保護(hù),上位機(jī)軟件能設(shè)置溫度報(bào)警門(mén)限,下發(fā)給激光器主控模塊,當(dāng)溫度采集信號(hào)高于報(bào)警值,則產(chǎn)生報(bào)警信號(hào)AMT,中斷驅(qū)動(dòng)電流輸出,避免激光器由于泵源或者熔點(diǎn)溫度過(guò)高而導(dǎo)致光功率、光譜性能的下降[10-11]。
驅(qū)動(dòng)模塊設(shè)有電流采集及保護(hù)電路,如果調(diào)節(jié)的某組電流大小超過(guò)閾值,則使STM32F407ZG芯片I/O口F的0~7 bit對(duì)應(yīng)位置高。假設(shè)若為第二組過(guò)流,則產(chǎn)生一個(gè)過(guò)流信號(hào)SW為0X02存儲(chǔ)于寄存器中,同時(shí)觸發(fā)中斷,關(guān)閉激光器功率電壓輸出,并產(chǎn)生過(guò)流信號(hào)通過(guò)串口傳輸給上位機(jī)實(shí)時(shí)顯示當(dāng)前報(bào)警,執(zhí)行軟件關(guān)閉出光命令,達(dá)到硬件和軟件雙重保護(hù)激光器工作的目的。
激光器回光采集、保護(hù)模塊采用InGaAs PIN光電探測(cè)器PD將不同的功率的激光器返回光信號(hào)轉(zhuǎn)換為電流信號(hào),經(jīng)運(yùn)算放大器POA4340組成I-U電路和電壓跟隨電路得到穩(wěn)定的回光電壓值,然后輸出給LM2901組成的比較電路,上位機(jī)通過(guò)串口設(shè)置回光PD電壓閾值,下發(fā)給主控STM32F407模塊,經(jīng)其內(nèi)部DAC數(shù)模轉(zhuǎn)換處理后,與采集的回光電壓值比較,完成回光信號(hào)的實(shí)時(shí)采集和報(bào)警保護(hù)處理,實(shí)現(xiàn)激光器回光過(guò)大保護(hù)功能[12-13]。
PC端上位機(jī)軟件串口通信模塊主要由上位機(jī)作為主控制器,運(yùn)行底層串口通信程序和頂層的應(yīng)用程序,通過(guò)其USB接口與主控模塊進(jìn)行數(shù)據(jù)和指令的下發(fā)和上傳,控制激光器運(yùn)行模式、功率、頻率、占空比、電流、溫度、回光等各種信號(hào)的監(jiān)控和實(shí)時(shí)顯示。USB 轉(zhuǎn) RS232模塊采用英國(guó)FTDI的FT232專(zhuān)用轉(zhuǎn)換芯片和一些外圍的電阻和電容構(gòu)成,以實(shí)現(xiàn)USB數(shù)據(jù)和RS232數(shù)據(jù)的相互轉(zhuǎn)換和雙向傳輸[14]。由MAX公司的MAX3232電平轉(zhuǎn)換芯片和一些外圍電容構(gòu)成,其主要工作是將RS232電平和TTL/CMOS電平進(jìn)行相互的轉(zhuǎn)換,保證電氣特性匹配,實(shí)現(xiàn)與主控芯片STM32F407ZG的通信。此串口通信模塊基于MCU/PLD/FPGA到USB口的工業(yè)控制,兼容性強(qiáng)、高效穩(wěn)定[15]。
Microsoft Communications Control(MSComm)是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法[16]。本設(shè)計(jì)采用MSComm通信事件驅(qū)動(dòng)方法,通過(guò)MSComm控件的output屬性給串口端發(fā)數(shù)據(jù),設(shè)置Rthreshold為 1。接收緩沖區(qū)收到每一個(gè)字符都會(huì)使MSComm控件產(chǎn)生OnComm事件。當(dāng)接收緩沖區(qū)中有數(shù)據(jù),OnComm事件捕獲并處理這些通訊事件,程序響應(yīng)及時(shí),可靠性高[17]。串口通信模塊初始化程序設(shè)計(jì)如圖4所示,設(shè)計(jì)思路如下:
圖4 初始化配置流程圖
1)確定USB口輸入的端口號(hào)Comportnum=Val(Right(Cbo1.Text, 1)),配置傳輸?shù)牟ㄌ芈? 600 bps,校驗(yàn)位(n,無(wú)),數(shù)據(jù)位(8Bit)、停止位(1Bit),F(xiàn)rmLasercontrol.Com1.Settings="9 600,n,8,1",傳遞給CmdPortset_Click()函數(shù)打開(kāi)對(duì)應(yīng)端口。串口通信,主從雙方波特率須保持一致,才能對(duì)數(shù)據(jù)進(jìn)行有效的傳輸,波特率高,則有效傳輸距離短,根據(jù)激光器實(shí)際應(yīng)用情況,5 m左右即滿(mǎn)足通信距離需求,同時(shí)為兼顧數(shù)據(jù)傳輸速率,本設(shè)計(jì)設(shè)置波特率為9 600。
2)串口初始化,即串口超時(shí)設(shè)置,設(shè)置timer的enabled屬性為true,若緩沖區(qū)有數(shù)據(jù),則開(kāi)始讀寫(xiě)寄存器;若設(shè)超時(shí)port_timeout=1 000(毫秒級(jí)),等待1 000 ms后串口初始化,調(diào)用數(shù)據(jù)傳輸函數(shù),判斷接收或輸入?yún)^(qū)是否有數(shù)據(jù),若緩沖區(qū)等待超時(shí),1 000 ms后,enabled 屬性為false,通信超時(shí)[18];
3)設(shè)置接收和發(fā)送緩沖區(qū)大小FrmLasercontrol.Com1.InBufferSize=1 024,F(xiàn)rmLasercontrol.Com1.OutBufferSize=1 024,調(diào)用函數(shù)sendconfig()、write_reg(),啟動(dòng)數(shù)據(jù)傳輸。
本系統(tǒng)上、下位機(jī)(即主控模塊)通信一幀數(shù)據(jù)包的16進(jìn)制格式為:
02 10 00 01 00 06 00 0C ConfigurationH(1~6) ConfigurationL(1~6),其中02為本機(jī)地址,10為功能碼(此處為給下位機(jī)發(fā)送激光器各參數(shù)命令碼),00 01為寄存器Configuration()的起始地址,00 06為下發(fā)的數(shù)據(jù)個(gè)數(shù),00 0C為下發(fā)數(shù)據(jù)字節(jié)數(shù),ConfigurationH(0~6) ConfigurationL(0~6)為給下位機(jī)發(fā)送的控制激光器運(yùn)行的各類(lèi)參數(shù),最后進(jìn)行CRC校驗(yàn)(數(shù)據(jù)低位在前),完成此數(shù)據(jù)包的配置,實(shí)現(xiàn)數(shù)據(jù)的可靠發(fā)送,上位機(jī)串口發(fā)送數(shù)據(jù)流程如圖5所示。
圖5 串口發(fā)送數(shù)據(jù)流程圖
上位機(jī)串口數(shù)據(jù)發(fā)送代碼如下:
Public Sub sendconfig()
Dim sbyte() As Byte
If paramerter_config = 1 Then '1為下發(fā)功率
ReDimsbyte(20) As Byte
sbyte(0) = &H2
sbyte(1) = &H10
sbyte(2) = &H0
sbyte(3) = &H1 '模式起始地址
sbyte(4) = &H0
sbyte(5)=&H6 '數(shù)據(jù)個(gè)數(shù)sbyte(6) = &HC '下發(fā)字節(jié)數(shù)
sbyte(7) = ConfigurationH(1) '光源控制方式
sbyte(8) = ConfigurationL(1)
sbyte(9) = ConfigurationH(2) '調(diào)制方式
sbyte(10) = ConfigurationL(2)
sbyte(11) = ConfigurationH(3) '電流控制方式
sbyte(12) = ConfigurationL(3)
sbyte(13) = ConfigurationH(4) '內(nèi)部電流設(shè)置 1%~100%
sbyte(14) = ConfigurationL(4)
sbyte(15) = ConfigurationH(5) '內(nèi)部脈沖頻率值 1 000~50 000 Hz
sbyte(16) = ConfigurationL(5)
sbyte(17) = ConfigurationH(6) '內(nèi)部輸出脈寬值1~99%
sbyte(18) = ConfigurationL(6)
Call CRC16_Check(sbyte(), 18)
FrmLasercontrol.Com1.RThreshold = 1
FrmLasercontrol.Com1.Output = sbyte
Start_Addr = sbyte(3)
Num_word = sbyte(5)
Num_byte = Num_word * 2
End If
End Sub
本系統(tǒng)設(shè)計(jì)的電流、溫度大小采集及其故障狀態(tài),回光故障等存儲(chǔ)于寄存器StatusRegister()中,起始地址Start_Addr為101,而上位機(jī)對(duì)下位機(jī)參數(shù)、功率、頻率、占空比等配置于寄存器Configuration()中,Start_Addr為0~100;若Start_Addr>100,則接收的為激光器光功率電流控制方式,設(shè)置為外部DA控制(0x0000:內(nèi)部DA控制功率輸出;0xff00:外部0~10 V控制功率輸出,0~10 V對(duì)應(yīng)功率0~100%),系統(tǒng)采用構(gòu)造簡(jiǎn)單、功能強(qiáng)大的Modbus協(xié)議作為上下層通信協(xié)議[19],首先進(jìn)行CRC校驗(yàn),校驗(yàn)成功,判斷是本機(jī)地址MOD_ADDR即02,通信成功才開(kāi)始判斷寄存器地址碼,然后存入相應(yīng)寄存器,完成數(shù)據(jù)的寫(xiě)配置。通過(guò)MSComm控件的Input屬性讀串口端收到的數(shù)據(jù)[20],上位機(jī)串口接收數(shù)據(jù)流程如圖6所示。
圖6 串口接收數(shù)據(jù)流程圖
上位機(jī)串口數(shù)據(jù)接收代碼如下:
Public Sub readconfig()
mbuf= Com1.Input ' 串口接收數(shù)據(jù)
If checkPack_CRC(mbuf) Then
If mbuf(0)= MOD_ADDR Then '本機(jī)地址02
If mbuf(2)=Num_byte Then '下發(fā)數(shù)據(jù)個(gè)數(shù)
Call write_reg(mbuf)
End If
End If
End If
End Sub
Public Sub write_reg(buf() As Byte
If Start_Addr< 101 Then
For i = 1 To Num_word
Configuration(Start_Addr + i - 1) = buf(2 * i + 1) * CLng(256) + buf(2 * i + 2)
Next i
Else
If ConfigurationH(3) = &HFF And ConfigurationL(3) = &H0 Then
externalPower=CLng(StatusRegister(12) * 100 / 3441) '外部DA
If externalPower> 100 Then
externalPower = 100
End If
Poutset.Text = external Power & "%"
End If
End If
End Sub
通過(guò)本系統(tǒng)控制功率300 W(本設(shè)計(jì)適用于0~5 000 W的激光器控制系統(tǒng)),波長(zhǎng)為1 080 nm的光纖激光器工作,將上位機(jī)與激光器通過(guò)USB轉(zhuǎn)串口通訊線(xiàn)連接,啟動(dòng)激光器,配置好通信端口,進(jìn)入上位機(jī)控制界面。使用內(nèi)部使能,內(nèi)部功率,內(nèi)部調(diào)制模式(即 Configuration的1~3字節(jié)均為0x0000),并下發(fā)100%功率控制命令。主控模塊按照協(xié)議接收并解壓數(shù)據(jù),將輸入的功率二進(jìn)制信號(hào)送給數(shù)模轉(zhuǎn)換器DAC,得到對(duì)應(yīng)功率電壓大小;如果收到啟動(dòng)命令,則選通多路模擬開(kāi)關(guān),輸出當(dāng)前功率對(duì)應(yīng)的電壓大小,控制驅(qū)動(dòng)模塊的恒流源電路,驅(qū)動(dòng)激光器的泵源工作,實(shí)現(xiàn)連續(xù)控制激光器輸出激光目的。實(shí)際測(cè)試時(shí),首先連接串口線(xiàn),打開(kāi)整機(jī)電源,然后選擇全內(nèi)部模式,選擇對(duì)應(yīng)功率后,點(diǎn)擊上位機(jī)啟動(dòng)按鍵,即可控制激光器輸出激光,從而得到所需測(cè)試數(shù)據(jù),圖7為上位機(jī)參數(shù)下發(fā)界面圖。為得到激光輸出時(shí)泵源工作溫度曲線(xiàn),激光輸出功率曲線(xiàn),分別選擇功率20%、40%、60%、80%、100%時(shí)進(jìn)行測(cè)試。
圖7 上位機(jī)參數(shù)下發(fā)界面圖
將輸出功率、泵浦溫度等數(shù)據(jù),利用VB的圖象控件和曲線(xiàn)函數(shù)實(shí)現(xiàn)對(duì)采集數(shù)據(jù)的分析處理,直觀(guān)地顯示出所采集數(shù)據(jù)的變化趨勢(shì)。測(cè)試結(jié)果如圖8光纖激光器數(shù)據(jù)采集曲線(xiàn)所示,橫坐標(biāo)表示激光器電流大小I(A),即采樣電流大小分別為2、4、6、8、10,單位A,0~10 A電流對(duì)應(yīng)控制的激光輸出功率為0~100%,可以看出隨著功率升高,泵浦溫度穩(wěn)定。表1中泵浦功率為實(shí)際標(biāo)稱(chēng)值,根據(jù)測(cè)試結(jié)果由:效率=(輸出效率/泵浦功率)*100%,可計(jì)算出不同功率時(shí)激光輸出效率,光纖激光功率輸出轉(zhuǎn)換效率曲線(xiàn)如圖9所示,可讀出當(dāng)功率為100%時(shí),激光輸出效率高達(dá)70.53%。對(duì)激光器整機(jī)經(jīng)過(guò)72 h滿(mǎn)功率連續(xù)激光輸出,功率穩(wěn)定性如圖10所示,72 h內(nèi)的最大輸出功率值為300 W,最小為290 W,平均功率為295.28 W,根據(jù)測(cè)試結(jié)果由:功率不穩(wěn)定性=(PMAX-PMIN)/PAVR*100%,可計(jì)算72 h內(nèi)激光功率輸出不穩(wěn)定性為3.4%,即穩(wěn)定度為96.6%。
圖8 光纖激光器數(shù)據(jù)采集曲線(xiàn)
圖9 光纖激光功率輸出轉(zhuǎn)換效率曲線(xiàn)
圖10 72 h功率穩(wěn)定性測(cè)試曲線(xiàn)
經(jīng)72 h老化后激光功率輸出不穩(wěn)定度為3.4%,實(shí)際生產(chǎn)時(shí)光路設(shè)計(jì)上可采用加強(qiáng)泵浦溫度控制,提高光束質(zhì)量,有效抑制光子暗化等方式更進(jìn)一步改善輸出功率穩(wěn)定性[21]。本文通過(guò)Visual Basic編寫(xiě)PC端上位機(jī)軟件,控制以STM32F407ZG單片機(jī)為主控芯片設(shè)的計(jì)激光器功率驅(qū)動(dòng)電路,可實(shí)現(xiàn)0~100%功率控制;整個(gè)系統(tǒng)具有泵源電流過(guò)大、溫度過(guò)高、回光過(guò)大等故障保護(hù)功能,并能光纖激光器泵源溫度、工作電流大小、激光器功率狀態(tài)等數(shù)據(jù)實(shí)時(shí)采集和監(jiān)測(cè)。
綜上所述,本文設(shè)計(jì)的激光器安全監(jiān)測(cè)和控制系統(tǒng)穩(wěn)定,光光轉(zhuǎn)換效率高達(dá)70.53%,穩(wěn)定度高達(dá)96.6%。實(shí)時(shí)監(jiān)測(cè)的PC端上位機(jī)軟件操作方便,可視化強(qiáng),串口通信傳輸可靠。激光器電路結(jié)構(gòu)模塊化,維護(hù)方便;整個(gè)系統(tǒng)具有故障保護(hù),數(shù)據(jù)實(shí)時(shí)采集和監(jiān)測(cè)等功能,已廣泛應(yīng)用于光纖激光器切割、焊接、精密打孔、3D雕刻等工業(yè)加工領(lǐng)域。