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