12v to 5v - Voltage divider issues

1oldfox:
Good morning Divinitus. First a question. Are there other items, circuits, instruments, etc. in your project that depend on the source (Vin) remaining stable and constant.

Yes, this optics setup is only a small part of the complete system. Bascially I need to check the voltage without having to disconnect the setup. There are times when I may have to run the machine with my arduino attached to the circuit. So the voltage drop does create an issue.

1oldfox:
From what you have described so far, voltage isn't the issue. You are wanting to measure time, the measure of which can be mathematically massaged to give you the viscosity measure you are looking for. Is my understanding correct?

No, the optics setup connects to a larger part that does all the timing and calculations. The machine itself does the viscosity measurements. I am only looking to create something to detect the voltages.

1oldfox:
If so, you may want to investigate using OpAmps for the so called sensors rather than a voltage divider. This would transition you out of the analog world and take you into the digital world. Much easier to measure time.

This isn't an option for me. Basically the overall machine detects the voltage drop when the meniscus passes through the optics. Typical voltage is 9.5v and a drop from this is the machines trigger. You can see now why the arduino creating a drop would become an issue as the machine would constantly see the voltage drop and cause the machine to error out.

Oldfox,
Maybe I didn't outline everything properly. The optics stand is connected to a whole machine. The circuit I'm designing is only to read the voltage so i can service the optics on the stand.

Grumpy_Mike:
It sounds like the impedance of the Vin is very very high if it is being dragged down by a load of 370K.
You have connected the grounds together haven't you?

Yes, the ground on the connector is connected to the ground on the arduino. Should this be different?

Basically the connects to the machine with a 4 pin connector. All voltages are DC. 24v for the stand to operate on, 1 pin for the upper optic voltage, 1 pin for the lower optic voltage (both a max of 12v) and a ground. The stand itself operates on 24v from a power supply that is also powering other components. The supply isn't the issue as it was well oversized, it's the circuitry inside the stand and the voltage divider.

Grumpy_Mike:
It sounds like the impedance of the Vin is very very high if it is being dragged down by a load of 370K.

Right... An effective source impedance of around 50K along with your 370K load would another voltage divider, with about 1.4V dropped across the 50K source impedance.

A regular voltmeter/multimeter has very high resistance (maybe 10M) so it doesn't tend to "drag down" the voltage you are measuring.

You can try increasing the resistance values in your voltage divider, or the best solution would be an [u]op-amp buffer[/u].

Divinitous:

[quote author=James C4S link=topic=156963.msg1176036#msg1176036 date=1364488651]
What is the source of "Vin"?

Basically the connects to the machine with a 4 pin connector. All voltages are DC. 24v for the stand to operate on, 1 pin for the upper optic voltage, 1 pin for the lower optic voltage (both a max of 12v) and a ground. The stand itself operates on 24v from a power supply that is also powering other components. The supply isn't the issue as it was well oversized, it's the circuitry inside the stand and the voltage divider.

[/quote]

If those voltage divider resistors are really the ohms you have stated then the two optic voltage outputs have just too high a source impedance to read like that. You would have to buffer them first with a high input impedance op-amp or some other means to not 'load down' the signal voltage from those two signals.

Lefty

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).