Wiki source code of 3.5 Battery control
Last modified by Admin on 2025/03/10 12:50
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
11.1 | 1 | (% data-numbered-headings-start="3" style="--numbered-headings-start: 2;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %) |
2 | = Configuration = | ||
![]() |
1.1 | 3 | |
![]() |
11.1 | 4 | (% data-numbered-headings-start="5" style="--numbered-headings-start: 4;font-size: 0px;color: rgba(0, 0, 0, 0.0);margin-bottom: 0px; margin-top: 0px;" %) |
5 | == Battery control == | ||
6 | |||
![]() |
25.1 | 7 | === Charging control === |
![]() |
11.1 | 8 | |
![]() |
1.1 | 9 | There are two relays that serve charging the battery: a charging relay and an allow charging relay. With the help of the allow charging relay, the BMS commands the charger to start or stop charging. |
10 | |||
11 | The board supports two charge control algorithms: | ||
12 | |||
13 | * charging is always allowed; | ||
14 | * charging is allowed when there is a signal “Charger connected”. | ||
15 | |||
16 | If you select the "charging is always allowed" algorithm, the charging relay and the allow charging relay are always closed. If at least one of the errors appears: | ||
17 | |||
18 | * Overvoltage; | ||
19 | * Overcurrent; | ||
20 | * High temperature; | ||
21 | * Low temperature; | ||
22 | * HYG offline (optional); | ||
23 | * Combilift offline (optional); | ||
24 | * Spirit offline (optional); | ||
25 | * Spirit charger error (optional); | ||
26 | * Short circuit (optional); | ||
27 | * Contactor high temperature (optional); | ||
28 | * CH contactor cycles error; | ||
29 | * Critical error, | ||
30 | |||
31 | both relays are open (no current flows). | ||
32 | |||
33 | When the algorithm "charging is allowed when there is a signal “Charger connected”" is selected, the relay control is performed as follows: | ||
34 | |||
35 | * If there is a signal “Charger connected” and there are no errors (see the list above), then through the delay time T,,on,, the charging relay and the allow charging relay close; | ||
36 | * If the signal “Charger connected” disappears, the allow charging relay opens and after the delay time T,,off,, the charging relay opens; | ||
37 | * If in the process of charging the voltage on the cell exceeds the EV level, the allow charging relay opens (while the charging relay remains closed); | ||
38 | * If errors in the list above occur the charging relay and allow charging relay open. | ||
39 | |||
40 | (% class="box infomessage" %) | ||
41 | ((( | ||
42 | **Note:** When errors occur in the system, the charging relay opens either immediately or with the delay T,,off,, (depends on the settings described below). | ||
43 | ))) | ||
44 | |||
45 | When the power down request occurs, the allow charging relay opens immediately and the charging relay opens after the delay T,,off,,. Reclosing the charging relay and allow charging relay is performed if the power down request is removed. | ||
46 | |||
47 | To change the parameters of the battery charge control algorithm, select the menu "Cells → Charging control": | ||
![]() |
2.2 | 48 | |
![]() |
23.1 | 49 | [[image:1739961593607-309.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="639" width="425"]] |
![]() |
2.2 | 50 | |
51 | In this section: | ||
52 | |||
53 | * Enable – a flag to activate the charge control; | ||
54 | * Charging algorithm: | ||
55 | ** Always on – charging is always allowed; | ||
56 | ** On charger connected – charging is allowed when there is a signal “Charger connected”; | ||
57 | ** On charge request – charging is allowed when there is a signal “Charge request”; | ||
![]() |
24.1 | 58 | * Allow charging only when the "Ready to charge" signal is set; |
![]() |
2.2 | 59 | * Current indicating charging – a current level to generate the "Charging current present" signal, A; |
60 | * Current indicating no charging – a current level to clear the "Charging current present" signal, A; | ||
61 | * Delay before starting charging – a time delay T,,on,, before closing the charging relay and the allow charging relay, second; | ||
62 | * Delay before stopping charging – a time delay T,,off,, before opening the charging relay, second; | ||
63 | * Use specific delays before stopping charging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors; | ||
64 | * Switch off the charging relay on errors without delay – a flag to protectively open the charging relay without delay. In the opposite case, when an error is detected, the charging relay opens always with the delay “Delay before stopping charging”; | ||
65 | * Control the precharging relay – a flag that allows control of the precharging relay; | ||
![]() |
15.2 | 66 | * Voltage to clear the “Ready to charge” (hence, the “Allow charging”) signal – 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” signal is cleared; |
![]() |
16.1 | 67 | * Voltage to reset the “Ready to charge” (hence, the “Allow charging”) signal – 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” signal is set; |
![]() |
2.2 | 68 | * Delay before recharging – a time after which the previously opened the allow charging relay closes again, minute; to disable the operation by timeout set "Delay before recharging" to 0. |
69 | |||
70 | (% class="box infomessage" %) | ||
71 | ((( | ||
![]() |
3.3 | 72 | **Note:** The "Allow charging" signal appears under two independent conditions: |
![]() |
2.3 | 73 | 1) the voltage on the cells reaches the Voltage to reset the “Ready to charge" level and |
74 | 2) the "Delay before recharging" time has passed since the opening of the allow charging relay. | ||
![]() |
2.2 | 75 | ))) |
![]() |
2.3 | 76 | |
![]() |
25.1 | 77 | === Discharging control === |
![]() |
2.3 | 78 | |
79 | The board has a discharging relay to connect battery to the load. | ||
80 | |||
81 | The board supports two algorithms to control battery discharging: | ||
82 | |||
83 | * load is always connected; | ||
84 | * load is connected when there is no signal “Charger connected”. | ||
85 | |||
86 | When the algorithm "load is always connected" is selected, the discharging relay is always closed. If at least one of the errors appears: | ||
87 | |||
88 | * Undervoltage; | ||
89 | * Overvoltage (optional); | ||
90 | * Overcurrent; | ||
91 | * High temperature; | ||
92 | * Low temperature (optional); | ||
93 | * HYG offline (optional); | ||
94 | * Combilift offline (optional); | ||
95 | * Spirit offline (optional); | ||
96 | * Spirit charger error (optional); | ||
97 | * Short circuit (optional); | ||
98 | * Contactor high temperature (optional); | ||
99 | * DCH contactor cycles error; | ||
100 | * Critical error | ||
101 | |||
102 | the discharging relay opens. | ||
103 | |||
104 | If you select the algorithm "load is connected when there is no signal “Charger connected”" control relay is as follows: | ||
105 | |||
106 | * if there is no signal “Charger connected”, the charging relay is opened and there are no errors (see the list above), then through the delay time T,,on,, the discharging relay closes; | ||
107 | * If the signal “Charger connected” appears or errors occur (see the list above), then after the delay time T,,off,, the discharging relay opens. | ||
108 | |||
![]() |
3.2 | 109 | (% class="box infomessage" %) |
110 | ((( | ||
111 | **Note:** In case of errors in the system operation, the opening of the discharging relay is performed either immediately or with a delay T,,off,, (depends on the settings described below). | ||
112 | ))) | ||
![]() |
2.3 | 113 | |
![]() |
20.1 | 114 | The board supports controlling the precharging relay. The duration of switching on the precharging relay and precharge current threshold before closing the discharging (load) relay are adjustable. |
![]() |
2.3 | 115 | |
116 | When the power down request occurs, the discharging relay opens after delay T,,off,,. Reclosing the discharging relay is performed if the power down request is removed. | ||
117 | |||
118 | To change the parameters of the battery discharge control algorithm, select the menu "Cells → Discharging control": | ||
![]() |
3.2 | 119 | |
![]() |
23.1 | 120 | [[image:1739961703149-845.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="748" width="440"]] |
![]() |
3.2 | 121 | |
122 | In this section: | ||
123 | |||
124 | * Enable – a flag to activate the discharge control; | ||
125 | * Discharging algorithm: | ||
126 | ** Always on – load is always connected; | ||
127 | ** On charger disconnected – load is connected when there is no signal “Charger connected”; | ||
128 | ** On discharge request – load is connected when there is a signal “Discharge request”; | ||
![]() |
24.1 | 129 | * Allow discharging only when the "Ready to discharge" signal is set; |
![]() |
3.2 | 130 | * Current indicating discharging – a current level to generate the "Discharging current present" signal, А; |
131 | * Current indicating no discharging – a current level to clear the "Discharging current present" signal, А; | ||
132 | * Delay before starting discharging – a time delay T,,on,, before closing the discharging relay, second; | ||
133 | * Delay before stopping discharging – a time delay T,,off,, before opening the discharging relay, second; | ||
134 | * Use specific delays before stopping discharging (on errors) – a flag to enable manual settings of time delays T,,off,, for specific errors; | ||
135 | * Switch off the discharging relay on errors without delay – a flag to protectively open the discharging relay without delay. In the opposite case, when an error is detected, the discharging relay opens always with the delay “Delay before stopping discharging”. | ||
136 | * Precharge time – a duration of closing the precharge relay before closing the discharging relay, millisecond; | ||
![]() |
11.3 | 137 | * Precharge current threshold to start discharging – a minimum current value to finish precharging and start discharge, A; |
![]() |
16.1 | 138 | * Voltage to clear the “Ready to discharge” signal – 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; |
139 | * Voltage to reset the “Ready to discharge” signal – 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. | ||
![]() |
3.2 | 140 | |
![]() |
11.1 | 141 | === Discharging (AUX) control === |
![]() |
4.2 | 142 | |
143 | The BMS Main 2.x board can control the power supply of external equipment using the auxiliary (AUX) discharging relay. An example of external equipment can be an inverter that converts DC to AC to power a service laptop and other devices. | ||
144 | |||
145 | The power supply circuit of the external equipment using the auxiliary (AUX) discharging relay is independent of the battery load circuit. The closing and opening of the auxiliary (AUX) discharging relay is performed according to its program. | ||
146 | |||
147 | If the power supply function of the external equipment is enabled, the auxiliary (AUX) discharging relay closes. The opening of this relay occurs on three independent conditions: | ||
148 | |||
149 | * the battery has low SOC; | ||
150 | * the battery voltage is out of range; | ||
151 | * the battery system errors are detected. | ||
152 | |||
153 | To change the parameters of the powering of external equipment, select the menu "Cells → Discharging (AUX) control": | ||
154 | |||
![]() |
10.1 | 155 | [[image:1732208939544-710.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="397" width="445"]] |
![]() |
4.3 | 156 | |
157 | In this section: | ||
158 | |||
159 | * Enable – a flag to activate the auxiliary discharge control; | ||
![]() |
11.4 | 160 | * Switch off the discharging (AUX) relay at when the battery SOC is low: |
![]() |
4.3 | 161 | ** Minimum SOC – a minimum SOC value, when reached, the auxiliary (AUX) discharging relay opens, %; |
162 | ** Tolerant SOC – a permissive SOC value, upon reaching which the auxiliary (AUX) discharging relay re-closes, %; | ||
![]() |
11.4 | 163 | * Switch off the discharging (AUX) relay when the cell voltage is low: |
![]() |
12.1 | 164 | ** Minimum cell voltage – a minimum cell voltage, when reached, the auxiliary (AUX) discharging relay opens, %; |
165 | ** Tolerant cell voltage – a permissive cell voltage, upon reaching which the auxiliary (AUX) discharging relay re-closes, %; | ||
![]() |
4.3 | 166 | * Switch off the discharging (AUX) relay if the battery voltage is out of the range: |
![]() |
13.1 | 167 | ** Minimum battery voltage – minimum battery voltage, V; |
168 | ** Maximum battery voltage – maximum battery voltage, V; | ||
![]() |
4.3 | 169 | * Switch off the discharging (AUX) relay on errors – the auxiliary (AUX) discharging relay opens if the following errors occur: Undervoltage, Overcurrent, High temperature (discharging), Short circuit, Critical error. |
170 | |||
![]() |
11.1 | 171 | === Charging/Discharging control === |
![]() |
4.3 | 172 | |
![]() |
25.1 | 173 | BMS Main 2.x allows to control charging/discharging contactor that combines algorithms of charging and discharging contactor. It behaves as [[charging>>doc:||anchor="HChargingcontrol"]] contactor when «Charge request» or «Charger connected» are set, otherwise – as [[discharging>>doc:||anchor="HDischargingcontrol"]] contactor. |
![]() |
4.3 | 174 | |
![]() |
5.2 | 175 | To change the parameters of the charging/discharging algorithm, select the menu "Cells → Charging/Discharging control": |
![]() |
4.3 | 176 | |
![]() |
10.1 | 177 | [[image:1732209044117-558.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="102" width="259"]] |
![]() |
5.2 | 178 | |
179 | In this section: | ||
180 | |||
181 | * Enable – a flag to enable Charging/Discharging contactor controller. | ||
![]() |
6.2 | 182 | |
![]() |
11.1 | 183 | === Main contactor === |
![]() |
6.2 | 184 | |
185 | The BMS Main 2.x has a relay to control the main contactor. The main contactor is usually placed in the common (minus) battery line for opening the charge and discharge circuits in a case of sealing of the charging or discharging contactor. | ||
186 | |||
![]() |
18.1 | 187 | The Main contactor algorithm supports the following modes: |
![]() |
6.2 | 188 | |
![]() |
18.1 | 189 | * Always on; |
190 | * Automatic; | ||
191 | * On demand. | ||
![]() |
6.2 | 192 | |
![]() |
18.1 | 193 | In “Always on” mode main contactor closes if all the following is true: |
![]() |
6.2 | 194 | |
![]() |
18.1 | 195 | * Other contactors are open; |
196 | * There are no errors from the list below: | ||
197 | ** Overcurrent; | ||
198 | ** Undervoltage; | ||
199 | ** Overvoltage; | ||
200 | ** High temperature (charging); | ||
201 | ** High temperature (discharging); | ||
202 | ** Unallowable charging; | ||
203 | ** Critical error. | ||
![]() |
6.2 | 204 | |
![]() |
18.1 | 205 | In “Always on” mode main contactor opens if all the following is true: |
![]() |
17.2 | 206 | |
![]() |
18.1 | 207 | * Other contactors are open; |
208 | * There is an error from the the list above. | ||
![]() |
17.2 | 209 | |
![]() |
19.1 | 210 | In “Automatic” mode, the main contactor closes and opens by internal algorithms at the same time with other contactors. |
![]() |
18.1 | 211 | |
212 | In “On demand” mode, the main contactor closes by external the “Close Main contactor” request. | ||
213 | |||
![]() |
6.2 | 214 | To change the parameters of the main contactor, select the menu "Cells → Main contactor": |
215 | |||
![]() |
17.2 | 216 | [[image:1739958553206-813.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="179" width="410"]] |
![]() |
6.3 | 217 | |
218 | In this section: | ||
219 | |||
220 | * Enable – a flag to enable the main contactor control; | ||
![]() |
18.1 | 221 | * Algorithm – main contactor control algorithm: |
222 | ** Always on – contactor is always closed; | ||
223 | ** Automatic – contactor closes by internal charge and discharge algorithms; | ||
224 | ** On demand – contactor is closed by an external request; | ||
![]() |
6.3 | 225 | * Delay before opening the contactor – a time which is used to detect conditions for opening the contactor, second; |
226 | * Keep the contactor open until the device is reset – a flag for keeping the main contactor opened until the system be reset. | ||
![]() |
7.2 | 227 | |
![]() |
11.1 | 228 | === Power down control === |
![]() |
7.2 | 229 | |
230 | The BMS Main 2.x can command the BMS Power Control board to shut down the battery system if the battery voltage is low or the battery is idle for a long time. The BMS Main 2.x interacts with the BMS Power Control using the “Power down request” and the “Acknowledgement of power down” discrete signals. | ||
231 | |||
232 | Shutting down the battery system is performed according to the following conditions: | ||
233 | |||
234 | * the battery voltage is below the minimum level; | ||
235 | * the “Charger connected” signal is cleared for 60 seconds. | ||
236 | |||
237 | The BMS Main 2.x also shuts down the battery if it stays in the “Charging OFF”, “Discharging OFF”, “Relaxed (after charging)” or “Relaxed (after discharging)” for the set time. | ||
238 | |||
239 | To change the parameters of the power down control, select the menu "Cells → Power down control": | ||
240 | |||
![]() |
10.1 | 241 | [[image:1732211675123-235.png||data-xwiki-image-style-alignment="center" data-xwiki-image-style-border="true" height="198" width="402"]] |
![]() |
7.5 | 242 | |
![]() |
8.1 | 243 | In this section: |
244 | |||
245 | * Enable – a flag to enable the power down control; | ||
246 | * Minimum voltage – a minimum voltage level of the battery below which the BMS commands to shut down the battery, V; | ||
247 | * Idle time – a time of battery inactivity after which the battery is shut down, second; | ||
248 | * Wait the "Power up/down request" signal is cleared (on startup) – a flag to enable delay for clearing the “Power up/down request” signal while starting the BMS. |