From 292b7d7f5ad67d1700543fa6d0ae4597e91407f8 Mon Sep 17 00:00:00 2001 From: Youen Toupin Date: Fri, 18 Mar 2022 23:50:02 +0100 Subject: [PATCH] added ADC calibration code --- ESP32/calibration/adc-approx.ods | Bin 0 -> 17404 bytes ESP32/calibration/adc-measures.ods | Bin 0 -> 24888 bytes ESP32/vehicle-monitor.cpp | 53 ++++++++++++++++++++++++++--- WebApp/src/main-page.tsx | 4 +-- 4 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 ESP32/calibration/adc-approx.ods create mode 100644 ESP32/calibration/adc-measures.ods diff --git a/ESP32/calibration/adc-approx.ods b/ESP32/calibration/adc-approx.ods new file mode 100644 index 0000000000000000000000000000000000000000..8d54846b5f5d0dd7326b39a71f9454a97af40f72 GIT binary patch literal 17404 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 literal 0 HcmV?d00001 diff --git a/ESP32/calibration/adc-measures.ods b/ESP32/calibration/adc-measures.ods new file mode 100644 index 0000000000000000000000000000000000000000..2261e2a557665aa779a06602f79c68d3d533c3d6 GIT binary patch literal 24888 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 literal 0 HcmV?d00001 diff --git a/ESP32/vehicle-monitor.cpp b/ESP32/vehicle-monitor.cpp index 3523be8..ef5c742 100644 --- a/ESP32/vehicle-monitor.cpp +++ b/ESP32/vehicle-monitor.cpp @@ -9,8 +9,44 @@ AsyncWebServer server(80); +float averageBatteryVoltage = 0.0f; int16_t batteryVoltage = -1; //in mV +struct ADC_CalibrationValue +{ + float Measure; + int16_t ADC_Value; +}; + +const ADC_CalibrationValue calibration[] = { + { 0.118f, 1 }, + { 0.343f, 253 }, + { 0.791f, 801 }, + { 1.512f, 1705 }, + { 2.013f, 2306 }, + { 2.406f, 2796 }, + { 2.606f, 3058 }, + { 2.839f, 3423 }, + { 2.996f, 3726 }, + { 3.16f, 4094 } +}; +const int8_t calibrationNumValues = sizeof(calibration)/sizeof(calibration[0]); + +float getCalibratedVoltage(int16_t adcOutput) +{ + for(int8_t i = 1; i < calibrationNumValues; ++i) + { + if(i == calibrationNumValues - 1 || calibration[i].ADC_Value >= adcOutput) + { + const auto& p = calibration[i - 1]; + const auto& n = calibration[i]; + return (float)(adcOutput - p.ADC_Value) / (float)(n.ADC_Value - p.ADC_Value) * (n.Measure - p.Measure) + p.Measure; + } + } + + return -1.0f; +} + void setup() { Serial.begin(115200); @@ -50,13 +86,22 @@ void setup() Serial.println("HTTP server started"); } +float avgAnalogV = 0.0f; + void loop() { const int potPin = 34; - delay(1000); + const float minV = 0.14f; // 1 + const float maxV = 3.16f; // 4094 + + delay(10); int16_t analogV = analogRead(potPin); - float v = (float)analogV / 4096.0f * 3.3f; - batteryVoltage = (int16_t)(v * 1000.0f + 0.5f); - //Serial.println(potValue); + float v = getCalibratedVoltage(analogV); + + averageBatteryVoltage = averageBatteryVoltage * 0.95f + v * 0.05f; + batteryVoltage = (int16_t)(averageBatteryVoltage * 1000.0f + 0.5f); + + //avgAnalogV = avgAnalogV * 0.9f + (float)analogV * 0.1f; + //batteryVoltage = (int16_t)(avgAnalogV + 0.5f); } diff --git a/WebApp/src/main-page.tsx b/WebApp/src/main-page.tsx index 92dd795..7aafc25 100644 --- a/WebApp/src/main-page.tsx +++ b/WebApp/src/main-page.tsx @@ -23,8 +23,8 @@ export default class MainPage { view() { return this.status ?
-

Tension batterie : {this.status.batteryVoltage.toFixed(1)}V

-

Courant : {this.status.motorCurrent.toFixed(1)}A

+

Tension batterie : {this.status.batteryVoltage.toFixed(3)}V

+

Courant : {this.status.motorCurrent.toFixed(3)}A

Puissance : {(this.status.batteryVoltage * this.status.motorCurrent).toFixed(1)}W

:

Chargement...

;