Explorar el Código

V2.1.8_20210629 TC011000-MS0000HK-V0r0
1、清除TRIP里程时,前100km内可清除总里程一次;
2、调整过流保护的判断条件,增加软件过流保护检测;
3、Break信号被触发后,仅关闭PWM一个周期处理,不做警告提示;
4、删除TIM1 Break的中断配置。

dail hace 4 años
padre
commit
66b04774f6

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 2425 - 2425
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/MC_VL65XX&VS75XX(125K)-TC011000-MS0000HK-V2.1.8.0.0_20210629.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 4 - 43
User/Src/protect_check.c

@@ -353,30 +353,21 @@ void MC_OverCurrent_SoftProtect_Process(uint16_t BusCurrent, uint16_t MaxCurrent
 2、在过流触发计数达到OC_COUNTER_TH 次之前,如果存在两次过流触发间隔时间超过OC_CLEARFLAG_DELAYTIME ms,清除过流触发计数;
 3、如果每两次过流触发间隔时间都不超过OC_CLEARFLAG_DELAYTIME ms,当过流触发计数达到OC_COUNTER_TH 次,则进入过流保护;
 4、进入过流保护后,超时5s解除。
+
+更改处理方式20210630
+1、关闭过流告警;
+2、出现过流信号时,封闭PWM2个周期。
 */
 void MC_Protect_OverCurrent_Process(FlagStatus* OverCurrentTrigFlag, MC_ErrorCode_Struct_t* p_MC_ErrorCode)
 {
   static uint8_t OffPwmCnt = 0;        //过流信号触发后,关闭PWM延时计数
 	static uint8_t StarPwmCnt = 0;       //关闭PWM后启动PWM延时计数
-  static uint16_t ocCnt = 0;           //过流信号触发计数
-  static uint32_t ocTimeCnt = 0;       //过流信号触发计时
-	static uint32_t ocFaultTimeCnt = 0;  //过流保护后计时
 	
-	if(p_MC_ErrorCode->ERROR_Bit.Protect_OverCurrent == 0)
 	{
 		if(*OverCurrentTrigFlag == RESET)
 		{
 			//关闭PWM计数清零
 			OffPwmCnt = 0;
-			//两次过流触发间隔超时OC_CLEARFLAG_DELAYTIME ms,过流次数未达到OC_COUNTER_TH 次,过流计数清零
-			if(ocCnt < OC_COUNTER_TH)
-			{
-				if((HAL_GetTick() - ocTimeCnt) >= OC_CLEARFLAG_DELAYTIME)
-				{
-					ocTimeCnt = HAL_GetTick();
-					ocCnt = 0;
-				}
-			}
 			//开启PWM
 			if(StarPwmCnt == 0)
 			{
@@ -395,37 +386,7 @@ void MC_Protect_OverCurrent_Process(FlagStatus* OverCurrentTrigFlag, MC_ErrorCod
 			{
 				*OverCurrentTrigFlag = RESET;
 			}
-			//过流次数计数
-			if(ocCnt < OC_COUNTER_TH)
-			{
-				ocCnt++;
-			}
-			//过流标志计数次数达到OC_COUNTER_TH 次,启动过流保护
-			else
-			{
-				ocCnt = 0;
-				p_MC_ErrorCode->ERROR_Bit.Protect_OverCurrent = 1;
-				ocFaultTimeCnt = HAL_GetTick();
-				//记录故障日志
-				MC_ErrorLogSaveInfo.NotesInfo1 = 1;
-			  ErrorLogSave_Update(&MC_ErrorLogSaveInfo);
-		  	IsErrorLogSaveInfoUpdateFlag = TRUE;
-				//存储故障次数
-				MC_RunLog1.OC_ProtectCnt++;
-				RunLogSaveIndex = 1;	
-			}
 			OffPwmCnt++;
-			ocTimeCnt = HAL_GetTick();
-		}
-	}
-	else
-	{
-		//过流恢复
-		if((HAL_GetTick() - ocFaultTimeCnt) > 5000)
-		{
-			MC_ErrorCode.ERROR_Bit.Protect_OverCurrent = 0;
-			ocFaultTimeCnt = HAL_GetTick();
-			*OverCurrentTrigFlag = RESET;
 		}
 	}
 }

+ 0 - 2
User/Src/pwm_driver.c

@@ -44,8 +44,6 @@ void	Enable_Pwm_Output(void)
 	HAL_TIMEx_PWMN_Start(&PWM_TIMER,TIM_CHANNEL_4);
 	
 	Pwm_Timer_Start();
-	HAL_NVIC_SetPriority(TIM1_BRK_IRQn, 0, 0);
-  HAL_NVIC_EnableIRQ(TIM1_BRK_IRQn);
 }
 
 /**

+ 0 - 5
User/Src/tim.c

@@ -184,11 +184,6 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
     /* Peripheral interrupt init*/
     HAL_NVIC_SetPriority(TIM1_UP_IRQn, 1, 1);
     HAL_NVIC_EnableIRQ(TIM1_UP_IRQn);
-		
-		HAL_NVIC_SetPriority(TIM1_BRK_IRQn, 0, 0);
-    HAL_NVIC_EnableIRQ(TIM1_BRK_IRQn);
-		
-		__HAL_TIM_ENABLE_IT(&htim1, TIM_IT_BREAK);
   /* USER CODE BEGIN TIM1_MspInit 1 */
 
   /* USER CODE END TIM1_MspInit 1 */

+ 3 - 1
修改说明.txt

@@ -415,7 +415,9 @@ V2.1.8_20210624 TC011000-MS0000HK-V0r0
 
 V2.1.8_20210629 TC011000-MS0000HK-V0r0
 1、清除TRIP里程时,前100km内可清除总里程一次;
-2、调整过流保护的判断条件,增加软件过流保护检测。
+2、调整过流保护的判断条件,增加软件过流保护检测;
+3、Break信号被触发后,仅关闭PWM一个周期处理,不做警告提示;
+4、删除TIM1 Break的中断配置。
 
 
 

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio