高 峰,李 欣
(中国电子科技集团公司第二研究所,山西 太原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行业的发展。