Wiki source code of 3.4 Battery parameters

Version 25.1 by Admin on 2024/12/11 10:29

Hide last authors
Admin 25.1 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 =
Admin 1.2 3
Admin 25.1 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
Admin 1.2 9 To change the default cell settings, select the menu "Cells → Cell defaults":
10
Admin 17.1 11 [[image:1732205873121-893.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="281" width="374"]]
Admin 2.2 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
Admin 25.1 29 === SOC estimation ===
Admin 3.2 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
Admin 17.1 40 [[image:1732206031847-819.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="849" width="356"]]
Admin 3.3 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 * Scale the final SOC – flag to scale the battery SOC by the following values;
52 * Internal SOC corresponding to 0% – battery SOC that sets to be 0%;
53 * Internal SOC corresponding to 100% – battery SOC that sets to be 100%.
Admin 25.1 54 * 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"]]);
Admin 3.3 55 * Linear zone – linear zone of dependence Uocv = Uocv(SOC, t °C):
56 ** Uocv ,,[point 1],, – starting point of the linear zone;
57 ** Uocv ,,[point 2],, – end point of the linear zone;
58 * Temperature correction – the dependence of battery capacity on temperature;
59 * Cycle correction – the dependence of battery capacity on the number of charge-discharge cycles.
60
61 The SOC calculation algorithm for voltage calculates SOC cells based on the tabular dependence Uocv = Uocv(SOC, t °C) .
62
63 The SOC calculation algorithm “Current and voltage (simplified)” works as follows:
64
65 * 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);
66 * in any other cases, the SOC value is proportional to the charge (coulomb) passed through the battery (current time integral).
67
68 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).
69
Admin 25.1 70 === Cell resistance estimation ===
Admin 3.4 71
Admin 4.5 72 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
Admin 4.3 73
Admin 4.5 74 R = (U-Uocv) / Istable,
75
76 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.
77
78 The second method is used for a stepwise change in the current through the cell, while the value of the cell resistance:
79
80 R = (U,,2,,-U,,1,,) / (I,,stable2,,-I,,stable1,,) provided that | I,,stable2,,-I,,stable1,, | > 0.2 × Q,,max,,
81
82 (Q,,max,, is the maximum cell capacity),
83
84 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.
85
86 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.
87
88 To change parameters of the algorithm for calculating the cell resistance, select the menu "Cells → Cell resistance estimation":
89
Admin 17.1 90 [[image:1732207338609-903.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="187" width="337"]]
Admin 5.2 91
92 In this section:
93
94 * Current stabilization time, second;
95 * 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;
96 * Maximum resistance factor – the coefficient of calculation of the maximum acceptable resistance of the cell;
97 * Minimum SOC – minimum cell SOC value for resistance calculation;
98 * Maximum SOC – maximum cell SOC value for resistance calculation.
99
Admin 25.1 100 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).
Admin 5.2 101
Admin 25.1 102 === Cell balancing ===
Admin 5.2 103
Admin 6.2 104 The BMS Main 2.x supports two cell balancing algorithms:
105
106 * balancing stacks individually;
107 * balancing the entire battery (used by default).
108
109 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**.
110
111 Balancing the entire battery makes the voltage of all cells be equal to the minimum cell voltage.
112
113 The following balancing rules are supported:
114
115 * only when the battery is charging (current I > 0);
116 * when the battery is charging (current I > 0) or when the battery is in a state of relaxation;
117 * always (regardless of battery state).
118
119 A balancing resistor is connected to the cell if:
120
121 * the voltage on the cell is higher than the starting voltage of the balancing;
122 * the difference between the cell voltage and the minimum voltage among the cells of the battery is greater than the balancing threshold.
123
Admin 25.1 124 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:drafts.BMS Main 2\.1.3\. Configuration.3\.6 Battery protection.WebHome||anchor="HLogichightemperatureprotection"]]).
Admin 6.2 125
Admin 6.3 126 To change the cell balancing parameters, select the menu "Cell → Cell balancing":
Admin 6.2 127
Admin 17.1 128 [[image:1732207485773-804.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="264" width="387"]]
Admin 6.2 129
Admin 6.3 130 In this section:
Admin 6.2 131
Admin 6.3 132 * Enable – a flag to enable cell balancing;
133 * Algorithm – a balancing algorithm:
134 ** Balancing stacks individually;
135 ** Balancing the entire battery;
136 * Constrain (rule):
137 ** Charging;
138 ** Charging or relaxed;
139 ** Always (regardless of battery state);
140 * Minimum cell voltage to start balancing, V;
141 * Balancing threshold, V;
142 * Start cell discharging – a command to start forced balancing of all battery cells (used for service purposes);
143 * Stop cell discharging – a command to stop forced balancing of all battery cells (used for service purposes).
144
Admin 25.1 145 === Series balancing ===
Admin 6.3 146
Admin 7.2 147 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.
148
Admin 25.1 149 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:drafts.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.
Admin 7.2 150
151 When charging the battery, balancing is performed based on the voltage of the series. A balancing resistor is connected to the cell series if:
152
153 * the series voltage is higher than the starting voltage of the balancing;
154 * the difference between the voltage of a series of cells and the minimum voltage among the battery series is greater than the balancing threshold.
155
156 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.
157
158 To change the series balancing parameters, select the menu "Cell → Series balancing":
159
Admin 17.1 160 [[image:1732207584941-447.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="258" width="438"]]
Admin 7.2 161
162 In this section:
163
164 * Enable – a flag to enable series balancing;
165 * Number of BMS Logic boards in a series;
166 * Minimum series voltage to start balancing, V;
167 * Balancing threshold, V;
168 * Coulomb threshold – the difference of the charges Qthr, given by a series of cells, above which balancing to be started, Ah;
169 * Period – period to reset of charge counters for each series (to avoid accumulation of error), second.
170
Admin 25.1 171 === Cell analysis ===
Admin 7.2 172
Admin 25.1 173 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.
Admin 7.2 174
Admin 8.2 175 The BMS Main 2.x board can automatically determine the battery discharge characteristic.
176
177 Before starting the process of determining the discharge characteristic, it is necessary to prepare a BMS:
178
179 1. Charge the battery.
180 1. Connect a contactor to the discharging relay which switches the resistive load to the battery.
181 1. Connect a resistive load to the contactor, which will provide a discharge current of 0.5C (where C is the cell capacitance).
182
183 To configure parameters for determining the discharge characteristic of the battery, select the menu "Cells → Cell analysis":
184
Admin 17.1 185 [[image:1732207696322-587.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="213" width="258"]]
Admin 8.2 186
Admin 8.3 187 In this section:
188
189 * Enable – a flag to enable cell analysis;
190 * Discharge step, Ah;
191 * Delta voltage – a maximum allowable voltage drop for the cell, V;
192 * Logic index – an address of the BMS Logic board to which the analyzed cell is connected;
193 * Cell index – a position of the analyzed cell connected to the BMS Logic board;
194 * 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).
195
196 Discharge step should be set equal to
197
198 Discharge step = С/21,
199
200 where C is the cell capacity.
201
202 The discharge characteristic will be constructed for the given cell (its position is determined by the fields Logic index and Cell index).
203
204 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.
205
206 Algorithm steps:
207
208 1. DOD = 0.
209 1. Disconnecting the discharge relay.
210 1. Waiting for the relaxation of the battery.
211 1. Measuring Uocv = U.
212 1. Saving the point of the discharge characteristic (Q, U,,OCV,,).
213 1. Activation of the discharge relay. DOD,,1,, = DOD + Discharge step, U,,1,, = U
214 1. If DOD = DOD,,1,, or U < (U,,1,, – Delta voltage), then go to step 2.
215 1. If the "Undervoltage" error is detected, then the end of the algorithm.
216
217 During the operation of the algorithm, a file with the name "CELLANALYSIS.TXT" in the CSV format will be created on the SD card.
218
219 File structure:
220
221 |**Time**|**DOD**|**Logic**|**Cell**|**OCV**|**Resistance**
222 |**10.11.2017 12:28:34**|0.0|1|1|4.180|0.080000
223 |**...**|...|…|…|...|...
224
225 Parameter names:
226
227 * Time – date and time;
228 * DOD – depth of discharge, Ah;
229 * Logic – the address of the BMS Logic board to which the analyzed cell is connected;
230 * Cell – position of the analyzed cell for which OCV and Resistance values are provided;
231 * OCV – cell voltage Uocv, V;
232 * Resistance – cell resistance, Ohm.
233
Admin 25.1 234 === Charge current map ===
Admin 8.3 235
Admin 9.2 236 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.
Admin 8.3 237
Admin 14.1 238 Calculated currents values are sending to chargers over the CAN bus.
Admin 9.2 239
240 To configure parameters for determining the charge current limit, select the menu "Cells → Charge current map":
241
Admin 17.1 242 [[image:1732208033738-498.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="655" width="453"]]
Admin 9.2 243
Admin 9.3 244 In this section:
245
246 * Enable – a flag to start calculation of the charge current limit;
247 * Maximum charging current – a maximum allowable value of the charge current (under normal conditions):
248 * 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;
249 * Limit charging current by the contactor temperature – a flag to enable correction of maximum allowable charging current Kcc depending on the contactor temperature;
Admin 10.2 250 * Limit charging current by the maximum cell voltage – a flag to enable correction of maximum allowable charging current Kcv depending on maximum cell voltage;
Admin 15.1 251 * Limit charging current by the maximum cell temperature – a flag to enable correction of maximum allowable charging current Kct depending on cell temperature.
Admin 9.3 252
253 Value of the charge current limit at given SOC, temperature, contactors temperature and maximum cell voltage is calculated as follows:
254
Admin 10.2 255 Charging current limit = Maximum charging current × Kcs × Kcc × Kcv × Kct.
Admin 9.3 256
Admin 25.1 257 === Discharge current map ===
Admin 4.3 258
Admin 9.2 259 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.
Admin 8.4 260
Admin 14.1 261 Calculated currents values are sending or intellectual loads over the CAN bus.
Admin 9.2 262
263 To configure parameters for determining the charge current limit, select the menu "Cells → Charge current map":
264
Admin 17.1 265 [[image:1732208218667-968.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="631" width="434"]]
Admin 10.2 266
Admin 10.3 267 In this section:
268
269 * Enable – a flag to start calculation of the discharge current limit;
270 * Maximum discharging current – a maximum allowable value of the discharge current (under normal conditions):
271 * Current factor – the dependence of the correction factor on SOC and the battery temperature – Kdischarge=Kdischarge (SOC, t°C).
272 * 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;
273 * Limit discharging current by the contactor temperature – a flag to enable correction of maximum allowable discharging current Kdc depending on the contactor temperature;
274 * Limit discharging current by the maximum cell voltage - a flag to enable correction of maximum allowable discharging current Kdv depending on maximum cell voltage;
Admin 15.1 275 * Limit discharging current by the maximum cell temperature - a flag to enable correction of maximum allowable discharging current Kdt depending on cell temperature .
Admin 10.3 276
277 Value of the discharge current limit at given SOC, temperature, contactors temperature and maximum cell voltage is calculated as follows:
278
279 Discharging current limit = Maximum discharging current × Kds × Kdc × Kdv × Kdt.
280
Admin 25.1 281 === SOC correction ===
Admin 8.4 282
Admin 25.1 283 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"]]).
Admin 3.4 284
285 To configure parameters for periodically correcting the battery state of charge, select the menu "Cells → SOC correction":
286
Admin 17.1 287 [[image:1732206262509-786.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="291" width="298"]]
Admin 4.2 288
Admin 4.3 289 In this section:
290
291 * Enable – a flag to enable SOC correction;
292 * 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);
293 * 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”;
Admin 16.1 294 * SOC change time – a duration of the linear changing the battery SOC to the value calculated by the correction algorithm, minute;
295 * Ignore the linear zone – a flag to ignore linear zone while calculating SOC correction.
Admin 4.3 296
Admin 3.3 297