I hope fechter was being sarcastic with the "what is sourceforge"? I am going to just assume that you were man = )
Once we decide upon a hardware platform to work upon and a design strategy, creating a sourceforge project and using them to host our CAD/CAM/Gerbers/Schematics and tracking revision history using CSV or SVN is smart... but we need to get to the stage of deciding as a collective what designs we are going to entertain and which we are tossing out.
Collabarative development is somthing I have been doing (open and closed source) for the better part of the past 15 years (longer actually)... software, hardware, desktop, web based, microcontroller, etc... doesn't matter I have been doing exactly this (as I am sure many of us have) and we do need to determine direction before creating a project else we will have that horrible empty project syndrome that effects so many open source projects started on a whim.
fechter;
You are correct about the transmission lines... if my memory serves me correctly I solved this problem long ago on i2c bus by simply writing a keep-alive routine into the master controller so it would poll for specific and calculated response once each few seconds from each of it's slaves. Any failed respose indicated a communications failure, if the checksum (mod 10 I think, may have been CRC16) was off = failed/corrupted communications.
Do you think that level of error detection is sufficient or do we need to step it up a notch and actually piggy back some other communications protocol with error detection built in (ie: lightweight TCP over 2 wire?)... this wouldn't be too difficult and really we will have serial communications bus (I assume) either rs2322, i2c usb, etc...
What are your feelings on this...
In regards to isolation:
Tear open a BM6 from HobbyKing, I have 5 of these right now (should be 6) connected to 5 of my 6 partial packs in discharge mode (serial as 15S2P). These suckers are spot on (the 5 that worked out of the box, waiting for replacement of #6 whch was sort of DOA) and activate a piezo transducer for alarm. @ 12.00 ea US thats a bit much for our uses but... they are isolated (must be or I would be shorting everything out ... and no KFF (Kentucky Fried Finger) this week - so far)
They are based on a simple Atmel MCU but other than interfacing to each piezo element as a trigger for a 6 pack monitor LED display and throttle interrupt line usning some transistors and 10K resistors I had laying around I havent had the time to reverse engineer them looking for alternate triggers... changes to the code, method of isolation, etc.
I will tear my disfunctional BM6 apart and take tight pictures of the PCBs and post if anyone wants them (maybe I should start another thread for this)... once I actually draw a schematic and PCB for my interface board I will post it but right now it's electrical tape and perfboard from the hip... but it works wonderfully and where I am located we have massive cricket action right now which kept me from hearing the alarm on the BM6 one night recently. WIth the LED display and throttle interrupt you don't have the problem but you are rght about the connections from the battery balance taps -> the BM6 and then from the BM6 to my interface board. No method of monitoring that each is functional (NOOP) command.
In case you werent being sarcastic about sourceforge - NOOP = No Otherwise Obvious Purpose and is a command worked into many of the client protocols that make the web work for the purpose of keep-alive, communications checking... etc at the program layer of the TCP stack.
We could do the same similar thing by hooking into the 5v line of the LCD display and when its not +5v assume the BM6 is failed (or the slave unit we design, whatever) - When my cables come loose the BM6 goes off and the LED turns off the low voltage supply regulator turns off and the +5v rail dissappears. Just a thought, would be easier than inventing some NOOP and protocol to support it.
-Mike