Electronic – Level shifting a +/- 2.5V signal to 0 – 5V

level-shifting

I have a front end module that generates an (ECG) signal that varies from +/-2.5 V. I want to shift this signal to 0 – 5V. What is the best way to do this? Would a summing amplifier like the below circuit good enough? With R1 = R2 and V1 = 2.5V, V2 = my signal, V3 = V4 = GND

Summing Amp

Best Answer

First thing to try is a simple resistor adder, without opamp. But it's clear that this won't work here: a resistor adder always attenuates the signal, and we need a \$\times\$1 amplification.

enter image description here

This is a non-inverting summing amplifier. You would think that we simply have to add 2.5 V, but do you have that? I'm assuming you have 5 V, so let's use that and see where it gets us. If we have -2.5 V on the Vin input the non-inverting input should be zero if you want 0 V out, regardless of the values of R3 and R4. So R1 and R2 form a voltage divider, and R2 should be twice R1 to get the 0 V.

Next we have to find the amplification, which is determined by R3 and R4:

\$ A_V = \dfrac{R3 + R4}{R3} \$

If we have 2.5 V on the Vin input and with R2 = 2 \$\times\$R1 we get 3.33 V on the non-inverting input of the opamp. To make that 5 V out we have to amplify by 1.5, so R3 must be twice R4.

We could use the following values:

R1 = 10 kΩ
R2 = 20 kΩ
R3 = 20 kΩ
R4 = 10 kΩ

You'll need an RRIO (Rail-to-Rail I/O) opamp if you want to power if from a single 5 V supply.