OpAmp-based peak detector
w2aew has a nice, clear video on youtube explaining peak detector circuits.
See SimplePeakDetector for an example of the simplest diode-RC based peak detector.
This project adds an OpAmp (LM741) to eliminate the diode-forward voltage issue. The 741 is not the best choice for this since I'm running it with a single supply, but as long as the input signal is above ~VCC/2 it works well enough to demonstrate the improvement over the basic diode-RC detector.
As with the basic circuit, the RC pair is responsible for holding the peak for a period governed by the RC time constant (𝛕).
Time to fully discharge is approximately 5𝛕, or in this case, about 5 seconds. Appropriate values for the RC network depend on the signal frequency being sampled (higher frequencies will be better served by a shorter time constant).
Feedback from the output node to the inverting OpAmp input will force the OpAmp to eliminate the diode voltage drop in the output (as best it can).
Here's a sample trace recorded using PlotNValues (a simple Processing sketch)
- upper trace is the output of the peak detector
- lower trace is the signal input (a variable "triangle" wave in this test)
- SimplePeakDetector - diode-RC based peak detector project
- #77: Op Amp Peak Detector Tutorial, with peak detector basics - w2aew's coverage of the basic circuit, and the improved OpAmp-based circuit