陈珊珊
摘要:利用激光扫描技术实现对车身三维尺寸的测量,满足了现代汽车维修业对检测技术的新要求。
关键词:激光扫描;汽车测量;数据采集;CPLD
中图分类号:TP277 文献标识码:A 文章编号:1006-3315(2015)07-187-001
随着汽车的普及和维修业的不断发展,人们对汽车车身在维修中的检测系统提出了越来越高的要求。利用激光扫描技术可实现对车身三维尺寸的测量,满足了现代汽车维修业对检测技术的新要求。
1.测量系统结构
检测系统由特征靶标、连接头、电机扫描装置、激光器及其驱动电路、光路转折系统、霍尔传感器、光电转换及信号预处理模块、数据采集与AVR处理及上位机组成。每个电机扫描装置由电机及其驱动电路、反射镜、反射镜固定托盘和安装于反射镜固定盘侧面的小磁铁组成。工作时,电机带动平面镜旋转,当扫描激光束经由旋转的平面镜反射到特征靶标上时,由于特征靶标上面贴有原向回归反射膜,投射光束经过反射膜反射后按原光路返回,激光束经过靶标反射后经由平面镜反射至激光转折光路中;经两个平行的45°角平面镜反射后,光信号经过光电转换及预处理进入数据采集系统,和霍尔传感器产生的电机旋转同步脉冲信号一起控制数据采集电路,经过数据处理得到初步的测量点在传感器系统内的三维坐标后,送入上位机。计算机把送来的数据进行计算及坐标变换得出车身三维坐标测量结果,并进行显示或打印输出。
2. CPLD信号逻辑处理
数据采集与处理电路包括逻辑控制电路、缓存器电路、单片机接口电路等。逻辑控制电路采集各个传感器的信号,然后将信号经4个缓存器缓存后传送给单片机;单片机结合软件实现对靶标的识别、三维坐标计算,通过串行通信与上位机连接。其中传感器的信号总共有6路,包括4路由光电模块采集进来的光电信号和2路霍尔信号。
2.1 PIN数字脉冲信号预处理
首先以霍尔传感器输出波形为粗定位,从PIN输出的数字脉冲信号中提取出采样周期定位波形,然后以此定位波形为基础定位出数据采样周期,在整个数据采样周期内对数字脉冲信号进行计数填充。采样周期定位脉冲的下降沿是以PIN输出信号的定位脉冲的下降沿来定位的,其上升沿是以霍尔传感器输出脉冲的上升沿来定位的。
2.2 采样数据周期产生电路
由于扫描器在不停地旋转,为了保证AVR获得正确的扫描数据,采样数据应该是一个完整周期内的数据,因此必须严格控制采样周期的完整性。为此设计了由AVR输出信号控制的采样周期产生电路。此电路以采样周期定位脉冲和AVR控制信号为输入,采样周期信号和采样周期终止信号为输出。
2.3 CPLD对FIFO芯片的直接控制
CPLD的主要作用是将数字脉冲信号计数填充后,在控制信号使能控制下将数据写入FIFO芯片中,因而CPLD中设计了对FIFO进行直接控制的功能模块,包括FIFO清空和写入。
2.3.1 FIFO数据清空
当FIFO中数据满时或AVR启动数据采集周期时,都要先将FIFO中的数据清零,以防止FIFO溢出造成数据丢失或采集到错误的数据。由于AVR单片机的时钟脉冲为8 MHz,因而这一过程必定能够满足清零脉冲的持续时间要求,FIFO即被清空。
2.3.2 单路FIFO数据写入
光电二极管接收的信号经前置放大及整形后频率比较高,由于系统一共有4路信号,AVR来不及直接去读取每个跳变沿的计数值,因而通过FIFO暂时缓存,待采样周期过后,AVR再从FIFO中读出计数值。要把计数值写入FIFO中,必须有正确的写信号,CY7C433对读写信号的时序有要求,写信号脉宽tPW≥15 ns,数据建立时间tSD≥8 ns,数据保持时间tHD无最小值要求。
2.3.3 4路FIFO数据处理
在整个系统中共有4个激光扫描传感器,即会产生4路信号,且每路信号都会生成独立的FIFO写信号,因而共产生4路写信号。当4路写信号中有2路或多路信号同时到来时,写入FIFO中的数据会产生紊乱,而造成数据写入错误或数据丢失。因此,设计了一个多路写信号处理电路,当只有某一路信号中有写信号产生时,写信号处理电路中产生一个与之对应的写信号脉冲;当某两路或多路信号中有写信号产生时,只产生一个与之对应的写信号脉冲。
3. AVR数据采集
3.1 FIFO地址译码电路
CY7C433芯片的数据宽度为9 bit,因而本系统中采用了4片FIFO芯片进行扩展。AVR的数据总线位宽为8 bit,为了降低外围电路的复杂性,每个FIFO芯片只用其中的8位,在读取时按照从高8位到低8位的顺序进行数据读取。因此,共需要4个读信号才能将一个数据完整地读入AVR中。数据的读取方式为给每个FIFO芯片配置一个唯一的数据地址,数据按址读取。为此本文设计了相应的FIFO读信号地址译码电路,输出信号控制FIFO芯片的读信号使能端。首先地址信号通过一个2-4译码器进行译码,译码结果与写信号同步后输出即得到4个FIFO芯片的读使能信号。
3.2 数据采集程序流程图
综合前文所有的分析说明,编写了AVR+CPLD+FIFO信号的C语言程序,该程序中包含了FIFO清零、采集周期启停控制、FIFO状态判断、数据来源分析、数据有效性判断等多个子项,最终采集得到一个扫描周期的准确、有效的数据以供后续电路进行处理。
本文对激光扫描车身坐标测量系统的数据采集部分进行了深入研究,设计了基于“AVR+FIFO+CPLD”的数据采集及处理模块;解决了当多路信号有数据同时传输时,如何将数据完整地写入FIFO的问题,实现了数据的有效采集;编写了完整的CPLD控制程序和AVR数据采集程序,为准确测量待测点的坐标提供了可靠的数据来源。
参考文献:
[1] 戴耀辉,臧杰.车身损伤测量在车身修理中的重要性及其方法[J]汽车技术,2003(12):43-47.
[2]李家汉,刘文辉.白车身三坐标检测点的布置及优化[J]华东交通大学学报,2003,20(5):107-110.
[3]李玉娟,王琪.基于ATmega128L的智能探测车的设计与实现[J]自动化技术与应用,2007,26(3):42-44