ESP32 ADC är den användbar?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
rvl
Inlägg: 5720
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

ESP32 ADC är den användbar?

Inlägg av rvl »

Ju mer jag googlar desto sämre verkar den analoga sidan av Espressifs designer vara. Somliga hoppas att nya designversioner kanske kan lösa några av problemen, men det lönar sig inte att hålla andan när man väntar på detta...
12-bit ADC vill naturligtvis marknadsavdelningen påskina, men det verkar som på sin höjd 8-bit egentligen är användbara.

Detta är ungefär allt den officiella dokumentationen har att komma med:
https://docs.espressif.com/projects/esp ... zing-noise
adc-noise-graph.jpg
Olinearitet och liknande som går att kalibrera bort samt litet spel på de minsta bittarna kunde man leva med, men värst av allt är enorma störningsspikar, som verkar komma periodiskt. Förmodligen stör digitalsidan av chippet analogsidan internt. Har sett exempel från andra tillvrkare där man för bästa AD-resultat helt enkelt stänger ned digitalsidan medan det kritiska i samplingen sker.

Vore trevligt att veta vad prosessorn gör som nästan sätter ADn ur spel och att det fanns nån metod att synkronisera AD-omvandlingarna att kunna undvika dessa regioner.

Ett enkelt testprogram (ja det är "Arduino"..)

Kod: Markera allt

const int testPin = 35;
int testValue = 0;

void setup() {
  Serial.begin(500000);
  delay(1000);
}

void loop() {
  testValue = analogRead(testPin);
  Serial.println(testValue);
  delay(500);
}
Och resultatet (mäter en "konstant" spänning från en enkel kondensatorförsedd spänningsdelare från 3,3V):
exempel.png
Bättre med "mera kondensator" på 3,3V matningen, spikarna kan troligen tryckas ihop ytterligare med mer lämplig kondensator fastlödd direkt på ESP-modulen, för dethär var med långa sladdar på breadboard, men grundproblemet kvarstår. Vad fan sysslar rtos och eller chip med när det blir såna spikar och går det att undvika? (Nej jag tänkte inte försöka skriva motsvarande kod för bare metall, men litet intressant skulle det vara att se resultat för en sån laboration...)
störreKondensator.png
En "störningsspik" med högre samplingsfrekvens (500 Hz vs. 2 Hz tidigare):
spikDelay2.png
Det lär också finnas analog komparator i designen, men den fungerade så dåligt att den togs bort från dokumentationen!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
tingo
Inlägg: 285
Blev medlem: 17 maj 2017, 17:55:40
Ort: Oslo, Norge

Re: ESP32 ADC är den användbar?

Inlägg av tingo »

Har du et RC filter på ADC-inngangene? Og i så fall, hvilke verdier på R og C?
Skriv svar