Wiki source code of 3.6 Battery protection

Version 4.21 by Admin on 2024/11/21 18:26

Show last authors
1 The BMS Main 2.x board continuously monitors the state of the cells, BMS Logic boards, the external environment and, when detecting abnormalities, protects the battery and system components from damage.
2
3 == 3.6.1 Overcurrent protection ==
4
5 To change the current protection of the battery, select the menu "Protections → Overcurrent protection":
6
7 [[Overcurrent protection settings>>image:1732211959984-118.png||data-xwiki-image-style-alignment="center" height="266" width="386"]]
8
9 In this section:
10
11 * Enable – a flag to enable the protection;
12 * Maximum charging current, А;
13 * Tolerant charging current, А;
14 * Maximum discharging current, А;
15 * Tolerant discharging current, А;
16 * Delay before setting the error, second;
17 * Delay before clearing the error, second;
18 * Lock the error until the device is reset – a flag to block the error until the board is restarted.
19
20 As a result of operation of the current protection, the "Overcurrent" error is generated.
21
22 Error generation conditions:
23
24 * the current is positive (charging), and its modulo value is greater than the “Maximum charging current” value for the “Delay before setting the error” time;
25 * the current is negative (discharging), and its modulo value is greater than the “Maximum discharging current” value for the “Delay before setting the error” time.
26
27 Conditions for removing the error:
28
29 * the current is positive (charging) or zero, and its modulo value is less than the “Tolerant charging current” value for the “Delay before clearing the error” time;
30 * the current is negative (discharging), and its modulo value is less than the “Tolerant discharging current” value for the “Delay before clearing the error” time.
31
32 (% class="box infomessage" %)
33 (((
34 If there is the "Overcurrent" error, the charging and discharging relay open.
35 )))
36
37 == 3.6.2 Undervoltage protection ==
38
39 The board implements battery protection from too low or too high voltage on the cells.
40
41 To change the battery protection parameters from low voltage on the cells, select the menu "Protections → Undervoltage protection":
42
43 [[Undervoltage protection settings>>image:1732212212350-294.png||data-xwiki-image-style-alignment="center" height="207" width="359"]]
44
45 In this section:
46
47 * Enable – a flag to enable the protection;
48 * Minimum cell voltage, V;
49 * Tolerant cell voltage, V;
50 * Delay before setting the error, second;
51 * Delay before clearing the error, second;
52 * Lock the error until the device is reset.
53
54 As a result of the operation of battery protection from low voltage, the "Undervoltage" error is generated.
55
56 Error generation conditions:
57
58 * the minimum voltage among all cells of the battery is less than the “Minimum cell voltage” value for the “Delay before setting the error” time.
59
60 Conditions for removing the error:
61
62 * the minimum voltage among all cells of the battery is greater than the “Tolerant cell voltage” value for the “Delay before clearing the error” time.
63
64 (% class="box infomessage" %)
65 (((
66 If there is the "Undervoltage" error, the discharging relay opens.
67 )))
68
69 3.6.3 Overvoltage protection
70
71 To change the battery protection parameters from high voltage on the cells, select the menu "Protections → Overvoltage protection":
72
73 [[image:1732212357972-295.png]]
74
75 In this section:
76
77 * Enable – a flag to enable the protection;
78 * Maximum cell voltage, V;
79 * Tolerant cell voltage, V;
80 * Delay before setting the error, second;
81 * Delay before clearing the error, second;
82 * Switch off the discharging relay on error – a flag to open the discharging relay when the "Overvoltage" error is generated;
83 * Lock the error until the device is reset.
84
85 As a result of the operation of the battery protection from high voltage, the "Overvoltage" error is generated.
86
87 Error generation conditions:
88
89 * the maximum voltage among all cells of the battery is greater than the “Maximum cell voltage” value for the “Delay before setting the error” time.
90
91 Conditions for removing the error:
92
93 * the maximum voltage among all cells of the battery is less than the “Tolerant cell voltage” value for the “Delay before clearing the error” time.
94
95 (% class="box infomessage" %)
96 (((
97 If there is the "Overvoltage" error, the charging relay and discharging relay opens (if the “Switch off the discharging relay on error” flag is set).
98 )))
99
100 == 3.6.4 Low temperature protection ==
101
102 The board implements battery protection from too low temperature.
103
104 To change the battery protection parameters from low temperature, select the menu "Protections → Low temperature protection":
105
106
107 In this section:
108
109 * Enable – a flag to enable the protection;
110 * Minimum charging temperature, °C;
111 * Tolerant charging temperature, °C;
112 * Minimum discharging temperature, °C;
113 * Tolerant discharging temperature, °C;
114 * Delay before setting the error, second;
115 * Delay before clearing the error, second;
116 * Lock the error until the device is reset.
117
118 As a result of the operation of the battery protection from low temperature, the "Low CH temperature" or “Low DCH temperature” error is generated.
119
120 Error generation conditions:
121
122 * the minimum temperature among all cells of the battery is less than the “Minimum charging (discharging) temperature” value for the “Delay before setting the error” time.
123
124 Conditions for removing the error:
125
126 * the minimum temperature among all cells of the battery is greater than the “Tolerant charging (discharging) temperature” value for the “Delay before clearing the error” time.
127
128 (% class="box infomessage" %)
129 (((
130 If there is the "Low CH temperature" error, the charging relay opens.
131 If there is the "Low DCH temperature" error, the discharging relay opens.
132 )))
133
134 == 3.6.5 High temperature protection ==
135
136 The board implements battery protection from too high temperature.
137
138 To change the battery protection parameters from high temperature, select the menu "Protections → High temperature protection":
139
140
141 In this section:
142
143 * Enable – a flag to enable the protection;
144 * Maximum charging temperature, °C;
145 * Tolerant charging temperature, °C;
146 * Maximum discharging temperature, °C;
147 * Tolerant discharging temperature, °C;
148 * Delay before setting the error, second;
149 * Delay before clearing the error, second;
150 * Lock the error until the device is reset.
151
152 As a result of the operation of the battery protection from high temperature, the "High CH temperature" or “High DCH temperature” error is generated.
153
154 Error generation conditions:
155
156 * the maximum temperature among all cells of the battery is greater than the “Maximum charging (discharging) temperature” value for the “Delay before setting the error” time.
157
158 Conditions for removing the error:
159
160 * the maximum temperature among all cells of the battery is less than the “Tolerant charging (discharging) temperature” value for the “Delay before clearing the error” time.
161
162 (% class="box infomessage" %)
163 (((
164 If there is the "High CH temperature" error, the charging relay opens.
165 If there is the "High DCH temperature" error, the discharging relay opens.
166 )))
167
168 == 3.6.6 Battery cover protection ==
169
170 To change the protection parameters from opening the battery cover, select the menu "Protections → Battery cover protection":
171
172 In this section:
173
174 * Enable – a flag to enable the protection;
175 * Delay before setting the error, second;
176 * Delay before clearing the error, second;
177 * Lock the error until the device is reset.
178
179 As a result of the operation of the protection against opening the battery cover, the “Battery cover error” is generated.
180
181 Error generation conditions:
182
183 * there is a signal from the battery cover during the “Delay before setting the error” time.
184
185 Conditions for removing the error:
186
187 * no signal from the battery cover during the “Delay before clearing the error” time.
188
189 (% class="box warningmessage" %)
190 (((
191 **If there is the "Battery cover error", the “Critical error” is generated and all relays open.**
192 )))
193
194 == 3.6.7 High humidity protection ==
195
196 The board can protect the battery from high humidity and water.
197
198 To change the protection parameters of the battery from high humidity, select the menu "Protections → High humidity protection":
199
200
201 In this section:
202
203 * Enable – a flag to enable the protection;
204 * Maximum humidty, RH%;
205 * Tolerant humidty, RH%;
206 * Delay before setting the error, second;
207 * Delay before clearing the error, second;
208 * Lock the error until the device is reset.
209
210 As a result of the operation of the battery protection from high humidity, the "High humidity" error is generated.
211
212 Error generation conditions:
213
214 * the measured humidity is greater than “Maximum humidity” during the “Delay before setting the error” time.
215
216 Conditions for removing the error:
217
218 * the measured humidity is less than the “Tolerant humidity” during the “Delay before clearing the error” time.
219
220 (% class="box infomessage" %)
221 (((
222 If there is the "High humidity" error, no action is taken. The error is indicative.
223 )))
224
225 == 3.6.8  Water protection ==
226
227 To change the protection parameters of the battery from water, select the menu "Protections → Water protection":
228
229
230 In this section:
231
232 * Enable – a flag to enable the protection;
233 * Maximum (water) humidty, RH%;
234 * Tolerant humidity, RH%;
235 * Delay before setting the error, second;
236 * Delay before clearing the error, second;
237 * Lock the error until the device is reset.
238
239 As a result of the operation of the battery protection from water, the "Water" error is generated.
240
241 Error generation conditions:
242
243 * the measured humidity is greater than the “Maximum (water) humidity” value during the “Delay before setting the error” time.
244
245 Conditions for removing the error:
246
247 * the measured humidity is less than the “Tolerant humidity” value during the “Delay before clearing the error” time.
248
249 (% class="box warningmessage" %)
250 (((
251 **If there is the “Water” error, the “Critical error” is generated and all relays open.**
252 )))
253
254 == 3.6.9 Current sensor error ==
255
256 The board is implemented to check the current sensor connection circuits. The circuits are checked for breakage and short-circuit to the +5 V supply line.
257
258 To change the test parameters of the current sensor connection circuits, select the menu "Protections → Current sensor error":
259
260
261 In this section:
262
263 * Enable – a flag to enable the protection;
264 * Maximum voltage, V;
265 * Minimum voltage, V;
266 * Hysteresis voltage – a hysteresis value to clear the error, V;
267 * Delay before setting the error, second;
268 * Delay before clearing the error, second;
269 * Lock the error until the device is reset.
270
271 If there is an open or short circuit connection of a current sensor, the "Current sensor error" is generated.
272
273 Error generation conditions:
274
275 * the voltage in the signal line or zero level line of the current sensor is greater than the “Maximum voltage” value during the “Delay before setting the error” time;
276 * the voltage in the signal line or zero level line of the current sensor is less than the “Minimum voltage” value during the “Delay before setting the error” time.
277
278 Conditions for removing the error:
279
280 * the voltage in the signal line or zero level line of the current sensor is in range from (Minimum voltage + Hysteresis voltage) to (Maximum voltage - Hysteresis voltage) during the “Delay before clearing the error” time.
281
282 (% class="box warningmessage" %)
283 (((
284 **If there is the “Current sensor error”, the “Critical error” is generated and all relays open.**
285 )))
286
287 == 3.6.10 Short circuit protection ==
288
289 The BMS implements a protection of power circuits (contactors, power cables) against overheating caused by the flow of high current for a long time.
290
291 To change the protection parameters from short circuit, select the menu "Protections → Short circuit protection":
292
293
294 In this section:
295
296 * Level 1, 2, 3 – three protection levels. The following parameters are configured at each level:
297 ** Enable – a flag to enable the protection;
298 ** Maximum current, A;
299 ** Delay before setting the error, second;
300 * Delay before clearing the error, second;
301 * Switch off the charging relay on error – a flag to open the charging relay when the "Short circuit" error occurs;
302 * Switch off the discharging relay on error – a flag to open the discharging relay when the "Short circuit" error occurs;
303 * Lock the error until the device is reset.
304
305 If there is a short circuit, the "Short circuit" error is generated.
306
307 Error generation conditions:
308
309 * at any of the three protection levels, the current modulo is greater than the “Maximum current” value during the “Delay before setting the error” time.
310
311 Conditions for removing the error:
312
313 * the current modulo is lower than the “Maximum current” values for all three protection levels during the “Delay before setting the error” time.
314
315 (% class="box infomessage" %)
316 (((
317 If there is the "Short circuit" error, the charging relay opens (the “Switch off the charging relay on error” flag is set) and the discharging relay opens (the “Switch off the discharging relay on error flag” is set).
318 )))
319
320 == 3.6.11 Contactor high temperature protection ==
321
322 The BMS protects power contactors from overheating. To measure the temperature of the contactor, a thermistor is used, connected to the P13 connector of the board. Configuring of the analog input for temperature measurement is described in section Input signals.
323
324 To change the overheating protection parameters of power contactors, select the menu "Protections → Contactor high temperature protection":
325
326
327 In this section:
328
329 * Enable – a flag to enable the protection;
330 * Maximum temperature, °C;
331 * Tolerant temperature, °C;
332 * Delay before setting the error, second;
333 * Delay before clearing the error, second;
334 * Switch off the charging relay on error – a flag to open the charging relay when the "Contactor high temperature" error occurs;
335 * Switch off the discharging relay on error – a flag to open the discharging relay when the "Contactor high temperature" error occurs;
336 * Lock the error until the device is reset.
337
338 If there is a contactor overheat, the "Contactor high temperature" error is generated.
339
340 Error generation conditions:
341
342 * the contactor temperature is greater than the “Maximum temperature” value during the “Delay before setting the error” time.
343
344 Conditions for removing the error:
345
346 * the contactor temperature is lower than the “Tolerant temperature” value during the “Delay before clearing the error” time.
347
348 (% class="box infomessage" %)
349 (((
350 If there is the "Contactor high temperature" error, the charging relay opens (the “Switch off the charging relay on error” flag is set) and the discharging relay opens (the “Switch off the discharging relay on error flag” is set).
351 )))
352
353 == 3.6.12 Unallowable charging protection ==
354
355 The BMS can detect that the battery is charging through the discharging circuit and protectively open the discharging relay to prevent unallowable battery operation.
356
357 To change the parameters of the unallowable charging protection, select the menu "Protections → Unallowable charging protection":
358
359
360 In this section:
361
362 * Enable – a flag to enable the protection;
363 * Delay before setting the error, second;
364 * Delay before clearing the error, second;
365 * Lock the error until the device is reset.
366
367 If there is charging the battery through the discharging circuit detected, the "Unallowable charging" error is generated.
368
369 Error generation conditions:
370
371 * the charging relay is open and the battery current is not zero during the “Delay before setting the error” time.
372
373 Conditions for removing the error:
374
375 * the battery current is zero during the “Delay before clearing the error” time.
376
377 (% class="box infomessage" %)
378 (((
379 If there is the "Unallowable charging" error, the discharging relay opens.
380 )))
381
382 == 3.6.13 Stuck contactor protection ==
383
384 The BMS Main 2.x protects contactors against sticking.
385
386 To change the protection parameters against sticking, select the menu "Protections → Stuck contactor protection":
387
388
389 In this section:
390
391 * Enable – a flag to enable the protection;
392 * Delay before setting the error, second;
393 * Delay before clearing the error, second;
394 * Lock the error until the device is reset;
395
396 If there is a stuck contactor, the “Stuck contactor” error is generated.
397
398 Error generation conditions:
399
400 * charging and discharging contactors are open, but the “Charging current present” or “Discharging current present” signal is set.
401
402 == 3.6.14 Contactor feedback check ==
403
404 The BMS Main 2.x can receive feedback signals from contactors and detect discrepancy between the control value and the feedback signal. To enable specific contactor protection, one of the discrete input must be set as corresponding contactor feedback signal (see section Input and output signals).
405
406 To change the contactor feedback check parameters, select the menu "Protections → Contactor feedback check":
407
408
409 In this section:
410
411 * Enable – a flag to enable the protection;
412 * Delay before setting the error, second;
413 * Delay before clearing the error, second;
414 * Lock the error until the device is reset;
415
416 If there is a discrepancy at any contactor, the corresponding contactor feedback error is generated. Error generation conditions:
417
418 * discrete output of charging, precharge, discharging, charging/discharging or main contactor not matches its feedback value.
419
420 == 3.6.15 Charging contactor cycles protection ==
421
422 The BMS protects the charging contactor against frequent switching.
423
424 To change the protection parameters against high frequency switching of the charging contactor, select the menu "Protections → Charging contactor cycles protection":
425
426
427 In this section:
428
429 * Enable – a flag to enable the protection;
430 * Cycles threshold – a number of cycles in a given period, upon which the “CH contactor cycles error” is generated;
431 * Period – a time in which the BMS counts switchings of the charging contactor, second;
432 * Delay before setting the error, second;
433 * Delay before clearing the error, second;
434 * Lock the error until the device is reset;
435 * Cycles – a number of the charging contactor switchings made during battery operation.
436
437 If there is the high switching frequency of the charging contactor, the “CH contactor cycles error” is generated.
438
439 Error generation conditions:
440
441 * the number of switchings of the charging contactor for the “Period” time is greater than or equal to the “Cycles threshold” value. The error is generated with the “Delay before setting the error” delay.
442
443 Conditions for removing the error:
444
445 * the “Delay before clearing the error” time has passed since the error was generated.
446
447 (% class="box infomessage" %)
448 (((
449 If there is the "CH contactor cycles error" error, the charging relay opens.
450 )))
451
452 == 3.6.16 Discharging contactor cycles protection ==
453
454 The BMS protects the discharging contactor against frequent switching.
455
456 To change the protection parameters against high frequency switching of the discharging contactor, select the menu "Protections → Discharging contactor cycles protection":
457
458
459 In this section:
460
461 * Enable – a flag to enable the protection;
462 * Cycles threshold – a number of cycles in a given period, upon which the “DCH contactor cycles error” is generated;
463 * Period – a time in which the BMS counts switchings of the charging contactor, second;
464 * Delay before setting the error, second;
465 * Delay before clearing the error, second;
466 * Lock the error until the device is reset;
467 * Cycles – a number of the charging contactor switchings made during battery operation.
468
469 If there is the high switching frequency of the discharging contactor, the “DCH contactor cycles error” is generated.
470
471 Error generation conditions:
472
473 * the number of switchings of the discharging contactor for the “Period” time is greater than or equal to the “Cycles threshold” value. The error is generated with the “Delay before setting the error” delay.
474
475 Conditions for removing the error:
476
477 * the “Delay before clearing the error” time has passed since the error was generated.
478
479 (% class="box infomessage" %)
480 (((
481 If there is the "DCH contactor cycles error" error, the discharging relay opens.
482 )))
483
484 == 3.6.17 Temperature sensor error ==
485
486 The board is implemented to check the temperature sensors connection circuits. The circuits are checked for breakage and short-circuit.
487
488 To change the protection parameters of the temperature sensors circuits, select the menu "Protections → Temperature sensor error":
489
490
491 In this section:
492
493 * Enable – a flag to enable the protection;
494 * Delay before setting the error, second;
495 * Delay before clearing the error, second;
496 * Lock the error until the device is reset.
497
498 If there are no temperature sensors connected to a BMS Logic board or any temperature sensor is shorted, the "No temp. sensors" error and "Temp. sensor is shorted" error are generated respectively. These errors generated and removed with the “Delay before setting the error” and “Delay before clearing the error” delays.
499
500 (% class="box warningmessage" %)
501 (((
502 **If there is the “No temp. sensors” or “Temp. sensor is shorted” error, the “Critical error” is generated and all relays open.**
503 )))
504
505 == 3.6.18 Logic high temperature protection ==
506
507 To change the overheating protection parameters of BMS Logic boards, select the menu "Protections → Logic high temperature protection":
508
509
510 In this section:
511
512 * Enable – a flag to enable the protection;
513 * Maximum Logic temperature, °C;
514 * Tolerant Logic temperature, °C;
515 * Lock the error until the device is reset.
516
517 As a result of the operation of the protection from high temperatures of BMS Logic boards, the "Logic high temperature" is generated.
518
519 Error generation conditions:
520
521 * a BMS Logic board temperature is higher than the “Maximum Logic temperature” value.
522
523 Conditions for removing the error:
524
525 * a BMS Logic board temperature is less than the “Tolerant Logic temperature” value.
526
527 (% class="box infomessage" %)
528 (((
529 **Cell balancing is prohibited for overheated boards.**
530 )))
531
532 == 3.6.19 Logic offline protection ==
533
534 To change the protection parameters from loss of communication with BMS Logic boards, select the menu "Protections → Logic offline protection":
535
536
537 In this section:
538
539 * Enable – a flag to enable the protection;
540 * Lock the error until the device is reset.
541
542 As a result of the protection from loss of communication with BMS Logic boards, the "Logic offline" error is generated.
543
544 Error generation conditions:
545
546 * at least one of the connected BMS Logic boards does not respond to the commands of the BMS Main 2.x board for 10 seconds.
547
548 Conditions for removing the error:
549
550 * all connected BMS Logic boards respond to the commands of the BMS Main 2.x board.
551
552 (% class="box warningmessage" %)
553 (((
554 **If there is the "Logic offline" error, the “Critical error” is generated and all relays open.**
555 )))
556
557 == 3.6.20 Cell count protection ==
558
559 To change the protection parameters from the mismatch of the number of cells to the set value, select the menu "Protections → Cell count protection":
560
561
562 In this section:
563
564 * Enable – a flag to enable the protection;
565 * Cell count – a number of cells connected to the BMS;
566 * Delay before setting the error, second;
567 * Delay before clearing the error, second;
568 * Lock the error until the device is reset.
569
570 As a result of the operation of the protection from the mismatch of the number of cells, the "Cell count error" is generated.
571
572 Error generation conditions:
573
574 * the number of cells connected to the BMS is **not equal** to the “Cell count” value during the “Delay before setting the error” time.
575
576 Conditions for removing the error:
577
578 * the number of cells connected to the BMS is **equal** to the “Cell count” value during the “Delay before clearing the error” time.
579
580 (% class="box warningmessage" %)
581 (((
582 **If there is the "Cell count error", the “Critical error” is generated and all relays open.**
583 )))
584
585 == 3.6.21 Logic count protection ==
586
587 To change the protection parameters from the mismatch of the number of BMS Logic boards to the set value, select the menu "Protections → Logic count protection":
588
589
590 In this section:
591
592 * Enable – a flag to enable the protection;
593 * Logic count – a number of BMS Logic boards connected to the BMS Main 2.x;
594 * Fast scan – a flag to scan BMS Logic boards fast (boards with addresses from 1 to “Logic count” are scanned; this mode reduces BMS system startup time);
595 * Lock the error until the device is reset.
596
597 As a result of the operation of the protection from the mismatch of the number of BMS Logic boards, the "Logic count error" is generated.
598
599 Error generation conditions:
600
601 * the number of BMS Logic boards connected to the BMS Main 2.x is **not equal** to the “Logic count” value.
602
603 Conditions for removing the error:
604
605 * the number of BMS Logic boards connected to the BMS Main is **equal** to the “Logic count” value.
606
607 (% class="box warningmessage" %)
608 (((
609 **If there is the "Logic count error", the “Critical error” is generated and all relays open.**
610 )))
611
612 == 3.6.22 WDT protection ==
613
614 If the BMS firmware hangs, the watchdog timer resets the board. The BMS can detect that the board was reset and generates the “WDT reset” error.
615
616 To change the parameters of the watchdog protection, select the menu "Protections → WDT protection":
617
618
619 In this section:
620
621 * Enable – a flag to enable the protection;
622 * Delay before clearing the error, second;
623 * Lock the error until the device is reset.
624
625 Conditions for removing the error:
626
627 * the “Delay before clearing the error” time has passed from the board startup.
628
629 **If there is the "WDT reset" error, the “Critical error” is generated and all relays open.**
630
631 == 3.6.23 Insulation monitoring ==
632
633 == 3.6.24 Critical error parameters ==
634
635 == 3.6.25 General error parameters ==
636
637 == 3.6.26 Low SOC signal ==
638
639 == 3.6.27 High charging current signal ==
640
641 == 3.6.28 Heater control ==
642
643 == 3.6.29 Heater (AUX) control ==
644
645 == 3.6.30 Cooler control ==
646
647 == 3.6.31 Fault simulation ==