一款基于AD7896的瞬时峰值电压测量仪设计
摘要:文中介绍了一款基于AD7896的瞬时峰值电压测量仪的设计。峰值检测是示波器中数据采集的重要方法,优于取样方式和平均方式采用单片机控制方式,通过对峰值检测仪电路的整体框架的设计,给出了硬件电路各含单元模块的设计原理图,结合硬件设计,得到了软件设计的整体流程图以及中断函数流程图,仪器通过测试,简单易行,测试精度较高。
关键词:峰值检测;AD7896;取样保持;单片机系统
峰值检测是示波器中数据采集的方法之一。示波器显示波形时,为了能够在存储深度上满足获取毛刺的需求,可以采取取样方式、平均方式以及峰值检测方式。取样方式是通过平均的时间间隔对信号进行取样来创建波形,这种方式要捕捉窄的毛刺时,示波器必须以高的采样率才能实现,并且数据需要全部存储起来,当信号的频率比较低的时刻,示波器必须将时基档位调到等效采样率很低,采集到毛刺信号非常困难。而峰值检测则只需要以最高的采样率捕捉信号,简单的忽略某些采样,只记录发生在每个采样间隔期间内的最大和最小值。这样就无须增加存储深度,还可以捕捉毛刺或者偶发事件。因此研究峰值检测技术、设计实用易行的峰值检测电路则具有很好的应用价值。本文给出了整个电路的整体框架,以AD7896作为主要的转换器件,完成了一款简单易行的峰值检测仪的设计,并对各个子模块的硬件设计以及软件框图进行了设计与说明。
1 系统原理
本测量仪以P89V51RD2单片机为基础,以AD7896作为主要器件,整个电路分为以下几个功能模块:分压模块、峰值检测电路、中断启动电路、A/D采样电路、单片机控制电路和数码管显示电路。电路框图如图1所示。
2 硬件系统设计
2.1 分压电路的设计
分压电路是利用高压臂电阻R1和低压臂电阻R2组成电阻式分压器,电压信号在低压侧取出,如图2。为保护二次侧测量装置,存低压电阻上加装一个稳压管D5,使其放电电压恰好略小于或等于低压侧允许的最大电压5 V,为使电子电路不影响分压器的分压比,在二次侧加设跟随器。
电阻分压器最重要的是误差问题,其结构和参数的确定必须从减小误差的角度加以考虑。由电路分析可以看出,若在分压器的高压端加设屏蔽罩,可以部分地补偿分压器对地的杂散电容,即可以减小误差,同时考虑到接地端的屏蔽罩可以控制分压器对地的杂散电容,因此在设计时也加设了低压屏蔽罩。经过分压电路后的最大电压值为:
电阻的选择应从3个方面加以考虑,电阻温度系数、耐压性能和阻值。如果是冲击电压的电压值较高,可以考虑选用可承受高电压的玻璃釉电阻器,该电阻器义称厚膜电阻器,属于合成型电阻器,其温度系数小,表面比功率高,几乎没有杂散电感。选择电阻元件的容量大于分压器所需的额定功率,减小温升,也是出于减小误差的考虑。
2.2 峰值检测与保持电路设计
本电路中仅用两个运算放大器就能完成对非正弦波形的峰值电压的检测。如图3。图中运算放大器AR1和AR2采用JFET双运放TL082,具有低偏置电压和高输入阻抗特性。AR2起到电压跟随器作用。V1(t)的电压范围是0~5 V,峰值检测器的作用是:一直跟随输入信号,当输入到最大电压值时峰值检测器自动保持该峰值电压值。
该电路的原理是:
1)本电路输出初始电压值为0,二极管D1,D2和D3截止。
2)在电压峰值达到V1之前,AR1处于开环增益状态,V2>0,D1截止,D2和D3导通,V3=VC=V0=V1,对电容C3进行充电,将被测信号电压的峰值保持在电容C3上,电路工作在跟随状态。
3)当峰值达到后,V1(t)减小,V1
4)之所以增加二极管D3的电阻R6,是因为可以有效地减小电容C3通过D2漏电。
5)在本电路中,在电容C3旁边增加了一个PNP三极管作为开关,并通过P14控制该电容在测量之后进行放电,以便下次测量。此外,在电容C3之前,还串接一个1 Ωm的电阻,用过防止过冲。
本电路的电压转换速率为:
因此,电容C3的容量大小将对电压转换速率有很大的影响。容量大、漏电小的电容可以有效减小漏电流,但是由于价格昂贵的原因也并没有得到很好的应用。同时,容量过大,也不能很好的捕捉到峰值电压,一般C3的典型值为:1 nf~0.1μf。
2.3 中断启动电路的设计
为了单片机采集、处理数据的方便性,可以在峰值检测电路的基础上加入硬件中断输出能力以在峰值数据准备好后通知单片机,电路原理如图4所示。
用户可以根据信号特征的不同调节产生中断的信号门槛电压,这样可以提供给使用者很大的方便。该电路使运放处于开环增益状态,其输出值为-5 V或者+5 V,经过二极管D4后,使其输出为0或者5 V,符合单
- 嵌入式实时操作系统μC/OS-II 在P89V51RD2中的移植(04-09)
- 基于P89V51RD2单片机LED点阵显示屏的实现(04-27)
- P89V51RD2单片机的时钟电路(11-02)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)