Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

Can anyone explain how one would convert one voltage range to another? I'm going to need to convert a range of -10 to +10 volts into a range of 0 to +5 volts. How would this be accomplished? Thanks!

Let me say something more. Inside of a torpedo there are gyroscopes. This gyroscope give -10 volts when the torpedo have 180 degrees of deviation to the west and 10 volts when the deviation is to the east. This signal is DC, so i need to change this range a range: 0 to 5 v DC . Thanks

share|improve this question
Apply a negative (aka fractional) gain to make it +- 2.5V, then add a 2.5V DC offset to it. Both can be done with passives or with op-amps. –  Majenko Jun 15 at 18:59
Could you give me an explanation with more details? Please. Or maybe there is a web site where i can look for some examples. Thanks. –  javier acha Jun 15 at 19:08
I'm working on an answer as we speak :P –  Majenko Jun 15 at 19:13
Both ranges work with DC. I mean... from range: -10v DC to 10 v DC to range: 0v DC to 5 v DC. thanks. –  javier acha Jun 15 at 19:16
Are you considering in your answer an input voltaje with DC ??? Thanks –  javier acha Jun 15 at 19:31

3 Answers 3

up vote 4 down vote accepted

You could use a dual RRO op-amp (eg. AD8676) and ICL7660 as follows (single 5V supply)


simulate this circuit – Schematic created using CircuitLab

This has 0~5V output for -10~10V in. If you have to handle the -10V and +10V cases with an ADC that has a nominal 5V reference, then you may wish to increase R1 slightly to cover saturation voltage of the op-amps, resistor tolerances and so on, perhaps 5-10%. Then just scale the number from the ADC digitally.

You can bypass R6 and R7 with 0.1uF if you're worried about noise.

One advantage of this circuit is that the gain is set by two resistors (input and output gain) so you can change the input range or output range independently. For example, to change to +/-5V input, change R1 to 100K. To change the output to 0~2.5V (say you got a better reference for your ADC but it's 2.50V), change R4 to 49.9K.

share|improve this answer
Thanks, that's the circuit my brain couldn't get the energy to put together ;) –  Majenko Jun 15 at 19:35
I really aprecciate the help that both of you are giving me. I need to know is this circuit is working with DC input signal because i need to catch the signal from a giroscopy from a torpedo. –  javier acha Jun 15 at 19:38
The "giróscopo" give me signal between -10 v DC to 10 V DC . Why? because -10 volts represent 180 degrees and 10 volts -180 degrees. –  javier acha Jun 15 at 19:41
If the gyroscope output is buffered (low impedance) and your ADC input is relatively high-Z you may be able to use Andy's circuit which is much simpler (it has low input impedance and high output impedance but it is very simple!). P.S. I generally avoid doing weapons work, so I'll leave it at that. –  Spehro Pefhany Jun 15 at 19:46
What im doing is in order to have a tool which could show the error on the gyrocope. –  javier acha Jun 15 at 20:03

There's two things you need to do to your signal to convert it to your required range.

First you need to scale the signal, then you need to offset it. Or, you can offset it then scale it, the end results are the same.

There's really two ways you can go about it - passive, or active.

Passive basically means using a voltage divider to scale the voltage, the AC coupling it with a capacitor, and adding a voltage divider to apply a DC offset.

For example:


simulate this circuit – Schematic created using CircuitLab

That would scale the voltage to +/- 2.361V, then add a 2.5V offset to it. The capacitor acts as a high-pass filter, so size it accordingly for your signal.

An active solution would involve an op-amp with a split-rail power supply (say +/- 15V) with a fractional gain and a 2.5V DC bais. My brain isn't functioning well enough right now to draw this circuit and calculate all the values - maybe someone else could do it for me ;)

share|improve this answer
Are you considering in your answer an input voltaje with DC ??? Thanks –  javier acha Jun 15 at 19:34
DC is a relative term. A signal that varies between -10V and +10V plainly isn't a DC signal by any meaning of the term. –  Majenko Jun 15 at 19:37

Three resistors and a 10V reference supply should do it: -


simulate this circuit – Schematic created using CircuitLab

When the input is +10V the voltage on R3 will be \$10 \cdot \dfrac{2k}{2k+2k}\$ = 5V

When the input is at -10V the voltage on R3 has to be zero.

Anywhere in between the input voltage maps linearly to the output.

share|improve this answer
It makes me ask myself : when the signal from the giro of the torpedo is -5 volts DC i get a output signal 1.5 V DC? –  javier acha Jun 15 at 19:49
@javieracha The end points are answered and there is no non-linear component that could cause the mapping to be anything other than linear. –  Andy aka Jun 15 at 19:55
in your answer i would have to change the R3 resistor every time i need a different output? –  javier acha Jun 15 at 20:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.