Post Go back to editing

How to convert ADC reading to analog current value in LTC6106

I couldn't convert the ADC reading to its respective analog current value.

I connected a microcontroller in the Vout to read the current, it will give an 8bit HEX value.
The load is another microcontroller.
The ADC reading in no-load is HEX00.

(8-bit @ 3.3V) and LTC6106 for current sensing. Here's my schematic.

The input voltage is 3.3V.

The output ADC reading is HEX16 or DEC22

My expected value is 172mA

Here's my calculation:

3.3 V / (2^8 - 1) = 12.94 mV.

Sensitivity = V_out / I_sense = R_sense * R_out/ R_in, = 0.025 Ω * (4999 Ω) / 100 Ω = 1.25 V/A

I_out = 12.94 mV * 22 / 1.25 V/A = 227.744 mA

What's my mistake here? Why I did not get 172mA?

Here are useful info from the datasheet of LTC6106



added information
[edited by: shingeki1996 at 2:42 AM (GMT -4) on 29 Jun 2021]
Parents
  • Hi shingeki1996,

    Apologies for the late response.

    For your test conditions, here is how I'd estimate what your 8-bit ADC output code should be given your schematic and that 3.3V is considered Full Scale with 172mA flowing through your sense resistor:

    Vo_LT6106 = 0.172A * 0.025ohm * 4.99k / 100ohm = 0.2146V @ LT6106 output pin

    ADC_reading = 0.2146V * (255 code / 3.3V) = ~17 decimal code

    This is in comparison to the decimal code that you measure at 22. That's about 2% error (= 5* 100/ 255).

    I don't know what the most likely cause of this error might be but it's not as large as your calculations showed (unless I'm doing something wrong)?

    By the way, did you make sure that Vsense is positive (that is, +IN is tied to the load side of the sense resistor and not the battery)?

    Regards,

    Hooman

Reply
  • Hi shingeki1996,

    Apologies for the late response.

    For your test conditions, here is how I'd estimate what your 8-bit ADC output code should be given your schematic and that 3.3V is considered Full Scale with 172mA flowing through your sense resistor:

    Vo_LT6106 = 0.172A * 0.025ohm * 4.99k / 100ohm = 0.2146V @ LT6106 output pin

    ADC_reading = 0.2146V * (255 code / 3.3V) = ~17 decimal code

    This is in comparison to the decimal code that you measure at 22. That's about 2% error (= 5* 100/ 255).

    I don't know what the most likely cause of this error might be but it's not as large as your calculations showed (unless I'm doing something wrong)?

    By the way, did you make sure that Vsense is positive (that is, +IN is tied to the load side of the sense resistor and not the battery)?

    Regards,

    Hooman

Children
No Data