Midnight Sun Firmware
Loading...
Searching...
No Matches
rear_controller_safety_limits.h
1#pragma once
2
3/************************************************************************************************
4 * @file rear_controller_safety_limits.h
5 *
6 * @brief Safety-critical hard limits for Rear Controller
7 *
8 * @date 2025-05-28
9 * @author Midnight Sun Team
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15
16/* Intra-component Headers */
17
24/************************************************************************************************
25 * Pack Current Limits [mA]
26 ************************************************************************************************/
27#define PACK_MAX_DISCHARGE_CURRENT_A -80.0
28#define PACK_MAX_CHARGE_CURRENT_A 80.0
29#define PACK_SHORT_CIRCUIT_CURRENT_A 60000
31/************************************************************************************************
32 * Voltage Limits [mV]
33 ************************************************************************************************/
34#define CELL_OVERVOLTAGE_LIMIT_mV 4200
35#define CELL_UNDERVOLTAGE_LIMIT_mV 2500
36#define CELL_UNBALANCED_LIMIT_mV 500
37#define PACK_OVERVOLTAGE_LIMIT_mV 151200
38#define PACK_UNDERVOLTAGE_LIMIT_mV 90000
39
40/************************************************************************************************
41 * Temperature Limits [°C]
42 ************************************************************************************************/
43#define CELL_OVERTEMP_DISCHARGE_LIMIT_C 60
44#define CELL_OVERTEMP_CHARGE_LIMIT_C 60
45#define CELL_UNDERTEMP_CHARGE_LIMIT_C 0
47/************************************************************************************************
48 * Fault Response Times [ms]
49 ************************************************************************************************/
50#define SHORT_CIRCUIT_RESPONSE_MS 1U
51#define OVERCURRENT_RESPONSE_LOOPS 2
52#define OVERTEMP_RESPONSE_MS 500U
53#define UNDERVOLTAGE_RESPONSE_MS 1000U
54#define OVERVOLTAGE_RESPONSE_MS 1000U