Another BMS project using single cell modules

Peter.bp

10 W
Joined
May 28, 2016
Messages
91
Location
Rijeka, Croatia
My idea for BMS was to create separate PCB for each cell in series...
As I have some experience using PIC micro controllers and as they're quite cheap, have decided to build an individual cell module using PIC12F675 (average cost <0.5$)...
The requirements were set up:
- Accuracy of cell voltage measurement < 10mV.
- Standby current < 0.01mA
- Communication: serial through daisy chain.
- Max automatic bleeding current >0.5A.
- Easy calibration and set up (HVC, LVC and bleeding threshold set point).
- Simple asynchronous communication protocol.
- Operating voltage 2.5V-5V.
- Stand alone operation (no need polling modules).

One year ago, I created a prototype and have published some details on my site: http://bps.biz.hr/BMS.html.
The site is not well maintained and the project is still not finished, but there is explained the communication protocol which I developed.
I know that the pages are not well organized, but think that it is enough to get the picture what I wanted to make.

Measured average standby current on prototype was less than 8uA at 4.2V and less than 3uA at 3.3V. The quiescent current doesn't increase significantly when particular cell goes into low voltage alarm as it sends alarm message only every ~2.3 seconds...

After a while, I changed the circuit to this:
4LayoutNsch.gif

NB, the processor is still PIC12F675, not PIC12F683. The voltage reference is replaced with ADR5040 (2.048V).
In order to increase accuracy and to make voltage measurement more resistive to transients, I increased ADC resolution to 12bit by oversampling.
In addition, have changed voltage reference from original 1.2V to 2.048V (ADR5040).

At this moment, I'm waiting for AD5040 voltage references and then I'm ready to start testing.
Four battery packs are ready for testing this modules:
- HK 15C 5000mAh (total 12S2P)
- Headway 38120S 8S20P (my solar system battery)
- Headway 38120S 16S1P (my old electric bicycle)
- Headway 38120S 24S2P (Greyborg bike with Crystalyte 5305 motor)

Wonder to know is it worth to prepare this for serial production (expect price per module less than 10US$ based on 1000 modules production) as well as is there some interest in this half open project. Only thing which I intend to keep closed is firmware in PIC12F675 (completely written in MPASM).
The reason why I am keeping the firmware closed is that I spent much more than thousand hours (during three years) in creating stable firmware...
Of course, I have to update project documentation no my site...

In order to cut any discussion about used language packs in my software: I did not use C language just because I wanted to stay tight with the hardware and to take most of it. Assembly language is closest to direct machine coding (have enough experience in that too, ha ha).
All code in my firmware I have created, i.e. no third part software is installed in it. In addition, the firmware inside cell module (PIC12F675) is taking too much resources and it is impossible to debug it in real circuit (not enough resources left for debugger).

At the end, Have created PCB for 8S, but it is possible to cut into smaller pieces. The picture of almost completed PCB is here:
2016_0526_062533AA.jpg

2016_0526_062457AA.jpg

Have soldered manually all components and thus it doesn't look very nice.
Bleeding resistors ere on edge of the board as they'll be mounted on the heat sink.
Central module has been created on DIY universal prototype board:
CentralUnit.jpg

It is visible that I used two modules and two 18650 cells for testing the prototype...
NB Firmware is still under development, it is written in ASM30 for dsPIC30F4011 processor (again: no third party software in it).

Any suggestions? Comments?
Is it worth to offer to open market only programmed ICs for DIY?
 
I don't know enough to comment on your system, but would you be willing to turn your skills to this possible project?

https://endless-sphere.com/forums/viewtopic.php?f=14&t=80788


BTW, if your project is not an open-source thing that others can build from your design, but you're going to sell stuff for it, then this thread is an ad and should go in the for-sale section in the Online Market.
 
amberwolf said:
I don't know enough to comment on your system, but would you be willing to turn your skills to this possible project?

https://endless-sphere.com/forums/viewtopic.php?f=14&t=80788


BTW, if your project is not an open-source thing that others can build from your design, but you're going to sell stuff for it, then this thread is an ad and should go in the for-sale section in the Online Market.
I posted here although my project is not quite open source because the communication protocol is open as well as the hardware design.
I assume that this section (Battery Technology) is watched by people who're involved in DIY projects and here can exchange their ideas, not just projects and/or programs...
My intention with my post was not to sell it here, was to get some feedback and exchange experience in such projects.

Think that the Online Market section is monitored mostly only by people who're searching for something to buy/sell/exchange, not so much involved in the technology or design details.

Isn't it better here to exchange ideas, or you think that is it better to move this thread to Online Market section now?
 
As long as the intent is to share ideas and information, then it's fine here in Battery Technology.

If the intent is (or becomes) to sell or if you reach the point at which you are selling, you should only post the sale stuff or any information about that part of it in the Online Market area. :)
 
Of course that I got idea to build something similar myself, seeing such modules on market.
Couple reasons why I decided to make my own design are:
- Quiescent current is too big (~0.5mA, not suitable for smaller battery packs).
- Price is too high.
- Closed hardware design (repairs?).
- The accuracy of the module?

I wonder, did someone tried these cell modules and made some review?
Is it possible to make your own central module (offered central modules are too expensive)?

Think that ~15€ per one module, which can bleed less than 0.6A, is too much.
Of course, this is not too expensive for >100Ah battery packs, but look the price of central module...

As long as the intent is to share ideas and information, then it's fine here in Battery Technology.
This is why I posted here, to share ideas and get some feedback in return.
Suppose that all technical details about this project can be posted here, hope that these details will encourage others in such projects...
Soon I'll reach to the point that I want to give samples away in order to get more feedback about my project, Hope that it is OK if I post an offer for samples and parts in commercial area and to have technical feedback here?
In addition, I intend to give away source codes for central unit and think that here is right place to post them.

Think that it is better to have two threads, where technical and commercial are separated than to have everything mixed in one thread...

Someone, who intend to start his own project (or to improve existing one) is not interested about prices, shipping costs etc.
If you guys think that, just because the source code is not completely open, this discussion should be completely moved in commercial area, I'll do that.
 
Peter.bp said:
Of course that I got idea to build something similar myself, seeing such modules on market.
Couple reasons why I decided to make my own design are:
- Quiescent current is too big (~0.5mA, not suitable for smaller battery packs).
- Price is too high.
- Closed hardware design (repairs?).
- The accuracy of the module?

I wonder, did someone tried these cell modules and made some review?

Is it possible to make your own central module (offered central modules are too expensive)?

Think that ~15€ per one module, which can bleed less than 0.6A, is too much.
Of course, this is not too expensive for >100Ah battery packs, but look the price of central module...

Quiescent current is ~10μA.
Accuracy ~10mV.

I have designed most of the modules of EMUS BMS.
Even though I no longer have anything in common with that company, I still recommend it.

Communication protocols between modules and Control Unit are not so complex and could be reverse engineered easily. However baudrate changes and forward error correction is used, so it would be a challenge.

Cost per module is what it is. It is required to be at this level for the company to make a profit. Also distributors add a huge percentage on top.
Knowing their base cost, I can say that public price is very fair.

How large (voltage) is your battery pack?
 
At this moment I have only 8S and 16S battery packs as I already posted.

I am finishing e-bike (Greyborg), which will use 24S2P Headway 38120S battery pack and need BMS for it too.

My solar system in the house is using 8S20P (again, Headway 38120S) as backup battery, but I'm changing it to 16S10P in order to get more power when going off grid. In addition, I'm planning to buy additional 180Ah or bigger battery pack (again LiFePO4 chemistry)...
 
circuit said:
...
Quiescent current is ~10μA.
Accuracy ~10mV.
This is quite OK, I got an impression that these modules have quiescent current around 0.5mA...
circuit said:
I have designed most of the modules of EMUS BMS.
Which CPU you're used (if this is not secret)?
circuit said:
Even though I no longer have anything in common with that company, I still recommend it.

Communication protocols between modules and Control Unit are not so complex and could be reverse engineered easily. However baudrate changes and forward error correction is used, so it would be a challenge.
Reverse engineering is time consuming, thus my idea is to leave communication protocol open.
circuit said:
Cost per module is what it is. It is required to be at this level for the company to make a profit. Also distributors add a huge percentage on top.
Knowing their base cost, I can say that public price is very fair.

How large (voltage) is your battery pack?
 
Latest update:
I had to change the firmware again, hope that this is last change...
Have updated my site with new schematics as well as upgrades in protocol.
Link to my BMS project is in my signature.

In short:
- The darlington transistor, used for bleeding, has been replaced with IRML6401, as well as outgoing transistor for communication.
- The reference voltage chip has been replaced with ADR5040, i.e. now reference voltage is 2.048V; this improves accuracy.
- A/D conversion uses oversampling, i.e. 16 measurement are done (with time delay of 20us between them) and the result is now given as 12 bit (rounded from 14bit A/D result).

Now A/D conversion resolution @ ~4V is ~1mV.
The glitches are filtered by oversampling with 20us delays (averaging over 0.32ms time window).

First measurements are done using 8.2R resistors for bleeding and PCBs made in China...
Accuracy of calibrated cell module is now within couple millivolts (after calibration).
Initial accuracy (without calibration) is under 16mV (ADR5040A) or under 8mV (ADR5040B)...
Measurements were done using Fluke 8840A bench multimeter, which has been calibrated and has accuracy better than 0.1mV @ 6V range.

Here's video of 8S BMS while equalizing the cells (difference of cell voltages is always less than 10mV):
https://youtu.be/NaRnHOAt3fQ
Final differences of cell voltages @ charging to 3.5V/cell was <2mV and @ charging to 3.75V/cell was <4mV. 8)
It is noticed (using 5 year old Headway 38120S cells) that charging from 3.5V/cell to 3.75V/cell took only ~250mAh...

Instead of central module I used PC, running dos box under Windows XP OS, installed in Oracle VM Virtual Box on laptop which has Linux OS :lol:
The program on PC has been written in MSBasic 7.0 and MPASM assembler. This program can easily run under FreeDOS (or similar) as well as under Windows XP (which allows use of USB<->Serial adapters) and executables will be soon possible to download from my site as well as Basic source code.
Here's video of this program, used for first measurements, mentioned above:
https://youtu.be/LMGTL4Jxw6M
At 03:31 restart of the program has been shown.

The communication protocol was extended with one more command, used for collecting status of all cells with single command, which improves the speed of protection.
This new command (S0F<CR>) drastically simplifies the central module as this is only command needed to poll the status of the battery.

Only couple more tests have to be done and hope that I'm starting production in September... 8)

As soon as I got prices, I'll open new thread in commercial sector.
However, all test results will be published here and on my site.

First PCB has been already manufactured (without bleeding resistor R1):
2016_0526_062533AA.jpg

2016_0526_062457AA.jpg
 
Nice work.
1)Do I understand right, central unit is powered on independent power source?
2)How much is the consumption of central unit with shut down display?
3)Is there another module for pack level switching? (You described how it kind of fine controls charging process)
4)What happens if central module is not powered, are the balancing circuits (over V discharge) still active?
5)Does the central unit need to know if I am charging, discharging or both?
Have more questions, but they depend on answers to former.
 
1. Central unit is intended to be powered from battery, using buck converter...
Power consumption depends on model. Simplest central unit can be without the display and thus it can be even supplied from one cell.
The prototype central unit (shown on my site) is build around dsPIC30F4011 with 4*20 display. This one has buck converter for supplying it, which is controlled from same processor (using one PWM output and one analogue input for feedback.
This module can be supplied from 12V up to ~40V.

I have in plan to use this dsPIC for modules with display, as I have major subroutines already finished and tested.
- All programs are written in ASM30 without any external libraries.

The simplest central unit I intend to make without the display, using PIC16F627A. Only command will be used in it, just polling common status (Sxy<CR>).
Following interface lines shall be implemented:
- LVC output as digital output (disable load)
- Charger output as PWM - to be connected to the charger for regulating charge current via optocoupler
- HVC as separate digital output (any cell active high voltage alarm)
- Balancing started (any cell bleeding) as separate digital output.

In order to reduce power consumption, I intend to modify firmware in most positive cell module to enable automatic sending status command from it every 2 seconds.
- This module should be supplied from the controller or charger as it doesn't take more than 1mA @ 5V.

2. Existing prototype is not switching off display, it switches off completely when not used. The battery voltage divider is not directly connected to the battery, it has optocoupler, which is off in shut-down mode, disabling any current draw from the battery...
Power supply current from internal LiPo battery is ~90mA with display.
I'll have more data about central module later on, as I am currently building new one. Old prototype has very low efficient buck converter, which I have to re design.

3. I used PC for changing settings in cell modules, I don't see that it is needed to change settings after calibration.
As you can see, setting LiFe battery to 3.5V is enough and there's no need to charge cells above this voltage...
I was planned to make dual bleeding threshold (changeable through separate command), but I have problem with program memory as only 75 instructions I can add before it is full. Now last address of the program is 0x3B2, and last usable address is 0x3FE (0x3FF is reserved for oscillator calibration).

4. Cell modules can be used without central module, as the cell module processor is waked up from sleep every ~2.3 seconds by WDT. In other words, every module wakes up every ~2.3 seconds, measures cell voltage and sets/resets bleeding; after this it sends status if LVC or HVC is active and goes back to sleep.
As majority of time the processor is kept in sleep mode, average current draw is below 5uA.
I measured average current draw @ 3.2V less than 3uA. However, peak current goes over couple mA (during wake up time)...
In the video https://youtu.be/NaRnHOAt3fQ is shown how BMS balances the cells without central module (i.e. cells were not polled). You can see that switching on and of goes slow, but still fast enough for balancing.
See the comments in that video.

The PCB from this video goes to my house solar system battery (8S20P Headway 38120S battery) as balancer and central module is not intended to be in use as not needed.
I'll reconfigure later on this pack to 16S10P and the BMS will be polled from my new solar charger, which I intend to design as boost MPPT charge controller (input range 15-40V, output 42-48V, max input current 4 * 10A)...

5. Central unit doesn't need to know what you're doing with the battery. It is there just to inform you about the state of battery and eventually to limit charging or discharging the battery when needed.

Here are listed features from simplest to more complicated:
1. Status of the battery: LVC, HVC, bleeding active and all cells bleeding (four digital outputs)
2. PWM output for reducing charger current (when battery is almost full)
3. Display cell highest and lowest voltages together with address of those cells
4. Display battery voltage, temperature and current (temperature measurement with MCP9700, current measurement with hal sensor or shunt)
5. Display Ah and Wh draw or charge.
6. Display / set parameters of particular cell.
7. Display stored Ah and Wh in the battery (estimated on last full charge /discharge cycle).

At this moment I am using PC and MS Basic 7 for testing, source code will be published soon on my site (as soon as I clean it).
I intend soon to publish source code for dsPIC30F4011 too, together with libraries and schematic drawings for those who want to make their own central module or to add some more functions in it.
Only cell module processor shall have protected program memory, flash data shall be described too.
 
Forgot to mention, when I test the simplest central module, I'll put instructions how to connect the PWM output to charger for limiting charging current.
I have couple chargers at home and I'll make photographs showing how to connect central module to them...

The low voltage protection is very simple and will be documented too. ;)
 
Simple modular and affordable BMS, with basic LVC, HVC, top balancing and programmable cell V region is badly missing in the market. Hope you can satisfy this demand. The part of affordable with programmable resulted to be incompatible till now.
Few more questions.
To satisfy former requirements for 24s1p pack, I would need
1)24 bleeding modules
2)Simple central unit
3)Fet power stage/switch or relay

a)Is there anything else needed? (buck converter or is it integrated)
b)Will you supply all the the needed components?
c)Will those be standardized or made on demand? (Fet power switches and buck converters for different voltages)
 
I'll preface my questions/comments below by saying good work, projects like yours are always more complex than they seem. I've designed a number of systems myself (some documented in part on ES, some in commercial use right now) and while they're always fun, they also have moments of banging your head against the table from unforeseen issues. Just trying to give you some things to look at that you might not have tried yet.

Have you run it with a noisy load like a brushed motor? Layout looks like it might not be optimized for that, although I can't tell of course if you have some internal layers not shown. If you're not using any kind of error checking on the data packets, you should consider doing so before commercializing it.

Keep in mind you don't really need super accurate readings, 10mV is more than enough. Oversampling is a good idea, but 320uS is a long time. I don't see any kind of filtering, which would be a good complement to oversampling. Many loads will be switching, usually above audible frequencies, and depending on their input filters, it may show up at the cell level. You could easily get erroneous readings due to a load switching at 50kHz (corresponding to 20us between samples) if each sample was taken during a peak or trough in the voltage curve. A simple RLC filter with a cutoff around 1kHz would make oversampling much more effective and add only pennies to the cost. It's often a good idea during dev to add a spot for a RC or RLC filter to any analog lines. If it's not needed, 0 ohm resistors can bypass it for dev, and then it can be removed for production. Much better than having to tack it on during dev, and basically no extra cost.
 
dmwahl said:
I'll preface my questions/comments below by saying good work, projects like yours are always more complex than they seem. I've designed a number of systems myself (some documented in part on ES, some in commercial use right now) and while they're always fun, they also have moments of banging your head against the table from unforeseen issues. Just trying to give you some things to look at that you might not have tried yet.
Believe me, I spent over four years into developing this...
FYI, I am 60 years old (and thus I use old fashion programming techniques, lol) and I know how frustrating can be when you oversee something in it...
Don't know number of projects I made in last 35 years... :D
dmwahl said:
Have you run it with a noisy load like a brushed motor? Layout looks like it might not be optimized for that, although I can't tell of course if you have some internal layers not shown. If you're not using any kind of error checking on the data packets, you should consider doing so before commercializing it.
If you checked my protocol page, you can see that rules are quite strict for messages:
- Time delay between two characters in the message must be shorter than WDT delay, otherwise the message is purged.
- The hex code characters A-F must be in upper case, otherwise the command is assumed as enquiry.
- Only ignored character is line feed, all other are collected into income buffer.
- Income buffer overflow causes purge of it.
- Resistor R2 can be replaced with inductor, but this is not needed.
- Implementing the checksum is not big deal (still have some free memory, lol), but I tested this with lot of noise in system without any problem (except loss of some messages).
Message errors can be seen in my video, where's shown program on PC running as central module.
In addition, it is even possible to connect separately each module to corresponding cell, but this will almost double number of wires...
dmwahl said:
Keep in mind you don't really need super accurate readings, 10mV is more than enough. Oversampling is a good idea, but 320uS is a long time. I don't see any kind of filtering, which would be a good complement to oversampling. Many loads will be switching, usually above audible frequencies, and depending on their input filters, it may show up at the cell level. You could easily get erroneous readings due to a load switching at 50kHz (corresponding to 20us between samples) if each sample was taken during a peak or trough in the voltage curve. A simple RLC filter with a cutoff around 1kHz would make oversampling much more effective and add only pennies to the cost. It's often a good idea during dev to add a spot for a RC or RLC filter to any analog lines. If it's not needed, 0 ohm resistors can bypass it for dev, and then it can be removed for production. Much better than having to tack it on during dev, and basically no extra cost.
In fact, the time delay between two samples is ~85us (as conversion takes some time too), I measured time delay between first and last sample over 1.4ms.
Oversampling is not chosen due increase accuracy, it is chosen due digital filtering. Don't forget that A/D result is not proportional to cell voltage, it is reverse proportional.
Averaging of reverse proportional samples is very effective filter against glitches etc.
BTW, the accuracy of uncalibrated module is under +/-20mV; calibration is not so needed, but you have anyway to test and program the module before delivery...
RLC filter is not possible to use as the reference voltage (ADR5040) is sampled in fact, reference is cell voltage.
This choice is made in order to allow full functionality of this module at 2.5V...
In beginning, the voltage level shift was at first done with capacitor, but such configuration is very vulnerable in noisy environment. Later on I inserted Q2 and got it very stable. I tested it with weak batteries (old mobile phone batteries with noisy charger/discharger) and found that it is quite OK.
Temporary loss of communication is not so big deal, due newly implemented status command (Sxy<CR>), which can quickly poll the status of all cells.
 
parabellum said:
Simple modular and affordable BMS, with basic LVC, HVC, top balancing and programmable cell V region is badly missing in the market. Hope you can satisfy this demand. The part of affordable with programmable resulted to be incompatible till now.
Few more questions.
To satisfy former requirements for 24s1p pack, I would need
1)24 bleeding modules
2)Simple central unit
3)Fet power stage/switch or relay

a)Is there anything else needed? (buck converter or is it integrated)
b)Will you supply all the the needed components?
c)Will those be standardized or made on demand? (Fet power switches and buck converters for different voltages)
You need:
1. 24 cell modules
2. Simple central unit
3. Relay (powered from mains), if you don't want to modify your charger.
4. Fuse for short circuit protection
LVC open drain output from simple central unit is inserted between throttle or PAS and controller.
Simple central unit can be supplied from most negative cell as it doesn't draw significant current. It draws couple mA more current only when charging the battery (optocoupler or SSR).
Only central modules with display shall have integrated DC/DC converter, with desired voltage input range.
Intend to make two different voltage ranges as option, low voltage 24V-60V and high voltage range 50-120V...

The central module is at this moment on hold as first I have to finish the tests.
Hope that everything will be ready for production in next couple months...
 
Peter.bp said:
LVC open drain output from simple central unit is inserted between throttle or PAS and controller.
That is good enough for me personally, but consider a possibility of wife factor.
Example: My wife rode her bike with a 12s battery without BMS to programmed conservative controller LVC (as she ever does) did not turn off the controller and did not connect it to the charger after. I was head over in work and noticed that after days or maybe weeks. Logic circuit of the controller drained the battery to ~10V already. Battery was ~4 years old, so wife still works OK. :D
An optional Fet switch module, activated/deactivated by bms could save the battery in such a case.
Then again, I still have a bunch of other suspicious people, that can not follow 2 step procedure, surrounding me, brother, mother etc. They all got ebikes from some awesome guy. Cheep BMS's they use now, kill LiCo batteries in 1-2 years, charging to 4.25V/cell and cutting off at 2.5V/cell.

P.S. Consider a possibility of charger failure, overvolting the battery or wrong charger connected.
 
Wife factor I intended to implement later on... :)

You've right, I'll have to make the power circuit too, but think that this can be last step in this project...

However, it is better to make something very simple, with control circuit, which will not draw more than couple uA.
This protection doesn't have to be fast... ;)
 
Peter.bp said:
Wife factor I intended to implement later on... :)

You've right, I'll have to make the power circuit too, but think that this can be last step in this project...

However, it is better to make something very simple, with control circuit, which will not draw more than couple uA.
This protection doesn't have to be fast... ;)
Good to know, you had this al planned already.
Sure, your priority is right, low consumption, something simple firs.
Brain unit will have like 2 wire out to ground the signal line, right? (being throttle, or charger)
Will it be ON/OFF or stepped transition?
 
cwah said:
Definitely interested if i can track cell balance on screen.
You can track cell balance on the leds too. :)
You can track cell balance on PC, using simple hardware adapter which is not yet published on my site (it will be published soon).
You can track cell balance on central module with the display, or even (with bluetooth adapter and simple interface) on smart phone... Problem is that I am not skilled in programming Android applications and don't have time for developing such applications. However, I'm seeking for partner who can do this job, as well as I'll need somebody to make Linux application too...
If you are not so much interested which cells are charging slower and if information about balance status of whole battery is good enough (three statuses: no cell bleeding, some cells bleeding and all cell bleeding) then simplest central module is enough. Simplest central module is good enough for complete protection of the battery...
 
parabellum said:
Peter.bp said:
Wife factor I intended to implement later on... :)

You've right, I'll have to make the power circuit too, but think that this can be last step in this project...

However, it is better to make something very simple, with control circuit, which will not draw more than couple uA.
This protection doesn't have to be fast... ;)
Good to know, you had this al planned already.
Sure, your priority is right, low consumption, something simple firs.
Brain unit will have like 2 wire out to ground the signal line, right? (being throttle, or charger)
Will it be ON/OFF or stepped transition?
Intend to use PWM, which can drive optocoupler in feedback circuit of charger.
The planned outputs shall be open drain without internal pull up resistor:
1. LVC present in any cell
2. HVC present in any cell
3. Bleeding active in any cell
4. Bleeding active in all cells
5. Charger PWM output.
The charger PWM output shall have option for adding optocoupler onto PCB, which output can be connected directly with output of internal optocoupler inside feedback circuit in the charger.

It is obvious that LVC present in any cell can be used for reducing the throttle.
Simple connection of the charger through external relay is achieved by using two outputs in parallel (HVC active and Bleeding active in all cells).
Simplest central module will be completely open source.
The PC software, which I described before, will be also completely open source, i.e. no license needed.
I'll try to put some comments inside source codes and support will be granted to everyone (to encourage interested ones to do something themselves).
In past I got lot of help from usenet (that was time when still gopher servers were in use) in my projects and want to "revenge". lol
This morning I started to clean the mess in my prototype software... lol
Last on the software list is to upgrade the central module with keys for setting up the cell modules (and other parameters) as well as to make simple module with dsPIC30F4012 without display, but with enough analogue inputs for temperature monitoring/alarming and with RS232C output.

About hardware protection: I already have some ideas for cheap version regardless of max current: why not to break only power supply to so called ignition wire?
For breaking main current I already have some ideas how to do it, but will test first...

At the end, as bleeding resistors can produce significant heat (especially near end of balancing), these resistors have to have decent heat sink. This heat can be under control if the heat sink has temperature sensor (which is must have if resistors <8.2R are used. Over temperature of that heat sink must disable bleeding...
Worst situation is when you have one cell in the battery with increased self discharging current; in such situation you have prolonged time bleeding all cell except this one...
 
Back
Top