Avalon Firmware
 
Loading...
Searching...
No Matches
supercap_def.h File Reference

Configuration constants for the supercapacitor power manager firmware. More...

Go to the source code of this file.

Macros

#define P_BATTERY_KP   3.85f
 Board ID must be defined externally via compiler or build system. Each board ID maps to a set of calibration constants (in adc_utils.hpp).
 
#define P_BATTERY_KI   0.048f
 Integral gain for battery power regulation.
 
#define P_BATTERY_KD   0.001f
 Derivative gain for battery power regulation.
 
#define P_BATTERY_MIN_OUTPUT   -400.0f
 Minimum output for battery power PID.
 
#define P_CHASSIS_MAX_OUTPUT   2.0f
 Max output for chassis PID (currently unused)
 
#define P_CHASSIS_MIN_OUTPUT   -2.0f
 Min output for chassis PID (currently unused)
 
#define I_SUPERCAP_KP   0.0207f
 
#define I_SUPERCAP_KI   0.00022f
 
#define I_SUPERCAP_KD   0.0f
 
#define I_SUPERCAP_INTEG_MAX   1.621f
 
#define I_SUPERCAP_INTEG_MIN   0.127f
 
#define I_SUPERCAP_MAX_OUTPUT   1.621f
 
#define I_SUPERCAP_MIN_OUTPUT   0.127f
 
#define I_SUPERCAP_INIT_VAL   0.14f
 Initial value for I-supercap PID state.
 
#define V_SUPERCAPMAX_KP   0.001f
 
#define V_SUPERCAPMAX_KI   0.0025f
 
#define V_SUPERCAPMAX_KD   0.001f
 
#define V_SUPERCAPMAX_INTEG_MAX   1.6f
 
#define V_SUPERCAPMAX_INTEG_MIN   1.005f
 
#define V_SUPERCAPMAX_MAX_OUTPUT   1.6f
 
#define V_SUPERCAPMAX_MIN_OUTPUT   1.005f
 
#define V_SUPERCAPMAX_REF   26.0f
 
#define V_SUPERCAPMAX_INIT_VAL   1.4f
 
#define V_SUPERCAPMIN_KP   0.001f
 
#define V_SUPERCAPMIN_KI   0.0025f
 
#define V_SUPERCAPMIN_KD   0.0f
 
#define V_SUPERCAPMIN_INTEG_MAX   0.179f
 
#define V_SUPERCAPMIN_INTEG_MIN   0.127f
 
#define V_SUPERCAPMIN_MAX_OUTPUT   0.179f
 
#define V_SUPERCAPMIN_MIN_OUTPUT   0.127f
 
#define V_SUPERCAPMIN_REF   2.7f
 
#define V_SUPERCAPMIN_INIT_VAL   0.1f
 
#define SUPERCAP_CURRENT_MAX   18.0f
 Absolute max current for cap control.
 
#define SUPERCAP_CURRENT_MIN   -18.0f
 
#define SUPERCAP_CURRENT_SAFETY_MAX   20.5f
 Current limit before triggering safety shutdown.
 
#define ESR_VALUE   0.17f
 Equivalent series resistance of the supercap bank.
 
#define SUPERCAP_MAX_VOLTAGE   25.5f
 
#define SUPERCAP_MIN_VOLTAGE   3.00f
 
#define MIN_PMM_VOLTAGE   18.0f
 Minimum voltage allowed from PMM (input rail)
 
#define MAX_PMM_VOLTAGE   28.0f
 Maximum voltage allowed from PMM.
 
#define MAX_CAP_CURRENT   18.0f
 Max current used in feedforward model.
 
#define TEMP_PARAM_B   3380.0f
 
#define TEMP_FIX_RES   10000.0f
 Fixed resistor in the voltage divider.
 
#define TEMP_NTC_RES   10000.0f
 Nominal resistance of the NTC.
 
#define TEMP_CELSIUS_CONST   273.15f
 
#define TEMP_AMBIANT   298.15f
 
#define MIN_BAT_VOLTAGE   20.97f
 Min voltage to consider battery healthy.
 

Detailed Description

Configuration constants for the supercapacitor power manager firmware.

This file defines all global parameters for PID tuning, safety limits, thermal calculations, and voltage/current thresholds used throughout the supercapacitor controller logic.

Created on: Jul 5, 2024 Author: Yassine Bakkali

Macro Definition Documentation

◆ ESR_VALUE

#define ESR_VALUE   0.17f

Equivalent series resistance of the supercap bank.

◆ I_SUPERCAP_INIT_VAL

#define I_SUPERCAP_INIT_VAL   0.14f

Initial value for I-supercap PID state.

◆ I_SUPERCAP_INTEG_MAX

#define I_SUPERCAP_INTEG_MAX   1.621f

◆ I_SUPERCAP_INTEG_MIN

#define I_SUPERCAP_INTEG_MIN   0.127f

◆ I_SUPERCAP_KD

#define I_SUPERCAP_KD   0.0f

◆ I_SUPERCAP_KI

#define I_SUPERCAP_KI   0.00022f

◆ I_SUPERCAP_KP

#define I_SUPERCAP_KP   0.0207f

◆ I_SUPERCAP_MAX_OUTPUT

#define I_SUPERCAP_MAX_OUTPUT   1.621f

◆ I_SUPERCAP_MIN_OUTPUT

#define I_SUPERCAP_MIN_OUTPUT   0.127f

◆ MAX_CAP_CURRENT

#define MAX_CAP_CURRENT   18.0f

Max current used in feedforward model.

◆ MAX_PMM_VOLTAGE

#define MAX_PMM_VOLTAGE   28.0f

Maximum voltage allowed from PMM.

◆ MIN_BAT_VOLTAGE

#define MIN_BAT_VOLTAGE   20.97f

Min voltage to consider battery healthy.

◆ MIN_PMM_VOLTAGE

#define MIN_PMM_VOLTAGE   18.0f

Minimum voltage allowed from PMM (input rail)

◆ P_BATTERY_KD

#define P_BATTERY_KD   0.001f

Derivative gain for battery power regulation.

◆ P_BATTERY_KI

#define P_BATTERY_KI   0.048f

Integral gain for battery power regulation.

◆ P_BATTERY_KP

#define P_BATTERY_KP   3.85f

Board ID must be defined externally via compiler or build system. Each board ID maps to a set of calibration constants (in adc_utils.hpp).

Enable or disable calibration mode. When enabled, loop update is skipped and manual calibration logic may be run. Proportional gain for battery power regulation

◆ P_BATTERY_MIN_OUTPUT

#define P_BATTERY_MIN_OUTPUT   -400.0f

Minimum output for battery power PID.

◆ P_CHASSIS_MAX_OUTPUT

#define P_CHASSIS_MAX_OUTPUT   2.0f

Max output for chassis PID (currently unused)

◆ P_CHASSIS_MIN_OUTPUT

#define P_CHASSIS_MIN_OUTPUT   -2.0f

Min output for chassis PID (currently unused)

◆ SUPERCAP_CURRENT_MAX

#define SUPERCAP_CURRENT_MAX   18.0f

Absolute max current for cap control.

◆ SUPERCAP_CURRENT_MIN

#define SUPERCAP_CURRENT_MIN   -18.0f

◆ SUPERCAP_CURRENT_SAFETY_MAX

#define SUPERCAP_CURRENT_SAFETY_MAX   20.5f

Current limit before triggering safety shutdown.

◆ SUPERCAP_MAX_VOLTAGE

#define SUPERCAP_MAX_VOLTAGE   25.5f

◆ SUPERCAP_MIN_VOLTAGE

#define SUPERCAP_MIN_VOLTAGE   3.00f

◆ TEMP_AMBIANT

#define TEMP_AMBIANT   298.15f

◆ TEMP_CELSIUS_CONST

#define TEMP_CELSIUS_CONST   273.15f

◆ TEMP_FIX_RES

#define TEMP_FIX_RES   10000.0f

Fixed resistor in the voltage divider.

◆ TEMP_NTC_RES

#define TEMP_NTC_RES   10000.0f

Nominal resistance of the NTC.

◆ TEMP_PARAM_B

#define TEMP_PARAM_B   3380.0f

◆ V_SUPERCAPMAX_INIT_VAL

#define V_SUPERCAPMAX_INIT_VAL   1.4f

◆ V_SUPERCAPMAX_INTEG_MAX

#define V_SUPERCAPMAX_INTEG_MAX   1.6f

◆ V_SUPERCAPMAX_INTEG_MIN

#define V_SUPERCAPMAX_INTEG_MIN   1.005f

◆ V_SUPERCAPMAX_KD

#define V_SUPERCAPMAX_KD   0.001f

◆ V_SUPERCAPMAX_KI

#define V_SUPERCAPMAX_KI   0.0025f

◆ V_SUPERCAPMAX_KP

#define V_SUPERCAPMAX_KP   0.001f

◆ V_SUPERCAPMAX_MAX_OUTPUT

#define V_SUPERCAPMAX_MAX_OUTPUT   1.6f

◆ V_SUPERCAPMAX_MIN_OUTPUT

#define V_SUPERCAPMAX_MIN_OUTPUT   1.005f

◆ V_SUPERCAPMAX_REF

#define V_SUPERCAPMAX_REF   26.0f

◆ V_SUPERCAPMIN_INIT_VAL

#define V_SUPERCAPMIN_INIT_VAL   0.1f

◆ V_SUPERCAPMIN_INTEG_MAX

#define V_SUPERCAPMIN_INTEG_MAX   0.179f

◆ V_SUPERCAPMIN_INTEG_MIN

#define V_SUPERCAPMIN_INTEG_MIN   0.127f

◆ V_SUPERCAPMIN_KD

#define V_SUPERCAPMIN_KD   0.0f

◆ V_SUPERCAPMIN_KI

#define V_SUPERCAPMIN_KI   0.0025f

◆ V_SUPERCAPMIN_KP

#define V_SUPERCAPMIN_KP   0.001f

◆ V_SUPERCAPMIN_MAX_OUTPUT

#define V_SUPERCAPMIN_MAX_OUTPUT   0.179f

◆ V_SUPERCAPMIN_MIN_OUTPUT

#define V_SUPERCAPMIN_MIN_OUTPUT   0.127f

◆ V_SUPERCAPMIN_REF

#define V_SUPERCAPMIN_REF   2.7f