# Convert from a specifc range to another one

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

• 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. Jun 15, 2014 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. Jun 15, 2014 at 19:08
• I'm working on an answer as we speak :P Jun 15, 2014 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. Jun 15, 2014 at 19:16
• Are you considering in your answer an input voltaje with DC ??? Thanks Jun 15, 2014 at 19:31

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.

• Thanks, that's the circuit my brain couldn't get the energy to put together ;) Jun 15, 2014 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. Jun 15, 2014 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. Jun 15, 2014 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. Jun 15, 2014 at 19:46
• What im doing is in order to have a tool which could show the error on the gyrocope. Jun 15, 2014 at 20:03

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.

• 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? Jun 15, 2014 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. Jun 15, 2014 at 19:55
• in your answer i would have to change the R3 resistor every time i need a different output? Jun 15, 2014 at 20:01
• Ousamma because of input and output impedances Feb 28, 2017 at 17:11
• @oussama If you are driving from a Op Amp or similar, and receiving into a high impedance ADC, Andy's solution is best, but if you have a sensor of 10k, then you need to say so in the specs. of your question. Oct 2, 2018 at 5:47

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 ;)

• Are you considering in your answer an input voltaje with DC ??? Thanks Jun 15, 2014 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. Jun 15, 2014 at 19:37