Wiki source code of 3.3 Control
Last modified by Admin on 2025/04/09 12:14
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
4.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;" %) |
![]() |
33.1 | 2 | = Configuration = |
![]() |
1.3 | 3 | |
![]() |
4.1 | 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 == | ||
![]() |
3.1 | 6 | |
7 | === Common settings === | ||
8 | |||
![]() |
1.3 | 9 | To change the common BMS settings, select the "Control → Common settings" section: |
10 | |||
![]() |
6.2 | 11 | [[image:1735054851946-552.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="105" width="800"]] |
![]() |
1.3 | 12 | |
13 | In this section: | ||
14 | |||
15 | * Cell capacity – nominal capacity of cells, Ah; | ||
16 | * Cell resistance – nominal (maximum) internal resistance of the cells, Ohm; | ||
17 | * Relax time (after charging) – a relaxation time after charging, second; | ||
18 | * Relax time (atfer discharging) – a relaxation time after discharging, second; | ||
![]() |
6.2 | 19 | * Reset parameters – a command to reset cells state of charge, capacity, and resistance; |
20 | * Method of calculating the battery voltage: | ||
![]() |
6.4 | 21 | ** Summation of cell voltages – the overall voltage is calculated as on sum of all cells in the battery; |
![]() |
6.5 | 22 | ** Using voltage before contactors – the overall voltage is estimated as voltage before contactors measured by BMS. |
![]() |
1.3 | 23 | |
![]() |
42.2 | 24 | The values “Capacity” and “Resistance” are used to calculate the SOC of cells and the battery. |
![]() |
1.3 | 25 | |
26 | 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. | ||
27 | |||
28 | The “Reset parameters” will reset: | ||
29 | |||
30 | * 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); | ||
31 | * cell resistance to “Cell resistance” value; | ||
32 | * battery capacity to “Cell capacity” value. | ||
33 | |||
34 | The “Reset parameters” command is used for starting-up and adjustment of the battery. | ||
35 | |||
![]() |
3.1 | 36 | === SOC estimation === |
![]() |
1.3 | 37 | |
38 | The BMS Main 3 device calculates the state of charge of the battery (SOC) using two algorithms: | ||
39 | |||
40 | * by open circuit voltage; | ||
41 | * by voltage and current. | ||
42 | |||
43 | It is recommended to use the algorithm of calculation of SOC by voltage and current. | ||
44 | |||
45 | To change the estimation algorithm for calculating the battery SOC, select the "Control → SOC estimation → Algorithm" section: | ||
46 | |||
47 | |||
![]() |
8.2 | 48 | [[image:1735056107942-306.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="141" width="800"]] |
49 | |||
![]() |
1.3 | 50 | The following estimation algorithms supported: |
51 | |||
52 | * Voltage – by open circuit voltage; | ||
53 | * Current and voltage (simplified) – recommended for LFP cells; | ||
54 | * Current and voltage (enhanced) – recommended for NMC cells. | ||
55 | |||
56 | The **“Voltage”** SOC calculation algorithm calculates cells SOC based on the tabular dependence Uocv = Uocv(SOC, t °C). | ||
57 | |||
58 | The **“Current and voltage (simplified)”** SOC calculation algorithm works as follows: | ||
59 | |||
60 | * 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); | ||
61 | * in any other cases, the SOC value is proportional to the charge (coulomb) passed through the battery (current time integral). | ||
62 | |||
63 | 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). | ||
64 | |||
65 | To change the algorithm for calculating the Final SOC, select the "Control → SOC estimation → Final SOC" section: | ||
66 | |||
![]() |
2.1 | 67 | [[image:1733322611551-852.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="148" width="800"]] |
![]() |
1.3 | 68 | |
69 | The following calculation methods are supported (“Final SOC”): | ||
70 | |||
71 | * Minimal SOC – the battery SOC is assumed to be the minimum SOC among the cells; | ||
72 | * Average SOC – the battery SOC is taken equal to the arithmetic average of the cell SOC; | ||
![]() |
35.1 | 73 | * 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; |
![]() |
42.3 | 74 | * 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. |
![]() |
1.3 | 75 | |
76 | Other parameters: | ||
77 | |||
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 | |||
![]() |
3.1 | 88 | === SOC correction === |
![]() |
1.3 | 89 | |
![]() |
5.1 | 90 | The BMS Main 3 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"]]). |
![]() |
1.3 | 91 | |
92 | To configure parameters for periodically correcting the battery state of charge, select the "Control → SOC correction" section: | ||
93 | |||
![]() |
2.1 | 94 | [[image:1733322624656-766.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="121" width="800"]] |
![]() |
1.3 | 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 | |||
![]() |
3.1 | 105 | === Resistance estimation === |
![]() |
1.3 | 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 | |||
![]() |
10.6 | 109 | {{formula fontSize="SMALL" imageType="PNG"}} |
![]() |
10.3 | 110 | R = \frac{U-U_{ocv}}{I_{stable}} |
111 | {{/formula}} | ||
![]() |
1.3 | 112 | |
![]() |
10.3 | 113 | where U — the cell voltage measured in the charge or discharge state, V; U,,ocv,, — 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. |
![]() |
10.2 | 114 | |
![]() |
1.3 | 115 | The second method is used for a stepwise change in the current through the cell, while the value of the cell resistance: |
116 | |||
![]() |
10.6 | 117 | {{formula fontSize="SMALL"}} |
![]() |
10.5 | 118 | R = \frac{U_2-U_1}{I_{stable2}-I_{stable1}} |
119 | {{/formula}} | ||
![]() |
1.3 | 120 | |
![]() |
10.5 | 121 | provided that |
122 | |||
![]() |
10.6 | 123 | {{formula fontSize="SMALL"}} |
124 | | I_{stable2}-I_{stable1} | > 0.2 × Qmax | ||
![]() |
10.4 | 125 | {{/formula}} |
![]() |
10.3 | 126 | |
![]() |
10.6 | 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. |
![]() |
1.3 | 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 | |||
![]() |
2.1 | 133 | [[image:1733322624659-473.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="108" width="800"]] |
![]() |
1.3 | 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 | |||
![]() |
10.7 | 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). |
![]() |
1.3 | 144 | |
![]() |
3.1 | 145 | === Low SOC (signal) === |
![]() |
1.3 | 146 | |
147 | To change the parameters of the generation a signal about low battery level, select the "Control → Low SOC (signal)" section: | ||
148 | |||
![]() |
2.1 | 149 | [[image:1733322624660-513.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="116" width="800"]] |
![]() |
1.3 | 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 | |||
![]() |
30.2 | 168 | (% class="box infomessage" %) |
169 | ((( | ||
![]() |
1.3 | 170 | The "Low SOC signal" is indicative and can be output to a discrete output or a power switch. |
![]() |
30.2 | 171 | ))) |
![]() |
1.3 | 172 | |
![]() |
3.1 | 173 | === High charging current (signal) === |
![]() |
1.3 | 174 | |
175 | To change the parameters of the generation high-current signal, select the "Control → High charging current (signal)" section: | ||
176 | |||
![]() |
2.1 | 177 | [[image:1733322624661-915.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="107" width="800"]] |
![]() |
1.3 | 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 | |||
![]() |
30.2 | 196 | (% class="box infomessage" %) |
197 | ((( | ||
![]() |
1.3 | 198 | The "High charging current" signal is indicative and can be output to a discrete output or a power switch. |
![]() |
30.2 | 199 | ))) |
![]() |
1.3 | 200 | |
![]() |
3.1 | 201 | === Charge map === |
![]() |
1.3 | 202 | |
203 | The BMS Main 3 device calculates the maximum allowable charge current values in respect to SOC, battery temperature, contactor temperature and cell voltage. | ||
204 | |||
205 | 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. | ||
206 | |||
207 | To configure parameters for determining the charge current limit, select the "Control → Charge map" section: | ||
208 | |||
![]() |
26.1 | 209 | [[image:1735064362593-844.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="153" width="800"]] |
![]() |
1.3 | 210 | |
211 | In this section: | ||
212 | |||
213 | * Enable – a flag to start calculation of the charge current limit; | ||
214 | * Maximum charge current – a maximum allowable value of the charge current (under normal conditions), A; | ||
215 | * Rate of change – a rate of change the current limit to a new value (0 is for immediate change), A/s; | ||
![]() |
45.1 | 216 | * 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; |
![]() |
1.3 | 217 | * Option 1: SOC x Temperature x Factor – the dependence of the correction factor on SOC and battery temperature; |
![]() |
32.1 | 218 | * Option 2: Limit charge current by the contactor temperature – a flag to enable correction of maximum allowable charging current **Kcc** depending on contactor temperature; |
![]() |
1.3 | 219 | * Option 2: Contactor temperature x Factor – the dependence of the correction factor on SOC and contactor temperature; |
![]() |
44.1 | 220 | * 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) |
![]() |
1.3 | 221 | * Option 3: Cell voltage x Factor – the dependence of the correction factor on maximum cell voltage; |
![]() |
32.1 | 222 | * 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; |
![]() |
1.3 | 223 | * Option 4: Cell temperature x Factor – the dependence of the correction factor on maximum cell temperature. |
224 | |||
225 | Value of the charge current limit at given SOC, temperature, contactors temperature, maximum cell voltage and maximum cell temperature is calculated as follows: | ||
226 | |||
![]() |
32.1 | 227 | **Charge current limit = Maximum charge current × Kcs × Kcc × Kcv × Kct** |
![]() |
1.3 | 228 | |
![]() |
3.1 | 229 | === Discharge map === |
![]() |
1.3 | 230 | |
231 | The BMS Main 3 device calculates the maximum allowable discharge current values in respect to SOC, battery temperature, contactor temperature and cell voltage. | ||
232 | |||
233 | Calculated current values are sent to a charger or an intellectual load over the CAN bus. | ||
234 | |||
235 | To configure parameters for determining the discharge current limit, select the "Control → Discharge map" section: | ||
236 | |||
![]() |
26.1 | 237 | [[image:1735064399985-526.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="152" width="800"]] |
![]() |
1.3 | 238 | |
239 | In this section: | ||
240 | |||
241 | * Enable – a flag to start calculation of the discharge current limit; | ||
242 | * Maximum discharge current – a maximum allowable value of the discharge current (under normal conditions), A; | ||
243 | * Rate of change – a rate of change the current limit to a new value (0 is for immediate change), A/s; | ||
![]() |
45.1 | 244 | * 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; |
![]() |
1.3 | 245 | * Option 1: SOC x Temperature x Factor – the dependence of the correction factor on SOC and battery temperature; |
![]() |
32.1 | 246 | * Option 2: Limit discharge current by the contactor temperature – a flag to enable correction of maximum allowable discharging current **Kdc** depending on contactor temperature; |
![]() |
1.3 | 247 | * Option 2: Contactor temperature x Factor – the dependence of the correction factor on SOC and contactor temperature; |
![]() |
44.1 | 248 | * 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) |
![]() |
1.3 | 249 | * Option 3: Cell voltage x Factor – the dependence of the correction factor on minimum cell voltage; |
![]() |
32.1 | 250 | * 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; |
![]() |
1.3 | 251 | * Option 4: Cell voltage x Factor – the dependence of the correction factor on minimum cell temperature. |
252 | |||
253 | Value of the discharge current limit at given SOC, temperature, contactors temperature, minimum cell voltage and maximum cell temperature is calculated as follows: | ||
254 | |||
![]() |
32.1 | 255 | **Discharge current limit = Maximum discharge current × Kds × Kdc × Kdv × Kdt** |
![]() |
1.3 | 256 | |
![]() |
3.1 | 257 | === Charge map (PEAK & CONTINUOUS) === |
![]() |
1.3 | 258 | |
259 | The BMS Main 3 has an alternative algorithm for the maximum allowed charging current based on peak and continuous battery operating modes. | ||
260 | |||
261 | To configure parameters for determining the charge current limit, select the "Control → Charge map (PEAK & CONTINUOUS)" section: | ||
262 | |||
![]() |
26.1 | 263 | [[image:1735064434321-430.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="124" width="800"]] |
![]() |
1.3 | 264 | |
265 | In this section: | ||
266 | |||
267 | * Enable – a flag to start calculation of the charge current limit; | ||
268 | * Maximum PEAK charge current – a maximum peak charge current (under normal conditions), A; | ||
269 | * Maximum CONTINUOUS charge current – a maximum continuous charge current (under normal conditions), A; | ||
270 | * PEAK: SOC x Temperature x Factor – the dependence of the correction factor for peak current K,,cp,, on SOC and battery temperature; | ||
271 | * CONTINUOUS: SOC x Temperature x Factor – the dependence of the correction factor for continuous current K,,cc,, on SOC and battery temperature; | ||
272 | * PEAK time – a time for peak current to be allowed, s; | ||
273 | * Sliding time – a time of linear change of the maximum charging current from peak to continuous and from continuous to peak value, ms; | ||
274 | * Waiting time – a time for peak current to be prohibited, s. | ||
275 | |||
276 | The maximum charging current value equals to the peak or continuous current according to the following diagram: | ||
277 | |||
![]() |
2.1 | 278 | [[image:1733322717451-608.png||data-xwiki-image-style-alignment="center"]] |
![]() |
1.3 | 279 | |
280 | I,,peak,, = Maximum PEAK charge current × K,,cp,, | ||
281 | |||
282 | I,,continuous,, = Maximum CONTINUOUS charge current × K,,cc,, | ||
283 | |||
![]() |
3.1 | 284 | === Discharge map (PEAK & CONTINUOUS) === |
![]() |
1.3 | 285 | |
286 | The BMS Main 3 has an alternative algorithm for the maximum allowed discharging current based on peak and continuous battery operating modes. | ||
287 | |||
288 | To configure parameters for determining the discharge current limit, select the "Control → Discharge map (PEAK & CONTINUOUS)" section: | ||
289 | |||
![]() |
26.1 | 290 | [[image:1735064454708-345.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="124" width="800"]] |
![]() |
1.3 | 291 | |
292 | In this section: | ||
293 | |||
294 | * Enable – a flag to start calculation of the discharge current limit; | ||
295 | * Maximum PEAK discharge current – a maximum peak discharge current (under normal conditions), A; | ||
296 | * Maximum CONTINUOUS discharge current – a maximum continuous discharge current (under normal conditions), A; | ||
297 | * PEAK: SOC x Temperature x Factor – the dependence of the correction factor for peak current K,,dp,, on SOC and battery temperature; | ||
298 | * CONTINUOUS: SOC x Temperature x Factor – the dependence of the correction factor for continuous current K,,dc,, on SOC and battery temperature; | ||
299 | * PEAK time – a time for peak current to be allowed, s; | ||
300 | * Sliding time – a time of linear change of the maximum charging current from peak to continuous and from continuous to peak value, ms; | ||
301 | * Waiting time – a time for peak current to be prohibited, s. | ||
302 | |||
303 | The maximum discharging current value equals to the peak or continuous current according to following diagram: | ||
304 | |||
![]() |
2.1 | 305 | [[image:1733322753429-968.png||data-xwiki-image-style-alignment="center"]] |
![]() |
1.3 | 306 | |
307 | I,,peak,, = Maximum PEAK discharge current × K,,dp,, | ||
308 | |||
309 | I,,continuous,, = Maximum CONTINUOUS discharge current × K,,dc,, | ||
310 | |||
![]() |
10.8 | 311 | === Main contactor === |
312 | |||
![]() |
11.1 | 313 | The BMS Main 3 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 case of sealing of the charging or discharging contactors. |
![]() |
10.8 | 314 | |
![]() |
11.1 | 315 | The Main contactor algorithm supports the following modes: |
316 | |||
317 | * Always on; | ||
![]() |
42.1 | 318 | * Automatic. |
![]() |
11.1 | 319 | |
320 | In “Always on” mode main contactor closes if all the following is true: | ||
321 | |||
![]() |
33.2 | 322 | * Other contactors are open; |
323 | * There are no errors from the "Errors 1, 2 ..." bitfileds. | ||
![]() |
11.1 | 324 | |
325 | In “Always on” mode main contactor opens if all the following is true: | ||
326 | |||
![]() |
33.2 | 327 | * Other contactors are open; |
328 | * There is an error from the the "Errors 1, 2 ..." bitfileds. | ||
![]() |
11.1 | 329 | |
![]() |
33.3 | 330 | In “Automatic” mode, the main contactor closes by internal algorithms at the same time with other contactors. |
![]() |
11.1 | 331 | |
332 | In “On demand” mode, the main contactor closes by external the “Close Main contactor” request. | ||
333 | |||
![]() |
29.5 | 334 | (% class="box infomessage" %) |
335 | ((( | ||
336 | **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). | ||
337 | ))) | ||
338 | |||
![]() |
11.1 | 339 | To change the parameters of the main contactor, select the "Control → Main contactor" section: |
340 | |||
![]() |
26.1 | 341 | [[image:1735064488658-863.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="112" width="800"]] |
![]() |
11.1 | 342 | |
343 | In this section: | ||
344 | |||
345 | * Enable – a flag to enable the main contactor control; | ||
346 | * Algorithm – main contactor control algorithm: | ||
347 | ** Always on – contactor is always closed; | ||
348 | ** Automatic – contactor closes by internal charge and discharge algorithms; | ||
349 | ** On demand – contactor is closed by an external request; | ||
350 | * Time to keep the contactor closed before closing the others – a time for other contactors to be open after the main contactor is closed; | ||
351 | * Delay before opening the contactor – a time which is used to detect conditions for opening the contactor, s; | ||
![]() |
26.1 | 352 | * Keep the contactor open until the device is restarted – a flag for keeping the main contactor open until the system is reset; |
353 | * Errors 1, 2 to open the main contactor – bitfields to choose the errors which will open the main contactor. | ||
![]() |
11.1 | 354 | |
![]() |
10.8 | 355 | === Charging status === |
356 | |||
![]() |
26.1 | 357 | To change the parameters of charging process status, select the "Control → Charging status" section: |
358 | |||
359 | [[image:1735064935499-941.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="110" width="800"]]In this section: | ||
360 | |||
361 | * Current to set the "Charging current present" – a current level to generate the "Charging current present" signal, A; | ||
362 | * Current to clear the "Charging current present" – a current level to clear the "Charging current present" signal, A; | ||
![]() |
46.1 | 363 | * 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; |
364 | * 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; | ||
![]() |
26.1 | 365 | * 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; |
366 | * Errors 1, 2 to clear the "Ready to charge" – bitfields to choose the errors which will clear the "Ready to charge" signal. | ||
![]() |
10.8 | 367 | |
![]() |
11.3 | 368 | (% class="box infomessage" %) |
369 | ((( | ||
![]() |
12.2 | 370 | **Note:** The "Allow charging" signal activates under two independent conditions: |
![]() |
11.3 | 371 | 1) the voltage on the cells reaches the “Voltage to reset the “Ready to charge"” level and |
372 | 2) the "Delay before recharging" time has passed since the opening of the allow charging contactor. | ||
373 | ))) | ||
374 | |||
![]() |
10.8 | 375 | === Discharging status === |
376 | |||
![]() |
31.1 | 377 | To change the parameters of discharging process status, select the "Control → Discharging status" section: |
![]() |
26.1 | 378 | |
379 | [[image:1735064980481-209.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="102" width="800"]]In this section: | ||
380 | |||
381 | * Current to set the "Discharging current present" – a current level to generate the "Discharging current present" signal, А; | ||
382 | * Current to clear the "Discharging current present" – a current level to clear the "Discharging current present" signal, А; | ||
![]() |
46.1 | 383 | * 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; |
384 | * 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; | ||
![]() |
26.1 | 385 | * Errors 1, 2 to clear the "Ready to discharge" – bitfields to choose the errors which will clear the "Ready to discharge" signal. |
![]() |
10.8 | 386 | |
![]() |
31.1 | 387 | === Precharge === |
![]() |
10.8 | 388 | |
![]() |
26.1 | 389 | 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. |
![]() |
10.8 | 390 | |
![]() |
28.2 | 391 | 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. |
![]() |
26.1 | 392 | |
![]() |
31.1 | 393 | TBA |
394 | |||
![]() |
26.1 | 395 | To change the parameters of precharge contactor, select the "Control → Precharge" section: |
396 | |||
397 | [[image:1735065073836-743.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="160" width="800"]] | ||
398 | |||
399 | * Precharge current threshold to finish precharging – a minimum current value at which precharging process assumed to be finished, A; | ||
400 | * Check voltages before and after contactors to finish precharging – a flag to check the voltages before and after contactors to ensure that precharge process has finished and it is allowed to close the discharging contactor; | ||
401 | * Minimum voltage difference to finish precharging – minimal voltage difference before and after contactors at which precharge process is meant to be finished, V; | ||
402 | * Number of precharging attempts – maximum number of precharging attempts before setting the "Precharge error"; | ||
403 | * Precharge time – a duration of closing the precharge contactor before closing the discharging contactor, millisecond; | ||
404 | * Relaxation between attempts – a duration between precharge attempts, millisecond; | ||
405 | * Check the power dissipated in the preacharge resistor - a flag to enable the calculation of power dissipated in precharge resistor; | ||
406 | * Precharge resistor resistance, Ohm; | ||
407 | * Maximum allowable power dissipated in the resistor, W; | ||
408 | * Delay before setting the "Precharge error" when checking power, millisecond; | ||
409 | * Delay before clearing the "Precharge error", second; | ||
410 | * Lock the "Precharge error" – a flag to block the error until the device is restarted. | ||
411 | |||
![]() |
36.1 | 412 | “Precharge error” generation conditions if any of the following is true: |
![]() |
26.1 | 413 | |
![]() |
36.1 | 414 | * the precharge current does not decrease during the "Precharge time" after "Number of precharging attempts"; |
415 | * voltages before and after contactors are not equal during the "Precharge time" after "Number of precharging attempts"; | ||
![]() |
26.1 | 416 | * power dissipated on the precharge resistor is above the maximum value during the “Delay before setting the 'Precharge error' when checking power” time. |
417 | |||
![]() |
29.2 | 418 | (% class="box warningmessage" %) |
![]() |
26.1 | 419 | ((( |
![]() |
29.2 | 420 | Behavior of contactors at “Precharge error” is configured in corresponding contactor settings! |
![]() |
26.1 | 421 | ))) |
422 | |||
![]() |
3.1 | 423 | === Charge === |
![]() |
1.3 | 424 | |
425 | 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. | ||
426 | |||
427 | The device supports three charge control algorithms: | ||
428 | |||
429 | * Always on – charging is always allowed; | ||
430 | * On charger connected – charging is allowed when there is a signal “Charger connected”; | ||
431 | * On charge request – charging is allowed when there is a signal “Charge request”. | ||
432 | |||
![]() |
33.7 | 433 | 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: |
![]() |
1.3 | 434 | |
![]() |
12.9 | 435 | * Service reset; |
436 | * Power down request; | ||
![]() |
12.8 | 437 | * Inhibit charging, |
![]() |
1.3 | 438 | |
![]() |
33.7 | 439 | both contactors are open (no current flows). |
![]() |
1.3 | 440 | |
441 | When the algorithm "**On charger connected**" is selected, the control is performed as follows: | ||
442 | |||
![]() |
33.7 | 443 | * 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; |
![]() |
1.3 | 444 | * If the signal “Charger connected” disappears, the allow charging contactor opens and after the delay time T,,off,, the charging contactor opens; |
445 | * 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); | ||
![]() |
33.7 | 446 | * If errors from the "Errors 1, 2 ..." bitfields occur the charging contactor and allow charging contactor open. |
![]() |
1.3 | 447 | |
448 | When the "**On charge request**" algorithm selected, the control is performed as follows: | ||
449 | |||
![]() |
33.7 | 450 | * 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; |
![]() |
1.3 | 451 | * If the signal “Charge request” disappears, the allow charging contactor opens and after the delay time T,,off,, the charging contactor opens; |
452 | * 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); | ||
![]() |
33.8 | 453 | * If errors from the "Errors 1, 2 ..." bitfields occur the charging contactor and allow charging contactor open. |
![]() |
1.3 | 454 | |
![]() |
12.8 | 455 | (% class="box infomessage" %) |
456 | ((( | ||
![]() |
29.5 | 457 | **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). |
![]() |
12.8 | 458 | ))) |
![]() |
1.3 | 459 | |
460 | To change the parameters of the battery charge control algorithm, select the "Control → Charge" section: | ||
461 | |||
![]() |
12.3 | 462 | [[image:1735063563460-549.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="262" width="800"]] |
![]() |
1.3 | 463 | |
464 | In this section: | ||
465 | |||
466 | * Enable – a flag to activate the charge control; | ||
467 | * Algorithm: | ||
468 | ** Always on – charging is always allowed; | ||
469 | ** On charger connected – charging is allowed when there is a signal “Charger connected”; | ||
470 | ** On charge request – charging is allowed when there is a signal “Charge request”; | ||
![]() |
12.6 | 471 | * Allow charging only when the "Ready to charge" signal is set – charging contactor will open if "Ready to charge" signal is cleared; |
![]() |
1.3 | 472 | * Delay before starting charging – a time delay T,,on,, before closing the charging contactor and the allow charging contactor, millisecond; |
473 | * Delay before stopping charging – a time delay T,,off,, before opening the charging contactor, millisecond; | ||
![]() |
42.5 | 474 | * Control the precharging contactor – a flag that allows control of the precharging contactor while closing the charge contactor (see [[Precharge>>path:#HPrecharge]]); |
![]() |
12.8 | 475 | * Errors 1, 2 to open the charging contactor – bitfields to choose the errors which will open the charging contactor; |
![]() |
1.3 | 476 | * Use custom delays before stopping charging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors; |
![]() |
12.8 | 477 | * Custom delay: <error> – delay for specific error, millisecond; |
![]() |
1.3 | 478 | * 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”; |
479 | |||
![]() |
3.1 | 480 | === Discharge === |
![]() |
1.3 | 481 | |
482 | The device controls the discharging contactor to connect battery to the load. | ||
483 | |||
484 | The device supports three algorithms to control battery discharging: | ||
485 | |||
486 | * Always on – load is always connected; | ||
487 | * On charger disconnected – load is connected when there is no signal “Charger connected”; | ||
488 | * On discharge request – load is connected when there is signal “Discharge request”. | ||
489 | |||
![]() |
33.8 | 490 | 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: |
![]() |
1.3 | 491 | |
492 | * Service reset | ||
493 | * Power down request | ||
494 | * Inhibit discharging | ||
495 | |||
496 | the discharging contactor opens. | ||
497 | |||
498 | If the algorithm "**On charger disconnected**" is selected, the control is performed as follows: | ||
499 | |||
![]() |
33.8 | 500 | * 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; |
501 | * 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. | ||
![]() |
1.3 | 502 | |
503 | When the "**On discharge request**" algorithm selected, the control is performed as follows: | ||
504 | |||
![]() |
33.9 | 505 | * 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; |
![]() |
33.8 | 506 | * 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. |
![]() |
1.3 | 507 | |
![]() |
12.9 | 508 | (% class="box infomessage" %) |
509 | ((( | ||
![]() |
29.5 | 510 | **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). |
![]() |
12.9 | 511 | ))) |
![]() |
1.3 | 512 | |
513 | To change the parameters of the battery discharge control algorithm, select the "Control → Discharge" section: | ||
514 | |||
![]() |
13.2 | 515 | [[image:1735064038329-836.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="273" width="800"]] |
![]() |
1.3 | 516 | |
517 | In this section: | ||
518 | |||
519 | * Enable – a flag to activate the discharge control; | ||
520 | * Algorithm: | ||
521 | ** Always on – load is always connected; | ||
522 | ** On charger disconnected – load is connected when there is no signal “Charger connected”; | ||
523 | ** On discharge request – load is connected when there is signal “Discharge request”; | ||
![]() |
13.3 | 524 | * Allow charging only when the "Ready to discharge" signal is set – discharging contactor will open if "Ready to discharge" signal is cleared; |
![]() |
1.3 | 525 | * Delay before starting discharging – a time delay T,,on,, before closing the discharging contactor, millisecond; |
526 | * Delay before stopping discharging – a time delay T,,off,, before opening the discharging contactor, millisecond; | ||
![]() |
42.6 | 527 | * Control the precharging contactor – a flag that allows control of the precharging contactor while closing the discharge contactor (see [[Precharge>>doc:||anchor="HPrecharge"]]); |
![]() |
13.2 | 528 | * Errors 1, 2 to open the discharging contactor – bitfields to choose the errors which will open the discharging contactor; |
![]() |
1.3 | 529 | * Use custom delays before stopping discharging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors; |
530 | * Custom delay: <error> – specific error delay, millisecond; | ||
531 | * 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”. | ||
532 | |||
![]() |
3.1 | 533 | === Charge/Discharge === |
![]() |
1.3 | 534 | |
![]() |
27.3 | 535 | The BMS Main 3 device can control the charge/discharge contactor, which combines algorithms of charging and discharging contactor. |
![]() |
1.3 | 536 | |
![]() |
27.3 | 537 | Charge/Discharge contactor has three algorithms of operation: |
![]() |
27.2 | 538 | |
![]() |
28.1 | 539 | * 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; |
540 | * Independent (Always) - Charge/Discharge contactor is always closed if there is no errors; | ||
![]() |
28.3 | 541 | * 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. |
![]() |
27.3 | 542 | |
![]() |
31.1 | 543 | TBA |
544 | |||
![]() |
29.2 | 545 | (% class="box infomessage" %) |
546 | ((( | ||
![]() |
29.5 | 547 | **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). |
![]() |
29.2 | 548 | ))) |
549 | |||
![]() |
1.3 | 550 | The charging/discharging contactor control is configured in the “Control – Charge/Discharge” section: |
551 | |||
![]() |
27.2 | 552 | [[image:1735122153011-166.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="162" width="800"]] |
![]() |
1.3 | 553 | |
554 | In this section: | ||
555 | |||
556 | * Enable – a flag to enable the charge/discharge controller. | ||
![]() |
28.1 | 557 | * Algorithm: |
558 | ** 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; | ||
559 | ** Independent (Always) - Charge/Discharge contactor is always closed if there is no errors; | ||
560 | ** Independent (on Charge request or Discharge request); | ||
561 | * Delay before starting charging or discharging, millisecond; | ||
562 | * Delay before stopping charging or discharging, millisecond; | ||
563 | * Control the precharging contactor – a flag that enables control of precharging contactor while closing the charge/discharge contactor; | ||
564 | * Emulate the "Charging" and "Discharging" signals – a flag to enable generation of "Charging" and "Discharging" signals when closing charge/discharge contactor; | ||
565 | * 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; | ||
566 | * 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; | ||
567 | * 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; | ||
568 | * 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”. | ||
![]() |
1.3 | 569 | |
![]() |
3.1 | 570 | === Discharge (AUX) === |
![]() |
1.3 | 571 | |
572 | The BMS Main 3 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. | ||
573 | |||
574 | 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. | ||
575 | |||
576 | 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: | ||
577 | |||
578 | * the battery has low SOC; | ||
579 | * the battery voltage is out of range; | ||
![]() |
33.10 | 580 | * the errors are detected (configured in the "Errors 1, 2 ..." bitfields). |
![]() |
1.3 | 581 | |
582 | To change the parameters of the powering of external equipment, select the "Control → Discharge (AUX)" section: | ||
583 | |||
![]() |
26.1 | 584 | [[image:1735066190419-838.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="161" width="800"]] |
![]() |
1.3 | 585 | |
586 | In this section: | ||
587 | |||
588 | * Enable – a flag to activate the auxiliary discharge control; | ||
589 | * Switch off the discharging (AUX) contactor if the SOC is too low; | ||
590 | * Minimum SOC – a minimum SOC value, when reached, the auxiliary (AUX) discharging contactor opens, %; | ||
591 | * Tolerant SOC – a permissive SOC value, upon reaching which the auxiliary (AUX) discharging contactor re-closes, %; | ||
![]() |
38.1 | 592 | * Switch off the discharging (AUX) contactor if the cell voltage is out of the range; |
593 | * Minimum cell voltage, V; | ||
594 | * Maximum cell voltage, V; | ||
![]() |
1.3 | 595 | * Switch off the discharging (AUX) contactor if the battery voltage is out of the range; |
![]() |
26.1 | 596 | * Minimum battery voltage, V; |
597 | * Maximum battery voltage, V; | ||
![]() |
42.7 | 598 | * Errors 1, 2 to open the auxiliary discharging contactor – bitfields to choose the errors which will open the auxiliary discharging contactor. |
![]() |
1.3 | 599 | |
![]() |
3.1 | 600 | === Cell balancing === |
![]() |
1.4 | 601 | |
602 | Balancing makes the voltage of all cells equal to the minimum cell voltage. | ||
603 | |||
604 | The following balancing rules are supported: | ||
605 | |||
606 | * when the battery is charging (current I > 0) and time after until the battery is relaxed; | ||
607 | * when the battery is charging (current I > 0) or when the battery is in a state of relaxation; | ||
608 | * always (regardless of battery state). | ||
609 | |||
610 | A balancing resistor is connected to the cell if the following conditions are simultaneously met: | ||
611 | |||
612 | * the voltage on the cell is higher than the balancing start voltage; | ||
![]() |
39.2 | 613 | * the difference between the voltage on the cell and the minimum voltage among the battery cells is greater than the balancing start threshold; |
![]() |
1.4 | 614 | |
615 | A balancing resistor is disconnected from the cell if any of the following conditions are met: | ||
616 | |||
![]() |
41.1 | 617 | * the voltage on the cell is less than the balancing stop voltage; |
![]() |
1.4 | 618 | * the difference between the voltage on the cell and the minimum voltage among the battery cells is less than the balancing stop threshold. |
619 | |||
![]() |
42.7 | 620 | (% class="box infomessage" %) |
621 | ((( | ||
![]() |
1.4 | 622 | If the “High logic temperature” occurs, then the balancing of the cells connected to the overheated BMS Logic device will not be performed. |
![]() |
42.7 | 623 | ))) |
![]() |
1.4 | 624 | |
625 | The BMS Main 3 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. | ||
626 | |||
![]() |
40.1 | 627 | BMS Main 3 can force a cell balancing, if its voltage is higher than estimated value. |
![]() |
39.2 | 628 | |
![]() |
1.4 | 629 | To change the cell balancing parameters, select the "Control → Cell balancing" section: |
630 | |||
![]() |
26.1 | 631 | [[image:1735065702806-422.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="130" width="800"]] |
![]() |
1.4 | 632 | |
633 | In this section: | ||
634 | |||
635 | * Enable – a flag to enable cell balancing; | ||
636 | * Balancing rule: | ||
637 | ** Balance on charge – balancing is performed while and after the charging (in the “Charge ON” and “Charge OFF” states); | ||
638 | ** Balance on charge or relaxed - balancing is performed while and after the charging and in the relaxed state (in “Charge ON”, “Charge OFF”, “Relaxed (after charging)” and “Relaxed (after discharging)” states); | ||
639 | ** Balance always – balancing is always performed regardless the battery state; | ||
![]() |
26.1 | 640 | * Balancing condition: |
641 | ** Automatic – balancing will be performed automatically if needed conditions are met; | ||
642 | ** 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; | ||
![]() |
1.4 | 643 | * Minimum cell voltage to start balancing, V; |
644 | * Voltage deviation to start balancing; | ||
645 | * Voltage deviation to stop balancing; | ||
![]() |
28.4 | 646 | * Voltage for forced balancing – if cell voltage is above this value, it will start discharging through balancing resistor; |
![]() |
26.1 | 647 | * Maximum allowable temperature of BMS Logic devices, ºC; |
![]() |
1.4 | 648 | * Command to discharge all cells – a flag to force the balancing of all cells. |
649 | |||
![]() |
3.1 | 650 | === Series balancing === |
![]() |
1.4 | 651 | |
652 | The BMS Main 3 device supports work with two independent (galvanically unrelated) cell series. To monitor the status of two series, two current sensors are used. A series of cells must be equivalent: they must have the same number of cells and the same capacity. | ||
653 | |||
654 | Since the series of cells can operate at different loads, they must be balanced. For this, the BMS Main 3 provides two signals to power switches: “Balancing series 1” and “Balancing series 2”, as well as a combined algorithm that considers both the voltage of each series and the charge that these series gave load. The “Balancing series 1” and “Balancing series 2” signals are used to connect high-power balancing resistors in parallel with cell series 1 and 2. | ||
655 | |||
656 | When charging the battery, balancing is performed based on the voltage of the series. A balancing resistor is connected to the cell series if: | ||
657 | |||
658 | * the series voltage is higher than the start balancing voltage; | ||
659 | * the difference between the voltage of a series of cells and the minimum voltage among the battery series is greater than the balancing threshold. | ||
660 | |||
661 | 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. | ||
662 | |||
663 | To change the series balancing parameters, select the "Control → Series balancing" section: | ||
664 | |||
![]() |
2.1 | 665 | [[image:1733322892811-410.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="126" width="800"]] |
![]() |
1.4 | 666 | |
667 | In this section: | ||
668 | |||
669 | * Enable – a flag to enable series balancing; | ||
670 | * Number of Logics in a series; | ||
671 | * Minimum series voltage to start balancing, V; | ||
672 | * Balancing threshold, V; | ||
673 | * Coulomb threshold – the difference of the charges Qthr, given by a series of cells, above which balancing to be started, Ah; | ||
674 | * Period – a period to reset of charge counters for each series (to avoid accumulation of error), second; | ||
![]() |
2.1 | 675 | * Do not sum series voltages – a flag to disable the summing of series voltages.3 |
![]() |
1.4 | 676 | |
![]() |
3.1 | 677 | === Power down === |
![]() |
1.4 | 678 | |
679 | The BMS Main 3 device can shut down itself if the battery voltage is low or the battery is idle for a long time. | ||
680 | |||
681 | Shutting down the battery system is performed according to the following conditions: | ||
682 | |||
683 | * the battery voltage is below the minimum level; | ||
684 | * the “Charger connected” signal is cleared for 60 seconds. | ||
685 | |||
686 | The BMS Main 3 device also shuts down the battery if it stays in the “Charging OFF”, “Discharging OFF”, “Relaxed (after charging)” or “Relaxed (after discharging)” for the configured time. | ||
687 | |||
688 | To change the parameters of the power down control, select the "Control → Power down" section: | ||
689 | |||
![]() |
2.1 | 690 | [[image:1733322892813-562.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="103" width="800"]] |
![]() |
1.4 | 691 | |
692 | In this section: | ||
693 | |||
694 | * Minimum voltage to power down – a minimum voltage level of the battery below which the BMS commands to shut down the battery, V; | ||
695 | * Idle time to power down – a time of battery inactivity after which the battery is shut down, minute; | ||
696 | * 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. | ||
697 | * Power down if KEYRUN and CHARGE_ON are cleared – a flag to power down the device if KEYRUN and CHARGE_ON signals are cleared; | ||
698 | * Delay before setting the internal power down signal – a delay before turning off the device power when removing KEYRUN and CHARGE_ON or receiving the “Power down request” command, ms. | ||
699 | |||
![]() |
3.1 | 700 | === Heater === |
![]() |
1.4 | 701 | |
702 | To change the parameters of the heater control algorithm, select the "Control → Heater" section: | ||
703 | |||
![]() |
2.1 | 704 | [[image:1733322901923-144.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="108" width="800"]] |
![]() |
1.4 | 705 | |
706 | In this section: | ||
707 | |||
708 | * Enable – a flag to enable the heater control; | ||
709 | * Minimum cell temperature, °C; | ||
710 | * Tolerant cell temperature, °C; | ||
711 | * Delay before starting the heater, millisecond; | ||
712 | * Delay before stopping the heater, millisecond; | ||
713 | * Switch off the heater on errors (Undervoltage, Overcurrent, High temperature, Short circuit or Critical error). | ||
714 | |||
715 | As a result of operating the heating algorithm, the “Heater” signal is generated. | ||
716 | |||
717 | Conditions for signal generation: | ||
718 | |||
719 | * 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. | ||
720 | |||
721 | Conditions for clearing the signal: | ||
722 | |||
723 | * 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. | ||
724 | |||
![]() |
39.1 | 725 | (% class="box infomessage" %) |
726 | ((( | ||
![]() |
33.10 | 727 | If there is the "Heater" signal, the heater contactor closes and/or a signal is set to the corresponding digital output. |
![]() |
39.1 | 728 | ))) |
![]() |
1.4 | 729 | |
![]() |
3.1 | 730 | === Cooler === |
![]() |
1.4 | 731 | |
732 | To change the parameters of the cooler control algorithm, select the "Control → Cooler" section: | ||
733 | |||
![]() |
2.1 | 734 | [[image:1733322901924-962.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="107" width="800"]] |
![]() |
1.4 | 735 | |
736 | In this section: | ||
737 | |||
738 | * Enable – a flag to enable the cooler control; | ||
739 | * Maximum cell temperature, °C; | ||
740 | * Tolerant cell temperature, °C; | ||
741 | * Delay before starting the cooler, millisecond; | ||
742 | * Delay before stopping the cooler, millisecond; | ||
743 | * Switch off the cooler contactor on errors (Undervoltage, Overcurrent, Low temperature, Short circuit or Critical error). | ||
744 | |||
745 | As a result of operating the cooling algorithm, the "Cooler" signal is generated. | ||
746 | |||
747 | Conditions for signal generation: | ||
748 | |||
749 | * 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. | ||
750 | |||
751 | Conditions for clearing the signal: | ||
752 | |||
753 | * 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. | ||
754 | |||
![]() |
39.1 | 755 | (% class="box infomessage" %) |
756 | ((( | ||
![]() |
33.10 | 757 | If there is the "Cooler" signal, the cooler contactor closes and/or a signal is set to the corresponding digital output. |
![]() |
39.1 | 758 | ))) |
![]() |
1.4 | 759 | |
![]() |
3.1 | 760 | === High voltage === |
![]() |
1.4 | 761 | |
762 | The BMS Main 3 device has an ability to measure high voltages before and after contactors. | ||
763 | |||
764 | To change the parameters of high voltage fault, select the "Control → High voltage" section: | ||
765 | |||
![]() |
3.1 | 766 | [[image:1733322914683-203.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="87" width="800"]] |
![]() |
1.4 | 767 | |
768 | In this section: | ||
769 | |||
770 | * Enable – a flag to enable High voltage control; | ||
771 | * Delay before clearing the High voltage fault, second; | ||
772 | * Lock the High voltage fault. | ||
773 | |||
774 | The BMS Main 3 implements a self-diagnostics of high-voltage measurement lines. If measurement line breaks or high-voltage polarity is wrong, “High voltage fault” is generated. | ||
775 | |||
![]() |
26.1 | 776 | (% class="box warningmessage" %) |
777 | ((( | ||
![]() |
29.5 | 778 | If there is the “High voltage fault”, **the “Critical error” is generated.** |
![]() |
26.1 | 779 | ))) |
![]() |
1.4 | 780 | |
![]() |
3.1 | 781 | === Cell analysis === |
![]() |
1.4 | 782 | |
783 | The battery discharge characteristic – the dependence Uocv = Uocv(DOD) – is used to determine the tabular dependence Uocv = Uocv(SOC, t°C), which is necessary for calculating the battery charge level. | ||
784 | |||
785 | The BMS Main 3 device can automatically determine the battery discharge characteristic. | ||
786 | |||
787 | Before starting the process of determining the discharge characteristic, it is necessary to prepare a BMS: | ||
788 | |||
789 | 1. Charge the battery. | ||
790 | 1. Connect a resistive load to the discharging contactor, which will provide a discharge current of 0.5C (where C is the cell capacitance). | ||
791 | |||
792 | To configure parameters for determining the discharge characteristic of the battery, select the "Control → Cell analysis" section: | ||
793 | |||
![]() |
3.1 | 794 | [[image:1733322914685-558.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="107" width="800"]] |
![]() |
1.4 | 795 | |
796 | In this section: | ||
797 | |||
798 | * Enable – a flag to enable cell analysis; | ||
799 | * Discharge step, Ah; | ||
800 | * Delta voltage – a maximum allowable voltage drop for the cell, V; | ||
801 | * Logic index, Cell index – a position of the analyzed cell; | ||
802 | * Analyse the most discharged cell – a flag to analyse of the least charged cell (in this case, the values “Logic index” and “Cell index” are ignored). | ||
803 | |||
804 | Discharge step should be set equal to | ||
805 | |||
806 | Discharge step= С/21, | ||
807 | |||
808 | where C is the cell capacity. | ||
809 | |||
810 | The discharge characteristic will be constructed for the given cell (its position is determined by the fields “Logic index” and “Cell index”). | ||
811 | |||
812 | 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. | ||
813 | |||
814 | Algorithm steps: | ||
815 | |||
816 | 1. DOD = 0. | ||
817 | 1. Opening the discharging contactor. | ||
818 | 1. Waiting for the relaxation of the battery. | ||
819 | 1. Measuring Uocv = U. | ||
820 | 1. Saving the point of the discharge characteristic (Q, U,,OCV,,). | ||
821 | 1. Closing of the discharging contactor. DOD,,1,, = DOD + Discharge step, U,,1,, = U | ||
822 | 1. If DOD = DOD,,1,, or U < (U,,1,, – Delta voltage), then go to step 2. | ||
823 | 1. If the "Undervoltage" error is detected, then the end of the algorithm. | ||
824 | |||
825 | During the operation of the algorithm, a file with the name "CELLANALYSIS.TXT" in the CSV format will be created on the SD card. | ||
826 | |||
827 | File structure: | ||
828 | |||
829 | |**Time**|**DOD**|**Logic**|**Cell**|**OCV**|**Resistance** | ||
830 | |**10.11.2017 12:28:34**|0.0|1|1|4.180|0.080000 | ||
831 | |**...**|...| |…|...|... | ||
832 | |||
833 | Parameter names: | ||
834 | |||
835 | * Time – date and time; | ||
836 | * DOD – depth of discharge, Ah; | ||
837 | * Logic - position of the Logic device to which the analyzed cell is connected; | ||
838 | * Cell – position of the analyzed cell for which OCV and Resistance values are provided; | ||
839 | * OCV – cell voltage Uocv, V; | ||
840 | * Resistance – cell resistance, Ohm. |