12v to 5v - Voltage divider issues

The supply isn't the issue as it was well oversized,

Then you are not explaining what your set up really is. Putting a high resistance across a supply like this will not cause it to drop. If you are seeing a voltage drop then something is not as you described it.

Your response also indicates you are not understanding what 1oldfox said.

OK. Check me out on this. You want to measure the voltage at the optic sensors to give you a value of light transmittance for maintenance purposes. As the transmittance drops, that would indicate a dirty column for example, and would be time for you to perform your PM's. Your concern is that the Arduino will cause the voltage to drop, giving a false level from the optic sensors. Here, I would again say, look into OpAmps. The perfect solution. You are already hooking up a voltage divider. You just replace it with the OpAmp and associated circuitry. Which, by the way, can be tuned for voltage levels with a potentiometer.

Divinitous:
Any possible alternative to a voltage divider....

In theory: 10 times more resistance in your divider should mean 10 times less voltage drop (more or less).

You could try putting bigger resistors in there, eg. in the megaohm range. The Arduino ADC input has 100 megaohm resistance so there's still some margin to work with.

fungus:

Divinitous:
Any possible alternative to a voltage divider....

In theory: 10 times more resistance in your divider should mean 10 times less voltage drop (more or less).

You could try putting bigger resistors in there, eg. in the megaohm range. The Arduino ADC input has 100 megaohm resistance so there's still some margin to work with.

Yes, but the analogRead() function works best and is recommended being driven by a voltage source of 10K ohms or less, so values read for such a high impedance source are sure to be problematic.

Lefty

fungus:

Divinitous:
Any possible alternative to a voltage divider....

In theory: 10 times more resistance in your divider should mean 10 times less voltage drop (more or less).

You could try putting bigger resistors in there, eg. in the megaohm range. The Arduino ADC input has 100 megaohm resistance so there's still some margin to work with.

I'm experiencing the problem before the voltage divider even gets to the arduino. With the arduino removed from the circuit the Vin still loses ~1v. I think the best solution would be the opamp as someone has mentioned.

retrolefty:

fungus:
You could try putting bigger resistors in there, eg. in the megaohm range. The Arduino ADC input has 100 megaohm resistance so there's still some margin to work with.

Yes, but the analogRead() function works best and is recommended being driven by a voltage source of 10K ohms or less

That would suggest there's some capacitance in the input stage of the chip. If that's the case then a small resistor could be needed for sampling (eg.) a 10kHz signal. For a low frequency signal though, it would make no difference.

I'd say "try it and see" before adding opamps (or whatever). There's nothing to lose except two resistors.

fungus:

retrolefty:

fungus:
You could try putting bigger resistors in there, eg. in the megaohm range. The Arduino ADC input has 100 megaohm resistance so there's still some margin to work with.

Yes, but the analogRead() function works best and is recommended being driven by a voltage source of 10K ohms or less

That would suggest there's some capacitance in the input stage of the chip. If that's the case then a small resistor could be needed for sampling (eg.) a 10kHz signal. For a low frequency signal though, it would make no difference.

I'd say "try it and see" before adding opamps (or whatever). There's nothing to lose except two resistors.

Certainly, the AVR single ADC converter uses a sample and hold capacitor that is switched to the pin to be measured by the input pin multiplexer. The 'charge time' for the S/H cap is effected by the source impedance of the voltage trying to charge the cap. This is unrelated independent of the DC input resistance of the analog input pins.

Lefty

retrolefty:
Certainly, the AVR single ADC converter uses a sample and hold capacitor that is switched to the pin to be measured by the input pin multiplexer. The 'charge time' for the S/H cap is effected by the source impedance of the voltage trying to charge the cap.

Sure, but for slowly changing signals the charge on the capacitor will be about the same between each sample. You don't need much source current unless you're trying to change that charge by large amounts on each sample.

This is all just pontificating of course, but it's easy/cheap to try it and see what happens.

If the voltage source really does have a very high source resistance, then you can increase the values of the resistors in the voltage divider, provided that you take appropriate precautions when using the ADC to read the voltage, and that you don't need to measure a rapidly-changing voltage. I've used two 4.7M resistors in one of my designs to monitor the voltage of the 9V battery powering a circuit that had no on/off switch. However, it seems strange to me that at voltage or 9.5V should have such a high source resistance.

dc42:
If the voltage source really does have a very high source resistance, then you can increase the values of the resistors in the voltage divider, provided that you take appropriate precautions when using the ADC to read the voltage, and that you don't need to measure a rapidly-changing voltage. I've used two 4.7M resistors in one of my designs to monitor the voltage of the 9V battery powering a circuit that had no on/off switch. However, it seems strange to me that at voltage or 9.5V should have such a high source resistance.

Well, it seems you get the prize... if there was one. I put a 4.7M and a 10M resistors in there and the voltage drop is very minimal. All that's left is to see if I'm getting correct values with the arduino calculated properly.

You need to take precautions either in hardware or in software to get reasonably accurate readings when using such a high resistance source. The simplest is to connect a 0.1uF capacitor between the analog input and ground. Also remember that the input resistance of the ADC is only 100M ohms typical, so you are likely to get about 3% error using 10M and 4.4Mohm resistors.

I'm trying to consider why one wouldn't use an opamp buffer in this design?
It makes sense to me - accurate readings, no load on source circuit.

tocpcs:
I'm trying to consider why one wouldn't use an opamp buffer in this design?
It makes sense to me - accurate readings, no load on source circuit.

I'm revisiting this circuit. I had shelved it for quite some time.

The reason being is that I have limited experience with circuit and this would be over my head. If you wouldn't mind offering some links or guides I would be extremely grateful.

Divinitous:
I'm revisiting this circuit. I had shelved it for quite some time.

Well over five years in fact. :grinning:

Divinitous:
Basically I need something to detect the voltage but not create any interference on the source circuit. Below is my configuration for the voltage divider. Overall, it works as in the 8.2v is read as 3.3v, but that voltage drop on Vin is gonna be an issue.

Vin -- R1 (220k) -- Vout -- R2 (150k) -- Gnd

You need a very high impedance buffer before the divider. This means something like an opamp
buffer - is there a convenient +15V rail to use for this? It would be a simple opamp non-inverting
buffer of gain 1 driving a 22k/15k divider directly, with 10k series resistance on the input to
balance the divider and protect the opamp.

Your circuit impedance is sufficiently high that the multimeter itself is probably affecting the
circuit (hard to check without a very high impedance voltmeter).

A MOSFET version of the old VTVM!

From what I can gather is you have a circuit powered by 24V (DC?). And you machine has some sort of electro / optical circuit that works with high impedance. You want to measure the voltage presented by the high impedance circuit.

I see three options, two have been suggested before.

  1. Increase the divider impedance to the point is does not adversely effect the voltage being measured. This will of course move you away from the 10k optimum of the Arduino A/D. But still may work. You haven't stated your required accuracy.

  2. Buffer the to be measured voltage with an high impedance opamp potentially powered from the 24Vdc (if it is DC and if it is available).

  3. Use something like this A/D with high resistor values.

Wow, at least tell us if you ever got the circuit working with the dividers.

noweare:
Wow, at least tell us if you ever got the circuit working with the dividers.

Unfortunately I recall when I had originally tried them the voltages were off some. Every few months now I'll be revisiting this when time allows.