comparison vbat-adc/crude-cal-test @ 163:5f9dd4056420

vbat-adc/crude-cal-test: an experiment to prove VBAT MADC linearity
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 04 Jun 2021 03:02:18 +0000
parents
children
comparison
equal deleted inserted replaced
162:72eac15f0917 163:5f9dd4056420
1 The data table that follows captures the results of this experiment:
2
3 * An FCDEV3B modem board was powered from a bench PSU whose output voltage
4 is controlled by an analog rotary knob;
5
6 * The PSU voltage knob was turned up and down to produce 0.1 V steps
7 from 3.2 V to 4.2 V;
8
9 * At each PSU voltage step, VBAT MADC reading was captured with an
10 mpr 30 command in fc-tmsh, and the actual voltage was measured with a
11 digital multimeter.
12
13 PSU voltage MADC reading Voltmeter reading
14 -------------------------------------------------
15 3.2 V 473 3207 mV
16 3.3 V 488 3306 mV
17 3.4 V 502 3403 mV
18 3.5 V 517 3500 mV
19 3.6 V 532 3597 mV
20 3.7 V 546 3696 mV
21 3.8 V 562 3804 mV
22 3.9 V 576 3897 mV
23 4.0 V 592-593 [1] 4003 mV
24 4.1 V 606 4.08-4.09 V [2]
25 4.2 V 621 4.18-4.19 V [2]
26
27 [1] on the cusp of MADC step, got alternating readings
28
29 [2] My cheap multimeter's 4 V range was exceeded at this point, and I had
30 to switch to the next higher range in which only two digits after the
31 decimal point were displayed.
32
33 If we apply the firmware's default VBAT calibration values of A=7000 B=0,
34 we see that VBAT numbers computed from MADC readings are higher than the
35 true VBAT by 24 mV at the low 3.2 V end and by 45 mV at the high 4.2 V end.
36
37 Calibration math attempt from 3207 to 4003 mV, using MADC=592 at high end
38 =========================================================================
39
40 A=(4003-3207)/(592-473)*1024 = 6849
41
42 B parameter computed from each calibration point:
43
44 MADC reading Voltmeter reading Computed VBAT w/o B B parameter
45 ---------------------------------------------------------------------------
46 473 3207 mV 3163 44
47 488 3306 mV 3263 43
48 502 3403 mV 3357 46
49 517 3500 mV 3457 43
50 532 3597 mV 3558 39
51 546 3696 mV 3651 45
52 562 3804 mV 3758 46
53 576 3897 mV 3852 45
54 592 4003 mV 3959 44
55
56 B values range from 39 to 46, a very small variation - thus the behaviour of
57 VBAT MADC really does fit the linear model, and linear calibration really does
58 work well.
59
60 Calibration math attempt from 3207 to 4003 mV, using MADC=593 at high end
61 =========================================================================
62
63 A=(4003-3207)/(593-473)*1024 = 6792
64
65 B parameter computed from each calibration point:
66
67 MADC reading Voltmeter reading Computed VBAT w/o B B parameter
68 ---------------------------------------------------------------------------
69 473 3207 mV 3137 70
70 488 3306 mV 3236 70
71 502 3403 mV 3329 74
72 517 3500 mV 3429 71
73 532 3597 mV 3528 69
74 546 3696 mV 3621 75
75 562 3804 mV 3727 77
76 576 3897 mV 3820 77
77 593 4003 mV 3933 70
78
79 B values range from 69 to 77, still a very small variation - thus we are not
80 too terribly sensitive to errors in the A parameter resulting from MADC values
81 being on the cusp.