Hi, I have a problem when trying to read the analog values at an analog pin (namely A0) using a loop of analogRead(). As I observed on my Oscilloscope , there is some voltage produced at the analog pin every time I use analogRead() for reading the value.
And the amount of voltage increases as the number of repetition increases.
This is because the internal multiplexer is being connected to the input of the sample and hold circuit.
If you actually put a real impedance on this pin instead of letting it float it would not have any effect.
Take your measurements with a 10K resistor connected from the input to ground.
This is not a fault, it is the way it works and you will not see this using a real input.
Hi, I'm using Arduino Due and software 1.5.7 . Every time I read the analog voltage at an analog pin in a loop ( just at one Analog Pin, no witching between the analog pins), it produces an internal voltage (observed on oscilloscope) although I had connected the analog pin with a real impedance. This cause errors for my reading voltages.
Well only by lowering the impedance. These are the shots I got.
With the first one I had a 10K from the analogue input to ground, and the second I had a 220R to ground.
It has not eliminated it but it is considerably reduced.
Thats probably fine, you are adding extra capacitance with the scope probe,
the converter should be allowing enough tracking time if its set up correctly
and should perform fine.
Are you using x10 probe BTW? Its never good to load a circuit with x1 when
x10 is available.
I thought the analogue read speed had changed since I first mentioned it so I went back to 1.5.3 and ran the test again. There is the same pulse but there is also a secondary pules. Again terminated by 10K and then 220R.
Notice the 220R pulses are smaller with the older software. So there is definitely something going on with the software that is affecting this.