FreeCalypso > hg > freecalypso-hwlab
view 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 |
line wrap: on
line source
The data table that follows captures the results of this experiment: * An FCDEV3B modem board was powered from a bench PSU whose output voltage is controlled by an analog rotary knob; * The PSU voltage knob was turned up and down to produce 0.1 V steps from 3.2 V to 4.2 V; * At each PSU voltage step, VBAT MADC reading was captured with an mpr 30 command in fc-tmsh, and the actual voltage was measured with a digital multimeter. PSU voltage MADC reading Voltmeter reading ------------------------------------------------- 3.2 V 473 3207 mV 3.3 V 488 3306 mV 3.4 V 502 3403 mV 3.5 V 517 3500 mV 3.6 V 532 3597 mV 3.7 V 546 3696 mV 3.8 V 562 3804 mV 3.9 V 576 3897 mV 4.0 V 592-593 [1] 4003 mV 4.1 V 606 4.08-4.09 V [2] 4.2 V 621 4.18-4.19 V [2] [1] on the cusp of MADC step, got alternating readings [2] My cheap multimeter's 4 V range was exceeded at this point, and I had to switch to the next higher range in which only two digits after the decimal point were displayed. If we apply the firmware's default VBAT calibration values of A=7000 B=0, we see that VBAT numbers computed from MADC readings are higher than the true VBAT by 24 mV at the low 3.2 V end and by 45 mV at the high 4.2 V end. Calibration math attempt from 3207 to 4003 mV, using MADC=592 at high end ========================================================================= A=(4003-3207)/(592-473)*1024 = 6849 B parameter computed from each calibration point: MADC reading Voltmeter reading Computed VBAT w/o B B parameter --------------------------------------------------------------------------- 473 3207 mV 3163 44 488 3306 mV 3263 43 502 3403 mV 3357 46 517 3500 mV 3457 43 532 3597 mV 3558 39 546 3696 mV 3651 45 562 3804 mV 3758 46 576 3897 mV 3852 45 592 4003 mV 3959 44 B values range from 39 to 46, a very small variation - thus the behaviour of VBAT MADC really does fit the linear model, and linear calibration really does work well. Calibration math attempt from 3207 to 4003 mV, using MADC=593 at high end ========================================================================= A=(4003-3207)/(593-473)*1024 = 6792 B parameter computed from each calibration point: MADC reading Voltmeter reading Computed VBAT w/o B B parameter --------------------------------------------------------------------------- 473 3207 mV 3137 70 488 3306 mV 3236 70 502 3403 mV 3329 74 517 3500 mV 3429 71 532 3597 mV 3528 69 546 3696 mV 3621 75 562 3804 mV 3727 77 576 3897 mV 3820 77 593 4003 mV 3933 70 B values range from 69 to 77, still a very small variation - thus we are not too terribly sensitive to errors in the A parameter resulting from MADC values being on the cusp.