DIY 6S to 12S BMS with CAN - DieBieMS

This is what is happening in the bootloader when you see this message:

yAxisOffset += 8; libGraphicsSetCursor(0,yAxisOffset); libGraphicsWrite(‘S’);
libGraphicsWrite(‘i’);
libGraphicsWrite(‘z’);
libGraphicsWrite(‘e’); libGraphicsWrite(’.’); libGraphicsWrite(’.’); libGraphicsWrite(’.’);

if(newAppSize == 0) bootloaderStateNext = BOOT_SIZE_ZERO; else if(newAppSize > NEW_APP_MAX_SIZE) bootloaderStateNext = BOOT_SIZE_WRONG; else bootloaderStateNext = BOOT_SIZE_OK;

So the new firmware that is loaded is more than the max size, which is wierd and should never happen.

@JTAG Any differences in HW between 0.7 and 0.9? I’m opening up my board and was planning to do updates if need be.

You have a 0.7 PCB and want do do modifications to make it 0.9? Well I think that between these revisions there were only component changes to simplify the bom and I moved the PCB NTC a bit closer to the switching components, so nothing worth changing or patching!

PS. @chocol4te his problem seem to be resolved after an erase and rewrite of the firmware.

2 Likes

Perfect. Then I’ll just do a firmware upgrade. For the push to start feature I just need to connect enable_CAN to the 5v_CAN correct?

Yes that is correct!

@JTAG, I can safely use a 50.4 volts charger for charging a 10S battery, or should I go for 42V charger?

Using a 50V charger on a 10S will work, no problem, just make sure to configure the correct soft and hard over voltages, but that should be done for every charger.

The minimum charger voltage for 10S when configuring the max voltage to 4.2V is:

  • (10*4.2+0.7)=42.7V for charging when the BMS is already on.
  • (10*4.2+3)=45V when you want the BMS to turn on automatically when the BMS is of.

So 50V would do it as well.

3 Likes

Perfect! Thanks.

BTW, if anyone else is looking for a 50.4V 4A charger then here’s one from aliexpress that I got for $20(when including seller’s discount $2 and instant discount for using paypal $5). I just got one, so should work for you all too. image

1 Like

( just deleted my (mis infomed) post )

How does the BMS handle the CV part of CC-CV? Hence how does DieBieMS create 42v (ish) from 50v, there is no charge voltage disipation or buck regulator on the board right? Normally the “Constant Voltage” is limited by the charger (= max cell voltage * number of cells ).

afbeelding

No problem! Thanks for helping answering the questions, the community helping saves me al lot of time and helps me alot. I am currently hard at work on realising a new version of the firmware that can also test the cell connections (does a minimal impedance check of the balance wires) for production testing but also to verify whether all wires are still connected, this took and takes more time that I thought but will be finished soon.

The BMS does indeed not change the voltage, it just disconnects the charger from the battery when the highest cell voltage has reached the configured threshold. Therefore it is ok to have a charge with a higher open clamp voltage, the drawback of that is that you are not utilising the full power that a charger can deliver but that is not a problem.

So i was going to follow your direction for running the tool on windows but i see that in the present commit the build folder is missing. Whats the best/easiest way to get this running? I have access to both linux and windows computer.

You should go to releases nou on the BMS GitHub. I didn’t knew that by tthen but that is the recommended way of releasing software.

2 Likes

Solved now with this

Before solution: Connected the bms with 10S battery with 10Ah capacity. was able to connect to the diebieMS_tool(and also vesc-tool) using the terminal. However rest of gui doesn’t work for me. no realtime data, can’t read the present config etc. It is charging though. The voltage across the charger has dropped to a bit above 38.42 Volts. Is that expected?

Also why does the status say that the state of charge is 100% even though the pack voltage is 38.11 volts

------- BMS Info ------- Firmware: V0.16 Hardware: V0.3 Name : DieBieMS UUID: 31 00 24 00 04 57 34 57 30 39 36 20 ------- End BMS Info ------

— BMS Configuration — NoOfCells : 10 batteryCapacity : 10.00Ah cellHardUnderVoltage : 2.300V cellHardOverVoltage : 4.400V cellSoftUnderVoltage : 2.500V cellSoftOverVoltage : 4.250V cellBalanceStart : 3.800V cellBalanceDiffThreshold : 0.010V CAN ID : 10 — End BMS Configuration —

-----Battery Pack Status----- Pack voltage : 38.11V Pack current : 0.32A State of charge : 100.0% Remaining capacity : 10.00Ah Operational state : Charging Load voltage : 0.00V Cell voltage high : 3.829V Cell voltage low : 3.795V Cell voltage average : 3.810V Cell voltage mismatch : 0.034V Discharge enabled : False Charge enabled : True —End Battery Pack Status—

----- Cell voltages ----- Cell voltage 0 : 3.818V Cell voltage 1 : 3.809V Cell voltage 2 : 3.819V Cell voltage 3 : 3.818V Cell voltage 4 : 3.812V Cell voltage 5 : 3.812V Cell voltage 6 : 3.810V Cell voltage 7 : 3.812V Cell voltage 8 : 3.812V Cell voltage 9 : 3.812V Cell voltage high : 3.819V Cell voltage low : 3.809V Cell voltage average : 3.813V Cell voltage mismatch : 0.010V ----- End Cell voltages -----

1 Like

Everything work but I have one last question(hopefully). How do I set the max charge current or something to that effect, so that my charger doesn’t hit it’s limit. All i could see was charge throttle settings. But from the description what I understand is that it controls the final charge current.

no control over charge current from the bms the bms fires a charge mosfet that acts like a switch current control needs to come from the cccv charger

Gotcha. That’s what I concluded. But having a max current(input & charge)could be a desirable feature for couple of reasons.

  1. Say you have a monster power supply, a max current can prevent high charge rates and hence prolong the battery life.
  2. Say you have a supply with a rated fuse(or ability) , you don’t have exceed that current limit.

The charge throttle is already implemented for end of charging, so I don’t see how that’s a lot of work. Am I getting something wrong?

Hi @JTAG,

Can you please confirm if I get a charger of 53.4V or there abouts, will that be fine to use on a 10S and 12S battery using your BMS? Or would it be preferable to have a 45V and 53.4V charger for each battery pack.

I can only ride one board at a time so a single charger is fine (if possible) and would mean i can get a better quality one and not skimp.

Cheers, Patrick

I also want to ask if this power supply would be fine for 10simage I used the potentiometer and measured DC output voltage and I can tune it anwhere from 38v to 50v. I’m thinking of setting it to 45v as @jtag does in order to enable bms power on from plugging in the charging cable but want to know if this power supply will not break the BMS.

I understand that as long as it can regulate a constant current while providing enough voltage(even over as diebiems has over voltage cutoff) then this should work for me?

1 Like

Yes will be fine.

1 Like

I think this is a constant voltage power supply (that doesn’t limit the current, but just switches of on overload), but you can always try an see the current in the BMS tool, if it switches of than it is not a current limiting power supply and isn’t suitable for battery charging.

The voltage of the charger should at least be 1V higher than the battery voltage when it is fully charged to charge the battery to full.

If you also want to have the bms to turn on automatically you have to have a charge that provides a voltage that is at least 3V higher than the battery voltage when it is full.

1 Like