How do I adjust the ADCs for maximum accuracy?
Posted: Wed Oct 20, 2021 3:04 pm
I want to design a high accuracy voltage/ current monitoring for solar batteries using the esp32 ADCs but I was very confused by the datasheet and guides online on how to maximize ADC accuracy. As far as I know, the ADCs in the esp32 have an attenuator stage at their inputs; the suggested range for 11Db attenuation is 2600mV at best (even though the ADC's range is 0-3.3v). However, I did not manage to find any sort of in depth explanation as to why (or if ) that is the case. Also, I've read in the datasheet that "Multi-sampling" is good way of mitigating noise but it was very poorly explained; is multisampling the same as oversampling and averaging?
I was also not able to find any function/register bit that is responsible for setting the number of samples before DMA interrupt for the ADC , I've heard somewhere that it defaults to one (analogSetSamples() doesn't exist anymore apparently). One more thing , doesn't this MCU have an auto-calibration feature like the STM32? I do not have any power supplies / measurement devices capable of measuring Vref at a very high accuracy at the moment.
tld;dr : Can I not measure signals above 2.6V accurately using db11 attenuation?
What is multi-sampling and how does it differ from oversampling and averaging?
How do I set the number of samples before interrupt for the DMA?
Any tips for calibrating the ADC ref properly?
extra: Is there a method to modify sample rates of each pin individually ( like in the stm32 clock cycle selection) ?
Note: This is my first time using the ESP32-WROOM DevKit so I apologize if any of these questions seem awfully obvious.
I was also not able to find any function/register bit that is responsible for setting the number of samples before DMA interrupt for the ADC , I've heard somewhere that it defaults to one (analogSetSamples() doesn't exist anymore apparently). One more thing , doesn't this MCU have an auto-calibration feature like the STM32? I do not have any power supplies / measurement devices capable of measuring Vref at a very high accuracy at the moment.
tld;dr : Can I not measure signals above 2.6V accurately using db11 attenuation?
What is multi-sampling and how does it differ from oversampling and averaging?
How do I set the number of samples before interrupt for the DMA?
Any tips for calibrating the ADC ref properly?
extra: Is there a method to modify sample rates of each pin individually ( like in the stm32 clock cycle selection) ?
Note: This is my first time using the ESP32-WROOM DevKit so I apologize if any of these questions seem awfully obvious.