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.

INA233: CALIBRATION and LOAD issue

Part Number: INA233

I used a DC Electronic Load mechine to change sensor current from 100mA to 3.0A and fixed R=0.225, voltage=3.3V and MFR CALIBRATION register value = 0x3FF.

1) Does the current sensor have a rang when MFR CALIBRATION = 0x3FF (from 1.5A~3A)?
If I changed load's current to 100mA, 200mA, 300mA, 400mA, 500mA, 1A, 2A, 3A.
The MFR CALIBRATION need to set different value for different current.
- if the MFR_CALIBRATION = 0x3FF , the current rang are from 1000mA~3500mA.
- if the MFR_CALIBRATION = 0x3FFF , the current rang are from 100mA~500mA.

2) MCU used READ_IN  command when MFR CALIBRATION = 0x3FFF, R=0.225, voltage=3.3V , the current LSB cannot be fixed.

For example, DC Electronic Load set current are 400mA and 500mA. The current  LSB does not the same.

3) For my application, i want to set sensor current from 100mA to 3000mA.

Do I need to adjust different MFR_CALIBRATION value for different current , right?
Can MFR_CALIBRATION value fixed when i used READ_IN command(89h) for sensor current from 100mA to 3000mA.?

  • SMART,

    I saw your question yesterday on this topic yesterday as well, I've been setting it up in the lab to verify some things.  I'm not sure I understand something though - why do you need to change the calibration for each range?  Can you set the calibration to accommodate 3.5A and then measure all the currents from 0-3.5A with the device?  Setting your cal register to accommodate 3.5A would give you the ability to measure -3.5A to 3.5A.

    I want to verify this in the lab, but I think if you chose 0x00B6h for the cal register, you would have a -4.096A to 4.095875A swing to measure all your currents, with a current LSB of 125uA/bit.  Again, I want to confirm that in the lab to make sure I'm not missing something, but would this work for you?

  • SMART,

    I set up in the lab and I realized I overlooked something in my previous post.  The shunt voltage input range is only about -81.92mV to 81.92mV.  That means that with your fixed .225Ohm shunt resistor, the largest current you could measure would be 81.92mV/225mOhm = 364.1mA.  To measure a full 3.5A, you would need at least a 10x smaller resistor.  For instance, 81.92mV/22mOhm = 3.724A.

    So, let's work through an example.

    From equation 2, section 7.5.2 in the data sheet, you can input a maximum expected current to get an LSB size for the device to read.  I see you have currents up to 3.5A, so I chose 4A for a maximum to allow for some headroom in your design.  This number depends solely on your design.  So, 4A / (2^15) = 122.07µA/LSB.

    This number isn't the greatest to work with so I changed the maximum current up to 4.096A instead, and that made my Current_LSB = 125µA/LSB.  Note that this larger value of current_lsb doesn't actually extend the range of the input, it just changes the weight of each LSB in the current and power registers.  You have to consider also the allowable range of the input voltage, which is only 81.92mV.

    Assuming you now use a 22mOhm shunt resistor, we use equation 1 of 7.5.2 to get the CAL value, which is 0.00512/(Current_LSB × Rshunt).  Your shunt is now 22mΩ so CAL = 1861.81...  If we round that to just 1862 (decimal, which is 0x0746h in hex) then that is the value you would use in your CAL register.  

    So now on my setup, I put in roughly 80.1mV.  The INA233EVM measured 32207, which is multiplied by 2.5uV/LSB = 0.0805175V.  The EVM GUI confirms this math.

    Next, using the CAL value of 1862, READ_IIN is now showing 29282, which you muliply by 125uA/bit and get 3.66025A.  Mathematically, with an 80.5175mV input, that means that you would need 22mOhm * 3.66A input, so we're right on the money.

    So to sum up my suggestion from this example:

    use a 22mOhm resistor instead of a 225mOhm resistor.

    Put 0x0746h into the MFG CAL register, which means READ_IIN will produce 125uA/bit.

    You can now use the INA233 to measure between (81.92mOhm / 22mOhm) = -3.724A to 3.724A