WiPy 3.0 ADC poor calibration - offset at 0V
-
Hello,
Im using a WiPy 3.0 and expansion board, along with a Vdivider network array and opto-isolated>Pchannel MOSFET output network for my controller project.
I have a 10kOhm bussed pull-down resistor at the 8 pins im using for ADC, all set to 11dB attenuation to allow me to measure up to 3.3V.
With no external connection, and a measured 0V at the GPIO pins (pulled down via aforementioned resistor) when I call .voltage() I get 126mV for all pins.
Note: I have carried out the cal procedure mentioned here: https://docs.pycom.io/tutorials/all/adc/ and corrected against with adc.vref(1127).
Also when I manually apply 1.1V or 3.3V to the GPIO pins they return sensible values.
My question is: is it normal to have this positive offset at 0V? And if so why.
Maybe I need to code a correction function to apply to the values?
Any help would be appreciated.
Jake
-
@JSmith The simple answer is: the ADC of the ESP32 is bad. It has an offset, it is nonlinear, and it has a large amount of noise. The effective resolution is about 8-9 bits. This is discussed in the espressif forum a lot, and there is a nice analysis here: https://github.com/bboser/IoT49/blob/master/doc/analog_io.md
If you have the need for a good ADC, use an external one, like the ADS1115 ore any other made by a vendor dedicated to that. -
Thanks robert,
Thats annoying. I will try and create a correction function which I can map my ADC value list to (to correct for non-linearity & offset).
Love that ADS1115 though, with the programmable gain amp!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login