Voltage divider to scale negative ranges to positive ranges

I know there is probably an easy formula for this, but can someone explain why the formula works?

I have a load cell that reports a voltage -5 to 5 based on force applied and direction. I expect to only really use -2 to +2 on the load cell. I want to scale that up to 0-5V so Arduino can analog read the data with the highest precision.

How would you approach this problem and end up selecting your resistor values?

+/- 5V respective to what?

Most load cell signals are in the millivolts. To get +/- 5V you would need some kind of amplifier. is this what you are working with?

Yes, I have an amplifier connected to the load cell. My needs range from -300 to +300N which is about -2:+2 volts from the amplifier. (relative to the ground and positive wire comping from the amplifier.)

the Arduino analog input only reads 0:+5 volts. (relative to I need to scale these inputs

I need the Arduino to be able to detect -100, 100, -200, 200, -300 and 300N

This equates to -0.456V, 0.447V, -0.912V, 0.907V, -1.36 ,and 1.37V)

+/-5V respective to the Arduino ground? I think?

actually, if I constrain the voltage divider to make -1.5V = 0V and +1.5V = 4.8V then I will get more precision with the arduino, so I want to do that

+/-5V respective to the Arduino ground? I think?

If you don't know, then post the schematics.

Post the datasheet for the loadcell or a vendor link.

You can add -2 and +2 and get 0 with an non-inverting op amp summing amplier but it requires a +/- 5Vdc Bi-Polar Power Supply.

This tutorial explains how to build one

SEE FIGURE 2 (-V = -5V , +V =+5V)

You can use an AC/DC 5V, 2-prong power brick and connect it in reverse to get -5Vdc. You simply connect the +5V output to your system GND and the "GND" becomes the -5Vdc output . It's a no-brainer.

I do it all the time. I've built several bipolar op amp circuits that way.

I recommend the Linear LT1215 dual op amp.

As a quick and dirty solution, one can use a voltage divider referenced to a positive voltage (rather than ground) to divide and level shift. The circuit below, for instance, takes a zero referenced 5 to -5 Volt input (top green trace) and presents 0 to 5 Volts at "out" (bottom green trace). Any noise on the reference voltage (+5V in this instance) will be reflected on the output, so care must be taken in generating that voltage.

voltDivider.PNG

To get full ADC range for a smaller input voltage swing, one could follow "out" with an op amp circuit with appropriate gain.

voltDivider.PNG

This simple three-resistor network converts -5 to 5V input to 0 to 3.3V output.

This simple three-resistor network converts -5 to 5V input to 0 to 3.3V output.

Amazing what you can do with one resistor in the right place , huh ?

Thank you all, this was immensely helpful! I think I am going to go with the LM744 route since I will also need to remove some noise after anyway. Thank you all!

LM744 route

Never heard of it and Google come up empty.

What is an LM-744 ?

Do you have a link ?