Page 28 of 30
Re: Simp BMS
Posted: Sun Jun 23, 2024 11:54 am
by kn1g
I have the
Tesla B-Class BMB (7s) with a SIMP BMS and I tried to test them the first time. I checked one BMB connected to three Nissan Leaf Gen 2 Packs (each pack is 2S 2P).
Temp test worked. Voltage somehow worked except for the last two reads. It splits my one BMB into two and shows wrong values for the "second" module.
I am an absolute beginner. I read as much as I can (manual, Forum, etc.) but obviously missed the puzzle piece what I messed up here.
I might have missed something obvious. The BMS shows the following:
Code: Select all
0
BMS Status : 1 Ready |Balancing Active 6
Out:0000 Cont:0000 In:0000 Charge Current Limit : 16 A DisCharge Current Limit : 0 A
Modules: 2 Cells: 6 Strings: 1 Voltage: 22.220V Avg Cell Voltage: 3.652V Low Cell Voltage: 3.091V High Cell Voltage: 4.012V Delta Voltage: 921mV Avg Temp: 27.747C
Module #1 15.01V Cell0: 3.74V Cell1: 3.74V Cell2: 3.77V Cell3: 3.77V Cell4: 0.00V Cell5: 0.00V Neg Term Temp: 21.92C Pos Term Temp: 33.52C
Module #2 7.21V Cell6: 4.01V Cell7: 3.09V Cell8: 0.00V Cell9: 0.10V Cell10: 0.00V Cell11: 0.00V Neg Term Temp: 21.86C Pos Term Temp: 33.68C
CANbus 0.00mA 9% SOC 6000.00mAh
The BMS config is set to:
Code: Select all
0 – slaves in parallel = 1
a – cells in series = 6
Why does it split the modules with incorrect reads? (I attached an image how I the pins are connected)
Re: Simp BMS
Posted: Sun Jun 23, 2024 3:56 pm
by tom91
It splits it because of the way the BMB works it contains 2x bms slave ICs that can measure 6 cells each.
Split 4 - 3. You only wired up 6 cells to a 7 Cell BMB so the second part is upset.
Re: Simp BMS
Posted: Mon Jun 24, 2024 10:35 am
by kn1g
Ok thanks!

I used 6 Packs (making it 14 cells) and attached two BMBs. Everything seems to work fine. I have 14 "modules" with 4 - 3 voltage readings that are all correct.
However, this means that I cannot run the BMBs if the number of cells/packs I want to monitor is not x%7=0? The BMB will always be "upset" and I cannot trick it such that I might have some voltage sens unused (e.g. as in my small rc-plane battery charger)?
What's the best way to debug why one temp sensor shows -83 degrees? I checked the sensors resistance and they seem to be fine. I swapped them and they work on the other pins.
Code: Select all
0
BMS Status : 1 Ready 14
Out:0000 Cont:0000 In:0000 Charge Current Limit : 0 A DisCharge Current Limit : 30 A
Modules: 4 Cells: 14 Strings: 1 Voltage: 52.734V Avg Cell Voltage: 3.766V Low Cell Voltage: 3.738V High Cell Voltage: 3.792V Delta Voltage: 54mV Avg Temp: 13.553C
Module #1 15.01V Cell0: 3.74V Cell1: 3.74V Cell2: 3.76V Cell3: 3.76V Cell4: 0.00V Cell5: 0.00V Neg Term Temp: 23.23C Pos Term Temp: 34.33C
Module #2 11.29V Cell6: 3.76V Cell7: 3.76V Cell8: 3.77V Cell9: 0.00V Cell10: 0.00V Cell11: 0.00V Neg Term Temp: 23.49C Pos Term Temp: 34.29C
Module #3 15.10V Cell12: 3.79V Cell13: 3.76V Cell14: 3.77V Cell15: 3.77V Cell16: 0.00V Cell17: 0.00V Neg Term Temp: -83.08C Pos Term Temp: 15.67C
Module #4 11.34V Cell18: 3.77V Cell19: 3.78V Cell20: 3.78V Cell21: 0.00V Cell22: 0.00V Cell23: 0.00V Neg Term Temp: 25.04C Pos Term Temp: 35.45C
CANbus 0.00mA 61% SOC 36600.00mAh
Re: Simp BMS
Posted: Mon Jun 24, 2024 11:07 am
by tom91
kn1g wrote: ↑Mon Jun 24, 2024 10:35 am
However, this means that I cannot run the BMBs if the number of cells/packs I want to monitor is not x%7=0?
What's the best way to debug why one temp sensor shows -83 degrees? I checked the sensors resistance and they seem to be fine. I swapped them and they work on the other pins.
Tie the highest cells togehtor and check, so for 6 do 6+7 to cell 6.
kn1g wrote: ↑Mon Jun 24, 2024 10:35 am
What's the best way to debug why one temp sensor shows -83 degrees? I checked the sensors resistance and they seem to be fine. I swapped them and they work on the other pins.
If you swap BMBs does the issue move with the BMB or stay with the connector? It sounds like a connection issue or BMB solder joint issue (quiet common)
Re: Simp BMS
Posted: Mon Jun 24, 2024 3:45 pm
by kn1g
tom91 wrote: ↑Mon Jun 24, 2024 11:07 am
If you swap BMBs does the issue move with the BMB or stay with the connector? It sounds like a connection issue or BMB solder joint issue (quiet common)
It seems to be the BMB. I switched them and it switches the incorrect temp reading. Ok, something related to the BMB like solder joint issue would have been the last I'd have expected

thx!
Re: Simp BMS
Posted: Wed Sep 18, 2024 6:19 am
by alexbeatle
To confirm on the simpbms with Tesla SDU OI board.
If SDU params are Idc max=150A(consume) and Idc min = -500A(Regen), that means the simpbms discharge should be set to 150A and the charge to 500A limits, else bms will debate the drive performance?
Thanks in advance.
Re: Simp BMS
Posted: Wed Sep 18, 2024 7:21 am
by tom91
alexbeatle wrote: ↑Wed Sep 18, 2024 6:19 am
else bms will debate the drive performance
this depends on how you wired it up and configured any CAN to the SDU.
Re: Simp BMS
Posted: Wed Sep 18, 2024 3:32 pm
by alexbeatle
tom91 wrote: ↑Wed Sep 18, 2024 7:21 am
this depends on how you wired it up and configured any CAN to the SDU.
No CAN to SDU from BMS. SDU controls the HV contactors and pre charge. BMS only allows SDU ignition to turn on if batteries are ok (but doesn't turn it off) and enabled/disable drive mode and charge mode.
I thought SimpBMS charge and discharge limits will control the Tesla modules satellite boards to debate on the module.
Re: Simp BMS
Posted: Wed Sep 18, 2024 5:43 pm
by tom91
alexbeatle wrote: ↑Wed Sep 18, 2024 3:32 pm
thought SimpBMS charge and discharge limits will control the Tesla modules satellite boards to debate on the module.
?!? what are you on about explain yourself please. There seems to be a big mis interpretation of how a BMS works.
Re: Simp BMS
Posted: Wed Sep 18, 2024 5:55 pm
by alexbeatle
tom91 wrote: ↑Wed Sep 18, 2024 5:43 pm
?!? what are you on about explain yourself please. There seems to be a big mis interpretation of how a BMS works.
Good thing I asked.
Do you mean that the satellite boards on the battery modules only collect data, but don't actually control the battery module - ex. don't allow current above xA?
Re: Simp BMS
Posted: Wed Sep 18, 2024 6:26 pm
by tom91
No BMS has a method for limiting current. It can only cut off the current using the contactors.
A BMS monitors and gathers data then decides on limits and share this with the vehicle. (Balancing is the only thing it can do on its own of it does not have contactors)
Re: Simp BMS
Posted: Wed Sep 18, 2024 6:53 pm
by alexbeatle
tom91 wrote: ↑Wed Sep 18, 2024 6:26 pm
No BMS has a method for limiting current. It can only cut off the current using the contactors.
A BMS monitors and gathers data then decides on limits and share this with the vehicle. (Balancing is the only thing it can do on its own of it does not have contactors)
I see now. Thanks for your patience! That is a fundamental that I was missing.
Re: Simp BMS
Posted: Wed Oct 09, 2024 2:04 pm
by nedim
I try to connect Teensy board with Tesla Module with Rx/TX but not recognized it, BMW works fine with transceiver. Question is are the pins 3 & 4 for Tx and RX on Teensy board for Tesla Module.
Cheers
Re: Simp BMS
Posted: Wed Oct 09, 2024 4:12 pm
by tom91
nedim wrote: ↑Wed Oct 09, 2024 2:04 pm
I try to connect Teensy board with Tesla Module with Rx/TX but not recognized it, BMW works fine with transceiver. Question is are the pins 3 & 4 for Tx and RX on Teensy board for Tesla Module.
Cheers
What are you on about? You wired power to the Tesla slaves?
https://github.com/Tom-evnut/TeslaBMSV2 ... aBMSV2.ino
Code: Select all
#define SERIALBMS Serial3
SERIALBMS.begin(612500); //Tesla serial bus
Re: Simp BMS
Posted: Wed Oct 09, 2024 4:49 pm
by nedim
of course, and I connected Slave Rx/TX direct to Teensy pin 3&4
Re: Simp BMS
Posted: Wed Oct 09, 2024 5:12 pm
by tom91
tom91 wrote: ↑Wed Oct 09, 2024 4:12 pm
#define SERIALBMS Serial3
https://www.pjrc.com/teensy/td_uart.html
Also note you need to have the 5V ground also to the teensy ground.
Re: Simp BMS
Posted: Thu Oct 10, 2024 10:44 am
by nedim
tnx gnd was a problem now regonise it
Re: Simp BMS
Posted: Wed Oct 23, 2024 5:02 pm
by alexbeatle
Hi, there.
Could you please help me understand. I don't quite see why my discharge current gets derated. I have max discharge set to 150A, but this morning BMS derated it to 30A. I didn't capture it at 30A, but below is the screenshot showing it at 113A as it seems to be slowly rising as I'm charging.
It's a cold morning, but the batteries where at 10C...11C temperature, when it derated the current to 30A. SOC was at 24%.
My understanding other than setting it to 0A, this is the only place in the code where the discharge current gets modified:
Code: Select all
//Modifying discharge current///
if (discurrent > 0)
{
//Temperature based///
if (bms.getHighTemperature() > settings.DisTSetpoint)
{
discurrent = discurrent - map(bms.getHighTemperature(), settings.DisTSetpoint, settings.OverTSetpoint, 0, settings.discurrentmax);
}
//Voltagee based///
if (bms.getLowCellVolt() < (settings.DischVsetpoint + settings.DisTaper))
{
discurrent = discurrent - map(bms.getLowCellVolt(), settings.DischVsetpoint, (settings.DischVsetpoint + settings.DisTaper), settings.discurrentmax, 0);
}
}
However, looking at the snapshot of my battery cell volts and temperature, it looks as though it wouldn't fall within these conditions.
I'm on a forked firmware 230719, but the fork changes are related to the CAN messaging, and relay control.
Please let me know if I'm not seeing the obvious.
Re: Simp BMS
Posted: Wed Oct 23, 2024 5:06 pm
by tom91
Code: Select all
if (bms.getLowCellVolt() < (settings.DischVsetpoint + settings.DisTaper))
Literally here.
Your settings:
settings.DischVsetpoint = 3200mV
settings.DisTaper = 300mV
So if your cells are below 3500mV limit discharge.
The settings for Discharge Hysterisis is for allowing discharge again when the cells have risen by 200mV (your setting) from Discharge limit setpoint.
Re: Simp BMS
Posted: Wed Oct 23, 2024 5:45 pm
by alexbeatle
tom91 wrote: ↑Wed Oct 23, 2024 5:06 pm
Code: Select all
if (bms.getLowCellVolt() < (settings.DischVsetpoint + settings.DisTaper))
Literally here.
Your settings:
settings.DischVsetpoint = 3200mV
settings.DisTaper = 300mV
So if your cells are below 3500mV limit discharge.
The settings for Discharge Hysterisis is for allowing discharge again when the cells have risen by 200mV (your setting) from Discharge limit setpoint.
Looks like my coffee didn't slap me hard enough this morning to wake me up. Thanks for doing that instead, Tom
3500mV translates to 42% SOC per my setpoints (3100mV=10%, 4100mV=90%). I'm curious, do commercial vehicles start to derate at 42% SOC or my setting are too conservative?
Re: Simp BMS
Posted: Sun Oct 27, 2024 3:18 pm
by X19e
At the moment I'm configuring my Hyper9 system with the SME AC-X1 controller in combination with SimpBMS. They should exchange data via CAN network, but the configuration page of the TAU smartview software causes me problems.
I'm running TESLABMSV2.ino and this is the CAN output:

The TAU software configuration page looks like this:

It looks like they expect BMS status and SoC, Limit and Current values in different Bytes of the same ID. How do I configure this in SimpBMS?
Best regards
Frank
Re: Simp BMS
Posted: Sun Oct 27, 2024 3:58 pm
by tom91
X19e wrote: ↑Sun Oct 27, 2024 3:18 pm
How do I configure this in SimpBMS
Not possible. You need to modify the code to add this message structure.
Re: Simp BMS
Posted: Sun Oct 27, 2024 4:20 pm
by X19e
tom91 wrote: ↑Sun Oct 27, 2024 3:58 pm
Not possible. You need to modify the code to add this message structure.
OK. Is it easier to add a new ID with this structure or modify one of the existing?
I do have an Elcon charger and DC/DC converter on the same Canbus. So I shouldn't interfere those communications.
Best regards
Frank
Re: Simp BMS
Posted: Sun Oct 27, 2024 4:31 pm
by tom91
X19e wrote: ↑Sun Oct 27, 2024 4:20 pm
Is it easier to add a new ID with this structure or modify one of the existing?
You need to change code so up to you how you do it.
Re: Simp BMS
Posted: Sun Oct 27, 2024 5:49 pm
by X19e
tom91 wrote: ↑Sun Oct 27, 2024 4:31 pm
You need to change code so up to you how you do it.
You are right, if I want to do that, it is my responsibility.
Based on the code, the VEcan() function was added primary for the Victron Energy support and maybe that's why so many ID's are in use.
A Charger is enable via CAN broadcast message. Don't see any message for the DC/DC, maybe have to add it too.
My charger has a separate 12V/5A output that I've connected to the 12V Battery. The idea is to keep the DC/DC switched off during charging to save additional load.
Kind regards
Frank