-
-
Notifications
You must be signed in to change notification settings - Fork 148
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* bugfixes in midpoint calculation * publish constants to dbus * black and flake8 * update documentation * Fixes to cell voltage, temp and version (#390) (cherry picked from commit 3b68ea6) * Automate release (#394) * automate release generation * make shell scripts +x * add yaml * rely on gh line ending conventions, simplify buildfiles.lst * add gitattributes * set file properties for run scripts to +x Co-authored-by: Philip Puetsch <[email protected]> (cherry picked from commit ce601fb) * configure limits as fractions * lint * cleanup * fixes * remove development logging Co-authored-by: Philip Puetsch <[email protected]> Co-authored-by: pchiquit <[email protected]>
- Loading branch information
1 parent
993b37f
commit ffdd8ec
Showing
4 changed files
with
292 additions
and
93 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
[DEFAULT] | ||
LINEAR_LIMITATION_ENABLE = False | ||
|
||
; battery Current limits | ||
MAX_BATTERY_CHARGE_CURRENT = 70.0 | ||
MAX_BATTERY_DISCHARGE_CURRENT = 90.0 | ||
|
||
; -------- Cell Voltage limitation --------- | ||
; Description: | ||
; Maximal charge / discharge current will be in-/decreased depending on min- and max-cell-voltages | ||
; Example: 18cells * 3.55V/cell = 63.9V max charge voltage. 18 * 2.7V = 48,6V min discharge voltage | ||
; ... but the (dis)charge current will be (in-/)decreased, if even ONE SINGLE BATTERY CELL reaches the limits | ||
|
||
; Charge current control management referring to cell-voltage enable (True/False). | ||
CCCM_CV_ENABLE = True | ||
; Discharge current control management referring to cell-voltage enable (True/False). | ||
DCCM_CV_ENABLE = True | ||
|
||
; Set Steps to reduce battery current. The current will be changed linear between those steps | ||
CELL_VOLTAGES_WHILE_CHARGING = 3.55,3.50,3.45,3.30 | ||
MAX_CHARGE_CURRENT_CV_FRACTION = 0,0.05,0.5,1 | ||
|
||
CELL_VOLTAGES_WHILE_DISCHARGING = 2.70,2.80,2.90,3.10 | ||
MAX_DISCHARGE_CURRENT_CV_FRACTION = 0,0.1,0.5,1 | ||
|
||
; -------- Temperature limitation --------- | ||
; Description: | ||
; Maximal charge / discharge current will be in-/decreased depending on temperature | ||
; Example: The temperature limit will be monitored to control the currents. If there are two temperature senors, | ||
; then the worst case will be calculated and the more secure lower current will be set. | ||
; Charge current control management referring to temperature enable (True/False). | ||
CCCM_T_ENABLE = True | ||
; Charge current control management referring to temperature enable (True/False). | ||
DCCM_T_ENABLE = True | ||
|
||
; Set Steps to reduce battery current. The current will be changed linear between those steps | ||
TEMPERATURE_LIMITS_WHILE_CHARGING = 0,2,5,10,15,20,35,40,55 | ||
MAX_CHARGE_CURRENT_T_FRACTION = 0,0.1,0.2,0.4,0.8,1,1,0.4,0 | ||
|
||
TEMPERATURE_LIMITS_WHILE_DISCHARGING = -20,0,5,10,15,45,55 | ||
MAX_DISCHARGE_CURRENT_T_FRACTION = 0,.2,.3,.4,1,1,0 | ||
|
||
; if the cell voltage reaches 3.55V, then reduce current battery-voltage by 0.01V | ||
; if the cell voltage goes over 3.6V, then the maximum penalty will not be exceeded | ||
; there will be a sum of all penalties for each cell, which exceeds the limits | ||
PENALTY_AT_CELL_VOLTAGE = 3.45,3.55,3.6 | ||
; this voltage will be subtracted | ||
PENALTY_BATTERY_VOLTAGE = 0.01,1.0,2.0 | ||
|
||
|
||
; -------- SOC limitation --------- | ||
; Description: | ||
; Maximal charge / discharge current will be increased / decreased depending on State of Charge, see CC_SOC_LIMIT1 etc. | ||
; The State of Charge (SoC) charge / discharge current will be in-/decreased depending on SOC. | ||
; Example: 16cells * 3.45V/cell = 55,2V max charge voltage. 16*2.9V = 46,4V min discharge voltage | ||
; Cell min/max voltages - used with the cell count to get the min/max battery voltage | ||
MIN_CELL_VOLTAGE = 2.9 | ||
MAX_CELL_VOLTAGE = 3.45 | ||
FLOAT_CELL_VOLTAGE = 3.35 | ||
MAX_VOLTAGE_TIME_SEC = 900 | ||
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90 | ||
|
||
; Charge current control management enable (True/False). | ||
CCCM_SOC_ENABLE = True | ||
; Discharge current control management enable (True/False). | ||
DCCM_SOC_ENABLE = True | ||
|
||
; charge current soc limits | ||
CC_SOC_LIMIT1 = 98 | ||
CC_SOC_LIMIT2 = 95 | ||
CC_SOC_LIMIT3 = 91 | ||
|
||
; charge current limits | ||
CC_CURRENT_LIMIT1_FRACTION = 0.1 | ||
CC_CURRENT_LIMIT2_FRACTION = 0.3 | ||
CC_CURRENT_LIMIT3_FRACTION = 0.5 | ||
|
||
; discharge current soc limits | ||
DC_SOC_LIMIT1 = 10 | ||
DC_SOC_LIMIT2 = 20 | ||
DC_SOC_LIMIT3 = 30 | ||
|
||
; discharge current limits | ||
DC_CURRENT_LIMIT1_FRACTION = 0.1 | ||
DC_CURRENT_LIMIT2_FRACTION = 0.3 | ||
DC_CURRENT_LIMIT3_FRACTION = 0.5 | ||
|
||
; Charge voltage control management enable (True/False). | ||
CVCM_ENABLE = False | ||
|
||
; Simulate Midpoint graph (True/False). | ||
MIDPOINT_ENABLE = False | ||
|
||
; soc low levels | ||
SOC_LOW_WARNING = 20 | ||
SOC_LOW_ALARM = 10 | ||
|
||
; Daly settings | ||
; Battery capacity (amps) if the BMS does not support reading it | ||
BATTERY_CAPACITY = 50 | ||
; Invert Battery Current. Default non-inverted. Set to -1 to invert | ||
INVERT_CURRENT_MEASUREMENT = 1 | ||
|
||
; TIME TO SOC settings [Valid values 0-100, but I don't recommend more that 20 intervals] | ||
; Set of SoC percentages to report on dbus. The more you specify the more it will impact system performance. | ||
; TIME_TO_SOC_POINTS = [100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0] | ||
; Every 5% SoC | ||
; TIME_TO_SOC_POINTS = [100, 95, 90, 85, 75, 50, 25, 20, 10, 0] | ||
; No data set to disable | ||
TIME_TO_SOC_POINTS = | ||
; Specify TimeToSoc value type: [Valid values 1,2,3] | ||
; TIME_TO_SOC_VALUE_TYPE = 1 ; Seconds | ||
; TIME_TO_SOC_VALUE_TYPE = 2 ; Time string HH:MN:SC | ||
; Both Seconds and time str "<seconds> [days, HR:MN:SC]" | ||
TIME_TO_SOC_VALUE_TYPE = 3 | ||
; Specify how many loop cycles between each TimeToSoc updates | ||
TIME_TO_SOC_LOOP_CYCLES = 5 | ||
; Include TimeToSoC points when moving away from the SoC point. [Valid values True,False] | ||
; These will be as negative time. Disabling this improves performance slightly. | ||
TIME_TO_SOC_INC_FROM = False | ||
|
||
|
||
; Select the format of cell data presented on dbus. [Valid values 0,1,2,3] | ||
; 0 Do not publish all the cells (only the min/max cell data as used by the default GX) | ||
; 1 Format: /Voltages/Cell; (also available for display on Remote Console) | ||
; 2 Format: /Cell/#/Volts | ||
; 3 Both formats 1 and 2 | ||
BATTERY_CELL_DATA_FORMAT = 1 | ||
|
||
; Settings for ESC GreenMeter and Lipro devices | ||
GREENMETER_ADDRESS = 1 | ||
LIPRO_START_ADDRESS = 2 | ||
LIPRO_END_ADDRESS = 4 | ||
LIPRO_CELL_COUNT = 15 | ||
|
||
PUBLISH_CONFIG_VALUES = 1 | ||
|
||
BMS_TYPE = |
Oops, something went wrong.