Finding the right instrumentation amplifier.

I'm looking for an instrumentation amplifier that will fit these parameters:

+5v Single Supply
Output: 0v - 5v (Rail-to-Rail or as close as possible)
Operate at +2.5v Input Common Mode Voltage
Gain of 1000

I'm working on a fairly simple project (or it seemed so at first....), Kitchen scales.

I have a 5kg load cell that I would like to read with my Arduino Uno. Using +5v for excitation I get +2.500v common mode at the "sense nodes" and 0v between them. Applying a 5kg weight, the nodes measure +2.498v and +2.503v with respect to ground, or 5mV between them.

It seems trivial. Find a instrumentation amplifier that could produce a gain of 1000, giving me 0v-5v for 0kg - 5kg DONE......right???........ WRONG

I first tried the AD623
http://www.analog.com/media/en/technical-documentation/data-sheets/AD623.pdf
This is where i learned about common mode for the first time :wink: . Page 11. Fig. 23 shows a limitation of the output voltage with respect to input common mode voltage. With my +2.5v common mode, my max output was limited to around 3.6v. FAIL

I tried to be clever by reducing my excitation voltage to get the common mode aligned with the peak in Fig 23. This was an improvement, however lowering the excitation voltage, brought the difference between sense nodes below 5mv. With a max gain of 1000 I was still falling short of the 5v.

I am aware that using a dual power supply would likely solve my problem. I am currently using the +5v from the Uno, I'd rather not have to build a dual supply. It seems like SUCH a simple problem, there must be an amp that will do this...... For now I'm holding out and searching through data sheet after data sheet to find something that will work.

Hopefully you guys will have some insight!
Thanks!
Buzz

The easy solution is to use an ADC in combination with your inamp. With something like a 16 bit ADC you've increased your precision by 64x (compared to Arduino's 10 bit ADC) so full rail to rail isn't such an issue.

But the best way to go is with an "HX711" module. It will give you a gain of 128 (max) and a 24 bit ADC and there's a number of Arduino libs out there for it. If you don't like the idea of using a Chinese chip then try the Analog AD7730 (DIP available) or TI ADS1231 (SOIC). These are all load cell specific chips.