一种PCB的铜箔覆盖率的计算方法与流程

文档序号:16540624发布日期:2019-01-08 20:20阅读:2041来源:国知局
一种PCB的铜箔覆盖率的计算方法与流程

本发明属于电路板加工技术领域,具体涉及一种pcb的铜箔覆盖率的计算方法。



背景技术:

印制电路板又称为印刷电路板,能够实现电子元件的电气连接,可以大大减少布线和装配的尺寸和差错,提高了自动化水平和生产效率。近十几年来,我国电力电子产业和印制电路板制造行业发展迅速,电路板的电镀和制造工艺也在不断发展。随着电子工业的发展,电力电子设备日益呈现出微型化、集成化趋势,在这种趋势下对电路的热设计提出了更高的要求。一般来说,在电力电子设备设计初期都会对电路和元器件进行热仿真分析,优化电路板元器件布局和散热结构。由于印刷电路板是铜箔层和fr-4叠加起来的复合材料,其导热性能会呈现出切向和法向各向异性的导热特性。pcb的导热系数会随着铜箔覆盖率的不同而变化,在诸如flotherm和icepak等主流的热分析软件中对pcb进行热分析需要输入铜箔的覆盖率这一参数,大部分工程师对这一参数选择目视估算的方法,这种做法误差很大很难实现对印刷电路板的进行准确的仿真与分析。

另外,在印制电路板的加工过程中,需要根据电路板表面呈现出来的铜箔面积来计算电镀电流,这样才能得到符合镀层厚度要求的印制电路板。其中电镀电流是电流密度与被电镀工件表面积的乘积,电流密度定义为单位被镀材料的表面积的电流值,印制电路板电镀铜箔图形面积的获得一般有膜面积积分仪法、称重计算法、目视估算法、cam软件计算法和菲林扫描法这5种方法。其中膜面积积分仪法专用设备昂贵;称重法和菲林扫描法步骤繁琐,误差大;目视估算法误差较大;cam软件计算法受软件限制。



技术实现要素:

为了解决上述问题,本发明提供了一种pcb的铜箔覆盖率的计算方法,简单、易操作,且计算精度较高能够满足热分析和电镀电流的计算的要求。

本发明的技术方案为:一种pcb的铜箔覆盖率的计算方法,包括以下步骤:

(1)采集包含有pcb图像的图片;

(2)获取所述图片中pcb图像的像素的总个数、铜箔像素个数以及非pcb图像区域的非pcb图像像素个数;

(3)按照公式(ⅰ)计算得到铜箔覆盖率,

本发明通过对采集的印刷电路板(pcb)的图像进行扫描和识别,分别统计铜箔像素个数和印刷电路板像素总个数,两者的比值可等效为印刷电路板的铜箔覆盖率。

本发明中对图像像素的采集方式有多种,采用现有多种像素个数统计方式均可。

作为优选,所述步骤(1)中,通过matlab读取并显示所述图片。本发明可以基于matlab进行图像处理。处理时,例如可以利用电脑截图工具截取cad软件设计好的pcb图像,截图尺寸按照pcb最大尺寸截取,可根据实际印刷电路板的形状和尺寸调整,图像截取好后保存在固定路径下并保存为matlab支持的真彩色图片格式便于对图片进行读入与处理。再根据图片路径,将采集所得的pcb图像通过图片读入函数读入特定路径下的图片文件到matlab中并显示出pcb原图像。;

作为优选,所述步骤(2)中包括以下步骤:

(2-1)分别单击任意铜箔图像部分和非pcb图像区域,获得铜箔像素的rgb值和非pcb图像像素的rgb值,并将获取的铜箔像素的rgb值和非pcb图像像素的rgb值分别存储在变量中;

(2-2)扫描采样图像中每一个像素,比较像素中存储的不同rgb值与采集到的铜箔rgb阈值和非pcb区域的rgb阈值是否一致,设定判别程序,根据不同的rgb值反映出来的颜色差异可以区分出铜箔区域、非铜箔区域和非pcb图像区域;

(2-3)统计铜箔像素个数、pcb图像的像素的总个数以及非pcb图像区域的非pcb图像像素个数。

本发明可以预先分别单击任意铜箔图像部分和非pcb图像区域,获得铜箔像素的rgb值和非pcb图像像素的rgb值,并将获取的铜箔像素的rgb值和非pcb图像像素的rgb值分别存储在变量中,即采集获得铜箔rgb阈值和非pcb区域的rgb阈值;

统计铜箔像素的个数、pcb图像像素的总个数和非pcb图像像素个数,同时把非铜箔像素的rgb值置0,即把所有非铜箔区域颜色黑化便于观察铜箔分布情况。

作为优选,铜箔像素的rgb值为红、绿、蓝三个颜色通道的值,且每个通道共有256级。

作为优选,通过交互函数impixel采集rgb值。

与现有技术相比,本发明的有益效果体现在:

(1)本发明通过对采集的印刷电路板的图像进行扫描和识别,分别统计铜箔像素个数和印刷电路板像素总个数,两者的比值可等效为印刷电路板的铜箔覆盖率。

(2)本发明可以基于matlab的可视化交互式程序设计平台,实现印制电路板图像的采集、处理和计算,由于matlab在数据处理和图像处理强大的功能和简易的操作在一定程度上摆脱了传统非交互式程序设计语言的编辑模式,能够快速、便捷地计算出铜箔覆盖率。本发明不需要通过积分计算铜箔面积,避免了繁琐的计算步骤和大量的计算时间,能够实现快速便捷地获取铜箔覆盖率这一参数。

附图说明

图1为本发明印制电路板原图像显示图。

图2为本发明中印制电路板图像对比处理后的铜箔图像显示图。

具体实施方式

实施例1

一种基于matlab的铜箔覆盖率的计算方法,具体如下:

1)首先是对pcb图像进行采集,利用电脑自带的截图工具截取altiumdesigner软件中的pcb图像。所述截图尺寸按照最大尺寸截取,可根据实际印刷电路板的形状和尺寸调整。图像截取好后保存在固定路径下并保存为matlab支持的rgb图片格式便于对图片进行读入与处理。

2)根据图片路径,将采集所得的pcb图像通过图片读入函数读入特定路径下的图片文件到matlab中并显示pcb原图像,显示窗口名称为pcb铜箔像素采样。图片读入程序代码如下:

clc;

clearall;

closeall;

imgfolder='h:\';

imgname='pcb.png';

pcb_picture=imread(fullfile(imgfolder,imgname));

figure(1);

imshow(pcb_picture);

title('pcb铜箔像素采样');

3)在像素采样图像中,调用交互函数impixel采集铜箔像素,通过鼠标先后单击图像中任意铜箔部分和非pcb图像区域即可返回铜箔像素的rgb值以及非pcb图像区域像素的rgb值,并将获取的铜箔显示像素的rgb值分别存储在变量red、green和blue中,非pcb图像区域的非pcb图像像素rgb值存储在变量empty_red、empty_green、empty_blue中,获得图像中不同材料区域的像素阈值。像素采样程序代码如下:

rgb=impixel(pcb_picture);

red=rgb(1,1);

green=rgb(1,2);

blue=rgb(1,3);

empty=impixel(pcb_picture);

empty_red=empty(1,1);

empty_green=empty(1,2);

empty_blue=empty(1,3);

[a,b,c]=size(pcb_picture);

4)扫描采样图像中每一个像素,利用循环语句扫描图像的每一个像素点,比较像素点中存储的不同rgb值与采集到的铜箔rgb阈值和非pcb区域的rgb阈值是否一致。设定判别程序,通过比较图像中每个像素是否在采样像素的阈值内可以判断此像素点的所属区域,根据不同的rgb值反映出来的颜色差异可以区分出铜箔区域、非铜箔区域和非pcb图像区域。统计铜箔像素的个数、pcb图像像素的总个数和非pcb图像区域的像素个数,同时把非铜箔像素的rgb值置0,即把所有非铜箔区域颜色黑化便于观察铜箔分布情况。图像扫描和识别程序代码如下:

5)显示处理后的图像,可以清晰地观察出铜箔地分布情况。同时根据所述地统计出来的铜箔像素个数和p图像像素的总个数以及非pcb图像区域像素个数,利用铜箔覆盖率等效计算公式计算得到铜箔覆盖率并显示在matlab工作窗口中。铜箔覆盖率计算可以等效为铜箔像素的个数与pcb图像像素的个数之比,计算铜箔覆盖率的公式如下:

铜箔覆盖率=铜箔像素个数/(图像像素总个数-非pcb图像像素个数)×100%

计算铜箔覆盖率程序代码如下:

figure(2);

imshow(pcb_picture);

title('处理后pcb铜箔的图像显示');

total_pixel=a*b;

coverage_copper=number_pixel/(total_pixel-empty_pixel)

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1