kfong wrote:Patrick, how about using silicone caulk from a caulk gun. That should have the pressure needed to flow down the channel.
Thanks - you were right. In the end I selected a non-acidic cure COTS caulk fit for a gun. Cost 1/10th the price and worked killer.
dbaker wrote:Beautiful and it works great as well! For the silicone you might find a bead on the outside of each leg works as well as a much larger amount underneath the resistors. The resistor bond would then be in shear. Adhesion to the board is often not a problem.
Thanks to you too sir - After some testing I found this to be a much more effective method then filling a big blob under the resistors. In the end I ran "rails" down the PCB for each row of resistors. The legs of the resistors landed in the "rails" and squished out a little. I then ran a Q-tip down the sides to smooth the bead. I also ran a bead along the top to tie them all together like one large mass and then baked them out in the oven. Came out great - not a single problem yet.
Now... This is not to say that there have not been problems
I have 3 units sitting here on my desk that are missing (or at some time have lost) their magic smoke. To be clear - none of these were "mysteries" - all had a clear cause and effect - sometimes a long time in the finding - the cause being either me or the customer in all cases.
1) My prototype - burst into flames at one point when I ran it at 150V 20A without letting the PCB cleaner evaporate completely. I have since rebuilt this (several times) and it is still in service
2) Not to be outdone - the customer sent me the pictures below. After a lot of head scratching the root cause of this failure was finally discovered... and it was a real good one! So very sneaky... The Charge leads and the Pack leads were inadvertently swapped. This means that instead of my IRFS4115 fets acting as PWM switches, their body diodes acted like heaters! The body diodes on these fets develop 1.2A and the customer was charging at 25A !!! That is 30W in a 1cm square area
Needless to say everything was baked out including the (ever so important) conformal coating. The BMS actually completed its charge and then later - after a valiant effort - vomited its charge wires and died. Actually - it really is not bad at all. The BMS is still fine, only the charge fets and ceramic caps have to be changed out.
3) The third was the inevitable "miss-wire" where (it at first appeared) that the balance taps were plugged in out of order. It later was found that they actually were *not* plugged in out of order - but actually a freak accident occurred where the balance taps got crushed into a parallel adapter board which shorted out a bank of 5 cells. Long story short - a few channels got damaged but the BMS still works and needs only minor repair.
But... That is just the fun stuff
I have learned a TON along the way and I have quite a few tips and tricks. I am keeping the details of those to myself - but in the spirit of open source, here are a few VERY IMPORTANT tips that I will share with you.
1) Manually shut down all shunts before you take your A/D reading. Just shut them all off, poll the A/D's, then turn them back to whatever state they were in. Yea, yea ... I know the LTC will do this for you - but if you do some testing you will find that you can greatly improve your S/N by doing this.
2) For the LTC6802-1 you must do the above - here is why: The built in function to turn off the shunts is not aware of how many LTC chips you have in series. This means that when you try to read cell 13, the second LTC has no way to tell the fist LTC to turn off the shunt on cell 12. You either get what I am saying right now or you dont. If you dont - hit the books. If you do, then you understand how important it is to address this issue. Any time an A/D sample is taken you must turn off that shunt + the shunts above and below your sample
3) Turn off any PWM that you are running when you take A/D readings. TRUST ME...
Your S/N will go WAY up. I have an algo that basically monitors the state of the charge PWM and turns off the PWM when a critical measurement is taken. When PWM is at 100% - obviously there is no need. On the other hand - once you are balancing.... You may find that you go into oscillation with your shunts if you are not getting really accurate readings. To give you an idea - I now balance to 2mV. Yea - thats right -> 2mV on a 25S 80Ah pack.
4) Really, really, pay attention to the noise you are creating with any PWM circuits. Switching 100V @ 25A is no joke -> That is 2.5Kw, thru many feet of inductive cable, and from a capacitive source. This can reap insane havoc on your switching system. In the end I solved the problem by throwing >10uF of 250V ceramic capacitance at it. This circuit was an electrolitic destoryer!
5) Design your prototype for rework.... use chip sockets for any dip parts, dont bother populating unimportant circuits, dont conformal coat, etc.
6) Use an acrylic conformal coating if you plan to re-work. Use a silicone conformal coating once you are confident.
7) Keep tight control on your firmware versions! Now that I have 3 versions of the BMS out there and a 4th in the works it is REALLY IMPORTANT that I send out the correct firmware updates. Really - the three versions are not compatible in any way - especially since I swapped to the -1 between versions 2 and 3. I have a TON of different versions out there for different applications too - some for dyno testing, some for troubleshooting, some for assembly checkout, some for my car specifically, some for...... Keep them straight and keep them safe!
Ok - that is the extent of the bad.
The BMS works beyond my wildest expectations and I could not be more pleased. Sure I had to do some hacks - but those are easily fixed with a PCB spin. All and all - things are working out splendidly!
Below I will post some fun pictures.