Преглед на файлове

V2.1.3_20200821
1、打开软启动,修改强劲、正常、柔和的处理;
2、加速增益的阈值由80和120修改为90和110;
3、TIM2的ETR接口PA0由GPIO_MODE_AF_PP修改为GPIO_MODE_INPUT;
4、限速的上限由27km/h调整为27.2km/h;
5、软件版本:V2r1r3_20200821

dail.zhou преди 5 години
родител
ревизия
b2d927ae61
променени са 6 файла, в които са добавени 50 реда и са изтрити 43 реда
  1. BIN
      MDK-ARM/bin/MC_VOLANS_V2r1r3_20200821.bin
  2. BIN
      MDK-ARM/bin/QD007A_CTL_APP.bin
  3. 39 36
      User/Src/motor_control.c
  4. 1 1
      User/Src/tim.c
  5. 1 1
      User/Src/var.c
  6. 9 5
      修改说明.txt

BIN
MDK-ARM/bin/MC_VOLANS_V2r1r3_20200821.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 39 - 36
User/Src/motor_control.c

@@ -655,7 +655,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 	
 	static uint8_t TorqueRefEndUpdateCount = 0;
 	
-	#define SOFT_SATRT 0
+	#define SOFT_SATRT 1
 	
 	#if SOFT_SATRT
 	static FlagStatus SoftStartFlag = SET;
@@ -810,11 +810,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_ECO:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN <= 80)
+				if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN <= 90)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt - 1;
 				}
-				else if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN >= 120)
+				else if(MC_ConfigParam1.UserAdjParam_ECO.StarModel_GAIN >= 110)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_ECO.AccCnt + 1;
 				}
@@ -845,11 +845,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_NORM:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN <= 80)
+				if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN <= 90)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt - 1;
 				}
-				else if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN >= 120)
+				else if(MC_ConfigParam1.UserAdjParam_NORM.StarModel_GAIN >= 110)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_NORM.AccCnt + 1;
 				}
@@ -881,11 +881,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_SPORT:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN <= 80)
+				if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN <= 90)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt - 1;
 				}
-				else if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN >= 120)
+				else if(MC_ConfigParam1.UserAdjParam_SPORT.StarModel_GAIN >= 110)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_SPORT.AccCnt + 1;
 				}
@@ -916,11 +916,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_Torque_TURBO:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN <= 80)
+				if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN <= 90)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt - 1;
 				}
-				else if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN >= 120)
+				else if(MC_ConfigParam1.UserAdjParam_TURBO.StarModel_GAIN >= 110)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_TURBO.AccCnt + 1;
 				}
@@ -951,11 +951,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 			case MC_GearSt_SMART:
 			{
 				//控制输入给定加速斜率
-				if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN <= 80)
+				if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN <= 90)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt - 1;
 				}
-				else if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN >= 120)
+				else if(MC_ConfigParam1.UserAdjParam_SMART.StarModel_GAIN >= 110)
 				{
 				  TorqueAccStep = MC_AssisParam.Gear_SMART.AccCnt + 1;
 				}
@@ -1034,41 +1034,44 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
     #if SOFT_SATRT		
     else if(SoftStartFlag == SET)  //启动处理
 		{
-			if(MC_ConfigParam1.StarModel == MC_StarMode_DYNAMIC)
+			if(MC_ConfigParam1.StarModel == MC_StarMode_DYNAMIC)  //强劲模式,无延迟
 			{
-				SoftStartDelayTime = 100;      //启动处理延时100ms
-				SoftStartAcc = 10;             //10ms递增0.1倍
-			}
-			else if(MC_ConfigParam1.StarModel == MC_StarMode_SOFT)
-			{
-				SoftStartDelayTime = 900;      //启动处理延时900ms
-				SoftStartAcc = 90;             //90ms递增0.1倍
+			  SoftStartDelayTimeCount = 0;
+				SoftStartFlag = RESET;
 			}
 			else
 			{
-				SoftStartDelayTime = 300;      //启动处理延时300ms
-				SoftStartAcc = 30;             //30ms递增0.1倍
-			}
-			SoftStartDelayTimeCount++;
-			if(SoftStartDelayTimeCount <= SoftStartDelayTime) // 缓启动过程,按照0.1倍率逐步增加加减速斜率
-			{  
-				if((MC_TorqueProcess_Param.TorqueRef - MC_TorqueProcess_Param.TorqueRefEnd) > 2)
+				if(MC_ConfigParam1.StarModel == MC_StarMode_SOFT)   //柔和模式,延迟300ms
 				{
-					if((SoftStartDelayTimeCount % (10 - SoftStartDelayTimeCount / SoftStartAcc))  == 0)
+					SoftStartDelayTime = 300;      //启动处理延时300ms
+					SoftStartAcc = 30;             //30ms递增0.1倍
+				}
+				else                                                //正常模式,延迟100ms
+				{
+					SoftStartDelayTime = 100;      //启动处理延时100ms
+					SoftStartAcc = 10;             //10ms递增0.1倍
+				}
+				SoftStartDelayTimeCount++;
+				if(SoftStartDelayTimeCount <= SoftStartDelayTime) // 缓启动过程,按照0.1倍率逐步增加加减速斜率
+				{  
+					if((MC_TorqueProcess_Param.TorqueRef - MC_TorqueProcess_Param.TorqueRefEnd) > 2)
 					{
-						MC_TorqueProcess_Param.TorqueRefEnd += TorqueAccStep;
+						if((SoftStartDelayTimeCount % (10 - SoftStartDelayTimeCount / SoftStartAcc))  == 0)
+						{
+							MC_TorqueProcess_Param.TorqueRefEnd += TorqueAccStep;
+						}
+					}
+					else if((MC_TorqueProcess_Param.TorqueRef - MC_TorqueProcess_Param.TorqueRefEnd) < (- 1))
+					{
+						MC_TorqueProcess_Param.TorqueRefEnd -= TorqueDecStep;
 					}
 				}
-				else if((MC_TorqueProcess_Param.TorqueRef - MC_TorqueProcess_Param.TorqueRefEnd) < (- 1))
+				else
 				{
-					MC_TorqueProcess_Param.TorqueRefEnd -= TorqueDecStep;
+					SoftStartDelayTimeCount = 0;
+					SoftStartFlag = RESET;
 				}
 			}
-			else
-			{
-				SoftStartDelayTimeCount = 0;
-				SoftStartFlag = RESET;
-			}
 		}	
     #endif
 		
@@ -1086,7 +1089,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 		MC_TorqueProcess_Param.TorqueRefEnd = (MC_TorqueProcess_Param.TorqueRefEnd < 6) ? 6 : MC_TorqueProcess_Param.TorqueRefEnd;
 		
 		//限速点处理
-		if( MC_SpeedSensorData.Speed_Data > (MC_ConfigParam1.SpeedLimit * 10 + 20) ) //限速值+2
+		if( MC_SpeedSensorData.Speed_Data > (MC_ConfigParam1.SpeedLimit * 10 + 22) ) //限速值 + 2.2
 		{
 			MC_TorqueProcess_Param.MotorStopLock_Flag = SET;
 			MC_TorqueProcess_Param.TorqueRefEnd = 0;

+ 1 - 1
User/Src/tim.c

@@ -205,7 +205,7 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
     PA0-WKUP     ------> TIM2_ETR 
     */
     GPIO_InitStruct.Pin = GPIO_PIN_0;
-    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
     GPIO_InitStruct.Pull = GPIO_NOPULL;
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

+ 1 - 1
User/Src/var.c

@@ -488,7 +488,7 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"QD007E.         ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r3_20200814.", 16);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r3_20200821.", 16);
 		
 	//电机型号
 	strncpy(MC_VerInfo.Mode, (char*)"VL6500 & VS7500.", 16);

+ 9 - 5
修改说明.txt

@@ -295,14 +295,18 @@ V2.1.2_20200812
 3、调整Volans/Volans Plus的助力体验,ECO和NORM的助力比和限流加大,SMART减小阈值;
 4、版本号:V2.1.2_20200812
 
-V2.1.2_20200814
+V2.1.3_20200814
 1、增加推行限速、推行马达转速、低压保护阈值参数设置,及相关的处理,并兼容旧电机;
 2、将全系列型号PID积分限幅设为最大;
 3、相电流零点偏移故障时补充日志和历史记录;
-4、版本号:V2.1.2_20200814
-
-
-
+4、版本号:V2.1.3_20200814
+
+V2.1.3_20200821
+1、打开软启动,修改强劲、正常、柔和的处理;
+2、加速增益的阈值由80和120修改为90和110;
+3、TIM2的ETR接口PA0由GPIO_MODE_AF_PP修改为GPIO_MODE_INPUT;
+4、限速的上限由27km/h调整为27.2km/h;
+5、软件版本:V2r1r3_20200821