Wiki source code of 3.3 Control

Version 55.2 by Admin on 2026/04/30 15:40

Show last authors
1 (% data-numbered-headings-start="3" style="--numbered-headings-start: 2;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
2 = Settings =
3
4 (% data-numbered-headings-start="3" style="--numbered-headings-start: 2;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
5 == Control ==
6
7 === Common settings ===
8
9 To change the common BMS settings, select the "Control → Common settings" section:
10
11 [[image:1740394523706-519.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="127" width="800"]]
12
13 In this section:
14
15 * **Cell capacity** – nominal capacity of cells, Ah;
16 * **Cell resistance** – nominal (maximum) internal resistance of the cell, Ohm;
17 * **Relax time (after charging)** – a relaxation time after charging, second;
18 * **Relax time (after discharging)** – the relaxation time after discharging, second;
19 * **Reset parameters **– a command to reset cells state of charge, capacity, and resistance.
20
21 The values “**Capacity**” and “**Resistance**” are used to calculate the SOC of cells and the battery.
22
23 The values of “**Relax time**” are used to determine the state of the battery. If the battery is in a state of relaxation, the system recalculates the voltage on the cells to the state of charge of the battery.
24
25 The “**Reset parameters**”  is used for starting-up and adjustment of the battery and will reset:
26
27 * state of charge (new cell SOC values will be calculated based on cell voltage and “Uocv (open-circuit voltage) table”: in the “Control → SOC estimation” section);
28 * cell resistance to “Cell resistance” value;
29 * battery capacity to “Cell capacity” value.
30
31 === SOC estimation ===
32
33 The BMS Mini device calculates the state of charge (SOC) of each cell by using following algorithms:
34
35 The **“Voltage”** SOC calculation algorithm calculates cells SOC based on the tabular dependence Uocv = Uocv(SOC, t °C).
36
37 The **“Current and voltage (simplified)”** SOC calculation algorithm works as follows:
38
39 * if I = 0, the battery is in the state of relaxation and the cell voltage Uocv is outside the [U,,ocv[point 1],,; U,,ocv[point 2],,], the SOC calculation is based on the tabular dependency Uocv = Uocv(SOC, t °C);
40 * in any other cases, the SOC value is proportional to the charge (coulomb) passed through the battery (current time integral).
41
42 The **“Current and voltage (enhanced)” **SOC calculation algorithm differs from the simplified algorithm by online correction of the effective capacity. When using this algorithm, it is necessary to fine tune the tabular dependence Uocv = Uocv (SOC, t °C).
43
44 To change the algorithm for calculating the SOC, select the "Control → SOC estimation" section:
45
46 [[image:1733746733477-590.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="166" width="800"]]
47
48 The following estimation algorithms supported:
49
50 * Voltage – by open circuit voltage;
51 * Current and voltage (simplified);
52 * Current and voltage (enhanced);
53
54 The **“Voltage”** SOC calculation algorithm calculates cells SOC based on the tabular dependence Uocv = Uocv(SOC, t °C).
55
56 The **“Current and voltage (simplified)”** SOC calculation algorithm works as follows:
57
58 * if I = 0, the battery is in a state of relaxation and the cell voltage Uocv is outside the [U,,ocv[point 1],,; U,,ocv[point 2],,], the SOC calculation based on the tabular dependence Uocv = Uocv(SOC, t °C);
59 * in any other cases, the SOC value is proportional to the charge (coulomb) passed through the battery (current time integral).
60
61 The **“Current and voltage (enhanced)” **SOC calculation algorithm differs from the simplified algorithm by online correction of effective capacitance. When using this algorithm, it is necessary to fine tune the tabular dependence Uocv = Uocv (SOC, t °C).
62
63 To change the algorithm for calculating the Final SOC, select the "Control → SOC estimation → Final SOC" section:
64
65 [[image:1733746733478-414.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="167" width="800"]]
66
67 In this section:
68
69 * **Algorithm:**
70 ** **Voltage **– by open circuit voltage;
71 ** **Current and voltage (simplified)** – recommended for LFP cells;
72 ** **Current and voltage (enhanced)** – recommended for NMC cells:
73 * **Final SOC** – method of calculating overall SOC of battery:
74 ** **Minimal SOC** – the battery SOC is assumed to be the minimum SOC among the cells;
75 ** **Average SOC** – the battery SOC is taken equal to the arithmetic average of the cell SOC;
76 ** **Min-Max SOC** – the battery SOC is calculated based on the minimum and maximum SOC of the cells (recommended). Final SOC will be a) 100% if __any cell__ has 100% SOC, b) 0% if __any cell__ has 0% SOC;
77 ** **Max-Min SOC** – the battery SOC is calculated based on the minimum and maximum SOC of the cells. Final SOC will be a) 100% if __all cells__ have 100% SOC, b) 0% if __all// //cells__ have 0% SOC.
78 * **Scale the final SOC** – a flag to scale the battery SOC by the following values;
79 * **SOC corresponding to 0%** – the battery SOC that sets to be 0%;
80 * **SOC corresponding to 100%** – the battery SOC that sets to be 100%.
81 * **Uocv (open-circuit voltage) table** – the dependence of the cell open circuit voltage Uocv on SOC and the cell temperature (selected for specific batteries);
82 * **Linear zone** - linear zone of the Uocv = Uocv(SOC, t°C) dependency, inside which the cell voltage changes insignificantly:
83 ** **Linear zone: point 1** – starting point of the Uocv linear zone;
84 ** **Linear zone: point 2** – ending point of the Uocv linear zone;
85 * **Coulomb counting correction (temperature)** – the dependence of battery capacity on temperature;
86 * **Coulomb counting correction (cycles)** – the dependence of battery capacity on the number of charge-discharge cycles.
87
88 === SOC correction ===
89
90 The BMS Mini device can recalculate the battery SOC after long-term storage or after long-term working in the case when the battery was not charged fully or discharged totally. Recalculation is done based on the tabular dependency Uocv = Uocv (SOC, t) (see [[SOC estimation>>doc:||anchor="HSOCestimation"]]).
91
92 To configure parameters for periodically correcting the battery state of charge, select the "Control → SOC correction" section:
93
94 [[image:1733746733483-444.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="160" width="800"]]
95
96 In this section:
97
98 * Enable – a flag to enable SOC correction;
99 * Shutdown period – a time the battery is off, day. If the BMS detects on its startup that it was off during the “Shutdown period” time, the BMS recalculates the battery state of charge based on the tabular dependency Uocv = Uocv (SOC, t);
100 * Correction period – a period of correcting the battery SOC, day. If the BMS detects that the last correction was more than the “Correction period” ago, the BMS recalculates the battery state of charge based on the tabular dependency Uocv = Uocv (SOC, t) and tunes it gradually during the “SOC change time”.
101 * SOC change time – a duration of the linear changing the battery SOC to the value calculated by the correction algorithm, minute;
102 * Ignore the linear zone – a flag to ignore linear SOC zone while correction;
103 * Last correction timestamp – time when last correction was made.
104
105 === Resistance estimation ===
106
107 Calculation of the resistance of cells is carried out in two ways. The first method is used when the battery passes from a relaxation state to a charge or discharge state, wherein the cell resistance value
108
109 {{formula fontSize="SMALL" imageType="PNG"}}
110 R = \frac{U-U_{ocv}}{I_{stable}}
111 {{/formula}}
112
113 where U is the cell voltage measured in the charge or discharge state, V; U,,ocv,, is the cell voltage measured in the state of relaxation (before switching to the state of charge or discharge); I,,stable,, – stabilized current through the cell in the state of charge or discharge.
114
115 The second method is used for a stepwise change in the current through the cell, while the value of the cell resistance:
116
117 {{formula fontSize="SMALL"}}
118 R = \frac{U_2-U_1}{I_{stable2}-I_{stable1}}
119 {{/formula}}
120
121 provided that
122
123 {{formula fontSize="SMALL"}}
124 | I_{stable2}-I_{stable1} | > 0.2 × Qmax
125 {{/formula}}
126
127 where Q,,max,, — the maximum cell capacity,U,,2,, — voltage on the cell at the moment when the stabilized current I,,stable2,, is flowing through it; U,,1,, — the voltage on the cell at the moment when the stabilized current I,,stable1,, flowing through it.
128
129 The stabilized current I,,stable,, = I, if during the stabilization time the instantaneous current I is in the range from 0.95 × I to 1.05 × I.
130
131 To change parameters of the algorithm for calculating the cell resistance, select the "Control → Resistance estimation" section:
132
133 [[image:1733746733484-681.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="104" width="800"]]
134
135 In this section:
136
137 * Current stabilization time, millisecond;
138 * Maximum calculation period – maximum time between resistance measurements. If more time has elapsed since the last determination of the stabilized current I,,stable,, than is determined in this field, the resistance calculation is not performed, second;
139 * Maximum resistance factor – the coefficient of calculation of the maximum acceptable resistance of the cell;
140 * Minimum SOC – minimum cell SOC value for resistance calculation;
141 * Maximum SOC – maximum cell SOC value for resistance calculation.
142
143 The calculated resistance is accepted by the system as valid (and therefore updated) if its value is in the range from Resistance/2 to “Maximum resistance factor” × Resistance, where "Resistance" is the nominal resistance of the cell (see [[Common settings>>doc:||anchor="HCommonsettings"]]). If the calculated resistance value is greater than the value (Maximum resistance factor × Resistance), the updated resistance value will be equal to the value (Maximum resistance factor × Resistance).
144
145 === Low SOC (signal) ===
146
147 To change the parameters of the generation a signal about low battery level, select the "Control → Low SOC (signal)" section:
148
149 [[image:1740396460923-423.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="141" width="800"]]
150
151 In this section:
152
153 * Enable – a flag to enable signal generation;
154 * Minimum SOC, %;
155 * Tolerant SOC, %;
156 * Delay before setting the signal, second;
157 * Delay before clearing the signal, second;
158 * Lock – lock the signal until the device is reset.
159
160 Signal generation conditions:
161
162 * the battery SOC is less than the “Minimum SOC” value during the “Delay before setting the signal” time.
163
164 Conditions for clearing the signal:
165
166 * the battery SOC is greater than the “Tolerant SOC” during the “Delay before clearing the signal” time.
167
168 (% class="box infomessage" %)
169 (((
170 The "Low SOC signal" is indicative and can be output to a discrete output or a power switch.
171 )))
172
173 === High charging current (signal) ===
174
175 To change the parameters of the generation high-current signal, select the "Control → High charging current (signal)" section:
176
177 [[image:1740396996935-403.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="144" width="800"]]
178
179 In this section:
180
181 * Enable – a flag to enable signal generation;
182 * Maximum charging current, А;
183 * Tolerant charging current, А;
184 * Delay before setting the signal, second;
185 * Delay before clearing the signal, second;
186 * Lock – lock the signal until the device is reset.
187
188 Signal generation conditions:
189
190 * the measured current is greater than the “Maximum charging current” value during the “Delay before setting the signal” time.
191
192 Conditions for clearing the signal:
193
194 * the measured current is less than the “Tolerant charging current” value during the “Delay before clearing the signal” time.
195
196 (% class="box infomessage" %)
197 (((
198 The "High charging current" signal is indicative and can be output to a discrete output or a power switch.
199 )))
200
201 === Charge map ===
202
203 The BMS Mini device calculates maximum allowable charge current values in respect to SOC, battery temperature, contactor temperature and cell voltage.
204
205 Calculated current values are sending to a charger or an intellectual load over the CAN bus.
206
207 To configure parameters for determining the charge current limit, select the "Control → Charge map" section:
208
209 [[image:1740397188247-315.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="179" width="800"]]
210 In this section:
211
212 * Enable – a flag to start calculation of the charge current limit;
213 * Maximum charge current – a maximum allowable value of the charge current (under normal conditions), A;
214 * Rate of change – a rate of change the current limit to a new value (0 is for immediate change), A/s;
215 * Option 1: Limit charge current by the battery SOC and temperature – a flag to enable correction of maximum allowable charging current** Kcs** depending on __maximum cell SOC__ and battery temperature;
216 * Option 1: SOC x Temperature x Factor – the dependence of the correction factor on SOC and battery temperature;
217 * Option 2: Limit charge current by the contactor temperature – a flag to enable correction of maximum allowable charging current **Kcc** depending on contactor temperature;
218 * Option 2: Contactor temperature x Factor – the dependence of the correction factor on SOC and contactor temperature;
219 * Option 3: Limit charge current by the maximum cell voltage - a flag to enable correction of maximum allowable charging current **Kcv** depending on __the maximum cell U,,ocv,, voltage__ (corrected due to current and cell resistance)
220 * Option 3: Cell voltage x Factor – the dependence of the correction factor on maximum cell voltage;
221 * Option 4: Limit charge current by the cell temperature - a flag to enable correction of maximum allowable charging current **Kct** depending on maximum cell temperature;
222 * Option 4: Cell temperature x Factor – the dependence of the correction factor on maximum cell temperature.
223
224 Value of the charge current limit at given SOC, temperature, contactors temperature, maximum cell voltage and maximum cell temperature is calculated as follows:
225
226 **Charge current limit = Maximum charge current × Kcs × Kcc × Kcv × Kct**
227
228 === Discharge map ===
229
230 The BMS Mini device calculates maximum allowable discharge current values in respect to SOC, battery temperature, contactor temperature and cell voltage.
231
232 Calculated current values are sending to a charger or an intellectual load over the CAN bus.
233
234 To configure parameters for determining the discharge current limit, select the "Control → Discharge map" section:
235
236 [[image:1740397304972-174.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="182" width="800"]]
237
238 In this section:
239
240 * Enable – a flag to start calculation of the discharge current limit;
241 * Maximum discharge current – a maximum allowable value of the discharge current (under normal conditions), A;
242 * Rate of change – a rate of change the current limit to a new value (0 is for immediate change), A/s;
243 * Option 1: Limit discharging current by the battery SOC and temperature – a flag to enable correction of maximum allowable discharging current **Kds **depending on __minimum cell SOC__ and temperature;
244 * Option 1: SOC x Temperature x Factor – the dependence of the correction factor on SOC and battery temperature;
245 * Option 2: Limit discharge current by the contactor temperature – a flag to enable correction of maximum allowable discharging current **Kdc** depending on contactor temperature;
246 * Option 2: Contactor temperature x Factor – the dependence of the correction factor on SOC and contactor temperature;
247 * Option 3: Limit discharge current by the cell voltage - a flag to enable correction of maximum allowable discharging current **Kdv** depending on __the minimum cell U,,ocv,, voltage__ (corrected due to current and cell resistance)
248 * Option 3: Cell voltage x Factor – the dependence of the correction factor on minimum cell voltage;
249 * Option 4: Limit discharge current by the cell temperature - a flag to enable correction of maximum allowable discharging current **Kdt** depending on maximum cell temperature;
250 * Option 4: Cell voltage x Factor – the dependence of the correction factor on minimum cell temperature.
251
252 Value of the discharge current limit at given SOC, temperature, contactors temperature, minimum cell voltage and maximum cell temperature is calculated as follows:
253
254 **Discharge current limit = Maximum discharge current × Kds × Kdc × Kdv × Kdt**
255
256 === Main contactor ===
257
258 The BMS Mini device controls the main contactor. The main contactor is usually placed in the common (minus) battery line for opening the charge and discharge circuits in a case of sealing of the charging or discharging contactors.
259
260 The Main contactor algorithm supports the following modes:
261
262 * Always on;
263 * Automatic.
264
265 In “Always on” mode main contactor closes if all the following is true:
266
267 * Other contactors are open;
268 * There are no errors from the "Errors 1, 2 ..." bitfileds.
269
270 In “Always on” mode main contactor opens if all the following is true:
271
272 * Other contactors are open;
273 * There is an error from the the "Errors 1, 2 ..." bitfileds.
274
275 In “Automatic” mode, the main contactor closes by internal algorithms at the same time with other contactors.
276
277 In “On demand” mode, the main contactor closes by external the “Close Main contactor” request.
278
279 (% class="box infomessage" %)
280 (((
281 **Note: **when errors occur in the system, the **Main **contactor opens either immediately or with the delay T,,off,, (depends on the settings described below).
282 )))
283
284 To change the parameters of the main contactor, select the "Control → Main contactor" section:
285
286 [[image:1740397558976-651.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="144" width="800"]]
287
288 In this section:
289
290 * Enable – a flag to enable the main contactor control;
291 * Algorithm – main contactor control algorithm:
292 ** Always on – contactor is always closed;
293 ** Automatic – contactor closes by internal charge and discharge algorithms;
294 ** On demand – contactor is closed by an external request;
295 * Time to keep the contactor closed before closing the others – a time for other contactors to be open after the main contactor is closed;
296 * Delay before opening the contactor – a time which is used to detect conditions for opening the contactor, s;
297 * Keep the contactor open until the device is restarted – a flag for keeping the main contactor open until the system is reset;
298 * Errors 1, 2 to open the main contactor – bitfields to choose the errors which will open the main contactor.
299
300 === Charging status ===
301
302 To change the parameters of charging process status, select the "Control → Charging status" section:
303
304 [[image:1762774819522-147.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="140" width="800"]]
305 In this section:
306
307 * Current to set the "Charging current present" – a current level to generate the "Charging current present" signal, A;
308 * Current to clear the "Charging current present" – a current level to clear the "Charging current present" signal, A;
309 * Use actual voltage to generate the "Ready to charge" signal – a flag to disable voltage correction for "Ready to charge" signal;
310 * Use actual voltage to generate the "Ready to charge" signal if the current is negative – a flag to disable voltage correction for "Ready to charge" signal only at discharging current;
311 * Voltage to clear the “Ready to charge” – a threshold U,,ocv,, (corrected due to current and cell resistance) voltage level on the cell, V; if the voltage of any cell is above this level, the “Ready to charge” (hence, the “Allow charging”) signal is cleared;
312 * Voltage to reset the “Ready to charge” – a tolerant U,,ocv,, (corrected due to current and cell resistance) voltage level on the cell, V; if all cell voltages are below the tolerant level, the “Ready to charge” (hence, the “Allow charging”) signal is set;
313 * Delay before recharging – a time after which the previously opened the allow charging contactor closes again, minute; to disable the operation by timeout set "Delay before recharging" to 0;
314 * Check the 'Charge current limit' value to generate the 'Ready to charge' – a flag to enable check of "Charging current limit" to generate the "Ready to charge" signal;
315 * Charge current limit to clear the 'Ready to charge' – a threshold charging current limit value, A; if the limit is //above //this level, the “Ready to charge” signal is cleared;
316 * Charge current limit to set the 'Ready to charge' – a tolerant charging current limit value, A; if the limit is //below //this level, the “Ready to charge” signal is set;
317 * Errors 1, 2 to clear the "Ready to charge" – bitfields to choose the errors which will clear the "Ready to charge" signal.
318
319 (% class="box infomessage" %)
320 (((
321 **Note:** The "Allow charging" signal activates under two independent conditions:
322 1) the voltage on the cells reaches the “Voltage to reset the “Ready to charge"” level and
323 2) the "Delay before recharging" time has passed since the opening of the allow charging contactor.
324 )))
325
326 === Discharging status ===
327
328 To change the parameters of discharging process status, select the "Control → Discharging status" section:
329
330 [[image:1762774840204-111.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="146" width="800"]]In this section:
331
332 * Current to set the "Discharging current present" – a current level to generate the "Discharging current present" signal, А;
333 * Current to clear the "Discharging current present" – a current level to clear the "Discharging current present" signal, А;
334 * Use actual voltage to generate the "Ready to discharge" signal – a flag to disable voltage correction for "Ready to discharge" signal;
335 * Use actual voltage to generate the "Ready to discharge" signal if the current is positive – a flag to disable voltage correction for "Ready to discharge" signal only at charging current;
336 * Voltage to clear the “Ready to discharge” – a threshold U,,ocv,, (corrected due to current and cell resistance) voltage level on the cell, V; if the voltage of any cell is below this level, the “Ready to discharge” signal is cleared;
337 * Voltage to reset the “Ready to discharge” – a tolerant U,,ocv,, (corrected due to current and cell resistance) voltage level on the cell, V; if all cells voltages are above the tolerant level, the “Ready to discharge” signal is set;
338 * Check the 'Discharge current limit' value to generate the 'Ready to discharge' – a flag to enable check of "Discharging current limit" to generate the "Ready to discharge" signal;
339 * Discharge current limit to clear the 'Ready to discharge' – a threshold discharging current limit value, A; if the limit is //above //this level, the “Ready to discharge” signal is cleared;
340 * Discharge current limit to set the 'Ready to discharge' – a tolerant discharging current limit value, A; if the limit is //below //this level, the “Ready to discharge” signal is set;
341 * Clear the 'Ready to discharge' signal if the 'Low SOC' signal is set;
342 * Errors 1, 2 to clear the "Ready to discharge" – bitfields to choose the errors which will clear the "Ready to discharge" signal.
343
344 === Precharge ===
345
346 The BMS Main 3 device can control the precharge contactor. The precharge contactor is used to charge the intermediate capacity with low current and usually placed with the limiting resistor in parallel to charging or discharging contactor.
347
348 BMS Main 3 device detects errors while pre-charging the load capacity by monitoring the current and voltage difference before and after contactors. Also BMS can measure the power dissipated on precharge resistor and generate an error if it greater than configured limit.
349
350 To change the parameters of precharge contactor, select the "Control → Precharge" section:
351
352 [[image:1754931813173-804.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="172" width="800"]]
353
354 In this section:
355
356 * Precharge current threshold to finish precharging – a minimum current value at which precharging process assumed to be finished, A;
357 * Keep the precharging relay closed until precharge is finished – a flag to ignore the Precharge time and wait precharging to finish before open precharge relay;
358 * Number of precharging attempts – maximum number of precharging attempts before setting the "Precharge error";
359 * Delay before current measurement – a delay before first current measurement after closing precharge, millisecond;
360 * Precharge time – a duration of closing the precharge contactor before closing the discharging contactor, millisecond;
361 * Relaxation between attempts – a duration between precharge attempts, millisecond;
362 * Check the power dissipated in the preacharge resistor - a flag to enable the calculation of power dissipated in precharge resistor;
363 * Precharge resistor resistance, Ohm;
364 * Maximum allowable power dissipated in the resistor, W;
365 * Delay before setting the "Precharge error" when checking power, millisecond;
366 * Delay before clearing the "Precharge error", second;
367 * Lock the "Precharge error" – a flag to block the error until the device is restarted.
368
369 “Precharge error” generation conditions if any of the following is true:
370
371 * the precharge current does not decrease during the "Precharge time" after "Number of precharging attempts";
372 * power dissipated on the precharge resistor is above the maximum value during the “Delay before setting the 'Precharge error' when checking power” time.
373
374 (% class="box warningmessage" %)
375 (((
376 Behavior of contactors at “Precharge error” is configured in corresponding contactor settings!
377 )))
378
379 === Charge ===
380
381 There are two contactors that serve charging the battery: a charging contactor and an allow charging contactor. With the help of the allow charging contactor, the BMS commands the charger to start or stop charging.
382
383 The device supports three charge control algorithms:
384
385 * Always on – charging is always allowed;
386 * On charger connected – charging is allowed when there is a signal “Charger connected”;
387 * On charge request – charging is allowed when there is a signal “Charge request”.
388
389 If the "**Always on**" algorithm is selected, the charging contactor and the allow charging contactor are always closed. If at least one of the errors from the "Errors 1, 2 ..." bitfields appears or one of the signals:
390
391 * Service reset;
392 * Power down request;
393 * Inhibit charging,
394
395 both contactors are open (no current flows).
396
397 When the algorithm "**On charger connected**" is selected, the control is performed as follows:
398
399 * If there is a signal “Charger connected” and there are no errors (see the "Errors 1, 2 ..." bitfields), then through the delay time T,,on,, the charging contactor and the allow charging contactor close;
400 * If the signal “Charger connected” disappears, the allow charging contactor opens and after the delay time T,,off,, the charging contactor opens;
401 * If in the process of charging the voltage on the cell exceeds the “Ready to charge” level, the allow charging contactor opens (while the charging contactor remains closed);
402 * If errors from the "Errors 1, 2 ..." bitfields occur the charging contactor and allow charging contactor open.
403
404 When the "**On charge request**" algorithm selected, the control is performed as follows:
405
406 * If there is a signal “Charge request” and there are no errors (see the "Errors 1, 2 ..." bitfields), then through the delay time T,,on,, the charging contactor and the allow charging contactor close;
407 * If the signal “Charge request” disappears, the allow charging contactor opens and after the delay time T,,off,, the charging contactor opens;
408 * If in the process of charging the voltage on the cell exceeds the “Ready to charge” level, the allow charging contactor opens (while the charging contactor remains closed);
409 * If errors from the "Errors 1, 2 ..." bitfields occur the charging contactor and allow charging contactor open.
410
411 (% class="box infomessage" %)
412 (((
413 **Note: **when errors occur in the system, the **Charge **contactor opens either immediately or with the delay T,,off,, (depends on the settings described below).
414 )))
415
416 To change the parameters of the battery charge control algorithm, select the "Control → Charge" section:
417
418 [[image:1740399363134-722.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="306" width="800"]]
419
420 In this section:
421
422 * Enable – a flag to activate the charge control;
423 * Algorithm:
424 ** Always on – charging is always allowed;
425 ** On charger connected – charging is allowed when there is a signal “Charger connected”;
426 ** On charge request – charging is allowed when there is a signal “Charge request”;
427 * Allow charging only when the "Ready to charge" signal is set – charging contactor will open if "Ready to charge" signal is cleared;
428 * Delay before starting charging – a time delay T,,on,, before closing the charging contactor and the allow charging contactor, millisecond;
429 * Delay before stopping charging – a time delay T,,off,, before opening the charging contactor, millisecond;
430 * Control the precharging contactor – a flag that allows control of the precharging contactor (see [[Precharge>>url:http://#HPrecharge]]);
431 * Use custom delays before stopping charging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors;
432 * Errors 1, 2 to open the charging contactor – bitfields to choose the errors which will open the charging contactor;
433 * Custom delay: <error> – specific error delay, millisecond;
434 * Switch off the charging contactor on errors without delay – a flag to protectively open the charging contactor without a delay. In the opposite case, when an error is detected, the charging contactor opens always with the delay “Delay before stopping charging”;
435
436 === Discharge ===
437
438 The device controls the discharging contactor to connect battery to the load.
439
440 The device supports three algorithms to control battery discharging:
441
442 * Always on – load is always connected;
443 * On charger disconnected – load is connected when there is no signal “Charger connected”;
444 * On discharge request – load is connected when there is signal “Discharge request”.
445
446 When the algorithm "**Always on**" is selected, the discharging contactor is always closed. If at least one of the errors from the "Errors 1, 2 ..." bitfields appears or one of the signals:
447
448 * Service reset
449 * Power down request
450 * Inhibit discharging
451
452 the discharging contactor opens.
453
454 If the algorithm "**On charger disconnected**" is selected, the control is performed as follows:
455
456 * if there is no signal “Charger connected”, the charging contactor is open and there are no errors (see the "Errors 1, 2 ..." bitfields), then through the delay time T,,on,, the discharging contactor closes;
457 * If the signal “Charger connected” appears or errors occur (see the "Errors 1, 2 ..." bitfields), then after the delay time T,,off,, the discharging contactor opens.
458
459 When the "**On discharge request**" algorithm selected, the control is performed as follows:
460
461 * if there is signal “Discharge request”, the charging contactor is open and there are no errors (see the "Errors 1, 2 ..." bitfields), then through the delay time T,,on,, the discharging contactor closes;
462 * If the signal “Discharge request” disappears or errors occur (see the "Errors 1, 2 ..." bitfields), then after the delay time T,,off,, the discharging contactor opens.
463
464 (% class="box infomessage" %)
465 (((
466 **Note: **when errors occur in the system, the **Discharge **contactor opens either immediately or with the delay T,,off,, (depends on the settings described below).
467 )))
468
469 To change the parameters of the battery discharge control algorithm, select the "Control → Discharge" section:
470
471 [[image:1740399783613-216.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="311" width="800"]]
472
473 In this section:
474
475 * Enable – a flag to activate the discharge control;
476 * Algorithm:
477 ** Always on – load is always connected;
478 ** On charger disconnected – load is connected when there is no signal “Charger connected”;
479 ** On discharge request – load is connected when there is signal “Discharge request”;
480 * Allow charging only when the "Ready to discharge" signal is set – discharging contactor will open if "Ready to discharge" signal is cleared;
481 * Delay before starting discharging – a time delay T,,on,, before closing the discharging contactor, millisecond;
482 * Delay before stopping discharging – a time delay T,,off,, before opening the discharging contactor, millisecond;
483 * Control the precharging contactor – a flag that allows control of the precharging contactor while closing the discharge contactor (see [[Precharge>>path:#HPrecharge]]);
484 * Errors 1, 2 to open the discharging contactor – bitfields to choose the errors which will open the discharging contactor;
485 * Use custom delays before stopping discharging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors;
486 * Custom delay: <error> – specific error delay, millisecond;
487 * Switch off the discharging contactor on errors without delay – a flag to protectively open the discharging contactor without a delay. In the opposite case, when an error is detected, the discharging contactor opens always with the delay “Delay before stopping discharging”.
488
489 === Charge/Discharge ===
490
491 The BMS Mini device can control the charging/discharging contactor that is used to both charge and discharge the battery.
492
493 Charge/Discharge contactor has three algorithms of operation:
494
495 * Dependent (on Charging and Discharging signals) - Charge/Discharge contactor depends on Charge and Discharge algorithms and their signals and behaves as Charging contactor if Charging signal is set, otherwise – as Discharging contactor;
496 * Independent (Always) - Charge/Discharge contactor is always closed if there is no errors;
497 * Independent (on Charge request or Discharge request) - Charge/Discharge contactor is based on its own controller that listen to Charge and Discharge requests and closes if one of these signals occurs.
498
499 TBA
500
501 (% class="box infomessage" %)
502 (((
503 **Note: **when errors occur in the system, the **Charge/Discharge **contactor opens either immediately or with the delay T,,off,, (depends on the settings described below).
504 )))
505
506 The charging/discharging contactor control is configured in the “Control – Charge/Discharge” section:
507
508 [[image:1740400166950-906.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="211" width="800"]]
509
510 In this section:
511
512 * Enable – a flag to enable the charge/discharge controller.
513 * Algorithm:
514 ** Dependent (on Charging and Discharging signals) - Charge/Discharge contactor depends on Charge and Discharge algorithms and their signals and behaves as Charging contactor if Charging signal is set, otherwise – as Discharging contactor;
515 ** Independent (Always) - Charge/Discharge contactor is always closed if there is no errors;
516 ** Independent (on Charge request or Discharge request);
517 * Delay before starting charging or discharging, millisecond;
518 * Delay before stopping charging or discharging, millisecond;
519 * Control the precharging contactor – a flag that enables control of precharging contactor while closing the charge/discharge contactor;
520 * Emulate the "Charging" and "Discharging" signals – a flag to enable generation of "Charging" and "Discharging" signals when closing charge/discharge contactor;
521 * Errors 1, 2 to prevent CHARGING through charging/discharging contactor, Errors 1, 2 to prevent DISCHARGING through charging/discharging contactor – bitfields to choose the errors which will open the charging/discharging contactor. This bitfields are combined by bitwise OR and intended to separate settings for charging and discharging processes;
522 * Errors 1, 2 which affect the contactor only if battery CHARGING is detected – a bitfield to choose the errors which will trigger only if charging current is present. This bitfield is combined with "Errors 1, 2 to prevent CHARGING through charging/discharging contactor" by bitwise AND;
523 * Errors 1, 2 which affect the contactor only if battery DISCHARGING is detected – a bitfield to choose the errors which will trigger only if discharging current is present. This bitfield is combined with "Errors 1, 2 to prevent DISCHARGING through charging/discharging contactor" by bitwise AND;
524 * Switch off the charging/discharging contactor on errors without delay – a flag to protectively open the charging/discharging contactor without a delay. In the opposite case, when an error is detected, the charging/discharging contactor opens always with the delay “Delay before stopping discharging”.
525
526 === Discharge (AUX) ===
527
528 The BMS Mini device can control the power supply of external equipment using the auxiliary (AUX) discharging contactor. An example of external equipment can be an inverter that converts DC to AC to power a service laptop and other devices.
529
530 The power supply circuit of the external equipment using the auxiliary (AUX) discharging contactor is independent of the battery load circuit. The closing and opening of the auxiliary (AUX) discharging contactor is performed according to its program.
531
532 If the power supply function of the external equipment is enabled, the auxiliary (AUX) discharging contactor closes. The opening of this contactor occurs on three independent conditions:
533
534 * the battery has low SOC;
535 * the battery voltage is out of range;
536 * the battery system errors are detected.
537
538 To change the parameters of the powering of external equipment, select the "Control → Discharge (AUX)" section:
539
540
541 [[image:1740400254884-851.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="179" width="800"]]
542 In this section:
543
544 * Enable – a flag to activate the auxiliary discharge control;
545 * Switch off the discharging (AUX) contactor if the SOC is too low;
546 * Minimum SOC – a minimum SOC value, when reached, the auxiliary (AUX) discharging contactor opens, %;
547 * Tolerant SOC – a permissive SOC value, upon reaching which the auxiliary (AUX) discharging contactor re-closes, %;
548 * Switch off the discharging (AUX) contactor if the cell voltage is out of the range;
549 * Minimum cell voltage, V;
550 * Maximum cell voltage, V;
551 * Switch off the discharging (AUX) contactor if the battery voltage is out of the range;
552 * Minimum battery voltage, V;
553 * Maximum battery voltage, V;
554 * Errors 1, 2 to open the auxiliary discharging contactor – bitfields to choose the errors which will open the auxiliary discharging contactor.
555
556 === Cell balancing ===
557
558 Balancing makes the voltage of all cells equal to the minimum cell voltage.
559
560 The following balancing rules are supported:
561
562 * when the battery is charging (current I > 0) and time after until the battery is relaxed;
563 * when the battery is charging (current I > 0) or when the battery is in a state of relaxation;
564 * always (regardless of battery state).
565
566 A balancing resistor is connected to the cell if the following conditions are simultaneously met:
567
568 * the voltage on the cell is higher than the balancing start voltage;
569 * the difference between the voltage on the cell and the minimum voltage among the battery cells is greater than the balancing start threshold;
570
571 A balancing resistor is disconnected from the cell if any of the following conditions are met:
572
573 * the voltage on the cell is less than the balancing stop voltage;
574 * the difference between the voltage on the cell and the minimum voltage among the battery cells is less than the balancing stop threshold.
575
576 (% class="box infomessage" %)
577 (((
578 If the “High logic temperature” occurs, then the balancing of the cells connected to the overheated BMS Logic device will not be performed.
579 )))
580
581 The BMS Mini device can enable the cell balancing by the external “Balancing request” signal. Balancing process will be started to cells which the voltage is higher than the balancing start voltage and the difference between the cell voltage and the minimum voltage among all the cells is greater than the balancing stop threshold.
582
583 BMS Mini device can force a cell balancing, if its voltage is higher than estimated value.
584
585 To change the cell balancing parameters, select the "Control → Cell balancing" section:
586
587 [[image:1740404562825-676.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="168" width="800"]]
588 In this section:
589
590 * Enable – a flag to enable cell balancing;
591 * Balancing rule:
592 ** Balance on charge;
593 ** Balance on charge or relaxed;
594 ** Balance always;
595 * Balancing condition:
596 ** Automatic – balancing will be performed automatically if needed conditions are met;
597 ** On balancing request – balancing will start only if a remote request is received. In this case cells will start to balance regardless the "Voltage deviation to start balancing" value;
598 * Minimum cell voltage to start balancing, V;
599 * Voltage deviation to start balancing;
600 * Voltage deviation to stop balancing;
601 * Voltage for forced balancing – if cell voltage is above this value, it will start discharging through balancing resistor;
602 * Maximum allowable temperature of the board, ºC;
603 * Command to discharge all cells – a flag to force the balancing of all cells.
604
605 === Power down ===
606
607 The BMS Mini device can shut down itself if the battery voltage is low or the battery is idle for a long time.
608
609 Shutting down the battery system is performed according to the following conditions:
610
611 * the battery voltage is below the minimum level;
612 * the “Charger connected” signal is cleared for 60 seconds.
613
614 The BMS Mini device also shuts down the battery if it stays in the “Charging OFF”, “Discharging OFF”, “Relaxed (after charging)” or “Relaxed (after discharging)” for the set time.
615
616 To change the parameters of the power down control, select the "Control → Power down" section:
617
618 [[image:1740404859367-943.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="130" width="800"]]
619 In this section:
620
621 * Minimum voltage to power down – a minimum voltage level of the battery below which the BMS commands to shut down the battery, V;
622 * Idle time to power down – a time of battery inactivity after which the battery is shut down, minute;
623 * Wait the "Power up/down request" is cleared (on startup) – a flag to enable delay for clearing the “Power up/down request” signal while starting the BMS;
624 * Delay before setting the internal power down signal – a delay before turning off the device power when receiving the “Power down request” command, ms.
625
626 === Heater ===
627
628 To change the parameters of the heater control algorithm, select the "Control → Heater" section:
629
630 [[image:1777293968000-235.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="141" width="800"]]
631 In this section:
632
633 * Enable – a flag to enable heater control;
634 * Minimum cell temperature, °C;
635 * Tolerant cell temperature, °C;
636 * Start the heater only if "Charger connected" signal is set;
637 * Delay before starting the heater, millisecond;
638 * Delay before stopping the heater, millisecond;
639 * Errors 1, 2 to turn off the heater – bitfields to choose the errors which will turn off the heater.
640
641 As a result of operating the heating algorithm, the “Heater” signal is generated.
642
643 Conditions for signal generation:
644
645 * The minimum temperature among all cells of the battery is less than the “Minimum cell temperature” value during the “Delay before starting the heater” time.
646
647 Conditions for clearing the signal:
648
649 * the minimum temperature among all cells of the battery is greater than the “Tolerant cell temperature” value during the “Delay before stopping the heater” time.
650
651 (% class="box infomessage" %)
652 (((
653 If there is the "Heater" signal, the heater contactor closes and/or a signal is output to the corresponded digital output.
654 )))
655
656 === Cooler ===
657
658 To change the parameters of the cooler control algorithm, select the "Control → Cooler" section:
659
660
661 [[image:1740405145695-704.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="149" width="800"]]
662 In this section:
663
664 * Enable – a flag to enable cooler control;
665 * Maximum cell temperature, °C;
666 * Tolerant cell temperature, °C;
667 * Delay before starting the cooler, millisecond;
668 * Delay before stopping the cooler, millisecond;
669 * Errors 1, 2 to turn off the heater – bitfields to choose the errors which will turn off the cooler.
670
671 As a result of operating the cooling algorithm, the "Cooler" signal is generated.
672
673 Conditions for signal generation:
674
675 * the maximum temperature among all cells of the battery is greater than the “Maximum cell temperature” value during the “Delay before starting the cooler” time.
676
677 Conditions for clearing the signal:
678
679 * the maximum temperature among all cells of the battery is less than the “Tolerant cell temperature” value during the “Delay before stopping the cooler” time.
680
681 (% class="box infomessage" %)
682 (((
683 If there is the "Cooler" signal, the cooler contactor closes and/or a signal is output to the corresponded digital output.
684 )))
685
686 === Cell analysis ===
687
688 Discharge characteristics of the battery – the dependence Uocv = Uocv (DOD) – is used to determine the tabular dependence Uocv = Uocv (SOC, t °C), which is necessary for calculating the state of charge of the battery.
689
690 The BMS Mini device can automatically determine the battery discharge characteristic.
691
692 Before starting the process of determining the discharge characteristic, it is necessary to prepare a BMS:
693
694 1. Charge the battery.
695 1. Connect a resistive load to the discharging contactor, which will provide a discharge current of 0.5C (where C is the cell capacitance).
696
697 To configure parameters for determining the discharge characteristic of the battery, select the "Control → Cell analysis" section:
698
699 [[image:1733746808498-116.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="103" width="800"]]
700
701 In this section:
702
703 * Enable – a flag to enable cell analysis;
704 * Discharge step, Ah;
705 * Delta voltage – a maximum allowable voltage drop for the cell, V;
706 * Cell index – a position of the analyzed cell;
707 * Analyse the most discharged cell – a flag to analyse of the least charged cell (in this case, the value “Cell index” is ignored).
708
709 Discharge step should be set equal to
710
711 Discharge step= С/21,
712
713 where C is the cell capacity.
714
715 The discharge characteristic will be constructed for the given cell (its position is determined by the field “Cell index”).
716
717 The algorithm for determining the discharge characteristic of the battery will be started if the “Enable” flag is set. From this moment, the control of the discharge contactor is performed by this algorithm.
718
719 Algorithm steps:
720
721 1. DOD = 0.
722 1. Opening the discharging contactor.
723 1. Waiting for the relaxation of the battery.
724 1. Measuring Uocv = U.
725 1. Saving the point of the discharge characteristic (Q, U,,OCV,,).
726 1. Closing of the discharging contactor. DOD,,1,, = DOD + Discharge step, U,,1,, = U
727 1. If DOD = DOD,,1,, or U < (U,,1,, – Delta voltage), then go to step 2.
728 1. If the "Undervoltage" error is detected, then the end of the algorithm.
729
730 During the operation of the algorithm, a file with the name "CELLANALYSIS.TXT" in the CSV format will be created on the SD card.
731
732 File structure:
733
734 |**Time**|**DOD**|**Cell**|**OCV**|**Resistance**
735 |**10.11.2017 12:28:34**|0.0|1|4.180|0.080000
736 |**...**|...|…|...|...
737
738 Parameter names:
739
740 * Time – date and time;
741 * DOD – depth of discharge, Ah;
742 * Cell – position of the analyzed cell for which OCV and Resistance values are provided;
743 * OCV – cell voltage Uocv, V;
744 * Resistance – cell resistance, Ohm.