Parcourir la source

V2r1r6_20220509
1 有指拨时不执行单向器打滑故障检测;
2 版本号变为V2r1r6_20220509

white.xu il y a 3 ans
Parent
commit
61708d9cd9
4 fichiers modifiés avec 1394 ajouts et 1393 suppressions
  1. 1387 1387
      MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex
  2. BIN
      MDK-ARM/bin/QD007A_CTL_APP.bin
  3. 6 5
      User/Src/fault_check.c
  4. 1 1
      User/Src/var.c

Fichier diff supprimé car celui-ci est trop grand
+ 1387 - 1387
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 6 - 5
User/Src/fault_check.c

@@ -795,7 +795,7 @@ void MC_Fault_Circuit_Process(MC_ErrorCode_Struct_t* p_MC_ErrorCode)
 
 
 //机械故障
-void MC_Fault_Machine_Process(uint16_t MotorSpeed, uint16_t CadenceSpeed, uint16_t TorqueApp, uint16_t speedratio, MC_ErrorCode_Struct_t* p_MC_ErrorCode)
+void MC_Fault_Machine_Process(uint16_t MotorSpeed, uint16_t CadenceSpeed, ADC_SensorData_Struct_t SensorData, uint16_t speedratio, MC_ErrorCode_Struct_t* p_MC_ErrorCode)
 {
 	static uint32_t TimeCount_ClutchFault=0;
 	static uint16_t ClutchFaultCount=0;
@@ -805,18 +805,19 @@ void MC_Fault_Machine_Process(uint16_t MotorSpeed, uint16_t CadenceSpeed, uint16
 		if( (HAL_GetTick()-TimeCount_ClutchFault)>=20 )  //20ms执行一次故障判断
 		{
 			TimeCount_ClutchFault = HAL_GetTick();
-			if( (MotorSpeed > 500)&&(CadenceSpeed >= 15)&&(TorqueApp > 200) )
+			if( (MotorSpeed > 500)&&(CadenceSpeed >= 15)&&(SensorData.TorqueSensor > 200)&&(SensorData.GasSensor < 50) )
 			{
 				if( speedratio > 1500 ) 
 				{
 					ClutchFaultCount++;
 					if( ClutchFaultCount>= 50)                  //速比连续出错50次判断为故障,时间将近1s
 					{
+						ClutchFaultCount=0;
 						p_MC_ErrorCode->ERROR_Bit.Fault_Machine = 1;
 						//记录故障日志
 						MC_ErrorLogSaveInfo.NotesInfo1 = 1;       //单向器打滑故障
-						MC_ErrorLogSaveInfo.NotesInfo2 = speedratio;
-						MC_ErrorLogSaveInfo.NotesInfo3 = TorqueApp;
+						MC_ErrorLogSaveInfo.NotesInfo2 = SensorData.TorqueSensor;
+						MC_ErrorLogSaveInfo.NotesInfo3 = SensorData.GasSensor;
 						ErrorLogSave_Update(&MC_ErrorLogSaveInfo);
 						IsErrorLogSaveInfoUpdateFlag = TRUE;
 						//存储故障次数
@@ -1060,5 +1061,5 @@ void MC_Fault_Check_Process(void)
 	MC_Fault_Circuit_Process(&MC_ErrorCode);
 	
 	//单向器打滑故障检测
-	MC_Fault_Machine_Process(MC_RunInfo.MotorSpeed, MC_CadenceResult.Cadence_Data, ADC_SensorData.TorqueSensor, SpeedRatio, &MC_ErrorCode);
+	MC_Fault_Machine_Process(MC_RunInfo.MotorSpeed, MC_CadenceResult.Cadence_Data, ADC_SensorData, SpeedRatio, &MC_ErrorCode);
 }

+ 1 - 1
User/Src/var.c

@@ -523,7 +523,7 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"QD007H.         ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r6_20220507.", 16);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r6_20220509.", 16);
 	strncpy(Firmware_Special, (char*)"TC033001-MS2002-V1r2.           ", 32);
 		
 	//电机型号

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff