BMS Design - Insight Central: Honda Insight Forum
 
Go Back   Insight Central: Honda Insight Forum > 1st-Generation Honda Insight Forum > Modifications and Technical Issues

Please Visit our Site Sponsors Page
Insightcentral.net is the premier Honda Insight Forum on the internet. Registered Users do not see the above ads.

» Auto Insurance
» Featured Product
» Wheel & Tire Center

Reply
 
LinkBack Thread Tools
Old 06-05-2008, 06:59 AM   #1 (permalink)
Administrator
 
retepsnikrep's Avatar
 
Join Date: Dec 2005
Location: Thirsk North Yorkshire UK
Posts: 3,950
Send a message via MSN to retepsnikrep
Default BMS Intelligent Design?

I thought I would start this thread to pull together BMS (Battery Management Systems) ideas for Insight projects.

I've been dabbling and experimenting over last few weeks and I do like the idea of an intelligent expandable BMS. Appologies in advance for my schematic skills, I could also only export the diagrams to a bmp file.

For any BMS there are an ever increasing number of desirable features
But we have to draw the line somewhere for the sake of reproducability, practicality and cost.

I would like a BMS to monitor individual cells (in my new Li-fepo4 pack) or subpacks (In the case of the Insight)

I would like to know the cell V and temp, the pack capacity and voltage etc.

I've looked at an analogue solution here, now although this monitors cell voltage, it keeps it to itself, it does not monitor temp either

http://www.solarvan.co.uk/insight/analogueslave.bmp 356kb

Each cell is fitted with the above circuit, all the High V and Low V opto outputs are in parallel, basically when any cell goes over or under V it makes the high V or low V circuit and something monitoring the parallel outputs can respond as reqd. It also has a basic balancing function which introduces a 250ma load to any cell which goes over preset limit. It has seperate over and under V limits, the parallel high V output can sound an alarm/light and even control an charger. So this solution is cheap and cheerful simple electronics. Thoughts.

I've also looked at a digital solution here which has many more functions, really only limited by the programmers ingenuity.

http://www.solarvan.co.uk/insight/digitalslave.bmp 356kb

This uses a Picaxe (pic) 8pin chip at a cost of about $3.00 for the main part. Each cell in my case is going to be fitted with one of these. It sits there 24/7 (need to keep the current drain to a minimum) running a cell monitoring program checking the cell (subpack) voltage against it's reference. It's also checking the cell temp, and activating it's balancing load if the cell goes over Max V. Now this idea uses an opto isolated serial bus for comms with the master PIC and dashboard display. Again all the serial opto outputs are connected in parallel so each cell has a common data bus.

The master pic pulls the interput opto of cell one high and triggers an initial delay of say 0.1 seconds in the slave pic, the slave then starts the serial data output routine which dumps the cell data onto the bus for the master to receive and record. The act of data transmission triggers the interupt on cell two which waits for 0.1 seconds and then transmits it's data, add infinitum along the pack. The master recieves and checks all the data (Missing data can simply trigger an alarm condition etc) it then acts on data as reqd, calculating pack voltage from sum of cells, checking for over temp condition, etc etc etc.

Note on the first cell in the pack the master PIC would be connected to (pins 1 and 2) of the interboard connector to initiate the interupt sequence, the cell 1 slave would then connect it's output (pins 3 and 4) to the input (pins 1 and 2) of the next slave. Hope that makes sense, like a cascade effect. Bit of work to do on timing of data etc and all slaves must run the same software.

I'm off on hols now for a couple of weeks, I'll take a few schematics and have a further think. More ideas very welcome.

Here is a first draft slave PIC code
Quote:
`Battery Management System Slave Module
`Based on Picaxe 08M microcontroller
`Original concept, hardware and code by Peter Perkins
`peter@solarvan.gotadsl.co.uk
`V1.00 280508


`Byte Variables for speed
`b1 = Cell voltage
`b2 = Cell temperature
`Balancing voltage is set at >3.75v For Li-fepo4 cells



start: `Initialise program and variables/interrupts as reqd
setint %00001000,%00001000 `Activate interrupt when pin 3 goes high

main:
low 2 `Pull pin 2 low to draw current through the ref 1.25v diode
pause 100 `Wait 0.1 of a second
input 2 'Turn off current and turn pin 2 back to an input
readadc 2, b1 `Measure the voltage stored across the capacitor
b1 = 255 - b1 `Invert the value of b1 so higher voltage = higher value
If b1 > 170 then `Turn on cell balancing load if voltage >3.75v
high 1 `Turn on load resistor
else
low 1 `Turn off load resistor
endif
readadc 4,b2 `Read the cell temperature into variable b2
goto main `Goto main loop



interrupt: `Send cell data to master Picaxe via opto serial bus

pause 100 `Wait 100 milliseconds to ensure data received OK and prior Pic has sent data
`This may be cut or removed depending on hardware response

sertxd(b1,b2) `Send raw cell/slave data to master, include :-Cell V, Cell temp
setint %00001000,%00001000 `Reset the interrupt and wait for another data request.
return `Return from interrupt to main program.



Picaxe stuff/info is here

http://www.rev-ed.co.uk/picaxe/

Peter
retepsnikrep is online now   Reply With Quote
Sponsored Links
Advertisement
 
Old 06-24-2008, 02:19 AM   #2 (permalink)
Administrator
 
retepsnikrep's Avatar
 
Join Date: Dec 2005
Location: Thirsk North Yorkshire UK
Posts: 3,950
Send a message via MSN to retepsnikrep
Default re: BMS Design

I've binned individual cell temp monitoring as we already have a pack solution in the Insight which does this. I'll use the PTC strips from a few old cell subpacks placed into my new lifepo4 pacj in contact with each cell.

The 1.25v LM385 is used as a V ref but as the voltage of the cell changes so does the result from the PIC adc So I'll just use a lookup table in the master pic to get the correct cell V in a useable form to work out pack voltage.

If pic cell adc result is 200 then I know cell V is 2.00V (I've tested it)
If pic cell adc result is 500 then I know cell V is 3.80V (I've tested it)

The slave only needs to know that for instance at 3.8V the adc result will be X above X it needs to turn on load.

So this version has a reduced component count and slave program is incredibly simple.

`Battery Management System
`Slave Module Based on
`Picaxe 08M
`peter@solarvan.gotadsl.co.uk
`V1.1 230608

`Variables
`w0=Cell Voltage 0-1024 word 10bit

`Activate interrupt when pin3 goes high
setint %00001000,%00001000

`Main program loop
Main:

`Measure voltage reference
readadc10 2, w0

`Add cell voltage inverting and pre-conditioning
`routine here to make cell V + value
`between 0-1024 (3 significant digits)
`Calibrated so 2V = 200 with 1.25v LM385 V Ref

w0 = 834 - w0

`If cell V > 3.80v then turn on load
if w0 > 500 then
high 1
else
low 1
endif

`Pause 1 second
pause 1000

`Goto main loop
goto main



`Interrupt data transmission routine
Interrupt:

`Pause 0.1 of a second
pause 100

`Send raw cell voltage to Master
sertxd(w0)

`Activate interrupt when pin3 goes high
setint %00001000,%00001000

`Return from interrupt to main program
return


New schematic is here

http://www.solarvan.co.uk/slave240608.jpg

I'm almost ready to go to PCB layout now, anyone help me with this?

I'm happy with my once a second cell polling, from my experience with TS cells they are rugged and don't need to be micromanaged to the Nth degree Yes lots of improvements could be made but again line has to be drawn and boards made up, I can tinker with software to my hearts content later. Looks like my batts could be on way from China by the end of June so need to get on!

So long as the master pic knows if data is missing/invalid/out of range and signals the fact along with shutting down charger etc then the Human computer has to investigate.
retepsnikrep is online now   Reply With Quote
Old 07-01-2008, 09:58 AM   #3 (permalink)
Administrator
 
retepsnikrep's Avatar
 
Join Date: Dec 2005
Location: Thirsk North Yorkshire UK
Posts: 3,950
Send a message via MSN to retepsnikrep
Default re: BMS Design

Did a fair bit on Master software last night. Not quite ready to run but not far off. Should have a workable version ready by the time I have my boards built and cells arrive.

http://www.solarvan.co.uk/Master030708.txt
http://www.solarvan.co.uk/Master030708.bmp (One circuit per system)

http://www.solarvan.co.uk/Slave030708.txt
http://www.solarvan.co.uk/Slave030708.bmp (One circuit per Lifepo4 cell)

I'm also thinking about incorporating a basic version of MIMA into the design of MK2 so that Insight owners who upgrade/replace batteries can get the benefit of the extra capacity. Now this would be a very basic system with a simple joystick proportional assist/regen and perhaps a disable forced charge option. It's not intended to replace or usurp Mike's excellent and comprehensive MIMA system which I already have fitted. It's just a thought about another option. Don't want to stand on anyones toes
retepsnikrep is online now   Reply With Quote
Old 07-10-2008, 09:08 AM   #4 (permalink)
Administrator
 
retepsnikrep's Avatar
 
Join Date: Dec 2005
Location: Thirsk North Yorkshire UK
Posts: 3,950
Send a message via MSN to retepsnikrep
Default re: BMS Design

Slave layout is nearing completion on PCB. It will be approx 50mm x 100mm double sided (components only on the top) with slots/holes for upto 8mm cell posts covering 60-85mm distance between centre of cell terminals. That should fit 40-100ah TS/High Power cells. I can't go long enough to fit holes on the pcb for 200AH TS cells as the board won't fit on my 40ah cells. However an extension terminal or flying leads could just be soldered to the board to make it fit the bigger cells.

Latest docs

http://www.solarvan.co.uk/Master100708.txt
http://www.solarvan.co.uk/Master100708.jpg

http://www.solarvan.co.uk/Slave080708.txt
http://www.solarvan.co.uk/Slave100708.jpg

I've noticed it's a bit lonely in this thread
retepsnikrep is online now   Reply With Quote
Old 07-10-2008, 12:21 PM   #5 (permalink)
Senior Member
 
Join Date: Feb 2003
Location: Dallas!
Posts: 925
Default re: BMS Design

Quote:
I've noticed it's a bit lonely in this thread


You've got almost 250 hits from people looking on and following, probably as I, in rapt amazement at your ingenuity. As far as intelligent comments, right now I've got nothing, but I wish you scads of success...
__________________
Driving on down the road in my 2001 CVT, going "Boogety Boogety" ...and until avatars are provided, my car looks just like the original silver Insight on the header, above... =)
boogetyboogety is offline   Reply With Quote
Old 07-10-2008, 03:36 PM   #6 (permalink)
Lifetime Member
 
Join Date: Feb 2008
Location: Mobile, AL
Posts: 36
Default re: BMS Design

Quote:
Originally Posted by boogetyboogety
Quote:
I've noticed it's a bit lonely in this thread


You've got almost 250 hits from people looking on and following, probably as I, in rapt amazement at your ingenuity. As far as intelligent comments, right now I've got nothing, but I wish you scads of success...
I agree with boogety. I imagine most are like me......waiting for the "BMS for Dummies" version to come out, hopefully in kit form with step by step directions
Keep up the good work and thanks for posting!
markw is offline   Reply With Quote
Old 07-10-2008, 07:27 PM   #7 (permalink)
Lifetime Member
 
uhtrinity's Avatar
 
Join Date: May 2007
Location: Pocatello, ID
Posts: 1,052
Default re: BMS Design

Same here, I can see what your program does and sort of understand what you are trying to do, but not well enough to add constructive comment. My electronics knowledge stops (was never expanded) beyond AC / DC, and basic digital.
__________________
Mark

2000 Silver Insight, #5550
Pioneer P3900MP CD/MP3 4 X Polk Audio 6.5", Stealth Box
Mima #47, BCM Gauge, Escaped™ custom dual battery pack 150v 11AH battery pack, Matiz rear springs & Monroe shocks, 25mm rear wheel spacers & Blasphemer™ spat cutout
uhtrinity is offline   Reply With Quote
Old 07-10-2008, 08:34 PM   #8 (permalink)
Member
 
Join Date: Oct 2007
Location: Arizona
Posts: 51
Default re: BMS Design

I have read all the threads (okay, a few times). This sounds like a great idea and "continous cell conditioning" (is this a good term) sounds like it will be more and more needed as our battery packs age.

If I read all the listings correctly this first focus is not on TEMP but on cell voltage, is this correct?

Also, you mentioned expansion... does that mean a possbility for more batteries?

Sorry if this is a real "BMS for dummies" but I really am interested...
__________________
Kevin in Arizona

2000 MT Silver 54K
2006 CVT Silver 24K
kcarson is offline   Reply With Quote
Old 07-11-2008, 08:51 AM   #9 (permalink)
Administrator
 
retepsnikrep's Avatar
 
Join Date: Dec 2005
Location: Thirsk North Yorkshire UK
Posts: 3,950
Send a message via MSN to retepsnikrep
Default re: BMS Design

Thanks for the encouragement

As you can see I am designing this to control and monitor a pack of large capacity Li-Ion cells, it could/should be adapted in future to monitor a pack of Insight Nimh cells, I shall look at that later once my Li-Fepo4 pack is up and running in my Insight.

I will do a write up when it's finished and working properly. I need every minute I've got before the cells arrive from China to work on the design/software.
I did do a comprehensive write up on my very old and agricultural relay driven BMS for my van 4 years ago.

http://www.solarvan.co.uk/solarvanbmsproj.zip

Pretty cringeworthy now, but I learnt a lot from that first one.

For now just some updated and tweaked files/schematics.

http://www.solarvan.co.uk/Master100708V170.txt
http://www.solarvan.co.uk/Master110708.jpg

http://www.solarvan.co.uk/Slave100708.txt
http://www.solarvan.co.uk/Slave110708.jpg
retepsnikrep is online now   Reply With Quote
Old 07-12-2008, 03:38 AM   #10 (permalink)
Administrator
 
retepsnikrep's Avatar
 
Join Date: Dec 2005
Location: Thirsk North Yorkshire UK
Posts: 3,950
Send a message via MSN to retepsnikrep
Default re: BMS Design

I've changed to the 28X1 for the Master Board which adds a few more inputs, but I did it mainly because it has a timeout function on the slave data serial input, so the Master software does not become stuck waiting for a slave to respond if there is a hardware failure on a particular cell. It can now detect that condition and report appropriately. Vital to the whole system.

I choose the 2w 15R balancing load as that has been proven to work over the last four years on Cedric Lynch's cell controllers. The balancing load of about 250ma was suffcient to keep 200AH Lithium-Ion cells in balance during that time so I'm happy with that. On smaller cells it will be even more effective.

I will be using a Zivan NG3 and a Charger cutback arrangement. The Picaxes don't do DAC output in the conventional sense ASFAIK, you have to use a PWM output but this drives an opto through an RC smoothing circuit so in effect the opto led changes brightness smoothly in response to changes in PWM Mark/Space ratio. I haven't decided wether to pull charger voltage up or down with opto control yet. Pulling it up gives a slightly more fail safe arrangement I think. The Master schematic incorporates this PWM control function for both Charger and Controller cutback

I've just ordered the 08M Picaxes to start building up the 50 slaves I need when the pcb's are finished. I have also ordered a PIC assembler level programmer so I can look at converting the Slave software to assembly and program it direct into bare pics once it's all tested. This will make the slaves a bit cheaper but owners won't be able to re-program themselves like they can with the Picaxe versions.

One of the Picaxes main attractions is the ease of re-programming with a simple serial/usb cable and the free software it means as We/I release upgraded Slave/Master software people can just download it to there system in a few minutes. The free 32mb Picaxe basic editor is below, download it and tinker around!

http://www.rev-ed.co.uk/software/bas805.exe

The current sensor I will be utilising is based on the Allegro ACS754LCB series, which gives an 0-5v Output covering -100 to + 100A range.

5v output = +100A
2.5V output = 0A
0v output = -100A

Resolution will be about 200ma with the Pic 28X1 10bit adc

This will be mounted off the master board to reduce interference.

http://www.farnell.com/datasheets/75747.pdf

Other sensors can be used but conditioning of the signal will be reqd to ensure signal is within 0-5v for the Pic ADC input.

I will be building my battery pack up into 10 cell subpacks for testing which will only be connected together for final install/bench test.

I can thoroughly bench test each 10 cell subpack before install and it's a lot safer at <40V per block, the entire pack charged voltage will be nearer 190V a bit too dangerous for tinkering with for my liking. Still got to be careful though I don't want any expensive smoke or singed dignity.

Back to work now!!
retepsnikrep is online now   Reply With Quote
Sponsored Links
Advertisement
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Powered by vBadvanced CMPS v3.2.2

All times are GMT -4. The time now is 02:27 PM.



Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

Content Relevant URLs by vBSEO 3.3.2