Hallo zusammen,
ich habe gerade mal den AD-Wandler des EPS32 (auf LoLin32) untersucht.
Das ist ja ein Schätzeisen... unter 150mV am Eingang macht der gar nix
und ab 2,5V geht die Kennlinie weg.
Das Datenblatt
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
beschönigt das Ganze ziemlich frech:
1 | When atten=3 and the measurement result is above 3,000 (voltage at approx. 2,450 mV), the ADC accuracy will be worse than described in the table above.
|
Und auch der angegebene Total Error ist in dem Bereich einem 12Bit ADC
nicht gerade würdig:
1 | Total Error min max
|
2 | Atten=3, effective measurement range of 150–2,450 mV –60 60 mV
|
Bei der Arduino-Funktion analogRead() ist intern der Parameter Atten auf
3 gesetzt, also ist nur der angegebene Spannungsbereich möglich. Unter
100mV kann der ADC des ESP32 aber in keiner Einstellung was messen. Da
kommt immer 0 zurück!