高精度双线阵CCD非接触直径测量系统*

2014-09-20 07:55于之靖刘月林诸葛晶昌
传感器与微系统 2014年1期
关键词:边缘工件直径

于之靖, 刘月林, 诸葛晶昌

(1.中国民航大学 地面特种设备科研基地,天津 300300;

2.中国民航大学 航空自动化学院,天津 300300)

0 引 言

近年来,线阵CCD在非接触测量领域中得到了广泛应用[1]。传统的测量方法存在一定的局限性,存在对工件造成磨损,测量精度不高,不能实现实时测量的缺陷。因此,非接触式测量的优势逐渐显得更为重要[2]。

在光学系统中,采用双线阵CCD对工件进行多次测量,通过多通道测量取平均计算出工件的直径。硬件电路的核心部分采用现场可编程门阵列(FPGA)器件实现,利用FPGA在并行数据处理方面的优势,为线阵CCD提供驱动并且作为图像数据处理的核心单元[3]。在线阵CCD一维图像数据处理中,传统的数据处理常常采用阈值法,其测量精度往往受到像元大小限制,精度停留在像元级别[4]。本文设计采用亚像元细分算法[5],并对其做了相应改进,有效提高了测量系统的测量精度。

1 测量原理和系统构成

1.1 光学系统原理

光学系统的结构如图1所示,入射光经透镜形成平行光束,垂直照射在圆型工件上,由于工件的不透光性将工件成像投影在线阵CCD上。系统对一帧数据进行边缘检测,即得到圆型工件的直径。根据所选线阵CCD的光谱特性,入射光波长为55 mm时,线阵CCD响应最强烈,所以,系统选择一字线状蓝色激光光源作为光学系统的目标检测光源。

图1 光学成像原理

利用图1简单的透视投影关系,将获得的阴影边缘点位置,按照确定的比例关系, 即可得到工件直径D

D=(f1/f2)·d.

(1)

其中,d为影响阴影在像元上的尺寸,f1,f2为焦距。

1.2 硬件系统结构

双线阵CCD非接触直径测量系统的组成结构如图2所示,整个系统主要由光学系统、线阵CCD 驱动、模拟信号预处理、数字信号直径计算单元组成。采用FPGA作为系统核心驱动控制芯片,完成线阵CCD驱动、A/D转换驱动和图像处理。

线阵CCD采用东芝公司生产的一种高灵敏度、低暗电流、具有5000个有效像元的双沟道两相线阵CCD图像传感器TCD1501,带有采样保持功能。A/D转换器采用TI公司生产的TLC5510,工作电源为5.0V,推荐工作条件下功耗为130mV,具有高阻抗内部并行接口和内部基准电压,最大采样频率为20MSPS。

图2 系统结构原理图

线阵CCD在相应驱动脉冲作用下,输出一维图像的模拟信号,信号经过预处理后,送入A/D转换模块,在A/D转换器驱动脉冲的作用下,A/D转换器输出数字图像信号,FPGA接收到数字图像数据即开始进行图像处理。

2 软件设计

2.1 TCD1501驱动设计

在设计中,重点要突出图像的边缘特征,所以,CCD要尽量工作在较大的动态范围,以提高输出信号的信噪比,即亮点与暗点的差值要尽量大,突出图像的边缘特征。CCD信号的输出受到现场环境的干扰,CCD光积分时间决定像元输出信号的强弱,要让CCD工作在最佳的动态范围,就要根据CCD像元输出的亮点信号和暗点信号的差值调节CCD光积分时间[6]。

(2)

(3)

(4)

将T与设定的阈值比较,当T大于等于设定阈值时,即CCD工作在较理想的动态范围,输出图像特征点清晰;否则,应增加光积分时间,以增强图像信号的边缘信息。

根据T值的大小,设计通过增加无效移位脉冲的个数来调节光积分时间以增大CCD亮点像素与暗点像素的差值。设每次调节光积分时间的增量为δt,δt不可太小,太小会增加光积分时间调节次数;亦不可太大,太大会使亮点信号发生溢出。设计中,CCD移位脉冲频率设定为0.5 MHz,每帧数据含有5 076个像元,所以,需要2 538个移位脉冲,所需时间为5 076 μs。转移脉冲需要2 μs时间,所以,采集一帧数据频率最快约为196.85 Hz,采集一帧数据至少需要5 078 μs,这也是能够达到的最小光积分时间。以时钟频率计算,增量δt以200个CCD移位脉冲周期为单位,每次增加积分时间为100 μs。

图3 线阵CCD驱动仿真

2.2 TLC5510驱动设计

2.3 数据处理

图像边缘检测的精确度是决定工件直径检测精度的关键。在以往对图像数据处理中,常采用阈值法,这种方法检测精度受到线阵CCD像元尺寸大小的限制,检测精度不高。系统采用亚像元边缘检测算法对采集到的一维图像数据进行处理,这种方法能够显著提高测量精度[7]。

亚像元边缘检测算法包括高斯滤波、差值计算、边缘检测和差值细分4个模块(图4)。图像经过高斯滤波平滑器后对其求梯度,图像梯度峰值的位置即为图像边缘点,检测出边缘点后即可采用差值细分方法求出图像边缘点的精确位置,其值如公式(5)所示,具体计算步骤请参见参考文献[6]

(5)

图4 线阵CCD边缘检测

在上面的亚像元边缘检测系统中,采用对5000个有效像元点进行处理。这种方法计算量大,浪费资源,为了减少计算量,系统对以往的亚像元检测算法做了改进。线阵CCD输出一帧数据含有5 000个有效像元点信息,最关心的是边缘点附近的信息,因此,如果能直接提取出图像的边缘点信息,则可简化计算量,节省资源。由上面公式(2)~式(3)所确定的亮点灰度值和暗点灰度值为阈值,找出灰度值在二者之间的像元点,这些点即为图像的边缘信息点。对这些边缘点做边缘检测,再利用亚像元边缘检测算法,计算边缘点位置,可减少后续的计算量。

3 误差分析与改进

在实际测量中,测量误差受到多种原因的影响,包括CCD器件制造误差、光源的不稳定、透镜的畸变、镜头的焦距和孔径的选取、工件位置的放置、放大镜的放大倍数,这些问题都会降低直径测量的精度。其中可采用双目视觉技术提高工件位置的放置精度。圆型工件由于具有截面投影各向同性特征,测量多通道均可获得截面顶点位置(即始终为测量圆形工件两平行切线位置,光路中除顶点外无遮挡),测量结果中直径为多通道剔除粗大误差后的均值,因此,配置较简单,测量结果准确。

(6)

(7)

(8)

图5 多通道测量原理图

4 系统测量结果与精度

为了分析系统的检测精度,系统对一个已知精度的、直径为12.732 mm的工件进行测量3次测量,测量结果如表1。

表1 实验测量结果

从表1中可以看出:单通道的单次测量误差在4 μm左右,单通道多次测量误差也大于2 μm,采用双通道多次测量技术时,系统测量误差降低到2 μm以内。

5 结束语

本文介绍了一种高精度双线阵CCD非接触直径测量系统的组成、原理及具体实现方法。重点介绍了通过改变光积分时间增强线阵CCD输出信号边缘特征,通过线阵CCD亮点和暗点像素值迅速找出边缘点的方法,为了减

小误差,采用双线阵CCD多通道多次测量取平均以提高测量精度,系统最小误差小于2 μm,满足工业应用高精度测量的要求。

参考文献:

[1]马登极,朱善安,王长军.线阵CCD在高精度测量系统中的应用[J].计算机测量与控制,2006,14(2).

[2]王晓丽,段春霞,周 阳.高精度非接触式自动外径测量方法研究[J].仪表技术与传感器,2011(8):79-81.

[3]徐光宪,张 庆,付 晓.基于FGPA的模拟视频采集控制器的研究与实现[J].仪表技器,2012(3):41-43.

[4]张建辉,宋平岗.线阵CCD技术及其在非接触测量中的应用[J].机械与电子,2004(8):63-65.

[5]胡晓东,马 娜.亚像元边缘检测的FPGA实现[J].光子学报,2010,39(1):173-176.

[6]刘 艳,赵 红,于效宇.一种可调线阵CCD信号采集处理系统[J].半导体光电,2009,30(2):294-299.

[7]谷 林,胡晓东,陈良益.基于FPGA的线阵CCD亚像元边缘检测片上系统[J].光子学报,2004,33(5):618-621.

猜你喜欢
边缘工件直径
各显神通测直径
山水(直径40cm)
考虑非线性误差的五轴工件安装位置优化
爱虚张声势的水
三坐标在工件测绘中的应用技巧
预爆破法处理大直径嵌岩桩桩底倾斜岩面问题
一张图看懂边缘计算
焊接残余形变在工件精密装配中的仿真应用研究
一种非圆旋转工件支撑装置控制算法
在边缘寻找自我