一种峰值检测系统的设计与仿真
2014-12-12鲁业频潘高生
李 健 鲁业频 潘高生
(巢湖学院电子工程与电气自动化学院,安徽 巢湖 238000)
1 引言
峰值检测电路作为一种检测信号波形峰值的基本电路在数据采样方面应用很广[1]。比如:在轴承生产行业中,轴承振动噪声的峰值检测是一项重要的指标[2];数字存储示波器及数据采集卡中用来实现波形的毛刺捕捉或高占空比的信号的检测[3];建筑行业中检测某建筑物中梁的最大承受力,检测一根钢丝的最大允许拉力等[4]。
图1 峰值检测原理
本文介绍了一种峰值检测系统的设计与仿真,采用AT89C51单片机作为核心控制器,实现模拟信号峰值的保持、采样和显示,编写了软件代码并通过仿真加以验证,达到了一定频率范围内的信号峰值检测的目的。
2 检测原理与设计方案
2.1 检测原理
峰值检测电路(PKD,Peak Detector)的作用是储存输入信号的峰值,并输出 Vo=Vpeak,为了实现这样的功能,电路输出值会一直保持,等到一个新的峰值出现或电路复位[5]。它的时域波形如图1所示。
2.2 设计方案
如图2所示,待检测的信号接入采样保持电路,保持的信号峰值经单片机启动模数转换器转换为数字量,再送入单片机进行换算并由显示电路显示出相应的模拟电压值。当新的峰值到来前,单片机发送放电脉冲,使保持电路放电后能充电达到新的峰值,再重复模数转换和显示。
图2 设计方案
3 各电路模块设计
3.1 峰值采样保持电路
图3 峰值采样保持电路
峰值采样保持电路如图3所示,其工作原理为:电路采用了两级运放,待测信号输入前级运放的同相端,当 Vi>Vo时(Vi为输入信号,Vo为输出端电压), Vi大于二极管导通电压,使 D1、D2、D3导通后对电容C1进行充电,此时前级运放相当一个电压跟随器;当信号电压下降Vi C1保持的峰值电压经后级运放的跟随作用再送给模数转换器ADC0804的模拟电压输入引脚。三极管Q1和Q2的基极接至单片机的P3.0引脚,由单片机发送的放电脉冲控制三极管的通断。当检测完当前的电压值后,为了迎接新的峰值,要将之前电容电压释放,只要单片机送一个高电平,使两个三极管导通,电容就会放电,为检测新的峰值做好充电准备。放电脉冲由单片机给出,通过编程使P3.0输出占空比为1:14的脉冲信号,周期为0.2s,可根据需要进行修改。 如图4左下所示,保持的峰值送入ADC0804的正输入引脚VIN+,ADC0804是8位的模数转换器,转换速度快,其读写引脚(RD、WR)、转换完结束引脚(INTR)以及转换后的8位数据都与单片机相连。 图4 模数转换、单片机和显示电路 系统的核心控制器采用的是AT89C51单片机,图4中间部分为单片机最小系统,包括单片机和单片机正常工作需要的晶振电路和复位电路。另外,P0口接了上拉电阻,与显示部分数码管的8段相连;P1口与ADC0804的数字量输出口相连;P2口的低四位控制四位数码管的位选。其他的引脚接线见图上标号所示。 检测的结果要显示出来,本系统采用了四位数码管动态显示,如图4上方所示,各引脚接法见单片机最小系统部分叙述。 软件程序流程如图5:首先对单片机进行初始化,设置计时器初始值;再启动ADC采集储存在电容上的模拟信号电压,转换结束后将数字量送给单片机;同时单片机通过计数器判断时间是否达到脉冲发射周期,如果没有,则单片机将数字量输出到数码管进行显示,如果达到脉冲发射周期,输出固定时间的+5V脉冲将使BJT导通,双BJT与电容形成回路,电容放电结束,然后脉冲消失,BJT断开,电容又重新充电记录下一个峰值。 将上述各电路模块整合到一起,组成一个检测系统。采用Keil编写好程序无误后,在Proteus中进行电路仿真。输入幅值4V、频率为20Hz的正弦波信号,仿真结果如图6所示。从中可以看出,结果有一定的误差,这主要是ADC采集量化造成的。如果在采样保持电路前加上放大电路,系统还可以实现微弱信号的峰值检测。 图5 程序流程图 图6 仿真结果 [1]李凌,虞礼贞.电压幅值可达毫伏数量级的小信号峰值检测电路的设计[J].南昌大学学报(理科版),2003,(4). [2]李晖英,王宗侠,常晓明,等.基于C8051F206的轴承噪声信号峰值检测方法[J].电子测量与仪器学报,2008,(S2). [3]胡理,师奕兵,黄建国,等.峰值检测技术在数据采集卡中的应用[J].仪器仪表学报,2004,(S1). [4]曹吉花,王洪艳.信号峰值检测仪的设计与应用[J].宿州学院学报,2006,(2). [5]峰值检测电路总汇.百度文库 http://wenku.baidu.com/view/fff9b983d4d8d15abe234efb.html3.2 模数转换电路
3.3 单片机最小系统
3.4 数码管显示电路
4 软件设计
5 仿真结果与分析