Wiki source code of BMS Main 3

Last modified by Admin on 2026/09/14 06:06

Show last authors
1 (% class="box infomessage" %)
2 (((
3 BMS Main 3 firmware update procedure is described [[here>>doc:Battery management systems.BMS Main 3.6\. Firmware update.WebHome]].
4 )))
5
6 = v2.11.0 =
7
8 [[BMS_Main_3_v2.11.0.bin>>FileManager.BMS_Main_3_v2\.11\.0\.bin]]
9
10 == Features ==
11
12 * support for the BIT vehicle communication protocol
13
14 == Fixes ==
15
16 * resolving the issue where the device may hang when encountering communication issues while sending a compressed answer via the CLI
17
18 = v2.10.2 =
19
20 [[BMS_Main_3_v2.10.2.bin>>FileManager.BMS_Main_3_v2\.10\.2\.bin]]
21
22 == Fixes ==
23
24 * resolving the problem of device stability when reading/writing large amounts of data using the Modbus protocol
25 * resolving a problem in the cellular communications subsystem
26 * BMS Main 2R: removed unusable parameters from the "Control - Power down" and "Protections - Stuck contactor" sections
27
28 = v2.10.1 =
29
30 [[BMS_Main_3_v2.10.1.bin>>FileManager.BMS_Main_3_v2\.10\.1\.bin]]
31
32 == Improvements ==
33
34 * support for multiple clients expecting compressed CLI responses
35 * deleting old log files when the SD card is full (see the corresponding flag in the "Service - SD card" section)
36 * renaming CAN1 to internal and CAN2 to external for BMS Main 2R
37
38 == Fixes ==
39
40 * resolving the issue with the MicroPower charger
41
42 = v2.10.0 =
43
44 [[BMS_Main_3_v2.10.0.bin>>FileManager.BMS_Main_3_v2\.10\.0\.bin]]
45
46 == Features ==
47
48 * compatibility with the BMS Main 2R device; from this release onwards, the BMS Main 2R firmware version will be the same as the BMS Main 3 firmware version
49 * compressing CLI responses for some commands to speed up data exchange over slow interfaces
50 * ability to reset a device password using a signed token
51
52 == Improvements ==
53
54 * calculating the remaining time until the battery is completely discharged or fully charged
55 * detection of missing cells not only by number but also by their position (see the "Protection - Cell count" section)
56 * detection of missing temperature sensors not only by number but also by their position (see the "Protection - Temperature sensor count" section)
57 * optimization in the MQTT library
58
59 == Fixes ==
60
61 * resolving the issue of incorrect SD card handling when the filesystem is corrupted
62
63 = v2.9.1 =
64
65 [[BMS_Main_3_v2.9.1.bin>>FileManager.BMS_Main_3_v2\.9\.1\.bin]]
66
67 == Improvements ==
68
69 * support for the second bootloader v3
70
71 = v2.9.0 =
72
73 [[BMS_Main_3_v2.9.0.bin>>FileManager.BMS_Main_3_v2\.9\.0\.bin]]
74
75 == Features ==
76
77 * new flag that forces the "Ready to discharge" signal to clear when the "Low SOC" signal is generated (see the "Control - Discharging status" section)
78 * new input signal "Close External 2" which generates the new internal signal "External 2" which can be assigned to a discrete output or a power switch (see the "Signals - Input discrete signals - Assignments", "Signals - Output discrete signals - Assignments", and "Signals - Power switches - Assignments" sections)
79 * ability to configure the generation of "External 1" and "External 2" signals based on other internal signals as an alternative to the "Close External 1" and "Close External 2" commands (see the "Signals - External 1-2 signals" section)
80
81 == Improvements ==
82
83 * new flags for generating the "Ready to charge" and "Ready to discharge" signals using the actual cell voltage instead of the calculated open circuit voltage (see the "Control - Charging status" and "Control - Discharging status" sections)
84 * new flag the forces the device to wait for the "Charge request" and "Discharge request" signals to clear before reconnecting power contactors if the connection to the BMS Main X device is temporarily lost (see the "External equipment - BMS - Main X" section)
85 * new CAN bus speed is not applied until the device is rebooted
86 * logging the following new parameters: "Keyrun", "ChargeOn"
87
88 == Fixes ==
89
90 * resolving the problem of charge, discharge, and charge/discharge contactors closing when the "Precharge request" signal is set
91 * resolving the problem of completing the initialization process before the power switch voltage stabilizes
92 * resolving the problem of resetting the SOC of some cells to zero when starting the device
93
94 = v2.8.1 =
95
96 [[BMS_Main_3_v2.8.1.bin>>FileManager.BMS_Main_3_v2\.8\.1\.bin]]
97
98 == Fixes ==
99
100 * resolving the problem of incorrectly saving battery cell data
101 * resolving the problem where the "HYG offline" error does not occur if the global HYG class is selected in the device settings
102
103 = v2.8.0 =
104
105 [[BMS_Main_3_v2.8.0.bin>>FileManager.BMS_Main_3_v2\.8\.0\.bin]]
106
107 == Features ==
108
109 * new profile section with global battery status, which includes total charge and energy counters, total operating time, contactor switching count, etc. (see the "Profile" tab in the Unified monitor)
110 * new total charge counters (plus and minus)
111 * new SOH estimation algorithm that calculates SOH as a linear function of the total charge (minus) (see the "Control - SOH estimation" section)
112
113 == Improvements ==
114
115 * support for 32-bit BMS Logic serial numbers
116
117 == Fixes ==
118
119 * optimization of the logging process, minimizing the time to open the next log file if the current one is full
120 * resolving the stability problem when the SD card is full
121
122 = v2.7.1 =
123
124 [[BMS_Main_3_v2.7.1.bin>>FileManager.BMS_Main_3_v2\.7\.1\.bin]]
125
126 == Improvements ==
127
128 * turning on power switches with a delay of 1 second after reaching the supply voltage of 9V
129 * ability to generate the "Logic count error" also during BMS initialization (scanning of BMS Logic devices); new parameters for setting delays before/after generating/clearing the error (see the "Protections - Logic count" section)
130 * 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 RS-485-1 (Modbus) settings; LAN settings: IP mode, IP address, Netmask, Gateway address
131
132 == Fixes ==
133
134 * small fixes in dynamic current maps
135
136 = v2.7.0 =
137
138 [[BMS_Main_3_v2.7.0.bin>>FileManager.BMS_Main_3_v2\.7\.0\.bin]]
139
140 == Features ==
141
142 * new algorithm for detecting loss of wire connection to battery cells
143 * new protection for detecting battery cell imbalance (see the "Protections - Cell imbalance" section)
144 * new "Main X offline" error indicating loss of connection with the BMS Main X device
145
146 == Improvements ==
147
148 * new flag enabling fast current measurements (see the "Signals - Current sensor" section)
149 * new parameters that control setting/clearing the "Ready to charge" and "Ready to discharge" signals based on the charge and/or discharge current limits (see the "Control - Charging status" and "Control - Discharging status" sections)
150 * new parameters to ignore the specified errors when setting the critical error (see the "Protections - Critical error" section)
151 * displaying HV calibration values for the service account (see the "Service - Calibration" section)
152
153 = v2.6.0 =
154
155 [[BMS_Main_3_v2.6.0.bin>>FileManager.BMS_Main_3_v2\.6\.0\.bin]]
156
157 == Features ==
158
159 * support for sending battery state and events via MQTT protocol via Wi-Fi or cellular network (see the "Service - MQTT" section)
160
161 == Improvements ==
162
163 * support for secure (TLS) connections in BMS GSM v1 and v2 drivers
164
165 == Fixes ==
166
167 * synchronization of the precharge procedure with the charge/discharge algorithms, so that precharge is stopped if charging and discharging are prohibited
168
169 = v2.5.0 =
170
171 [[BMS_Main_3_v2.5.0.bin>>FileManager.BMS_Main_3_v2\.5\.0\.bin]]
172
173 == Features ==
174
175 * new protection checking that the sum of cell voltages 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)
176 * new protection checking that the number of cell temperature sensors is equal to the specified value. If this is not the case, the "T-sensor count error" is generated (see the "Protections - Temperature sensor count" section)
177
178 == Improvements ==
179
180 * new parameters that configure delays before and after the "Logic offline" error is generated (see the "Protections - Logic offline" section)
181 * new CLI command "find-log" which finds a log file containing a specified timestamp
182
183 == Fixes ==
184
185 * resolving the issue of rebooting the device if formatting the SD card is activated
186
187 = v2.4.0 =
188
189 [[BMS_Main_3_v2.4.0.bin>>FileManager.BMS_Main_3_v2\.4\.0\.bin]]
190
191 == Features ==
192
193 * ability to communicate with BMS Logic devices via CLI (used in service-scripts, for example, to update BMS Logic firmware)
194 * ability to calibrate high voltage measuring means, available starting with the service account (see the "Service - Calibration" section)
195
196 == Improvements ==
197
198 * new type of temperature sensors: NTC 10k B25/50=3380K (see the "Signals - Temperature sensors" section)
199
200 = v2.3.0 =
201
202 [[BMS_Main_3_v2.3.0.bin>>FileManager.BMS_Main_3_v2\.3\.0\.bin]]
203
204 == Improvements ==
205
206 * new parameter for setting the type of temperature sensors 1 and 2 connected to the device (sensors connected to BMS Logic devices and to BMS Main 3 device may differ; see the "Signals - Temperature sensors" section)
207 * new flags that force only positive and negative currents to be used to determine open circuit voltages to control the "Ready to charge" and "Ready to discharge" signals respectively
208 * new parameter setting a delay before measuring battery current during precharge (see the "Control - Precharge" section)
209 * new flag to keep the precharging contactor closed until the precharging process is finished (in this case the "Precharge error" will not occur except for the one caused by high power; see the "Control - Precharge" section)
210 * new flag to prevent the "HYG offline" error from occurring if the "Charger connected" signal is set (see the "External equipment - Trucks and Vehicles - HYG Class I-III truck" section)
211 * new flag that controls whether to wait for confirmation from the HYG truck or not, to allow the battery to be charged (see the "External equipment - Trucks and Vehicles - HYG Class I-III truck" section)
212 * new flag that controls whether to wait for confirmation from the Combilift truck or not, to allow the battery to be charged (see the "External equipment - Trucks and Vehicles - Combilift truck" section)
213 * 30 second delay when remounting SD card after detecting mount error
214 * new counter of retry attempts showing the communication problems with BMS Logic devices (see the "Battery" section)
215
216 == Fixes ==
217
218 * increased number of retries when sending commands to BMS Logic devices, which reduces the number of false offline event detections
219
220 = v2.2.3 =
221
222 [[BMS_Main_3_v2.2.3.bin>>FileManager.BMS_Main_3_v2\.2\.3\.bin]]
223
224 == Improvements ==
225
226 * new parameter for setting the type of network to which the BMS GSM communication module connects (see the "Connectivity - Cellular" section)
227
228 == Fixes ==
229
230 * resolving the issue of ill-considered reduction of the battery SOC level when the cell voltage is close to the level corresponding to SOC=0% (due to the flow of a large discharge current leading to the high voltage drop on the cells)
231
232 = v2.2.2 =
233
234 [[BMS_Main_3_v2.2.2.bin>>FileManager.BMS_Main_3_v2\.2\.2\.bin]]
235
236 == Improvements ==
237
238 * increasing the accuracy of resistance calculations
239 * new parameters for battery manufacturers: manufacturer name, hardware ID, software ID, configuration description, production date (see the "Service - User settings" section)
240
241 = v2.2.1 =
242
243 [[BMS_Main_3_v2.2.1.bin>>FileManager.BMS_Main_3_v2\.2\.1\.bin]]
244
245 == Improvements ==
246
247 * increasing the smoothness of changing the current limit values
248 * ability to exclude errors from being saved in the error journal (see the "Service - Errors journal" section)
249 * 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.)
250
251 == Fixes ==
252
253 * resolving the issue of working with the Fronius charger over the CAN1 interface
254 * small internal fixes
255
256 = v2.2.0 =
257
258 [[BMS_Main_3_v2.2.0.bin>>FileManager.BMS_Main_3_v2\.2\.0\.bin]]
259
260 == Features ==
261
262 * support for the HYG Global CAN protocol version 2 (June 13, 2024)
263 * calculation of regenerated energy
264 * calculation of new lifetime parameters: average temperature, average charge/discharge currents, etc. See the counters in the "Service - Counters" section
265 * 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
266 * new parameter for setting the condition for starting balancing: automatically (regardless of the command) or on the balancing request (see the "Control - Cell balancing" section)
267 * new option to start balancing if the cell voltage exceeds the "Voltage for forced balancing" value (see the "Control - Cell balancing" section)
268 * new Max-Min algorithm for calculating the final battery SOC in the "Control - SOC estimation" section
269 * new flags in the "Protections - Undervoltage" and "Protections - Overvoltage" sections which allow using the calculated open circuit cell voltage instead of the actual voltage to detect the "Undervoltage" and "Overvoltage" errors, respectively
270 * ability to check the "Ready to charge" and "Ready to discharge" signals to control the charging and discharging contactors (see the "Control - Charge" and "Control - Discharge" sections)
271 * 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)
272 * ability to select errors that the device saves in the errors journal (see the "Service - Errors journal" section)
273
274 == Improvements ==
275
276 * ability to configure and monitor the device via the CAN1 (ext) bus
277 * placing the device input signals to the "Battery" section and adding raw discrete inputs to the "Signals" section
278
279 == Fixes ==
280
281 * using the calculated open circuit voltage to set/clear the "Ready to charge" and "Ready to discharge" signals
282
283 = v2.1.1 =
284
285 [[BMS_Main_3_v2.1.1.bin>>FileManager.BMS_Main_3_v2\.1\.1\.bin]]
286
287 == Improvements ==
288
289 * new balancing strategy that attempts to keep the temperature of BMS Logic devices below a set value by discharging cells with higher voltages first than others (see the "Control - Cell balancing" section)
290
291 == Fixes ==
292
293 * resolving the possible problem of saving device parameters
294 * resolving the problem of writing the device's working time to a non-volatile memory very often
295
296 = v2.1.0 =
297
298 [[BMS_Main_3_v2.1.0.bin>>FileManager.BMS_Main_3_v2\.1\.0\.bin]]
299
300 == Features ==
301
302 * new algorithms 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" algorithms are preferred in the battery systems with one contactor.
303 * selection of errors that cause reset of contactor control signals (see the "Control - Main contactor", "Control - Charge", "Control - Discharge", "Control - Charge/Discharge", "Control - Discharge (AUX)", "Control - Heater", "Control - Cooler", "Protections - General error", "Control - Charging status", "Control - Discharging status" sections)
304 * new "Current limit error" which is set if the battery current exceeds the charging or discharging current limits (see the "Protections - Charge current limit" and "Protections - Discharge current limit" sections)
305 * new parameter to select the method of calculating the battery voltage: sum the cell voltages or use the measured voltage before contactors (see the "Control - Common settings" section)
306 * clearing the Discharging (AUX) signal if the cell voltage is too low (see the "Control - Discharge (AUX)" section)
307 * new assignment "Close External 1" for the discrete inputs (see the "Signals - Input discrete signals - Assignments" section)
308 * new assignment "External 1" for the discrete outputs and power switches (see the "Signals - Output discrete signals - Assignments" and "Signals - Power switches - Assignments" sections). The "External 1" output is directly controlled by the "Close External 1" command.
309
310 == Improvements ==
311
312 * rearrangements in the settings sections, which are made to simplify the setup process