描述
在改善曾经做过的一个项目时,为了提升微控制器ADC采集的效果,就引用了峰值检波电路。由于ADC的采集电压是处于一个范围内(一般是0~5v或3.3v),当你采集的信号很微弱的时候,你必须要将信号放大到合适的位置才能让ADC测量的效果更好。如果你采集的信号已经处于合适的范围,这时你就不需要对信号放大了。对于50mv的输入信号,你可能需要放大50倍;对于100mv的输入信号,你可能需要放大25倍。对于不同范围内的输入信号,你需要不同的放大倍数。你想到用什么方法来解决这个问题?我想到了程控放大器与多路选择器,目的就是为了实现不同的放大倍数。等等!还有一个关键问题吧。不同等级的放大倍数确实是实现了,但是,最关键的问题却没有解决。你怎么知道你输入的信号是50mv还是100mv呢?难道你的微控制器直接就知道或者说写程序的工程师可以看出来?对!我们都不知道输入的信号的范围。这就引出了我们今天的主角——峰值检波电路。
峰值检波电路的作用
顾名思义,峰值检波电路就是能够检测出交流信号峰值的电路。峰值检波电路的输入是被检测的信号,输出在理想情况下是一个稳定的电压(交流信号的峰值),在示波器上显示就是一条水平直线。用ADC去采集峰值检波电路的输出电压,我们就可以知道输入信号的电压峰值了。这样就可以利用程控放大电路来根据输入信号的大小选择不同的放大倍数。
峰值检波电路的原理
峰值检波电路有很多不同的版本,但遵循的原理还是不变的。现在所见的很多峰值检波电路,都是从最基础的电路一步一步改进而来的。
最简单的峰值检波电路
峰值检波电路的原理就是利用电容的充放电。交流信号在正半周期的一段时间内,二极管D相当于短路,信号的正半周期直接加在电容上对它进行充电,电容上的电压很快就会达到交流信号的峰值。达到峰值后,由于交流信号电压开始减小,电阻上的电压维持不住,电容开始向电阻R开始放电,这个过程放电是很慢的。在交流信号的负半周期,由于二极管D截止,电容C的电压不能突变,所以电容上还维持着一部分电压。此时,电容也向电阻R放电。
输出波形
充放电过程
如上图,为了让输出接近一条直线(纹波电压小),就必须让放电速度变得很慢。由于放电时间常数T=RC,所以就必须选用很大的电阻才能保证放电速度很慢。这个过程就是先充电到峰值,然后放一点点电,然后有快速的充电到了峰值,又放一点点电。
峰值检波电路的改进
为了避免峰值检波电路后级电路输入电阻对峰值检波电路的影响或者是峰值检波电路对后级电路的影响,我们可以在检波电路后加一个电压跟随器作为前后两级电路的隔离。由于集成运放有很大的输入阻抗,满足RC很大。
电压跟随器:输出电压跟随输入电压变化,也就是输出电压=输入电压
改进电路(一)
当输入电压很小的时候,有两种情况。
一、由于二极管在实际中并不是理想的,所以当输入电压小于二极管D的导通电压时,二极管一直处于截止状态,该电路就会失效。
二、即使输入电压大于导通电压,但如果(VI-VD)很小时,电容的充电速度就会很慢。而我们实际需要的是电容充电速度快,电容放电速度慢。
基于以上问题,一种新的峰值检波电路就出现了。
改进电路(二)
前端是一个电压比较器,只要Vin》Vout,就输出接近正电源轨的电压;当Vin《Vout,就输出负电源轨的电压。这样二极管D的正极的电压就会比较大,从而加快了电容的充电速度。这个电路的检测过程:Vin开始慢慢变大,比较器输出正电源,电容开始充电。因为电容充电电压就是Vout,所以当充电电压大于Vin时,比较器就输出负电源电压,二极管D截止,电容放电。电容放电到小于Vin,然后二极管D又导通。重复这个过程,直到电容充到峰值左右。为什么电容会充到峰值左右?因为电容的充电速度远远大于放电速度,所以总体上,电容两端的电压会上升。
综合峰值检波电路
利用一路ADC采集峰值检波电路的峰值,根据峰值将信号进行不同程度的放大,一路ADC做信号采集。这样采集的信号的完整性就会大大提高。