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.

Shut Voltage is not linear above 1A

Part Number: INA219


I have been trying out the INA219 and mostly, it has been working fine. I have come across an unexpected behaviour and I am am not able to work out what it is I have done (or not done) in my configuration. Basically, I am finding that when I apply a load above 1A i.e. 50% of the maximum, then the Base Voltage rises beyond what was expected.

Background

I am using the Adafruit INA219 breakout board. This is comes fitted with a 100 mΩ shunt resistor. I have a lab supply providing 7V to the INA219 IN+. The IN- is connected to a variable current sink. I have a 5V regulator supplying the control circuitry of the Current Sink. The AN219 is sourced by an ATTiny3217 Xplain Pro dev board 3.3V output. The connection is as per the diagram below. The reason for this odd configuration is that I wanted to see what would happen when the load voltage is greater than the rest of the system supply. Because if the issue I discovered, I have not pushed this any further just yet.

It might not be well depicted but the grounds are all connected. I have a Volt meter on the IN+ and IN- of the INA219 as well IN- to GND. I set the current sink to draw up to 1.5A in roughly 500mA steps - the single turn POT of the Current Sink does not allow for great accuracy in the steps. The current reading was taken from the Lab power supply. No Amp meter was connected at all anywhere.

Imax: 2A

V nominal: 7V

Rshunt: 0.1 Ω

Calibration: 0x1000

Configuration: 0x199F - BRNG 16V, /6, 12Bit, Shunt and Bus Continuous

Findings

What I found was that with this configuration, once the current sink was adjust to over 1A (on the Lab supply), then the Shunt voltage would be much higher that expected. The "current-measured" in the table below is, again, from the Lab power supply. "shunt-actual" is the result of the shunt register after applying the shunt LSB. "shunt-measured" is the reading from the Volt meter applied to IN+ and IN-.

Question

Based on the information given, I would like to understand if this is correct behaviour?

What I am thinking is that there is something not correct with the shunt resistor. I have been over the data-sheet and the shunt resistor training videos and notes but I can not see what could be wrong here.

In this case for a 7V supply with a maximum 2A, why can't this 0.1 mΩ still provide a correct result when after 50% of maximum load is reached?

Any ideas and contributions would be appreciated.

Steve.

  • Hello Steve,

    Can you please show me where you probe.  The traces on the PCB seem to be very small and the resistance of the trace could impact the measurement.  As you apply more current the copper resistance increases so where you probe could change the results.

    To verify that temperature is an issue for resistance. Measure low current, then high current (leave it on for a while and see if the voltage keeps increasing) then measure low current.  If temperature drift is the issue when you repeat your low current it will read higher than before and slowly come back to the first measured value.

    Along with heat is there a change in the Ground.  I know you state that the GND is the same but when you increase current and the GND current could increase causing differences in the GND potential.  This should mostly impact the VBus measurement and not the Vshunt measurement.

    The thing that concerns me is that both increase at the same time.

  • Thanks Javier ,

    It will take me a little longer to get around to making the measurements you suggest. In the mean time, I figure a picture is worth a thousand words so I have made a couple of photos to show the setup. Basically the Vbus is measured off the terminals provided on the INA219 breakout board. The IN+ and IN- that come in from the supply and go out to the load are connected via the connectors on the breadboard.  The only current reading is only taken from the Lab power supply.

    I was actually wondering if this could be temperature related. What made me so unsure is that the breakout board and example claim to be capable of up to 32V and 2A. It has a Rshunt of 0.1Ω 1% 2W. From my calculations, the maximum power to be dissipated through Rshunt is 0.4W. 

    I will post again when I have the additional results.

    Thanks again for your time.

    The basic setup

    Connections to the INA219

  • Hi Javier,

    I ran ran through the test again like you described. Took a set of readings at the initial state and then increased the load to 1.5 and then waited a while and then back to no load.

    The readings on Vshunt and Vbus are immediate 

    Initial reading

    Bus Voltage: raw: 0x3672, 13938, act: 6.968 V
    Shunt Voltage: raw: 0x0005, 5, act: 0.049 mV
    Current: raw: 0x0007, 7, act: 0.700 mA
    Power: raw: 0x0002, 2, act: 4.000 mW

    At 1.5A

    READING: 2 - Immediately after setting the load
    Bus Voltage: raw: 0x52BA, 21178, act: 10.588 V
    Shunt Voltage: raw: 0x4F40, 20288, act: 202.879 mV
    Current: raw: 0x4ABD, 19133, act: 1913.300 mA
    Power: raw: 0x27F1, 10225, act: 20450.000 mW

    Immediately after winding down the load

    READING: 5
    Bus Voltage: raw: 0x3672, 13938, act: 6.968 V
    Shunt Voltage: raw: 0x0005, 5, act: 0.049 mV
    Current: raw: 0x0007, 7, act: 0.700 mA
    Power: raw: 0x0002, 2, act: 4.000 mW

    After winding down the load, the VShunt and Vbus reflect the metered reading immediately.

    Regards,

    Steve

  • Steve,

    I have thought about this and I think there could be some loading going on.  I have had issues in the past with handheld meters but I still cannot understand the error in Vbus.  

    The reason I suspect loading is normally when the meters change ranges the load from the meter changes and I see a clear transition when the load hits about 1A -->  0.1 * 1A= 100mV at Vshunt.  This may explain Vshunt but I don't understand why Vbus would do the same thing as it is not changing ranges.  Please double check your Ground connections.

    Going back to initial theory.

    Also your measurements should be like this

    1. Measure No load
    2. Measure with load(1.5A as this is where we see the issue) on immediately after turned on load.
    3. Wait for warm up
    4. Measure after again with the condition as step 2.
    5. Turn off load and measure while still warm.
    6. Compare step 2 to step 4 and compare step 1 with step 5.  Your last experiment did compare step 1 and step 5.

  • Hi Javier,

    Thanks again for your reply. I worked through your steps again. The results show that the temperature has no significant impact on the results of this issue. However, your other theory of the "GND loading" seems to be correct. I have two supply buses - one for 5V and the other for 7V. The IN+ on the INA219 is supplied from the 7V bus. IN- goes to the Current Sink. The ground line is then (lazily) connect near the INA219 - on the 5V bus GND. When I moved the Current Sink ground onto the 7V bus, the results were significantly  better. There are still some elements of error but well and truly in the ball-park and stay linear throughout. 

    The connections are best shown in some diagrams. The first diagram shows how it was connected and returning the odd results. The second shows the corrected connections that provide the expected results.

                  

    The final results are much more as to what I was expecting form the start.

    Thanks again for your suggestions. I will now be reading up on "Ground Loading". I have heard of this issue before but this is the first time I have experienced this first hand.

    Regards,

    Steve

  • Steve,

    I am glad you were able to find the main issue.  Please post for further assistance.