I need to measure individual cell voltage in a set of batteries. The entire set
may have 70V from one end to the other, but I need to measure the 6-18V in each
subset.
In the picture below, I need to know the deltas between A & B, B & C, C & D, D &
E, etc.
The difference can range from 6 to 18V, with up to 70V between A & E (of course
this is simplified a bit).
How do I get all these things into a PIC?
Thanks.
Andy
LOAD
|
o------ A
|
-----
---
-----
---
|
o------ B
|
-----
---
-----
---
|
o------ C
|
-----
---
-----
---
|
o------ D
|
-----
---
-----
---
|
o------ E
|
-----
---
-----
---
|
o------
|
GND
No, I only have ADC lines available. This is a half-completed inheritance.
The board we are working from (real hardware!) has the delta inputs going into
op-amps, with the output going to the appropriate ADC input. WHen we hook it
up, we have to connect a ground between GND and the "-" input for it to fly.
That only works if you are on the lowest one, because as soon as you think about
connecting the "-" of the next to GND, POOF as you just shorted out a cell.
>The difference can range from 6 to 18V, with up to 70V between A & E (of
course
>this is simplified a bit).
>
>How do I get all these things into a PIC?
Burr-Brown (now TI, dammit) INA-117 diff amp will take +/- 200V of common
mode input while running on +/- 15V rails. You could multiplex before or
after the diff amp.
Might use a high side p-channel mosfet on each monitor point to connect the
input of the diff amp to each cell in turn. The high side mosfet could be
driven by another high voltage transistor, or maybe optically. (I'm doing
something similar with bipolars, but I don't care about the accuracy loss
due to saturation voltage.)
Can you afford DC/DC converters at each point?
Can you afford a pot to trim each stage input?
I did one doo-hickey a while back with power being drawn from the load being
measured, and an opto used to transfer the voltage level to the processor side. I
used a Siemens linear opto, IL420 or some such thing. The voltages on the hot side
turned out to go so high, that I could not feasibly use a linear pass current in the
hot side of the opto. I wound up doing a switch mode conversion through the opto.
After taking a deep breath, it worked just fine.
If you can afford a pot in each leg, this method eliminates a $10 DC/DC for each
tap.
> I need to measure individual cell voltage in a set of batteries. The entire set
> may have 70V from one end to the other, but I need to measure the 6-18V in each
> subset.
>
> In the picture below, I need to know the deltas between A & B, B & C, C & D, D &
> E, etc.
>
> The difference can range from 6 to 18V, with up to 70V between A & E (of course
> this is simplified a bit).
>
> How do I get all these things into a PIC?
>
> Thanks.
>
> Andy
>
> LOAD
> |
> o------ A
> |
> -----
> ---
> -----
> ---
> |
> o------ B
> |
> -----
> ---
> -----
> ---
> |
> o------ C
> |
> -----
> ---
> -----
> ---
> |
> o------ D
> |
> -----
> ---
> -----
> ---
> |
> o------ E
> |
> -----
> ---
> -----
> ---
> |
> o------
> |
> GND
>
> --
> http://www.piclist.com#nomail Going offline? Don't AutoReply us!
> use spamBeGonelistservspamBeGonemitvma.mit.edu?body=SET%20PICList%20DIGEST
Ya, now there is a neat idea. You could use the diff amp, assuming that it
accepts rail to rail inputs, powered from the two taps being measured. Then you
use an op to create a V to I conversion with a transistor in the output of the
op. Then you pair that output with a low side resistor to ground. You then
have a ground referenced voltage.
Chris~
Mark Skeels wrote:
> I guess the obvious solution is to use diff amps for each cell, then
> reference the output to DC ground.
>
> Mark
>
> {Original Message removed}
Can you afford DC/DC converters at each point?
Can you afford a pot to trim each stage input?
I did one doo-hickey a while back with power being drawn from the load being
measured, and an opto used to transfer the voltage level to the processor side.
I
used a Siemens linear opto, IL420 or some such thing. The voltages on the hot
side
turned out to go so high, that I could not feasibly use a linear pass current in
the
hot side of the opto. I wound up doing a switch mode conversion through the
opto.
After taking a deep breath, it worked just fine.
If you can afford a pot in each leg, this method eliminates a $10 DC/DC for each
tap.
Andrew Kunz wrote:
> I need to measure individual cell voltage in a set of batteries. The entire
set
> may have 70V from one end to the other, but I need to measure the 6-18V in
each
> subset.
>
> In the picture below, I need to know the deltas between A & B, B & C, C & D, D
&
> E, etc.
>
> The difference can range from 6 to 18V, with up to 70V between A & E (of
course {Quote hidden}
> this is simplified a bit).
>
> How do I get all these things into a PIC?
>
> Thanks.
>
> Andy
>
> LOAD
> |
> o------ A
> |
> -----
> ---
> -----
> ---
> |
> o------ B
> |
> -----
> ---
> -----
> ---
> |
> o------ C
> |
> -----
> ---
> -----
> ---
> |
> o------ D
> |
> -----
> ---
> -----
> ---
> |
> o------ E
> |
> -----
> ---
> -----
> ---
> |
> o------
> |
> GND
>
> --
> http://www.piclist.com#nomail Going offline? Don't AutoReply us!
> use RemoveMElistservEraseMEEraseMEmitvma.mit.edu?body=SET%20PICList%20DIGEST
Are the op-amps configured as true "differential" circuits. It seems to me
that they would need to be in order to make the measurements you need.
Alternatively you could try something crude like a pass transitor from each
cell feeding to a digitally controlled pot whose wiper would connect to the
ADC input. You could set up the pot for the cell to be read and then open
the corresponding transistor(FET?). All signals of course referred to GND.
Just a back of the envelope idea which didn't even get to the envelope!
AndyK wrote:
>I need to measure individual cell voltage in a set of batteries. The
entire set
>may have 70V from one end to the other, but I need to measure the 6-18V in each
>subset.
>
>In the picture below, I need to know the deltas between A & B, B & C, C &
D, D &
>E, etc.
>
>The difference can range from 6 to 18V, with up to 70V between A & E (of course
>this is simplified a bit).
>
>How do I get all these things into a PIC?
>
Why not something simple like five identical 14:1 voltage dividers
referenced to gnd, and feeding into 5 PIC A/D channels? Use 12-bit
A/D chip if high accuracy is needed.
A few ideas come to mind. One is to use an A/D with enough resolution
and do the subtraction in software. Another is to use a differential
amplifier with enough CMRR and do the subtraction in the analog world.
Another is to float an A/D on each battery set (powering a PIC with A/D
off the battery), then optocoupling serial data down to a ground
referenced device.
On the single A/D with high resolution, you'd need voltage dividers
before the multiplexor to get stuff down to range that both the mux and
the A/D could handle. This would take precision resistors.
On the analog subtraction, have a look at the INA117 at
focus.ti.com/docs/prod/productfolder.jhtml?genericPartNumber=INA11
7 .
You could have one of these for each sample voltage, then mux the outputs
into the A/D.
Finally, just having a PIC being powered off the voltage you're sampling
(use a precision regulator to both power the PIC and be the A/D
reference), then send the A/D output to the serial port driving an opto
coupler.
Finally, finally, another approach would be a "flying capacitor"
isolator, but this requires a high voltage mux (often done with relays).
My favorite would probably be the floating PICs driving optos - this
would probably be the most accurate. Then I'd go with the INA117.
> I need to measure individual cell voltage in a set of batteries. The
> entire set
> may have 70V from one end to the other, but I need to measure the
> 6-18V in each
> subset.
>
> In the picture below, I need to know the deltas between A & B, B &
> C, C & D, D &
> E, etc.
>
> The difference can range from 6 to 18V, with up to 70V between A & E
> (of course
> this is simplified a bit).
>
> How do I get all these things into a PIC?
>
> Thanks.
>
> Andy
>
>
>
> LOAD
> |
> o------ A
> |
> -----
> ---
> -----
> ---
> |
> o------ B
> |
> -----
> ---
> -----
> ---
> |
> o------ C
> |
> -----
> ---
> -----
> ---
> |
> o------ D
> |
> -----
> ---
> -----
> ---
> |
> o------ E
> |
> -----
> ---
> -----
> ---
> |
> o------
> |
> GND
>
> --
> http://www.piclist.com#nomail Going offline? Don't AutoReply us!
> use KILLspamlistservspamBeGonemitvma.mit.edu?body=SET%20PICList%20DIGEST
>
>
>
>
________________________________________________________________
YOU'RE PAYING TOO MUCH FOR THE INTERNET!
Juno now offers FREE Internet Access!
Try it today - there's no risk! For your FREE software, visit:
dl.http://www.juno.com/get/tagj.
> I need to measure individual cell voltage in a set of batteries. The
entire set
> may have 70V from one end to the other, but I need to measure the 6-18V in
each
> subset.
>
> In the picture below, I need to know the deltas between A & B, B & C, C &
D, D &
> E, etc.
>
> The difference can range from 6 to 18V, with up to 70V between A & E (of
course
> this is simplified a bit).
>
> How do I get all these things into a PIC?
Could you measure each point A, B, etc. WRT to ground and get the individual
deltas by subtraction?
What accuracy is required? How much continuous current can be drawn from
each battery?
If the accuracy required is low (several percent error allowed) and a
few hundred microamps can be drawn from each battery then consider a
voltage to current convertor on using a PNP transistor on each battery
as a level shifter to a grounded load resistor in the collector. Sorry
no ASCII art ;-)
>
> I need to measure individual cell voltage in a set of batteries. The entire set
> may have 70V from one end to the other, but I need to measure the 6-18V in each
> subset.
>
> In the picture below, I need to know the deltas between A & B, B & C, C & D, D &
> E, etc.
>
> The difference can range from 6 to 18V, with up to 70V between A & E (of course
> this is simplified a bit).
>
> How do I get all these things into a PIC?
>
> Thanks.
>
> Andy
>
> LOAD
> |
> o------ A
> |
> -----
> ---
> -----
> ---
> |
> o------ B
> |
> -----
> ---
> -----
> ---
> |
> o------ C
> |
> -----
> ---
> -----
> ---
> |
> o------ D
> |
> -----
> ---
> -----
> ---
> |
> o------ E
> |
> -----
> ---
> -----
> ---
> |
> o------
> |
> GND
>
> --
> http://www.piclist.com#nomail Going offline? Don't AutoReply us!
> use TakeThisOuTlistservKILLspamspammitvma.mit.edu?body=SET%20PICList%20DIGEST
The simplest way might be to run a voltage diiver from each battery
connection, the division ration being such that the highest value (from the
top of the stack) is less than the maximum common mode input voltage level
for your amplifier. You can then safely connect a high input impedance
diffamp between the various legs either directly or via a mux.
Problems include reduced accuracy due to resistor variations and
temperature.
I am working on a project doing a similar thing at the moment - but
unfortunately can't send out too much detail. The principle is as above
however.
Richard P
I need to measure individual cell voltage in a set of batteries. The
entire set
may have 70V from one end to the other, but I need to measure the 6-18V in
each
subset.
In the picture below, I need to know the deltas between A & B, B & C, C &
D, D &
E, etc.
The difference can range from 6 to 18V, with up to 70V between A & E (of
course
this is simplified a bit).
How do I get all these things into a PIC?
Thanks.
Andy
LOAD
|
o------ A
|
-----
---
-----
---
|
o------ B
|
-----
---
-----
---
|
o------ C
|
-----
---
-----
---
|
o------ D
|
-----
---
-----
---
|
o------ E
|
-----
---
-----
---
|
o------
|
GND
Andrew Kunz wrote:
>
> I need to measure individual cell voltage in a set of batteries. The entire set
> may have 70V from one end to the other, but I need to measure the 6-18V in each
> subset.
>
> In the picture below, I need to know the deltas between A & B, B & C, C & D, D &
> E, etc.
>
> The difference can range from 6 to 18V, with up to 70V between A & E (of course
> this is simplified a bit).
>
> How do I get all these things into a PIC?
>
> Thanks.
I don't see what the problem is? Just connect each leg (a, b, etc)
to an analogue input pin of the PIC via a two resistor voltage divider.
Then use software to subtract each one from the rest and give
the separate values. ???
If accuracy bothers you, you can make it a bit better by having
the resistor dividers in "ranges", obviously use /2 /4 ranges etc
to allow easy software calcs. Example, use one resistor range
for the bottom 4 legs, and a /2 range for the top legs. Using ranges
gets you closer to the full 10bit ADC for each leg, and obviously
you have to allow for the max voltage expected across all cels in
total. :o)
-Roman
>
>The slickest and safest would have been to put a PIC12C on each segment and
>use
>opto-isolation to go onto a common comm line.
>
>It was invented before my time, but I get to help take it out to
>production.
>Next time, though...
>
>Andy
>
Andy, still good remembrance! Was my suggestion some months ago discussing
similar topic. By the way, when you dont need exact voltage, you can use
LT1440 instead of PIC for battery status check. Of course output
optoisolated. When you need some help, email me.
Andrej
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
The best way imho is probably the oldest but it will make some people here
cringe. Use relays to implement a multiplexer with a floating sample cap.
The PIC drives the multiplexer to select a pair of contacts to measure on,
the cap charges to that voltage, then the multiplexer is disabled and the
PIC side relay connects the capacitor to the high impedance AD.
Other innovative ways involve optical sensing (current driven optocoupler
on each battery and analog measure of output current - requires
temperature compensation and individual calibration or selected groups
probably), and voltage to frequency converters, one on each battery, with
transformer or galvanic coupling to the measure circuit.
You will probably like the optical way best. There are optically insulated
opamps that can help if you want to be precise (but not cheap).
Peter
-- http://www.piclist.com hint: PICList Posts must start with ONE topic:
"[PIC]:","[SX]:","[AVR]:" =uP ONLY! "[EE]:","[OT]:" =Other "[BUY]:","[AD]:" =Ads