traction control: wheel-slip based close ETB #5843

only:proteus_f4
This commit is contained in:
rusefi 2023-12-31 14:37:23 -05:00
parent 620983a5a7
commit cc90a0ecd2
5 changed files with 21 additions and 2 deletions

View File

@ -24,6 +24,7 @@ struct_no_prefix electronic_throttle_s
uint16_t etbPpsErrorCounter;"ETB pedal error counter";"count", 1,0, 0,3, 0,@@GAUGE_CATEGORY_ETB@@
int8_t etbErrorCode
int8_t tcEtbDrop
uint16_t autoscale jamTimer;ETB jam timer;"sec", 0.01, 0, 0, 100, 2

View File

@ -75,6 +75,9 @@ void setDefaultBaseEngine() {
engineConfiguration->watchOutForLinearTime = true;
setLinearCurve(engineConfiguration->tractionControlSlipBins, /*from*/0.8, /*to*/1.2, 0.1);
setLinearCurve(engineConfiguration->tractionControlSpeedBins, /*from*/10, /*to*/120, 5);
engineConfiguration->turbochargerFilter = 0.01f;
engineConfiguration->fuelAlgorithm = LM_SPEED_DENSITY;

View File

@ -546,6 +546,9 @@ bool validateConfig() {
ensureArrayIsAscendingOrDefault("Fuel Trim Rpm", config->fuelTrimRpmBins);
ensureArrayIsAscendingOrDefault("Fuel Trim Load", config->fuelTrimLoadBins);
//todo ensureArrayIsAscendingOrDefault("TC slip", engineConfiguration->tractionControlSlipBins);
ensureArrayIsAscendingOrDefault("TC speed", engineConfiguration->tractionControlSpeedBins);
ensureArrayIsAscending("TPS/TPS AE from", config->tpsTpsAccelFromRpmBins);
ensureArrayIsAscending("TPS/TPS AE to", config->tpsTpsAccelToRpmBins);

View File

@ -118,6 +118,8 @@ struct_no_prefix engine_configuration_s
#define SENT_INPUT_COUNT 1
#define TRACTION_CONTROL_ETB_DROP_SIZE 6
#define LUA_PWM_COUNT 8
#define LUA_DIGITAL_INPUT_COUNT 8
@ -1401,7 +1403,9 @@ tChargeMode_e tChargeMode;
uint8_t autoscale triggerCompHystMax;Trigger comparator hysteresis voltage (Max);"V", @@VOLTAGE_1_BYTE_PACKING_DIV@@, 0, 0, 5.1, 2
uint8_t autoscale triggerCompSensorSatRpm;VR-sensor saturation RPM;"RPM", 50, 0, 0, 12000, 0
int8_t[20] unusedHere
uint16_t[TRACTION_CONTROL_ETB_DROP_SIZE] autoscale tractionControlSlipBins;;"ratio", 0.1, 0, 0, 999, 1
uint8_t[TRACTION_CONTROL_ETB_DROP_SIZE] tractionControlSpeedBins;;"RPM", 1, 0, 0, 250, 0
int8_t[2] unusedHere
custom can_vss_nbc_e 2 bits, U08, @OFFSET@, [0:2], "BMW_e46", "W202", "BMW E8x/E9x MK60e5", "Nissan 350", "Hyundai PB", "Honda Civic9"
@ -1603,7 +1607,9 @@ uint8_t unusedExplicitFilling2
float[VVT_TRACKING_LENGTH iterate] triggerVVTGapOverrideFrom;;"ratio", 1, 0, 0, 20, 3
float[VVT_TRACKING_LENGTH iterate] triggerVVTGapOverrideTo;;"ratio", 1, 0, 0, 20, 3
uint8_t[208] mainUnusedEnd;;"units", 1, 0, 0, 1, 0
int8_t[TRACTION_CONTROL_ETB_DROP_SIZE x TRACTION_CONTROL_ETB_DROP_SIZE] tractionControlEtbDrop;;"%", 1, 0, -100, 0, 0
uint8_t[172] mainUnusedEnd;;"units", 1, 0, 0, 1, 0
! end of engine_configuration_s
end_struct

View File

@ -876,6 +876,11 @@ curve = rangeMatrix, "Range Switch Input Matrix"
yBins = tpsTpsAccelToRpmBins, TPSValue
zBins = tpsTpsAccelTable
table = tractionEtbTableTbl, tractionEtb, "Traction Control ETB drop", 1
xBins = tractionControlSpeedBins, vehicleSpeedKph
yBins = tractionControlSlipBins, wheelSlipRatio
zBins = tractionControlEtbDrop
table = boostTableTbl, boostMapOpen, "Boost control duty cycle (open loop)", 1
xBins = boostRpmBins, RPMValue
yBins = boostTpsBins, TPSValue
@ -2023,6 +2028,7 @@ menuDialog = main
subMenu = hpfpCompensationTable, "HPFP Pump Compensation", {hpfpCamLobes != 0}
subMenu = std_separator
subMenu = fancyHardwareDialog, "Fancy Hardware"
subMenu = tractionEtbTableTbl
subMenu = std_separator
subMenu = hipFunction, "HIP9011 settings (knock sensor) (alpha version)" @@if_ts_show_hip9011