基于FPGA的工业PCB板元器件检测系统设计

2022-09-26 14:57章欢乐陈亚萍孙成立
仪表技术与传感器 2022年8期
关键词:元器件图像处理电路

章欢乐,陈亚萍,孙成立

(1.江西工程学院电子信息工程学院,江西新余 338000;2.南昌航空大学信息工程学院,江西南昌 330063)

0 引言

近年来,电子工业技术发展迅速,PCB电路板作为各种电子元器件信息的高度集合体,广泛应用于电子工业领域[1],工业需求的不断提高,促使PCB电路板制程工艺不断发展,高精度、高性能的制程工艺快速更新,体积小、多层化成为PCB的发展方向。随着工业需求的提升和制程工艺的进步,给传统的PCB元器件质检工作带来困难。如何实现精准、高效的PCB元器件自动检测,一直是电子工业领域非常重视的一个问题[2]。

在PCB板元器件自动检测方面,高校、科研院所和企业等已经做了很多研究。李正明等[3]针对传统PCB检测方法高成本、低效率问题,将标准图像和待测图像进行对比,检测电路板缺陷;赵翔宇等[4]提出了一种基于数学形态学与种子填充相结合的分层提取匹配算法,检测PCB中的贴片电阻和电容丢失与立碑问题,在检测速度上取得了很好的效果;王永利等[5]提出一种基于深度学习的PCB缺陷识别算法,10类PCB板缺陷分类实验达到96.67%的识别率。上述3项研究针对不同的问题都提出了很好的解决方法,但是基本都停留在算法阶段的研究,难以直接进行工业化生产的推广。许艳等[6]针对PCB元器件在贴装过程中出现贴装错误的问题,设计了基于树莓派的元器件检测系统,实现了电子元器件正误的自动检测;马宇峰等[7]设计了以树莓派4B为硬件平台,基于卷积神经网络的PCB板元件缺陷检测系统;闫梦涛[8]针对元器件漏插、错插、插反等问题,设计了以上位机为处理中心的检测系统。上述3项研究虽然都进行了系统设计,但是在检测速度和成本上有待提高。

本文设计了基于FPGA的工业PCB板元器件检测系统,完成了系统软、硬件的设计,实现了元器件的位置感应,图像的采集、处理和不合格PCB板的剔除等操作。

1 系统总体设计

基于FPGA的工业PCB板元器件检测系统由图像处理与控制模块、电源模块、图像采集模块、光电检测模块和剔除模块组成。通过光电传感器件检测当前位置是否存在PCB板,经过传感器的输出电平触发FPGA命令CCD相机实时采集PCB板元器件表面图像,图像返回FPGA进行元器件图像的处理与装贴情况检测,剔除模块依照检测结果去除贴装错误的PCB板,电源模块为系统模块供电。图1为系统总体框图。

2 硬件设计

系统硬件主要由图像处理与控制模块、电源模块、图像采集模块,光电检测模块和剔除模块的硬件组成。FPGA芯片作为控制平台和图像处理中心,协调多个硬件模块正常运行,并进行图像处理,实现PCB元器件贴装检测功能。

2.1 图像采集模块电路

CCD工业相机是具有电荷耦合器件的摄像机,相较于其他类型的相机具有更好的成像效果,常应用于工业生产中。系统采用OV5640摄像头,像素为500万,焦距可调,使用I2C驱动,3.3 V供电,支持多种像素格式输出。具有体积小、功耗低、寿命长、畸变小等优点。OV5640摄像头通过排插与FPGA芯片连接。图2为2×9pin的排插原理图。

图2 图像采集模块电路

2.2 光电检测模块

系统使用对射式光电传感器,它的原理是如果待检位置存在目标则会阻断发射器的光线进入接收器,从而判断待检位置不存在目标,具有灵敏度高、反应快的优点。采用PM-TF15/30型光电传感器,对射距离1 m、工作电压5 V、响应时间2 ms,具有安装简单、使用寿命长等优点。图3为光电检测模块电路。由于输出电压为0或5 V,为了避免烧坏FPGA芯片引脚,使用电阻R2、R3建立了分压电路。

图3 光电检测模块电路

2.3 剔除模块电路

FPGA引脚连接三极管,通过三极管的通断控制继电器的吸合,继电器连接电机,电机轴上装配挡杆。模块得到剔除指令后,通过关联机构使挡杆旋转1周,将当前挡杆位置正下方的目标剔除。图4为剔除模块电路图。D1为电路保护二极管,JK1为JQC-3FF-005-S-Z型的12 V继电器,动作时间小于等于10 ms。

图4 剔除模块电路

2.4 图像处理与控制模块电路

该模块硬件主要由FPGA芯片最小系统、SDRAM芯片和FLASH芯片组成,如图5所示。由于FPGA需要进行图像处理和逻辑判断等大量运算,因此芯片需要有丰富的布线资源、可编程逻辑单元和内存资源,采用EP4CE10F17C8型FPGA。该款芯片拥有10 320个逻辑单元、414 Kbits的嵌入式存储资源、23个18×18的嵌入式乘法器、2个通用锁相环、10个全局时钟网络、8个用户I/O BANK和最大179个用户I/O。进行图像处理时需要使用空间存储量大、读写速度快、价格低的芯片存储大量缓冲数据,因此系统采用W9825G6KH型SDRAM芯片进行数据缓冲,该芯片内存空间为32 MB,时钟频率最高为166 MHz。在FPGA上电后,需要一个外部芯片在短时间内将程序加载至FPGA,并且这个外部芯片存储的程序在掉电后不可丢失,这个外部芯片是FPGA的配置芯片。配置芯片用于储存FPGA的程序和预先制作的PCB元器件信息,系统采用的FLASH芯片型号为M25P16、内存为2 MB。

由于FPGA和MCU在内部结构上的不同,单一硬件电路原理图并不能将FPGA内部的设计清晰、完整描述,因此添加了FPGA内部结构设计图,如图6所示。50 MHz的晶振经过PLL分频给多个模块提供时钟信号,编写读引脚电平模块,检测光电传感器输出信号。编写I2C和SPI驱动程序使能摄像头和FLASH芯片,读取FLASH内的元器件信息,对采集的图像进行缓存和处理,判断模块控制高低电平输出。控制继电器吸合,完成系统功能。

图6 FPGA内部设计结构图

2.5 电源模块电路

系统电压多样,OV5640摄像头供电电压为3.3 V,PM-TF15/30型光电传感器供电电压为5 V,12 V继电器以及FPGA芯片的1.2 V、2.5 V和3.3 V 3种电压。设计了图7所示系统电源电路。将12 V适配器作为系统电源,经过线性稳压降压芯片产生不同的电压。MP2359属于开关型DC/DC降压芯片,输出电压可调,最大输出电流1.2 A,内部封装有多种保护电路。ASM1117属正向低压降稳定器,提供多种固定输出,内部封装了过热保护和限流保护电路。使用上述2种芯片设计的电源模块电路具有输出稳定和造价低等优势。

图7 系统电源电路

3 软件设计

3.1 控制模块软件

控制模块软件的主要功能是通过硬件描述语言协调FPGA与外围应用设备的正常运行。具体流程图如图8所示。

图8 控制模块软件流程

FPGA初始化后读取预先设置在FLASH内的元器件数据,并将数据解码生成元器件的型号、坐标和封装等信息,光电检测器输出电压信号被FPGA周期性检测,设计的检测周期为10 μs,摄像头由FPGA触发拍摄PCB元器件表面图像,输出格式根据需求调节,图像的处理和元器件的贴装判断由图像处理部分完成,根据图像处理部分的输出结果判断当前PCB板是否保留。

3.2 图像处理模块软件

图像处理模块软件的功能是得到PCB元器件图像后通过图像滤波、空间转换和特征点匹配等数字图像处理算法对元器件是否存在漏贴、贴错情况进行判断,并将判断结果输出。其具体流程如图9所示。

图9 图像处理模块流程

进入图像处理模块后,首先根据预设的元器件坐标、类型和封装等信息对待检测图像进行分割,得到含有单个元器件的图像,然后为了便于后续处理将RGB格式图像转换为HSV格式,转换的参数公式可以根据具体场景设置,最后采用SURF算法计算图像的特征点,将特征点与预设元器件进行匹配得到匹配度,设置匹配度阈值,比较匹配度与阈值的大小,判定元器件装贴情况,并将判断情况输出。

3.2.1 双边滤波

一般得到原始图像后,会对图像进行滤波去噪获得更高质量的图像,但是常用的滤波方法在对图像进行去噪的同时会遗漏图像边缘信息,这样会造成细节信息尤其是纹理信息和边缘信息丢失,导致边缘及纹理细节难以检测[9]。双边滤波器将图像的像素相似度和空间邻近度进行非线性组合,这样在保证平滑图像的同时又能够充分保留图像的边缘信息。

(1)

式中:(k,l)为模板窗口中心像素点的位置;(i,j)为除模板窗口外像素点的位置;σd为二维高斯函数的标准差;f(i,j)为待滤波的图像在点(x,y)处的灰度值。

3.2.2 空间转换

HSV颜色模型由色调(hue)、饱和度(saturation)和明度(value)3个参数组成[10]。与传统的RGB色彩空间相比,HSV颜色模型可以表达出更接近于人的眼睛所感知的色彩,因此HSV颜色模型在数字图像处理领域的应用范围更广泛。RGB色彩空间中,R表示红色通道、G表示绿色通道、B表示蓝色通道,取三者中的最大值记为CMAX=max{R、G、B},取三者中的最小值记为CMIN=min{R、G、B},从而可得两种颜色空间的转换公式为:

(2)

(3)

V=max(R,G,B)

(4)

3.2.3 特征点匹配

SURF全称是加速鲁棒性特征,具有灰度、旋转、尺度不变性等特点[11]。基于SURF特征点匹配算法能够解决同一个物体仿射变换情形下图像的匹配问题。SURF特征点检测是依据目标物的部分特征关键点,图像中光线强度、噪声或者视角的改变对SURF特征检测结果的影响并不是很明显[12]。该算法以图像的特征信息进行提取、匹配,有效地降低了计算量。因此,SURF算法具有较广阔的应用空间。基于SURF特征点匹配算法步骤为使用Hessian矩阵检测极值点,得到极值点后,建立直方图统计特征点主方向,使用欧式距离对模板图像和畸变图像进行特征点匹配计算,通过RANSAC算法剔除误匹配的点。

对元器件进行待检图像和模板图像的匹配,不同元器件在匹配时得到的匹配对数即匹配度是不同的,因此通过设置匹配度阈值α即可以对元器件贴装情况进行分类,当匹配度小于α1时判定为漏贴、大于α1小于α2判定为贴错,大于α2时判定为贴装正确。

α的大小是判断元器件贴装情况的依据,为了得到合适的α值提高检测精度,通过算法对α大小和元器件检测出现正确、漏贴和贴错3种情况分类的正确率进行了仿真。选择了电解电容、FPGA和SDRAM 3种元器件各100张图片。实验结果如表1所示。

表1 元器件正确、漏贴和贴错3种情况分类正确率

由表1可知,取不同值时3类贴装分类的正确率不同,并且变化比较大,其中α1=15、α2=30和α1=20、α2=40时分类的正确率分布较好,因此取中间值18和35作为匹配度阈值。

4 结果与分析

根据以上对系统硬件和软件的分析研究,研发了一套基于FPGA的工业PCB板元器件检测系统,并对系统检测的正确率和耗时进行了线上测试。将试验样本分为了9类,对样本数量、检测效果进行了统计,结果如表2所示。

表2 线上测试结果

由表2可得,9种类型的检测正确率最高的为电容漏贴装类型的91.79%,最低的为电容错误贴装类型的88.07%,耗时最长为正确贴装类型的976 ms,耗时最短的为SDRAM错误贴装类型的961 ms,经过计算平均正确率和检测速度分别为89.82%和969 ms/次。说明设计的系统在PCB元器件检测的准确率和速度上实用,能够为工业PCB元器件贴装检测提供借鉴。

5 结束语

本文设计了一套基于FPGA的工业PCB板元器件检测系统,将数字图像处理技术与嵌入式结合,利用FPGA并行高速的特点减少图像处理的时间。对硬件和软件设计进行了详细分析,设计了系统的硬件和软件,通过实验测试证明了系统的可行性。系统硬件设备具有体积较小、成本较低、操作简单等优势。

猜你喜欢
元器件图像处理电路
元器件国产化推进工作实践探索
基于线性源法与图像处理的土壤饱和导水率快速测量方法
国产元器件选型方式及流程分析
电路的保护
构建《Photoshop图像处理》课程思政实践教学路径的探索
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
基于图像处理与卷积神经网络的零件识别
基于用户和电路的攻击识别方法
宇航型号元器件国产化自主可控的管理模式研究
“简化法”巧解电路问题