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: Asking for the design on INA233 power register read back value to get actual output power

Part Number: INA233

Hi Team,

Customer is designing INA233 on power calculation.

Would you please provide comment for the following calculation is correct or not?

 

Register setting

0xD4 => 0x2800

0x4A => 0x2710

0xD0 => 0x4827

0xD2 => 0x00FB

 

Customer read back 0x96=22327(10)

 

So the power is calculated as below

B=0

R=0

m=20000

Y=22327

22327= (20000*X+0)*10^0

then X=22327/20000 = 1.11635W

 

 

BR,

SHH

 

  • Hello SHH,

    Thanks for using our forums.  From the information provided it looks like you are calculating the real-world value correctly.  Is your customer's value different from what they are expecting?  If so, it would be helpful for us if you provide the expected current and bus value as well as the current and bus values the device reads.  The shunt value would also be helpful. 

  • Hi Patrick,

    Would you please review the design and calculation with comment and suggestions?

    please refer to the actual measurement data. it seems the error is very big.

    V1=18.9V, I = 1.2A

    P =  22.68w

    this is the schematic.

    BR,

    SHH

  • Hello SHH,

    I am looking into your issue.  Unfortunately our IT has blocked installation of the INA233EVM software for the moment, while I wait to fix that issue.  Perhaps I can get a few more details from you and your customer to determine whether the part is broken, improperly programmed, or have a communication issue.  To rule out whether its broken, If your customer supplies the part with an external supply, does it show the supply sourcing well above the typical quiescent current (mAs)?  If not, its likely a programming issue.  If your customer reads register 0xD4 after writing, do they actually read 0x2800?

  • Hi Patrick,

    Please refer to customer's read back register value and let us know your comment.

    0xD4 => 0x2800

    0x4A => 0x2710

    0xD0 => 0x4827

    0xD2 => 0x00FB

    BR,

    SHH

  • Hello SHH,

    I think I found part of the issue. Your slope coefficient, m, for power should be calculated as 1/(25*current_LSB) = 800.  You can then shift that left 1 place and use R=-1.  While that should be considerably closer to what you are wanting, from my calculations that would be 28W.  With an 18.9V bus and 12mV Vsense I get 22.8525W. I think it would be worthwhile to look at both the Read_VIN and Read_IIN registers to find where the discrepancy is with your measurements.

  • Hi Patrick,

    can you please confirm the calculation is correct or not?

    b=0

    R=0

    m=800

    Y=22327

     

    X=(Y*10^(-R) -b)/m=(22327*10^0-0)/800=27.9W

    for Read_VIN and Read_IIN, I will check with customer.

    BR,

    SHH

  • Hello SHH,

    You are on the right track, but there is one additional step the datasheet recommends to avoid possible rounding errors. That is maximizing m.   Below, I will summarize all the steps so that it is clear for you and any person who looks at this post in the future.

    Calculate current_LSB: (typically calculated from maximum expected current, however is calculated from CAL in this case)

    CAL = 0x2800 = 10240

    Rshunt = 0.01ohm

    Current_LSB = 0.00512/(CAL*RShunt) = 50uA

    Calculate m for power:

    m=1/(25*Current_LSB) = 800

    Shift (maximize) m and get R:

    if 1000*m>32767>100*m, R=-2, new m = m*100

    else if 100*m>32767>10*m, R=-1, new m = m*10

    else if 10*m>32767>m, R = 0

    10*m = 10*800 = 8000<32767:  m =8000, R=-1

    Calculate the real-world value, x:

    Y=22327
    x=1/m(Y*10^(-R)-b) = 1/(50uA)*(22327*10^(-1)-0)=27.90875W

  • Hi Patrick

    thanks for reply. Would you please provide comment for the following questions?

    1. Why the Iin and read back value (convert to real word value) is different?
    2. Why case 1 and case 2 output power are not match the multi-meter measurement data?
    3. Please provide comment for further debug.

     

    Here are the two different project with INA233 read back 0x88, 0x89 and 0x96 and actual voltage and current data.

    project 1

     

    project 2

     

    BR,

    SHH

  • Hello SHH,

    When I convert the values for case 1, I get pretty close to your multimeter measurements.  As for case 2, the current value does deviate quite a bit.  Is this a different device?  If so, you need to check the calibration register and make sure the correct value is there.  If the correct value is there, then either there is a problem with the device or there is some parasitic path siphoning off current between the multimeter and the INA233.  There are a few ways you can go about testing this. The first would be to swap out the part. If the reading gets better than the device may have been damaged.  The other thing you can do is put your multimeter on the low-side of the shunt (assuming your previous multimeter readings were on the high side).  If a low side multimeter reading shows lower current as well, then you need to start to look at components around the shunt that may be damaged and are pulling more current than expected. 

    To further assist you with your debug, I am attaching an excel file with my calculations based on the information you provided above.

    /cfs-file/__key/communityserver-discussions-components-files/14/INA233Analysis.xlsx

  • Hello SHH,

    When I convert the values for case 1, I get pretty close to your multimeter measurements.  As for case 2, the current value does deviate quite a bit.  Is this a different device?  If so, you need to check the calibration register and make sure the correct value is there.  If the correct value is there, then either there is a problem with the device or there is some parasitic path siphoning off current between the multimeter and the INA233.  There are a few ways you can go about testing this. The first would be to swap out the part. If the reading gets better than the device may have been damaged.  The other thing you can do is put your multimeter on the low-side of the shunt (assuming your previous multimeter readings were on the high side).  If a low side multimeter reading shows lower current as well, then you need to start to look at components around the shunt that may be damaged and are pulling more current than expected. 

    To further assist you with your debug, I am attaching an excel file with my calculations based on the information you provided above.

    /cfs-file/__key/communityserver-discussions-components-files/14/1172.INA233Analysis.xlsx

  • Hi Patrick,

    Thanks for detail.

    However, case 1 and case 2 are the same device, customer test on the same PCB. The register setting are the same. Would you please provide comment for this situation?

    BR,

    SHH

  • Hello SHH,

    Are these the same layout or the exact same board and you have soldered, desoldered, and resoldered the other part? If its the same layout, board 2 has a problem.  If its the same exact board, device two might have a problem.  Resolder device 1 and see if you get the same measurements as before.  If you do, then device 2 is bad.  If device 1 measurements are different, then you have done something to the board in the process of desoldering.

  • Hi Patrick,

    the issue was resolve by set CAL to 0x1400.  change from 0.05mA/bit to 0,1mA/bit.

    it looks like our ADC resolution is not so wide.

    Is there document to describe how to set the proper CAL value?

    Any device can auto set CAL value?

    BR,

    SHH

  • Hello SHH,

    Im glad you are able to get proper measurements now, however, I think you may be overlooking something.  The INA233 calculates current based upon a voltage measurement across your shunt.  The minimum voltage resolution of this device for the shunt measurement is 2.5uV.  Therefore with a 10mohm shunt the minimum current the device can physically resolve is (2.5uV)/(10mohm)=250uA.  So although you set your read out scale to 100uA per step, you will only get values at nearest 100uA step to 250uA (300uA), 500uA, nearest step to 750uA (800uA), etc.

    I suspect if your calibration setting gets improperly written or corrupted during operation, then you will see incorrect readings again.  One way to verify your CAL is properly set up, would be to read the MFR_READ_VSHUNT and multiply that by 2.5uV and divide by your shunt resistance.  If this does not match the read_in register, you are either writing the wrong CAL value which could be a programming error or you are having communication issues which could be a programming issue or hardware issue.

  • Hello SHH,

    Besides the datasheet and evm user guide, I dont think we have any other collateral that covers how to set up the CAL register.  All of our devices with a CAL would need you to manually set the appropriate value for your system.

  • Hi Patrick,

    Thanks for explaination.

    Would you please let me know why set CAL=0x2800 will resulted in the larger current measurement error?

    I tested for this case. it is very close to the

    meter 28W(18.68V/1.5A) , register 0x96==0x58AB (=28.3W)

    meter 9.47W(18.9V/0.5A), register 0x96=0x1DE8. (=9.47W)

    however, if the current is larger, then the error is quite huge.

    meter 34.1W(18.56V/1.84A), register 0x96=0x5F5B.(=30W)

    BR,

    SHH

  • Hi Patrick,

    I talked to customer this afternoon and the design is need to monitor from 0.5A to 5A at Vcc 19V case.

    Please review the the measurement conditions and let us know how to decide CAL value.

    i.e.

    1. 0~10W, what is the CAL value?

    2. 10~40W, what is the CAL value?

    3. 40W~100W, what is the CAL value?

    BR,

    SHH

  • Hello SHH,

    I suspect there is current being pulled away from the INA233 and your load. I would run the test shown below.  If your high-side and low-side meters match.  Then our device has a problem and I suspect it is broken. If your high-side and low-side multimeters do not match, some component  connected upstream is pulling more current than you expect.

    CAL is not calculated from power.  CAL is calculated from Rshunt and your current_LSB. Rshunt can be calculated from the Shunt voltage input range max divided by your max intended current.  Current_LSB is calculated from your max expected current or the max of the range of current you intend to measure.

  • Hi Patrick,

     Customer’s max target measurement is 180W. as you can see in the table for real readback value. Once the output power is over 140Watt, the readback value is becoming abnormal.

     

    Would you please review the registers setting here? Change 0xD4 from 0x0200 to 0x0100? Please provide the feedback on how to set register 0xD4 or other registers to fix the issue.

     

  • Hello SHH,

    I think I may know what your customers issue is now. Its not a programming issue. Its a hardware limitation. Your previous schematic indicated a shunt resistor of 10mohm.  According to the shunt voltage input range specification found in the electrical characteristics section of the datasheet, the max measurable shunt voltage is 81.9175mV.  This means that the max current the device can read for your given shunt is 0.08192V/0.01ohm=8.192A.  So if you want to read a larger current, you need to use a lower shunt resistance.

  • Hi Patrick,

    May I know the shunt resistor value if we want to measure to 180W? 

    BR,

    SHH

  • Hello SHH,

    Your customer needs to observe the device hardware limitation in their design.  shunt resistor <= (Max Shunt voltage input range)/(max desired measured current).

  • Hello SHH,

    Your customer needs to observe the device hardware limitation in their design.  shunt resistor <= (Max Shunt voltage input range)/(max desired measured current).

  • Hi Patrick,

    Would you please provide comment on the following result after changing Rshunt to 8mohm?

    the gap between actual power and INA233 readback power are larger and larger after 56Watt.

    Here is the shunt resistor spec.

    BR,

    SHH

  • Hello SHH,

    Are columns 1 and 2 from a multimeter?  Or are the these values from the bus voltage register, current register, or the calculated from the shunt voltage resistor? You need to provide that information. I suspect if you monitor those you will see that either the current or bus voltage  measurement is different from the multimeter.  Looking back at your schematic, I think this is possibly input filter related and layout related. Can you show me a board shot or a pcb layout of the shunt, INA233, the input filter, and the traces between.  I suspect you do not have a proper kelvin connection from the shunt to the device, which directly affects the shunt voltage that is used to calculate the current which is then used to calculate the power.  If you place your multimeter probe leads directly onto the device inputs, you may measure something very different than what you have in columns 1 and 2 of the table above.

    Aside from the layout, the resistor datasheet you provided has 3 different temperature coefficients of resistance, can you specify which of these tolerances your customer decided to use?

  • Hi Patrick,

    customer used multi-meter to measure column 1 and column 2 values.

    for the layout, woul dyou please check the design schematic and  layout here again?

    BR,

    SHH

  • Hi Patrick,

    another question is related to the readback value is seems to get the convertion value instead of final value. Please help in another E2E thread.

    https://e2e.ti.com/support/amplifiers/f/14/t/889318

    BR,

    SHH

  • Hello SHH,

     Im having difficulty opening the file you shared, can you tell me which program the layout was done in?  Alternatively, can your customer just provide a snapshot of the items I listed above?

  • Hi Patrick,

    Please use the free viewer here.

    Here is the capture for the INA233 layout. for detail, suggest to use the layout to review again.

    BR,

    SHH

  • Hello SHH,

    Are both R749 and R748 2.2ohm resistors?  I did not see R749 in the original schematic you posted.

  • Hello SHH,

    I need your customer to probe at the points indicated below (light blue X's) for the differential voltage seen between IN+ and IN-.  The probe tips should be placed exactly where indicated and not elsewhere near the shunt. 

    I also need your customer to probe at the points indicated below for the differential between vbus and device ground as indicated below.  

    These measured values should be compared to your other multimeters used for collecting data columns 1 and 2. Additionally, these values should also be compared with the values in the MFR_READ_VSHUNT and READ_VIN registers.  This will help us determine if the device is damaged, the resistor value is drifting more than expected, whether the device ground is at the same voltage as the other ground you are probing, or if there is some other phenomenon occurring.

  • Hi Patrick,

    Before doing this measurement, customer provide the schematic and layout for review at very beginning.

    Do you see any abnormal from the layout? Can customer ship the board to you for further investigation if the measurement did not get any progress?

    BR,

    SHH

  • Hello SHH,

    There is a discrepancy between the schematic you provided earlier and this layout. R747 is only on the schematic while R749 is only on the layout. Was R747 moved to IN- and renamed to R749 and is that resistor value 0 ohms?  If it is, then that could be a problem. Looking through our datasheet, I think your customer may have initially copied figure 25, which I believe is a mistake (will confirm with design though). Because the inputs do sink some current (input bias current).  This could increase the measured Vsense voltage and produce additional error.

    Taking those measurements I recommended should help us get to the root problem sooner.  Just like your customer needs to measure current and voltage to calculate power, so does the INA233.  However INA233 actually measures a voltage to calculate current and measures the bus voltage to calculate power.  If  your customer provides the measurements I requested, we will then know if there is a problem with voltage measurement for the current calculation or if there is a problem with the bus voltage measurement for the power calculation.  From there we can then assess whether your customer needs to revise his measurement setup or if he should send the device to FA.

  • Hi Patrick,

    This is an error in Figure 25. There should be resistors on both inputs. You can see that the text for Rfilter is there on IN-, but the resistor symbol is not. so, customer follow E2E's suggestion to add two 2.2R on both input side. 

    Can you please confirm and use the EVM to duplicate this case if this is the case?

    https://e2e.ti.com/support/amplifiers/f/14/t/860961?tisearch=e2e-sitesearch&keymatch=ina233

    Please refer to the schematic here.

    Here is the schematic and layout file. Please review based on this version.

    BR,

    SHH

  • Hello SHH,

    What value did your customer set register D4h (MFR_CALIBRATION) to for this last set of measurements they took?

  • Hi Patrick,

    Please refer to the setting here.

    BR,

    SHH

  • Hello SHH,

    Based off the binary I am assuming you meant to put 0x2800 for the D4h register, or was the binary part a typo?

  • Hi Patrick,

    D4h value is 0x200.

    Can you please confirm and use the EVM to duplicate this case if this is the case?

    BR,

    SHH

  • Hello SHH,

    I ran some tests in the lab today and I found two possible implementation errors.  However, one of the errors may simply be from you not providing me the most recent register settings that your customer is using. 

    The first issue I noticed was that your customer has the Shunt voltage, continuous mode selected in the MFR_ADC_CONFIG register.  By default, Shunt and bus, continuous mode is selected at power up.  The last bus voltage reading that is collected before your customer writes to the MFR_ADC_CONFIG is the bus voltage used in future readings as the register is no longer updated when shunt voltage, continuous mode is selected. Your customer might have noticed this more quickly if they had looked at the READ_VIN register as I had requested and not just the Read_Pin register.

    The other issue I see that may or may not be there is the CAL setting.  If I back calculate from the MFR_Calibration value you provided (0x2800=b0010 1000 0000 0000), I see that Maximum current is roughly 2A. This leads to power calculations considerably different than what you would measure externally and internally if you look at the Vshunt and vbus registers.  As your customers numbers were not as far off as mine were with the CAL setting, I presume they used another value.  After they fix the ADC setting, I would confirm that their CAL setting is also appropriate for their current range to ensure they do not run into any further issues. Especially if they need to measure even higher currents that what I saw in the last post.

    If you want some more details on what I measured and what errors I saw, you can look at the attached excel file.

    /cfs-file/__key/communityserver-discussions-components-files/14/INA233Measurements_2D00_2.xlsx

  • Hi Patrick,

    I send you by mail. would you please help for update?

    BR,

    SHH

  • Hello SHH,

    I replied to your email.  Your customer needs to change the first three bits of the MFR_ADC_CONFIG register such that he is getting both shunt and bus measurements.  Without both measurements, your customer cannot get an accurate power calculation.