Hi Pkarplus,
EDIT: This morning I realize that all my comments about your system are based on the assumption that this would be a BMS + Partial or Full Computer combo. You may have zero interest in entering some of the computer functions, but then if it's only a logging system, I think there is slightly less appeal.
To my dismay, after several hours of looking at the chip and methods of implementation, it might not work so well for my use. At least, not without resistors or some consistent voltage dropping diodes, which is a mite sad since this chip so very much excited me because I thought I might avoid those. It's still possibly easier than alternatives, however.
(apologizes for cluttering your thread. This is thread has some potential and I don't want to clutter things. I can open up a different thread to talk about this if it gets much further.)
In my spare time between projects at work, I'm looking to mock up an arduino based system that measures the voltage drop across 9 peltier modules (thermoelectric units) to 3 sig figs, where the voltages are ~5.7v. That resolution requirement sort of blows, when it comes to using the 10 bit ADC - i'm just somewhat shy of the requirement if I were to scale everything down. So there are of course three dozen ways to do this, but as a simple engineering student I've been pretty foiled at chip selection for the different ways I could solve it. It's a small 13 person place, so we don't have anyone particularly familiar with designing circuits.
Lackluster methods so far:
1) Two high voltage multiplexers selectively coordinating "cells" (referring to each voltage drop as a cell) through two different voltage dividers (get the 5.7v down to 0-5v) and then to one high voltage differential op amp to get the voltage difference at each successive step.
2) high resolution adc (some have suggestion the 10 bits with oversampling and dithering might be enough- but I have preciously little experience or knowledge about the principles of noise and dithering), coordinating a full network of 4-wire characterized resistors (differences compensated in my code).
3) 8 high voltage differential op amps with a single high voltage multiplexer sampling each output, and then putting the output through a single voltage divider to get the 5.7v to <Vcc arduino.
4) Using near barebone attiny45's on each cell to measure their voltage and communicate an isolated serial signal to the master arduino.
5) Using relays to selectively channel as in
http://endless-sphere.com/forums/viewto ... 14&t=32586... There have been a few other ideas. They are all quite messy and not without a few problems. My idle thinking and googling has found me a dozen almost-good solutions. The motivating factor for all this was that with arduino libraries I could easily interface with a thermal receipt printer, do calculations on the data, make the measurements quickly at a given temperature based a thermocouple sensor (or maxim temp chip). Right now this procedure every day is by hand, less accurate, slower, and involves writing the data down then transferring to an excel calculation spreadsheet. Plus the guys say it kind of sucks as one of the more tedious building tasks.
The crestfallen moment occurred when I realized my original reading that the chip could deal with "0-8v" as opposed to the 0-5v of the other bms chips I looked at, was only a tolerance rating.The actual measurement I understand are only 0-5v. As I said earlier, I think this might still be a less ugly solution that my other solutions noted above, even if I have to decrease my voltages somehow
Back more specifically to your own systemI understand that you're looking at ~$200 for the bms system. That is a noticeable amount more than most people would likely be willing to pay, if only because of limited budgets, but less expensive for the electric motorcycle and electric car crowd (who are used to and must tolerate higher costs). I don't know how much of a "market" there is for high end ebike bmses, but I think there would be some people interested in the right system with the right features.
To that effect, I know amberwolf made a treatise somewhere and detailed his thoughts on what would be his "all out" BMS if there was one. I hope he can chime in, because I don't remember where he posted that (it was not on ES, but the guys name was "amberwolf" and his post was smart, so my guess is it was ES amberwolf). Anyway, one item I recall he thought would be potentially a very good safety device would be a tilt sensing mechanism that would shut off the motor in the condition of overtilt and having presumably crashed the bike (another method of testing this would be if the wheel rpm of the front wheel was substantially less than the wheel speed of the arduino.) To this extent, I know the DIYdrones community has arduino-compatible boards with built in accelerometers and substantial usage documentation/tutorials. I don't know if it's something others would agree as useful, or something you'd be interested in, but amberwolf had a lot of other solid MCU compatible ideas on that post.
In terms of cost, if you want, it might trim quite a few costs to eventually go ahead and make the presumable board for the LTC6803 chip (i assume you wouldn't use perf board for a final system) as the whole arduino-compatible board. The eagle files for existing open source arduino compatible boards could be adapted.
pkarplus wrote:I found using the chip difficult. I wrote a library for the chip so that interfacing with it now is much easier but figuring out the communication the first time too a lot of time, pouring over the data sheet, and calling Linear Technologies tech support. I am an engineer by profession so I was also able to ask help from software friends at my work.
This is a bit intimidating :/. I see I should not underestimate this endeavor.
pkarplus wrote:To hillzofvalp:
I first tried to implement the demo boards using the demo software. I was able to get it to work sometimes but I had to work to make the communication much more robust. My friend and I wrote a library for the Arduino to handle SPI communication with the chips. If you are interested in that code, I would be happy to share it with you. I am a hobbyist myself and my goal in all of this is to help more people get EVs on the road (large or small, hobby or otherwise). Send me a private message and we will work out how to get you the code.
I am wondering if you ever found
http://arduino.cc/en/Reference/SPI ? I imagine there are more specifics to the LTC chip communication, so my mentioning might be foolish. Anyway, the idea that you might be willing to share some of your SPI progress (possibly the library) is quite generous and quite wonderful. I don't think it should risk your BMS project if you do go forth, because this is not such a huge market that there would be that much motive, nor does the community seem to work like that. It's still more idealist than super commercial, especially on the high end that you would be targeting. Plus a few DIY guys might iron out crinkles or offer ideas for improvement (based on their own board designs).
I hope some other people can get back to you on what BMSs people use. I personally do not have a BMS for my 12s LiPo. I bulk charge and monitor my voltages with cell logs or batter medics, depending on whats on hand. I would not be able to anticipate a weak cell until I had a suspicion and manually worked to find it with either a logging icharger or logging celllog. It would be more manual and less convenient than your system. The way I circumvent having to do much it by typically only discharging 60% (though I imagine I'd be quite in balance even lower than this).
Apologizes for my bit long post. I hope to keep up with the conversation here, this could be interesting.
New to endless-sphere? Notice a lot of signatures recommending Ebike.ca? That's because it's the best place for a quality and manageable, (but still 'real'), first build. Justin is a solid supporter of electric bike development, and a good source of equipment.
My hat off a thousand times to the green people that effectively run this forum. The ES Mods are superb.