找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于SoPC的PET瓶缺陷检测系统

[复制链接]
admin 发表于 2013-3-24 11:54:35 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  0引言
     随着生活水平的提高,饮料的市场需求量也不断增加,产品的质量已成为生产厂商和消费者关注的问题。目前,市场上几乎所有的饮料瓶都是采用PET(环保塑胶)切片来注塑加工成型的。在进行灌装的工序时,高速旋盖子系统中PET瓶会出现盖拧松、高盖和歪盖等情况;这些情况中轻微的会导致产品外观不美观,严重的会导致饮料内部质量发生变化。所以为了减少不合格品的数量,需要增加必要的检测工序。
     传统的方法是在计算机中利用软件实现图像处理系统,这是一个相对耗时的过程,而且对于处理速度要求很高的检测系统来说,用这种方法也会逐渐不能满足现代化大生产的高速生产节拍要求,给视觉检测实现100%在线检测方面带来了局限性。FPGA器件的可编程片上系统(SOPC)在设计的灵活性、功能的可裁剪性和软硬件的可编程性上具有良好的集成度和成本较低等特点,为图像处理系统带来了新的解决方案,并具有极大的灵活性。目前并行处理是解决系统实时性问题的有效方法。
     l系统硬件的实现
     设计采用FPGA芯片EP2C35F6726C,利用SOPC技术设计实现一个能检测PET瓶缺陷的系统。即针对PET瓶灌装后高盖、歪盖等缺陷情况进行快速检测判别,以确定并报警剔除不合格产品。系统主要由图像采集模块、FPGA图像处理模块、图像显示模块和判别模块四部分组成。系统硬件平台如图1所示。
   

     在生产线上待检测产品经过传送带输送到达指定位置时,光电传感器产生感应信号,传送带停止一段时间,系统开始进行PET瓶缺陷检测。按下按键后由图像采集模块(TRDB-DC2)采集图像数据,通过硬件器件,将数据RAW转换成RGB格式,再进行图像预处理,并在SDRAM中保存相应的数据,以利于进行后期图像处理,同时也可以通过操作相应按键在VGA上实时显示出该图像。系统在FPGA芯片EP2C35F6726C上配置的NIOSⅡ软核处理器作为控制核心,并在Avalon总线上挂接相应的接口模块和用户自定义逻辑模块,与FPGA的外围单元共同完成系统后期的图像处理、实时显示剔除操作等功能。系统硬件设计框如图2所示。整个设计采用自上而下的设计方法,在SOPCBuilder中搭建系统硬件模块。将所需的各功能模块通过Avalon总线集成。SOPCBuilder具有强大的系统集成特性,充分利用现有的IP,大大缩短了设计周期,在很短的时间内就可以构建一个稳定的系统,进而基于硬件完成系统中各模块的软件设计,最后集合成系统,如图3所示。
    20121107050842002074611.jpg
    20121107050842033324612.jpg
   
  [color=-top:]   在各模块中主要介绍以下几个模块:
     (1)图像采集模块。图像采集采用的是TRDB-DC2模块。该模块由1片高像素的CMOS图像传感芯片和1个聚焦镜头组成。图像采集通过CMOS Sen-sor采集图像后,再由I2C总线对图像传感器进行配置,然后再根据图像传感器的时序特性来读取采集到的图像点阵。由于采集到的图像点阵是: Bayer色彩空间,因而还要由相应的算法将其转换为RGB色彩空间,再把图像点阵数据存入SDRAM,而VGA显示部分则从SDRAM中读取数据来显示。SDRAM控制器采用双口SDRAM控制方法。图像处理部分也可以从SDRAM中读取数据来处理。其硬件模块如图4所示。
     (2)图像预处理模块。从SDRAM中读取数据,采用硬件语言对图像预处理实现图像的灰度变化、阈值分割和二值化处理。其硬件模块图如图5所示。
  [color=-top:] 20121107050842095824613.jpg
  [color=-top:]     (3)VGA硬件模块。VGA控制器外接一个存储器,以保存当前显示的数据。控制器根据不同时刻在VGA上显示的像素位置,计算出存储器中当前数据存放的地址,并输出存储器地址(oAddress信号)。外接存储器控制器从该地址中读取数据,返回给VGA控制器(iRed,iGreen,iBlue)。 VGA控制器将显示数据输出到D/A转换器上。依据其水平与垂直时序设计的VGA控制器如图6所示。通过VGA controller器件,可以实时将图像直接显示在VGA上。
  [color=-top:] 20121107050842205194614.jpg
2 系统软件实现
2.1 软件总体设计
     系统配置完成后,摄像头获取图像,送人SDRAM存储器,每帧图像经转换生成图像数据进入预处理模块进行灰度变化、阈值分割、二值化和边缘跟踪,使用硬件语言进行处理和结合NIOSⅡ处理器进行图像的先后续处理和控制,处理后的图像经数模转换在监视器上实时显示。系统软件总流程图如图7所示。
2.2 图像后处理算法的设计
2.2.1 NIOS中使用C++实现图像检测判断准则
     (1)求取瓶盖上边缘到基准线的最大距离,先与标准瓶盖的上边缘到基准线的标准距离比较,判断瓶盖旋封是否合格,大于标准距离,认为瓶子不合格,剔除瓶子。
     (2)通过左边缘直线、右边缘直线分别和基准线、上边缘的直线之间的夹角来判断瓶盖旋封是否合格,如果4个夹角都在(90°-δ)内(δ为一个允许的误差,取一个很小的角度),认为瓶子合格,否则瓶子不合格,剔除。
2.2.2 设计步骤
     (1)采集经过适当预处理的图像数据后,首先找出瓶盖和瓶身的分割线,该分割线位于瓶颈区域,通过分割线,确定瓶盖所在区域,缩小了后面图像的识别范围,如图8所示。
  [color=-top:] 20121107050842267694615.jpg
  [color=-top:]  
      (2)在PET瓶的瓶颈和瓶盖部分有一个天然的分隔区域,在该分区区域内能找出一条距离最长的线段,规定该线段作为基准线,并求出该基准线与水平方向的夹角,如图8中所示。
     (3)求取瓶盖上边缘上的点到基准线的距离,找出上边缘到基准线距离最大的点,并求出该最大距离d,然后根据第一条判断准则进行判断。
     (4)分别提取出瓶盖左边缘、右边缘和上边缘上的点,接着采用Hough直线变换去除干扰点;然后用最小二乘法线性拟合出3条,并求出其与水平方向的夹角。
     (5)利用已求出的4条直线与水平方向的夹角,可以求出左边缘确定的直线(右边缘确定的直线)与基准线之间的夹角;左边缘确定的直线(右边缘确定的直线)与上边缘确定的直线之间的夹角一共有4个角,然后根据第二条判断准则判断瓶子是否合格,流程图如图9所示。
    20121107050842298944616.jpg
   3 结 果
     由系统检测在VGA上显示的背光光源效果、边缘跟踪效果图分别如图10和图11所示。
    20121107050842361444617.jpg
       图12和图13为歪盖情况经二值化后的效果图与以第一准则识别的功能图。
   
    20121107050842439564618.jpg
       由PC机处理的PET瓶缺陷检测,在灌装线上实现检测的,一般情况约为2~3瓶/s。经采用基于FPGA芯片的SOPC方法处理实现检测速度可达约90 ms处理完一瓶的图像,且检测准确率达99%以上。不仅满足了系统的设计要求,也达到生产线速度性能指标。
   
4 结 语
     介绍系统各模块的功能和设计,依据设计的逻辑需求自制相应的IP,如摄像头驱动 CCD_Controller,SDRAM Controller,VGA controller,以及对外连接的PIO组件,如按键Key_pio和sw_pio等组成系统硬件的构建,再由计算机生成硬件系统。在构建的硬件系统上建立软件设计,并针对元器件在NIOSⅡ中的图像处理程序设计,阐述基于SOPC在图像处理方面的设计方法。实际应用证明了FPGA在图像处理的可行性及在处理速度上的优势。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 01:27 , Processed in 0.069732 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表