Wiki source code of 3.3 Control
Last modified by Admin on 2025/05/30 16:50
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | (% data-numbered-headings-start="3" style="--numbered-headings-start: 2;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %) | ||
2 | = Settings = | ||
3 | |||
4 | (% data-numbered-headings-start="3" style="--numbered-headings-start: 2;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %) | ||
5 | == Control == | ||
6 | |||
7 | === Initialization === | ||
8 | |||
9 | Initialization parameters of BMS Main 3X are configured in the «Control → Initialization» section: | ||
10 | |||
11 | [[image:1748622635162-582.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="74" width="600"]] | ||
12 | |||
13 | In this section: | ||
14 | |||
15 | * Module initialization timeout – a timeout for modules to answer the requests from BMS Main 3X and to be estimated as found, millisecond; | ||
16 | * Minimum number of found modules to finish initialization; | ||
17 | * Device initialization delay after modules are initialized – a delay before processing functions after finishing device initialization (initialization includes current sensors calibration and battery modules search), millisecond. | ||
18 | |||
19 | === Battery modules === | ||
20 | |||
21 | The BMS Main 3X allows up to 32 battery modules with BMS Main 3 onboard to be connected in parallel. | ||
22 | |||
23 | Flags for enabling battery modules are configured in the "Control → Modules → Enable (modules 1 to 8)" and "Control → Modules → Enable (modules 9 to 32)" section: | ||
24 | |||
25 | [[image:1743089636435-519.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="147" width="600"]] | ||
26 | The network addresses of the battery modules are configured in the "Control → Modules → Node IDs (modules 1 to 8)” and "Control → Modules → Node IDs (modules 9 to 32)”: | ||
27 | |||
28 | [[image:1739976370994-390.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="167" width="600"]] | ||
29 | Each module in a battery must have a unique address. You can change the address in the battery module settings in the “Connectivity → CAN” section of the BMS Main 3 settings. | ||
30 | |||
31 | In corresponding section you can set up minimum number of found modules to finish initialization. | ||
32 | |||
33 | === Calculation of battery parameters === | ||
34 | |||
35 | The BMS Main 3X device calculates battery parameters based on user settings. | ||
36 | |||
37 | Calculation of the battery state of charge (SOC) is configured in the "Control → Calculation → Final SOC" section: | ||
38 | |||
39 | [[image:1734023979584-480.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="80" width="600"]] | ||
40 | |||
41 | The following battery SOC calculation methods are supported: | ||
42 | |||
43 | * Minimal SOC – SOC of the modular battery is assumed to be the minimum SOC among the battery modules; | ||
44 | * Average SOC – SOC of the modular battery is taken equal to the arithmetic average of the SOC of the battery modules; | ||
45 | * Min-Max SOC – the battery SOC is calculated based on the minimum and maximum SOC of the modules. Final SOC will be a) 100% if any module has 100% SOC, b) 0% if any module has 0% SOC; | ||
46 | * Max-Min SOC – the battery SOC is calculated based on the minimum and maximum SOC of the modules. Final SOC will be a) 100% if all modules have 100% SOC, b) 0% if all modules have 0% SOC; | ||
47 | |||
48 | Calculation of the battery state of health (SOH) is configured in the "Control → Calculation → Final SOH" section. The following battery SOH calculation methods are supported: | ||
49 | |||
50 | * Minimal SOH – SOH of the modular battery is assumed to be the minimum SOH among the battery modules; | ||
51 | * Average SOH – SOH of the modular battery is taken equal to the arithmetic average of the SOH of the battery modules. | ||
52 | |||
53 | === Main contactor === | ||
54 | |||
55 | The BMS Main 3X 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. | ||
56 | |||
57 | The Main contactor algorithm supports the following modes: | ||
58 | |||
59 | * Always on; | ||
60 | * Automatic, when the main contactor closes by the internal charging and discharging algorithms at the same time with Precharging, Charging, Discharging and Charging/Discharging contactors. | ||
61 | |||
62 | In “Always on” mode main contactor closes if all the following is true: | ||
63 | |||
64 | * Other contactors are open; | ||
65 | * There are no errors from the "Errors 1, 2 ..." bitfileds. | ||
66 | |||
67 | In “Always on” mode main contactor opens if all the following is true: | ||
68 | |||
69 | * Other contactors are open; | ||
70 | * There is an error from the the "Errors 1, 2 ..." bitfileds. | ||
71 | |||
72 | In “Automatic” mode, the main contactor closes by internal algorithms at the same time with other contactors. | ||
73 | |||
74 | To change the parameters of the main contactor, select the "Control → Main contactor" section: | ||
75 | |||
76 | [[image:1734024131196-608.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="94" width="600"]] | ||
77 | |||
78 | In this section: | ||
79 | |||
80 | * Enable – a flag to enable the main contactor control; | ||
81 | * Algorithm – main contactor control algorithm: | ||
82 | ** Always on – contactor is always closed; | ||
83 | ** Automatic – contactor closes by internal charge and discharge algorithms; | ||
84 | * Time to keep the contactor closed before closing the others – a time for other contactors to be open after the main contactor is closed, millisecond; | ||
85 | * Delay before opening the contactor – a time which is used to detect conditions for opening the contactor, millisecond; | ||
86 | * Keep the contactor open until the device is restarted – a flag for keeping the main contactor open until the system is reset; | ||
87 | * Errors 1 (2) to open the main contactor – error flags that cause the contactor to open. | ||
88 | |||
89 | === Charging status === | ||
90 | |||
91 | To change the parameters for generating status signals when charging the battery, select the section “Control → Charging status”: | ||
92 | |||
93 | [[image:1734089608849-849.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="77" width="600"]] | ||
94 | |||
95 | In this section: | ||
96 | |||
97 | * Current corresponding to charging – a current level to set the "Charging current present" signal, A; | ||
98 | * Current corresponding to no charging – a current level to clear the "Charging current present" signal, A. | ||
99 | |||
100 | === Discharging status === | ||
101 | |||
102 | To change the parameters for generating status signals when discharging the battery, select the section “Control → Discharging status”: | ||
103 | |||
104 | [[image:1734089656854-598.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="79" width="600"]] | ||
105 | |||
106 | In this section: | ||
107 | |||
108 | * Current corresponding to discharging – a current level to set the "Discharging current present" signal, A; | ||
109 | * Current corresponding to no discharging – a current level to clear the "Discharging current present" signal, A. | ||
110 | |||
111 | === Precharge === | ||
112 | |||
113 | To change the precharge parameters, select the section “Control → Precharge”: | ||
114 | |||
115 | [[image:1739970002016-142.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="119" width="600"]] | ||
116 | |||
117 | In this section: | ||
118 | |||
119 | * Precharge current threshold to close the discharging contactor – a current value to ensure that precharge process has finished and it is allowed to close the discharging contactor, A; | ||
120 | * 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; | ||
121 | * Minimum voltage difference before and after contactors to finish precharging – a minimum voltage difference before and after contactors to ensure precharge process finished, V; | ||
122 | * Number of precharging attempts – maximum number of precharging attempts before setting the "Precharge error"; | ||
123 | * Delay before current measurement – a delay before first current measurement after closing precharge, millisecond; | ||
124 | * Precharge time – a duration of closing the precharge contactor before closing the discharging contactor, millisecond; | ||
125 | * Relaxation between attempts – a duration between precharge attempts, millisecond; | ||
126 | * Check the power dissipated in the preacharge resistor - a flag to enable the calculation of power dissipated in precharge resistor; | ||
127 | * Precharge resistor resistance, Ohm; | ||
128 | * Maximum allowable power dissipated in the resistor, W; | ||
129 | * Delay before setting the "Precharge error" when checking power, millisecond; | ||
130 | * Delay before clearing the "Precharge error", second; | ||
131 | * Lock – a flag to block the error until the device is restarted. | ||
132 | |||
133 | “Precharge error” generation conditions if any of the following is true: | ||
134 | |||
135 | * the precharge current does not decrease during the "Precharge time" after "Number of precharging attempts"; | ||
136 | * voltages before and after contactors are not equal during the "Precharge time" after "Number of precharging attempts"; | ||
137 | * power dissipated on the precharge resistor is above the maximum value during the “Delay before setting the 'Precharge error' when checking power” time. | ||
138 | |||
139 | (% class="box warningmessage" %) | ||
140 | ((( | ||
141 | Behavior of contactors at “Precharge error” is configured in corresponding contactor settings! | ||
142 | ))) | ||
143 | |||
144 | === Charge === | ||
145 | |||
146 | The BMS Main 3X device manages the parallel connection of the battery modules and the connection of the battery to the charging circuit. | ||
147 | |||
148 | The device supports the following charging modes: | ||
149 | |||
150 | 1. Charging is always allowed (Always on) – the device ignores voltage and current unbalance of the battery modules and commands to close the charging contactors of the battery modules and the main charging contactor “Charging”. | ||
151 | 1. Charging is allowed if all battery modules are balanced (Balanced). | ||
152 | 1. Charging is allowed for most balanced battery modules (Partially balanced). Unbalanced modules are disconnected from the common bus and do not participate in the charging. | ||
153 | |||
154 | The device controls two processes: **joining battery modules **and **closing the main charging contactor “Charging”**. | ||
155 | |||
156 | |||
157 | The operation of the **joining battery modules** is described by the following steps: | ||
158 | |||
159 | 1. Battery modules are disabled. When the “Join to charge” request is received and the voltage and current unbalance errors (Voltage unbalance (CH), Current unbalance (CH), Charging current unbalance) are cleared, go to step 2. | ||
160 | 1. Checking the voltage unbalance of battery modules (the duration of the check is set in the settings). If there is no imbalance or errors are ignored (“Always on” and “Partially balanced”), go to step 3, otherwise open all charging contactors, and go to step 1. | ||
161 | 1. Closing the precharging contactors of the battery modules (optional). Go to step 4. | ||
162 | 1. Closing the charging contactors of the battery modules. The battery modules are self-balancing. Go to step 5. | ||
163 | 1. Checking intermodular balancing currents (the duration of the check is set in the settings). If there is no current unbalance (“Current unbalance (CH)”) or errors are ignored (“Always on”), go to step 6, otherwise open all charging contactors, and go to step 1. | ||
164 | 1. The battery modules are joined. If the “Join to charge” request is cleared or the "Charging current unbalance" error occurs, go to step 1. | ||
165 | |||
166 | The operation of** closing main charging contactor** is described in the following steps: | ||
167 | |||
168 | 1. The main charging contactor “Charging” is open. When the “Charge request” is received, there are no errors from the "Errors 1, 2 ..." bitfields, and the battery modules are joined, go to step 2. | ||
169 | 1. Closing the main precharging contactor “Precharging” (optional). Go to step 3. | ||
170 | 1. Closing the main charging contactor "Charging". Go to step 4. | ||
171 | 1. The main charging contactor “Charging” is closed. If the "Charge request" is cleared, the battery modules are disconnected, or errors occur, go to step 1. | ||
172 | |||
173 | The command to turn on the main charging contactor "Charging" can be issued either to the upper-level system via the CAN1 (ext) bus, or to the intelligent switch of the device, which serves for direct control of the main charging contactor "Charging". | ||
174 | |||
175 | |||
176 | In addition to controlling the charging contactors, the charge controller calculates and transmits to the upper-level system the value of the maximum allowable current, which can be used to charge the modular battery (“Charge current limit”). The calculation of the charging current of the entire battery is performed based on the number of battery modules operating per charge and the values of the current limits transmitted by them – total current takes equal to minimum current limit among the modules times the number of modules. Also there is an ability to regulate the total curent such way that each module current does not exceed its current limit. | ||
177 | |||
178 | |||
179 | The battery charge management is configured in the "Control → Charge" section: | ||
180 | |||
181 | [[image:1744733920147-654.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="209" width="600"]] | ||
182 | |||
183 | In this section: | ||
184 | |||
185 | * Enable – a flag to enable battery charge controller; | ||
186 | * Algorithm: | ||
187 | ** Always on – charging is always allowed; | ||
188 | ** Balanced – charging is allowed provided that all battery modules are balanced; | ||
189 | ** Partially balanced – charging is allowed for most balanced battery modules; | ||
190 | * Minimum number of modules allowed to join – a minimum number of battery modules that can be connected in parallel; | ||
191 | * Allowable battery current to rejoin modules – a battery current at which joining of battery modules is permitted, A; | ||
192 | * Allowable voltage difference to rejoin modules – a difference between the voltage of the disconnected module and the battery voltage at which its joining is permitted, V; | ||
193 | * Checking voltages time – a time of checking voltages of battery modules before starting joining modules, millisecond; | ||
194 | * Module balancing time – a time of balancing battery modules after joining modules and before closing main charging contactor, millisecond; | ||
195 | * Interrupt balancing when modules are joined – a flag to break balancing time after all modules are joined; | ||
196 | * Control the precharging contactor – a flag to control the main precharging contactor; | ||
197 | * Canceling charging time – a delay before opening the main charging contactor, ms; | ||
198 | * Disconnect modules that are not ready to charge – a flag for disconnecting modules that have the “Ready to charge” signal cleared. | ||
199 | * Disconnect all modules if one is not ready to charge – a flag for disconnecting all modules if any of the modules have the “Ready to charge” signal cleared; | ||
200 | * Join modules on the “Charge request” signal – a flag to enable automatic modules joining if “Charge request” signal appears; | ||
201 | * Regulator: Keep battery module currents below limits – a flag to enable regulation of module currents to be below module current limit; | ||
202 | * Regulator: Gain – a gain of current regulator; | ||
203 | * Maximum CONTINUOUS charge current limit – a maximum continuous allowed charging current of all battery, A; | ||
204 | * Maximum charge current limit – a maximum allowed charging current of all battery, A; | ||
205 | * Errors 1 (2) to disconnect all battery modules – errors that cause all battery modules to be disconnected from the common bus; | ||
206 | * Errors 1 (2) to open the charging contactor – errors that cause the main charging contactor "Charging" to open; | ||
207 | * Switch of the charging contactor on errors without a delay – a flag that allows the main charging contactor “Charging” to be opened without delay if errors are detected. | ||
208 | |||
209 | === Discharge === | ||
210 | |||
211 | The BMS Main 3X device manages the parallel connection of the battery modules and the connection of the battery to the discharging circuit. | ||
212 | |||
213 | The device supports the following discharging modes: | ||
214 | |||
215 | 1. Discharging is always allowed (Always on) – the device ignores voltage and current unbalance of the battery modules and commands to close the discharging contactors of the battery modules and the main discharging contactor. | ||
216 | 1. Discharging is allowed if all battery modules are balanced (Balanced). | ||
217 | 1. Discharging is allowed for most balanced battery modules (Partially balanced). Unbalanced modules are disconnected from the common bus and do not participate in the discharging. | ||
218 | |||
219 | The device controls two processes: **joining battery modules** and **closing the main discharging contactor** “Discharging”. | ||
220 | |||
221 | |||
222 | The operation of the **joining battery modules** is described by the following steps: | ||
223 | |||
224 | 1. Battery modules are disabled. When the “Join to discharge” request is received and the voltage and current unbalance errors (Voltage unbalance (DCH), Current unbalance (DCH), Discharging current unbalance) are cleared, go to step 2. | ||
225 | 1. Checking the voltage unbalance of battery modules (the duration of the check is set in the settings). If there is no imbalance or errors are ignored (“Always on” and “Partially balanced”), go to step 3, otherwise open all discharging contactors, and go to step 1. | ||
226 | 1. Closing the precharging contactors of the battery modules (optional). Go to step 4. | ||
227 | 1. Closing the discharging contactors of the battery modules. The battery modules are self-balancing. Go to step 5. | ||
228 | 1. Checking intermodular balancing currents (the duration of the check is set in the settings). If there is no current unbalance (“Current unbalance (DCH)”) or errors are ignored (“Always on”), go to step 6, otherwise open all discharging contactors, and go to step 1. | ||
229 | 1. The battery modules are joined. If the “Join to discharge” request is cleared or "Discharging current unbalance" error occurs, go to step 1. | ||
230 | |||
231 | The operation of **closing main discharging contactor** is described in the following steps: | ||
232 | |||
233 | 1. The main discharging contactor “Discharging” is open. When the “Discharge request” is received, there are no errors from the "Errors 1, 2 ..." bitfields, and the battery modules are joined, go to step 2. | ||
234 | 1. Closing the main precharging contactor (optional). Go to step 3. | ||
235 | 1. Closing the main discharging contactor "Discharging". Go to step 4. | ||
236 | 1. The main discharging contactor “Discharging” is closed. If the "Discharge request" is cleared, the battery modules are disconnected, or errors occur, go to step 1. | ||
237 | |||
238 | The command to turn on the main charging contactor "Discharging" can be issued either to the upper-level system via the CAN1 (ext) bus, or to the intelligent switch of the device, which serves for direct control of the main discharging contactor "Discharging". | ||
239 | |||
240 | |||
241 | In addition to controlling the discharge contactors, the discharge controller calculates and transmits to the upper-level system the maximum allowable current value with which the modular battery can be discharged ("Discharge current limit"), as well as the maximum regeneration current value with which the modular battery can be charged during operation under load ("Regeneration current limit"). The calculation of the discharge current and regeneration current of the entire battery is performed based on the number of battery modules operating for discharge and the maximum discharge and charge current values transmitted by them – total current takes equal to minimum current limit among the modules times the number of modules. Also there is an ability to regulate the total curent such way that each module current does not exceed its current limit. | ||
242 | |||
243 | |||
244 | The battery discharge management is configured in the "Control → Discharge" section: | ||
245 | |||
246 | [[image:1744735777632-647.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="226" width="600"]] | ||
247 | |||
248 | In this section: | ||
249 | |||
250 | * Enable – a flag to enable battery discharge controller; | ||
251 | * Algorithm: | ||
252 | ** Always on – discharging is always allowed; | ||
253 | ** Balanced – discharging is allowed provided that all battery modules are balanced; | ||
254 | ** Partially balanced – discharging is allowed for most balanced battery modules; | ||
255 | * Minimum number of modules allowed to join – a minimum number of battery modules that can be connected in parallel; | ||
256 | * Allowable battery current to rejoin modules – a battery current at which joining of battery modules is permitted, A; | ||
257 | * Allowable voltage difference to rejoin modules – a difference between the voltage of the disconnected module and the battery voltage at which its joining is permitted, V; | ||
258 | * Checking voltages time – a time of checking voltages of battery modules before starting joining modules, millisecond; | ||
259 | * Module balancing time – a time of balancing battery modules after joining modules and before closing main discharging contactor, millisecond; | ||
260 | * Interrupt balancing when modules are joined – a flag to break balancing time after all modules are joined; | ||
261 | * Control the precharging contactor – a flag to control the main precharging contactor; | ||
262 | * Canceling discharging time – a delay before opening the main discharging contactor, millisecond; | ||
263 | * Disconnect modules that are not ready to discharge – a flag for disconnecting modules that have the “Ready to discharge” signal cleared. | ||
264 | * Disconnect all modules if one is not ready to discharge – a flag for disconnecting all modules if one of the modules have the “Ready to discharge” signal cleared; | ||
265 | * Join modules on the “Discharge request” signal – a flag to enable automatic modules joining if “Discharge request” signal appears; | ||
266 | * Regulator: Keep battery module currents below limits – a flag to enable regulation of module currents to be below module current limit; | ||
267 | * Regulator: Gain – a gain of current regulator; | ||
268 | * Maximum CONTINUOUS discharge current limit – a maximum allowed continuous discharging current of all the battery, A; | ||
269 | * Maximum discharge current limit – a maximum allowed discharging current of all the battery, A; | ||
270 | * Errors 1 (2) to disconnect all battery modules – errors that cause all battery modules to be disconnected from the common bus; | ||
271 | * Errors 1 (2) to open the discharging contactor – errors that cause the main discharging contactor "Discharging" to open, | ||
272 | * Switch of the discharging contactor on errors without a delay – a flag that allows the main discharging contactor “Discharging” to be opened without delay if errors are detected. | ||
273 | |||
274 | === Charge/Discharge === | ||
275 | |||
276 | The BMS Main 3X can control the charging/discharging contactor that is used to both charge and discharge the battery. | ||
277 | |||
278 | Charge/Discharge contactor has two algorithms of operation: | ||
279 | |||
280 | * Dependent - 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; | ||
281 | * Independent - Charge/Discharge contactor is based on its own controller. | ||
282 | |||
283 | (% class="box warningmessage" %) | ||
284 | ((( | ||
285 | **Warning!** | ||
286 | Charge/Discharge algorithms on BMS Main 3X and on battery modules controllers must **be the same**! | ||
287 | ))) | ||
288 | |||
289 | The charging/discharging controller supports the following modes: | ||
290 | |||
291 | 1. Charging/Discharging is always allowed (Always on) – the device ignores voltage and current unbalance of the battery modules and commands to close the discharging contactors of the battery modules and the main discharging contactor. | ||
292 | 1. Charging/Discharging is allowed if all battery modules are balanced (Balanced). | ||
293 | 1. Charging/Discharging is allowed for most balanced battery modules (Partially balanced). Unbalanced modules are disconnected from the common bus and do not participate in the discharging. | ||
294 | |||
295 | The device controls two processes: **joining battery modules** and **closing the main charging/discharging contactor**. | ||
296 | |||
297 | The operation of the **joining battery modules** depends on the signal received: | ||
298 | |||
299 | * If "Join to charge" is received, joining procedure is done as described in [[Charge>>doc:||anchor="HCharge"]] section; | ||
300 | * If "Join to discharge" is received, joining procedure is done as described in [[Discharge>>doc:||anchor="HDischarge"]] section; | ||
301 | * If both signals received, "Join to charge" has a priority. | ||
302 | |||
303 | The operation of **closing main charging/discharging contactor **depends on the signal received: | ||
304 | |||
305 | * If "Charge request" is received, procedure is done as described in [[Charge>>doc:||anchor="HCharge"]] section; | ||
306 | * If "Discharge request" is received, procedure is done as described in [[Discharge>>doc:||anchor="HDischarge"]] section; | ||
307 | * If both signals received, "Charge request" has a priority. | ||
308 | |||
309 | In addition, the charge/discharge controller calculates and transmits to the upper-level system the maximum allowable current value with which the modular battery can be charged ("Charge current limit") and discharged ("Discharge current limit"), as well as the maximum regeneration current value with which the modular battery can be charged during operation under load ("Regeneration current limit"). The calculation of the charge, discharge and regeneration currents of the entire battery is performed based on the number of battery modules operating for charge or discharge and the maximum charge and discharge current values transmitted by them – total current takes equal to minimum current limit among the modules times the number of modules. Also there is an ability to regulate the total curent such way that each module current does not exceed its current limit. | ||
310 | |||
311 | * "Charge current limit" and "Regeneration current limit" are calculated only if there is "Charge request"; | ||
312 | * "Discharge current limit" is calculated only if there is "Discharge request". | ||
313 | |||
314 | The charge/discharge contactor control is configured in the “Control → Charge/Discharge” section: | ||
315 | |||
316 | [[image:1744735816351-271.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="249" width="600"]] | ||
317 | |||
318 | In this section: | ||
319 | |||
320 | * Enable – a flag to enable battery charge/discharge controller; | ||
321 | * Mode: | ||
322 | ** Dependent - Charge/Discharge contactor depends on Charge and Discharge algorithms and their signals; | ||
323 | ** Independent - Charge/Discharge contactor is based on its own controller. | ||
324 | * Algorithm: | ||
325 | ** Always on – discharging is always allowed; | ||
326 | ** Balanced – discharging is allowed provided that all battery modules are balanced; | ||
327 | ** Partially balanced – discharging is allowed for most balanced battery modules; | ||
328 | * Minimum number of modules allowed to join – a minimum number of battery modules that can be connected in parallel; | ||
329 | * Allowable battery current to rejoin modules – a battery current at which joining of battery modules is permitted, A; | ||
330 | * Allowable voltage difference to rejoin modules – a difference between the voltage of the disconnected module and the battery voltage at which its joining is permitted, V; | ||
331 | * Checking voltages time – a time of checking voltages of battery modules before starting joining modules, millisecond; | ||
332 | * Module balancing time – a time of balancing battery modules after joining modules and before closing main charging/discharging contactor, millisecond; | ||
333 | * Interrupt balancing when modules are joined – a flag to break balancing time after all modules are joined; | ||
334 | * Control the precharging contactor – a flag to control the main precharging contactor; | ||
335 | * Canceling discharging time – a delay before opening the main discharging contactor, millisecond; | ||
336 | * Disconnect modules that are not ready to charge – a flag for disconnecting modules that have the “Ready to charge” signal cleared; | ||
337 | * Disconnect modules that are not ready to discharge – a flag for disconnecting modules that have the “Ready to discharge” signal cleared; | ||
338 | * Join modules on the “Charge request” signal – a flag to enable automatic modules joining if “Charge request” signal appears; | ||
339 | * Join modules on the “Discharge request” signal – a flag to enable automatic modules joining if “Discharge request” signal appears; | ||
340 | * Regulator: Keep battery module currents below limits – a flag to enable regulation of module currents to be below module current limit; | ||
341 | * Regulator: Gain – a gain of current regulator; | ||
342 | * Maximum CONTINUOUS charge current limit – a maximum allowed continuous charging current of all the battery, A; | ||
343 | * Maximum charge current limit – a maximum allowed charging current of all the battery, A; | ||
344 | * Maximum CONTINUOUS discharge current limit – a maximum allowed continuous discharging current of all the battery, A; | ||
345 | * Maximum discharge current limit – a maximum allowed discharging current of all the battery, A; | ||
346 | * Errors 1 (2) to disconnect all battery modules – errors that cause all battery modules to be disconnected from the common bus; | ||
347 | * Errors 1 (2) to open the charging/discharging contactor – errors that cause the main charging/discharging contactor "Discharging" to open, | ||
348 | * Switch of the charging/discharging contactor on errors without a delay – a flag that allows the main charging/discharging contactor to be opened without delay if errors are detected. | ||
349 | |||
350 | === Module balancing === | ||
351 | |||
352 | The BMS Main 3X device supports active balancing of battery modules both in the process of charging and in the process of discharging the battery. | ||
353 | |||
354 | When the battery is charging, balancing is performed by disconnecting the most charged battery modules from the common bus. Before disconnecting the modules, the BMS Main 3X sends a request to the upper-level system (charger) to reduce the charge current to zero, and after the current becomes zero, disconnects the most charged battery modules. | ||
355 | |||
356 | When the battery is discharging, balancing is performed by disconnecting the most discharged battery modules from the common bus. Battery modules are disconnected only if the battery discharge current has dropped to the threshold value set in the device settings. | ||
357 | |||
358 | Module balancing is configured in the “Control → Module balancing” section: | ||
359 | |||
360 | [[image:1734089714536-690.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="102" width="600"]] | ||
361 | |||
362 | In this section: | ||
363 | |||
364 | * Balance on charging – a flag to enable module balancing when the battery is charging; | ||
365 | * Delta voltage – a voltage difference at which the most charged modules are switched off (those modules whose voltage exceeds the minimum voltage among the modules by the “Delta voltage” value are switched off), V; | ||
366 | * Delta current – a current difference at which the most charged modules are switched off (those modules are switched off, the charge current of which is less than the maximum charge current among the modules by the “Delta current” value), A; | ||
367 | * Detection time – a time for module to be estimated as unbalanced, millisecond; | ||
368 | * Waiting time – a time the battery modules are in the disconnected state (after this time, the modules previously disconnected during the balancing process are reconnected to the common bus), second; | ||
369 | * Balance on discharging – a flag to enable module balancing when the battery is discharging (if flag is enabled operation logic and settings are equal to balancing on charging); | ||
370 | * Required discharging current – a value of the discharge current at which the device switches off the most discharged battery modules, A. | ||
371 | |||
372 | === Power down === | ||
373 | |||
374 | The BMS Main 3X device can shut down itself if KEYRUN and CHARGE_ON signals are cleared, and if the “Power down request” signal appears. | ||
375 | |||
376 | To change the parameters of the power down control, select the "Control → Power down" section: | ||
377 | |||
378 | [[image:1734089714537-964.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="57" width="600"]] | ||
379 | |||
380 | In this section: | ||
381 | |||
382 | * Power down if KEYRUN and CHARGE_ON are cleared – a flag to power down the device if KEYRUN and CHARGE_ON signals are cleared; | ||
383 | * 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, millisecond. | ||
384 | |||
385 | While receiving the “Power down request” signal, BMS Main 3X sends that signal to all connected battery modules with BMS Main 3 onboard. | ||
386 | |||
387 | === Heater === | ||
388 | |||
389 | To change the parameters of the heater control algorithm, select the "Control → Heater" section: | ||
390 | |||
391 | [[image:1734089714538-716.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="102" width="600"]] | ||
392 | |||
393 | In this section: | ||
394 | |||
395 | * Enable – a flag to enable the heater control; | ||
396 | * Charge: Minimum module temperature, °C; | ||
397 | * Charge: Tolerant module temperature, °C; | ||
398 | * Discharge: Minimum module, °C; | ||
399 | * Discharge: Tolerant module temperature, °C; | ||
400 | * Delay before starting the heater, millisecond; | ||
401 | * Delay before stopping the heater, millisecond; | ||
402 | * Errors 1 (2) to turn off the heater – errors that cause the heater to shut down. | ||
403 | |||
404 | Conditions for signal generation: | ||
405 | |||
406 | * the minimum temperature among all cells of the battery is less than the “Charge (Discharge): Minimum cell temperature” value during the “Delay before starting the heater” time. | ||
407 | |||
408 | Conditions for clearing the signal: | ||
409 | |||
410 | * the minimum temperature among all cells of the battery is greater than the “Charge (Discharge): Tolerant cell temperature” value during the “Delay before stopping the heater” time. | ||
411 | |||
412 | === Cooler === | ||
413 | |||
414 | To change the parameters of the cooler control algorithm, select the "Control → Cooler" section: | ||
415 | |||
416 | [[image:1734089726356-617.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="102" width="600"]] | ||
417 | |||
418 | In this section: | ||
419 | |||
420 | * Enable – a flag to enable the cooler control; | ||
421 | * Charge: Maximum module temperature, °C; | ||
422 | * Charge: Tolerant module temperature, °C; | ||
423 | * Discharge: Maximum module temperature, °C; | ||
424 | * Discharge: Tolerant module temperature, °C; | ||
425 | * Delay before starting the cooler, millisecond; | ||
426 | * Delay before stopping the cooler, millisecond; | ||
427 | * Errors 1 (2) to turn off the cooler – errors that cause the cooler to shut down. | ||
428 | |||
429 | Conditions for signal generation: | ||
430 | |||
431 | * the maximum temperature among all cells of the battery is greater than the “Charge (Discharge): Maximum cell temperature” value during the “Delay before starting the cooler” time. | ||
432 | |||
433 | Conditions for clearing the signal: | ||
434 | |||
435 | * the maximum temperature among all cells of the battery is less than the “Charge (Discharge): Tolerant cell temperature” value during the “Delay before stopping the cooler” time. | ||
436 | |||
437 | === Coolant pump === | ||
438 | |||
439 | To change the parameters of the coolant pump control algorithm, select the "Control → Coolant pump" section: | ||
440 | |||
441 | [[image:1734089726358-589.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="103" width="600"]] | ||
442 | |||
443 | In this section: | ||
444 | |||
445 | * Enable – a flag to enable the coolant pump control; | ||
446 | * Charge: Maximum cell temperature difference, °C; | ||
447 | * Charge: Tolerant cell temperature difference, °C; | ||
448 | * Discharge: Maximum cell temperature difference, °C; | ||
449 | * Discharge: Tolerant cell temperature difference, °C; | ||
450 | * Delay before starting the coolant pump, millisecond; | ||
451 | * Delay before stopping the coolant pump, millisecond; | ||
452 | * Errors 1 (2) to turn off the coolant pump – errors that cause the coolant pump to shut down. | ||
453 | |||
454 | Conditions for signal generation: | ||
455 | |||
456 | * the maximum temperature difference among all cells of the battery is greater than the “Charge (Discharge): Maximum cell temperature difference” value during the “Delay before starting the coolant pump” time. | ||
457 | |||
458 | Conditions for clearing the signal: | ||
459 | |||
460 | * the maximum temperature difference among all cells of the battery is less than the “Charge (Discharge): Tolerant cell temperature difference” value during the “Delay before stopping the coolant pump” time. | ||
461 | |||
462 | === High voltage === | ||
463 | |||
464 | The BMS Main 3X device has an ability to measure high voltages before and after contactors. | ||
465 | |||
466 | To change the parameters of high voltage fault, select the "Control → High voltage" section: | ||
467 | |||
468 | [[image:1734089726359-199.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="68" width="600"]] | ||
469 | |||
470 | In this section: | ||
471 | |||
472 | * Enable – a flag to enable High voltage control; | ||
473 | * Delay before clearing the High voltage fault, second; | ||
474 | * Lock the High voltage fault. | ||
475 | |||
476 | === Load open counter === | ||
477 | |||
478 | The BMS Main 3X device counts the number of times the main charge/discharge contactor "Charging/Discharging" opens when high current flows. | ||
479 | |||
480 | To configure the parameters for counting the number of contactor openings, select the section “Control → Load open counter”: | ||
481 | |||
482 | [[image:1734089726360-887.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="83" width="600"]] | ||
483 | |||
484 | In this section: | ||
485 | |||
486 | * Enable – a flag for enabling the contactor opening count; | ||
487 | * Threshold – a current threshold, upon exceeding which the contactor opening counter is incremented, A. |