I am generating a 0-5 volt sine wave using an arduino with a DAC. I would like to level shift this signal (DC bias?) by -2.5 volts and have a gain of .8, so that I end up with a line level sine wave.
Thus I am trying to design a single supply op amp with the following equation:
$$V_{\text{o}} = (V_{\text{i}}-2.5) \times 0.8$$
I found this white paper that is supposed to describe a way to do this but I'm having trouble following as I am new to op-amps.
https://www.eecs.umich.edu/courses/eecs452/Labs/circuit4.pdf
Does anyone know of a way to do this with a single op amp or IC?
The frequency range of 20Hz to 20KHz must be preserved.
Answer
You have the following situation:
Arduino with DAC generates 0V - +5V sin wave (2.5V +/- 2.5V).
The output should be -2V - +2V sin wave (0V +/- 2V).
POSSIBLE SOLUTIONS:
solution #1:
Arduino with DAC + C1 + R1 + R2 (all elements are in series).
- C1 + R, where R = R1 + R2 is a high pass filter
- R1 and R2 is a voltage divider with the gain of 0.8 V/V
- can be used if DAC is able to source/sink enough current
.
solution #2:
Arduino with DAC + opamp buffer + C1 + R1 + R2 (all elements are in series).
- use in case your DAC is not able to source/sink enough current
.
solution #3: Arduino with DAC + opamp subtractor + C1 + R1 (all elements are in series).
- C1 + R1 is a high pass filter
A single opamp in a configuration of the subtractor takes care of your equation:
Vo = (Vi-2.5) * 0.8
Look here: http://www.mtcmos.com/subtractor/ . You would like to use the configuration at the end of the article, that is, the left from this picture:
You set:
- R2/R1 = 0.8
- V1 = 2.5V
- V2 = Vi
So you get:
Vo = 0.8 * (Vi - 2.5)
You may also refer to this e-book https://payhip.com/b/5Srt. The subtractor circuit explanation is a bit improved there (the core is the same), but you also find other configurations explained.
No comments:
Post a Comment