|
@@ -647,7 +647,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_ECO:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 4;
|
|
|
+ TorqueAccStep = 2;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 2;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -666,7 +666,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_NORM:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 4;
|
|
|
+ TorqueAccStep = 2;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 2;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -685,7 +685,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_SPORT:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 4;
|
|
|
+ TorqueAccStep = 2;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 2;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -704,7 +704,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_TURBO:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 4;
|
|
|
+ TorqueAccStep = 2;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 2;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -750,8 +750,9 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
}
|
|
|
}
|
|
|
else if(GasMode_Param.Mode_bit.PowerLimitFlag == 0) //不根据挡位限制功率,按照Turbo参数
|
|
|
- {
|
|
|
- //控制输入给定加速斜率
|
|
|
+ {
|
|
|
+ #if 0 //限制最大力矩
|
|
|
+ //控制输入给定加速斜率
|
|
|
TorqueAccStep = (MC_AssisParam.Gear_SMART.AccCnt <= 0) ? 1 : MC_AssisParam.Gear_SMART.AccCnt;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = MC_AssisParam.Gear_TURBO.DecCnt;
|
|
@@ -765,7 +766,25 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
PID_IMax.hLower_Limit_Output = -(MC_AssisParam.Gear_TURBO.Upper_Iq); //Lower Limit for Output limitation
|
|
|
PID_IMax.hUpper_Limit_Output = 0; //Upper Limit for Output limitation
|
|
|
PID_IMax.wLower_Limit_Integral = -(MC_AssisParam.Gear_TURBO.Upper_Iq << 10); // 放大1024
|
|
|
+ PID_IMax.wUpper_Limit_Integral = 0; // 放大1024
|
|
|
+
|
|
|
+ #else //根据车速限制最大力矩
|
|
|
+ //控制输入给定加速斜率
|
|
|
+ TorqueAccStep = 2;
|
|
|
+ //控制输入给定减速斜率
|
|
|
+ TorqueDecStep = 2;
|
|
|
+ //根据输入调节力矩环给定
|
|
|
+ Torque_Temp = (uint32_t)(MC_TorqueProcess_Param.TorqueApp * MC_Cal_MaxIq_BySpeed(50, 100, 2100, 1365, MC_SpeedSensorData.Speed_Data)) >> 11;
|
|
|
+ //给定上限
|
|
|
+ Torque_Temp = (Torque_Temp > MC_Cal_MaxIq_BySpeed(50, 100, 2100, 1365, MC_SpeedSensorData.Speed_Data)) ? MC_Cal_MaxIq_BySpeed(50, 100, 2100, 1365, MC_SpeedSensorData.Speed_Data) : Torque_Temp;
|
|
|
+ //限流参数设置
|
|
|
+ CurrentLimitSet = (uint32_t)(1024 * MC_ConfigParam1.CurrentLimit * 1000 >> 17) * 100;
|
|
|
+ CurrentLimitPresent = MC_DataSet_Linear_Process(CurrentLimitSet, CurrentLimitPresent, 5 ,1);
|
|
|
+ PID_IMax.hLower_Limit_Output = -(MC_Cal_MaxIq_BySpeed(50, 100, 2100, 1365, MC_SpeedSensorData.Speed_Data)); //Lower Limit for Output limitation
|
|
|
+ PID_IMax.hUpper_Limit_Output = 0; //Upper Limit for Output limitation
|
|
|
+ PID_IMax.wLower_Limit_Integral = -(MC_Cal_MaxIq_BySpeed(50, 100, 2100, 1365, MC_SpeedSensorData.Speed_Data) << 10); // 放大1024
|
|
|
PID_IMax.wUpper_Limit_Integral = 0; // 放大1024
|
|
|
+ #endif
|
|
|
}
|
|
|
|
|
|
//限速值设定
|