高 峰,李 欣
(中國電子科技集團公司第二研究所,山西 太原030024)
LTCC基板是一種高密度電路封裝基板,其生產制造工藝極其復雜,是將低溫燒結陶瓷粉制成厚度精確而且致密的生瓷帶,在生瓷帶上利用打孔、填孔、印刷等工藝制出所需要的電路圖形,并將多個被動組件(如低容值電容、電阻、濾波器、阻抗轉換器、耦合器等)埋入多層陶瓷基板中,然后疊壓在一起,內外電極可分別使用金、銀、銅等金屬,在900℃下燒結,制成三維空間互不干擾的高密度電路[1]。
在LTCC技術中,有很多影響產品質量的因素存在于打孔、填孔、印刷、疊片、層壓、燒結、劃片等十幾道工序中,每道工序進行過程中出現的誤差都可能導致產品的不合格。其中,生瓷帶打孔機是LTCC基板制造的關鍵工藝設備之一[2]。
隨著電路模塊體積和質量的減小,對生瓷片打孔工藝提出了更高的要求。衡量該工藝的重要指標有沖孔精度、沖孔速度以及邊緣質量。其中,沖孔精度會對之后印刷、疊片、層壓等工序的精度造成極大的影響。沖孔速度則會對生產效率造成影響。沖孔邊緣質量問題,比如邊緣有毛刺、未沖透(尤其帶膜工藝)以及孔有殘屑等,極有可能導致基板開路,甚至失效。
在目前工藝生產中,孔位置精度是從后續工序的檢測設備獲取的,有一定的滯后性,在成本和時間上造成很大的浪費。由于運動平臺在定位時存在誤差,擬對打孔機進行逐點定位精度補償[3]。然而實際生產中,逐點補償(量化為0)的難度較高,因此本文結合歷史數據及相應算法對X、Y軸定位數據進行定位精度補償時,采用的方法是對運動平臺進行劃分區域量化補償,通過分析比較不同的相關算法與量化值,得到補償后偏差最小的結果。之后,根據補償結果,對設備是否可以繼續生產做出決策,從而減少產品報廢。
打孔機精度補償技術是利用激光干涉儀獲取平臺位置與理論位置之間的偏差,并將該偏差反饋給控制系統從而提高運動平臺的定位精度。除此之外,在打完第一片產品之后,通過公式對不同區域中的點進行補償來完成精度補償。這一算法的精度影響著整個設備的性能指標,為減少這一過程浪費的成本和時間,可以利用算法對打孔機運動平臺進行精度自補償。
在打孔機運動平臺系統中,精度自補償算法實際上就是利用機器學習中相關算法學習歷史補償數據,對不同區域中的點進行量化補償,獲取每個區域的補償數據,從而預測新的坐標點需要補償的數值。精度自補償算法流程如圖1所示。
由圖1可知,精度自補償算法的研究主要集中在兩個方面,即數據集的獲取以及量化算法的研究。

圖1 精度自補償算法流程圖
1.1.1 傳感器設置
(1)傳感器安裝位置
水平振動:XY軸上大理石平臺
垂直振動:沖針氣缸附近
(2)傳感器沖擊量程(g=9.8 m/s2)
水平振動:低于10g
垂直振動:2g~10g
(3)傳感器參數
傳感器安裝類型:優先采用接觸式,螺釘安裝諧波頻率范圍:有效諧波范圍初定為4 kHz(高頻),0.5 kHz(低頻)
采樣間隔周期與采樣時間:方案測試階段每10 s采3 s,運行階段每20 s采3 s
1.1.2 打孔機水平移動臺故障分析
水平方向XY移動平臺可能的故障有:
(1)根據水平振動情況確定直線電機、水平臺狀態,判斷是否由于安裝誤差、螺絲松動、粉塵,缺油等引起振動異常、機械囂叫等異常;
(2)根據直線電機電流情況,判斷囂叫原因是否為電氣囂叫、是否產生過大扭矩等異常情況;
(3)根據打孔產品位置偏差確定直線電機累計誤差,確定補償方案。
1.1.3 打孔機數據采集
針對不同情況下的故障,需要將大量打孔機X、Y軸坐標及其對應位置的精度補償數據作為該算法的輸入,求得參數,以便于以后對新的產品直接進行精度補償。為獲取大量數據,基于不同的產品,利用激光干涉儀和3D圖像測量儀測出每個區域需要補償的數值。
目前主流的量化補償的方法包括K-means算法、Lloyd算法和LBG算法[4]。LBG算法是一種矢量量化算法,由Linde、Buzo和Gray將Lloyd算法推廣到輸入為矢量的情形,而Lloyd算法由源于K均值算法(K-means算法)聚類方法。
Lloyd算法是一種K-means迭代算法,其步驟為:
(4)當D(k)-D(k-1)<ε時迭代停止,否則繼續;
從步驟(2)繼續迭代。
各種方法相比,Lloyd Max非均勻量化在打孔機精度補償中,其MSE(均方誤差)損失最小,基本滿足打孔機運動補償要求。
由于打孔機已有的系統是32位WIN 7操作系統,因此本文基于這一系統進行實驗。在實現區域補償的時候,利用python代碼實現算法部分,之后在VB界面中實現這一過程,并進行測試。
Python代碼是在anaconda平臺中實現的。相比單獨安裝python程序,該軟件是一個開源的Python發行版本,包含了Python、Conda等180多個科學包及其依賴項,可以省去很多繁瑣。
在進行精度自補償算法操作時,需要將打孔文件和檢測文件作為輸入,通過1.2節中提到的算法,計算出每個區域的X、Y需要補償的數值,對打孔文件中不同的孔進行補償,輸出一個新的打孔文件,VB界面設置如圖2所示。

圖2 VB界面設置
當安裝好Anaconda時,在cmd中運行python代碼。操作步驟如下:
(1)利用activate切換到base環境,如圖3所示。當運行不同的項目時,可以利用activate+環境名來創建新的環境,而不是在根目錄下運行。

圖3 切換環境
(2)利用cd命令行切換當前文件夾到代碼所在的文件夾,如圖4所示。

圖4 切換文件夾
(3)運行代碼,如圖5所示。

圖5 命令行運行代碼
當VB和python進行通訊時,借助了cmd程序。首先,在txt文檔中保存3.2節中需要執行的代碼語句,并修改其后綴為.cmd,如圖6所示;之后,利用vb6.0中的shell語句進行cmd文件的調用。

圖6 cmd文件
本實驗中打孔文件主要有43204_D17(測試了2次),49553_D09(測試了8次),49553_D11(測試了10次),相同文件每次的補償范圍及偏移量趨勢近似相同,因此取其中一次測試進行實驗比較。現對不同文件進行對比分析。下面以49553_D09文件為例,展示該方法在運動精度補償中的統計分析與具體過程。
3.4.1 X軸精度補償
對X軸進行精度補償時,X方向偏移分布圖和X方向偏移量直方圖如圖7、圖8所示。

圖7 X方向偏移分布圖

圖8 X方向偏移量直方圖
在對X軸進行精度補償時,將數據分為8個區間,每個區間的代替補償值為:

在補償時,需要數據所在的8個區間分別進行補償,每個補償值在實際坐標中的位置如圖9所示。

圖9 某一補償值在實際坐標中的位置
3.4.2 Y軸精度補償
對Y軸進行精度補償時,Y方向偏移分布圖和Y方向偏移量直方圖如圖10、圖11所示。

圖10 Y方向偏移分布圖

圖11 Y方向偏移量直方圖
在對Y軸進行精度補償的時候,將數據分為8個區間,每個區間的代替補償值為:


在補償時,需要數據所在的8個區間分別進行補償,每個補償值在實際坐標中的位置如圖12所示。

圖12 某一補償值在實際坐標中的位置
隨著LTCC工藝水平的飛速發展,高速打孔機的技術不斷受到挑戰。目前,對運動平臺的精度補償已成為提高設備精度必不可少的關鍵技術,代表著先進制造技術的前沿技術。隨著打孔機的廣泛應用,需求增多,對打孔精度和速度的要求增大,運動平臺精度補償算法的提出有利于提升打孔機設備的打孔精度和打孔效率,這一新技術,必將推動打孔機設備的快速發展,從而推動LTCC行業的發展。