激光微加工系統(tǒng)及基于DSP+FPGA的控制單元設(shè)計
2.2 下位機硬件系統(tǒng)
下位機硬件系統(tǒng)是以DSP和FPGA為核心的控制單元。為了減少通信的數(shù)據(jù)量,上位機軟件平臺僅僅完成對圖形的簡單解析,大量的數(shù)據(jù)處理工作由DSP 來完成,通過對圖形數(shù)據(jù)和加工參數(shù)的接收處理,生成X/Y方向的速度、方向、加工時間(對應(yīng)直線段的長度)和激光的參數(shù)。FPGA用來實現(xiàn)對運動平臺的控制。圖3為硬件系統(tǒng)的原理框圖。
DSP采用TI公司的TMS320VC5501定點型處理器。該芯片主頻最高為300 MHz,存儲空間為16 KB,支持SDRAM的接口和低內(nèi)核電壓,內(nèi)部集成2個乘法器,每個乘法器在單周期可執(zhí)行17位的乘法運算,滿足微加工系統(tǒng)對數(shù)據(jù)處理方面的要求。DSP 實現(xiàn)的主要工作:與上位機通信;對圖形數(shù)據(jù)進行存儲與讀取;對圖形數(shù)據(jù)進行計算處理,生成符合FPGA工作的加工數(shù)據(jù)格式;把加工數(shù)據(jù)存儲到FPGA加工數(shù)據(jù)區(qū)。
SDRAM用來存儲上位機發(fā)送來的動態(tài)圖形數(shù)據(jù)。當(dāng)開始加工時,DSP從SDRAM中讀取圖形數(shù)據(jù),按照步進電機的控制算法,對每一條直線段進行處理。同時通過RS232串口改變激光的工作模式、能量和脈沖重復(fù)率等參數(shù),并控制激光器的出光。FLASH存儲器用來存放DSP程序,每次上電后,程序自動由FLASH加載到DSP內(nèi)存。CPLD作為DSP的橋路來連接其他器件。
FPGA采用Altera公司的Cyclone系列器件EP1C6T144。EP1C6系列FPGA擁有5 980個邏輯單元和20個M4K RAM塊,總計92 160 bit的內(nèi)置RAM。利用FPGA的高速同步處理特點,實現(xiàn)對多維運動的控制。使用Verilog HDL語言,在Quartus Ⅱ環(huán)境下編寫完成。在一片F(xiàn)PGA芯片上實現(xiàn)了多軸完全相同但彼此相互獨立的操作模塊,又集成了多軸聯(lián)動的處理機制。根據(jù)DSP計算出來的單條直線段的 X/Y速度,輸出對應(yīng)頻率的方波信號控制步進電機的運動。加工時間作為定時器參數(shù)控制所加工直線段的長度,在定時到達后,無延遲地切換到下條直線段的執(zhí)行。為了避免等待數(shù)據(jù)造成的加工停頓,F(xiàn)PGA加工模塊采用了雙存儲器交替加工的結(jié)構(gòu),即在FPGA內(nèi)部有2個完整的存儲單元,每個存儲單元包括4個存儲區(qū):X軸的速度、Y軸的速度、直線段加工時間和激光器的參數(shù)。每個存儲區(qū)最多可以保存128條加工數(shù)據(jù)。當(dāng)FPGA執(zhí)行其中一個存儲單元的加工數(shù)據(jù)時,DSP可以計算并把加工數(shù)據(jù)寫入另一存儲單元,如圖4所示。
為了防止從步進電機驅(qū)動器引入干擾信號到FPGA,在FPGA輸出到電機驅(qū)動器的每路信號上都采用了光電隔離器。此外,為了提高系統(tǒng)精度,有很多輔助設(shè)置應(yīng)用于系統(tǒng)中,這些信號都接入到FPGA,由FPGA進行監(jiān)控。如采用輔助氣體提高加工效果,通過限位開關(guān)進行運動保護等。
2.3 數(shù)據(jù)算法及誤差處理
加工圖形包括了直線、圓、圓弧和其他曲線。按照加工精度要求,在上位機軟件中把圓等曲線分解為一系列首尾相連的矢量,即全部按照直線段進行加工。在直線的加工過程中,根據(jù)步進電機的特性,靜止?fàn)顟B(tài)時有靜摩擦。為了克服靜阻力,使電機平穩(wěn)運轉(zhuǎn),在對電機的控制上,必須有加減速區(qū)的設(shè)置,實現(xiàn)“S”型的步進電機控制曲線(如圖5所示),從而避免了因為起速或減速過快造成的振動,使步進電機產(chǎn)生丟步的現(xiàn)象。加工時電機將按給定的速度逐級變化,V1是步進電機能平穩(wěn)啟動的速度,V是設(shè)置的圖形加工速度??梢?,加減速區(qū)就是用多段幅值較小的速度變化替代一次較大的速度變化。對速度的細(xì)分可以采用列表的方式,DSP在進行輸出處理時,將根據(jù)直線段的長短和要求的加工速度,計算得出加減速區(qū)的級數(shù)。系統(tǒng)采用FPGA定時的方式對加工的長度進行控制,故本系統(tǒng)采用固定每級的加工時間TC來進行加減速區(qū)的處理。
按照上面的算法和處理原理進行了整個系統(tǒng)的設(shè)計,但是加工效果并不好,有些地方圖形不閉合。通過分析加工算法發(fā)現(xiàn),加工誤差主要來源于累積誤差和 FPGA誤差。
為了提高精度,DSP內(nèi)部按照浮點數(shù)據(jù)格式運算,但是送給FPGA的數(shù)據(jù)卻是整型數(shù)據(jù),所以在從浮點轉(zhuǎn)整型數(shù)據(jù)的過程中,小數(shù)位被丟失。當(dāng)矢量個數(shù)很多時,舍棄的小數(shù)位數(shù)據(jù)進行大量累積,使加工效果變差。作為一個現(xiàn)場可編程邏輯芯片,F(xiàn)PGA因為其高速同步的特點,被用于對電機的控制,但其也有自身的缺陷。在排除了其他誤差的可能性后,對FPGA的性能進行了標(biāo)定,發(fā)現(xiàn)隨著速度的提高,F(xiàn)PGA的輸出會產(chǎn)生錯誤。根據(jù)高精度計數(shù)器的標(biāo)定,當(dāng)電機控制信號速度變大后,會有不同程度的脈沖個數(shù)丟失。
在經(jīng)過對上面兩個誤差的修正后,選用硅(100)進行了部分微加工的實驗。通過光學(xué)顯微鏡對結(jié)果進行觀測可知,系統(tǒng)實現(xiàn)了較好的微加工效果。在空氣環(huán)境下,采用20 kHz的激光頻率,獲得激光輸出能量為150 μJ,在2 mm/s的運動速度下加工出微六邊形,如圖6所示。
為了滿足微加工的需要,設(shè)計了納秒脈沖激光微加工系統(tǒng),尤其是實現(xiàn)了具有圖形解析和高速數(shù)據(jù)處理功能的控制單元,解決了現(xiàn)有設(shè)備的關(guān)鍵問題,使加工系統(tǒng)在操作性和精度上都有很大提升,為下一步工作的展開奠定了良好的基礎(chǔ)。
評論