Browse Source

Bike2Go无仪表开机进入TURBO,修改过热降功率曲线。
该版本不适用于小优化前。

hero 1 year ago
parent
commit
8b6cd29423

+ 2 - 2
MDK-ARM/QD007A_CTL_APP.uvprojx

@@ -149,7 +149,7 @@
             <RestoreSysVw>1</RestoreSysVw>
           </Target>
           <RunDebugAfterBuild>0</RunDebugAfterBuild>
-          <TargetSelection>6</TargetSelection>
+          <TargetSelection>1</TargetSelection>
           <SimDlls>
             <CpuDll></CpuDll>
             <CpuDllArguments></CpuDllArguments>
@@ -163,7 +163,7 @@
             <PeripheralDll></PeripheralDll>
             <PeripheralDllArguments></PeripheralDllArguments>
             <InitializationFile></InitializationFile>
-            <Driver>Segger\JL2CM3.dll</Driver>
+            <Driver>BIN\UL2CM3.DLL</Driver>
           </TargetDlls>
         </DebugOption>
         <Utilities>

File diff suppressed because it is too large
+ 2406 - 2406
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 6 - 7
MDK-ARM/stm32f1xx_stucpuregsaddressing.lst

@@ -123,19 +123,18 @@ ARM Macro Assembler    Page 2
    99 00000096                 END
 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
 ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuregsaddressing.d -o.\qd007a_ctl_a
-pp\stm32f1xx_stucpuregsaddressing.o -ID:\MOTINOVAϵͳ\Motor\TT_KZ_010A\TC013039
-±¼¼¯¶¨ÖƳÌÐò\TT-KZ-010A_CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\ARM\P
-ACK\ARM\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.
-0\Device\Include --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION
- SETA 522" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --list=
+pp\stm32f1xx_stucpuregsaddressing.o -ID:\Documents\Work\SoftDesign\TT-KZ-010A_C
+TRL_APP\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.4.0\CMSIS\Include -IC:\Ke
+il_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB 
+SETA 1" --predefine="__UVISION_VERSION SETA 515" --predefine="_RTE_ SETA 1" --p
+redefine="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuregsaddressing.lst ..\Sel
 
 
 
 ARM Macro Assembler    Page 3 
 
 
-stm32f1xx_stucpuregsaddressing.lst ..\SelfTestUser\src_specific\stm32f1xx_STUCp
-uRegsAddressing.s
+fTestUser\src_specific\stm32f1xx_STUCpuRegsAddressing.s
 
 
 

+ 6 - 7
MDK-ARM/stm32f1xx_stucpuwalkpatkeil.lst

@@ -1593,13 +1593,12 @@ ARM Macro Assembler    Page 25
  1172 000006D0                 END
 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
 ork --depend=.\qd007a_ctl_app\stm32f1xx_stucpuwalkpatkeil.d -o.\qd007a_ctl_app\
-stm32f1xx_stucpuwalkpatkeil.o -ID:\MOTINOVAϵͳ\Motor\TT_KZ_010A\TC013039±¼¼¯¶¨
-ÖÆ³ÌÐò\TT-KZ-010A_CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\ARM\PACK\AR
-M\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Devi
-ce\Include --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 
-522" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f
-1xx_stucpuwalkpatkeil.lst ..\SelfTestUser\src_specific\stm32f1xx_STUCpuWalkpatK
-EIL.s
+stm32f1xx_stucpuwalkpatkeil.o -ID:\Documents\Work\SoftDesign\TT-KZ-010A_CTRL_AP
+P\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.4.0\CMSIS\Include -IC:\Keil_v5\
+ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1
+" --predefine="__UVISION_VERSION SETA 515" --predefine="_RTE_ SETA 1" --predefi
+ne="STM32F10X_MD SETA 1" --list=stm32f1xx_stucpuwalkpatkeil.lst ..\SelfTestUser
+\src_specific\stm32f1xx_STUCpuWalkpatKEIL.s
 
 
 

+ 6 - 7
MDK-ARM/stm32f1xx_sturamwalkpatkeil.lst

@@ -430,13 +430,12 @@ ARM Macro Assembler    Page 7
   331 000001F2                 END
 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
 ork --depend=.\qd007a_ctl_app\stm32f1xx_sturamwalkpatkeil.d -o.\qd007a_ctl_app\
-stm32f1xx_sturamwalkpatkeil.o -ID:\MOTINOVAϵͳ\Motor\TT_KZ_010A\TC013039±¼¼¯¶¨
-ÖÆ³ÌÐò\TT-KZ-010A_CTRL_APP\MDK-ARM\RTE\_QD007A_CTL_APP -IC:\Keil_v5\ARM\PACK\AR
-M\CMSIS\5.0.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Devi
-ce\Include --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 
-522" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --list=stm32f
-1xx_sturamwalkpatkeil.lst ..\SelfTestUser\src_specific\stm32f1xx_STURamWalkpatK
-EIL.s
+stm32f1xx_sturamwalkpatkeil.o -ID:\Documents\Work\SoftDesign\TT-KZ-010A_CTRL_AP
+P\MDK-ARM\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.4.0\CMSIS\Include -IC:\Keil_v5\
+ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1
+" --predefine="__UVISION_VERSION SETA 515" --predefine="_RTE_ SETA 1" --predefi
+ne="STM32F10X_MD SETA 1" --list=stm32f1xx_sturamwalkpatkeil.lst ..\SelfTestUser
+\src_specific\stm32f1xx_STURamWalkpatKEIL.s
 
 
 

+ 26 - 14
User/Src/motor_control.c

@@ -130,16 +130,19 @@ uint16_t MC_Cal_K_ByVoltage(uint16_t Voltage, uint16_t DesignVol, uint16_t K_Vol
 	return(Result);
 }
 
-//随温度计算助力衰减系数
+//随温度计算助力衰减系数,温度区间20℃
 uint16_t MC_Cal_K_ByTemperature(uint16_t CoilTemp, uint16_t AlarmTempTH)
 {
   uint32_t CalTemp;
 	uint16_t Result = 1024;
 	
-	if(CoilTemp > AlarmTempTH)
+	if(CoilTemp > AlarmTempTH + 20)
 	{
-	  CalTemp = (uint32_t)AlarmTempTH * AlarmTempTH * 1024;
-		Result = (uint16_t)(CalTemp / CoilTemp / CoilTemp);
+	  Result = 256;
+	}
+	else if(CoilTemp > AlarmTempTH)
+	{
+	  Result = 1024 - (CoilTemp - AlarmTempTH) * 38;
 	}
 	else
 	{
@@ -437,7 +440,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Gas_Process(uint16_t SensorData, MC_GearSt
 	static uint16_t K_ByVoltage_Set_Old = 1024;
 	uint16_t K_ByVoltage_Set;
 	static uint16_t K_ByVoltage_Result;
-	uint16_t K_ByTemperature_Set;
+	uint16_t K_ByTemperature_Set, K_ByTemperature_SetTemp[3];
 	static uint16_t K_ByTemperature_Result;
 
 	//根据电压调节输出
@@ -446,8 +449,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Gas_Process(uint16_t SensorData, MC_GearSt
   K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
 	
 	//根据温度调节输出
-	K_ByTemperature_Set = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, MC_ConfigParam1.TempTH_Alarm); //根据温度计算衰减比例
-	K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
+	K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 10));     //根据PCB温度衰减系数,85℃到105℃
+	K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5));      //根据MOS温度衰减系数,100℃到120℃
+	K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15));     //根据电机温度衰减系数,110℃到130℃
+	K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);	
+	K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理	
 	
 	#else
 	
@@ -570,7 +576,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Walk_Process(MC_WorkMode_Struct_t p_MC_Wor
 	static uint16_t K_ByVoltage_Set_Old = 1024;
 	uint16_t K_ByVoltage_Set;
 	static uint16_t K_ByVoltage_Result;
-	uint16_t K_ByTemperature_Set;
+	uint16_t K_ByTemperature_Set, K_ByTemperature_SetTemp[3];
 	static uint16_t K_ByTemperature_Result;
 
 	//根据电压调节输出
@@ -579,7 +585,10 @@ MC_CalParam_Struct_t MC_AssistRunMode_Walk_Process(MC_WorkMode_Struct_t p_MC_Wor
   K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
 	
 	//根据温度调节输出
-	K_ByTemperature_Set = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, MC_ConfigParam1.TempTH_Alarm); //根据温度计算衰减比例
+	K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 15));     //根据PCB温度衰减系数,80℃到100℃
+	K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5));      //根据MOS温度衰减系数,100℃到120℃
+	K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15));    //根据电机温度衰减系数,110℃到130℃
+	K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);	
 	K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
 	
 	#else
@@ -1125,7 +1134,7 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
 	static uint16_t K_ByVoltage_Set_Old = 1024;
 	uint16_t K_ByVoltage_Set;
 	static uint16_t K_ByVoltage_Result;
-	uint16_t K_ByTemperature_Set;
+	uint16_t K_ByTemperature_Set, K_ByTemperature_SetTemp[3];
 	static uint16_t K_ByTemperature_Result;
 
 	//根据电压调节输出
@@ -1134,8 +1143,11 @@ MC_CalParam_Struct_t MC_AssistRunMode_Torque_Process(uint16_t SenorData, MC_Gear
   K_ByVoltage_Result = MC_DataSet_Linear_Process(K_ByVoltage_Set, K_ByVoltage_Result, 1, 1); //设定值与给定值线性处理
 	
 	//根据温度调节输出
-	K_ByTemperature_Set = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, MC_ConfigParam1.TempTH_Alarm); //根据温度计算衰减比例
-	K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理
+	K_ByTemperature_SetTemp[0] = MC_Cal_K_ByTemperature(MC_RunInfo.T_PCB, (MC_ConfigParam1.TempTH_Alarm - 10));     //根据PCB温度衰减系数,85℃到105℃
+	K_ByTemperature_SetTemp[1] = MC_Cal_K_ByTemperature(MC_RunInfo.T_MCU, (MC_ConfigParam1.TempTH_Alarm + 5));      //根据MOS温度衰减系数,100℃到120℃
+	K_ByTemperature_SetTemp[2] = MC_Cal_K_ByTemperature(MC_RunInfo.T_Coil, (MC_ConfigParam1.TempTH_Alarm + 15));     //根据电机温度衰减系数,110℃到130℃
+	K_ByTemperature_Set = GetMinData(K_ByTemperature_SetTemp, 3);	
+	K_ByTemperature_Result = MC_DataSet_Linear_Process(K_ByTemperature_Set, K_ByTemperature_Result, 1, 1); //设定值与给定值线性处理	
 	
 	#else
 	
@@ -1208,9 +1220,9 @@ void MC_Init(void)
 	TorqueOffSetData_Process(&TorqueSensor_3_Param.Torque_OffSetData, ADC1_Result[ADC1_RANK_TORQUE_SENSOR_3]);//112ms
 	
 	//智能档位初始化处理
-	if(MC_ConfigParam1.NoPBU_Flag == MC_SUPPORT_ENABLE)
+	if(1) //(MC_ConfigParam1.NoPBU_Flag == MC_SUPPORT_ENABLE)
 	{
-	  MC_ControlCode.GearSt = MC_GearSt_SMART;
+	  MC_ControlCode.GearSt = MC_GearSt_Torque_TURBO; //MC_GearSt_SMART;
 		MC_ControlCode.LightSwitch = MC_LightSwitch_ON;
 		Update_MC_ControlCode_Back();
 	}

+ 2 - 2
User/Src/var.c

@@ -497,8 +497,8 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"TTKZ010D.       ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V7r0r3_20220729.", 16);
-	strncpy(Firmware_Special, (char*)"TC013039-MB2106-V1r1.           ", 32);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V7r0r3_20240130.", 16);
+	strncpy(Firmware_Special, (char*)"TC013039-MB2106-V1r2.           ", 32);
 	if(MCUManufacturer == NoName) MC_VerInfo.HW_Version[10] = '0';
 	else if(MCUManufacturer == STM32F103RBT6) MC_VerInfo.HW_Version[10] = '1';
 	else if(MCUManufacturer == APM32F103RBT6) MC_VerInfo.HW_Version[10] = '2';

Some files were not shown because too many files changed in this diff