If I understand correctly, this means that it will take a long time for the sampling capacitor to charge up and my analogRead might not return the right value.
Is this something that would stabilize with time, like over many successive reads? Is there any good solution to this problem? Can I run the conversion slower? Is it as simple as just waiting a little longer between reads?
Use high impedance MOS Op-Amp or JFET Op-Amp to isolate input.
Quote from: sonnyyu on May 29, 2013, 06:51 amUse high impedance MOS Op-Amp or JFET Op-Amp to isolate input.Completely pointless for a slowly changing signal.(And by "slowly changing" I mean in the tens of Hz).
I do see anywhere in the thread has "tens of Hz". OP want measure DC for my understanding.
But I am using a few megaohms of resistor there to keep the current loss on the circuit low.
As you may know the arduino analogRead() function is designed and assumes the source impedance of voltage to be read is 10K ohms of lower. The fact that the AVR adc has but a single sample and hold capacitor but multiple multiplexed analog input pins means that you have to deal with the problem that trying to read a high impedance signal.
Hi Delta_g,There are two separate issues with using a high impedance source with the atmega328 ADC:
Quote from: dc42 on May 30, 2013, 10:14 amHi Delta_g,There are two separate issues with using a high impedance source with the atmega328 ADC:...but they're only issues if you're trying to read more than one analog pin. If you're only using one analog input then they don't affect you.