1 /* 2 * brazilbattery.h 3 * 4 * Created on: Jun 10, 2016 5 * Author: wagner 6 */ 7 8 #ifndef SRC_DRIVERS_BRAZIL_BRAZILBATTERY_H_ 9 #define SRC_DRIVERS_BRAZIL_BRAZILBATTERY_H_ 10 11 class BrazilBattery 12 { 13 public: 14 BrazilBattery(); 15 virtual ~BrazilBattery(); 16 17 void setBattery(double voltage,double current,double current_expander); 18 double getBatteryVoltageNom(); 19 double getBatteryCurrentNom(); 20 double getBatteryCurrentC1Nom(); 21 double getBatteryPowerC1Nom(); 22 23 double calcBatteryLoadC1(double act_power); 24 double calcVoltageMax(double battery_load); 25 double calcVoltageMin(double battery_load); 26 double calcTimeLeft(double battery_load, double voltage); 27 double calcTimeLeftPeukert(double battery_load); 28 double calcLevel(double battery_load, double voltage); 29 30 31 protected: 32 double calcTimeLeftC1(double voltage); 33 34 static const double VOLTAGE_12V_REF; 35 static const double VOLTAGE_12V_C1_MIN; 36 static const double VOLTAGE_12V_C1_MAX; 37 static const double LOAD_MIN; 38 static const double LOAD_MAX; 39 static const double PEUKERT_POW; 40 static const double PEUKERT_MUL; 41 static const double TIMELEFT_POW; 42 static const double TIMELEFT_MUL; 43 44 static const double CURRENT_RATE_C1_C20; 45 46 static const int COEF_1207_C1_SIZE; 47 static const int COEF_1207_VI_SIZE; 48 static const int COEF_1207_VF_SIZE; 49 50 static const double COEF_1207_C1[]; 51 static const double COEF_1207_VI[]; 52 static const double COEF_1207_VF[]; 53 54 double battery_voltage_nom; 55 double battery_current_nom; 56 double battery_current_expander_nom; 57 private: 58 59 }; 60 61 #endif /* SRC_DRIVERS_BRAZIL_BRAZILBATTERY_H_ */ 62