News:

To visit MidNite Solar click this link www.midnitesolar.com

Main Menu

Cell monitoring

Started by RossW, December 04, 2013, 03:04:38 AM

Previous topic - Next topic

RossW

Not quite sure WHERE this belongs. I didn't want to further disrupt the "Bad Cell" thread. This isn't (yet? ever?) an open source project so may not fit here either, but several of the forum have expressed interest in it.

Had the last of the bits turn up today, late. I only had about 20 minutes spare - but ... well, yeah, I had to do it!

The "first" board - the one that includes the isolated RS232 interface - is my first concern, so I have done it first.
Yes, I rush. Yes, things are crooked. Yes, it still has flux on it. Yes, I haven't soldered all the pins (incase I have to remove the connector during debugging)... but here's the "more or less" finished prototype:

Component side:


Solder side:


For scale:


In what was left of my 20 mins, I hooked up the lab supply and have cranked the input volts from 3V slowly up, watching the supply to the processor and opamp. (Over 5.5V and I'd cook the processor). Hit 5V and stayed there! 10V in, 5.002V out. Perfect.

Hooked more lab supplies to the other cell inputs and the differential amps seem to be working as designed. Looking good.

With the RS232 connected to my laptop, the programming software could see and identify the processor. That was another hurdle passed. And as the phone rang I quickly squirted a 2-line program up. It programmed, verified. Great. All it did was to turn on and off the LED every half a second. But I have a blinky LED! So all the basic bits seem to be working, now I just need to find some time to write the code!!

Stay tuned!
3600W on 6 tracking arrays.
7200W on 2 fixed array.
Midnite Classic 150
Outback Flexmax FM80
16 x LiFePO4 600AH cells
16 x LiFePO4 300AH cells
Selectronics SP-PRO 481 5kW inverter
Fronius 6kW AC coupled inverter
Home-brew 4-cyl propane powered 14kVa genset
2kW wind turbine

mtdoc

Very cool Ross!  Maybe I missed it, but what exactly are you planning on doing with the PIC (besides blinking LEDs  ;D)?
Array 1: Sanyo HIT225 X 8 on Wattsun tracker. Array 2: Evergreen ES-E-225 X 12 on shed roof. Midnite e-panel with Outback GVFX3648, FNDC and Classic 150 X 2. 436 AH AGMs. Honda eu2000i X 2.

RossW

Quote from: mtdoc on December 04, 2013, 03:47:35 AM
Very cool Ross!  Maybe I missed it, but what exactly are you planning on doing with the PIC (besides blinking LEDs  ;D)?

OK, the 20c tour....

A small, inexpensive, cascadable board. I'm aiming for under $10/cell.
Each board can monitor 3 cells in a battery. So 2 boards could monitor each cell in a 12V bank. 4 boards for a 24V and 8 boards for 48V.
The boards talk to each other via a simple two-wire daisy-chain cable.
Each board can monitor cells to around 5mV, and sends the information to every other board.
This lets the entire system know what every OTHER cell is doing, and can alert you to an individual cell that is outside a nominal value of everything else. By sharing the information, it automatically takes account of the state of charge of the bank - if it's charging, floating, discharging, almost flat... without you needing to fiddle with it.
An isolated RS232 interface lets you monitor the system for generating alarms, logging, remote monitoring etc.
Each board has an LED which I intend using to indicate "problem" conditions, like which cell(s) are outside limits.
Additionally, I've provided for individual temperature monitors for each cell. So in a system like mine, I will be able to monitor the voltage and temperature of every cell in the bank.

It's designed for nominal 2V cells (lead-acid), but I expect it to work with other chemistry cells, like 1.2V NiCd, and 3V+ lithium cells etc.

I'm really short on time at the moment, so doubt I'll get much code cut in the next couple of weeks, but who knows... stranger things HAVE happened!
3600W on 6 tracking arrays.
7200W on 2 fixed array.
Midnite Classic 150
Outback Flexmax FM80
16 x LiFePO4 600AH cells
16 x LiFePO4 300AH cells
Selectronics SP-PRO 481 5kW inverter
Fronius 6kW AC coupled inverter
Home-brew 4-cyl propane powered 14kVa genset
2kW wind turbine

Westbranch

If I got it right, you have to go and look at the boards to see just which cell(s) needs attention..?? but the main board will "ring a bell" letting you know that there is a cell amiss?
KID FW1811 560W >C&D 24V 900Ah AGM
CL150 29032 FW V.2126-NW2097-GP2133 175A E-Panel WBjr, 3Px4s 140W > 24V 900Ah AGM,
2 Cisco WRT54GL i/c DD-WRT Rtr, NetGr DS104Hub
Cotek ST1500 Inv  want a 24V  ROSIE Inverter
OmniCharge3024  Eu1/2/3000iGens
West Chilcotin 1680+W to come

RossW

Quote from: Westbranch on December 04, 2013, 05:54:39 PM
If I got it right, you have to go and look at the boards to see just which cell(s) needs attention..?? but the main board will "ring a bell" letting you know that there is a cell amiss?

Well, I haven't written the code yet, so it's still somewhat open to discussion!
Lets take a standard 48V battery bank made of 24, 2V cells. We'll call them cells 1 to 24 inclusive. Lets call cell 1 the one thats on the 0V (negative) end and 24 the "high" end at 48V (nominal).

Board 1 will cover cells 1, 2 and 3.
Board 2 will connect to cells 4, 5 and 6.
An interconnect goes between board 1 and 2.
Lets say all the cells are 2.000V +/- 0.05V except for cell 5 which is at 1.85V.
My current plan is that board 2 will blink its LED twice. Pause. Repeat.
Board 1 will be sending out a stream of voltages and temperatures, for every cell in the battery.
The monitoring/logging computer would be able to send an alarm to you based on whatever criteria you choose.

That said, your idea of a beeper/bell/klaxon/whatever to say "SOMETHING needs attention, come look!" is probably worth including and I will contemplate the best way to achieve that. (I do have one spare pin on the processor, but no space to do anything with it! Actually, thats a lie... on the "master" board, I might be able to manage it...)
3600W on 6 tracking arrays.
7200W on 2 fixed array.
Midnite Classic 150
Outback Flexmax FM80
16 x LiFePO4 600AH cells
16 x LiFePO4 300AH cells
Selectronics SP-PRO 481 5kW inverter
Fronius 6kW AC coupled inverter
Home-brew 4-cyl propane powered 14kVa genset
2kW wind turbine

Westbranch

#5
Ross thanks for the clarification. 

Now know that a monitor CPU is also needed to complete the  "Cell Monitoring System".
Wasn't thinking about the BBP in this app.

Eric
KID FW1811 560W >C&D 24V 900Ah AGM
CL150 29032 FW V.2126-NW2097-GP2133 175A E-Panel WBjr, 3Px4s 140W > 24V 900Ah AGM,
2 Cisco WRT54GL i/c DD-WRT Rtr, NetGr DS104Hub
Cotek ST1500 Inv  want a 24V  ROSIE Inverter
OmniCharge3024  Eu1/2/3000iGens
West Chilcotin 1680+W to come

RossW

Quote from: Westbranch on December 04, 2013, 06:43:46 PM
Ross thanks for the clarification. 

Now know that a monitor CPU is also needed to complete the  "Cell Monitoring System".
Wasn't thinking about the BBP in this app.

Eric

Eric: the monitoring machine is intended for *logging*.
The system is intended to "monitor and alarm" by itself.
I'm hoping to get an hour to think about some code later today and have penciled in a "system alarm" mode for the protocol, although I will need a revision-2 board to realise it in operation.
3600W on 6 tracking arrays.
7200W on 2 fixed array.
Midnite Classic 150
Outback Flexmax FM80
16 x LiFePO4 600AH cells
16 x LiFePO4 300AH cells
Selectronics SP-PRO 481 5kW inverter
Fronius 6kW AC coupled inverter
Home-brew 4-cyl propane powered 14kVa genset
2kW wind turbine

Westbranch

sorry, bad choice of words.

I was thinking it should be a CPU that listens and logs the CMS data stream (broadcast?) at a pre-determined rate, eg. every 30 minutes?. 

Does that make sense?

ps I guess the BBP would work here?
KID FW1811 560W >C&D 24V 900Ah AGM
CL150 29032 FW V.2126-NW2097-GP2133 175A E-Panel WBjr, 3Px4s 140W > 24V 900Ah AGM,
2 Cisco WRT54GL i/c DD-WRT Rtr, NetGr DS104Hub
Cotek ST1500 Inv  want a 24V  ROSIE Inverter
OmniCharge3024  Eu1/2/3000iGens
West Chilcotin 1680+W to come

RossW

Quote from: Westbranch on December 05, 2013, 12:26:58 AM
sorry, bad choice of words.

I was thinking it should be a CPU that listens and logs the CMS data stream (broadcast?) at a pre-determined rate, eg. every 30 minutes?. 

Does that make sense?

ps I guess the BBP would work here?

Ahh, yes.  I think you're right.
But I also want it to be useful in its own right as a stand-alone system that could just draw your attention to a sick cell.
In this case, either a beeper or something that can alert you to come look more closely, and each board able to advise you of its own status to drill down to the cell(s) - WITHOUT a computer, is my aim.
3600W on 6 tracking arrays.
7200W on 2 fixed array.
Midnite Classic 150
Outback Flexmax FM80
16 x LiFePO4 600AH cells
16 x LiFePO4 300AH cells
Selectronics SP-PRO 481 5kW inverter
Fronius 6kW AC coupled inverter
Home-brew 4-cyl propane powered 14kVa genset
2kW wind turbine

vtmaps

Sorry, I may have missed it in the other thread... how do you connect the board to the three cells... does this work only for 2 volt batteries or batteries where the cell interconnects are exposed?

Does the wire from each cell to the board have a fuse?

--vtMaps

RossW

Quote from: vtmaps on December 05, 2013, 02:42:31 AM
Sorry, I may have missed it in the other thread... how do you connect the board to the three cells... does this work only for 2 volt batteries or batteries where the cell interconnects are exposed?

Does the wire from each cell to the board have a fuse?

It's intended for 1.2V (NiCd), 2V (lead-acid) and perhaps 3+V (lithium etc) cells.
Each board has 4 terminals for the batteries. A "0V", "2V", "4V" and "6V" nominal. The absolute maximum is 5V per cell.
I have not included fuses on board but you could easily add them inline. The wires can be almost microscopic. Phone cable is overkill. The device shouldn't take more than a few milliamps at most (when flashing the LED), and some tens of microamps the rest of the time. Inputs drive to a 10K resistor (and then to a differential amplifier), so input current is almost nothing.
3600W on 6 tracking arrays.
7200W on 2 fixed array.
Midnite Classic 150
Outback Flexmax FM80
16 x LiFePO4 600AH cells
16 x LiFePO4 300AH cells
Selectronics SP-PRO 481 5kW inverter
Fronius 6kW AC coupled inverter
Home-brew 4-cyl propane powered 14kVa genset
2kW wind turbine

atop8918

That is a sweet little thing, Ross. Excellent work. Congrats!

vtmaps

Quote from: RossW on December 05, 2013, 04:30:26 AM
Quote from: vtmaps on December 05, 2013, 02:42:31 AM
Does the wire from each cell to the board have a fuse?
I have not included fuses on board but you could easily add them inline. The wires can be almost microscopic. Phone cable is overkill. The device shouldn't take more than a few milliamps at most (when flashing the LED), and some tens of microamps the rest of the time. Inputs drive to a 10K resistor (and then to a differential amplifier), so input current is almost nothing.

I understood that (about small wires and low current)... where I was going: Code

I struggle to understand code... are electronics allowed in a battery box?  If not, do the wires to your board run through conduit to a fuse box? etc.  I realize that you are prototyping this for DIY types, and may not attempt to have this be listed equipment.... But I'm extremely inexperienced with (and afraid of) melting wires... what happens to phone cable shorting a battery?  How unsafe is it?

--vtMaps

zoneblue

Nice work Ross.

I too would encourge you to consider how this will connnect to blackbox. I see less value in a LED flashing in a battery room, that you rarely visit. (actually my agms i never visit). Blackbox is where this data belongs.

Ive been thinking about this and have more or less concluded that a arduino type of board paired with an arm board is the best solution. The arduino with its i2c spi, buses  can talk to as many connected devices as we can dream up. Isnt DB9 serial going to limit the number of conections to the number of free uarts ports? Or do you have a some tricky plan in mind?

While rpi, Beaglebone etc have these buses, my thinking is that the arm board focuses on webserver, and the arduino can then use its tiny cpu for realtime bus related stauff, without being bogged by database calls and whatnot.
6x300W CSUN, ground mount, CL150Lite, 2V/400AhToyo AGM,  Outback VFX3024E, Steca Solarix PL1100
http://www.zoneblue.org/cms/page.php?view=off-grid-solar

Westbranch

Ross,  I concur with ZB about a flashing light  not getting observed, often, but also concur about it being a stand alone unit as well.

But I also want it to be useful in its own right as a stand-alone system that could just draw your attention to a sick cell.

It probably depends on what level of Data Junky you are!  A Black Belt wants it all! Everywhere!

Personally I would want a remote beeper and light to annoy me when I am hunkered down in the computer den... ::)
KID FW1811 560W >C&D 24V 900Ah AGM
CL150 29032 FW V.2126-NW2097-GP2133 175A E-Panel WBjr, 3Px4s 140W > 24V 900Ah AGM,
2 Cisco WRT54GL i/c DD-WRT Rtr, NetGr DS104Hub
Cotek ST1500 Inv  want a 24V  ROSIE Inverter
OmniCharge3024  Eu1/2/3000iGens
West Chilcotin 1680+W to come