![]() |
Laelaps
2.3.5
RoadNarrows Robotics Small Outdoor Mobile Robot Project
|
Laelaps battery management and energy monitoring class implementation. More...
#include <sys/types.h>
#include <unistd.h>
#include <string>
#include "rnr/rnrconfig.h"
#include "rnr/log.h"
#include "Laelaps/laelaps.h"
#include "Laelaps/laeUtils.h"
#include "Laelaps/laeTune.h"
#include "Laelaps/laeMotor.h"
#include "Laelaps/laeDb.h"
#include "Laelaps/laeBatt.h"
Go to the source code of this file.
Classes | |
struct | LiIonCellSoCVEntry |
Lithium-Ion State of Charge - Cell Voltage table. More... | |
struct | LiIonCellCSoCEntry |
Specific Current - State of Charge/Battery Voltage table entry. More... | |
Functions | |
static double | linearInterp (double x, double x0, double x1, double y0, double y1) |
Linear interpolate. More... | |
static double | lookupSoC (double fV, LiIonCellSoCVEntry tbl[], size_t n) |
Lookup State of Charge, given the battery voltage. More... | |
Variables | |
static const double | OdroidXU3MinAmps = 1.0 |
static const double | OdroidXU3Volts = 1.8 |
static const double | OdroidXU4MinAmps = 1.0 |
static const double | OdroidXU4Volts = 1.8 |
static const double | RoboClaw2x30AAmps = 0.03 |
static const double | RoboClaw2x30AVolts = 5.0 |
static const double | Naze32Amps = 0.50 |
static const double | Naxe32Volts = 5.0 |
static const double | BattChargerAmps = 0.0 |
static const double | BattChargerVolts = 0.0 |
static const double | ArduinoAmps = 0.01 |
static const double | ArduinoVolts = 5.0 |
static const double | OtherAmps = 0.01 |
static const double | OtherVolts = 5.0 |
static LiIonCellSoCVEntry | LiIonCellSoCVTbl_0C [] |
SoC-V table for an 0C unloaded single cell. More... | |
static LiIonCellSoCVEntry | LiIonCellSoCVTbl_1C [] |
SoC-V table for an 1C single cell. More... | |
static LiIonCellSoCVEntry | LiIonCellSoCVTbl_2C [] |
SoC-V table for an 2C single cell. More... | |
static LiIonCellSoCVEntry | LiIonCellSoCVTbl_3C [] |
SoC-V table for an 3C single cell. More... | |
static LiIonCellCSoCEntry | LiIonCellSoCTbls [] |
C - SoC-V table of tables. More... | |
Laelaps battery management and energy monitoring class implementation.
A class instance runs under the control of the WatchDog thread.
Definition in file laeBatt.cxx.
|
static |
Linear interpolate.
x | X input in [x0, x1]. |
x0 | Lower domain value. |
x1 | Upper domain value. |
y0 | Lower range value. |
y1 | Upper range value. |
Definition at line 195 of file laeBatt.cxx.
Referenced by laelaps::LaeBattery::estimateBatteryStateOfCharge(), and lookupSoC().
|
static |
Lookup State of Charge, given the battery voltage.
Linear interpolation is performed as necessary.
fV | Input battery voltage. |
tbl | SoC - V table. |
n | Number of table entries. |
Definition at line 211 of file laeBatt.cxx.
References linearInterp(), and LiIonCellSoCVEntry::m_fSoC.
Referenced by laelaps::LaeBattery::estimateBatteryStateOfCharge().
|
static |
C - SoC-V table of tables.
Definition at line 176 of file laeBatt.cxx.
|
static |
SoC-V table for an 0C unloaded single cell.
Definition at line 136 of file laeBatt.cxx.
|
static |
SoC-V table for an 1C single cell.
Definition at line 146 of file laeBatt.cxx.
|
static |
SoC-V table for an 2C single cell.
Definition at line 156 of file laeBatt.cxx.
|
static |
SoC-V table for an 3C single cell.
Definition at line 166 of file laeBatt.cxx.