|
@@ -169,19 +169,19 @@ uint16_t MC_LimitSpeed_Cal_K_BySOC(FunctionalState Flag, uint16_t SOC)
|
|
|
return Limit_K_BySOC;
|
|
|
}
|
|
|
|
|
|
-//随温度计算助力衰减系数,温度区间25℃
|
|
|
+//随温度计算助力衰减系数,温度区间20℃
|
|
|
uint16_t MC_Cal_K_ByTemperature(uint16_t CoilTemp, uint16_t AlarmTempTH)
|
|
|
{
|
|
|
uint32_t CalTemp;
|
|
|
uint16_t Result = 1024;
|
|
|
|
|
|
- if(CoilTemp > AlarmTempTH + 25)
|
|
|
+ if(CoilTemp > AlarmTempTH + 20)
|
|
|
{
|
|
|
Result = 256;
|
|
|
}
|
|
|
else if(CoilTemp > AlarmTempTH)
|
|
|
{
|
|
|
- Result = 1024 - (CoilTemp - AlarmTempTH) * 30;
|
|
|
+ Result = 1024 - (CoilTemp - AlarmTempTH) * 38;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -456,7 +456,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasSpeed_Process(MC_GasMode_Struct_t GasMo
|
|
|
static uint16_t K_ByVoltage_Set_Old = 1024;
|
|
|
uint16_t K_ByVoltage_Set;
|
|
|
static uint16_t K_ByVoltage_Result;
|
|
|
- uint32_t K_ByTemperature_Set, K_ByTemperature_Set1, K_ByTemperature_Set2;
|
|
|
+ uint16_t K_ByTemperature_Set, K_ByTemperature_SetTemp[3];
|
|
|
static uint16_t K_ByTemperature_Result;
|
|
|
|
|
|
//根据电压调节输出
|
|
@@ -465,9 +465,10 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasSpeed_Process(MC_GasMode_Struct_t GasMo
|
|
|
K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
|
//根据温度调节输出
|
|
|
- K_ByTemperature_Set1 = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, MC_ConfigParam1.TempTH_Alarm); //根据温度计算衰减比例
|
|
|
- K_ByTemperature_Set2 = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 15)); //根据温度计算衰减比例
|
|
|
- K_ByTemperature_Set = (K_ByTemperature_Set1 * K_ByTemperature_Set2) >> 10;
|
|
|
+ K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 10)); //根据PCB温度衰减系数,85℃到105℃
|
|
|
+ K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5)); //根据MOS温度衰减系数,100℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15)); //根据电机温度衰减系数,110℃到130℃
|
|
|
+ K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);
|
|
|
K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
|
#else
|
|
@@ -561,7 +562,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_NORM:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 1;
|
|
|
+ TorqueAccStep = 2;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 1;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -580,7 +581,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_SPORT:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 1;
|
|
|
+ TorqueAccStep = 3;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 1;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -599,7 +600,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
case MC_GearSt_Torque_TURBO: case MC_GearSt_SMART:
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 1;
|
|
|
+ TorqueAccStep = 4;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 1;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -627,7 +628,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
else if(GasMode_Param.Mode_bit.PowerLimitFlag == 0) //不根据挡位限制功率,按照Turbo参数
|
|
|
{
|
|
|
//控制输入给定加速斜率
|
|
|
- TorqueAccStep = 1;
|
|
|
+ TorqueAccStep = 4;
|
|
|
//控制输入给定减速斜率
|
|
|
TorqueDecStep = 1;
|
|
|
//根据输入调节力矩环给定
|
|
@@ -743,9 +744,9 @@ MC_CalParam_Struct_t MC_AssistRunMode_GasTorque_Process(MC_GasMode_Struct_t GasM
|
|
|
K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
|
//根据温度调节输出
|
|
|
- K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 15)); //根据PCB温度衰减系数,80℃到105℃
|
|
|
- K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm - 5)); //根据MOS温度衰减系数,90℃到115℃
|
|
|
- K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm)); //根据电机温度衰减系数,95℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 10)); //根据PCB温度衰减系数,85℃到105℃
|
|
|
+ K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5)); //根据MOS温度衰减系数,100℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15)); //根据电机温度衰减系数,110℃到130℃
|
|
|
K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);
|
|
|
K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
@@ -874,9 +875,9 @@ MC_CalParam_Struct_t MC_AssistRunMode_Walk_Process(MC_WorkMode_Struct_t p_MC_Wor
|
|
|
K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
|
//根据温度调节输出
|
|
|
- K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 15)); //根据PCB温度衰减系数,80℃到105℃
|
|
|
- K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm - 5)); //根据MOS温度衰减系数,90℃到115℃
|
|
|
- K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm)); //根据电机温度衰减系数,95℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 10)); //根据PCB温度衰减系数,85℃到105℃
|
|
|
+ K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5)); //根据MOS温度衰减系数,100℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15)); //根据电机温度衰减系数,110℃到130℃
|
|
|
K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);
|
|
|
K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
@@ -1364,9 +1365,9 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
|
|
|
K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|
|
|
//根据温度调节输出
|
|
|
- K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 15)); //根据PCB温度衰减系数,80℃到105℃
|
|
|
- K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm - 5)); //根据MOS温度衰减系数,90℃到115℃
|
|
|
- K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm)); //根据电机温度衰减系数,95℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 15)); //根据PCB温度衰减系数,80℃到100℃
|
|
|
+ K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5)); //根据MOS温度衰减系数,100℃到120℃
|
|
|
+ K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15)); //根据电机温度衰减系数,110℃到130℃
|
|
|
K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);
|
|
|
K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
|
|
|
|