Electronic – Is programmable gain amplifier(PGA) in ADC enought to get me precision

adcload cell

I have 4 x 3wire load cells from a old weight scale connected as a full-bridge and I want to connect them in my uC ( Atmega328P, but not arduino ).

I want to measure weight under these specs:

  • Precision is the first most important spec
  • Error due to sensor is not important. I will change them in the future.
  • Measuring 0-200kg ( Each load cell is 50 kg so 4×50 = 200kg. Am I right? )
  • 5g resolution ( calculated 16bit ADC = 3,052g )
  • I2C interface ( ADCs: LT2451, ADS1113 or similar )
  • Update: Load cells work at 3-6Volts

In most of similar ADCs IC there is a programmable gain amplifier capable of gaining up to 8 times. Some have external some internal Vref.

I would like guidance in these areas:

  1. Vref source
    • Use 3.3 Volts from DC-DC converter?
    • Use uC Aref pin?
    • Use new IC voltage reference?
  2. Best method for minimizing signal error
    • Use PGA provided by ADC?
    • Use instrumental amplifier?

I have no great expierience in ADCs but from my point of view I see it as using the smallest Vref source i can find that is also bigger than the bridge output( 200 milli Amps ) and having a opamp before the ADC with a fixed gain and not just putting PGA which is max 8 times.

I find it a little complicated task so I seek guidance in learning from the process…

schematic

simulate this circuit – Schematic created using CircuitLab

Update:

What I understood so far is that I get a 20bit or bigger ADC in order to minimize the error use Vref from a voltage reference dedicated IC and use no amplifier. If there is a better answer I will wait some days. Am I right? Feel free to edit this assumption if I made a mistake.

Update 2:

After some thought I do not like having 20bit ADC for error free signals. There must be a more professional way to do my math.

Best Answer

Well, let's start with your range and accuracy specification (and circle back to some other things later):

5 grams out of 200kg full scale is a factor range of 200 / 0.005 = 40000 or put differently, that's 1/40000 = 0.0025%. That's a pretty tall order for noiselessness, so you will need some form of ranging, which you apply externally. Just amplifying the result of your load-cells will also amplify the noise, which will still give you the need for a below 0.0025% noise.

I'm not saying that's impossible, but it certainly is very highly impractical. In design time and component cost.

That leads me to Least Significant Bit enthusiasm, that you seem to have. You can get "approximately 1LSB" accuracy, which as you say is about 3g, but only with good averaging and heavy calibration. ADCs are always very slightly mistaken, they are offset a tiny bit, they are very very slightly not linear and they may also have a tiny bit of gain.

If you have the datasheet it will mention numbers for "non-linearity" and "offset error" and all such, they all combine through fancypantsy maths to get you a number of confidence expressed in an amount of LSB. I would, without looking at the datasheets (because I'm tired after a long day), not expect much better than 5LSB. That means that the measurement will be off by up to 15g at least. You can potentially calibrate that out, if you have the tools. (EDIT: Or as Olin suggests just go for the 20bit+ sigma/delta ADC)

This then leads me to advise you to find out what the specifications of the load-cells are at smaller numbers. I can very easily imagine the cells being manufactured to a 50g accuracy in a commercial scale, or even worse (250g wouldn't even surprise me). Which also means the manufacturer stopped looking at non-linearities and correcting them in the manufacturing process once they fell within a +/-25g range.

Then, there's the sharing of the load.

If you put the weight on 4 load-cells and each can handle a maximum of 50kg, what happens if you put 200kg on, but not EXACTLY in the middle of the square made by the cells? More weight goes to the one closest to the centre of mass. Usually a 200kg scale will contain load-cells at the least capable of 100kg each, if it's a professional one.

With regards to the reference voltage:
Do not use a simple 3.3V regulator, they are 5% off, and if it's a DC/DC switching type they will also increase the amount of HF noise, they are the worst possible choice for a reference voltage

The Vref pin of your processor will also not be very accurate, since the processor is made for processing, not for referencing. The reference is just a fun extra they added in. In some cases they can still be the same 5% off that a 3.3V regulator is, especially over temperature.

If you want high accuracy, get a low-noise, stable, high precision reference, either from a circuit using a programmable zener type thing, or just by buying a chip for it from Linear, TI or Analog Devices.