Effecient BMS - Page 1
Forum section: electronics / projects

author: ZeroStatic
author_rank: Contributor
timestamp: May 19, 2016, 06:09:49 am
content: I'm working on a BMS (Battery Management System) for Home / EV Storage packs.I'm using a Boost and an an Invert Circuit per cell pack to pass charge up and down the series connected packs.This will keep the pack balanced at all times, not top or bottom balanced.It seems really wastefull to burn off balancing charge as heat in resistors.Has anyone else seen a system like this anywhere?Preliminary Schematic, Please ignore the parts list and values.https://easyeda.com/z80guru/NEWBMS1-agr1BbLlU

author: Siwastaja
author_rank: Super Contributor
timestamp: May 19, 2016, 07:21:54 am
content: Quote from: ZeroStatic on May 19, 2016, 06:09:49 amThis sounds nice in theory, and I have prototyped something very similar (I used isolated bidirectional flybacks with a shared 20VDC "balancing bus".)It's widely academically described, but seldom used in practice, because really, it makes very little sense. It's called "redistributive balancing", or sometimes "active balancing", which is a poor term.I have seen one such system exist in physical form, sure. It was a hugely overcomplex piece of horror, made by a startup using taxpayer-originated money, then going bankrupt.The amount of energy burned off in balancing resistors is so miniscule, that the added complexity, the component cost alone actually, would take hundreds or thousands of years to pay back.You need to see the two very different types of this concept:(1) tries to minimize energy loss while balancing, but cannot transfer enough power so that the cells would be dynamically rebalanced during one cycle; the cells will be normally top balanced, the only difference to the "norm" is that less energy is wasted.(2) tries to maximize the pack energy storage capacity, i.e. dynamically rebalance so that the cells are top-balanced when full and bottom-balanced when empty, extracting all energy (minus conversion losses) from every single cell.The implementation difference is that (1) can work just fine with very small converters; less than a watt goes a long way even in a large pack; the converter just replaces the dissipating resistor with similar power rating.(2) requires a lot more power. If we assume 5% difference in cell capacity, 100s 30 kWh pack and average discharge at 15kW, we need to transfer 1/100*5%*30kWh = 15Wh during 2h, which works out to a 7.5W converter. For a quicker discharge, it's even more, so we are in the ballpark of about 10W converters. They need to be efficient, otherwise there's no point. How much do you think it would cost? I tried to design it as cheaply as ever possible, but I couldn't imagine getting it much below $5/cell with BOM alone, with 0 margin for any profit or other costs.And when you notice that real-world cells do not have 5% difference in capacity; actually, not even 1%, you start seeing that there is absolutely no point.At some point I run the back-of-the-envelope kind of numbers and it's close to a point that, in an EV, the increased weight of the converters (a few kilograms maybe?) eats up any "range benefit" (100 meters maybe?) alone. If it costsanythingat all, or increases complexityat all, it's not worth doing. The fact that it costsa lotmakes it inpractical by a wide margin of several orders of magnitude. Sorry.What comes to energy savings, the amount of balancing you do is to compensate fordifferences in self-dischargebetween the cells. Li-ion self discharge is small to begin with, and with proper cells, the differences thereof are even smaller. People who have decidednot to use balancing at allknow this very well; heck, it's even done in commercial designs with very little issues!So, run your own numbers, but believe me, you will run into the same conclusion.This can still be an interesting idea to think about because we never know if there is some future battery technology that benefits from the idea. Even if this is the case, it's not in the foreseeable near future.

author: ZeroStatic
author_rank: Contributor
timestamp: May 19, 2016, 07:39:59 am
content: Siwastaja,Thanks for the reply, the main use is for stationary battery packs where the cells are mainly 2nd life and some have fairly marginal longevity.The cost per series cell pack will be about $3-4 and this is only marginally higher than charge dump only balancers, for larger currents the cost per series pack will be higher to handle more current.The system will allow monitoring of each cell voltage and optionally temperature and the master controller can cut charging or discharging when any one cell is critically high or low.Please let me know if you able to view the schematic.Brenden

author: Siwastaja
author_rank: Super Contributor
timestamp: May 19, 2016, 07:44:53 am
content: Taking a look at your schematic, you can only move charge between two adjacent cells. Unless you are very lucky, or do a laborious and unsure manual arrangement of the cells, you won't be able to transfer the charge between the cells that really need to do it at high enough efficiency. Even if you get it to 95% per stage, it quickly drops due to too many stages (easily 50 stages typical in a 100s pack, for example, resulting in 95% efficiency dropping to mere 8%).I can see this could work in a second-life application with poor cells, maybe <10s, with large capacity and low voltage, where BMS cost is rather low and there are not too many conversion hops.

author: ZeroStatic
author_rank: Contributor
timestamp: May 19, 2016, 08:01:47 am
content: Siwastaja,Thanks again for your feedback.I'll let you know how things go as I get the prototype up and running.The current pack it's going on has 7 series packs with 200 x 18650 recycled (~2Ah) cells in each.The parts cost of about $40 is totally insignificant when compared to the cost of the cells, solar MPPT and inverter.Brenden

author: nuno
author_rank: Frequent Contributor
timestamp: May 19, 2016, 01:12:39 pm
content: I totally agree with Siwastaja regarding active cell charge balancing. I've never built such system but I've studied and looked and thought about it and got to the same conclusion (then did a BatteryMonitoringSystem). I can also add that I'm not comfortable with the extra heat generated in these systems, and that you can find accounts of BMS with such techniques causing cell abuse leading to fires. It's not simple to think of and cover all situations, including when one of the cells isn't in good condition. LiOn batteries, especially the cobalt ones like the laptop ones, must be treated with respect...

author: digsys
author_rank: Unknown
timestamp: May 19, 2016, 02:28:08 pm
content: I've done and implemented several designs for solar race cars, and pretty much agree with the replies. Just to add -When we properly condition / equalise a new pack, the cells don't drift much, at least up to 6-12 months.We have a very accurate BMS, which keeps a history of mean / median cell variations over a few current draw ranges.We have a balancing plug only fitted to the pack, capable of 10A per cell.We have several bi-directional 10A modules that get plugged in / out during 1/2 - 1 yr maintenance, or before a race. The BMS tells us which cell# to plug in to.The "transfer storage" is either the vehicle LV (12V system battery) or a high capacity 14.4V Li Pack. Cells that are high > add, cells that are low < remove.NEVER put active circuitry in a Li pack !! 1/ You shouldn't need constant balancing, and if you do?, something is wrong in the design and/or quality of cells.2/ If anything goes wrong during transport or storage, you can have a serious fire. We had a $1M+ car burn down a long time ago. We have often transportedthe car by plane, I don't ever want to be a witness at a coroners office.Isolated Bi-directional balancing - per cell ~4.0V <> ~12V "storage" can be very efficient and a great technology to play with. Treat it like a yearly maintenance.

author: hayatepilot
author_rank: Frequent Contributor
timestamp: May 19, 2016, 02:31:55 pm
content: So you want to balance 7s200p battery pack?That would give you a nominal 25.2V and 400Ah. Correct? Or is it 200s7p?In the 7s200p case I wouldn't worry too much about balancing since all the parallel cells are already perfectly balanced to each other and the packs should have very similar total capacities.Therefore the packs voltages should be very similar to each other while charging and discharging and very little balancing is required.Greetings

author: ZeroStatic
author_rank: Contributor
timestamp: May 19, 2016, 04:41:05 pm
content: hayatepilot: The pack is 7S200P made from old laptop cells, hence the variability of the packs.The system is mainly a pack monitor with the ability to pump charge up and down the pack when rerquired.digdyd: It's not shown on the schematic but the balancer will be connected to the cells with 10A HRC fuses in case the controller has a failure or a FET goes short, safety is always a primary concern.When in sleep mode the BMS will only draw around 20nA from the pack and only about 1-2mA when active monitoring. Balancing current can be programmed from 100mA up to 5A maximum.Active balancing will only be carried out when the cell banks are more the 50mV out of balance or other programmed threshold.Total cost for the 7S pack is about $40 in parts, plus an Arduino, LCD Display and Ethernet shield for remote monitoring, probably logging to ThingSpeak.Thanks again for the feedback, Brenden.

author: digsys
author_rank: Unknown
timestamp: May 19, 2016, 10:12:26 pm
content: Quote from: ZeroStaticSounds good. One more thing I'll add ! DON'T do the voltage tests without load applied !! We generally use 1/50C - 1/20C depending on what charge statewe want to fill to. In "idle", there are a lot of loose surface charges going on, and all sorts of chemical migrations etc. Not a lot in mA, but enough to give youincorrect readings, especially with a 50mV trigger, which btw is what we set ours to (with your pack AH, you could probably go 25mV with load applied).Edit: To check the amount of surface charge movement, and thus work out how many seconds to wait before testing, do a monitor run first (only need to do it once).The worst case of this drift is after a boost charge, and near the top of the pack.

author: ZeroStatic
author_rank: Contributor
timestamp: May 20, 2016, 04:12:28 am
content: digsys: Sorry for the name typo in my last reply.Thanks for the advise, I'll keep that in mind and make sure not to try to balance surface charges.I will probably add a current monitor to the pack in the near future to measure the current in and out of the pack. I will make sure not to trust the cell voltages under zero load.Even as a pack monitor for about $1 per series cell it's still an inexpensive way to monitor the pack volatges and temperatures, way chaeper then the dedicated TI chips, but they do look nice.Thanks Again, Brenden

author: digsys
author_rank: Unknown
timestamp: May 20, 2016, 06:46:22 am
content: Quote from: ZeroStaticI've tried several "all fancy-in-one" chipsets, and really don't like them. Usually limited in flexibility, features that are of no use and usually some "bug"that you have to work around. My design is available at -http://www.pbase.com/digsys/projectsIt's really for much larger pack sizes, but plenty of ideas to consider. Anyone is free to use / change any part. There is even working C code to build on.

author: ZeroStatic
author_rank: Contributor
timestamp: May 21, 2016, 08:19:03 am
content: I now have a pack to test with, got it from Pete. (HBPowerwall on YouTube)It's a 7S10P with recycled 18650 ex laptop batteries 1700-2100 mAh cells.Time to solder up the pack and test monitor circuits.More details to come.

author: Siwastaja
author_rank: Super Contributor
timestamp: May 21, 2016, 03:52:28 pm
content: 7s200p should be pretty consistent regarding self-discharge due to simple statistics. Just completely randomize the cells, having 200 in parallel is statistically nice. Given this, keep them at similar temperatures, and differences in self-discharge will be quite minimal, so you don't have much to balance.This being said, at such low number of series connections, and such high capacity, redistributive ("active") balancing can actually make sense! So maybe go for it, and you will see.Note that your efficiency is pretty much limited at 70-75% per step unless you go to synchronous rectification. Assuming 70%, your average charge transfer hop, 3.5 steps, would end up having the redistribution efficiency of 29%, not that much better than the 0% of a traditional resistive system. You are just dissipating the balancing power in diodes, fets and inductors (mostly diodes) instead of those resistors, with added complexity!I would really consider upgrading to synchronous rectification, or even better, think about a system where you move charge from any one cell to the complete pack directly. A simple flyback can do this at 90% efficiency. This would be close to what I was implementing and prototyping before I ditched the idea. I would still consider it if I was given huge cells with random history for free, think about some 200Ah Chinese Thundresky LFP cells several in parallel, and given the task to make a 4s or 8s UPS pack from those.

author: ZeroStatic
author_rank: Contributor
timestamp: May 22, 2016, 04:17:18 am
content: Siwastaja: Yes the diodes are the main loss element in the system, but adding sync rectification will significantly increase the system complexity and cost.I'm going to use MBR1545CTG diodes in he prototype so the diode loss will be about 500mV which is about 13% loss per stage and the mosfets are about 8 milliohms and inductors about 6 milliohms so no graet losses there.Thanks for the advise.

author: nuno
author_rank: Frequent Contributor
timestamp: May 22, 2016, 12:40:53 pm
content: What FETs are you going to use, taking in consideration that they'll be driven from the MCU and that it is powered by a single Li cell? You can discharge a cell to 2.5V.What happens if a cell gets really bad and voltage goes below the MCU's ability to function?

author: ZeroStatic
author_rank: Contributor
timestamp: May 23, 2016, 01:52:41 am
content: nuno: Still choosing FETs and drive method.Data passing will use FDV302P for TX and MMUN2214 (Digital Transistor instead of FET, saves external resistors) for RX.N-Channel charge passing FET will likely be PSMN4R4-30MLC.P-Channel charge passing FET will likely be FDMC6686P.Keep in mind that the charge passing will only activate on higher voltage cell passing the charge to lower voltage (charge) cells.The PIC can operate down to 2.3V and at less than 2.5V the PIC will be put into deep SLEEP mode using 0.3uA typical until the pack is being charged again.If the cells drop below 2.3V and the PIC will not function, the pack is super discharged and may not recover properly anyway. This should never occur.It is intended to keep the pack to 3.0V per cell minimum and 4.15V per cell maximum to try and keep the cells alive longer rather than extracting the most energy storage capacity from them.I will update again when I have decided on the P-Channel FET solution.Brenden

author: Siwastaja
author_rank: Super Contributor
timestamp: May 23, 2016, 07:26:33 am
content: Quote from: ZeroStatic on May 22, 2016, 04:17:18 amYou are ignoring switching losses in both diode and FET, including increased transition loss induced by common source inductance, (possible) snubber losses (you may need it; reverse recovery of the diode is problematic), AC losses in inductor (wire AC resistance and core losses), capacitor ESR losses, etc.; also, the diode loss might be a bit bigger at room temperatures, 600 to 800 mV depending on current. So, you should expect significantly more total losses than only predicted by DC losses; typically, the DC losses are about half of the total. 80% efficiency is possible to achieve, but expect something around 75% as a realistic starting point. With average case balancing efficiency of 0.75^3.5 = 37% and worst case 0.75^6 = 18%, this is only a slight upgrade from dissipative balancing!More efficient system is more complex, indeed, but this is the whole point. The traditional, well-tested and algorithmically simple dissipative system is almost as good, but a lot simpler. If you go the redistributive route, you are already implementing and verifying a rather complicated control. I would suggest you go a bit further to increase the efficiency so that the system you are developing would actually make more sense!If the main point is to save energy at the end of charge (by avoiding dissipative charge removal for balancing), I would consider the flyback topology. This is great when you mostly move charge from a single cell (or a few cells) to the whole pack. You would halve the number of converters - only one per cell needed -, decreasing complexity, and charge transfer from any cell to full pack would be only 1 hop; also, 85-90% efficiency would be achievable without synchronous rectification. The basic BOM would be 1 fet, the transformer and 1 diode, fewer parts than you now have.You could try to estimate the amount of energy saved by the system, then account for increased energy consumed for the control, then account for extra BOM cost vs. saved energy. I'd be surprised if it ever pays itself back.

author: nuno
author_rank: Frequent Contributor
timestamp: May 23, 2016, 12:33:59 pm
content: Quote from: ZeroStatic on May 23, 2016, 01:52:41 amOk, looks like they'll have no problem with Vgs on the 3V mark (well, the P much better than the N).Quote from: ZeroStatic on May 23, 2016, 01:52:41 amThere's no "default" state set on the FETs, you may have surprises. I would add G-S resistors to all FETs.

author: ZeroStatic
author_rank: Contributor
timestamp: May 23, 2016, 01:58:59 pm
content: nuno: Already planned to add G-S resistors to the FETs, will add to circuit.Siwastaja: I understand your point, unfortunately transformers like this are not off the shelf components and I am not a magnetics designer.Also the plan is to boost weak cells from stronger cells during discharge and not just to top balance strong cells to the whole pack when charging.It would be nice to add isolated power conversion to the system but is not within the skope of the current plan.If testing reveals no gains or very limited gains the whole charge passing thing may be scrapped and made as purely a monitoring system with small balancing loads.Yes, the losses calculated are DC only losses at this stage, real world results will be tested and analysed.Thanks again, Brenden

author: splin
author_rank: Frequent Contributor
timestamp: May 23, 2016, 03:56:46 pm
content: Personally I think it's a terrible idea to use microcontrollers in this type of role when failure can have dangerous consequences - they are simply too unreliable having gazillions of failure modes. What happens when a nearby lightning strike induces a glitch in the power lines flipping the microcontroller into some strange state or latches up some I/O lines that just happens to switch one or both FETs on permanently? How often have you had to cycle the power on a locked-up TV set-top box or mobile phone or tablet etc? Often that will be due to software bugs (which in your case should be much less likely due to its relative simplicity) but perhaps not always. Flash memory holding the program isn't forever, especially if subject to higher temperatures. Or you could suffer a random failure in due course due to stress, electromigration etc.Failures may be very rare (but you will have 7 devices so the probability goes up by 7) but it only has to happen once to spoil your day. And how could you test it? Assuming you test it for extended periods across the full operating temperature range you'd probably also need to subject it to the worst case conceivable power line noise and at the same time have a powerful transmitter operating nearby - a policeman using his radio a a few meters away or radio amateur moves in next door with his 100W+ rig.Watchdog you say? That's Ok if it didn't get disabled when the micro got scrambled and that random code loop it gets into doesn't keep resetting the watchdog.Cosmic rays can flip memory or register bits - can you guarantee that your code can always recover from such events? And a soft reset might not fix it - some devices have been known to require power cycling to effect a full reset so if you decide to go this route consider using a hardware watchdog circuit which cycles the power.The simpler the control circuits are the better but they still need careful design when safety is at stake. E.g. dedicated switching controllers should be more reliable than microcontrollers since they have far fewer failure states - they don't usually have complex internal configuration registers which could get changed, the oscillator probably can't get disabled permanently etc. They could still fail of course so you should still provide some fuse protection for each battery - shorting out 200 parallel Li-ion cells might not end well. Sure the inductors and/or FETs would probably blow quickly enough but that might make things worse by spraying molten copper/aluminium etc. onto nearby PCB tracks.If you must continue with this project then how about selecting a micro with better safety features such as parity RAM, ECC Flash and multiple watchdogs, brown-out detectors etc? Trouble is such modern parts tend to be complex with even more ways to fail and are built on smaller processes which can be more vulnerable to radiation hits.Also consider AC coupling the FET driving circuit with capacitors so that they can't be turned on indefinitely if the micro stops. Perhaps use thermistors to turn off the FETs if they or the inductors overheat. Use transorbs or the likes to protect lines that could pick up EMI or surges including the wires connecting the BM to the batteries if they are more than a few hundred millimeters long - it dosn't take much wire to create troublesome levels of inductance.I'd also consider bigger supply decoupling capacitors on the micros, 10uF or 100uF, in parallel with the 100nFs.Maybe you think I'm being over cautious but 7s/200p is a hell of a lot of energy and releasing it too quickly could be spectacular.

author: Siwastaja
author_rank: Super Contributor
timestamp: May 23, 2016, 04:00:33 pm
content: Quote from: ZeroStatic on May 23, 2016, 01:58:59 pmIn this case, you really need to have a strong (meaning higher capacity) cell adjacent to a weak (meaning one of the lowest capacity) cell, even a few conversion steps sounds bad. Having two converters, one on both side, is nice here, you have good odds that at least one of the adjacent cells is "strong", unless the weak cell is the first or the last one. I don't, however, like the fact that the luck - or manual arrangement - is so big a factor here. Because if this is a case of manual arrangement anyway, you can do better, a lot easier, IMO:I once had a second-life pack with significantly differing capacities (they were overdischarged, revived LFP cells), and I just manually added small extra cells in parallel to the smallest-capacity cells to better match the capacities. If you have a 200p pack anyway, you will statistically get the capacities very near to each other without any work, just pure randomization. Then, you could manually add a few extra cells to the smallest group and be done with that. This works easily and has no complexity or efficiency issues, just some manual work. It doesn't sound "nice" on paper, however. But yeah, I think you already got my point.

author: Siwastaja
author_rank: Super Contributor
timestamp: May 23, 2016, 04:09:52 pm
content: Quote from: splin on May 23, 2016, 03:56:46 pmAdd a properly sized fuse - the FET will blow short, the fuse will blow, no damage is done to the cells. Communication stops working, the master knows the system is broken and stops working. You need to have some kind of a "master" anyway, and there will be a microcontroller anyway. So this is not that much of a safety issue.QuoteHow often does your car crash by itself or self-destroy? Because your car is probably full of microcontrollers. It's normal, everyday stuff today in highly robust systems. You need proper MCUs and use them properly, and have right software development standards, but that should be obvious.Yes, your points are valid; it's not easy to develop this with a microcontroller. But nothing is easy. Commercial BMS chips have reputation of being totally broken and unusable by design, too, and they may implement wrong things, and miss features needed here.QuoteUm, how about adding afuseto these PCB tracks? Extremely simple and effective. Not everything is difficult.QuoteI wouldn't bother, adding complexity is not going to help. Having a stuck MOSFET is a nice failure mode, because it blows the (properly sized) fuse and most probably the BMS cell unit, too, but protects the pack and the rest of the system.QuoteIt'sextremelyeasy to protect against releasing this energy, it should be a no-brainer. What you should be more concerned about are functional problems (or severe accuracy problems) that report that everything is fine, but, for example, let the cell to overcharge or overdischarge over time.

author: splin
author_rank: Frequent Contributor
timestamp: May 23, 2016, 05:18:55 pm
content: Quote from: Siwastaja on May 23, 2016, 04:09:52 pmYes of course; which is why I recommended fuses in my OP which would eliminate most of the risk (but iut was a buried in my post). The master knowing there's a problem doesn't help if it doesn't have the means to shutdown a failed slave controller - which it doesn't in this design. Seven fuses are required - one for each cell.QuoteHow often does your car crash by itself or self-destroy? Because your car is probably full of microcontrollers. It's normal, everyday stuff today in highly robust systems. You need proper MCUs and use them properly, and have right software development standards, but that should be obvious.Many of them aren't safety critical though but some such as ABS obviously are. The difference is that the companies developing these systems have extensive resources for specifying, designing and testing over many years, buy higher qualified parts than hobbyists typically do and have high level quality control processes which may include x-ray inspection of assembled PCBs etc. And even they get it wrong sometimes causing lives to be lost such as Toyota's unintended acceleration firmware bugs. It's impossible to make things 100% safe but they do go to a lot of effort to avoid them. They have access to sophisticated equipment such as electron microscopes to analyze chip failures and will have close relationships with their suppliers' engineers to get detailed information where needed which you and I can't get.QuoteYes fuses are simple and an obvious solution, but the design doesn't currently have any and it isn't clear to me that the BMS isn't intended to be closely integrated with the cells with the 'High Current Side' circuitry being bolted directly to the busbars or similar.QuoteThis is a good point which I missed from my OP and was about to post before you beat me to it. It is a serious concern as overcharging could cause a fire. Over-discharge is likely to destroy the battery but is probably not a safety hazard. To prevent overcharging in this design there are a number of components that have to function perfectly - the microcontroller monitoring the cell voltage and its A/D convertor and voltage reference, along with the adjacent microcontroller transferring energy.To make it safe an independent over-voltage detection circuit is needed for each cell which would disconnect the cell or disable the adjacent cells from transferring more energy. This is more expensive to protect against than adding the fuses, but I suggest it is essential.

author: ZeroStatic
author_rank: Contributor
timestamp: May 24, 2016, 12:07:49 am
content: splin: I'm not sure why you are so dubious of microcontroller reliability. The PIC I am using has an onboard watchdog timer that operates to monitor the operation of the hardware and firmware, I have used hundreds of thousands of PIC chips in the last 20 years with very few failures. Modern microcontrollers are very robust and with only simple firmware running on them rebooting is not required.Millions of devices now use microcontrollers in motor control applications where failure will cause a FET or IGBT to latch on and blow a fuse or trip a breaker and this is now a rare event. Almost all modern motor drive systems are microcontroller / software controlled and reliability is very high.I will update the circuit today to show the fuses and mosfet gate resistors, it is likely that the systems will be built as two parts with the monitoring circuit on 1 board and the boost / invert circuits on a sperate board with the PWM signals on a connector between the boards, there will be fuses between the pack and the charge passing circuits.No system is perfect and digital systems most definately have more failure points than a simple analog ones, however I think that the advantages of modern digital control systems far outweigh their drawbacks and added complexity.I am currently in the prototype programming phase of this system and initial communications protocol testing, the plan is to do this whole device in stages with the first being the monitoring system, once the monitoring system is up and running the additional stages for charge transfer will be added. Other topologies for charge transfer will also be consdered and tested depending on the results of the system performance.Thanks again, Brenden

author: splin
author_rank: Frequent Contributor
timestamp: May 24, 2016, 04:24:44 pm
content: Quote from: ZeroStatic on May 24, 2016, 12:07:49 amYou'veusedhundreds of thousands of PIC chips in the last 20 years? That's an extraordinary claim. I presume you mean that you've designed PICs into things which have sold in large numbers. But unless they have been continuously monitored when operating such that you have decent statistics on failure rates and types of failure (e.g. hard faults, lock-ups, 'glitches' and other soft faults) along with operating hours then it's irrelevant. We know that billions of things with microcontrollers have been made and used but reliable statistics on their reliability are not easy to find. Anecdotal evidence is not very useful when you are designing a safety critical device. Many soft faults (internal corruption of state) will go unnoticed if the affected functionality is not used, particularly if the device is power cycled regularly which is the case for a large subset of embedded systems.You are right that a lot of embedded systems are very reliable but failures do happen. For example I am aware of a large company that is currently suffering microcontroller corruption problems, probably temperature related, in one of their safety related products. Sorry but I can't provide any more detail. I have seen plenty of devices that stop working and require power cycling including mobile phones, TV set top boxes and PVRs - but these are fairly to very complex systems and the failures are most likely software related but the end result is the same.QuoteYes, perhaps I have overstated the problem. But as I said before important systems will generally be well designed by companies with a great deal of experience in the field and with plenty of resources to thoroughly test at all stages of design and production.There seem to have been a lot of incidents of white goods, particularly washing machines and tumble dryers catching fire lately. Probably the vast majority will have been due to faulty or under-rated components, poor electrical connections in high power circuits etc. but I wonder if any have been caused by microcontroller faults? It wouldn't surprise me as these are aggressively cost reduced.Microcontrollers can and do go wrong so it is essential to provide appropriate safety protection measures. It is my belief that microcontrollers and their firmware are rather less reliable than dedicated hardware. Especially so when the hardware is relatively simple. The more complex the microcontroller used in an embedded firmware solution and the more complex the firmware, the worse it gets.QuotePlease tell me you are going to include independent over-voltage monitoring and cut-outs?QuoteTrue, but the vast majority of systems are not safety critical (other than if they catch fire!) and soft failures are merely inconvenient. If a system is safety critical then all the possible failure modes need to be considered. In most cases simple measures, like fuses in your case, may be the solution but not always - not a good solution in a braking system for example.QuoteI have to agree with an earlier poster - surely it would be much more efficient to transfer the excess energy to the whole pack or alternatively to the top and bottom of the battery pack rather than just the adjacent cell? That way the diode losses at least will be much lower. It does mean that some energy will get 'bounced' between cells with higher voltages but it should be much more efficient than transferring via multiple hops.To transfer to the whole pack you need only one inductor between the N and P channel FETs and have one diode transferring energy to the top of the pack and have an additional FET connecting the top of the inductor to the bottom of the pack. That's 5 extra FETs, but 5 less inductors and because the efficiency would be much better you could get away with smaller FETs/inductors.

author: ZeroStatic
author_rank: Contributor
timestamp: May 25, 2016, 07:54:17 am
content: all: I have updated the schematic.splin: Yes I have personally monitored many thousands of PIC microcontrollers I have designed into traffic control equipment, we manufactured and maintained this equipment long term. This equipment is solar powered and much if it is trailer mounted hire equipment and subject to abuse. Many of these devices use over 200 PIC chips per device in a networked configuration and the PIC controllers are extremely reliable despite operating in adverse conditions. Typically I have programmed these devices in assembly code and very seldom are there watchdog resets or chip failures. Vandalism is far more common. Most of the equipment I designed uses Lead-Acid AGM battery technology.I do not consider this system to be life critical and need the kind of over the top, belt and braces approach you are advocating to prevent over charging, with independent over-voltage monitoring and cut-outs.In the event of a software failure or communications timeout the cell controllers will shut down the PWM to prevent over charge or over discharge conditions. I will also probably build in an alert system should any cell voltage be measured far out of specification where the cell controller will send a long break condition to reset the cell controller array.Testing and calibration of the cell volatge monitoring system is now under way and testing of the prototype is going well thus far.Thanks again for all the comments and feedback, Brenden.