I have a problem with the stability of the read value of the ADCs of my Due. I wanted to check how stable the valuesare I read using the ADC ports. To do this I used a voltage divider between 3v3 and GND to get a reading somewhere in the middle of the voltage range, a condensator in parallel to it to reduce the noise on the supply voltage and a passive low pass filter to reduce the noise even further before I connect the signal to an ADC pin. See attached image.
In the sketch I did nothing but setting the analogreadresoultion to 12 bit, and reading the analog value and posting it to the serial port using analogread and serial.print.
Result: The read value varies around 10 units so basically 3 bits of the analog read resoliution are wasted on noise.
As I plan to use at least 11 of the 12 bits of ADC resolution I need to improve this. I tried different ADC ports, varied resistor and capacitor values and implemented some delay (up to 1s) between the analog reads with more or less no change.
The question is what is influencing the read value. I see 3 possible sources.
First of all I wired all of this on a little test board with some wires from and to the Due board. This could simply pick up some noise. I will solder a test board but this will take me some days as I need to get some parts.
Second possibility is that the supply voltage and/or the derived analog reference voltage is not stable enough. Can somebody give me some guidance how to check this? I would prefer not to modify the DUE board itself but at last for the analog reference voltage that would be necessary.
Third possilibilty is that I got a faulty or a clone board of insufficient quality. The board looks quite ok and like the original ones but I didn’t buy it in an official store. Therefore it might be an low quality clone. Is there any possiblity to check this without buying another DUE?
Can anybody state some expierence with the DUEs ADCs? Is the performance I measured typicall?
Thanks for your help