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: INA219 power down mode query

Part Number: INA219

Hi TI Team

I am designing a bus voltage monitor using the INA219 & the application requires that the INA219 draw very little current (<100uA). Hence I have been trying to power down the device whenever I don't need to take any measurement. Its datasheet says that it draws 20uA at idle mode but have not been able to achieve it yet. The device currently draws around 1mA.while its actively taking measurements.

Attempts to send it into power down mode by trying to write to the calibration register has been futile & even reading from the same keeps returning the same value of 0x399F irrespective of whatever I might try to write.

My queries therefore:

1. What is the appropriate method of writing to & reading from the calibration register? Why I keep getting the same value from the calibration register upon reading?

2. How to put the INA219 into power down mode? Any HW related changes required? Is there any document/guidelines for this purpose?

I am using one of the breakout boards (similar to Adafruit's) with the default device address of 0x40H.

Please advise. Eagerly awaiting reply.

Thanks

  • Hi Valued Engineer,

    Thank you for the question and welcome to the E2E forum.

    Writing to the Calibration register won't change the mode the device is in, you actually need to write to the Configuration register (address 00h).

    1. The method for reading from and writing to the device can be found in sections 8.5 and 8.5.6 of the datasheet found here.

    2. No, there are no hardware changes required to put the device into power-down mode, as this is accomplished with programming. The last 3 bits of the configuration register are for setting the mode of the device.

    Per Table 6, writing 000 in those bits will put the device into power-down mode, stopping the conversions and reduce the current consumption.

    Just make sure you take enough time (40 uS) for the device to recover from power-down mode when you bring it out of power-down and begin making conversions again.

    Please let us know if you need additional help.

    Louis

  • Hi Louis

    Yes that will be the configuration register (not calibration, sorry for the error).

    We had been using a breakout board from Adafruit that had 10K resistors pulled down to GND from A1 & A0 respectively. Our INA219 device had been drawing a current of approx 1.3mA  while reading Bus voltage alone. please note that the IC contained o the breakout board is SOT-23-8 (INA219BIDCNT). From the schematic of an EVM of INA219 from TI showed that it is permissible to connect A1 & A0 directly to GND. We tried that out & found that the current consumption goes down to about 650uA. upon connecting A1 & A0 to GND directly (device address of 0x40H).

    We need to decrease that further as its datasheet says that under power down mode the quiescent current would be around 15uA approx.as we have a low power application to develop. 

    Further we have been able to access the configuration register after several attempts using an Arduino NANO board & communicating via the I2C without any libraries (only Wire.h). Now we ae ale to read from & write to the configuration register & while reading the current goes up to about 722uA, except if we try to access the bus voltage mode (both triggered & continuous) which increases the current to 1.3mA again. 

    Please note that we are powering up the INA219 breakout board from a 5V source.

    Our query is as follows:

    1. How can we bring the current consumption to 20uA or nearby as mentioned in the data sheet?

    2. Is it a necessity/standard to connect A1 & A0 to GND directly for Low power applications?

    3. What is the best possible way to read the bus voltage without significantly increasing the current consumption of the INA219? Is a low power operation mode possible?

    Please advise. Eagerly awaiting reply.

    Regards

  • Hello,

    Could you share how/when you're measuring your current? I'm curious what mode the device is in and what's happening when you're measuring the 1.3mA.

    1. The shutdown current will be 15uA or less after you write 000 in the MODE bits of the Configuration Register to put the device in Power-down mode. While in Power-down mode, the device will not be making any conversions or measurements, so current will be at its minimum value.

    2. It's not absolutely necessary to ground A0 and A1 for low power applications because the device is simply checking if those pins are low or high to determine its address.

    3. This device does not have a low power option. To achieve the lowest possible current (if only reading the bus voltage) would be to put the device in Power-down mode, write 010 to the Mode bits of the Configuration register to trigger a single conversion for the bus voltage, read the bus voltage, and then put the device back into Power-down mode by writing the 000 to the Mode bits. The only thing to be careful of with this method is your timing because, as I said before, the device requires 40uS to fully recover from the Power-down mode.

    Louis

  • Hi Louis

    Sure, I can share. 

    The INA219 was being powered with a 5V source. To measure the current I had connected a DMM in ammeter mode in between the +5V rail & VCC of the INA 219. At this moment the device was probably in the default continuous measurement mode. Current draw was around 1.3mA here.

    Possibly a limitation of the library that I've been using that the device wouldn't go into power down. Later I shifted to an STM32 MCU & powered the system from a 3.3V source & wrote my own code in Arduino following the datasheet.

    This has worked out pretty well & as per your advice I was able to take the current draw down to 5uA while in power down. While powering up in Bus voltage mode (single measurement/triggered) & while reading the bus voltage the current draw goes up to ~ 600uA. But this is totally in my control now as I can reduce overall charge drain (from battery) by minimising the duration of bus voltage read. That's why I'm also operating the INA219 in the single measurement/triggered mode for only 1-2s & thereafter putting it back to power down.

    Have tried the same on both breakout boards i.e one with A1 & A0 pulled directly to GND & the other pulled down with a 10K in A1 & A0 each. The results are almost the same for both. 

    The current results look promising & hope it might just solve our problem. We highly appreciate the prompt guidance. 

    Thanks