This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

INA819: Using INA819 paired with ADS1115 to read load cells

Part Number: INA819
Other Parts Discussed in Thread: ADS1115, TLV9052, INA592, OPA191

I need to read several load cells that are excited by +12VDC and read the output using a BeagleBone Black Rev C, preferably with I2C.  The Beagle's I2C bus operates at 3.3 V DC.   
An instrumentation amplifier has been recommended by another TI engineer, and I have selected the INA819 because its CMRR, low drift, and low maximum input offset fit the application well.  The load cell output is 3.000 mV/V, and its full load force range is 0-500 lbf.

I have designed a circuit that utilizes the INA819, and the output is connected to the ADS1115, which I can read using I2C.  We use the ADS1115 in single-ended mode on another system, so it's advantageous to use it because of our familiarity with it.  I have not yet decided on the gain and whether to apply it with the INA819 or the ADS1115.   My circuit is shown below.   Since these are prototypes, we use the SOIC package so that we can more reliably hand-assemble them.  The Caps are 0.1uF ceramics.   I have these questions.

1) Overall, will this circuit work?  If so, what improvements should I make?

2) Are any passives missing?

3) For a gain of 1, do pins 2 and 3 of the INA819 float or need to be tied together?

4) Is tying the INA819's REF pin to GND correct?

5) What would be the best stage to apply the gain, if any?

 

GS-GSFS-PCB-1-119-A 10-31-25.png

  • Hello Walter,

    Thanks for posting to E2E! Yes, this application is where instrumentation amplifiers perform the best perhaps! This circuit will almost work! You will run into issues in scenarios with low input voltage differential. In this case, your ideal output will be ((IN+) - (IN-))*G + VREF = VOUT. With a gain of 1, this simplifies to (IN+) - (IN-) + VREF = VOUT. In cases with low input voltage differential, your ideal output will be close to 0V. However, the output swing of your instrumentation amplifier cannot go all the way to 0V. From the datasheet, your output swing limit is 150mV from V-. 

    There's a couple ways to work around this:

    1. Apply a small negative voltage supply to -VS to give your amplifier headroom to the -VS rail. 
    2. Apply a small positive voltage to REF, to get your ideal output into your valid swing range.

    For either case, a helpful visualization is present in the analog engineers calculator (https://www.ti.com/tool/ANALOG-ENGINEER-CALC). I've also included a document below explaining the interpretation of the most useful and confusing plot for instrumentation amplifiers, the VCM vs VOUT plot. 

    https://www.ti.com/lit/an/slyt690/slyt690.pdf 

    Below, we can see that for the conditions you have set up above, your minimum input voltage differential needed to get a linear output response is 150mV. This is shown in the bottom right quadrant with the amplifier labeled "Min"

    Adding a small reference voltage of 200mV now allows our minimum input differential for a linear response to be -50mV.

    This solution now means that you will need to do a 1-time calibration to set your "zero" value to 200mV, and anything above this will be due to load applied to your cells.

    Adding a small negative supply voltage accomplishes the same goal, but without the need to zero out the added reference voltage value. I arbitrarily picked -500mV as the V- value, but any value more negative than -150mV will be sufficient. 

    For a gain of one, pins 2/3 should be floated, not shorted. 

    The potential connected to REF must keep the internal amplifiers within a valid common-mode range, but most importantly it needs to be a low-impedance value. GND is low impedance, but if you are taking method 1 from above, you will need to supply this reference voltage with a low-impedance source. An easy example of this would be a buffered resistor divider.

    As a rule of thumb, it is best to apply gain as early as possible, and in the cases of multiple gain stages, it is best to invest in higher performance front-end amplifiers. This is because with a two-stage system, the total output error will be the error of amp 1 times both gain stages, plus the error of amp 2 just multiplied by the gain of the second stage. This reasoning is why typically instrumentation amplifiers have a higher-performance gain stage, and a more modest performance difference amplifier stage. For example, just looking at the offset voltage, the input stage has a max offset of 35uV at room temp, and the output stage has a maximum offset of 300uV at room temp. This is because when gain is applied, your input stage errors will start to dominate after you get to gains of 10-20 or more. 

    Now that I'm done typing this, it is a lot of information, so please let me know if anything was unclear or you would like further explanation on any of the points raised!

    Best,
    Gerasimos

  • Wow! Wow! Wow!  You exceeded my expecations!

    I believe for us added a 200mv voltage to REF as you suggest will be best.  We can easily account for that in our software.  I assume that REF is very low current so could I use some relatively high Ohm precision resistors between +12VDC and GND as a voltage divider to get the 200mv reference voltage.  Or alternatively, I could use the 3.3VDC from the BeagleBone in to feed this voltage divider circuit since we're using a common GND across the whole circuit.  Would either one work and would one be better than the other?  I would not expect the INA819 to care what the top of the voltage divider is but only the value going in to REF relative to the common GND but I'm not experienced at these chips.

    I'll plan on the gain in the INA819.

  • Walter,

    You can divide off of either rail, I would pick the cleaner of the two :). Do remember to place a buffer between the divider and the REF pin of the INA819. You don't need separate buffers for each ref, one will do for both. Impedance seen on the REF node can introduce CMRR/GE in the difference amplifier stage of the INA819. You're correct that the INA does not care where the top of the divider is, it just matters the impedance of what is providing the reference voltage.

    There's a video series that covers the basics of instrumentation amplifiers, and the basic derivations that govern the function of these devices! You can find that series here: 

    https://www.ti.com/video/series/precision-labs/ti-precision-labs-instrumentation-amplifiers.html 

    Best,
    Gerasimos

  •   Thanks.  Just a few more questions, please. 

    When you say buffer I assume you mean a buffer amplifier?

    I think to get the volume resolution I am looking for I will be setting the INA819 gain to 1 and the ADS1115 gain to the +/-0.256 range (8x gain).  I know this is not putting the gain at the first stage but I think it gives me the volume resolution I'm looking for.  I also think in breadboarding this I can easily change this to  confirm by just changing the external resistor for the INA819 and programmatically changing the PGA of the ADS1115.   Thoughts?

  •   

    Yes, sorry for any lack of clarity, I did mean a buffer amplifier. From the previous thread, it seems that at maximum load your input voltage differential is 36mV. If you are using your ADS1115 in +/-0.256V range and using a small offset on your REF pin, you are losing 200mV of dynamic range just to your REF offset. I would probably use one of the lower gain ADC settings, and increase the gain on your INA819. Scaling your input up by 100 will give you an output range of 200mV-3.8V, and you should have plenty of fidelity in your measurement. 

    What is your error target?

    Best,
    Gerasimos

  • Ok.  We use the TLV9052 in other projects so I'll probably choose it for the buffer amp.   I'll have to go through the calcs again on the gains, etc.   I am trying to measure within 25ml of water.  There are four load cells so that gives us potentially 100ml of error.   It's an agricultural application so we can sustain this error easily.  

    Also, the video series is very helpful.  Thank you!

    The load cells's output impedance is ~340 ohms.  Do you think I need to put 330kOhm resistors in series with IN+ and IN- as the video describes?

  •   - just one last unanswered question that I wanted to check on.  Do I need to put the 33k (~340x100) ohm resistors in  series with IN+ and IN-?  The load cells output impendance is `330-340 ohms and one of the videos suggested that the impendance should be 100x the sensor output impedance.

  • Hey Walter,

    This is referring to the input impedance of the amplifier you are connecting to the bridge sensor, and is meant to reduce error due to loading the bridge network with lower impedance paths. In the case of the INA819, the input impedance is in the hundreds of GΩ, so this will not be a concern.

    Where this is more important is if you are interfacing a bridge sensor with a difference amplifier. For example the INA592:

    Because the inputs of this device look into a resistor network rather than into the base of a transistor, it is many orders of magnitude smaller in input impedance.

    Best,
    Gerasimos

  •   This is driving me insane.  I have the INA819 in the SOIC-8 package and have it on a SOIC-to-DIP adapter.  I've checked the continuity of every single pin, and they are good. I also made a second INA819 unit.   I also got an OPA191 so I could make the exact circuit in Figure  9-3 in the INA819's literature but I did not start there.

    I wired everything up on a breadboard with the load cell being the initial input to +IN and -IN.  The load cell excitation voltage is +12VDC and I powered the INA819 from this supply.    I set up a voltage divider with a 3.3V DC supply from a BeagleBone Black and fed 200 mV from this divider into a unity gain buffer amplifier using the OPA191, and then into REF on the INA819.   

    When I applied force to the load cell, the INA819's output remained constant. 

    So, changed out the INA819 just to be sure I had not damaged the unit during assembly to the DIP adaptor and got the same behavior.

    So, I backed out of all that and wired up the exact circuit in Figure 9-3 and used a function generator to input a DC value to +IN and -IN of 34mv.  Rg = 1.092k so the gain is 50 per the literature.   

    It actually doesn't matter what the input to +IN and -IN is.  The output is just stuck at ~292mv.   I've raised the input to 164mv and have the same behavior - stuck around 292mv.   What am I missing?????

  •   

    What is the common-mode voltage on the inputs relative to V- of the INA both in the case of the load cell and in the reference circuit 9-3? Generally I assume that the VCM of a load cell is Vexc/2, but I would like to double-check.

    This may sound slightly tedious, but would it be possible to provide ground-referenced measurements of the voltages at each pin of the INA819?

    Best,
    Gerasimos

  • With the circuit of 9-3, but with a voltage divider of 30100 & 1910 ohms instead of the 100k-100k pair in the figure, here are the measurements.

    I made these measurements with a scope.  There is some 60Hz noise on the traces and a 1MHZ 3mv-pp noise too.  So readings could be +/- 1.5mv

    • Setup A:
    • With 36mv input from function generator to +IN and -IN
      • INA pin 5 ( -V) is connected to Ground
      • INA pin 8 (+V)  is connected to +5VDC
      • Rg = 1,025 ohms connected to INA pins 2&3
      • Signal in to +IN and -IN from function generator is 36mv DC.  Function generator + connected to +IN, function generator - connected to -IN
      • INA Pin 4 to pin 5 (-V) = ~47.2mv
      • INA pin 1 to pin 5 (-V) = ~0mv
      • Pin 8 to pin 5 = 5.02V
      • Pin 7 to pin 5 = 1.020V 
      • INA REF to GND = 298mv (output from OPA191)

     

     

    Now, modifying the circuit of 9-3 to power the load cell and INA819 from +12VDC (because the load cell needs at least 10VDC excitation, and the OPA191 powered by +3.3VDC from a BeagleBone Black (which is the ultimate power source we'll use) for the voltage divider, 

     

    Setup B: With no load on the load cell,

     

    • INA pin 5 ( -V) is connected to Ground
    • INA pin 8 (+V)  is connected to +12VDC
    • Rg = 1,025 ohms connected to INA pins 2&3  (1 + 50000/1025=49.7805 Gain)
    • Signal in to +IN and -IN is from the load cell.  Load cell excitation voltage is +12VDC.  +EXC connected to +12VDC, -EXC connected to ground.  No load on the load cell
    • INA Pin 4 to pin 5 (-V) =  ~6.00 V
    • INA pin 1 to pin 5 (-V) =  ~5.98 V
    • Pin 8 to pin 5 = 12.0 V
    • Pin 7 to pin 5 = 202 mV 
    • INA REF to GND = 202mv (output from OPA191 with voltage divider and OPA191 both supplied by ~3.3V from BeagleBone Black)

     

     

    Setup C: No change in the circuit. With ~28.7lbf load on the 0-500lbf load cell, which has a nameplate output of 3.041mv/V, the load cell output should be

    28.7/500*3.041*12=2.0946 mv

     

    • INA pin 5 ( -V) is connected to Ground
    • INA pin 8 (+V)  is connected to +12VDC
    • Rg = 1,025 ohms connected to INA pins 2&3 (1 + 50000/1025=49.7805 Gain)
    • Signal in to +IN and -IN is from the load cell.  Load cell excitation voltage is +12VDC.  +EXC connected to +12VDC, -EXC connected to ground.  No load on the load cell
    • INA Pin 4 to pin 5 (-V) =  ~6.0V
    • INA pin 1 to pin 5 (-V) =   ~5.98V
    • Pin 8 to pin 5 =  12.0V
    • Pin 7 to pin 5 = ~80mV 
    • INA REF to GND = 202mv (output from OPA191 with voltage divider and OPA191 both supplied by ~3.3V from BeagleBone Black)

    At least I am getting a change with the load on the cell but I haven't figured out how 80mv can be correct.

  • Walter,

    Thank you for taking the detailed measurements! I appreciate the quick feedback here. In case 1, you are not getting a valid linear output because your input common-mode is too low. Your differential signal must be present on top of at least signal that is 2V above V-. So in this case, if you had a difference between the inputs of 34mV, you will get a valid input when one input is 3.017V and the other is 2.983V. This is a 34mV differential on top of a 3V CM voltage.

    Setup B looks to be correct, as the output should be VREF if there is no voltage difference between IN+ and IN-. 

    For setup C, it looks like your input CM is valid, are you able to get a higher resolution voltage measurement on the Pin4/Pin1 voltages? It seems like the output is railing to 80mV because IN+ is going below IN-. Is it possible the Out+ and Out- are reversed from the load cell?

    Best,
    Gerasimos

  •   So, basically, using the function generator to simulate the input was just for troubleshooting so I can stop being concerned with that. 

    Since this load cell will always have a load on it (the emtpy tank weight) in practice, we should not have an issue where we just get the output equal to VREF.

    I double checked the connections agains the documentation for the INA819 and the load cell (link to VPG Sensors doc.) and I believe they are correct.   Load cell +Output (green wire)  -> INA819 pin 4 and Load cell -Output (white wire) -> INA819 pin 1. 

    Very strange.  I don't have an easy way to put more load on the load cell right now.  The tank is still being designed.

  •  ,

    Looking through the datasheet, I see that the load cell varies for tension and compression, but the datasheet does not specify the directionality if tension or compression creates a positive voltage differential on (Output+) - (Output-). I also don't see a specification that details what element is changing in your load cell when load is applied, to be able to calculate which output will be higher when under tension or compression. Additionally, I don't think if I ever asked if your load cell is being used in tension or compression. I think the devil is in the sign convention here...

    I would try swapping the inputs and see if you get a linear output. Another way to confirm this is to connect a lesser load on the load cell and see if your output is just below 200mV

    Best,
    Gerasimos

  • Well, well, I swapped the connections of the load cell and +IN and -IN and put a 59.4lbf compression load on the load cell, oriented in the same way as before, and viola! the output at Pin 7 is 436mv.   

    59.40/500.00*3.041*12.00=4.34mv

    Gain of 49.78

    4.34*49.78+202.00 = 418.05 mv vs measured ~436mv

     I removed one of the batteries to reduce the load to 59.40/2=29.70 lbf

    29.70/500.00*3.041*12.00=2.17  mv

    2.17*49.78+202.00=310.02mv

    Measured output on Pin 7 with scope is ~312mv.  

    So, it looks like I need to have a discussion with the load cell folks about their documentation!

  • Aha! Glad we have some forward progress! Please let me know if you have any further questions or run into any more bumps in the road!

    Best,
    Gerasimos