尹 昊,傅子霞,沈 建
(长沙职业技术学院,湖南 长沙410217)
组件制作是将多个电池片串联起来,工作时,回路的电流由串联回路上短路电流最小的电池片决定,参数不匹配的电池片制作的组件,组件的输出功率小于组件上所有电池片输出功率之和。电池片的电阻不匹配会导致串联回路上电阻越大的电池片发热越严重,造成内部损耗,严重时导致火灾。根据电池片本身的转换效率、短路电流、开路电压、填充因子等参数将电池片进行分类,将同一等级的电池片制作成组件,是组件制作的必备步骤。
太阳能晶体硅电池片测试分选设备用于电池片的分类,可用于电池片制作厂家后道工序,也可用于组件制作厂的首道工序。光伏行业一般以电池片制作厂家后道工序检测为主,而组件厂只做来料抽检。太阳能晶体硅电池片测试分选由上料部分、风冷部分、测试部分、分拣部分组成,其各部分通过传送带进行连续流水作业。测试部分是分选系统的核心部分,一般需要将电池片位置进行校准调整后,传送到夹持机构,由电机驱动上下探针排,将探针与电池片的主栅线(如图1电池上的白色栅线)接触,测试机采集探针上的数据进行计算。将单一电池片分别动态和静态重复测试5次,分析测试数据,从而验证分选机的重复性。如何将探针与电池片主栅对准是测试分选机的关键技术。
图1 电池片夹持机构
传统的视觉定位系统采用机械的夹持机构定位,存在定位精度不高,因其接触式的定位方式,容易损伤电池片。后续发展的视觉定位系统,视觉软件拍照以后,计算出偏移数据发送给定位系统,之后将电池片用气缸顶起,XYθ平台进行定位,然后将气缸降下,传送带将电池片传送到测试工位进行测试[1]。这种定位系统在气缸升降过程中会导致电池片发生细微的移动,降低定位精度。同时气缸升降动作和XYθ移动动作过程会降低测试系统的产能。目前这种系统的分选机产能一般低于2 400片/h。为了满足产能要求,设计了一种基于XXY平台的视觉定位测试平台。如图2所示。
图2 XYθ测试平台
视觉定位测试平台由视觉系统和XXY对位平台组成,如图3所示。
图3 视觉定位平台
视觉定位系统由相机、镜头、背光板组成,其中相机是400万像素的CCD相机。
XXY对位平台包括X1、X2和Y三个方向的高精度伺服电机连接丝杆组成的运动机构、螺杆支撑座、交叉滚子导轨、微型导轨、KK模组、锁固螺母、滚珠丝杆等零件组成[2]。探针台通过螺丝安装在XXY对位台上,如图4所示。
图4 XXY对位平台
定位工作流程如下:视觉系统正式工作之前,需要校准参考位置。首先,将标准的电池片放置于探针台位置,通过工控软件操作上探针机构下降,通过人工不断调整,将探针与电池片的主栅线精准对位。然后松开上探针,通过工控软件操作传送带反向移动一个工位的步进距离,操作计算机的视觉软件计算当前的X、Y和θ的值作为原点参考坐标。
电池片在传送带上流水线传送,首先使用气缸驱动的夹持机构对电池片Y方向进行粗定位;然后电池片传送到视觉拍照工位,计算机的视觉软件采集图像数据,经过图像处理后的坐标值与原点坐标计算出X偏移值、Y偏移值和θ偏移值,转换成伺服电机的脉冲值后写入下位机系统,在电池片传送到测试工位的同时控制XXY对位平台移动探针台,在电池片传送到测试工位后探针动作,并启动IV(太阳能模拟器)测试。测试完成后,探针排松开,传送带将电池片继续往后道工位传送,从而完成一个电池片视觉定位的测试周期[3]。
采用基于XXY平台的视觉定位测试平台有以下几个优势:
(1)对位动作与传送带的工位传送动作重叠进行,大大提升效率,分选机产能可以达到4 000片/h。
(2)定位的行程更大,能适用电池片大偏差的工况。
(3)精度更高,重复精度可达2μm。
如图5所示,假设电池片校准时,XXY平台绝对位置为P1点,视觉计算偏移值分别为(Δx、Δy、θ)也就是移动到P2点。
图5 移动示意图
假设旋转θ角度,各轴所需的相对移动量(单位:mm)为:
假设,ratio表示电机驱动平台移动1 mm距离所需要的脉冲数,那么XXY从P1移动P2各轴脉冲数为:
将相机固定在支架上,调节好相机参数、镜头的焦距和曝光强度等。如图7所示,在电池片成像实物图中,从相机读取2048×2048的二维数据的灰阶值(0~255),全黑为0,越白值越大,一般发光板没被遮挡部分灰阶值调整到100~120比较合适。在视觉定位前需要建立相机与电池片在发光板上的坐标系,同时由于每个镜头的畸变程度各不相同,必须先矫正畸变,才能获得精准的坐标值。因此视觉定位的第一步就是进行标定。视觉标定过程不作为本文叙述重点。
整个视觉定位的步骤为:
(1)根据灰阶值的突变,从上往下和从下往上找到传送带10点坐标值,并计算对应的平均值即 :LeftBelt_X1、LeftBelt_X2、Center、RightBelt_X1和RightBelt_X2。
(2)将整面黑色区域的灰阶值相加,与标准片的灰阶值对比,判断电池片是否有损坏,如有损坏则报破片,不进行后续计算。
(3)在电池片上下左右的4个边,每个边寻找n个点,存入对应数组xy;经过畸变矩阵计算每个点的实际坐标值。
(4)采用最小二乘法计算每个数组直线方程y=ax+b中a和b,各点与拟合直线的差值的平方和最小:
(5)计算4条直线的相交点坐标:
图6 电池片成像实物图
假设电池片左边的直线为:
上边的直线为:
左边和上边的相交点为:
依次计算出上边和右边相交点TR、右边和下边相交点BR、下边和左边相交点TB。
(6)根据电池片TL点与BR点、TR点与BL点生成两条直线:
(7)计算L1和L2相交点为电池片的中心坐标:
本文采用Visual Studio2019,使用C#编程语言。
///<param name="xy">采集的直线上的点</param>
///<returns> 直线方程 </returns>
Public Line2D CalLine(Point[]xy)
{
double num1=num2=num3=num4=num5=0.0;
for(int i=0;i<xy.Count;i++)
{
num1+=xy[i].X;
num2+=xy[i].Y;
num3+=xy[i].X*xy[i].X;
num4+=xy[i].X*xy[i].Y;
num5+=xy[i].Y*xy[i].Y;
}
double num6= (xy.Count*num3)-(num3*num3);
line=new Line2D((float)(((xy.Count*num4)-(num1*num2))/num6),(float)(((xy.Count*num4*num1)-(num1*num1*num2))/num6)/(xy.Count*num6)));
return line
}
视觉图像处理后得到的结果转换成XXY平台的脉冲的原型函数代码如下:
//注:this.rate代表XXY平台移动1mm需要的脉冲数。
///<param name="x">电池片x方向偏移量</param>
///<param name="y">电池片y方向偏移量</param>
///<param name="z"> 电池片偏移角度</param>
///<returns></returns>
Public void CalLine(double x,double y,double z1)
{
θX1=((double)((double)315/180))*Math.PI;
θX2=((double)((double)225/180))*Math.PI;
θY=((double)((double)45/180))*Math.PI;
X1_offset=this.rate*r*(Math.Sin(z1+θX1)-Math.Sin(θX1));
X2_offset=this.rate*r*(Math.Sin(z1+θX2)-Math.Sin(θX2));
Y_offset=this.rate*r*(Math.Cos(z1+θY)-Math.Cos(θY));
X1_Pulse=(long)(x*this.rate-X1_offset);
X2_Pulse=(long)(x*this.rate-X2_offset);
Y_Pulse=(long)(y*this.rate-Y_offset);
}
在太阳能晶体硅电池片测试分选设备中,用基于视觉定位的XXY高速测试台取代XYθ定位测试台,将平台定位的时间与电池片工位传送的时间进行重叠,有效地提高了设备的产能。同时XXY视觉定位测试台还具有定位精度高、可调整范围大的特点,在生产线上的实际应用中取得了良好的效果。