1818Views2Replies

Author Options:

I need to check external 6V voltage for a servo circuit
on my 5V USB driven arduino uno
-
in order to not waste power & "over-power" the arduino's
analog pin reading the external 6Vt:
- should i use a voltage divider with high resistor values?

Tags:

Discussions

.

.

@ seandogue & steve

an opamp_buffer / zener surely is a secure way to transfer

the voltage in between the 2 circuits;

will get, test & add them

.

@ iceng

for my voltage divider

.

@ jack

i tried several combinations – 10/10MOhms down to 220/220Ohm–

and received all the same results (pls. see below) ...

truetrue: i noticed a (non consistent) change of values immediately

after powering my circuit from time to time

- i then let it rest for a second & all went back to normal

or the sampling rate <-- arduino uno default 16MHz, 9600bps )

.

.

these are my measuring results:

with

voltage divider resistors

10 MOhm , 10 MOhm

... down to …

220 Ohm , 220 Ohm

.

.

Volt & voltage divider output

6.1V = 682

6.0V = 679

5.7V = 636

5.0V = 586

4.4V = 497

3.7V = 412

2.2V = 250

1.89V = 204

1.60V = 176

.

.

i will use a 10k/10k voltage divider

optionally including opamp_buffer or zener (still need to test them)

.

The input impedance of one of the GPIO pins configured as "high impedance", and connected to the ADC, is large, but I don't know how large.

Naturally you want the output resistance of your divider to be smaller than this, like maybe 10 or 100 times smaller. BTW, the output resistance of a voltage divider is just the resistance you'd get for R1 and R2 in parallel. (and if R1=R2, then Rout=0.5*R1=0.5*R2)

I was looking for a documented answer to this, but it may be easier to puzzle it out through experimentation.

That is, try R1=R2=10 MOhm, and see if the Arduino's ADC is measuring this correctly, i.e. if the numbers it gives are the same as those on an ordinary voltmeter, divided by 2.

I am guessing that R1=R2=10 MOhm, is too high, and this will cause the ADC to measure a value too low.

Also try voltage dividers made from:

R1=R2=10 = {1 MOhm, 100 KOhm, 10 KOhm, 1 KOhm}

Hopefully you'll see some change in the numbers produced by the ADC, and this will give you some sense of how big the resistors in your divider can be before the measurement becomes skewed.

BTW, regarding the gritty details of how the ADC actually works, I found this:

http://www.atmel.com/images/atmel-8032-using-the-a...

They say the maximum output resistance of a voltage source being measured by the ADC depends on the sampling rate. Essentially, here's a tiny capacitance in there, and larger output resistance means that capacitance needs longer time to charge, and sampling it too fast (before it is close to fully charged) results in measurement (too low?) error.

It looked complicated. That's why I am suggesting you try to discover empirically the maximum resistance for your divider.

Note: a better test would involve alternating your measurements of the divider output, with some other analog voltage measurements, like you would for a real application. That way the voltage on the tiny capacitance on the ADC is getting changed to different values. You ?might? get misleading results from a test that is always measuring just one, constant, voltage, assuming in such a test the voltage on the tiny ADC capacitor also never changes.