Maker Pro
Maker Pro

Resiter Divider / Resister Watt ratings

DaveEP

May 1, 2017
3
Joined
May 1, 2017
Messages
3
First post.

While I've been designing digital electronics stuff for probably 20+ years I've never really spent much time in the analog world, so sorry if this is a really noob question!

I need to step down voltage from (up to) 25v to 5v so I can run it in to an A/D converter on an Arduino. I was planning on doing this with a resister divider until I realised that the power source (Solar Panel) is producing up to 100 watts @ 22.5 volts.

Do the resister values need to be spec'd for the source power (e.g. 100 watt Solar Panel) or how much the input on the Arduino will actually draw? In other words am I looking at needing 100+ watt resisters or will lower values do quite happily?

Other solution suggestions also welcome.
 

AnalogKid

Jun 10, 2015
2,884
Joined
Jun 10, 2015
Messages
2,884
Do the resister values need to be spec'd for the source power (e.g. 100 watt Solar Panel) or how much the input on the Arduino will actually draw?
Mostly, the input draw of the Arduino. Using Ohm's Law, you can calculate that a 5:1 divider made up of 4 ohms and 1 ohm produces the same output voltage as one made up of 400K and 100K, but the series current in the latter divider is 100,000 times less.

The problem (remember, "mostly") is that the input to the A/D circuit on the Arduino has an effective resistance to ground called its input impedance. this appears in parallel with the shunt (lower) leg of the 2-resistor divider. That can be calculated around if the Arduino input impedance is a constant, but it probably is not. Microcontroller A/D circuits usually do not have a nice fixed constant input buffer to isolate the external source from the internal A/D goings-on. As a first-order approximation, pick resistors that limit the power dissipation to 0.1 W or less, and use 1/4 W parts. This might present a low enough impedance to the Arduino that its own impedance is a relatively small error term. The nest step up is to create your own buffer circuit (not difficult or complex) to isolate the A/D input from the divider.

ak
 

DaveEP

May 1, 2017
3
Joined
May 1, 2017
Messages
3
Thanks. I think I followed that... right up to:

The nest step up is to create your own buffer circuit (not difficult or complex) to isolate the A/D input from the divider.
ak

Oh, right, Hmmm..... looks like I need some more Google ;)
 

AnalogKid

Jun 10, 2015
2,884
Joined
Jun 10, 2015
Messages
2,884
I'm saying that if a 2-resistor divider straight into the Arduino doesn't perform the way you want, then a resistive divider followed by a buffer of some kind such as a voltage follower is almost certainly work for you.

What is the input voltage range of the Arduino that you want to use? The issue is how close to 0 V does the input have to go to meet your range requirement?

ak
 

DaveEP

May 1, 2017
3
Joined
May 1, 2017
Messages
3
I have it working on a 0-5v range right now for testing purposes and software development but once hooked up to the real hardware I need to be capturing 0-25v (actually more like 22.5v max but divide by 5 makes it easier just to get it in to range and not go over the 5v of the A/D).

I'm really only interested in the 12-22.5v range so a simple divide by 5 to get that in to the 2.4v to 4.5v range is fine since it's using a 10bit converter and 0.1v is plenty good for accuracy.

I know nothing about voltage followers or analog buffer circuits at this point. Do they drop voltage (e.g. 1v) in the process like transistors do, which would then need compensating for in software? Are there some simple references you could point me to for this sort of application?
 

hevans1944

Hop - AC8NS
Jun 21, 2012
4,878
Joined
Jun 21, 2012
Messages
4,878
Since you are measuring the output of a solar panel, you will have plenty of current to run a voltage divider. The main question is how much current does the Arduino A/D converter require at its input? The DC input impedance is very high, but there are other considerations associated with the input being multiplexed and having to charge up a sampling capacitor to make an A/D conversion. For this reason, the maximum source impedance of the signal applied to an Arduino analog input for A/D conversion should be not more than 10,000 ohms. There are ways to get around this and use higher source impedances, one way being to insert a unity-gain buffer between the source and the input of the Arduino. However, this should not be necessary for your application. You can use a 1kΩ and 4kΩ two-resistor divider.
 

AnalogKid

Jun 10, 2015
2,884
Joined
Jun 10, 2015
Messages
2,884
https://en.wikipedia.org/wiki/Buffer_amplifier

Scroll down to "Voltage buffer examples". The first one is an opamp voltage follower. Since you don't need an output that is accurate down to 0 V, you can run on a single power supply rail, ass opposed to bipolar supplies like + and - 12 V. How fast is the input voltage changing, and how often are you taking an A/D sample? These help determine an appropriate opamp.

ak
 
Top