foxBMS
1.1.0
The foxBMS Battery Management System API Documentation
pana_ncr18650bd.h
Go to the documentation of this file.
1
/**
2
*
3
* @copyright © 2010 - 2021, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
4
* All rights reserved.
5
*
6
* SPDX-License-Identifier: BSD-3-Clause
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are met:
10
*
11
* 1. Redistributions of source code must retain the above copyright notice, this
12
* list of conditions and the following disclaimer.
13
*
14
* 2. Redistributions in binary form must reproduce the above copyright notice,
15
* this list of conditions and the following disclaimer in the documentation
16
* and/or other materials provided with the distribution.
17
*
18
* 3. Neither the name of the copyright holder nor the names of its
19
* contributors may be used to endorse or promote products derived from
20
* this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*
33
* We kindly request you to use one or more of the following phrases to refer to
34
* foxBMS in your hardware, software, documentation or advertising materials:
35
*
36
* - ″This product uses parts of foxBMS®″
37
* - ″This product includes parts of foxBMS®″
38
* - ″This product is derived from foxBMS®″
39
*
40
*/
41
42
/**
43
* @file pana_ncr18650bd.h
44
* @author foxBMS Team
45
* @date 2018-10-02 (date of creation)
46
* @updated 2020-12-09 (date of last update)
47
* @ingroup BATTERY_CELL_CONF
48
* @prefix BC
49
*
50
* @brief Configuration of the battery cell (e.g., minimum and maximum cell voltage)
51
*
52
* This files contains basic macros of the battery cell in order to derive needed inputs
53
* in other parts of the software. These macros are all depended on the hardware.
54
*
55
*/
56
57
#ifndef FOXBMS__PANA_NCR18650BD_H_
58
#define FOXBMS__PANA_NCR18650BD_H_
59
60
/*========== Includes =======================================================*/
61
#include "
general.h
"
62
63
/*========== Macros and Definitions =========================================*/
64
/**
65
* @ingroup CONFIG_BATTERY_CELL
66
* Maximum temperature limit during discharge.
67
* When maximum safety limit (MSL) is violated, error state is requested and
68
* contactors will open. When recommended safety limit (RSL) or maximum
69
* operating limit (MOL) is violated, the respective flag will be set.
70
* @ptype int
71
* @unit deci °C
72
* @{
73
*/
74
#define BC_TEMPERATURE_MAX_DISCHARGE_MSL_ddegC (600)
75
#define BC_TEMPERATURE_MAX_DISCHARGE_RSL_ddegC (550)
76
#define BC_TEMPERATURE_MAX_DISCHARGE_MOL_ddegC (500)
77
/**@}*/
78
79
/**
80
* @ingroup CONFIG_BATTERY_CELL
81
* Minimum temperature limit during discharge.
82
* When maximum safety limit (MSL) is violated, error state is requested and
83
* contactors will open. When recommended safety limit (RSL) or maximum
84
* operating limit (MOL) is violated, the respective flag will be set.
85
* @ptype int
86
* @unit deci °C
87
* @{
88
*/
89
#define BC_TEMPERATURE_MIN_DISCHARGE_MSL_ddegC (-200)
90
#define BC_TEMPERATURE_MIN_DISCHARGE_RSL_ddegC (-180)
91
#define BC_TEMPERATURE_MIN_DISCHARGE_MOL_ddegC (-150)
92
/**@}*/
93
94
/**
95
* @ingroup CONFIG_BATTERY_CELL
96
* Maximum temperature limit during charge.
97
* When maximum safety limit (MSL) is violated, error state is requested and
98
* contactors will open. When recommended safety limit (RSL) or maximum
99
* operating limit (MOL) is violated, the respective flag will be set.
100
* @ptype int
101
* @unit deci °C
102
* @{
103
*/
104
#define BC_TEMPERATURE_MAX_CHARGE_MSL_ddegC (450)
105
#define BC_TEMPERATURE_MAX_CHARGE_RSL_ddegC (400)
106
#define BC_TEMPERATURE_MAX_CHARGE_MOL_ddegC (350)
107
/**@}*/
108
109
/**
110
* @ingroup CONFIG_BATTERY_CELL
111
* Minimum temperature limit during discharge.
112
* When maximum safety limit (MSL) is violated, error state is requested and
113
* contactors will open. When recommended safety limit (RSL) or maximum
114
* operating limit (MOL) is violated, the respective flag will be set.
115
* @ptype int
116
* @unit deci °C
117
* @{
118
*/
119
#define BC_TEMPERATURE_MIN_CHARGE_MSL_ddegC (100)
120
#define BC_TEMPERATURE_MIN_CHARGE_RSL_ddegC (120)
121
#define BC_TEMPERATURE_MIN_CHARGE_MOL_ddegC (150)
122
/**@}*/
123
124
/**
125
* @ingroup CONFIG_BATTERY_CELL
126
* Maximum cell voltage limit.
127
* When maximum safety limit (MSL) is violated, error state is requested and
128
* contactors will open. When recommended safety limit (RSL) or maximum
129
* operating limit (MOL) is violated, the respective flag will be set.
130
* @ptype int
131
* @unit mV
132
* @{
133
*/
134
#define BC_VOLTAGE_MAX_MSL_mV (4200u)
135
#define BC_VOLTAGE_MAX_RSL_mV (4150u)
136
#define BC_VOLTAGE_MAX_MOL_mV (4100u)
137
/**@}*/
138
139
/**
140
* @ingroup CONFIG_BATTERY_CELL
141
* nominal cell voltage according to datasheet
142
* @ptype int
143
* @unit mV
144
*/
145
#define BC_VOLTAGE_NOMINAL_mV (3600u)
146
/**
147
* @ingroup CONFIG_BATTERY_CELL
148
* Minimum cell voltage limit.
149
* When maximum safety limit (MSL) is violated, error state is requested and
150
* contactors will open. When recommended safety limit (RSL) or maximum
151
* operating limit (MOL) is violated, the respective flag will be set.
152
* @ptype int
153
* @unit mV
154
* @{
155
*/
156
#define BC_VOLTAGE_MIN_MSL_mV (2500u)
157
#define BC_VOLTAGE_MIN_RSL_mV (2550u)
158
#define BC_VOLTAGE_MIN_MOL_mV (2600u)
159
/**@}*/
160
161
/**
162
* @ingroup CONFIG_BATTERY_CELL
163
* Deep-discharge cell voltage limit.
164
* If this voltage limit is violated, the cell is faulty. The BMS won't allow
165
* a closing of the contactors until this cell is replaced. a replacement of
166
* the cell is confirmed by sending the respective CAN debug message
167
* @ptype int
168
* @unit mV
169
*/
170
#define BC_VOLTAGE_DEEP_DISCHARGE_mV (BC_VOLTAGE_MIN_MSL_mV - 100u)
171
172
/**
173
* @ingroup CONFIG_BATTERY_CELL
174
* Maximum discharge current limit.
175
* When maximum safety limit (MSL) is violated, error state is requested and
176
* contactors will open. When recommended safety limit (RSL) or maximum
177
* operating limit (MOL) is violated, the respective flag will be set.
178
* @ptype int
179
* @unit mA
180
* @{
181
*/
182
#define BC_CURRENT_MAX_DISCHARGE_MSL_mA (550000u)
/*!< 6 modules (7s20p) in series, 3 strings in parallel */
183
#define BC_CURRENT_MAX_DISCHARGE_RSL_mA (525000u)
/*!< current reduced by 50 A because of imbalances between */
184
#define BC_CURRENT_MAX_DISCHARGE_MOL_mA (500000u)
/*!< the different strings */
185
/**@}*/
186
187
/**
188
* @ingroup CONFIG_BATTERY_CELL
189
* Maximum charge current limit.
190
* When maximum safety limit (MSL) is violated, error state is requested and
191
* contactors will open. When recommended safety limit (RSL) or maximum
192
* operating limit (MOL) is violated, the respective flag will be set.
193
* @ptype int
194
* @unit mA
195
* @{
196
*/
197
#define BC_CURRENT_MAX_CHARGE_MSL_mA (50000u)
/*!< 6 modules (7s20p) in series, 3 strings in parallel */
198
#define BC_CURRENT_MAX_CHARGE_RSL_mA (47500u)
/*!< current reduced by 4,54 A because of imbalances between */
199
#define BC_CURRENT_MAX_CHARGE_MOL_mA (45000u)
/*!< the different strings */
200
/**@}*/
201
202
/**
203
* @brief the cell capacity used for SOC calculation, in this case Ah counting
204
* @ptype int
205
* @unit mAh
206
*/
207
#define BC_CAPACITY_mAh (3180u)
208
209
#if BC_VOLTAGE_MIN_MSL_mV < BC_VOLTAGE_DEEP_DISCHARGE_mV
210
#error "Configuration error! - Maximum safety limit for under voltage can't be lower than deep-discharge limit"
211
#endif
212
213
/*========== Extern Constant and Variable Declarations ======================*/
214
215
/*========== Extern Function Prototypes =====================================*/
216
217
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
218
219
#endif
/* FOXBMS__PANA_NCR18650BD_H_ */
general.h
General macros and definitions for the whole platform.
src
opt
cells
config
pana_ncr18650bd.h
Generated by
1.9.1