基于LabVIEW图形化的条码识读引擎CCD调节系统设计
2020-06-03
随着移动支付与快递行业的高速发展,条码识读产品市场需求与日俱增。一维识读引擎采用对称式结构和远近物距交替设计,兼顾远近景深的同时,不断提升镜头边缘的相对照度,采用的窄条光斑形成方法与生产制造过程已经申请专利保护。对于采用线形CCD传感器的识读引擎,结构设计要求控制照明和成像同轴指标,否则会影响识读性能,传统生产方式依靠人工调节CCD高度,实验系统利用图像处理技术,使用步进电机进行精确调节,使识读引擎的性能满足设计指标要求。
识读引擎工作原理
识读引擎一般由照明系统、光学成像系统、图像传感器与图像处理单元组成。CCD作为图像传感器是识读引擎的核心部件,采用2500分辨率TOSHIBA线形CCD,识读精度大于3mil,其中分辨率是线形CCD的重要参数,例如2500表示CCD由2500个光电传感器组成。
CCD具有低照度效果好、信噪比高、通透感强、色彩还原能力佳等优点,线形CCD是由若干个光电传感器组成的一个条形器件,每个光电传感器接受到光信号,通过放大电路得到工作波形,如图1所示(见下页),再经过模数转换电路转化为数字信号,最后由图像处理单元进行解码。
图1 CCD工作波形
实验系统组成
实验系统的组成包括标准光源箱、图形测试卡、工业摄像机与自动化测试工具等。
标准光源箱
本实验系统使用LED白色光源,色温6500K,环境照度控制为300lux。
图形测试卡
图形测试卡由三角形与圆形图案组成,如图2所示。主要用于确定对焦灯、CCD的相对位置,测试时使识读引擎位置介于两个圆形图案之间。
图2 测试卡
工业摄像机
使用德国Basler acA2500-20gc快速对焦工业相机,帧速20fps,用于采集识读引擎对焦灯照射到测试卡表面的图像。
自动化测试软件
虚拟仪器技术是以PC机作为系统控制器,通过软件实现传统仪器的功能。虚拟仪器技术的关键是软件系统,本文采用LabVIEW平台开发自动化测试软件,内置IMAQ VISION视觉开发工具包,为图像处理提供完整的功能,开发者采用图形化的方式编程,可以缩短开发周期。
数学建模与测试软件详细设计
摄像机图像采集
在LabVIEW的VI前面板,采用将摄像机Ac⁃tiveX控件嵌入到ActiveX容器中的方式,显示采集的图像并与LabVIEW控件进行交互,利用测试卡两个圆圈对相机图像标定,计算圆心A1与A2的坐标差值,与实际图像尺寸进行比较,获取单位像素长度数据。通过对相机图像处理进行水平扫描与垂直投影,找出对焦灯带上下两个灰度跳变的点,将中间所有点进行线性拟合,确定对焦灯带中心线Y坐标与倾斜角,计算相对于三角形底边L的对焦灯带高度。
CCD拍图定位
CCD位置的确定,需要通过开发板获取CCD工作波形,通过波形高电平的持续宽度,计算当前CCD拍图的线长度L1。通过L1与三角形底边L的长度之比,换算成高度比,结合单位像素长度,计算出CCD的实际高度。
CCD高度调节
调用比较程序,如图3所示(见下页)。当CCD高度与对焦灯带高度不一致时,发出电机旋转指令,将CCD高度调节到对焦灯带的中心位置。
图3 LabVIEW控制部份程序
软件工作流程图
首先进行摄像机图像采集,采用加权平均法对图像进行滤波处理,再进行图像灰度化处理,采用梯度阈值法进行图像边缘检测,确定对焦灯带的位置与高度,接着进行CCD拍图高度定位,通过调用比较程序,驱动步进电机对CCD高度进行调节,利用传感器监控调节装置的实时高度,当超出软件设定的有效范围及时报错,此时需复位后重新调节,具体工作流程,如图4所示。
图4 软件工作流程
使用虚拟仪器技术,结合图像处理技术,利用LabVIEW软件平台开发专用的CCD高度自动调节系统,是图像处理技术在条码识读引擎工业生产的成功应用。经过实际验证,实验系统简单易操作,对比人工调节生产效率大幅提升,降低制造成本,确保产品识读性能的一致性,避免不良品流向市场,对识读引擎自动化生产具有重要意义。