Wiki source code of 3.3 Control

Version 55.4 by Admin on 2026/04/30 15:44

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 S / 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 S / 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 the 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 (recommended to be unset);
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 The "Low SOC" is indicative signal that can be assigned to a discrete output or a power switch.
148
149 To change the parameters of the generation a signal about low battery level, select the "Control → Low SOC (signal)" section:
150
151 [[image:1740396460923-423.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="141" width="800"]]
152
153 In this section:
154
155 * **Enable **– a flag to enable signal generation;
156 * **Minimum SOC**, %;
157 * **Tolerant SOC**, %;
158 * **Delay before setting the signal**, second;
159 * **Delay before clearing the signal**, second;
160 * **Lock** – lock the signal until the device is reset.
161
162 Signal generation conditions:
163
164 * the battery SOC is less than the “Minimum SOC” value during the “Delay before setting the signal” time.
165
166 Conditions for clearing the signal:
167
168 * the battery SOC is greater than the “Tolerant SOC” during the “Delay before clearing the signal” time.
169
170 === High charging current (signal) ===
171
172 The "High charging current" is indicative signal that can be output to a discrete output or a power switch.
173
174 To change the parameters of the generation high-current signal, select the "Control → High charging current (signal)" section:
175
176 [[image:1740396996935-403.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="144" width="800"]]
177
178 In this section:
179
180 * **Enable **– a flag to enable signal generation;
181 * **Maximum charging current**, А;
182 * **Tolerant charging current**, А;
183 * **Delay before setting the signal**, second;
184 * **Delay before clearing the signal**, second;
185 * **Lock **– lock the signal until the device is reset.
186
187 Signal generation conditions:
188
189 * the measured current is greater than the “Maximum charging current” value during the “Delay before setting the signal” time.
190
191 Conditions for clearing the signal:
192
193 * the measured current is less than the “Tolerant charging current” value during the “Delay before clearing the signal” time.
194
195 === Charge map ===
196
197 The BMS Mini S / BMS Mini device calculates maximum allowable charge current values in respect to SOC, battery temperature, contactor temperature and cell voltage.
198
199 Calculated current values are sent to a charger or an intellectual load over the CAN bus. External devices based on received data provide correct battery operation.
200
201 To configure parameters for determining the charge current limit, select the "Control → Charge map" section:
202
203 [[image:1740397188247-315.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="179" width="800"]]
204 In this section:
205
206 * **Enable **– a flag to start calculation of the charge current limit;
207 * **Maximum charge current** – a maximum allowable value of the charge current (under normal conditions), A;
208 * **Rate of change** – a rate of change the current limit to a new value (0 is for immediate change), A/s;
209 * **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;
210 * **Option 1: SOC x Temperature x Factor** – the dependence of the correction factor on SOC and battery temperature;
211 * **Option 2: Limit charge current by the contactor temperature** – a flag to enable correction of maximum allowable charging current **Kcc** depending on contactor temperature;
212 * **Option 2: Contactor temperature x Factor** – the dependence of the correction factor on SOC and contactor temperature;
213 * **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)
214 * **Option 3: Cell voltage x Factor** – the dependence of the correction factor on maximum cell voltage;
215 * **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;
216 * **Option 4: Cell temperature x Factor** – the dependence of the correction factor on maximum cell temperature.
217
218 Value of the charge current limit at given SOC, temperature, contactors temperature, maximum cell voltage and maximum cell temperature is calculated as follows:
219
220 **Charge current limit = Maximum charge current × Kcs × Kcc × Kcv × Kct**
221
222 === Discharge map ===
223
224 The BMS Mini S / BMS Mini device calculates maximum allowable discharge current values in respect to SOC, battery temperature, contactor temperature and cell voltage.
225
226 Calculated current values are sending to a charger or an intellectual load over the CAN bus.
227
228 To configure parameters for determining the discharge current limit, select the "Control → Discharge map" section:
229
230 [[image:1740397304972-174.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="182" width="800"]]
231
232 In this section:
233
234 * Enable – a flag to start calculation of the discharge current limit;
235 * Maximum discharge current – a maximum allowable value of the discharge current (under normal conditions), A;
236 * Rate of change – a rate of change the current limit to a new value (0 is for immediate change), A/s;
237 * 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;
238 * Option 1: SOC x Temperature x Factor – the dependence of the correction factor on SOC and battery temperature;
239 * Option 2: Limit discharge current by the contactor temperature – a flag to enable correction of maximum allowable discharging current **Kdc** depending on contactor temperature;
240 * Option 2: Contactor temperature x Factor – the dependence of the correction factor on SOC and contactor temperature;
241 * 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)
242 * Option 3: Cell voltage x Factor – the dependence of the correction factor on minimum cell voltage;
243 * 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;
244 * Option 4: Cell voltage x Factor – the dependence of the correction factor on minimum cell temperature.
245
246 Value of the discharge current limit at given SOC, temperature, contactors temperature, minimum cell voltage and maximum cell temperature is calculated as follows:
247
248 **Discharge current limit = Maximum discharge current × Kds × Kdc × Kdv × Kdt**
249
250 === Main contactor ===
251
252 The BMS Mini S / 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.
253
254 The Main contactor algorithm supports the following modes:
255
256 * Always on;
257 * Automatic.
258
259 In “Always on” mode main contactor closes if all the following is true:
260
261 * Other contactors are open;
262 * There are no errors from the "Errors 1, 2 ..." bitfileds.
263
264 In “Always on” mode main contactor opens if all the following is true:
265
266 * Other contactors are open;
267 * There is an error from the the "Errors 1, 2 ..." bitfileds.
268
269 In “Automatic” mode, the main contactor closes by internal algorithms at the same time with other contactors.
270
271 In “On demand” mode, the main contactor closes by external the “Close Main contactor” request.
272
273 (% class="box infomessage" %)
274 (((
275 **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).
276 )))
277
278 To change the parameters of the main contactor, select the "Control → Main contactor" section:
279
280 [[image:1740397558976-651.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="144" width="800"]]
281
282 In this section:
283
284 * Enable – a flag to enable the main contactor control;
285 * Algorithm – main contactor control algorithm:
286 ** Always on – contactor is always closed;
287 ** Automatic – contactor closes by internal charge and discharge algorithms;
288 ** On demand – contactor is closed by an external request;
289 * Time to keep the contactor closed before closing the others – a time for other contactors to be open after the main contactor is closed;
290 * Delay before opening the contactor – a time which is used to detect conditions for opening the contactor, s;
291 * Keep the contactor open until the device is restarted – a flag for keeping the main contactor open until the system is reset;
292 * Errors 1, 2 to open the main contactor – bitfields to choose the errors which will open the main contactor.
293
294 === Charging status ===
295
296 To change the parameters of charging process status, select the "Control → Charging status" section:
297
298 [[image:1762774819522-147.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="140" width="800"]]
299 In this section:
300
301 * Current to set the "Charging current present" – a current level to generate the "Charging current present" signal, A;
302 * Current to clear the "Charging current present" – a current level to clear the "Charging current present" signal, A;
303 * Use actual voltage to generate the "Ready to charge" signal – a flag to disable voltage correction for "Ready to charge" signal;
304 * 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;
305 * 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;
306 * 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;
307 * 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;
308 * 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;
309 * 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;
310 * 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;
311 * Errors 1, 2 to clear the "Ready to charge" – bitfields to choose the errors which will clear the "Ready to charge" signal.
312
313 (% class="box infomessage" %)
314 (((
315 **Note:** The "Allow charging" signal activates under two independent conditions:
316 1) the voltage on the cells reaches the “Voltage to reset the “Ready to charge"” level and
317 2) the "Delay before recharging" time has passed since the opening of the allow charging contactor.
318 )))
319
320 === Discharging status ===
321
322 To change the parameters of discharging process status, select the "Control → Discharging status" section:
323
324 [[image:1762774840204-111.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="146" width="800"]]In this section:
325
326 * Current to set the "Discharging current present" – a current level to generate the "Discharging current present" signal, А;
327 * Current to clear the "Discharging current present" – a current level to clear the "Discharging current present" signal, А;
328 * Use actual voltage to generate the "Ready to discharge" signal – a flag to disable voltage correction for "Ready to discharge" signal;
329 * 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;
330 * 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;
331 * 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;
332 * 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;
333 * 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;
334 * 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;
335 * Clear the 'Ready to discharge' signal if the 'Low SOC' signal is set;
336 * Errors 1, 2 to clear the "Ready to discharge" – bitfields to choose the errors which will clear the "Ready to discharge" signal.
337
338 === Precharge ===
339
340 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.
341
342 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.
343
344 To change the parameters of precharge contactor, select the "Control → Precharge" section:
345
346 [[image:1754931813173-804.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="172" width="800"]]
347
348 In this section:
349
350 * Precharge current threshold to finish precharging – a minimum current value at which precharging process assumed to be finished, A;
351 * 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;
352 * Number of precharging attempts – maximum number of precharging attempts before setting the "Precharge error";
353 * Delay before current measurement – a delay before first current measurement after closing precharge, millisecond;
354 * Precharge time – a duration of closing the precharge contactor before closing the discharging contactor, millisecond;
355 * Relaxation between attempts – a duration between precharge attempts, millisecond;
356 * Check the power dissipated in the preacharge resistor - a flag to enable the calculation of power dissipated in precharge resistor;
357 * Precharge resistor resistance, Ohm;
358 * Maximum allowable power dissipated in the resistor, W;
359 * Delay before setting the "Precharge error" when checking power, millisecond;
360 * Delay before clearing the "Precharge error", second;
361 * Lock the "Precharge error" – a flag to block the error until the device is restarted.
362
363 “Precharge error” generation conditions if any of the following is true:
364
365 * the precharge current does not decrease during the "Precharge time" after "Number of precharging attempts";
366 * power dissipated on the precharge resistor is above the maximum value during the “Delay before setting the 'Precharge error' when checking power” time.
367
368 (% class="box warningmessage" %)
369 (((
370 Behavior of contactors at “Precharge error” is configured in corresponding contactor settings!
371 )))
372
373 === Charge ===
374
375 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.
376
377 The device supports three charge control algorithms:
378
379 * Always on – charging is always allowed;
380 * On charger connected – charging is allowed when there is a signal “Charger connected”;
381 * On charge request – charging is allowed when there is a signal “Charge request”.
382
383 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:
384
385 * Service reset;
386 * Power down request;
387 * Inhibit charging,
388
389 both contactors are open (no current flows).
390
391 When the algorithm "**On charger connected**" is selected, the control is performed as follows:
392
393 * 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;
394 * If the signal “Charger connected” disappears, the allow charging contactor opens and after the delay time T,,off,, the charging contactor opens;
395 * 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);
396 * If errors from the "Errors 1, 2 ..." bitfields occur the charging contactor and allow charging contactor open.
397
398 When the "**On charge request**" algorithm selected, the control is performed as follows:
399
400 * 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;
401 * If the signal “Charge request” disappears, the allow charging contactor opens and after the delay time T,,off,, the charging contactor opens;
402 * 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);
403 * If errors from the "Errors 1, 2 ..." bitfields occur the charging contactor and allow charging contactor open.
404
405 (% class="box infomessage" %)
406 (((
407 **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).
408 )))
409
410 To change the parameters of the battery charge control algorithm, select the "Control → Charge" section:
411
412 [[image:1740399363134-722.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="306" width="800"]]
413
414 In this section:
415
416 * Enable – a flag to activate the charge control;
417 * Algorithm:
418 ** Always on – charging is always allowed;
419 ** On charger connected – charging is allowed when there is a signal “Charger connected”;
420 ** On charge request – charging is allowed when there is a signal “Charge request”;
421 * Allow charging only when the "Ready to charge" signal is set – charging contactor will open if "Ready to charge" signal is cleared;
422 * Delay before starting charging – a time delay T,,on,, before closing the charging contactor and the allow charging contactor, millisecond;
423 * Delay before stopping charging – a time delay T,,off,, before opening the charging contactor, millisecond;
424 * Control the precharging contactor – a flag that allows control of the precharging contactor (see [[Precharge>>url:http://#HPrecharge]]);
425 * Use custom delays before stopping charging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors;
426 * Errors 1, 2 to open the charging contactor – bitfields to choose the errors which will open the charging contactor;
427 * Custom delay: <error> – specific error delay, millisecond;
428 * 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”;
429
430 === Discharge ===
431
432 The device controls the discharging contactor to connect battery to the load.
433
434 The device supports three algorithms to control battery discharging:
435
436 * Always on – load is always connected;
437 * On charger disconnected – load is connected when there is no signal “Charger connected”;
438 * On discharge request – load is connected when there is signal “Discharge request”.
439
440 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:
441
442 * Service reset
443 * Power down request
444 * Inhibit discharging
445
446 the discharging contactor opens.
447
448 If the algorithm "**On charger disconnected**" is selected, the control is performed as follows:
449
450 * 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;
451 * 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.
452
453 When the "**On discharge request**" algorithm selected, the control is performed as follows:
454
455 * 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;
456 * 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.
457
458 (% class="box infomessage" %)
459 (((
460 **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).
461 )))
462
463 To change the parameters of the battery discharge control algorithm, select the "Control → Discharge" section:
464
465 [[image:1740399783613-216.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="311" width="800"]]
466
467 In this section:
468
469 * Enable – a flag to activate the discharge control;
470 * Algorithm:
471 ** Always on – load is always connected;
472 ** On charger disconnected – load is connected when there is no signal “Charger connected”;
473 ** On discharge request – load is connected when there is signal “Discharge request”;
474 * Allow charging only when the "Ready to discharge" signal is set – discharging contactor will open if "Ready to discharge" signal is cleared;
475 * Delay before starting discharging – a time delay T,,on,, before closing the discharging contactor, millisecond;
476 * Delay before stopping discharging – a time delay T,,off,, before opening the discharging contactor, millisecond;
477 * Control the precharging contactor – a flag that allows control of the precharging contactor while closing the discharge contactor (see [[Precharge>>path:#HPrecharge]]);
478 * Errors 1, 2 to open the discharging contactor – bitfields to choose the errors which will open the discharging contactor;
479 * Use custom delays before stopping discharging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors;
480 * Custom delay: <error> – specific error delay, millisecond;
481 * 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”.
482
483 === Charge/Discharge ===
484
485 The BMS Mini S / BMS Mini device can control the charging/discharging contactor that is used to both charge and discharge the battery.
486
487 Charge/Discharge contactor has three algorithms of operation:
488
489 * 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;
490 * Independent (Always) - Charge/Discharge contactor is always closed if there is no errors;
491 * 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.
492
493 TBA
494
495 (% class="box infomessage" %)
496 (((
497 **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).
498 )))
499
500 The charging/discharging contactor control is configured in the “Control – Charge/Discharge” section:
501
502 [[image:1740400166950-906.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="211" width="800"]]
503
504 In this section:
505
506 * Enable – a flag to enable the charge/discharge controller.
507 * Algorithm:
508 ** 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;
509 ** Independent (Always) - Charge/Discharge contactor is always closed if there is no errors;
510 ** Independent (on Charge request or Discharge request);
511 * Delay before starting charging or discharging, millisecond;
512 * Delay before stopping charging or discharging, millisecond;
513 * Control the precharging contactor – a flag that enables control of precharging contactor while closing the charge/discharge contactor;
514 * Emulate the "Charging" and "Discharging" signals – a flag to enable generation of "Charging" and "Discharging" signals when closing charge/discharge contactor;
515 * 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;
516 * 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;
517 * 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;
518 * 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”.
519
520 === Discharge (AUX) ===
521
522 The BMS Mini S / 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.
523
524 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.
525
526 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:
527
528 * the battery has low SOC;
529 * the battery voltage is out of range;
530 * the battery system errors are detected.
531
532 To change the parameters of the powering of external equipment, select the "Control → Discharge (AUX)" section:
533
534
535 [[image:1740400254884-851.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="179" width="800"]]
536 In this section:
537
538 * Enable – a flag to activate the auxiliary discharge control;
539 * Switch off the discharging (AUX) contactor if the SOC is too low;
540 * Minimum SOC – a minimum SOC value, when reached, the auxiliary (AUX) discharging contactor opens, %;
541 * Tolerant SOC – a permissive SOC value, upon reaching which the auxiliary (AUX) discharging contactor re-closes, %;
542 * Switch off the discharging (AUX) contactor if the cell voltage is out of the range;
543 * Minimum cell voltage, V;
544 * Maximum cell voltage, V;
545 * Switch off the discharging (AUX) contactor if the battery voltage is out of the range;
546 * Minimum battery voltage, V;
547 * Maximum battery voltage, V;
548 * Errors 1, 2 to open the auxiliary discharging contactor – bitfields to choose the errors which will open the auxiliary discharging contactor.
549
550 === Cell balancing ===
551
552 Balancing makes the voltage of all cells equal to the minimum cell voltage.
553
554 The following balancing rules are supported:
555
556 * when the battery is charging (current I > 0) and time after until the battery is relaxed;
557 * when the battery is charging (current I > 0) or when the battery is in a state of relaxation;
558 * always (regardless of battery state).
559
560 A balancing resistor is connected to the cell if the following conditions are simultaneously met:
561
562 * the voltage on the cell is higher than the balancing start voltage;
563 * the difference between the voltage on the cell and the minimum voltage among the battery cells is greater than the balancing start threshold;
564
565 A balancing resistor is disconnected from the cell if any of the following conditions are met:
566
567 * the voltage on the cell is less than the balancing stop voltage;
568 * the difference between the voltage on the cell and the minimum voltage among the battery cells is less than the balancing stop threshold.
569
570 (% class="box infomessage" %)
571 (((
572 If the “High logic temperature” occurs, then the balancing of the cells connected to the overheated BMS Logic device will not be performed.
573 )))
574
575 The BMS Mini S / 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.
576
577 BMS Mini S / BMS Mini device can force a cell balancing, if its voltage is higher than estimated value.
578
579 To change the cell balancing parameters, select the "Control → Cell balancing" section:
580
581 [[image:1740404562825-676.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="168" width="800"]]
582 In this section:
583
584 * Enable – a flag to enable cell balancing;
585 * Balancing rule:
586 ** Balance on charge;
587 ** Balance on charge or relaxed;
588 ** Balance always;
589 * Balancing condition:
590 ** Automatic – balancing will be performed automatically if needed conditions are met;
591 ** 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;
592 * Minimum cell voltage to start balancing, V;
593 * Voltage deviation to start balancing;
594 * Voltage deviation to stop balancing;
595 * Voltage for forced balancing – if cell voltage is above this value, it will start discharging through balancing resistor;
596 * Maximum allowable temperature of the board, ºC;
597 * Command to discharge all cells – a flag to force the balancing of all cells.
598
599 === Power down ===
600
601 The BMS Mini S / BMS Mini device can shut down itself if the battery voltage is low or the battery is idle for a long time.
602
603 Shutting down the battery system is performed according to the following conditions:
604
605 * the battery voltage is below the minimum level;
606 * the “Charger connected” signal is cleared for 60 seconds.
607
608 The BMS Mini S / 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.
609
610 To change the parameters of the power down control, select the "Control → Power down" section:
611
612 [[image:1740404859367-943.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="130" width="800"]]
613 In this section:
614
615 * Minimum voltage to power down – a minimum voltage level of the battery below which the BMS commands to shut down the battery, V;
616 * Idle time to power down – a time of battery inactivity after which the battery is shut down, minute;
617 * 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;
618 * Delay before setting the internal power down signal – a delay before turning off the device power when receiving the “Power down request” command, ms.
619
620 === Heater ===
621
622 To change the parameters of the heater control algorithm, select the "Control → Heater" section:
623
624 [[image:1777293968000-235.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="141" width="800"]]
625 In this section:
626
627 * Enable – a flag to enable heater control;
628 * Minimum cell temperature, °C;
629 * Tolerant cell temperature, °C;
630 * Start the heater only if "Charger connected" signal is set;
631 * Delay before starting the heater, millisecond;
632 * Delay before stopping the heater, millisecond;
633 * Errors 1, 2 to turn off the heater – bitfields to choose the errors which will turn off the heater.
634
635 As a result of operating the heating algorithm, the “Heater” signal is generated.
636
637 Conditions for signal generation:
638
639 * 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.
640
641 Conditions for clearing the signal:
642
643 * 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.
644
645 (% class="box infomessage" %)
646 (((
647 If there is the "Heater" signal, the heater contactor closes and/or a signal is output to the corresponded digital output.
648 )))
649
650 === Cooler ===
651
652 To change the parameters of the cooler control algorithm, select the "Control → Cooler" section:
653
654
655 [[image:1740405145695-704.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="149" width="800"]]
656 In this section:
657
658 * Enable – a flag to enable cooler control;
659 * Maximum cell temperature, °C;
660 * Tolerant cell temperature, °C;
661 * Delay before starting the cooler, millisecond;
662 * Delay before stopping the cooler, millisecond;
663 * Errors 1, 2 to turn off the heater – bitfields to choose the errors which will turn off the cooler.
664
665 As a result of operating the cooling algorithm, the "Cooler" signal is generated.
666
667 Conditions for signal generation:
668
669 * 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.
670
671 Conditions for clearing the signal:
672
673 * 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.
674
675 (% class="box infomessage" %)
676 (((
677 If there is the "Cooler" signal, the cooler contactor closes and/or a signal is output to the corresponded digital output.
678 )))
679
680 === Cell analysis ===
681
682 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.
683
684 The BMS Mini S / BMS Mini device can automatically determine the battery discharge characteristic.
685
686 Before starting the process of determining the discharge characteristic, it is necessary to prepare a BMS:
687
688 1. Charge the battery.
689 1. Connect a resistive load to the discharging contactor, which will provide a discharge current of 0.5C (where C is the cell capacitance).
690
691 To configure parameters for determining the discharge characteristic of the battery, select the "Control → Cell analysis" section:
692
693 [[image:1733746808498-116.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="103" width="800"]]
694
695 In this section:
696
697 * Enable – a flag to enable cell analysis;
698 * Discharge step, Ah;
699 * Delta voltage – a maximum allowable voltage drop for the cell, V;
700 * Cell index – a position of the analyzed cell;
701 * Analyse the most discharged cell – a flag to analyse of the least charged cell (in this case, the value “Cell index” is ignored).
702
703 Discharge step should be set equal to
704
705 Discharge step= С/21,
706
707 where C is the cell capacity.
708
709 The discharge characteristic will be constructed for the given cell (its position is determined by the field “Cell index”).
710
711 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.
712
713 Algorithm steps:
714
715 1. DOD = 0.
716 1. Opening the discharging contactor.
717 1. Waiting for the relaxation of the battery.
718 1. Measuring Uocv = U.
719 1. Saving the point of the discharge characteristic (Q, U,,OCV,,).
720 1. Closing of the discharging contactor. DOD,,1,, = DOD + Discharge step, U,,1,, = U
721 1. If DOD = DOD,,1,, or U < (U,,1,, – Delta voltage), then go to step 2.
722 1. If the "Undervoltage" error is detected, then the end of the algorithm.
723
724 During the operation of the algorithm, a file with the name "CELLANALYSIS.TXT" in the CSV format will be created on the SD card.
725
726 File structure:
727
728 |**Time**|**DOD**|**Cell**|**OCV**|**Resistance**
729 |**10.11.2017 12:28:34**|0.0|1|4.180|0.080000
730 |**...**|...|…|...|...
731
732 Parameter names:
733
734 * Time – date and time;
735 * DOD – depth of discharge, Ah;
736 * Cell – position of the analyzed cell for which OCV and Resistance values are provided;
737 * OCV – cell voltage Uocv, V;
738 * Resistance – cell resistance, Ohm.