Quellcode durchsuchen

V3.0.5_20200313
1、Sport和Turbo的低力矩衰减由100修改为400;
2、删除缓启动处理;
3、4档助力系数由2286修改为2886;
4、版本号:V3.0.5_20200313

V3.0.5_20200316
基于V3.0.5_20200313修改
1、删除缓启动相关变量;
2、将4个档位低力矩衰减起始值修改为助力系数的一半;
3、ECO的助力系数由381改为476,NORM的助力系数由914改为1142,SPORT的助力系数由1523改为1903,TURBO的助力系数由2886改为2857,SMART的阈值由2000修改为1850,加速值由3改为4。

dail.zhou vor 5 Jahren
Ursprung
Commit
0f647d7755

+ 41 - 8
MDK-ARM/QD007A_CTL_APP.uvprojx

@@ -10,7 +10,6 @@
       <TargetName>QD007A_CTL_APP</TargetName>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetName>ARM-ADS</ToolsetName>
-      <pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed>
       <TargetOption>
         <TargetCommonOption>
           <Device>STM32F103RB</Device>
@@ -125,6 +124,47 @@
             <HexOffset>0</HexOffset>
             <Oh166RecLen>16</Oh166RecLen>
           </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+            <RestoreSysVw>1</RestoreSysVw>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>6</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>Segger\JL2CM3.dll</Driver>
+          </TargetDlls>
         </DebugOption>
         <Utilities>
           <Flash1>
@@ -189,7 +229,6 @@
             <useUlib>1</useUlib>
             <EndSel>0</EndSel>
             <uLtcg>0</uLtcg>
-            <nSecure>0</nSecure>
             <RoSelD>3</RoSelD>
             <RwSelD>3</RwSelD>
             <CodeSel>0</CodeSel>
@@ -326,11 +365,6 @@
             <useXO>0</useXO>
             <v6Lang>0</v6Lang>
             <v6LangP>0</v6LangP>
-            <vShortEn>1</vShortEn>
-            <vShortWch>1</vShortWch>
-            <v6Lto>0</v6Lto>
-            <v6WtE>0</v6WtE>
-            <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls></MiscControls>
               <Define>USE_HAL_DRIVER,STM32F103xB</Define>
@@ -348,7 +382,6 @@
             <NoWarn>0</NoWarn>
             <uSurpInc>0</uSurpInc>
             <useXO>0</useXO>
-            <uClangAs>0</uClangAs>
             <VariousControls>
               <MiscControls></MiscControls>
               <Define></Define>

BIN
MDK-ARM/bin/QD007A_CTL_APP_CRC.bin → MDK-ARM/bin/MC_TTKZ010A_V3.0.5_20200116.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 5 - 50
User/Src/motor_control.c

@@ -583,10 +583,6 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 	uint16_t CurrentLimitSet;                //限流设置值,不同助力档位更新
 	
 	static uint8_t TorqueRefEndUpdateCount = 0;
-	static FlagStatus SoftStartFlag = SET;
-	static uint16_t SoftStartDelayTimeCount = 0;
-	uint16_t SoftStartDelayTime = 0;
-	uint16_t SoftStartAcc = 0;
 
 	#if 1
 	
@@ -678,7 +674,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 	//启动值判断
 	if(MC_RunInfo.BikeSpeed > 60) 
 	{
-		TorqueStartData =  (TorqueStartData < 200 ? 150 : (TorqueStartData > 700 ? 525 : (TorqueStartData * 3 >> 2)));
+		TorqueStartData =  (TorqueStartData < 200 ? 150 : (TorqueStartData > 700 ? 525 : ((TorqueStartData * 3) >> 2)));
 	}
 	else
 	{
@@ -705,9 +701,6 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 		  MC_TorqueProcess_Param.TorqueRefEnd = 0;
 			//停机处理
 			MC_MotorStop(&MC_StarFlag);
-			//缓启动标志置位
-			SoftStartFlag = SET;
-			SoftStartDelayTimeCount = 0;
 		}
 		else
 		{
@@ -740,7 +733,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_ECO.DecCnt;
 				//随力矩输入调节助力比
-				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(100, MC_AssisParam.Gear_ECO.Gain_K, MC_AssisParam.Gear_ECO.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
+				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_ECO.Gain_K >> 1, MC_AssisParam.Gear_ECO.Gain_K, MC_AssisParam.Gear_ECO.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
 				//根据助力增益调节助力比
 				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_ECO.Assist_K_GAIN / 100;
 				//给定下限
@@ -775,7 +768,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_NORM.DecCnt;
 				//随力矩输入调节助力比
-				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(100, MC_AssisParam.Gear_NORM.Gain_K, MC_AssisParam.Gear_NORM.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
+				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_NORM.Gain_K >> 1, MC_AssisParam.Gear_NORM.Gain_K, MC_AssisParam.Gear_NORM.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
 				//根据助力增益调节助力比
 				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_NORM.Assist_K_GAIN / 100;
 				//给定下限
@@ -811,7 +804,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_SPORT.DecCnt;
 				//随力矩输入调节助力比
-				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(100, MC_AssisParam.Gear_SPORT.Gain_K, MC_AssisParam.Gear_SPORT.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
+				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_SPORT.Gain_K >> 1, MC_AssisParam.Gear_SPORT.Gain_K, MC_AssisParam.Gear_SPORT.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
 				//根据助力增益调节助力比
 				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_SPORT.Assist_K_GAIN / 100;
 				//给定下限
@@ -846,7 +839,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				//控制输入给定减速斜率
 				TorqueDecStep = MC_AssisParam.Gear_TURBO.DecCnt;
 				//随力矩输入调节助力比
-				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(100, MC_AssisParam.Gear_TURBO.Gain_K, MC_AssisParam.Gear_TURBO.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
+				Torque_Temp = (uint16_t)((uint32_t)(MC_TorqueProcess_Param.TorqueApp * Coefficient_GainCal(MC_AssisParam.Gear_TURBO.Gain_K >> 1, MC_AssisParam.Gear_TURBO.Gain_K, MC_AssisParam.Gear_TURBO.TorqueApp_TH, MC_TorqueProcess_Param.TorqueApp)) >> 10);
 				//根据助力增益调节助力比
 				Torque_Temp = Torque_Temp * MC_ConfigParam1.UserAdjParam_TURBO.Assist_K_GAIN / 100;
 				//给定下限
@@ -944,44 +937,6 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 				}
 			}		
 		}		
-    else if(SoftStartFlag == SET)  //启动处理
-		{
-			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倍
-			}
-			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((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
-			{
-				SoftStartDelayTimeCount = 0;
-				SoftStartFlag = RESET;
-			}
-		}		
 		else //正常骑行
 		{
 			if((MC_TorqueProcess_Param.TorqueRef - MC_TorqueProcess_Param.TorqueRefEnd) > 2)

+ 7 - 7
User/Src/var.c

@@ -291,7 +291,7 @@ const nGearParam_Struct_t GearParam_Default_SMART_Volans_Plus =
 //ECO档位助力参数
 const nGearParam_Struct_t GearParam_Default_ECO_Pegasi =
 {
-  (uint16_t)381,
+  (uint16_t)476,
 	(uint16_t)560,
 	(uint16_t)100,
 	(uint16_t)937,
@@ -303,7 +303,7 @@ const nGearParam_Struct_t GearParam_Default_ECO_Pegasi =
 //NORM档位助力参数
 const nGearParam_Struct_t GearParam_Default_NORM_Pegasi =
 {
-  (uint16_t)914,
+  (uint16_t)1142,
 	(uint16_t)700,
 	(uint16_t)100,
 	(uint16_t)1250,
@@ -315,7 +315,7 @@ const nGearParam_Struct_t GearParam_Default_NORM_Pegasi =
 //SPORT档位助力参数
 const nGearParam_Struct_t GearParam_Default_SPORT_Pegasi =
 {
-  (uint16_t)1523,
+  (uint16_t)1903,
 	(uint16_t)840,
 	(uint16_t)100,
 	(uint16_t)1459,
@@ -327,7 +327,7 @@ const nGearParam_Struct_t GearParam_Default_SPORT_Pegasi =
 //TURBO档位助力参数
 const nGearParam_Struct_t GearParam_Default_TURBO_Pegasi =
 {
-  (uint16_t)2286,
+  (uint16_t)2857,
 	(uint16_t)980,
 	(uint16_t)100,
 	(uint16_t)2100,
@@ -340,10 +340,10 @@ const nGearParam_Struct_t GearParam_Default_TURBO_Pegasi =
 const nGearParam_Struct_t GearParam_Default_SMART_Pegasi =
 {
   (uint16_t)0,
-	(uint16_t)2000,
+	(uint16_t)1850,
 	(uint16_t)100,
 	(uint16_t)2100,
-	(uint8_t)3,
+	(uint8_t)4,
 	(uint8_t)1,
 	(uint16_t)1024
 };
@@ -482,7 +482,7 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"TT_KZ_010A.     ", 16);//TT_KZ_010A
-	strncpy(MC_VerInfo.FW_Version, (char*)"V3r0r3_20200114.", 16);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V3r0r5_20200316", 16);
 	
 	//电机型号
 	strncpy(MC_VerInfo.Mode, (char*)"MOTINOVA PEGASI.", 16);

+ 12 - 0
修改说明.txt

@@ -252,3 +252,15 @@ V3.0.2 20200110
 V3.0.3 20200114
 1 增加2号和3号力矩传感器零偏修正函数,3个力矩传感器的零偏能实时修正;
 2 修改力矩传感器零偏查询协议,通过上位机能查询当前电机所使用的零偏值;
+
+V3.0.5_20200313
+1、Sport和Turbo的低力矩衰减由100修改为400;
+2、删除缓启动处理;
+3、4档助力系数由2286修改为2886;
+4、版本号:V3.0.5_20200313
+
+V3.0.5_20200316
+基于V3.0.5_20200313修改
+1、删除缓启动相关变量;
+2、将4个档位低力矩衰减起始值修改为助力系数的一半;
+3、ECO的助力系数由381改为476,NORM的助力系数由914改为1142,SPORT的助力系数由1523改为1903,TURBO的助力系数由2886改为2857,SMART的阈值由2000修改为1850,加速值由3改为4。