Simp BMS

Topics concerning OEM and open source BMSes
User avatar
Gwizard
Posts: 3
Joined: Tue Oct 24, 2023 11:45 am
Location: East Riding of Yorkshire

Re: Simp BMS

Post by Gwizard »

Hi All this is my first post on here.

I recently purchased A VW passat pack to upgrade my home battery / solar setup (this is a 360V 96s system if anyone is interested) and immediately ran into the teensy 3.2 shortage problem.

I have my own modified version of simpBMS which can send a JSON string via Wi-Fi to my home automation system via an ESP8266 of course.

I spotted that someone had kindly ported simp to the teensy4.0, the code worked and compiled as expected however many of the cell voltages were being missed. This appeared to be the first few cells on the first few modules.

After trying many different approaches I discovered the problem seems to be with the FlexCAN_T4 library, it seems that some packets are not received following a can send.

If I comment out the sendcommand() function call and send the 0x0BA command from linux via my can sniffer, I get all the voltages, proving the hypothesis. I did try converting simp over to an interrupt driven approach to receiving can messages but this had no effect, the messages were still lost unless send from and external source.

So a very long story short I moved the send command function call to

if (millis() - looptime1 > settings.chargerspd)
{
sendcommand();
looptime1 = millis();
if (settings.ESSmode == 1)

This effectively gives enough time for FlexCAN to get its act together before polling for messages.

I hope this helps someone

Cheers
tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

Gwizard wrote: Tue Oct 24, 2023 12:46 pm After trying many different approaches I discovered the problem seems to be with the FlexCAN_T4 library, it seems that some packets are not received following a can send.

If I comment out the sendcommand() function call and send the 0x0BA command from linux via my can sniffer, I get all the voltages, proving the hypothesis. I did try converting simp over to an interrupt driven approach to receiving can messages but this had no effect, the messages were still lost unless send from and external source.

So a very long story short I moved the send command function call to
Very strange would not expect that. All my new products currently use the Teensy 4.0 without any problems like you described it must be a sloppy port. I fully rewrote all my functions for my new firmware though.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
Gwizard
Posts: 3
Joined: Tue Oct 24, 2023 11:45 am
Location: East Riding of Yorkshire

Re: Simp BMS

Post by Gwizard »

Hi Tom, I don't know but it's one to keep an eye on for anyone using the FlexCAN_T4 library in case it crops up in any other projects.

Thanks
m.art.y
Posts: 565
Joined: Sat Jun 06, 2020 6:54 pm
Location: UK/EU
Has thanked: 29 times
Been thanked: 20 times

Re: Simp BMS

Post by m.art.y »

Hi, SimpBMS reports HV voltage on id 0x356 over two bytes (MSB and LSB). Could somebody help to combine those two bytes into a single hex voltage value for arduino Due board?
User avatar
EV_Builder
Posts: 1199
Joined: Tue Apr 28, 2020 3:50 pm
Location: The Netherlands
Has thanked: 16 times
Been thanked: 33 times
Contact:

Re: Simp BMS

Post by EV_Builder »

In the Arduino code?
Not sure what you upto.

But combineing 2 bytes into a 16BIT.

Int8 byte1 = 0;
Int8 byte2 = 0;

Int16 vint_16 = ( byte1 <<16 ) + byte2;
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
Lood
Posts: 34
Joined: Thu Apr 20, 2023 11:13 am
Has thanked: 6 times
Been thanked: 19 times

Re: Simp BMS

Post by Lood »

Hi,
I am using an EVS BMS with VW MEB 12S modules. The BMS is working, but now I want to balance the cells (properly this will take weeks, but anyway).
The battery status shows "Balancing Active" and sometimes "Balancing Paused":

Code: Select all

BMS State: Ready || Balancing Active
Modules: 5 Cells: 60 Strings: 1  Voltage: 223.364V   Avg Cell Voltage: 3.723V  Low Cell Voltage: 3.471V   High Cell Voltage: 4.130V Delta Voltage: 659mV   Avg Temp: 8.200C 
Current Limits - Discharge 285A  Charge 2A  || ChargePort 0A || Pack Volt : 0.000V  Bus Volt : 0.000V  Pack Current : 18mA Pack SOC : 100

Module #1   43.40V Cell   1: 3.62V Cell   2: 3.60V Cell   3: 3.62V Cell   4: 3.62V Cell   5: 3.62V Cell   6: 3.62V Cell   7: 3.62V Cell   8: 3.62V Cell   9: 3.62V Cell  10: 3.62V Cell  11: 3.62V Cell  12: 3.62V
 Temp 1: 8.00C Temp 2: 0.00C Status: 0x0 Bal: 0x0
Module #5   49.23V Cell  13: 4.12V Cell  14: 4.12V Cell  15: 4.13V Cell  16: 4.13V Cell  17: 4.13V Cell  18: 4.13V Cell  19: 4.13V Cell  20: 4.13V Cell  21: 3.83V Cell  22: 4.13V Cell  23: 4.13V Cell  24: 4.12V
 Temp 1: 8.00C Temp 2: 0.00C Status: 0x0 Bal: 0x0
Module #6   43.31V Cell  25: 3.60V Cell  26: 3.62V Cell  27: 3.62V Cell  28: 3.60V Cell  29: 3.62V Cell  30: 3.62V Cell  31: 3.62V Cell  32: 3.54V Cell  33: 3.62V Cell  34: 3.62V Cell  35: 3.62V Cell  36: 3.62V
 Temp 1: 8.50C Temp 2: 0.00C Status: 0x0 Bal: 0x0
Module #7   44.15V Cell  37: 3.68V Cell  38: 3.68V Cell  39: 3.68V Cell  40: 3.68V Cell  41: 3.68V Cell  42: 3.68V Cell  43: 3.68V Cell  44: 3.68V Cell  45: 3.68V Cell  46: 3.68V Cell  47: 3.68V Cell  48: 3.68V
 Temp 1: 8.00C Temp 2: 0.00C Status: 0x0 Bal: 0x0
Module #8   43.27V Cell  49: 3.62V Cell  50: 3.62V Cell  51: 3.62V Cell  52: 3.62V Cell  53: 3.62V Cell  54: 3.62V Cell  55: 3.62V Cell  56: 3.47V Cell  57: 3.62V Cell  58: 3.62V Cell  59: 3.62V Cell  60: 3.62V
 Temp 1: 8.50C Temp 2: 0.00C Status: 0x0 Bal: 0x0
But I have the impression that it is not balancing (cell voltage did not change after 24hrs).
The contactors are OPEN when I am trying to get the cells balanced.
What does the "Bal: 0x0" mean?
tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

Lood wrote: Sun Mar 24, 2024 3:17 pm EVS BMS with VW MEB 12S modules.
I have sent you an PM with a request for some debug info. MEB Balance status is not fully interpreted at the moment.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
alexbeatle
Posts: 171
Joined: Sun Jan 03, 2021 6:12 am
Has thanked: 52 times
Been thanked: 17 times

Re: Simp BMS

Post by alexbeatle »

Hello.
My first time upgrading the Tesla2BMSV2 firmware. Arduino IDE throws warning messages. Could somebody please confirm whether these can be disregarder? These look like mainly due converting\comparing variables of not matching types.

Code: Select all

C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino: In function 'void loadSettings()':
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:217:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  217 |   Logger::console("Resetting to factory defaults");
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino: In function 'void loop()':
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:1020:28: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
 1020 |   if (millis() - looptime1 > settings.chargerspd)
      |       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino: In function 'void getcurrent()':
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:1379:32: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1379 |       if (value < 100 || value > (adc->adc0->getMaxValue() - 100))
      |                          ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino: In function 'void canread()':
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:3307:28: warning: ' ' flag used with '%X' gnu_printf format [-Wformat=]
 3307 |         sprintf(msgString, "Extended ID : 0x % .8lX  DLC : % 1d  Data : ", (inMsg.id & 0x1FFFFFFF), inMsg.len);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:3309:28: warning: ' ' flag used with '%X' gnu_printf format [-Wformat=]
 3309 |         sprintf(msgString, ", 0x % .3lX, false, % 1d", inMsg.id, inMsg.len);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:3318:30: warning: ' ' flag used with '%X' gnu_printf format [-Wformat=]
 3318 |           sprintf(msgString, ", 0x % .2X", inMsg.buf[i]);
      |                              ^~~~~~~~~~~~
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino: In function 'void CAB300()':
C:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\TeslaBMSV2\TeslaBMSV2.ino:3354:20: warning: comparison of integer expressions of different signedness: 'long int' and 'unsigned int' [-Wsign-compare]
 3354 |   if (CANmilliamps > 0x80000000)
      |       ~~~~~~~~~~~~~^~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp: In member function 'void SerialConsole::printMenu()':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:58:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   58 |     Logger::console("\n*************SYSTEM MENU *****************");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:59:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   59 |     Logger::console("Enable line endings of some sort (LF, CR, CRLF)");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:60:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   60 |     Logger::console("Most commands case sensitive\n");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:61:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   61 |     Logger::console("GENERAL SYSTEM CONFIGURATION\n");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:62:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   62 |     Logger::console("   h = help (displays this message)");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:63:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   63 |     Logger::console("   S = Sleep all boards");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:64:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   64 |     Logger::console("   W = Wake up all boards");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:65:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   65 |     Logger::console("   C = Clear all board faults");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:66:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   66 |     Logger::console("   F = Find all connected boards");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:67:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   67 |     Logger::console("   R = Renumber connected boards in sequence");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:68:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   68 |     Logger::console("   B = Attempt balancing for 5 seconds");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:69:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   69 |     Logger::console("   p = Toggle output of pack summary every 3 seconds");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:70:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   70 |     Logger::console("   d = Toggle output of pack details every 3 seconds");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:72:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
   72 |     Logger::console("   LOGLEVEL=%i - set log level (0=debug, 1=info, 2=warn, 3=error, 4=off)", Logger::getLogLevel());
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:74:11: warning: unused variable 'OverVSetpoint' [-Wunused-variable]
   74 |     float OverVSetpoint;
      |           ^~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:75:11: warning: unused variable 'UnderVSetpoint' [-Wunused-variable]
   75 |     float UnderVSetpoint;
      |           ^~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:76:11: warning: unused variable 'OverTSetpoint' [-Wunused-variable]
   76 |     float OverTSetpoint;
      |           ^~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:77:11: warning: unused variable 'UnderTSetpoint' [-Wunused-variable]
   77 |     float UnderTSetpoint;
      |           ^~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:78:11: warning: unused variable 'balanceVoltage' [-Wunused-variable]
   78 |     float balanceVoltage;
      |           ^~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:79:11: warning: unused variable 'balanceHyst' [-Wunused-variable]
   79 |     float balanceHyst;
      |           ^~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp: In member function 'void SerialConsole::handleShortCmd()':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:126:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  126 |         Logger::console("Sleeping all connected boards");
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:130:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  130 |         Logger::console("Waking up all connected boards");
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:134:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  134 |         Logger::console("Clearing all faults");
      |                         ^~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:141:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  141 |         Logger::console("Renumbering all boards.");
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:154:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  154 |                 Logger::console("Enabling pack summary display, 5 second interval");
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:158:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  158 |                 Logger::console("No longer displaying pack summary.");
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:170:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  170 |                 Logger::console("Enabling pack details display, 5 second interval");
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:174:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  174 |                 Logger::console("No longer displaying pack details.");
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\SerialConsole.cpp:116:13: warning: unused variable 'val' [-Wunused-variable]
  116 |     uint8_t val;
      |             ^~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\Logger.cpp: In static member function 'static void Logger::log(Logger::LogLevel, char*, va_list)':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\Logger.cpp:154:10: warning: enumeration value 'Off' not handled in switch [-Wswitch]
  154 |   switch (level) {
      |          ^
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\Logger.cpp: In static member function 'static void Logger::logMessage(char*, va_list)':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\Logger.cpp:202:24: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  202 |         register char *s = (char *) va_arg( args, int );
      |                        ^
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModule.cpp: In member function 'bool BMSModule::readModuleValues()':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModule.cpp:152:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  152 |   Logger::debug("Module %i   alerts=%X   faults=%X   COV=%X   CUV=%X", moduleAddress, alerts, faults, COVFaults, CUVFaults);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModule.cpp:171:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  171 |   Logger::debug("Sent CRC: %x     Calculated CRC: %x", buff[21], calcCRC);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModule.cpp:212:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  212 |       Logger::debug("Got voltage and temperature readings");
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModule.cpp:218:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  218 |     Logger::error("Invalid module response received for module %i  len: %i   crc: %i   calc: %i",
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp: In member function 'void BMSModuleManager::setupBoards()':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:144:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  144 |         Logger::debug("00 found");
      |                       ^~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:161:31: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  161 |                 Logger::debug("Address assigned");
      |                               ^~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp: In member function 'void BMSModuleManager::getAllVoltTemp()':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:347:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  347 |       Logger::debug("");
      |                     ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:348:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  348 |       Logger::debug("Module %i exists. Reading voltage and temperature values", x);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:350:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  350 |       Logger::debug("Module voltage: %f", modules[x].getModuleVoltage());
      |                     ^~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:351:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  351 |       Logger::debug("Lowest Cell V: %f     Highest Cell V: %f", modules[x].getLowCellV(), modules[x].getHighCellV());
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:352:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  352 |       Logger::debug("Temp1: %f       Temp2: %f", modules[x].getTemperature(0), modules[x].getTemperature(1));
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:364:35: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  364 |     if (!isFaulted) Logger::error("One or more BMS modules have entered the fault state!");
      |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:369:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  369 |     if (isFaulted) Logger::info("All modules have exited a faulted state");
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp: In member function 'void BMSModuleManager::printPackSummary()':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:509:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  509 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:510:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  510 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:511:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  511 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:512:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  512 |   Logger::console("Modules: %i    Voltage: %fV   Avg Cell Voltage: %fV     Avg Temp: %fC ", numFoundModules,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:514:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  514 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:524:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  524 |       Logger::console("                               Module #%i", y);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:526:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  526 |       Logger::console("  Voltage: %fV   (%fV-%fV)     Temperatures: (%fC-%fC)", modules[y].getModuleVoltage(),
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:530:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  530 |         Logger::console("  MODULE IS FAULTED:");
      |                         ^~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:559:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  559 |           Logger::console("    CRC error in received packet");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:563:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  563 |           Logger::console("    Power on reset has occurred");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:567:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  567 |           Logger::console("    Test fault active");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:571:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  571 |           Logger::console("    Internal registers inconsistent");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:576:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  576 |         Logger::console("  MODULE HAS ALERTS:");
      |                         ^~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:579:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  579 |           Logger::console("    Over temperature on TS1");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:583:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  583 |           Logger::console("    Over temperature on TS2");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:587:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  587 |           Logger::console("    Sleep mode active");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:591:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  591 |           Logger::console("    Thermal shutdown active");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:595:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  595 |           Logger::console("    Test Alert");
      |                           ^~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:599:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  599 |           Logger::console("    OTP EPROM Uncorrectable Error");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:603:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  603 |           Logger::console("    GROUP3 Regs Invalid");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:607:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  607 |           Logger::console("    Address not registered");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp: In member function 'void BMSModuleManager::printPackDetails(int)':
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:623:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  623 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:624:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  624 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:625:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  625 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:626:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  626 |   Logger::console("Modules: %i Cells: %i Strings: %i  Voltage: %fV   Avg Cell Voltage: %fV  Low Cell Voltage: %fV   High Cell Voltage: %fV Delta Voltage: %zmV   Avg Temp: %fC ", numFoundModules, seriescells(),
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:628:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  628 |   Logger::console("");
      |                   ^~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:617:11: warning: variable 'faults' set but not used [-Wunused-but-set-variable]
  617 |   uint8_t faults;
      |           ^~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:618:11: warning: variable 'alerts' set but not used [-Wunused-but-set-variable]
  618 |   uint8_t alerts;
      |           ^~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:619:11: warning: variable 'COV' set but not used [-Wunused-but-set-variable]
  619 |   uint8_t COV;
      |           ^~~
c:\Users\alexbeatle\Documents\Arduino\libraries\TeslaBMSV2-master\BMSModuleManager.cpp:620:11: warning: variable 'CUV' set but not used [-Wunused-but-set-variable]
  620 |   uint8_t CUV;
      |           ^~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterDerivative.cpp: In function 'void testFilterDerivative()':
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterDerivative.cpp:9:22: warning: 'der.FilterDerivative::LastInput' may be used uninitialized in this function [-Wmaybe-uninitialized]
    9 |   Derivative = (inVal-LastInput) / dt;
      |                ~~~~~~^~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterDerivative.cpp:18:20: note: 'der.FilterDerivative::LastInput' was declared here
   18 |   FilterDerivative der;
      |                    ^~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterDerivative.cpp:6:32: warning: 'der.FilterDerivative::LastUS' may be used uninitialized in this function [-Wmaybe-uninitialized]
    6 |   float dt = 1e-6*float(thisUS - LastUS);   // cast to float here, for math
      |                         ~~~~~~~^~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterDerivative.cpp:18:20: note: 'der.FilterDerivative::LastUS' was declared here
   18 |   FilterDerivative der;
      |                    ^~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterOnePole.cpp: In member function 'void FilterOnePoleCascade::test()':
c:\Users\alexbeatle\Documents\Arduino\libraries\Filters-master\src\FilterOnePole.cpp:207:9: warning: unused variable 'lastFilterVal' [-Wunused-variable]
  207 |   float lastFilterVal = 0;
      |         ^~~~~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp: In member function 'unsigned char Serial_CAN::send(long unsigned int, unsigned char, unsigned char, unsigned char, const unsigned char*)':
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp:38:1: warning: no return statement in function returning non-void [-Wreturn-type]
   38 | }
      | ^
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp: In member function 'unsigned char Serial_CAN::exitSettingMode()':
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp:175:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  175 |     int ret = cmdOk("AT+Q\r\n");
      |                     ^~~~~~~~~~
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp: In member function 'unsigned char Serial_CAN::setMask(long unsigned int*)':
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp:210:38: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=]
  210 |         sprintf(str_tmp, "AT+M=[%d][%d][", i, dta[2*i]);
      |                                     ~^        ~~~~~~~~
      |                                      |               |
      |                                      int             long unsigned int
      |                                     %ld
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp: In member function 'unsigned char Serial_CAN::setFilt(long unsigned int*)':
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp:247:38: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=]
  247 |         sprintf(str_tmp, "AT+F=[%d][%d][", i, dta[2*i]);
      |                                     ~^        ~~~~~~~~
      |                                      |               |
      |                                      int             long unsigned int
      |                                     %ld
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp: In member function 'unsigned char Serial_CAN::factorySetting()':
c:\Users\alexbeatle\Documents\Arduino\libraries\Serial_CAN_Module_TeensyS2\Serial_CAN_Module_TeensyS2.cpp:289:18: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
  289 |         if(cmdOk("AT\r\n"))
      |                  ^~~~~~~~
Opening Teensy Loader...
Sketch uses 98260 bytes (37%) of program storage space. Maximum is 262144 bytes.
Global variables use 15848 bytes (24%) of dynamic memory, leaving 49688 bytes for local variables. Maximum is 65536 bytes.

tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

alexbeatle wrote: Thu Apr 04, 2024 2:42 am Hello.
My first time upgrading the Tesla2BMSV2 firmware.
Why are you compiling? There is a .hex you can upload. If you compile your own versions then giving support on any issues is not really possible due to library changes ect.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
alexbeatle
Posts: 171
Joined: Sun Jan 03, 2021 6:12 am
Has thanked: 52 times
Been thanked: 17 times

Re: Simp BMS

Post by alexbeatle »

tom91 wrote: Thu Apr 04, 2024 8:52 am Why are you compiling? There is a .hex you can upload. If you compile your own versions then giving support on any issues is not really possible due to library changes ect.
ok. Learned something new. I'll try the .hex file. Is it the most up-to-date? Shows a month difference between the project and the .hex.
image.png
tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

Yes it is, only gotten something in it someone wanted to do. Specific to their usecase, it is not an update from me. The .HEX is from me.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
alexbeatle
Posts: 171
Joined: Sun Jan 03, 2021 6:12 am
Has thanked: 52 times
Been thanked: 17 times

Re: Simp BMS

Post by alexbeatle »

I'd like to verify something, please.
I have 14 Tesla MS batteries in series - 5.3kWh, 232Ah each. None in parallel.
When it comes to setting the battery pack capacity the firmware defaults to 100Ah. Is that a precautionary value since diy batteries aren't new so this to be left as-is or changing to 232Ah is safe?

Another question - simpBMS + LIM.
LIM needs battery capacity in Wh with 0.1 scale.
So confirming this is the correct way to calculate it.

Code: Select all

Wh = Ah * Max. Pack Charge Voltage
These are available from the simpBMS CAN messaging:
Ah= 0x379 byte[0] and byte [1];

Code: Select all

 msg.id  = 0x379; //Installed capacity
  msg.len = 8;
  msg.buf[0] = lowByte(uint16_t(settings.Pstrings * settings.CAP));
  msg.buf[1] = highByte(uint16_t(settings.Pstrings * settings.CAP));
Max. Pack Charge Voltage aka. Charge Vsetpoint = 0x351 byte[0] and byte [1]

Code: Select all

void VEcan() //communication with Victron system over CAN
{
  msg.id  = 0x351;
  msg.len = 8;
  if (storagemode == 0)
  {
    msg.buf[0] = lowByte(uint16_t((settings.ChargeVsetpoint * settings.Scells ) * 10));
    msg.buf[1] = highByte(uint16_t((settings.ChargeVsetpoint * settings.Scells ) * 10));
  }
  else
  {
    msg.buf[0] = lowByte(uint16_t((settings.StoreVsetpoint * settings.Scells ) * 10));
    msg.buf[1] = highByte(uint16_t((settings.StoreVsetpoint * settings.Scells ) * 10));
  }
tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

The standard settings are just "random" you need to set the capacity yourself to what ever works. You can start at name plate and adjust when needed.

Yes that calc works, not 100% required to be accurate not all CCS chargers do anything with the info.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
mane2
Posts: 186
Joined: Fri Jan 13, 2023 6:32 am
Location: Finland
Has thanked: 23 times
Been thanked: 21 times

Re: Simp BMS

Post by mane2 »

There seems to be many forks and copies of Simpbms git repo for different Arduino platforms (eg teensy 4, esp32) and chargers that are not supported by the official software. I plan to use my Teensy 4.0 (as 3.2 is no longer available) with X5 pack and Outlander charger. I've seen outlander support on some repos, but not sure which one to use. Any recommendations?

I was also thinking of using BMS Safetybox for precharge, contactor control and maybe for current sensor if possible. This way I wouldn't need anything else than added can transceiver.

Not sure if any of those simpbms forks support that combo, teensy 4 & outlander charger & safetybox?
User avatar
rstevens81
Posts: 357
Joined: Sun Dec 22, 2019 10:36 am
Location: Bristol, UK
Has thanked: 24 times
Been thanked: 92 times

Re: Simp BMS

Post by rstevens81 »

these forks are not affiliated with simp or tom, we are doing out own thing, unless you know what you are doing i would recommend buying either a real simp bms or the newer evs-bms from toms suppliers.

Although its fun developing a board for your own purposes and porting code the time spent will be questionable against just buying the simp bms. (i know because im the idiot that designed the spaceballs (esp32) pcb and wouldn't go as far to recommend it it to someone [due to the esp32 can bug & the beta nature of the code]).

in terms of sbox prob best go with zombie for that as thats known to work
Rule 1 of EV Club is don't buy a rust bucket....
Which rule does everyone forget 🤪
Jacobsmess
Posts: 519
Joined: Thu Mar 02, 2023 1:30 pm
Location: Uk
Has thanked: 260 times
Been thanked: 70 times

Re: Simp BMS

Post by Jacobsmess »

rstevens81 wrote: Wed Apr 24, 2024 8:31 am i would recommend buying either a real simp bms or the newer evs-bms from toms suppliers.
Correct me if I'm wrong but simpbms is not for sale anywhere as far as I can tell.
User avatar
mane2
Posts: 186
Joined: Fri Jan 13, 2023 6:32 am
Location: Finland
Has thanked: 23 times
Been thanked: 21 times

Re: Simp BMS

Post by mane2 »

rstevens81 wrote: Wed Apr 24, 2024 8:31 am these forks are not affiliated with simp or tom, we are doing out own thing, unless you know what you are doing i would recommend buying either a real simp bms or the newer evs-bms from toms suppliers.
Yeah, well aware of that. Though, I would probably buy that evs-bms (or discontinued simpbms) if it would support that combo.
rstevens81 wrote: Wed Apr 24, 2024 8:31 am Although its fun developing a board for your own purposes and porting code the time spent will be questionable against just buying the simp bms. (i know because im the idiot that designed the spaceballs (esp32) pcb and wouldn't go as far to recommend it it to someone [due to the esp32 can bug & the beta nature of the code]).
ESP32 is less than half price of Teensy 4, but was there some other advantages using ESP32 instead of Teensy 4?
rstevens81 wrote: Wed Apr 24, 2024 8:31 am in terms of sbox prob best go with zombie for that as thats known to work
I could have a stab doing that port myself. I'd like to have only one Arduino doing all this stuff. Less wiring and less devices communicating with each other = less problems. BMW Safetybox sources/info seems to be here https://github.com/damienmaguire/BMW_SBox

Found this BMW PHEV & Outlander charger repo https://github.com/aot93/BMWPhevBMS-OutlanderCharger

Would be great if there would be BMWPhevBMS repo with Teensy 4 support. Maybe there is?
tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

I can look at adding the saftey box into the EVS-BMS supported ones. Yes I do not know if the Sbox can live on the same bus as the battery modules and still work. Luckily the EVS-BMS has two CAN busses.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
royhen99
Posts: 221
Joined: Sun Feb 20, 2022 4:23 am
Location: N. Wiltshire. UK
Has thanked: 17 times
Been thanked: 109 times

Re: Simp BMS

Post by royhen99 »

I tested this last year. Battery modules and Sbox clash on id 0x100 so can not share the same bus.
alexbeatle
Posts: 171
Joined: Sun Jan 03, 2021 6:12 am
Has thanked: 52 times
Been thanked: 17 times

Re: Simp BMS

Post by alexbeatle »

I spun the wheels of my car with the full pack today for the first time. After 10mins or so, BMS went into "error" claiming series connection fault. Even after the motor stopped spinning.
Never had this before previously- when motor stationary or running at half-pack sometime ago. After rebooting, BMS went into ready, but still "series fault", though then recovered.
I have 2 packs. 1st pack - modules #1-5, 2nd pack - modules 6-14.
Any clue what could cause this?

Code: Select all

21:20:06.758 -> 0
21:20:06.758 -> BMS Status : 5 Error     84
21:20:06.758 -> Out:0000 Cont:0000 In:0000 Charge Current Limit : 0 A DisCharge Current Limit : 0 A
21:20:06.758 -> 
21:20:06.758 -> 
21:20:06.758 -> Modules: 14 Cells: 0 Strings: 1  Voltage: 0.000V   Avg Cell Voltage: nanV  Low Cell Voltage: 5.000V   High Cell Voltage: 0.000V Delta Voltage: -5000mV   Avg Temp: 0.000C 
21:20:06.758 -> 
21:20:06.758 -> Module #1   0.00V   Cell0: 0.00V   Cell1: 0.00V   Cell2: 0.00V   Cell3: 0.00V   Cell4: 0.00V   Cell5: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #2   0.00V   Cell6: 0.00V   Cell7: 0.00V   Cell8: 0.00V   Cell9: 0.00V  Cell10: 0.00V  Cell11: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #3   0.00V  Cell12: 0.00V  Cell13: 0.00V  Cell14: 0.00V  Cell15: 0.00V  Cell16: 0.00V  Cell17: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #4   0.00V  Cell18: 0.00V  Cell19: 0.00V  Cell20: 0.00V  Cell21: 0.00V  Cell22: 0.00V  Cell23: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #5   0.00V  Cell24: 0.00V  Cell25: 0.00V  Cell26: 0.00V  Cell27: 0.00V  Cell28: 0.00V  Cell29: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #6   0.00V  Cell30: 0.00V  Cell31: 0.00V  Cell32: 0.00V  Cell33: 0.00V  Cell34: 0.00V  Cell35: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #7   0.00V  Cell36: 0.00V  Cell37: 0.00V  Cell38: 0.00V  Cell39: 0.00V  Cell40: 0.00V  Cell41: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.758 -> Module #8   0.00V  Cell42: 0.00V  Cell43: 0.00V  Cell44: 0.00V  Cell45: 0.00V  Cell46: 0.00V  Cell47: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> Module #9   0.00V  Cell48: 0.00V  Cell49: 0.00V  Cell50: 0.00V  Cell51: 0.00V  Cell52: 0.00V  Cell53: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> Module #10  0.00V  Cell54: 0.00V  Cell55: 0.00V  Cell56: 0.00V  Cell57: 0.00V  Cell58: 0.00V  Cell59: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> Module #11  0.00V  Cell60: 0.00V  Cell61: 0.00V  Cell62: 0.00V  Cell63: 0.00V  Cell64: 0.00V  Cell65: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> Module #12  0.00V  Cell66: 0.00V  Cell67: 0.00V  Cell68: 0.00V  Cell69: 0.00V  Cell70: 0.00V  Cell71: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> Module #13  0.00V  Cell72: 0.00V  Cell73: 0.00V  Cell74: 0.00V  Cell75: 0.00V  Cell76: 0.00V  Cell77: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> Module #14  0.00V  Cell78: 0.00V  Cell79: 0.00V  Cell80: 0.00V  Cell81: 0.00V  Cell82: 0.00V  Cell83: 0.00V  Neg Term Temp: 0.00C  Pos Term Temp: 0.00C
21:20:06.759 -> CANbus   1216488320.00mA  100% SOC 210000.00mAh  
21:20:06.759 ->    !!! Series Cells Fault !!!  
21:20:22.938 -> Starting up!
21:20:22.938 -> SimpBMS V2 Tesla
21:20:22.938 -> 
21:20:22.938 -> Reason for last Reset: 
21:20:22.938 -> Power-on Reset
21:20:22.938 -> Low-voltage Detect Reset
21:20:22.938 -> 
21:20:22.938 -> Started serial interface to BMS.
21:20:24.639 -> Recovery SOC: 
21:20:24.639 -> 100
21:20:25.135 -> 
21:20:24.639 -> Recovery SOC: 
21:20:24.639 -> 100
21:20:25.135 -> 
21:20:25.135 -> 0
21:20:25.135 -> BMS Status : 1 Ready     0
21:20:25.135 -> Out:0000 Cont:0000 In:0000 Charge Current Limit : 0 A DisCharge Current Limit : 0 A
21:20:25.135 -> 
21:20:25.135 -> 
21:20:25.135 -> Modules: 14 Cells: 0 Strings: 1  Voltage: 324.503V   Avg Cell Voltage: 3.863V  Low Cell Voltage: 3.848V   High Cell Voltage: 3.867V Delta Voltage: 19mV   Avg Temp: 22.626C 
21:20:25.135 -> 
21:20:25.135 -> Module #1   23.16V   Cell0: 3.86V   Cell1: 3.86V   Cell2: 3.86V   Cell3: 3.86V   Cell4: 3.86V   Cell5: 3.85V  Neg Term Temp: 22.12C  Pos Term Temp: 21.35C
21:20:25.135 -> Module #2   23.17V   Cell6: 3.86V   Cell7: 3.86V   Cell8: 3.86V   Cell9: 3.86V  Cell10: 3.86V  Cell11: 3.86V  Neg Term Temp: 22.74C  Pos Term Temp: 21.69C
21:20:25.135 -> Module #3   23.18V  Cell12: 3.86V  Cell13: 3.86V  Cell14: 3.86V  Cell15: 3.86V  Cell16: 3.86V  Cell17: 3.86V  Neg Term Temp: 22.58C  Pos Term Temp: 21.98C
21:20:25.135 -> Module #4   23.18V  Cell18: 3.86V  Cell19: 3.86V  Cell20: 3.86V  Cell21: 3.86V  Cell22: 3.86V  Cell23: 3.86V  Neg Term Temp: 22.67C  Pos Term Temp: 22.06C
21:20:25.135 -> Module #5   23.18V  Cell24: 3.86V  Cell25: 3.86V  Cell26: 3.87V  Cell27: 3.86V  Cell28: 3.86V  Cell29: 3.86V  Neg Term Temp: 22.72C  Pos Term Temp: 22.26C
21:20:25.135 -> Module #6   23.18V  Cell30: 3.86V  Cell31: 3.86V  Cell32: 3.86V  Cell33: 3.87V  Cell34: 3.86V  Cell35: 3.86V  Neg Term Temp: 23.15C  Pos Term Temp: 22.52C
21:20:25.135 -> Module #7   23.18V  Cell36: 3.86V  Cell37: 3.86V  Cell38: 3.86V  Cell39: 3.86V  Cell40: 3.86V  Cell41: 3.86V  Neg Term Temp: 23.65C  Pos Term Temp: 22.82C
21:20:25.135 -> Module #8   23.18V  Cell42: 3.86V  Cell43: 3.86V  Cell44: 3.86V  Cell45: 3.86V  Cell46: 3.86V  Cell47: 3.86V  Neg Term Temp: 23.13C  Pos Term Temp: 22.20C
21:20:25.135 -> Module #9   23.17V  Cell48: 3.86V  Cell49: 3.86V  Cell50: 3.86V  Cell51: 3.86V  Cell52: 3.86V  Cell53: 3.86V  Neg Term Temp: 22.87C  Pos Term Temp: 22.40C
21:20:25.135 -> Module #10  23.18V  Cell54: 3.86V  Cell55: 3.86V  Cell56: 3.86V  Cell57: 3.86V  Cell58: 3.86V  Cell59: 3.86V  Neg Term Temp: 23.34C  Pos Term Temp: 22.77C
21:20:25.135 -> Module #11  23.18V  Cell60: 3.86V  Cell61: 3.86V  Cell62: 3.86V  Cell63: 3.86V  Cell64: 3.86V  Cell65: 3.86V  Neg Term Temp: 22.99C  Pos Term Temp: 22.29C
21:20:25.135 -> Module #12  23.19V  Cell66: 3.86V  Cell67: 3.87V  Cell68: 3.87V  Cell69: 3.87V  Cell70: 3.87V  Cell71: 3.86V  Neg Term Temp: 23.09C  Pos Term Temp: 22.40C
21:20:25.135 -> Module #13  23.19V  Cell72: 3.86V  Cell73: 3.87V  Cell74: 3.87V  Cell75: 3.87V  Cell76: 3.87V  Cell77: 3.86V  Neg Term Temp: 23.42C  Pos Term Temp: 22.63C
21:20:25.135 -> Module #14  23.18V  Cell78: 3.86V  Cell79: 3.87V  Cell80: 3.86V  Cell81: 3.86V  Cell82: 3.86V  Cell83: 3.86V  Neg Term Temp: 23.21C  Pos Term Temp: 22.47C
21:20:25.135 -> CANbus   0.00mA  70% SOC 147000.00mAh  
21:20:25.135 ->    !!! Series Cells Fault !!!  
21:20:25.648 -> 
21:20:25.648 -> 
21:20:25.648 -> 0
21:20:25.648 -> BMS Status : 1 Ready     0
21:20:25.648 -> Out:0000 Cont:0000 In:0000 Charge Current Limit : 30 A DisCharge Current Limit : 30 A
21:20:25.648 -> 
21:20:25.648 -> 
21:20:25.648 -> Modules: 14 Cells: 0 Strings: 1  Voltage: 324.490V   Avg Cell Voltage: 3.863V  Low Cell Voltage: 3.848V   High Cell Voltage: 3.866V Delta Voltage: 18mV   Avg Temp: 22.577C 
21:20:25.648 -> 21:20:25.648 -> Module #1   23.16V   Cell0: 3.86V   Cell1: 3.86V   Cell2: 3.86V   Cell3: 3.86V   Cell4: 3.86V   Cell5: 3.85V  Neg Term Temp: 22.07C  Pos Term Temp: 21.30C
21:20:25.648 -> Module #2   23.17V   Cell6: 3.86V   Cell7: 3.86V   Cell8: 3.86V   Cell9: 3.86V  Cell10: 3.86V  Cell11: 3.86V  Neg Term Temp: 22.69C  Pos Term Temp: 21.64C
21:20:25.648 -> Module #3   23.18V  Cell12: 3.86V  Cell13: 3.86V  Cell14: 3.86V  Cell15: 3.86V  Cell16: 3.86V  Cell17: 3.86V  Neg Term Temp: 22.53C  Pos Term Temp: 21.92C
21:20:25.648 -> Module #4   23.18V  Cell18: 3.86V  Cell19: 3.86V  Cell20: 3.86V  Cell21: 3.86V  Cell22: 3.86V  Cell23: 3.86V  Neg Term Temp: 22.62C  Pos Term Temp: 22.00C
21:20:25.648 -> Module #5   23.18V  Cell24: 3.86V  Cell25: 3.86V  Cell26: 3.86V  Cell27: 3.86V  Cell28: 3.86V  Cell29: 3.86V  Neg Term Temp: 22.67C  Pos Term Temp: 22.22C
21:20:25.648 -> Module #6   23.18V  Cell30: 3.86V  Cell31: 3.86V  Cell32: 3.86V  Cell33: 3.87V  Cell34: 3.86V  Cell35: 3.86V  Neg Term Temp: 23.13C  Pos Term Temp: 22.49C
21:20:25.648 -> Module #7   23.18V  Cell36: 3.86V  Cell37: 3.86V  Cell38: 3.86V  Cell39: 3.86V  Cell40: 3.86V  Cell41: 3.86V  Neg Term Temp: 23.61C  Pos Term Temp: 22.78C
21:20:25.648 -> Module #8   23.18V  Cell42: 3.86V  Cell43: 3.86V  Cell44: 3.86V  Cell45: 3.86V  Cell46: 3.86V  Cell47: 3.86V  Neg Term Temp: 23.09C  Pos Term Temp: 22.14C
21:20:25.648 -> Module #9   23.16V  Cell48: 3.86V  Cell49: 3.86V  Cell50: 3.86V  Cell51: 3.86V  Cell52: 3.86V  Cell53: 3.86V  Neg Term Temp: 22.82C  Pos Term Temp: 22.35C
21:20:25.648 -> Module #10  23.18V  Cell54: 3.86V  Cell55: 3.86V  Cell56: 3.86V  Cell57: 3.86V  Cell58: 3.86V  Cell59: 3.86V  Neg Term Temp: 23.29C  Pos Term Temp: 22.72C
21:20:25.648 -> Module #11  23.18V  Cell60: 3.86V  Cell61: 3.86V  Cell62: 3.86V  Cell63: 3.86V  Cell64: 3.86V  Cell65: 3.86V  Neg Term Temp: 22.94C  Pos Term Temp: 22.22C
21:20:25.648 -> Module #12  23.19V  Cell66: 3.86V  Cell67: 3.87V  Cell68: 3.87V  Cell69: 3.87V  Cell70: 3.87V  Cell71: 3.86V  Neg Term Temp: 23.04C  Pos Term Temp: 22.35C
21:20:25.648 -> Module #13  23.19V  Cell72: 3.86V  Cell73: 3.87V  Cell74: 3.87V  Cell75: 3.87V  Cell76: 3.87V  Cell77: 3.86V  Neg Term Temp: 23.36C  Pos Term Temp: 22.58C
21:20:25.648 -> Module #14  23.18V  Cell78: 3.86V  Cell79: 3.87V  Cell80: 3.86V  Cell81: 3.86V  Cell82: 3.86V  Cell83: 3.86V  Neg Term Temp: 23.17C  Pos Term Temp: 22.43C
21:20:25.648 ->   
21:20:25.648 -> //////////////////////////////////////// SOC SET ////////////////////////////////////////
21:20:25.648 -> CANbus   0.00mA  70% SOC 147000.00mAh
21:20:26.104 -> 
21:20:26.104 -> 0
21:20:26.104 -> BMS Status : 1 Ready     0
21:20:26.104 -> Out:0000 Cont:0000 In:0000 Charge Current Limit : 30 A DisCharge Current Limit : 30 A
21:20:26.104 -> 
21:20:26.104 -> 
21:20:26.104 -> Modules: 14 Cells: 0 Strings: 1  Voltage: 324.493V   Avg Cell Voltage: 3.863V  Low Cell Voltage: 3.848V   High Cell Voltage: 3.866V Delta Voltage: 18mV   Avg Temp: 22.590C 
21:20:26.104 -> 
21:20:26.104 -> Module #1   23.16V   Cell0: 3.86V   Cell1: 3.86V   Cell2: 3.86V   Cell3: 3.86V   Cell4: 3.86V   Cell5: 3.85V  Neg Term Temp: 22.08C  Pos Term Temp: 21.30C
21:20:26.104 -> Module #2   23.17V   Cell6: 3.86V   Cell7: 3.86V   Cell8: 3.86V   Cell9: 3.86V  Cell10: 3.86V  Cell11: 3.86V  Neg Term Temp: 22.71C  Pos Term Temp: 21.66C
21:20:26.104 -> Module #3   23.18V  Cell12: 3.86V  Cell13: 3.86V  Cell14: 3.86V  Cell15: 3.86V  Cell16: 3.86V  Cell17: 3.86V  Neg Term Temp: 22.55C  Pos Term Temp: 21.94C
21:20:26.104 -> Module #4   23.18V  Cell18: 3.86V  Cell19: 3.86V  Cell20: 3.86V  Cell21: 3.87V  Cell22: 3.86V  Cell23: 3.86V  Neg Term Temp: 22.63C  Pos Term Temp: 22.02C
21:20:26.104 -> Module #5   23.18V  Cell24: 3.86V  Cell25: 3.86V  Cell26: 3.86V  Cell27: 3.86V  Cell28: 3.86V  Cell29: 3.86V  Neg Term Temp: 22.69C  Pos Term Temp: 22.24C
21:20:26.104 -> Module #6   23.18V  Cell30: 3.86V  Cell31: 3.86V  Cell32: 3.86V  Cell33: 3.87V  Cell34: 3.86V  Cell35: 3.86V  Neg Term Temp: 23.13C  Pos Term Temp: 22.50C
21:20:26.104 -> Module #7   23.18V  Cell36: 3.86V  Cell37: 3.86V  Cell38: 3.86V  Cell39: 3.86V  Cell40: 3.86V  Cell41: 3.86V  Neg Term Temp: 23.63C  Pos Term Temp: 22.79C
21:20:26.104 -> Module #8   23.18V  Cell42: 3.86V  Cell43: 3.86V  Cell44: 3.86V  Cell45: 3.86V  Cell46: 3.86V  Cell47: 3.86V  Neg Term Temp: 23.10C  Pos Term Temp: 22.15C
21:20:26.104 -> Module #9   23.16V  Cell48: 3.86V  Cell49: 3.86V  Cell50: 3.86V  Cell51: 3.86V  Cell52: 3.86V  Cell53: 3.86V  Neg Term Temp: 22.83C  Pos Term Temp: 22.37C
21:20:26.104 -> Module #10  23.18V  Cell54: 3.86V  Cell55: 3.86V  Cell56: 3.86V  Cell57: 3.86V  Cell58: 3.86V  Cell59: 3.86V  Neg Term Temp: 23.30C  Pos Term Temp: 22.73C
21:20:26.104 -> Module #11  23.18V  Cell60: 3.86V  Cell61: 3.86V  Cell62: 3.86V  Cell63: 3.86V  Cell64: 3.86V  Cell65: 3.86V  Neg Term Temp: 22.95C  Pos Term Temp: 22.23C
21:20:26.104 -> Module #12  23.19V  Cell66: 3.86V  Cell67: 3.87V  Cell68: 3.87V  Cell69: 3.87V  Cell70: 3.87V  Cell71: 3.86V  Neg Term Temp: 23.06C  Pos Term Temp: 22.36C
21:20:26.104 -> Module #13  23.19V  Cell72: 3.86V  Cell73: 3.87V  Cell74: 3.87V  Cell75: 3.87V  Cell76: 3.87V  Cell77: 3.86V  Neg Term Temp: 23.38C  Pos Term Temp: 22.60C
21:20:26.104 -> Module #14  23.18V  Cell78: 3.86V  Cell79: 3.87V  Cell80: 3.86V  Cell81: 3.86V  Cell82: 3.86V  Cell83: 3.86V  Neg Term Temp: 23.18C  Pos Term Temp: 22.44C
21:20:26.104 -> CANbus   0.00mA  70% SOC 147000.00mAh
21:20:26.606 -> 
21:20:26.606 -> 0
21:20:26.606 -> BMS Status : 1 Ready     0
21:20:26.606 -> Out:0000 Cont:0000 In:0000 Charge Current Limit : 30 A DisCharge Current Limit : 30 A
21:20:26.606 -> 
21:20:26.606 -> 
21:20:26.606 -> Modules: 14 Cells: 0 Strings: 1  Voltage: 324.489V   Avg Cell Voltage: 3.863V  Low Cell Voltage: 3.848V   High Cell Voltage: 3.867V Delta Voltage: 19mV   Avg Temp: 22.599C 
21:20:26.606 -> 
21:20:26.606 -> Module #1   23.16V   Cell0: 3.86V   Cell1: 3.86V   Cell2: 3.86V   Cell3: 3.86V   Cell4: 3.86V   Cell5: 3.85V  Neg Term Temp: 22.10C  Pos Term Temp: 21.31C
21:20:26.606 -> Module #2   23.17V   Cell6: 3.86V   Cell7: 3.86V   Cell8: 3.86V   Cell9: 3.86V  Cell10: 3.86V  Cell11: 3.86V  Neg Term Temp: 22.71C  Pos Term Temp: 21.66C
21:20:26.606 -> Module #3   23.18V  Cell12: 3.86V  Cell13: 3.86V  Cell14: 3.86V  Cell15: 3.86V  Cell16: 3.86V  Cell17: 3.86V  Neg Term Temp: 22.55C  Pos Term Temp: 21.95C
21:20:26.606 -> Module #4   23.18V  Cell18: 3.86V  Cell19: 3.86V  Cell20: 3.86V  Cell21: 3.86V  Cell22: 3.86V  Cell23: 3.86V  Neg Term Temp: 22.64C  Pos Term Temp: 22.03C
21:20:26.606 -> Module #5   23.18V  Cell24: 3.86V  Cell25: 3.86V  Cell26: 3.86V  Cell27: 3.86V  Cell28: 3.86V  Cell29: 3.86V  Neg Term Temp: 22.70C  Pos Term Temp: 22.25C
21:20:26.606 -> Module #6   23.18V  Cell30: 3.86V  Cell31: 3.86V  Cell32: 3.86V  Cell33: 3.87V  Cell34: 3.86V  Cell35: 3.86V  Neg Term Temp: 23.13C  Pos Term Temp: 22.51C
21:20:26.606 -> Module #7   23.18V  Cell36: 3.86V  Cell37: 3.86V  Cell38: 3.86V  Cell39: 3.86V  Cell40: 3.86V  Cell41: 3.86V  Neg Term Temp: 23.64C  Pos Term Temp: 22.80C
21:20:26.606 -> Module #8   23.17V  Cell42: 3.86V  Cell43: 3.86V  Cell44: 3.86V  Cell45: 3.86V  Cell46: 3.86V  Cell47: 3.86V  Neg Term Temp: 23.11C  Pos Term Temp: 22.16C
21:20:26.606 -> Module #9   23.17V  Cell48: 3.86V  Cell49: 3.86V  Cell50: 3.86V  Cell51: 3.86V  Cell52: 3.86V  Cell53: 3.86V  Neg Term Temp: 22.84C  Pos Term Temp: 22.38C
21:20:26.606 -> Module #10  23.18V  Cell54: 3.86V  Cell55: 3.86V  Cell56: 3.86V  Cell57: 3.86V  Cell58: 3.86V  Cell59: 3.86V  Neg Term Temp: 23.30C  Pos Term Temp: 22.74C
21:20:26.606 -> Module #11  23.18V  Cell60: 3.86V  Cell61: 3.86V  Cell62: 3.86V  Cell63: 3.86V  Cell64: 3.86V  Cell65: 3.86V  Neg Term Temp: 22.95C  Pos Term Temp: 22.24C
21:20:26.606 -> Module #12  23.19V  Cell66: 3.86V  Cell67: 3.87V  Cell68: 3.87V  Cell69: 3.87V  Cell70: 3.87V  Cell71: 3.86V  Neg Term Temp: 23.07C  Pos Term Temp: 22.37C
21:20:26.606 -> Module #13  23.19V  Cell72: 3.86V  Cell73: 3.87V  Cell74: 3.87V  Cell75: 3.87V  Cell76: 3.87V  Cell77: 3.86V  Neg Term Temp: 23.40C  Pos Term Temp: 22.61C
21:20:26.606 -> Module #14  23.18V  Cell78: 3.86V  Cell79: 3.87V  Cell80: 3.86V  Cell81: 3.87V  Cell82: 3.86V  Cell83: 3.86V  Neg Term Temp: 23.19C  Pos Term Temp: 22.44C
21:20:26.606 -> CANbus   0.00mA  70% SOC 147000.00mAh
21:20:27.171 -> 
21:20:27.171 -> 0
21:20:27.171 -> BMS Status : 1 Ready     84
21:20:27.171 -> Out:0000 Cont:0000 In:0000 Charge Current Limit : 30 A DisCharge Current Limit : 30 A
21:20:27.171 -> 
21:20:27.171 -> 
21:20:26.606 -> Modules: 14 Cells: 0 Strings: 1  Voltage: 324.489V   Avg Cell Voltage: 3.863V  Low Cell Voltage: 3.848V   High Cell Voltage: 3.867V Delta Voltage: 19mV   Avg Temp: 22.599C 
21:20:26.606 -> 
21:20:26.606 -> Module #1   23.16V   Cell0: 3.86V   Cell1: 3.86V   Cell2: 3.86V   Cell3: 3.86V   Cell4: 3.86V   Cell5: 3.85V  Neg Term Temp: 22.10C  Pos Term Temp: 21.31C
21:20:26.606 -> Module #2   23.17V   Cell6: 3.86V   Cell7: 3.86V   Cell8: 3.86V   Cell9: 3.86V  Cell10: 3.86V  Cell11: 3.86V  Neg Term Temp: 22.71C  Pos Term Temp: 21.66C
21:20:26.606 -> Module #3   23.18V  Cell12: 3.86V  Cell13: 3.86V  Cell14: 3.86V  Cell15: 3.86V  Cell16: 3.86V  Cell17: 3.86V  Neg Term Temp: 22.55C  Pos Term Temp: 21.95C
21:20:26.606 -> Module #4   23.18V  Cell18: 3.86V  Cell19: 3.86V  Cell20: 3.86V  Cell21: 3.86V  Cell22: 3.86V  Cell23: 3.86V  Neg Term Temp: 22.64C  Pos Term Temp: 22.03C
21:20:26.606 -> Module #5   23.18V  Cell24: 3.86V  Cell25: 3.86V  Cell26: 3.86V  Cell27: 3.86V  Cell28: 3.86V  Cell29: 3.86V  Neg Term Temp: 22.70C  Pos Term Temp: 22.25C
21:20:26.606 -> Module #6   23.18V  Cell30: 3.86V  Cell31: 3.86V  Cell32: 3.86V  Cell33: 3.87V  Cell34: 3.86V  Cell35: 3.86V  Neg Term Temp: 23.13C  Pos Term Temp: 22.51C
21:20:26.606 -> Module #7   23.18V  Cell36: 3.86V  Cell37: 3.86V  Cell38: 3.86V  Cell39: 3.86V  Cell40: 3.86V  Cell41: 3.86V  Neg Term Temp: 23.64C  Pos Term Temp: 22.80C
21:20:26.606 -> Module #8   23.17V  Cell42: 3.86V  Cell43: 3.86V  Cell44: 3.86V  Cell45: 3.86V  Cell46: 3.86V  Cell47: 3.86V  Neg Term Temp: 23.11C  Pos Term Temp: 22.16C
21:20:26.606 -> Module #9   23.17V  Cell48: 3.86V  Cell49: 3.86V  Cell50: 3.86V  Cell51: 3.86V  Cell52: 3.86V  Cell53: 3.86V  Neg Term Temp: 22.84C  Pos Term Temp: 22.38C
21:20:26.606 -> Module #10  23.18V  Cell54: 3.86V  Cell55: 3.86V  Cell56: 3.86V  Cell57: 3.86V  Cell58: 3.86V  Cell59: 3.86V  Neg Term Temp: 23.30C  Pos Term Temp: 22.74C
21:20:26.606 -> Module #11  23.18V  Cell60: 3.86V  Cell61: 3.86V  Cell62: 3.86V  Cell63: 3.86V  Cell64: 3.86V  Cell65: 3.86V  Neg Term Temp: 22.95C  Pos Term Temp: 22.24C
21:20:26.606 -> Module #12  23.19V  Cell66: 3.86V  Cell67: 3.87V  Cell68: 3.87V  Cell69: 3.87V  Cell70: 3.87V  Cell71: 3.86V  Neg Term Temp: 23.07C  Pos Term Temp: 22.37C
21:20:26.606 -> Module #13  23.19V  Cell72: 3.86V  Cell73: 3.87V  Cell74: 3.87V  Cell75: 3.87V  Cell76: 3.87V  Cell77: 3.86V  Neg Term Temp: 23.40C  Pos Term Temp: 22.61C
21:20:26.606 -> Module #14  23.18V  Cell78: 3.86V  Cell79: 3.87V  Cell80: 3.86V  Cell81: 3.87V  Cell82: 3.86V  Cell83: 3.86V  Neg Term Temp: 23.19C  Pos Term Temp: 22.44C
21:20:26.606 -> CANbus   0.00mA  70% SOC 147000.00mAh
tom91
Posts: 1330
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 106 times
Been thanked: 228 times

Re: Simp BMS

Post by tom91 »

Communication crashing due to interference.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Post Reply