sensing up to 100 voltages on a single arduino

Dang - how do folks embed pictures in messages?

Host the picture on a web site somewhere. Then use the image button (3rd from the left, top row) to add the img tags. Paste a link to the hosted picture between the tags.

Okay,
Here's a picture for Tango.
(Still can't get an image here...)
http://www.crossroadsfencing.com/batterymonitorconcept.pdf
and expand as needed.

The switches could be reed relays as Richard Crowley pointed out in another thread (info below).
I'm still holding out hope for the analog switches, I think they would be better suited for vehicle use, nothing mechanical to bounce around. I have a question in to Maxim asking about isolation if the switches are hooked up like this.

5 VDC SPDT REED RELAY US$1 each ($0.85 each for 10 or more)
Elec-Trol # BBS1C05A10. 5Vdc, 205 Ohm coil. S.P.D.T. switching action.
0.99" x 0.30" x 0.35" high. Single-in-line pc pins. 5 pin on 0.2" centers.

Sorry Crossroads, no pic (link broken) and I never load a ppt file from a forum. Can you make a pdf/png/jpg?


Rob

Okay, I changed it to .pdf in the earlier post, try again.
What format does an image file have to be in to be recognized?

Robert

The AVR can only measure voltage relative to ground -- the same ground that is its power supply ground. If the Arduino is on an isolated power supply, like a battery or maybe a dc-dc converter, maybe you can move its whole ground reference to the appropriate battery in the string for each measurement. Wherever the readings go -- maybe out a serial port or something -- will have to be isolated from the floating-high potential ground-plane of the AVR.

You will have built an isolation amplifier at considerable cost.

You might get some ideas from

Hi Gardner,
I think the switching scheme in my schematic does just that - the arduino ground floats and connects to the negative of the individual battery being measured, just as if you moved a multimeter up & down the string (which someone described earlier I believe).
The serial output is then optoisolated to where ever it goes for system communications (not completely shown, but enough to show the concept).

Robert

Okay. But if you have a string of 20 12V lead-acid batteries, the last one on the chain has a ground plane at nearly 250V to chassis ground and the ability to deliver 300 Amps. You would want to be significantly careful with this. You would be extremely lucky to install and debug this circuit with all your hair intact. Please make sure you have a friend with a defibrillator handy.

Yep, no doubt there is room for excitement here! The original poster Tango was saying 100 Li-Ion batteries in series, so maybe even higher total voltage.
He also hasn't posted in a week, so we could just be talking to ourselves at this point.

Got a reply from Maxim, but was talking about crosstalk between channels. Gave them another description clearly saying some analog swithches could have high voltages on their NO lines while other had low voltages, yet the commons would be tied together - would that damage anything? Sent the schematic link also.

would that damage anything?

As I said before this would not work because a analogue switch does not isolate like a relay.

I am thinking you are going to be correct about that. But I am enoying the mental exercise of it :slight_smile:

I have another project going with an RF remote/receiver. Last night was finally able to reliably have the remote wake on any keypress and transmit that key, after having gone into power down sleep mode very shortly after the last key press. Previous measurements had shown idle mode current of ~9mA (5V 16MHz ProMini running on 3 AA batteries into the VCC line, bypassing the regulator) dropping to about ~375uA.
I have a 3.3V 8MHz Pro-Mini and 3.7V Li Ion battery (1000mAH, in kind of a flat package) on order, will see if that draws any less. Also found a Maxin Li-Ion battery charge control chip that can recharge it from a 5V or a USB source and only needs 2 Rs & 2Cs as support around it. If it draws the same 375uA, than a 1000mAH battery should go something like 3 months between charges (1000mAH/0.3uA/24 hrs/day = 111 days).

Maxim got back to me. You are right about the isolation. Having the common from the 0V battery connected to the common from the 100V battery is too much voltage difference from input to output. Looks like relays would be the way to go.

We use several optical isolators to transfer a DC signal. The input just turns on the output proportionally. The input signal has to be properly scaled with an opamp for the range the device. The output would normally go to an opamp to boost the signal back up to be usable.

This is an older type.
http://www.fairchildsemi.com/ds/H1/H11F1M.pdf

We had a vendor that manufactured one that would take 0-10VDC and output 0-10VDC with 2,000 volt isolation. Using that was cheaper than designing our own but it did leave us dependent on that company to continue making the part.

We use them for ADCs or DACs.

Okay, I found this chip on another thread, outputs are good for up to 80V while sourcing 40mA. MAX6921. Can put a bunch in serial too.
www.crossroadsfencing.com/BatteryMeasurement.pdf
Kinda like adding open adding an open drain output to a big shift register.
VBB can be up to 80V. So, 8V across a 205 ohm coil.
Not sure how to find a relay, am having a hard time finding specs.

Exactly! This chip will let him write out to a big shift register with plenty of drive capability to control relays across the batteries - turn on one relay at at a time, isolated from all others, and measure the DC on that battery using the ADC in the arduino.
Stack 4 chips up, control 80 relays, stack up 5 for 100.
Add a failsafe way to disable all the relays at power on (maybe another NO relay in series with the ground connection, with a big ol cap holding it low until it charges up to enable it or something simple, with a series R from an unused output to charge it up via PWM output).
On arduino power up, control the blank line to drive all outputs off while the failsafe wakes up. When ready to make measurements, write out 1 to the first relay, make the meaurement, turn it back off. Then write out 1 the 2nd relay, measure & turn back off, all the way down the line.
I haven't played with this chip - maybe even simpler -blank the output, 1 clock pulse to write in the first 1, load to the outputs & unblank & measure. Then blank, 1 clock pulse to move the 1 to the next position, load to outputs, load & unblank 8 measure. Then canbe pretty certain that only 1 relay ever got turned on at a time.
With the mechanical switches, everything is isolated, and with the arduino running on battery it is floating, so its like walking a multimeter down the line. Optocouple the Serial RX/TX out to whatever gets the data/decisions about the states of the batteries.

Altho I probably shouldn't have shown the 6921 & relays with the same ground as the series battery, they should connect to the arduino ground only.
Okay, Tango hasn't been back, but I am enjoying myself while I wait for parts to come in to finish my fencing scoring display....

I guess not - please explain? I figured having the coils isolated would ensure that everything on the left side of the relays was floating and only seeing 3.7V from any one battery.

We use several optical isolators to transfer a DC signal.

Yes you can do this, however the main problem here is that the transfer characteristic is non linear and it changes for individual devices. You could compensate to some extent in software with a large look up table and lots of calibration beforehand.

Hold on guys, you're all making the assumption that the 100+cells are connected to a reference ground at some point.

Is this actually the case.

On DC switching control circuits and high power UPS systems, which used upwards of 240volts, we always ensured that the batteries were completely floating. By this means we removed the electrocution hazard and also the possibility of false switching by leakage currents.

Can the originator of this topic please confirm if his system is floating or grounded; and if grounded, why.

jack

you're all making the assumption that the 100+cells are connected to a reference ground at some point.

No we are not.

It doesn't matter if they are connected to ground or not, or if the arduino is floating either. It is the fact that once you connect the lowest cell to a multiplexer and the highest cell to a multiplexer you have got 100V across that multiplexer. Grounds don't enter into it.

Talking about the opto isolator route take a look at the IR300 from Vishay. This is a liner opto isolator that does the trick by having two photo diodes and using the second one as a feedback control for the LED current. This they claim linerises it to 0.01%.

Mike
I appreciate that but you misunderstand my comment.

On page 1 of this topic you'll see I was the one who advocated the use of relays to connect the cell under measure to the arduino.

My latest comment was aimed at those who are showing concern about the fact that as they go up the cell structure the voltage to "ground" progressively increases, mot only beyond the capabilities of the measuring ICs but also presenting a safety hazard.

If the bank is floating then there is no increase relative to ground - in effect all cells will appear to have the same potential which is determined by leakage resistance alone, which on industrial applications is usually limited to 10kohms, but preferably much higher.

Of course to maintain the "float" one would either have to galvanically isolate the cell under examination, from the measuring system by using a 1:1 galvanic isolator (as typically used in I.S. installations) or have the arduino and all its ancillaries, including power supply and display, fully floating (which will be much more difficult).

jack