DIY Lithium Battery Balancer and monitoring (BMS)

Tags: #<Tag:0x00007f1beddfcf90> #<Tag:0x00007f1beddfce50>

(Brett) #690

Why would my i2c be unresponcive.
Is i2c the thurmister.
The attiny85 took programe but the board not coming back after factory reset to get priv order number.
If we replace the thermister with a resister whats would be the value?

(stuart) #691

The thermistor is connected to the RESET pin on the CPU so if this is faulty, the CPU won’t run.

You could replace it with a 5k or 10k resistor - obviously the temperature readings won’t work, but the circuit should function.

Don’t forget that i2c is NOT designed for long cable runs so make sure you use twisted cable (like ethernet/cat 5) and keep the length as short as possible.

(Brett) #692

My cables are about 10cm long

(stuart) #693

Okay, so on each module - check the + and - connections to the ADUM chip (on the i2c side) ensure that the voltage is 3.3V at all the modules. I suspect the resistance of the cable is dropping the voltage below a usable level.

It may also be the increased capacitance on the i2c bus due to the number of devices and total length of wire. What value of pull up resistors are you using?

If you take a module that’s not working and swap it for one that is (you will need to re-provision) does it work as expected? If yes, its probably a cable length/voltage drop issue - if not, its a fault circuit/build.

(stuart) #694

The cell monitors draw about 10mA when powered from the battery - this is an known and existing problem. Partly due to there being no power control in the ATTINY code and also as the ADUM chip pulls at least 3mA waiting for data to arrive.

(Brett) #695

Hi stuart

Yes i expected it was a problem with the board as i had 3 that wasnt working at first then used the frying pan on those 3 which got 2 of them working.

i will pull off the main attiny85, ADUM1250ARZ and REG710NA-3.3 from the board as its the only componats that i dont have spares for and rebuild another board with using a frying pan.

I will test the ± on the i2c tomorrow when im how and see what the voltage is on the first module.

ESP8266 mini running 2k2 resisters

tried with 4k7 but no luck

(stuart) #696

The frying pan method isn’t the answer to everything but can help to avoid solder blobs from hand soldering.

2k2 resistors should be okay, you don’t really want to go any lower.

(Tom) #697

Hi there, really great project. I’d also like to use the diyBMS on a boat, with no router. Can the diyBMS system be used without connecting the wemos to a router, or does the diyBMS need internet access for some reason. I had assumed the wemos could be used in access point mode instead of web server mode. I’m quite new to all this and would love to know if I’d be able to have a bash.

(robert.g.brundage) #698

Hello everybody!
I am getting close and it has taken me quite awhile (started from close to 0 knowledge on this stuff).
Current issue: A number of my esp8266 are now in SoftAP (access point mode) mode (as read from the eeprom). I cannot figure out how to get them back to Station Mode.
I think this has something to do with the button for the controller in the software (that is what I get for pressing buttons when I do not know exactly what they do).

Any enlightenment would be appreciated.


(Dirk Walde) #699

Question to all about the code from the ESP

Have a problem with the balance.
The modules go into the balance mode for about 13 seconds and then turn off the balance again and make about 15 seconds from up to 30 seconds nothing and then the whole thing starts again from the beginning.

How can I change the code so that the modules balance until the target volt is reached.

Update for Stuart ! ?
Where can I find the code for the balance in the .ino
I am already clear that it is a loop in the code only which code parts are part of the balance for the timing.

That’s a bit of a problem with over 4000 watt / 80A 58V charge regulator for 1400 cells (18650 14S100P)
When the balance keeps pausing.


Info for Oliver - ESP32 Code
!!! Update for Oliver !!!
Du you like Github ? or Online google Drive… ftp or mail all ok
!!! Update for Oliver !!!

(stuart) #700

Yes - speak to Vela_Nautica about this - he’s also using it on a boat!

(stuart) #701

Hi, the balance code enables the load resistors for a number of seconds, switches them off, takes voltage readings and then re-enables if the target voltage level is not reached - this repeats every 30 seconds or so.

(Tom) #702

Thanks for the reply Stuart, I’m keen to use the system as it is, hopefully improving my chance of success with limited experience.
I had an idea to get an internet on the boat by tethering my phone’s connection to a router via usb which apparently should work. My next question; does the diyBMS continually need an internet connection to run/balance, or just when the user is interacting with it by the web page, for reading data and setting options. Any help much appreciated!

(Brett) #703

hi stuart

i just got some new led 805 smd but to make sure i solder them on rite i have noticed the new leds have a green side which way should that be placed on the V3 boards as i have to replace a lot of led that are not working on my provisioned boards

(Dirk Walde) #704

Update 22.11.2018
There you are again problems with the i2C bus.
I have connected an inverter 48-60V DC to 230V AC (1000W max) to my battery pack (S14P4).
And even at the smallest load of just 60W, the I2C is in massive error.
That does not matter anymore.

?? Question has the problem someone already had and perhaps already solved. ??
Thanks for info.
No, I do not have an oscilloscope! If the question should come only multimeter. I just wanted to build a few BMS boards and not start rocket science.

(stuart) #705

Yes - keep the cables short and use twisted pair cable, like cat 5 network cable.

(Dirk Walde) #706

how short should I do that still.
how short are your cables and do you have 14 modules?
And what value do you have as resistance to me, it is 2.2K

that with twisted pair cable is also not correct with I2C bus after specification. This can even lead to problems.

(Brett) #707

Hi again Dirk

as you have seen in my images there under 15cm “5.9 inches” i haven’t fully tested my system yet but i have noticed that ESP loosing connection connectivity, i couldn’t telly you why the connectivity is lost but all i can say is it goes in to sleep mode but doesn’t recover from sleep mode,

at the moment im trying to get colins fork to run on raspberry pi 3 b+ but socat is a problem as everything else installs even on other linux systems even went out and brought a pi with no luck and no support from Colin as it been almost a week since my privet message to him maybe more if you included youtube messages.

im not building polymer packs to have cells run out of balance and expand and take out a full bank, as well as my house.

after a month waiting for my bms to build and provision iv had 1 cell expand on me i put that down to a bad batch of cells and the seller has no comment all they wanted to see is pics of the bms on the cells.
But RC packs don’t run bms at all when put to storage mode.

sorry if i have misses word in sentences im dyslexic

From my knowledge with data and connectivity only one cable needs to be twisted which would be the server wire eg ESP or main server to eliminate problems but doesn’t hurt to have all cables twisted to cut interference in the lines

in my modules every second one has a twist as im looking at it but not heavy twisted.

(stuart) #708

The inverter is generating a lot of electrical noise which is being received by the wires on the i2c bus and hence the corruption of the signal. Things to try:

  1. Use shielded wires on the i2c bus
  2. Add ferrite cores onto the inverter output (AC side)

Don’t forget that as this is a DIY BMS solution its not capable of being designed for every possibility and every battery and inverter combination, although it should be fine in your circumstances.

(Dirk Walde) #709

With me I have it so far everything stable even when loading the packs (only with little charge 1.2A / 60V with S14P4 pack about 6000 mah each 3.7V unit)
with the power supply at the end of the plug with 3.3V and on both sides in each case 2.2k pullups. Just try it. I had already sent photos.


Question Brett “aussiegwapo”
Which tool did you use to make the cables?