Wiki source code of BMS Main 3X

Last modified by Admin on 2025/10/27 11:43

Show last authors
1 (% class="box infomessage" %)
2 (((
3 BMS Main 3X firmware update procedure is described [[here>>doc:Battery management systems.BMS Main 3.5\. Firmware update.WebHome]].
4 )))
5
6 = v3.6.2 =
7
8 [[BMS_Main_3X_v3.6.2.bin>>FileManager.BMS_Main_3X_v3\.6\.2\.bin]]
9
10 == Improvements ==
11
12 * turning on power switches with a delay of 1 second after reaching the supply voltage of 9V
13 * Unibat: new flag that allows to hide the insulation testing status when repeating measurements (see the "External equipment - Unibat vehicle" section)
14 * expansion of the list of parameters that are reset to default values when the device is powered on while holding the button on the board. The following parameters are affected: all CAN1 (ext) settings; all CAN2 (int) settings; all CAN3 (BMS) settings; all RS-485-1 (Modbus) settings; LAN settings: IP mode, IP address, Netmask, Gateway address
15
16 == Fixes ==
17
18 * resolving the issue of false warnings indicating that the battery current exceeds the current limits (affects Unibat vehicle)
19 * Unibat: changes that make it so that the output period is responsible for only 4 messages, not for all messages (see the "External equipment - Unibat vehicle" section)
20 * Unibat: resolving the issue of TP messages not being sent if the transport is already transmitting something at the time of the request
21 * corrections of typos in parameter descriptions
22
23 = v3.6.1 =
24
25 [[BMS_Main_3X_v3.6.1.bin>>FileManager.BMS_Main_3X_v3\.6\.1\.bin]]
26
27 == Improvements ==
28
29 * new parameters for switching to the sum of battery modules' currents if the current sensor error is detected or the sensor is saturated (see the "Inputs - Current sensor" section)
30 * new flag allowing to swap CAN2 (int) and CAN3 (BMS) interfaces (see the "Connectivity" section under the service account)
31
32 = v3.6.0 =
33
34 [[BMS_Main_3X_v3.6.0.bin>>FileManager.BMS_Main_3X_v3\.6\.0\.bin]]
35
36 == Features ==
37
38 * Unibat: refined algorithms and new parameters to meet requirements of version 8.5 of the logic (protocol v6.1)
39
40 == Improvements ==
41
42 * new flag enabling fast current measurements (see the "Signals - Current sensor" section)
43 * new parameters to ignore the specified errors when setting the critical error (see the "Protections - Critical error" section)
44 * displaying HV calibration values for the service account (see the "Service - Calibration" section)
45 * Unibat: structuring parameters into subgroups: "General parameters", "Battery parameters", "Diagnostic parameters", "Power limiting parameters", "Battery version" (see the "External equipment - Unibat vehicle" section)
46
47 = v3.5.0 =
48
49 [[BMS_Main_3X_v3.5.0.bin>>FileManager.BMS_Main_3X_v3\.5\.0\.bin]]
50
51 == Features ==
52
53 * support for sending battery state and events via MQTT protocol via Wi-Fi or cellular network (see the "Service - MQTT" section)
54
55 == Improvements ==
56
57 * support for secure (TLS) connections in BMS GSM v1 and v2 drivers
58
59 == Fixes ==
60
61 * synchronization of the precharge procedure with the charge/discharge algorithms, so that precharge is stopped if charging and discharging are prohibited
62
63 = v3.4.0 =
64
65 [[BMS_Main_3X_v3.4.0.bin>>FileManager.BMS_Main_3X_v3\.4\.0\.bin]]
66
67 == Features ==
68
69 * new protection checking that the voltage of joined battery modules is equal to the voltage before contactors (the "High voltage 1" value). If this is not the case, the error "Battery voltage mismatch" is generated (see the "Protections - Battery voltage" section)
70
71 == Improvements ==
72
73 * new CLI command "find-log" which finds a log file containing a specified timestamp
74 * ability to acknowledge battery module errors via CLI (see the "Service - Errors journal" section) and Modbus protocol
75
76 == Fixes ==
77
78 * resolving the issue of rebooting the device if formatting the SD card is activated
79
80 = v3.3.0 =
81
82 [[BMS_Main_3X_v3.3.0.bin>>FileManager.BMS_Main_3X_v3\.3\.0\.bin]]
83
84 == Features ==
85
86 * ability to calibrate high voltage measuring means, available starting with the service account (see the "Service - Calibration" section)
87
88 == Improvements ==
89
90 * new type of temperature sensors: NTC 10k B25/50=3380K (see the "Signals - Temperature sensors" section)
91
92
93 = v3.2.5 =
94
95 [[BMS_Main_3X_v3.2.5.bin>>FileManager.BMS_Main_3X_v3\.2\.5\.bin]]
96
97 == Improvements ==
98
99 * dynamic calculation of data transfer schedule for optimal communication with a large number of battery modules
100 * ability to complete device initialization after the set timeout has expired and the minimum number of modules has been detected (see the "Control - Initialization" section)
101 * 30 second delay when remounting SD card after detecting mount error
102 * saving the number of joined modules in log files
103 * Unibat: new flag disabling insulation measurement
104 * Unibat: calculation of the battery current depending on the connection variant of current sensors
105 * Unibat: preventing HVILS changes if the battery is in power-down state
106
107 == Fixes ==
108
109 * resolving the problem of ignoring the parameter that selects the connection variant of current sensors
110 * Unibat: corrections in message identifiers HVESSS1, HVESSD2, HVESSD3, HVESSD8, storing battery module data
111 * Unibat: corrections in HVESSCFG message priority
112
113 = v3.2.4 =
114
115 [[BMS_Main_3X_v3.2.4.bin>>FileManager.BMS_Main_3X_v3\.2\.4\.bin]]
116
117 == Improvements ==
118
119 * new flags that allow to interrupt (shorten) the module balancing stage if all battery modules are already joined (see the "Control - Charge", "Control - Discharge", "Control - Charge/Discharge" sections)
120 * forwarding CLI and bootloader CAN messages from CAN1 interface to CAN2 interface and back, that allows the user to configure and update the firmware of internal devices such as BMS IMD or BMS Display
121 * new parameter for setting the type of network to which the BMS GSM communication module connects (see the "Connectivity - Cellular" section)
122
123 == Fixes ==
124
125 * Unibat: resolving the problem of calculating the CRC of the HVESSS1 message
126 * Unibat: resolving the problem of sending a message about battery disconnection even it is already disconnected
127
128 = v3.2.3 =
129
130 [[BMS_Main_3X_v3.2.3.bin>>FileManager.BMS_Main_3X_v3\.2\.3\.bin]]
131
132 == Improvements ==
133
134 * forwarding CLI and bootloader CAN messages from CAN1 and CAN2 interfaces to CAN3 interface and back, that allows the user to configure and update the firmware of battery modules without direct connection to the modules
135 * ability to acknowledge errors in the error journal via the Modbus protocol (holding registers 0x4100-0x4101)
136 * ability to update the device serial number from the service account if the number is reset to the default value for some reason (see the "Service" section)
137 * new flag that controls whether to use open circuit voltage or actual voltage when determining the voltage unbalance error (see the "Protections - Voltage unbalance (in any state)" section)
138 * new regulator that maintains battery current limiting to ensure that actual module currents do not exceed their current limits (see the "Control - Charge", "Control - Discharge", "Control - Charge/Discharge" sections)
139 * ability to select the battery module errors that cause the battery critical error (see the "Protections - Critical error" section)
140 * Unibat: refined algorithms and new parameters to meet requirements of version 7 of the logic
141
142 == Fixes ==
143
144 * resolving the problem of saving discrete input signals of battery modules in log files
145
146 = v3.2.1 =
147
148 [[BMS_Main_3X_v3.2.1.bin>>FileManager.BMS_Main_3X_v3\.2\.1\.bin]]
149
150 == Improvements ==
151
152 * new parameter that sets the delay before measuring the current to determine that precharge is finished (see the "Control - Precharge" section)
153 * ability to exclude errors from being saved in the error journal (see the "Service - Errors journal" section)
154 * new flags indicating the readiness of battery modules to join for charging and discharging (see the "Modules" section)
155 * new flag to set the "Voltage unbalance" errors for battery modules that are not ready to charge or discharge (see the "Protections - Voltage unbalance (in any state)" section)
156 * Unibat: new parameters setting the BMS and VCU addresses (see the "External equipment - Unibat vehicle" section)
157 * Unibat: new flag to invert the discharge current limit sent to the vehicle (see the "External equipment - Unibat vehicle" section)
158 * Unibat: using the difference between the maximum and minimum temperatures among all cells as an input for the coolant pump controller
159 * Unibat: automatically switch from discharging to charging mode if the CHARGE_ON signal or the charging station command is set (without rejoining the battery)
160 * extension of the CANopen dictionary to provide additional information for the BMS Display (device serial number, battery serial number, battery address, Wi-Fi and LAN addresses, SOH, capacity, etc.)
161
162 == Fixes ==
163
164 * resolving the issue of ignoring the minimum number of battery modules allowed to join located in the "Control - Discharge" section
165 * resolving the issue of joining battery modules the number of which must be greater than or equal to the minimum value specified in the settings
166 * making the service reset function work properly
167 * small internal fixes
168
169 = v3.2.0 =
170
171 (% class="wikigeneratedid" %)
172 [[BMS_Main_3X_v3.2.0.bin>>FileManager.BMS_Main_3X_v3\.2\.0\.bin]]
173
174 == Features ==
175
176 * new algorithm in the Charging/Discharging controller that allow to control the Charging/Discharging contactor independently from the Charging and Discharging signals (see the "Control - Charge/Discharge" section). The new "Independent" algorithm is preferred in the battery systems with one contactor
177 * new "Need acknowledge" warning signal that is set when a new record is created in the errors journal. The signal can be cleared in the "Service - Errors journal" section
178 * new Max-Min algorithm for calculating the final battery SOC in the "Control - Calculation" section
179 * improved control of the precharging contactor, which can precharge capacitive load using multiple attempts and detect high power dissipated in the precharge resistor (see the "Control - Precharge" section)
180 * ability to select errors that the device saves in the errors journal (see the "Service - Errors journal" section)
181
182 == Improvements ==
183
184 * ability to finish device initialization even if the number of battery modules found is less than the number of modules enabled
185 * ability to configure and monitor the device via the CAN1 (ext) bus
186 * placing the device input signals to the "Battery" section and adding raw discrete inputs to the "Signals" section
187 * Unibat: support for functional description v3.5 (protocol v1.5)
188
189 = v3.1.1 =
190
191 [[BMS_Main_3X_v3.1.1.bin>>FileManager.BMS_Main_3X_v3\.1\.1\.bin]]
192
193 == Fixes ==
194
195 * resolving the problem of incorrect range of temperature parameter values (in the "Control - Coolant pump" section)
196 * resolving the possible problem of saving device parameters
197 * resolving the problem of writing the device's working time to a non-volatile memory very often
198 * resolving the issue of preparing battery module states written to Modbus registers
199
200 = v3.1.0 =
201
202 [[BMS_Main_3X_v3.1.0.bin>>FileManager.BMS_Main_3X_v3\.1\.0\.bin]]
203
204 == Features ==
205
206 * new parameter to set the minimum number of battery modules allowed to join (see the "Control - Charge" and "Control - Discharge" sections)
207 * ability to rejoin battery modules if their voltage is close to the battery voltage (see the "Control - Charge" and "Control - Discharge" sections)
208 * selection of errors that cause reset of contactor control signals (see the "Control - Main contactor", "Control - Charge", "Control - Discharge", "Control - Heater", "Control - Cooler", "Control - Coolant pump" sections)
209 * new internal signal "General error (modules)" which is the logical sum of the "General error" signals from the battery modules
210 * new assignments "Critical error" and "General error (modules)" for the discrete outputs and power switches (see the "Signals - Output discrete signals - Assignments" and "Signals - Power switches - Assignments" sections)
211
212 == Improvements ==
213
214 * use the measured voltage before contactors as the battery voltage if the "Control - High voltage" function is enabled
215 * Unibat: new flag to enable sending a control message to start/stop ventilation fans installed in the battery modules (see the "External equipment - Unibat vehicle" section)
216 * rearrangements in the settings sections, which are made to simplify the setup process
217
218 == Fixes ==
219
220 * Unibat: minor changes in the communication protocol