OPA627。 3信号调理电路
由于信号中含有频率成分较多噪声的低频成分,因此采用带通滤波器滤除噪声,提高信噪比。系统运用有源高通滤波器,其中有源滤波器成本低,质量可靠及寄生影响小,设计和调整过程简便,阻带衰减速度比无源滤波器快,因而有源高通滤波器更适合该系统低频滤波如图。
系统高通滤波电路
选择取
====20pf。
=51k,*=
=4.7k。 *=0.92M
=5k,=15k,
截至频率=
考虑信号带宽要求设置增益为A=(-60/40)×(-60/40)=9/4
推动放大电路设计成反相放大,主要由集成运放及外围元件组成[4]。主放电路的设计要考虑带宽、功耗、噪声、响应速率等各方面因素, 本设计里选用了一款超低失真、低噪声、高压摆率的运算放大器。它是一种较理想的应用于宽动态范围、高精度、高速环境下的运算放大器。由前置放大输出的电信号约为几十毫伏。为满足后续整形器的阀值电压设置放大倍数为200倍,本电路选用AD8045集成运放,管脚如图其单位增益带宽是1GHZ,在增益200的条件下带宽完全满足要
求。为了去除电源的抖动波纹的退耦电容。
主运放电路
根据系统测位移的原理知道,需将滤波放大输出信号整形为方波以便后续计数器进行计数再送入单片机处理。整形的实现是通过门限比较器实现的。系统采用常用有施密特触发器的六反相器74LS14。 4 计数处理电路
本部分由4片4位可预置数同步计数器(异步清零)74LS161、数据锁存器74HC573、反向器40106组成。这部分的作用是将测量信号和基准信号的计数值锁存到锁存器以及通过反向器的进位信号产生中断记录进位数供单片机读取从而进行数据处理。 5 信号处理部分及显示
本部分由单片机AT89S52和16ⅹ2 LCD液晶显示器组成。核心是单片机AT89S52,数据的处理,控制计数器清零,数据选择器,锁存器锁存及液晶显示器显示位移等都由单片机完成。
系统软件的设计
单片机开发中除必要的硬件外,同样离不开软件,编写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发
单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。 1 系统程序流程图
系统单片机AT89S52配合硬件电路完成数据的自动采集,计算处理,显示位移的任务。
系统程序流程图
系统启动首先执行启动检测程序即检测两路信号(参考信号和测量信号)是否频率相等。如果检测到频率不等说明测量已启动然后执行位移测量程序,采集数据,计算得出位移值,最后通过LCD显示程序显示位移值。测量程序包括数据采集,数据分析计算,辩向测量等。系统软件流程图如上图。 2 启动检测程序
程序执行过程中首先进行系统初始化,包括对LCD的显示模式、清屏,设定定时器0的工作模式和装初值以及开启外部中断0等等。当初始化完毕之后,系统程序进入判断测量是否开始,即进入一个比较函数,该函数先通过P3.1对计数器清零,一段时间后通过P1、P0口读取计数值,然后通过P3.0置高选择另一路信号(即测量信号)同样清零,相同时间后读取计数值,将两值想比较,如果相等表示测量未启动,因为测量信号相对参考信号未发生频移;如果不相等代表测量已经开始执行下一步,同时启动定时器0和定时器1。
………
WS=0; 数据选择参考信号 j0=P1; k0=P0; ………
j1=P1;
k1=P0; 读取P1、P0计数值 ee=cc; 读取进位值
q=k0+j0*256+dd*256*256; 计算参考信号10ms内总的计数值 r=k1+j1*256+ee*256*256; 计算测量信号10ms内总的计数值 if((r-q)<3) 判断是否启动 bb=1; 定义相应变量值 else bb=2; 3 位移测量程序
定时器0是为了记录从测量开始到实时的时间以便计算出△t时间内测量信号与参考信号的计数差值即还原系统的位移值。定时器1是为了在设定的时间内执行比较程序诊断系统是否停止测量,如果没有停止继续跳回主程序执行测量,如果已停止,则跳出到循环检测是否启动程序以待下一次启动继续测量。外部中断0是记录测量过程中进位的次数,以便完整的处理计数值还原位移量。
while(bb==2) 查询变量值判断测量已启动; { gao=1; di=1;
TMOD=0x01; 设置定时器0的工作模式为1; TH0=(65536-50000)/256; 根据定时时间装初值高八位; TL0=(65536-50000)%6; 根据定时时间装初值低八位; EA=1; 开总中断; ET0=1; 开定时器0中断; TR0=1; 启动定时器0; ET1=1; 开定时器1中断; TR1=1; 启动定时器1;