Isolated battery measuring for multiple batteries in series

We’ve had a few discussions lately about measuring the voltages on each battery in a large serial chain, most recently this thread

http://arduino.cc/forum/index.php/topic,74218.0.html

In which we covered just about every possible method. I’ve been at a loose end today so I thought it was worth spending some time to come up with a solution. Note that this is A solution, there are simpler ones (VCOs?) and probably better ones (multi-drop) but I feel this is a good compromise.

Schematic attached and some details as follows.

  • Daisy chained nodes - I know this means one-out-all-out but it does allow any number of nodes to be added with no addressing tom foolery.

  • 5-15V input - Suitable for 6v and 12v batteries. I would like to have done 2v as well but that requires a boost regulator. Maybe later.

  • 40V tolerant - The regulator can handle a 40V input and 45V in a load dump situation, so could be used in vehicles.

  • Isolation - the downstream link (0V referenced) is not isolated and can connect directly to an Arduino. The upstream link (highV referenced) is isolated so it also can be connected to an Arduino with a simple current-limiting resistor for the opto LED.

  • Comms - Bit banged async on the processor, normal Serial or SoftSerial on the Arudino. Data inverted (line idles low) so opto LEDs aren’t being driven all the time.

  • Processor - The Tiny85 could be used but an 84 has more pins so a few extra features (LED and temp sensor) can easily be added and there’s no contention issues with the ISP pins.

  • Protocol - TBD, but something like the Arduino sends a start byte and each node adds the temp and voltage info and maybe a checksum.

NOTES:
It probably should have some more input protection.
D3 will screw with the input voltage level but this is a fixed offset that can (I think) be dealt with by the software.
D3 should be a schottky

Anyway that kept me off the streets for a few hours, all comments gratefully received.


Rob

The design is that bad eh? I thought it might at least be worth a comment or two :(


Rob

What's that, newb patience? Oy!

My first impression is that it's a lot of chips for the task.

Altho looking back to Reply#21, I guess I had 4 as well.

Well it's been a cupla daze :)

Yeah. Like all things the first impression is that you just need a chip and two resistors, then you look into it, add a few necessary components and before you know it the circuit has blown out. This would still be a very cheap gadget to make though.

As first glance the VCO approach seems much simpler, but I think you wind up with the same issue

VCO + opto for voltage Temp sensor + VCO + opto for temp Regulator ?

That's still 4-5 chips (with a dual opto) plus you need a MUX at the Arduino end as well.

So overall I thing the micro-on-every-node approach is not too bad.

I'd really like to make it 2v compatible as well though, 2v batteries are very common in solar systems, maybe an optional boost regulator.


Rob