foxBMS
1.0.0
The foxBMS Battery Management System API Documentation
epcos_b57861s0103f045.h
Go to the documentation of this file.
1
/**
2
*
3
* @copyright © 2010 - 2021, Fraunhofer-Gesellschaft zur Foerderung der
4
* angewandten Forschung e.V. All rights reserved.
5
*
6
* BSD 3-Clause License
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions are met:
9
* 1. Redistributions of source code must retain the above copyright notice,
10
* this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* 3. Neither the name of the copyright holder nor the names of its
15
* contributors may be used to endorse or promote products derived from
16
* this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
29
*
30
* We kindly request you to use one or more of the following phrases to refer
31
* to foxBMS in your hardware, software, documentation or advertising
32
* materials:
33
*
34
* ″This product uses parts of foxBMS®″
35
*
36
* ″This product includes parts of foxBMS®″
37
*
38
* ″This product is derived from foxBMS®″
39
*
40
*/
41
42
/**
43
* @file epcos_b57861s0103f045.h
44
* @author foxBMS Team
45
* @date 2018-10-30 (date of creation)
46
* @updated 2021-03-24 (date of last update)
47
* @ingroup TEMPERATURE_SENSORS
48
* @prefix TS
49
*
50
* @brief Resistive divider used for measuring temperature
51
*
52
* V_supply
53
* --.--
54
* |
55
* +-.-+
56
* | |
57
* | | R_1
58
* | |
59
* +-.-+
60
* |
61
* .--- V_adc
62
* |
63
* +-.-+
64
* | |
65
* | | R_2
66
* | |
67
* +-.-+
68
* |
69
* --.--
70
* GND
71
*
72
*/
73
74
#ifndef FOXBMS__EPCOS_B57861S0103F045_H_
75
#define FOXBMS__EPCOS_B57861S0103F045_H_
76
77
/*========== Includes =======================================================*/
78
#include "
general.h
"
79
80
/*========== Macros and Definitions =========================================*/
81
/**
82
* Position of the NTC in the voltage resistor
83
* true: NTC is positioned above the voltage tap for the ADC voltage.
84
* This equals resistor R_1 in the above circuit diagram
85
*
86
* false: NTC is positioned below the voltage tap for the ADC voltage.
87
* This equals resistor R_2 in the above circuit diagram
88
*/
89
#define TS_EPCOS_B57861S0103F045_POSITION_IN_RESISTOR_DIVIDER_IS_R_1 (false)
90
91
/** Resistor divider supply voltage in volt */
92
#define TS_EPCOS_B57861S0103F045_RESISTOR_DIVIDER_SUPPLY_VOLTAGE_V (3.0f)
93
94
/**
95
* Resistance value of the other resistor (not the NTC) in the resistor
96
* divider in Ohm.
97
*/
98
#define TS_EPCOS_B57861S0103F045_RESISTOR_DIVIDER_RESISTANCE_R_1_R_2_Ohm (10000.0f)
99
100
/*========== Extern Constant and Variable Declarations ======================*/
101
/**
102
* @brief returns temperature based on measured ADC voltage
103
* @param adcVoltage_mV voltage in mV
104
* @return corresponding temperature in deci °C or INT16_MAX/INT16_MIN if
105
* NTC is shorted or got disconnected. The caller of this functions
106
* needs to check for these return values to prevent invalid data.
107
*/
108
extern
int16_t
TS_Epc01GetTemperatureFromLut
(uint16_t adcVoltage_mV);
109
110
/**
111
* @brief returns temperature based on measured ADC voltage
112
* @param adcVoltage_mV voltage in mV
113
* @return corresponding temperature in deci °C
114
*/
115
extern
int16_t
TS_Epc01GetTemperatureFromPolynomial
(uint16_t adcVoltage_mV);
116
117
/*========== Extern Function Prototypes =====================================*/
118
119
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
120
121
#endif
/* FOXBMS__EPCOS_B57861S0103F045_H_ */
general.h
TODO.
TS_Epc01GetTemperatureFromLut
int16_t TS_Epc01GetTemperatureFromLut(uint16_t adcVoltage_mV)
returns temperature based on measured ADC voltage
Definition:
epcos_b57861s0103f045.c:146
TS_Epc01GetTemperatureFromPolynomial
int16_t TS_Epc01GetTemperatureFromPolynomial(uint16_t adcVoltage_mV)
returns temperature based on measured ADC voltage
Definition:
epcos_b57861s0103f045.c:196
src
app
driver
ts
epcos
b57861s0103f045
epcos_b57861s0103f045.h
Generated by
1.8.20