I am using my Arduino Uno to read data from a load cell. The issue I am having is that I have a large preload on my load cell that I want to remove. The load cell is a 0 - 5000 lb industrial four wire unit with a sensitivity of 2 mV/V. So at 5000 lbs the voltage difference is merely 10 millivolts. Using an instrumental amp (ina125p) the system works well, but with a crappy resolution across the full range. I will have an initial load of about 3700 lbs that I want to remove. I just needs about an 800 lb range above that. The problem is that with the 10 bit A/D my resolution is pretty terrible (~5lbs) with my unit as is with just an instrumental amp. So my question is how would I be able to remove the initial voltage difference (6~7 mV before amplification) in order to use the full 0-5 V input range of the Arduino? Any input/ideas would be greatly appreciated. Thanks.
you may need to use an instrumentation amplifier not an op amp
can you not calibrate the zero load voltage in your software
Have a look at instrumentation amplifiers with a reference terminal, like the Analog Devices AD8223:
http://www.analog.com/static/imported-files/data_sheets/AD8223.pdf
In the datasheet, see the section entitled "Reference Terminal" on page 15. It shows how to use this terminal to apply an offset to the output voltage.
--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected
With industrial type scales the term "Dead Load" = your preload...weight that is always on the scale.
Either use an instrumentation amplifier with an offset input as has already been suggested, or use an external ADC with higher resolution than 10 bits.