Battery Voltage Sense Circuit - Page 1
Forum section: electronics / beginners

author: canadaboy25
author_rank: Regular Contributor
timestamp: December 26, 2015, 07:22:36 pm
content: Hey guys, I have what I think should be a pretty simple question here.I have a 6 prop drone with a 4s battery on it. I am looking to build a 6:1 voltage divider to lower the battery voltage enough to allow it to be displayed on my remote. What would the best values for the voltage divider resistors be? I am trying to get it so that the voltage divider will have minimum drain on the battery.Again, probably a very simple problem but yet I am having trouble with it.Thanks

author: Jeroen3
author_rank: Super Contributor
timestamp: December 26, 2015, 08:53:02 pm
content: You'd need to know the input impedance of the analog input to say something useful about it.I've do it like this for an stm32f1, but it only samples every 250ms so the impedance is quite high. And all these parts are already used so there was no extra bom cost for this extra feature.

author: KL27x
author_rank: Super Contributor
timestamp: December 26, 2015, 08:55:12 pm
content: It totally depends on how your remote is measuring the voltage. What's the minimum impedance for the ADC? What's the sample rate, refresh rate to the display, and is there any averaging and/or extreme value error rejection, et al. What is a "useable" noise level for YOU, the user? If the value jumps around a bit, but you still get the info you need, then that might be fine. If the value is jittery and has some significant offset, but it's consistent and you still get the info you need, then this might also be fine.If you have the schematic and part numbers, you could look up the minimum impedance for w/e is doing the ADC. But this is only a guideline, and depending on the implementation it might be possible to go a lot lower/higher. Since the only goal is to provide information to a human being, frequency/response is not really on the map. The minimum ADC could theoretically be violated by a long ways and still give a useable refresh rate by using a low sample rate and an RC circuit, sample averaging if there is noise, etc... but since you are not doing the coding, you don't really know what you have, there.For a typical ADC on an 8 bit PIC, this might be 10K-20K. As a ballpark figure you might use a 60K resistor on the top of the ladder and 10K on the bottom. And see if you can get a stable/consistent reading from this setup. If not, reduce the values. If fine, try increasing the values. Sometimes a small RC circuit is put on the ADC pin to reduce noise. Depending on the circuit/firmware and desired results, this may or may not be necessary.If you cannot get the results you want, you may consider using an opamp instead of a resistor ladder to get your voltage reduction.The circuit Jeroen3 posted looks like a fine place to start, but IMO, I would greatly reduce the value of the 100k RC resistor. That's an extra 100k of signal impedance which does not do much at all to conserve battery. The idea behind the RC is to reduce noise, but by increasing signal impedance too high, you can increase noise and even "clip" the ADC reading; this is all dependent on the current draw and sample rate of the ADC, and you do not know that. In my guesstimation, you don't need anything higher than 10k on the RC resistor and possibly even much lower. You do not need to increase the signal impedance to protect the ADC. It can be connected directly to a high current rail. The only reason is to reduce noise with the RC circuit, so don't overdo it.

author: canadaboy25
author_rank: Regular Contributor
timestamp: December 27, 2015, 12:27:03 am
content: Basically all I'm trying to do is replicate the divider in the attached pdf file.I am ok with some jitter or offset on the output I just want a general voltage and something that wont drain my battery.

author: canadaboy25
author_rank: Regular Contributor
timestamp: December 27, 2015, 02:13:34 pm
content: How would I use an opamp to do this?

author: aaronwiz
author_rank: Contributor
timestamp: December 27, 2015, 07:00:52 pm
content: I don't think you need/want an opamp. It is way overkill. ADC's have pretty large input impedances, so buffering the input through an opamp is probably not necessary.I think a simple voltage divider is all you need. As long as the current going through the resistor network is a magnitude or two larger than the current drawn through the input by the voltmeter, the voltage drop should me insignificant.I think the easiest way is just to play around with resistor value pairs that create your 1/6 Vin until you find a pair where going to a lower resistance pair does not result in a significant increase in the voltage read by the ADC. I would start with using resistors that are ~1K-10K range. In terms of filtering, a small cap on the output of the divider network should act as a lowpass filter that will remove jitter due to current spikes that will cause sudden fluctuations in the battery voltage.As for your concern about extra load on the battery, don't even worry about it. The current drawn from the battery after adding a resistor divider network will be on the order of a few mA, which is completely trivial when you consider each motor draws 10's of amps each.

author: Richard Crowley
author_rank: Super Contributor
timestamp: December 27, 2015, 07:50:44 pm
content: This appears to be what is on that board....