foxBMS
1.6.0
The foxBMS Battery Management System API Documentation
panasonic_ncr18650bd.h
Go to the documentation of this file.
1
/**
2
*
3
* @copyright © 2010 - 2023, 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 panasonic_ncr18650bd.h
44
* @author foxBMS Team
45
* @date 2018-10-02 (date of creation)
46
* @updated 2023-10-12 (date of last update)
47
* @version v1.6.0
48
* @ingroup BATTERY_CELL_CONFIGURATION
49
* @prefix BC
50
*
51
* @brief Configuration of the battery cell (e.g., minimum and maximum cell voltage)
52
*
53
* This files contains basic macros of the battery cell in order to derive needed inputs
54
* in other parts of the software. These macros are all depended on the hardware.
55
*
56
*/
57
58
#ifndef FOXBMS__PANASONIC_NCR18650BD_H_
59
#define FOXBMS__PANASONIC_NCR18650BD_H_
60
61
/*========== Includes =======================================================*/
62
63
#include <stdint.h>
64
65
/*========== Macros and Definitions =========================================*/
66
/**
67
* Maximum temperature limit during discharge.
68
* When maximum safety limit (MSL) is violated, error state is requested and
69
* contactors will open. When recommended safety limit (RSL) or maximum
70
* operating limit (MOL) is violated, the respective flag will be set.
71
* @ptype int
72
* @unit deci °C
73
* @{
74
*/
75
#define BC_TEMPERATURE_MAX_DISCHARGE_MSL_ddegC (600)
76
#define BC_TEMPERATURE_MAX_DISCHARGE_RSL_ddegC (550)
77
#define BC_TEMPERATURE_MAX_DISCHARGE_MOL_ddegC (500)
78
/**@}*/
79
80
/**
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
* Maximum temperature limit during charge.
96
* When maximum safety limit (MSL) is violated, error state is requested and
97
* contactors will open. When recommended safety limit (RSL) or maximum
98
* operating limit (MOL) is violated, the respective flag will be set.
99
* @ptype int
100
* @unit deci °C
101
* @{
102
*/
103
#define BC_TEMPERATURE_MAX_CHARGE_MSL_ddegC (450)
104
#define BC_TEMPERATURE_MAX_CHARGE_RSL_ddegC (400)
105
#define BC_TEMPERATURE_MAX_CHARGE_MOL_ddegC (350)
106
/**@}*/
107
108
/**
109
* Minimum temperature limit during discharge.
110
* When maximum safety limit (MSL) is violated, error state is requested and
111
* contactors will open. When recommended safety limit (RSL) or maximum
112
* operating limit (MOL) is violated, the respective flag will be set.
113
* @ptype int
114
* @unit deci °C
115
* @{
116
*/
117
#define BC_TEMPERATURE_MIN_CHARGE_MSL_ddegC (100)
118
#define BC_TEMPERATURE_MIN_CHARGE_RSL_ddegC (120)
119
#define BC_TEMPERATURE_MIN_CHARGE_MOL_ddegC (150)
120
/**@}*/
121
122
/**
123
* Maximum cell voltage limit.
124
* When maximum safety limit (MSL) is violated, error state is requested and
125
* contactors will open. When recommended safety limit (RSL) or maximum
126
* operating limit (MOL) is violated, the respective flag will be set.
127
* @ptype int
128
* @unit mV
129
* @{
130
*/
131
#define BC_VOLTAGE_MAX_MSL_mV (4200u)
132
#define BC_VOLTAGE_MAX_RSL_mV (4150u)
133
#define BC_VOLTAGE_MAX_MOL_mV (4100u)
134
/**@}*/
135
136
/**
137
* nominal cell voltage according to data sheet
138
* @ptype int
139
* @unit mV
140
*/
141
#define BC_VOLTAGE_NOMINAL_mV (3600u)
142
/**
143
* Minimum cell voltage limit.
144
* When maximum safety limit (MSL) is violated, error state is requested and
145
* contactors will open. When recommended safety limit (RSL) or maximum
146
* operating limit (MOL) is violated, the respective flag will be set.
147
* @ptype int
148
* @unit mV
149
* @{
150
*/
151
#define BC_VOLTAGE_MIN_MSL_mV (2500u)
152
#define BC_VOLTAGE_MIN_RSL_mV (2550u)
153
#define BC_VOLTAGE_MIN_MOL_mV (2600u)
154
/**@}*/
155
156
/**
157
* Deep-discharge cell voltage limit.
158
* If this voltage limit is violated, the cell is faulty. The BMS won't allow
159
* a closing of the contactors until this cell is replaced. a replacement of
160
* the cell is confirmed by sending the respective CAN debug message
161
* @ptype int
162
* @unit mV
163
*/
164
#define BC_VOLTAGE_DEEP_DISCHARGE_mV (BC_VOLTAGE_MIN_MSL_mV - 100u)
165
166
/**
167
* Maximum discharge current limit.
168
* When maximum safety limit (MSL) is violated, error state is requested and
169
* contactors will open. When recommended safety limit (RSL) or maximum
170
* operating limit (MOL) is violated, the respective flag will be set.
171
* @ptype int
172
* @unit mA
173
* @{
174
*/
175
#define BC_CURRENT_MAX_DISCHARGE_MSL_mA (550000u)
/*!< 6 modules (7s20p) in series, 3 strings in parallel */
176
#define BC_CURRENT_MAX_DISCHARGE_RSL_mA (525000u)
/*!< current reduced by 50 A because of imbalances between */
177
#define BC_CURRENT_MAX_DISCHARGE_MOL_mA (500000u)
/*!< the different strings */
178
/**@}*/
179
180
/**
181
* Maximum charge current limit.
182
* When maximum safety limit (MSL) is violated, error state is requested and
183
* contactors will open. When recommended safety limit (RSL) or maximum
184
* operating limit (MOL) is violated, the respective flag will be set.
185
* @ptype int
186
* @unit mA
187
* @{
188
*/
189
#define BC_CURRENT_MAX_CHARGE_MSL_mA (50000u)
/*!< 6 modules (7s20p) in series, 3 strings in parallel */
190
#define BC_CURRENT_MAX_CHARGE_RSL_mA (47500u)
/*!< current reduced by 4,54 A because of imbalances between */
191
#define BC_CURRENT_MAX_CHARGE_MOL_mA (45000u)
/*!< the different strings */
192
/**@}*/
193
194
/**
195
* @brief the cell capacity used for SOC calculation, in this case Ah counting
196
* @ptype int
197
* @unit mAh
198
*/
199
#define BC_CAPACITY_mAh (3180u)
200
201
#if BC_VOLTAGE_MIN_MSL_mV < BC_VOLTAGE_DEEP_DISCHARGE_mV
202
#error "Configuration error! - Maximum safety limit for under voltage can't be lower than deep-discharge limit"
203
#endif
204
205
/*========== Extern Constant and Variable Declarations ======================*/
206
207
/*========== Extern Function Prototypes =====================================*/
208
209
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
210
#ifdef UNITY_UNIT_TEST
211
#endif
212
213
#endif
/* FOXBMS__PANASONIC_NCR18650BD_H_ */
src
opt
cells
config
panasonic_ncr18650bd.h
Generated by
1.9.1