Hi Arun:
To me it looks like the everything is in spec, I’m not sure what you are complaining about.
Did you measure the actual voltage at the input of PMIC with an accurate, high impedance voltmeter? if the input to the ADC is not correct, the conversion will not be correct.
As usual reading the manuals will give you hints. Here are your errors as a percent:
Current |
Reading |
Error % |
Vadc |
leakage(uA) |
leakage (Ohms) |
99 |
83952 |
-15.2 |
0.099 |
15.048 |
152000 |
182 |
165096 |
-9.2 |
0.182 |
16.904 |
92879 |
270 |
250062 |
-7.4 |
0.27 |
19.938 |
73844 |
360 |
333558 |
-7.3 |
0.36 |
26.442 |
73450 |
451 |
425286 |
-5.7 |
0.451 |
25.714 |
57015 |
545 |
513780 |
-5.7 |
0.545 |
31.22 |
57284 |
639 |
606390 |
-5.1 |
0.639 |
32.61 |
51032 |
734 |
696354 |
-5.1 |
0.734 |
37.646 |
51288 |
831 |
788964 |
-5.1 |
0.831 |
42.036 |
50584 |
Vadc is the expected voltage at the ADC input. The DPS1133 outputs a current at the Imon pin, and this current is converted to a voltage by the 100k resistor. But you are not getting the expected voltages at the input of the ADC, hence some of the current must be leaking to somewhere (the ADC input likely). I have computed the leakage currents and the equivalent leakage resistances.
The PM8916 specifications give two more hints
and
as you can see the expected accuracy near the bottom of the range is 6% at best (or 26% at worst). and the lowest reading you have (99mV) is just below the bottom of the range (assuming you are using Ch#17, and not Ch#33). In order to get to the 6% error, you need to calibrate the ADC against CH#9 (0.625Vref) and CH#10 (1.25Vref), otherwise expect 26% error.
The inputs from MPP2 through the MUX and into the ADC are not buffered, you are driving the ADC resistor ladder directly, so I suspect that this is the cause of the ‘leakage’. If you want good accuracy from the MPP inputs to the ADC you need a buffer op-amp between your signal source and the MPP pin.
In addition to calibration, the other thing you can do to quickly improve performance is to change the 10k resistor to a smaller value, I would try 47k Ohms, this should half your error, and get your signals of interest away from the lower limits of the ADC.
I didn’t even factor in the errors of the 1% resistor, or the DPS1133. The DPS1133 datasheet only gives a ‘typical’ Imon output, it doesn’t give an error range, all by itself it could be the entire 5% error.
-Lawrence-