DIY Lithium Battery Balancer and monitoring (BMS)

8 posts were merged into an existing topic: DIYBMS v4

i did that and they contacted me to ask for more money (Hi, the panel is no more than 100*100mm and it needs you to pay for extra board fee 6.1$ . If the extra fee haven’t been paid ,the order will be cancelled for you in 2 days.Thanks!)

I made and ordered this panel in the end (happy to supply gerbers)

as I had similar issues.

thanks but they already started production on the controller so all i need is the smaller one

Wouh, good to see! I am still debugging. My AttinyModule double blinks every 8 seconds. The ESPController blinks every 4 seconds. But I still don’t recieve any data. In my case it’s my first SMD-soldering. So I try some more soldering and debugging :wink:

I love this project! Great thanks to Stuart!

1 Like

36 posts were split to a new topic: Getting (BMS) influxdb info into grafana?

Hello all. Thanks for all your time and energy into this project. I am having an issue with v3.
Modules disappear when I try to provision a second module. First module is fine. My understanding is to leave the first one connected, then connect the second one to the first one and provision again. When I do this, the module acts like it has been provisioned, but the web reference doesn’t show the second mod or the first. When I disconnect the second, the first reappears.
My cable is + to +, sda to sda, etc. Am I dealing with two modules with the same id?
If so, what’s the fix? I will search through the previous posts for something.

Ok, I’ve got the hardware dialed in. After a couple of bricked attinys and a some 710’s replaced, I’ve finally got the cell modules good. I can’t see any modules on the web interface. I’ve flashed my Amica Node MCU controller with the correct settings (again), and went through the wifi setup. The controller connects to the Management console, and everything works --But, there are no modules showing.
My only assumption might be a software issue for me. Though I have only limited python skills, I guess I will dig through the code to see if something is wrong.

Fred, are you referring to the V3 boards? If so, did you follow the provision process?

1 Like

Yes, V3 boards and I believe so. I’ll give a brief history of my process maybe someone can figure out what went wrong/not done correctly.
I assembled 6 boards (I only need 4 currently). The only issue was that the 710’s had no pin 1 markings so I toasted a couple before I figured that out.
I programmed the Amica NodeMCU; went into my network; saw the DIY bms; web interface connection went smoothly.
Found my card’s IP; went to the management console.(In Windows Edge browser)
Built a shield for my Amica with 2 2k2 pullup resistors; attached one cell mod to the controller.
Went back into the management console and couldn’t get the buttons to do anything so I opened up seamonkey and got to the #modules screen.
Clicked the provision button. Controller light lit up, seconds later the cell module light lit up and after a moment, both the cell module and controller were blinking together (the cell module LED was very faint).
The first cell module then showed up in the management console (yes!). Leaving it connected, I attached the second cell module to the first cell module; clicked provision; and got the identical process as the first. Both were successfully provisioned.
The second cell mod didn’t show up. I tried everything (even bricking attinys. p.s. use the eeprom_clear under attiny in Arduino examples, not the other one).
Reset both cell modules (clear eeprom, burn bootloader, load cell module script)
Reset the controller with the esptool.py file process and reloaded the controller script; went through the process again of signing up to my network. (successfully)
Connected one cell mod to the controller; opened up web interface; provisioned cell mod (appears to be successfully), Nothing.
I did see just before clicking the provision button, the Titles of the columns (i.e.Module
id, Current Voltage, Voltage calibration, Manual Calibration, Temperature Bypass, etc.) but they disappeared after the provision process.
Here I am. One cell connected with no way to monitor it.

No luck. I’ve reset both the controller and the module to ‘factory’. Then, using Arduino 1.8.5, successfully loaded both scripts (including the bootloader on the mod; bootloader first).
Successfully provisioned but nothing on the Management console.

Ok, this is what I see without cell module connected to controller:

And this is what I see when cell module IS connected to controller:

I finally think I’ve got it. I needed to be sure that there is 3.3V to the NTC thermistor, and I needed to be sure that the ADUM’s pins were ALL soldered down. It really helps a lot :smile:
THANK YOU to all that put in the time and energy needed for this project’s success, I am grateful!

2 Likes

image

4 posts were merged into an existing topic: DIYBMS v4

Hello
Just wondering if anyone knows why my modules are showing a voltage of 65535 alot of the time. If there is a solution i would love to hear it as well.
Thanks
Andy
@stuart

Just a small tip for v3 boards.
If your board takes programming just fine, but goes ‘green’ when plugged in and doesn’t provision, make sure the opto-isolator is completely soldered down.

65535 is often a sign of a comms issue.

Some Help Please

after watching Adam Welch’s video diyBMS issue - Voltage Divider Maths - YouTube
awhile back, I decided when I make my v2.1 units I would change
R4 to 20K (R3 been 68K) but i’m lost with what I need to change in the code,

the default code is this

float Vin=3.3; // [V]
float Rt=10000; // Resistor t [ohm]
float R0=20000; // value of rct in T0 [ohm]
float T1=273.15; // [K] in datasheet 0º C
float T2=373.15; // [K] in datasheet 100° C
float RT1=35563; // [ohms] resistence in T1
float RT2=549.4; // [ohms] resistence in T2
float beta=0.0; // initial parameters [K]
float Rinf=0.0; // initial parameters [ohm]
float T0=298.15; // use T0 in Kelvin [K]
float Vout=0.0; // Vout in A0
float Rout=0.0; // Rout in A0
float TempK=0.0; // variable output
float TempC=0.0; // variable output

so what do I need to change, and to what value ?

any help would be most appreciated

Nigel

3 posts were merged into an existing topic: DIYBMS v4