PET瓶封盖质量在线检测系统的设计与实现*
2012-03-15郑海成
郑海成,谢 云
(广东工业大学 自动化学院,广东 广州510006)
聚对苯二甲酸乙二醇酯(PET)是一种环保塑胶,目前市场上几乎所有的饮料瓶都是用PET切片注塑加工成型的。在PET饮料瓶生产过程中吹瓶和灌装是影响质量的关键工序。而在灌装工序,高速旋盖子系统中PET瓶会出现歪盖、高盖甚至无盖等情况[1],在这些情况中,轻微的会导致产品外观的不美观,严重的会导致饮料内部质量发生变化,特别是茶饮料和乳类饮料。为了减少不合格品的数量,需要增加检测工序。而传统的PET瓶封盖质量检测系统都是基于PC机实现的,整套设备往往体积相当庞大,而且检测速度有限[2],并且由于PC机本身的缺陷,在较为恶劣的生产线环境中无法正常工作。
对此,本文设计了一套完整的基于DSP+ARM的PET瓶封盖缺陷高速检测系统。通过DSP DM642完成对图像传感器MT9P031(500万像素)进行RAW(原始图像编码数据)原始数据流采集,并对采集的PET瓶的封盖缺陷进行检测和处理。此外,通过基于ARM11的嵌入式系统对传动系统进行监控,主要包括对电机传动的控制、传感器中断信号的接收、控制触发DSP进行图像采集以及基于触摸屏的人际互动监控界面的开发。
1 系统总体架构设计
PET瓶封盖缺陷检测系统主要包括以下5个部分:图像采集模块、图像核心处理模块、图像实时显示模块、控制触发与传动模块和监控模块,如图1所示。由基于Linux的ARM11 S3C6410处理器控制整个传送带的正常运作。由于本系统中PET瓶身的透明塑料特性,所以选取不受光线干扰的超声波传感器作为本系统的触发传感器[3]。在超声波传感器感应到PET瓶身时,触发DSP DM642通过I2C总线控制图像传感器MT9P031进行图像的快速捕捉,图像数据以10 bit并行数据输入到DM642中,由DSP对图像进行滤波、阈值化、水平投影、边缘检测以及PET瓶身定位后,以遍历比较的方式完成PET瓶封盖的缺陷检测。然后把处理后的数据同样以10 bit的图像数据输出到硬件编码芯片,经过CVBS转VGA转接器,最后完成图像的实时显示。此外,所有的检测统计数据都将由ARM11通过无线WIFI模块发送到远程主机上进行数据的统计和存档。
2 图像采集与处理系统设计
2.1 图像采集系统的硬件设计
图像采集部分由DM642的视频口在PIXCLK时钟控制下采集数据,数据以D[9:0]10 bit形式发送到DSP,而DSP通过I2C总线接口控制图像传感器的工作模式和采集模式等;在DM642处理完图像后,通过VP0D[9:0]10位数据输出方式输出到视频编码芯片SAA7121,DSP通过 I2C总线设置 SAA7121的相关寄存器,并控制数据进行传输。视频数据通过SAA7121编码后,输出的视频格式为PAL制或者NTSC制的视频信号(即CVBS视频信号);最后通过CVBS转 VGA的转接模块,直接输出到显示屏上显示。图像采集系统的硬件原理图如图2所示。
2.2 图像采集与处理系统的软件设计分析
基于DSP DM642的图像采集与处理系统的软件设计主要分为如下两个部分:图像采集的流程分析和PET瓶封盖缺陷检测算法的实现。
2.2.1 图像采集的流程分析
首先把DM642设置为RAW数据接收模式,并把接收数据宽度设置为10 bit。然后通过I2C总线选通MT9P031的硬件地址和寄存器地址,发送相应指令设置MT9P031为单帧触发模式,把图像格式设置为SXGA格式(即1 280×1 024),并设置好水平消隐和垂直消隐的宽度。在完成以上设置后,DM642通过TRIGGER引脚控制传感器捕捉
图1 系统整体架构图一帧图像并传送到DM642内部的FIFO缓存器中进行相应的图像识别和检测的实现。图像采集流程如图3所示。
2.2.2 PET瓶封盖缺陷检测算法的实现
(1)本系统设计的检测方法是多瓶身同时检测,而对PET瓶身的区域定位,是通过扫描Y轴方向的像素点之和是否为非零来判断每个瓶身的真实位置,通过对第一个非零值的gi(ni)到第一个零值的gi(ni)即可记录一个PET瓶的大概区域位置,标记为x1、x2。用同样的方法计算出第二个PET瓶所在的区域为x3、x4之间。
在经过图像预处理后,需确定瓶身与瓶颈的分割线作为后续瓶盖定位的绝对坐标。通过图像在Y轴上的投影分析,可以清晰地分辨出瓶身与瓶颈的分割线在Y轴的0坐标往正方向开始扫描到第一个灰度值波峰位置,并且经过大量数据验证,波峰的确定位置误差在5个像素点之内 (本系统所采用的图像大小为1 280×1 024,即误差在5/1 024=0.48%以内)。
(2)本系统采用在基于预处理之后,进行垂直方向自上而下的扫描方法,标识扫描到的第一个非零灰度值像素点,并把该x坐标上的其他y点全部置为零灰度值,从而完成垂直方向外轮廓的快速提取[4]。
(3)由以上两步得到瓶颈与瓶身的分割线以及瓶盖顶部边缘,在此基础上识别出两个瓶身所在的区域为[x1,x2]和[x3,x4],然后通过计算分割线与瓶盖顶部边缘的距离与标准值进行比较,若误差超过5%,则认为不合格,即可剔除。PET瓶身封盖缺陷检测算法的总体流程如图4所示。
3 基于ARM11的传动与监控系统设计
3.1 传动系统与监控系统硬件设计
本平台的传动系统所采用的主处理器为ARM11 S3C6410。由于考虑到瓶身透明和体积问题,所以在传感器选型上选用超声波传感器作为瓶身的探测传感器。超声波传感器输出的电压值范围为0.2 V~4.5 V,然后通过以LM358运算放大器搭建的比较电路进行电压的阈值分割,使触发信号边缘特性更佳。通过比较器后,超声波传感器的触发信号经过74LVC4245电平转换信号,信号直接输入到ARM11的外中断口。ARM11在接收到超声波传感器的外中断信号后,通过端口将信号输出到DSP DM642的外中断口,触发DM642完成图像捕捉功能。与此同时,通过超声波的中断触发信号,ARM11通过端口输出一个3.3 V的电平信号,控制24 V模块后,输出24 V的电压控制信号,直接控制继电器的通断,从而完成控制电机的传动工作。整个传动系统的硬件框图如图5所示。
监控系统的硬件设计主要包括图像的VGA显示和触摸屏驱动部分。首先通过ARM11 S3C6410的专用LCD控制器接口输出24 bit液晶屏数据,然后经过LCD转换模块进行转换,从而可以通过编程控制LCD控制器输出来完成VGA显示。此外,通过ARM11的四线电阻屏控制引脚 TSXM、TSYM、TSXP、TSYP来控制一个 17英寸电阻触摸屏,通过编程可以控制四线电阻屏的输出-X、+X、-Y、+Y坐标来完成触摸屏的硬件驱动。
3.2 软件多线程设计
由于本文设计的传动系统与监控系统需要进行多任务的同时调度,所以需要设计一个基于Linux系统的多线程管理机制。其中从线程的作用不同可分为:控制电机传动线程、传感器中断处理线程、监控界面设置管理线程以及无线通信线程,四者相对独立,但又在必要时进行数据交互。各个线程的相互关系如图6所示。
4 实验结果及分析
基于DSP DM642读取MT9P031图像传感器的数据,经测试后采集的速度可达20帧/s,采集的图像精度可根据需要调节,最小精度为76 pix/inch。
此外,本系统采用DSP+ARM的硬件平台取代传统的PC机平台,为工业在线检测带来了更可行、更科学的解决方案。系统具有体积小、安装方便、抗干扰能力强和高速处理等特点,是普通PC机无法比拟的,具有广阔的发展空间。
[1]Ma Huimin,Su Guangda,Wang Junyan,et al.A glass bottle defect detection system without touching[C].Proceedings of the First International Conference on Machine Learning and Cybemetics,Vol2:Beijing,4-5 November,2011:628-632.
[2]严华宇.基于FPGA的玻璃缺陷图像采集预处理系统设计[D].武汉:武汉理工大学,2007.
[3]徐赤,王志平,凌永祥,等.基于智能视觉系统的饮料瓶缺陷检测技术[J].自动化与仪器仪表,2011(5):163-167.
[4]邹振兴.基于FPGA的PET瓶缺陷检测系统的研究与设计[D].广州:广东工业大学,2009.