打造国内最大的IC交易平台
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
基于AT89S51单片机的微小位移量检测系统设计
类别:网文精粹  
 
The Design of Small Displacement Test System

摘 要: 介绍了基于激光三角测量法的微小位移量检测原理,并依据这个原理,设计了以一维PSD为检测元件,以FPGA为时序逻辑控制部件,以AT89S51单片机为运算核心的微小位移量检测系统。

关键词: PSD ,信号处理 , 微小位移

Abstract: In this paper, the test principle of small displacement is introduced based on laser

triangulation technique. According to this principle, we design the test system of small displacement . One-dimensional PSD is the test component , FPGA is the control component of timer and logic, and AT89S51 is the operation core.

Key words: PSD , Signal processing , Small displacement

0 引 言

随着科学技术水平和工业生产的不断发展,微小位移量的检测在表面测量、材料测量、精密机械测量等众多应用领域起着越来越重要的作用。检测微小位移量,可以采用接触式测量法和非接触式测量法。传统的接触式测量方法有很多局限性,如无法精确测量软质材料的高精度表面,测量结果受环境因素影响很大等,因此,接触式测量方法很难实现对微小位移量的高精度检测;非接触式的测量方法,由于在检测过程中不与待测物体直接接触,因此避免了上述问题对检测结果的影响。利用非接触测量方法构成的检测系统结构简单,测量精度高,目前应用广泛。

本文首先介绍了微小位移量的检测原理,并依据此原理,设计了以一维PSD为检测元件,以FPGA为时序逻辑控制部件,以AT89S51单片机为运算核心的微小位移量检测系统。

1 检测原理

对于微小位移量的检测,是基于激光三角测量法原理。检测原理如图所示:

500)this.style.width=500;" border=0>

光源发出的光经过透镜L1聚焦,投射到被测物体表面上,形成光强分布均匀的光斑,一部

分反射光经成像物镜L2成像到位置敏感探测器(PSD)受光面上。当被测物体向上或者向若能够求得y1的值,则可以根据(1-2)式函数关系求得被测物体的位移量x1的值。

由PSD的工作原理可知,随着成像光点位置坐标y1的不同,其两个检测电极输出的电流值将随之变化,他们之间存在线形函数关系。若以PSD的中心点为原点,则y1与PSD的两个检测电极之间的函数关系式可

500)this.style.width=500;" border=0>

2 系统组成

整个检测系统由PSD信号处理电路,电压调整与放大电路,A/D转换器,时序逻辑控

制芯片FPGA、AT89S51单片机及显示电路组成,系统组成框图如下所示:

500)this.style.width=500;" border=0>

PSD信号处理电路

PSD信号处理电路用来完成信号采集及处理功能,它包括光源发生器及其驱动电路,位

置敏感探测器(PSD),PSD信号处理专用集成芯片几部分。

光源发生器采用新型光源--激光器,光源波长780nm,工作电压+3V,额定功率30mW 。由于其发出的光为红色可见光,因此十分利于对光学系统的调试。

位置敏感探测器(PSD)选择日本滨松公司生产的一维PSD--S3931,它是能够连续检测光电位置的非分割型光电位置器件。其分辨率高,响应速度快,受光面积为1×6mm2,额定工作偏置电压+5V。

PSD信号处理电路的核心采用日本滨松公司生产的H2476-01芯片,它是一种高速,高灵敏度的PSD信号处理专用集成电路,正常工作电压+2.4V~+3.3V,能够在-15℃~50℃温度环境条件下正常工作。它最高支持700Hz的采样频率,最小可以检测到1nA的电流信号,十分适合于自动调焦、距离测量、位移测量、表面测量等应用领域。H2476-01芯片共有44个引脚,内部集成前置放大电路,信号处理电路,时钟发生器,光源驱动电路,采样保持电路和A/D转换电路,只要在其外部扩展部分电阻、电容元件即可够成高精度的PSD信号检测电路,应用十分方便。

H2476-01芯片在外部触发脉冲信号的输入下进行工作。当输入外部触发脉冲信号时,芯片27脚便会输出驱动激光器的脉冲信号(低电平有效),PSD采样输出的电流信号经过H2476-01芯片内部电路处理后,大约经过250us,即可在芯片21脚输出本次采样的模拟电压信号,并以芯片33脚输出的测量结束信号指示(低电平有效)。由于芯片的各输出端是OC门输出,因此需在各信号输出端外加5.1K上拉电阻,芯片才能正常工作。

电压调整与放大电路

由于PSD信号处理电路输出的电压信号很弱,无法直接进行A/D转换,因此需要对其进

行放大调整。为了使电路简单又便于调试,通常采用集成运算放大器。这里选用低噪音高速精密运算放大器OP37,其温漂低,输入阻抗高。为了提高系统的采样精度,放大调整后的信号还应经过低通滤波器进行滤波处理,消除信号中的无用高频分量,才能送A/D转换器进行处理。

2.3 A/D转换电路

A/D转换器选用美国AD公司生产的12位逐次逼近型并行模/数转换器AD1674,其内部自带采样保持电路、电压基准源、时钟源及暂存/三态输出缓冲器。AD1674采用双电源供电,模拟部分为±15V,数字部分为+5V,采样频率100KHZ,转换时间10us,并行输出数据8位/12位可选,本课题选择12位并行数据输出格式。

2.4 显示电路

显示电路采用6个共阳极七段数码管进行显示。

2.5 时序逻辑控制核心FPGA

整个系统在FPGA的控制下进行工作,系统上电后,FPGA向H2476-01芯片提供外部触发脉冲,H2476-01开始驱动激光器发射激光,PSD将采集到的光信号转换为电流信号后,送H2476-01芯片进行处理,处理完毕后其输出一个与PSD电流信号成线形关系的电压信号,并向FPGA输出测量结束信号,FPGA得到此信号后,启动A/D转换器,当FPGA检测到A/D转换结束信号后,就对A/D输出的数据进行读取,同时向AT89S51单片机P3.2口输出中断信号,AT89S51响应中断后,将FPGA送来的数据存储起来、进行运算处理,运算处理的结果再送FPGA,通过FPGA外接的显示电路进行显示。

FPGA采用层次化的设计方法,首先用VHDL语言进行底层模块设计,然后通过原理图输入法将各个底层模块进行综合,实现整个时序逻辑控制功能。其内部主要包括以下功能模块:

①分频器模块

该模块用于将外部提供的20MHZ时钟信号进行分频处理,为各个功能模块提供不

同的时钟信号,使各个模块协调工作。

② 计数器模块

该模块主要用于为H2476-01芯片提供外部触发脉冲。H2476-01芯片要求外部触发

脉冲周期大于1.5ms,低电平(有效)不小于0.163 ms。模块采用直接对外部时钟计数的方法进行设计,设置计数器的模为39999。从0计数到3999,输出低电平信号;从4000计数到39999,输出高电平信号,然后计数器清零,重新从0开始计数。

③控制器模块

该模块的作用是根据H2476-01芯片、A/D转换器、AT89S51芯片输出的状态信号

实现对系统的逻辑控制。当检测到H2476-01芯片的测量结束信号时,模块输出启动A/D转换器信号,在收到A/D转换结束信号时,就将转换后的数据读取进来,存储在缓冲区中,同时向AT89S51单片机的P3.2口输出中断信号,AT89S51单片机响应中断后,读取数据并进行运算处理。运算结果在控制模块的控制下,重新送入FPGA,并通过显示电路进行显示。

④缓冲区模块

缓冲区模块包括输入数据缓冲模块和输出数据缓冲模块。输入数据缓冲模块用于将

A/D转换器和AT89S51输出的数据进行缓存,输出数据缓冲模块用于将向AT89S51及显示电路输出的数据进行缓存。

⑤显示模块

显示模块包括分位模块和译码模块。由于采用七段数码管进行显示,因此需要先将

数据进行分位处理,再送译码模块进行译码输出。

2.6 AT89S51

运算处理核心选择ATMEL公司生产的低功耗,高性能CMOS 8位单片机AT89S51。其软件设计流程框图如下所示:

500)this.style.width=500;" border=0>

系统上电后,首先进行初始化,等待中断。得到FPGA送来的中断信号后,调中断响应

子程序,读取数据,并存储起来。中断返回后,判断检测数据次数是否达到10次,如果没有达到10次,则继续等待中断,读取采样数据;若已经达到10次,则将10次的测量结果做均值运算,取平均值作为检测结果,然后调数据处理子程序,求出位移量x1 。由AT89S51向FPGA发出数据运算处理完毕、送显示的信号,以P2.7口置高指示,将数据输出给FPGA。

3结束语

依据激光三角法测量原理,采用一维PSD为检测元件,FPGA为时序逻辑控制部件及AT89S51单片机为运算核心的微小位移量检测系统,具有结构简单,抗干扰能力强,检测速度快,测量精度高的特点。

本文作者创新点:采用FPGA芯片成功实现了整个系统的时序产生及逻辑控制功能。采用FPGA芯片进行设计,不仅缩短了开发周期,提高了系统的稳定性,而且可随时进行在线编程,便于系统的维护和升级。