|
@@ -175,7 +175,7 @@ MC_AssistRunMode_Struct_t MC_JudgeAsistRunMode_Process(MC_GearSt_Struct_t GearSt
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- #if 1
|
|
|
+ #if 0
|
|
|
static MC_AssistRunMode_Struct_t MC_AssistRunMode_Result_Old = MC_AssistRunMode_INVALID;
|
|
|
//进入力矩模式
|
|
|
MC_AssistRunMode_Result = MC_AssistRunMode_TORQUE;
|
|
@@ -1231,10 +1231,8 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(MC_CadenceResult_Struct_t C
|
|
|
if((GasCtrlMode == MC_SUPPORT_ENABLE) && (AdcSenorData.GasSensor > 50))
|
|
|
{
|
|
|
MC_TorqueProcess_Param.MotorStopLock_Flag = RESET;
|
|
|
- //停止判断,松开转把、踏频停止、踏频反转
|
|
|
- if((AdcSenorData.GasSensor < 30) ||
|
|
|
- (CadenceData.Cadence_Dir == MC_Cadence_Backward) ||
|
|
|
- (CadenceData.IsStopFlag == TRUE))
|
|
|
+ //停止判断
|
|
|
+ if(AdcSenorData.GasSensor < 30)
|
|
|
{
|
|
|
MC_TorqueProcess_Param.MotorStopLock_Flag = SET;
|
|
|
}
|
|
@@ -1521,6 +1519,8 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(MC_CadenceResult_Struct_t C
|
|
|
}
|
|
|
case MC_GearSt_Torque_TURBO:
|
|
|
{
|
|
|
+ #if 0 //原TURBO模式
|
|
|
+
|
|
|
//控制输入给定加速斜率
|
|
|
if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN <= 90)
|
|
|
{
|
|
@@ -1552,6 +1552,42 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(MC_CadenceResult_Struct_t C
|
|
|
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 //客户需求,新增长续航Smart模式,要求降低最大电流,先按照TURBO模拟用于测试
|
|
|
+
|
|
|
+ //控制输入给定加速斜率
|
|
|
+ if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN <= 90)
|
|
|
+ {
|
|
|
+ TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt - 1;
|
|
|
+ }
|
|
|
+ else if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN >= 110)
|
|
|
+ {
|
|
|
+ TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt + 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt;
|
|
|
+ }
|
|
|
+ TorqueAccStep = (TorqueAccStep <= 0) ? 1 : TorqueAccStep;
|
|
|
+ //控制输入给定减速斜率
|
|
|
+ TorqueDecStep = MC_AssisParam.Gear_SMART.DecCnt;
|
|
|
+ //助力比控制系数
|
|
|
+ Torque_Temp = (uint32_t)(MC_TorqueProcess_Param.TorqueApp * MC_TorqueProcess_Param.TorqueApp) / ((MC_AssisParam.Gear_SMART.TorqueApp_TH * 6) >> 2);
|
|
|
+ //根据助力增益调节助力比
|
|
|
+ Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_SMART.Assist_K_GAIN / 100;
|
|
|
+ //给定下限
|
|
|
+ Torque_Temp = (Torque_Temp < MC_AssisParam.Gear_SMART.Lower_Iq) ? MC_AssisParam.Gear_SMART.Lower_Iq : Torque_Temp;
|
|
|
+ //给定上限
|
|
|
+ Torque_Temp = (Torque_Temp > MC_AssisParam.Gear_SMART.Upper_Iq) ? MC_AssisParam.Gear_SMART.Upper_Iq : Torque_Temp;
|
|
|
+ //限流参数设置
|
|
|
+ CurrentLimitSet = (uint32_t)(((MC_AssisParam.Gear_SMART.CurrentMax_K * 3) >> 2) * MC_ConfigParam1.CurrentLimit * 1000 >> 17) * MC_CadenceLimit_K;
|
|
|
+ CurrentLimitPresent = MC_DataSet_Linear_Process(CurrentLimitSet, CurrentLimitPresent, 5 ,1);
|
|
|
+ PID_IMax.hLower_Limit_Output = -(MC_AssisParam.Gear_SMART.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_SMART.Upper_Iq << 10); // 放大1024
|
|
|
+ PID_IMax.wUpper_Limit_Integral = 0; // 放大1024
|
|
|
+
|
|
|
+ #endif
|
|
|
break;
|
|
|
}
|
|
|
case MC_GearSt_SMART:
|