Wiki source code of 3.4 Battery parameters

Version 31.1 by Admin on 2025/02/19 09:47

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 = Configuration =
3
4 (% data-numbered-headings-start="4" style="--numbered-headings-start: 3;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %)
5 == Battery parameters ==
6
7 === Cell defaults ===
8
9 To change the default cell settings, select the menu "Cells → Cell defaults":
10
11 [[image:1732205873121-893.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="281" width="374"]]
12
13 In this section:
14
15 * Capacity – nominal capacity of cells, Ah;
16 * Resistance – nominal (maximum) internal resistance of the cell, Ohm;
17 * Relax time (after charging) – a relaxation time after charging, second;
18 * Relax time (atfer discharging) – the relaxation time after discharging, second;
19 * Cycles – a number of charge-discharge cycles;
20 * Reset battery cycles – a command to reset charge-discharge cycles;
21 * Reset cell parameters (SOC, capacity, resistance) – a command to reset cells state of charge, capacity, and resistance.
22
23 The values “Capacity”, “Resistance”, “Cycles” are used to calculate the SOC of cells and battery.
24
25 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.
26
27 The “Reset cell parameters” command is used for starting-up and adjustment of battery.
28
29 === SOC estimation ===
30
31 The BMS Main 2.x board calculates the state of charge of the battery (SOC) using two algorithms:
32
33 * by open circuit voltage;
34 * by current and voltage.
35
36 It is recommended to use the algorithm of calculation of SOC by voltage and current.
37
38 To change the parameters of the algorithm for calculating the battery SOC, select the menu "Cells → SOC estimation":
39
40 [[image:1732206031847-819.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="849" width="356"]]
41
42 In this section:
43
44 * Estimation algorithm – SOC calculation algorithm:
45 ** Voltage – by open circuit voltage;
46 ** Current and voltage (simplified);
47 ** Current and voltage (enhanced);
48 * Final SOC – a method of calculating the battery SOC:
49 ** Minimum cell SOC – the battery SOC is assumed to be equal to the minimum SOC of cells;
50 ** Average cell SOC – the battery SOC is assumed to be equal to the average SOC of cells;
51 ** Min-Max SOC – the battery SOC is calculated based on the minimum and maximum SOC of the cells. Final SOC will be a) 100% if any cell has 100% SOC, b) 0% if any cell has 0% SOC;
52 ** 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;
53 * Scale the final SOC – flag to scale the battery SOC by the following values;
54 * Internal SOC corresponding to 0% – battery SOC that sets to be 0%;
55 * Internal SOC corresponding to 100% – battery SOC that sets to be 100%.
56 * Uocv = Uocv(SOC, t °C) – the dependence of the cell open circuit voltage Uocv on SOC and the cell temperature (selected for specific batteries, can be established experimentally – see [[Cell analysis>>doc:||anchor="HCellanalysis"]]);
57 * Linear zone – linear zone of dependence Uocv = Uocv(SOC, t °C):
58 ** Uocv ,,[point 1],, – starting point of the linear zone;
59 ** Uocv ,,[point 2],, – end point of the linear zone;
60 * Temperature correction – the dependence of battery capacity on temperature;
61 * Cycle correction – the dependence of battery capacity on the number of charge-discharge cycles.
62
63 The SOC calculation algorithm for voltage calculates SOC cells based on the tabular dependence Uocv = Uocv(SOC, t °C) .
64
65 The SOC calculation algorithm “Current and voltage (simplified)” works as follows:
66
67 * 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);
68 * in any other cases, the SOC value is proportional to the charge (coulomb) passed through the battery (current time integral).
69
70 The SOC calculation algorithm “Current and voltage (enhanced)” 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).
71
72 === Cell resistance estimation ===
73
74 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
75
76 R = (U-Uocv) / Istable,
77
78 where U is the cell voltage measured in the charge or discharge state, V; Uocv is the cell voltage measured in the state of relaxation (before switching to the state of charge or discharge); Istable – stabilized current through the cell in the state of charge or discharge.
79
80 The second method is used for a stepwise change in the current through the cell, while the value of the cell resistance:
81
82 R = (U,,2,,-U,,1,,) / (I,,stable2,,-I,,stable1,,) provided that | I,,stable2,,-I,,stable1,, | > 0.2 × Q,,max,,
83
84 (Q,,max,, is the maximum cell capacity),
85
86 where U,,2,, is the 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.
87
88 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.
89
90 To change parameters of the algorithm for calculating the cell resistance, select the menu "Cells → Cell resistance estimation":
91
92 [[image:1732207338609-903.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="187" width="337"]]
93
94 In this section:
95
96 * Current stabilization time, second;
97 * Maximum estimation period – maximum time between resistance measurements. If more time has elapsed since the last determination of the stabilized current Istable than is determined in this field, the resistance calculation is not performed, second;
98 * Maximum resistance factor – the coefficient of calculation of the maximum acceptable resistance of the cell;
99 * Minimum SOC – minimum cell SOC value for resistance calculation;
100 * Maximum SOC – maximum cell SOC value for resistance calculation.
101
102 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 [[Cell defaults>>doc:||anchor="HCelldefaults"]]). 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).
103
104 === Cell balancing ===
105
106 The BMS Main 2.x supports two cell balancing algorithms:
107
108 * balancing stacks individually;
109 * balancing the entire battery (used by default).
110
111 Balancing stacks individually balances the voltage within a group of cells that are connected to the same BMS Logic board. **It is not recommended to use this algorithm in typical battery designs**.
112
113 Balancing the entire battery makes the voltage of all cells be equal to the minimum cell voltage.
114
115 The following balancing rules are supported:
116
117 * only when the battery is charging (current I > 0);
118 * when the battery is charging (current I > 0) or when the battery is in a state of relaxation;
119 * always (regardless of battery state).
120
121 A balancing resistor is connected to the cell if:
122
123 * the voltage on the cell is higher than the starting voltage of the balancing;
124 * the difference between the cell voltage and the minimum voltage among the cells of the battery is greater than the balancing threshold.
125
126 A balancing resistor is disconnected from the cell if any of the following conditions are met:
127
128 * the voltage on the cell is less than the balancing stop voltage;
129 * the difference between the voltage on the cell and the minimum voltage among the battery cells is less than the balancing stop threshold.
130
131 If the BMS Logic board overheats, then the balancing of the cells connected to this board will not be performed (see [[Logic high temperature protection>>doc:Battery management systems.BMS Main 2\.1.3\. Configuration.3\.6 Battery protection.WebHome||anchor="HLogichightemperatureprotection"]]).
132
133 The BMS Main 2.1 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.
134
135 BMS Main 2.1 can force a cell balancing, if its voltage is higher than estimated value.
136
137 To change the cell balancing parameters, select the menu "Cell → Cell balancing":
138
139 [[image:1739812799920-892.png||alt="1732207485773-804.png" data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="264" width="387"]]
140
141 In this section:
142
143 * Enable – a flag to enable cell balancing;
144 * Algorithm – a balancing algorithm:
145 ** Balancing stacks individually;
146 ** Balancing the entire battery;
147 * Constrain (rule):
148 ** Charging;
149 ** Charging or relaxed;
150 ** Always (regardless of battery state);
151 * Balancing condition:
152 ** Automatic – balancing will be performed automatically if needed conditions are met;
153 ** 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;
154 * Minimum cell voltage to start balancing, V;
155 * Deviation to start balancing;
156 * Deviation to stop balancing;
157 * Voltage for forced balancing – if cell voltage is above this value, it will start discharging through balancing resistor;
158 * Start cell discharging – a command to start forced balancing of all battery cells (used for service purposes);
159 * Stop cell discharging – a command to stop forced balancing of all battery cells (used for service purposes).
160
161 === Series balancing ===
162
163 The BMS Main 2.x board supports work with two independent (galvanically unrelated) cell series. To monitor the status of two series, two current sensors are used: primary and secondary (AUX). A series of cells must be equivalent: they must have the same number of cells and the same capacity.
164
165 Since the series of cells can operate at different loads, they must be balanced. For this, the BMS Main 2.x provides two relays: “Balancing series 1” and “Balancing series 2” (see [[Input and output signals>>doc:Battery management systems.BMS Main 2\.1.3\. Configuration.3\.3 Input and output signals.WebHome]]), as well as a combined algorithm that considers both the voltage of each series and the charge that these series gave load. “Balancing series 1” and “Balancing series 2” relays are used to connect high-power balancing resistors in parallel with cells series 1 and 2.
166
167 When charging the battery, balancing is performed based on the voltage of the series. A balancing resistor is connected to the cell series if:
168
169 * the series voltage is higher than the starting voltage of the balancing;
170 * the difference between the voltage of a series of cells and the minimum voltage among the battery series is greater than the balancing threshold.
171
172 When the battery is discharging (work on load), balancing is turned on if one of the series gives the load a charge (Ah), which is more by the amount Qthr of the charge given off by another series.
173
174 To change the series balancing parameters, select the menu "Cell → Series balancing":
175
176 [[image:1732207584941-447.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="258" width="438"]]
177
178 In this section:
179
180 * Enable – a flag to enable series balancing;
181 * Number of BMS Logic boards in a series;
182 * Minimum series voltage to start balancing, V;
183 * Balancing threshold, V;
184 * Coulomb threshold – the difference of the charges Qthr, given by a series of cells, above which balancing to be started, Ah;
185 * Period – period to reset of charge counters for each series (to avoid accumulation of error), second.
186
187 === Cell analysis ===
188
189 Discharge characteristics of the battery – the dependence Uocv = Uocv (DOD) – is used to determine the tabular dependence Uocv = Uocv (SOC, t °C) (see [[SOC estimation>>doc:||anchor="HSOCestimation"]]), which is necessary for calculating the state of charge of the battery.
190
191 The BMS Main 2.x board can automatically determine the battery discharge characteristic.
192
193 Before starting the process of determining the discharge characteristic, it is necessary to prepare a BMS:
194
195 1. Charge the battery.
196 1. Connect a contactor to the discharging relay which switches the resistive load to the battery.
197 1. Connect a resistive load to the contactor, which will provide a discharge current of 0.5C (where C is the cell capacitance).
198
199 To configure parameters for determining the discharge characteristic of the battery, select the menu "Cells → Cell analysis":
200
201 [[image:1732207696322-587.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="213" width="258"]]
202
203 In this section:
204
205 * Enable – a flag to enable cell analysis;
206 * Discharge step, Ah;
207 * Delta voltage – a maximum allowable voltage drop for the cell, V;
208 * Logic index – an address of the BMS Logic board to which the analyzed cell is connected;
209 * Cell index – a position of the analyzed cell connected to the BMS Logic board;
210 * Analyse cell with minimum voltage – a flag to analyse of the least charged cell (in this case, the values of Logic index and Cell index are ignored).
211
212 Discharge step should be set equal to
213
214 Discharge step = С/21,
215
216 where C is the cell capacity.
217
218 The discharge characteristic will be constructed for the given cell (its position is determined by the fields Logic index and Cell index).
219
220 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 relay is performed by this algorithm.
221
222 Algorithm steps:
223
224 1. DOD = 0.
225 1. Disconnecting the discharge relay.
226 1. Waiting for the relaxation of the battery.
227 1. Measuring Uocv = U.
228 1. Saving the point of the discharge characteristic (Q, U,,OCV,,).
229 1. Activation of the discharge relay. DOD,,1,, = DOD + Discharge step, U,,1,, = U
230 1. If DOD = DOD,,1,, or U < (U,,1,, – Delta voltage), then go to step 2.
231 1. If the "Undervoltage" error is detected, then the end of the algorithm.
232
233 During the operation of the algorithm, a file with the name "CELLANALYSIS.TXT" in the CSV format will be created on the SD card.
234
235 File structure:
236
237 |**Time**|**DOD**|**Logic**|**Cell**|**OCV**|**Resistance**
238 |**10.11.2017 12:28:34**|0.0|1|1|4.180|0.080000
239 |**...**|...|…|…|...|...
240
241 Parameter names:
242
243 * Time – date and time;
244 * DOD – depth of discharge, Ah;
245 * Logic – the address of the BMS Logic board to which the analyzed cell is connected;
246 * Cell – position of the analyzed cell for which OCV and Resistance values are provided;
247 * OCV – cell voltage Uocv, V;
248 * Resistance – cell resistance, Ohm.
249
250 === Charge current map ===
251
252 The BMS Main 2.x board calculates maximum allowable charge current values in respect to SOC and battery temperature, contactor temperature and maximum cell voltage.
253
254 Calculated currents values are sending to chargers over the CAN bus.
255
256 To configure parameters for determining the charge current limit, select the menu "Cells → Charge current map":
257
258 [[image:1732208033738-498.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="655" width="453"]]
259
260 In this section:
261
262 * Enable – a flag to start calculation of the charge current limit;
263 * Maximum charging current – a maximum allowable value of the charge current (under normal conditions):
264 * Limit charging current by the battery SOC and temperature – a flag to enable correction of maximum allowable charging current Kcs depending on SOC and temperature;
265 * Limit charging current by the contactor temperature – a flag to enable correction of maximum allowable charging current Kcc depending on the contactor temperature;
266 * Limit charging current by the maximum cell voltage – a flag to enable correction of maximum allowable charging current Kcv depending on maximum cell voltage;
267 * Limit charging current by the maximum cell temperature – a flag to enable correction of maximum allowable charging current Kct depending on cell temperature.
268
269 Value of the charge current limit at given SOC, temperature, contactors temperature and maximum cell voltage is calculated as follows:
270
271 Charging current limit = Maximum charging current × Kcs × Kcc × Kcv × Kct.
272
273 === Discharge current map ===
274
275 The BMS Main 2.x board calculates maximum allowable discharge current values in respect to SOC and battery temperature, contactor temperature and maximum cell voltage.
276
277 Calculated currents values are sending or intellectual loads over the CAN bus.
278
279 To configure parameters for determining the charge current limit, select the menu "Cells → Charge current map":
280
281 [[image:1732208218667-968.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="631" width="434"]]
282
283 In this section:
284
285 * Enable – a flag to start calculation of the discharge current limit;
286 * Maximum discharging current – a maximum allowable value of the discharge current (under normal conditions):
287 * Current factor – the dependence of the correction factor on SOC and the battery temperature – Kdischarge=Kdischarge (SOC, t°C).
288 * Limit discharging current by the battery SOC and temperature – a flag to enable correction of maximum allowable discharging current Kds depending on SOC and temperature;
289 * Limit discharging current by the contactor temperature – a flag to enable correction of maximum allowable discharging current Kdc depending on the contactor temperature;
290 * Limit discharging current by the maximum cell voltage - a flag to enable correction of maximum allowable discharging current Kdv depending on maximum cell voltage;
291 * Limit discharging current by the maximum cell temperature - a flag to enable correction of maximum allowable discharging current Kdt depending on cell temperature .
292
293 Value of the discharge current limit at given SOC, temperature, contactors temperature and maximum cell voltage is calculated as follows:
294
295 Discharging current limit = Maximum discharging current × Kds × Kdc × Kdv × Kdt.
296
297 === SOC correction ===
298
299 The BMS Main 2.x board 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"]]).
300
301 To configure parameters for periodically correcting the battery state of charge, select the menu "Cells → SOC correction":
302
303 [[image:1732206262509-786.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="291" width="298"]]
304
305 In this section:
306
307 * Enable – a flag to enable SOC correction;
308 * 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 base on the tabular dependency Uocv = Uocv (SOC, t);
309 * 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 base on the tabular dependency Uocv = Uocv (SOC, t) and tunes it gradually during the “SOC change time”;
310 * SOC change time – a duration of the linear changing the battery SOC to the value calculated by the correction algorithm, minute;
311 * Ignore the linear zone – a flag to ignore linear zone while calculating SOC correction.
312
313