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.

INA219: low current measurement

Part Number: INA219
Other Parts Discussed in Thread: INA3221, INA236, INA228, INA229

Dear Engineers

I am currently faced with the task of building a current meter that meets specific requirements. Since this current meter is supposed to cover many channels in parallel, I am looking for cheap and simple chips. I came across the INA series, especially the programmable INA219 and the INA3221. The requirements for the chip should be currents in the range of 0.001mA to 1mA. The voltage across the load is about 2-3V and the load has a resistance between 1kOhm and 100kOhm. Is this generally possible with one of these chips, should I adapt a different shunt resistor and/or do I need an additional amplifier?
The whole thing is to be evaluated with a Raspberry Pi. 

This is the first time posting to this forum, do you need any more information or sketches. Thank you very much and best regards,

Sebastian

  • Sebastian,

    The current ranges you are trying to measure are too small for either the INA219 or INA3221 to measure accurately, especially if you are hoping to measure down to 1µA. The main sources of error you are going to have to deal with in this circumstance are shunt offset error, Input bias current and quantization error.

    Because you are attempting to measure such small currents the input bias current (Ib), or the current drawn by the device itself, needs to be limited to levels lower than the current you are trying to measure. In general, Iadds R*Ib voltage onto the input of the device. The shunt offset error will also add a fixed voltage onto the input of the device, so it needs to be kept relatively low as well.

    The quantization error results from the internal resolution of the adc. You need to keep this well below the level of the current you are measuring.

    We also have some videos explaining the different sources of error Here. ("Error Sources" section)

    I don't recommend using the 1kΩ-100kΩ load resistor as your shunt resistor because voltages of 2-3V will be out of range for most of our digital amplifiers. Additionally, our current monitors rely on having a known shunt resistance, so having a large range will not result in accurate results. You should insert a shunt resistor of 20/40Ω depending on the input range of the amplifier you choose. 

    I would recommend using the INA229/INA228 with a 40Ω resistor or the INA236 with a 20Ω resistor if 40Ω is too large to be used for your application. These chips use I2C or SPI to communicate with the Pi.

    Here are some expected error calculations using a 40Ω resistor:

    And using a 20Ω resistor:

    It looks like the expected error for the INA228 with the 40Ω resistor is 5.92% at the minimum current you want to measure, 1nA. Keep in mind that the INA236 can't be used with the 40Ω resistor at maximum resolution, 20Ω is approximately the largest resistor you can use.

    If you want to do some error calculations for other devices the excel calculator is linked on most of our product pages and can be found Here.

    If 6% error is too much for your application, you should look into an analog device such as an instrumentation amplifier.

    Let me know if you have any more questions!

    Levi DeVries

  • Dear Levi

    First of all, thank you very much for your detailed reply! Reading through it quickly, there is so much information to digest and sources to check. I think you have offerd help to solve my problem. But just to make my shaky terminology a little clearer, as I wasn't planning to use my load as a shunt, but a high enough shunt before/after (depending on whether I want to use high or low voltage measurement) my load to ensure I can measure the expected voltage drop across my shunt.

     

    I will need to go through all the sources you mentioned and if needed I will ask a follow up question. If I manage to solve my problem I will post the answer here. As of now I will resolve the issue as solved Slight smile

    Thank you very much and best,

    Sebastian