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

Other Parts Discussed in Thread: INA219

I work with INA219 Current Measuring board purchased on e-bay.

Configuration register 0x00 contents 0x399F data as mentioned in the datasheet.

Calibration register 0x05 contents 0x1FFF data instead of 0x0000 by default.

After reset (Write 0x8000 into addr. 0x00 (Configuration register)) nothing changes.

Attempts to write into Calibration register 0x05 have effect with most significant tetrad changes (0xNnnn) only.

What can be a problem?

I checked 2 devices with the same result.

  • Hello Leonid,

    Thanks for considering to use Texas Instruments.  E-bay is not our typical distributor.  Does the EVM look like this?  Assuming your EVM is legitimate and not degraded in any way, I think we need to check if your I2C communication is having any issues.  Would it be possible for you to take scope shots of writing to and reading from the calibration and configuration registers?  Can you also share what address pins A0 and A1 are connected to?  Are you using the software that goes with the EVM or are you using your own microcontroller to communicate with the device? 

  • Hello Patrick,

    I purchased original board on DigiKey and got the same results.

    Please look all files in attachment.INA219_Issue.zip

  • Hey Leonid,

    Thats not our official EVM.  That is actually an EVM made by Adafruit.  Regardless, I do think it should work so long as it truly has our part on it.

    The oscilloscope image you provided is a litttle difficult to decipher as I do not see the start condition.  Can you provide a zoomed in shot, that just shows 9 bits at a time like in the figure below?  I want to see if the address is correct and if you actually receive an acknowledge bit. For the start condition SDA falls right before the SCL falls from being held high between transmissions.

  • Hello Patrick.

    Please find attached image .

  • Hello Leonid,

    I may have found part of your problem.  For a write or read sequences you need to send the device address followed by the register address.  The address you listed, 0x40, does not correspond to any of the normal addresses listed below.  It still may be a valid register address though  that our test/validation engineers used for device diagnostics (just a guess based upon the device sending an acknowledge bit). The correct bit stream for addressing a the calibration register of a device at A0=A1=GND is in the second figure.  Please fix the register address you use and let me know if you still encounter any problems.

  • Hello Patrick,

    It is not exactly.

    Just before register reading the tool checks bus activity.

    I removed this test and now I only read the Calibration register.

    With the same result.

  • Hey Leonid,

    I have looked at the how our official EVM does the communication and I think may be a little different than what you are doing and what I previously said.  From what I can tell, your communication lines are x40 read Ack 05 Ack 81 Ack 1F.  The original photo you sent appears to be have 3F instead of 1F and is followed by FF Nack stop. Before FF, the Ack looks different compared to prior ones, which might be due to how you are attempting to read.

    For the our official EVM and GUI, I noticed the transmission goes like this:

    Start 0x40 read Ack 05 Nack stop..............Start 0x40 read Ack A0 Ack 00 Nack Stop

    which can be alternative read as:

    start device-address Read Ack register-address Nack Stop ............Start device-address Read Ack cal-register-upper-byte Ack cal-register-lower-byte Nack Stop

    A000 is what is in the cal register by default.  I need to investigate a little further, but I think x0000 for calibration at power up may have been a typo.

    if you update the register address in the first transmission and just use the device address in the second transmission, I think you may read something different that what you have been observing.