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.

Calibration Register

Part Number: INA220


Hi Sir,

INA220 can be monitor to 0~15mA?

R_SHUNT=100m Ohm

Maximum Expected Current= 15mA,

cal=819200,  HEX has been exxeed, how do write to the calibration register?

  • Hello Tommy,

    Yes the INA220 can measure 0 to 15 mA. The reason why your calculated Cal value is too big is because you are trying to use an internal current LSB (I_LSB) value that is too small given how small the shunt resistor already is. If you want to use the smallest possible I_LSB, then you must calculate I_LSB_min given that Cal is the max possible value, which is 0x7FFF or 32,767. Thus, I_LSB=0.04096/(Cal*Rshunt) = 12.5004µA, which equate to a Maximum measurable current of 409.6125 mA.

    I would recommend rounding up the I_LSB to 13µA or increasing Rshunt to achieve better resolution and accuracy. Keep in mind that at 15mA, the sense voltage will only be 15mA*100mΩ = 1.5mV. Even with the best specified offset of 50µV max, the error just due to offset will be 1% at your full-scale range. The error from offset will increase exponentially as the current level decreases below 15mA. Offset error can always be calibrated how if you choose to software to do so in your system.

    Hope this all makes sense.

    Best,

    Peter

  • Hi Peter,

    thanks for your kindly help.

    Cal due to 32767 (7FFF) maximum limit

    i revise ADC down to 10 & gain down to 1 and then Cal=27962(reg05h=DA74), Reg00h is set to 208F.

    similarly, the measurement value of the voltage and current test is made through the loading, still has offset,

    if calculated through the V_shunt of Reg_01,the measurement still has error.

    i would like to know, after giving Cal parameter,if want to know the current on R_shunt, should use the value of Reg_04h directly?

    base on your suggestion, we have to change the R_shunt design to 1 Ohm? Can be measure the level of V_shunt to 15mV, is there a way to improve the problem of the error (50uV) ratio?

  • Hello Tommy,

    If you want to know the load current passing through Rshunt, then you can read the current register (04h) as long as the calibration register has been programmed. There is always the possibility of a device’s input voltage offset being within and up to the ±50µV specification (Vos). Thus, if you are trying to measure small shunt voltages, the offset error will become worse as Vshunt decreases. This is true for any amplifier and this is why I suggested increasing your physical the value of your physical shunt resistor component because you will increase full-scale range of Vshunt and thus reduce gain error. Of course you can’t make Rshunt too big or else you begin to dissipate excess power or Vshunt could become too big for the INA220.

    One way around offset error is to perform a one-time, system-level offset calibration. This involves reading the shunt voltage with some known load current level. The easiest option is to read Vshunt or current register when there is 0-A load current. Whatever the device reads is the offset and you can store this value in system memory and then subtract this offset off from all other system measurements going forward.

    Make sure to program the calibration register with the value of your actual shunt resistor so you can read the true current in current register.

    Sincerely,

    Peter