Files
shipheart-appli/sources/batteries.h
T

60 lines
3.1 KiB
C

/**********************************************************************************************************************************************************************************
Fichier BATTERIES.H
Contient tous les define liés aux BATTERIES
**********************************************************************************************************************************************************************************/
// Maximums :
#define MAX_NOMBRE_BATTERIES 12
#define MAX_NOMBRE_POINTS_TENSION_SOC_BATTERIE 100
#define MAX_NOMBRE_POINTS_TEMPERATURE_RESISTANCE_INTERNE_BATTERIE 20
#define MAX_NOMBRE_ENTREES_PAR_BATTERIE 1
#define MAX_NOMBRE_VARIABLES_BATTERIES 10
// Tempos :
#define BATTERIES_TEMPO_INIT 10 // En x 100ms
#define BATTERIES_PERIODE_MESURES 3 // En x 100ms
// Mesures :
#define BATTERIES_HYSTERESIS_CHARGE_NULLE 1.0 // En V. Permet d'éviter que la coupure des charges au moment du passage à CHARGE_NULLE ne redéclenche le mode NORMAL par juste remontée de la tension batterie. NB : ce cas ne se présente que si cpurant_diff reste négatif (s'il passe positif, on repassera par le mode NORMAL quoi qu'il arrive)
#define BATTERIES_NTC_TEMPERATURE_ERREUR -50 // Valeur provenant de NTC_TEMPERATURE_ERREUR dans le soft des ShipBS1224
#define BATTERIES_DELTA_TENSION_PLEINE_CHARGE_AUTO 0.2 // En V. A chaque passage à Pleine Charge, la 'tension_pleine_charge' est automatiquement ajustée à 'tension_a_vide' en cours MOINS cette valeur.
#define BATTERIES_SEUIL_MINI_SOH 1.00 // En %. Attention, doit toujours être (STRICTEMENT) > 0 car sinon la capacité réelle sera nulle ou négative et plantera le calcul.
#define BATTERIES_SEUIL_SOC_BAS_NOMBRE_CYCLES 60 // En %. Défini la valeur en-dessous de laquelle le compteur 'Nombre_cycles' est incrémenté (NB : il faut ensuite repasser par un SOC=100% avant de compter un nouveau cycle)
// Variables de la batterie :
#define BATTERIE_VARIABLE_TEMPERATURE 0
#define BATTERIE_VARIABLE_TENSION 1
#define BATTERIE_VARIABLE_COURANT_DIFFERENTIEL 2
#define BATTERIE_VARIABLE_COURANT_CHARGE 3
#define BATTERIE_VARIABLE_COURANT_DECHARGE 4
#define BATTERIE_VARIABLE_SOH 5
#define BATTERIE_VARIABLE_SOC 6
#define BATTERIE_VARIABLE_AUTONOMIE 7
#define BATTERIE_VARIABLE_PUISSANCE 8
#define BATTERIE_VARIABLE_ENERGIE 9
// NB : ces valeurs doivent rester strictement inférieures à MAX_NOMBRE_VARIABLES_BATTERIES
// Commandes de la batterie :
#define BATTERIE_COMMMANDE_FORCAGE_PLEINE_CHARGE 1
#define BATTERIE_COMMMANDE_RESET_SOH 2
#define BATTERIE_COMMMANDE_RESET_COMPTEURS 3
// Etats du séquenceur d'une batterie :
#define ETAT_SEQUENCEUR_BATTERIE_NORMAL 0
#define ETAT_SEQUENCEUR_BATTERIE_ATTENTE_CONFIRMATION_CHARGE_NULLE 1
#define ETAT_SEQUENCEUR_BATTERIE_CHARGE_NULLE 2
#define ETAT_SEQUENCEUR_BATTERIE_ATTENTE_CONFIRMATION_PLEINE_CHARGE 10
#define ETAT_SEQUENCEUR_BATTERIE_PLEINE_CHARGE 11
// Etats du séquenceur Batteries :
#define ETAT_SEQUENCEUR_BATTERIES_INIT 0
#define ETAT_SEQUENCEUR_BATTERIES_REPOS 1