|
@@ -253,20 +253,10 @@ void MC_Protect_OverHeat_Process(uint8_t T_MCU, uint8_t T_PCB, uint8_t T_Coil, u
|
|
|
|
|
|
if(p_MC_ErrorCode->ERROR_Bit.Protect_OverTemp == 0)
|
|
|
{
|
|
|
- //TTKZ019A之前的电路板,单片机100度保护,绕组130度保护
|
|
|
- if( MC_HallSensorData.InverterExistFlag==TRUE )
|
|
|
+ //单片机100度保护,绕组130度保护
|
|
|
+ if( (T_PCB < (TH - 25))&&(T_Coil < (TH + 5)) )
|
|
|
{
|
|
|
- if( (T_PCB < (TH - 25))&&(T_Coil < (TH + 5)) )
|
|
|
- {
|
|
|
- OT_Set_TimeCnt = HAL_GetTick();
|
|
|
- }
|
|
|
- }
|
|
|
- else //TTKZ019A之后的电路板,单片机90度保护,绕组130度保护,MOS管110度保护,
|
|
|
- {
|
|
|
- if( (T_PCB < (TH - 35))&&(T_Coil < (TH + 5))&&(T_MCU < (TH - 15)) )
|
|
|
- {
|
|
|
- OT_Set_TimeCnt = HAL_GetTick();
|
|
|
- }
|
|
|
+ OT_Set_TimeCnt = HAL_GetTick();
|
|
|
}
|
|
|
//过热保护判断
|
|
|
if((HAL_GetTick() - OT_Set_TimeCnt) > 5000)
|
|
@@ -283,22 +273,11 @@ void MC_Protect_OverHeat_Process(uint8_t T_MCU, uint8_t T_PCB, uint8_t T_Coil, u
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- //过热保护恢复
|
|
|
- if( MC_HallSensorData.InverterExistFlag==TRUE )
|
|
|
+ //过热保护恢复 PCB温度小于100度,绕组温度小于105度,且保护时间大于5分钟
|
|
|
+ if(( (T_PCB < (TH - 25)) && (T_Coil < (TH - 20)) ) && ((HAL_GetTick() - OT_Reset_TimeCnt) > 300000))
|
|
|
{
|
|
|
- if(( (T_PCB < (TH - 25)) && (T_Coil < (TH - 20)) ) && ((HAL_GetTick() - OT_Reset_TimeCnt) > 300000))
|
|
|
- {
|
|
|
- p_MC_ErrorCode->ERROR_Bit.Protect_OverTemp = 0;
|
|
|
- OT_Set_TimeCnt = HAL_GetTick();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if(( (T_PCB < (TH - 35)) && (T_Coil < (TH - 20))&&(T_MCU < (TH - 15)) ) && ((HAL_GetTick() - OT_Reset_TimeCnt) > 300000))
|
|
|
- {
|
|
|
- p_MC_ErrorCode->ERROR_Bit.Protect_OverTemp = 0;
|
|
|
- OT_Set_TimeCnt = HAL_GetTick();
|
|
|
- }
|
|
|
+ p_MC_ErrorCode->ERROR_Bit.Protect_OverTemp = 0;
|
|
|
+ OT_Set_TimeCnt = HAL_GetTick();
|
|
|
}
|
|
|
}
|
|
|
}
|