فهرست منبع

MC_PSX014EU-TC013039-MB2106-V7.0.1.1.0_20220418
1、力矩传感器故障检测条件由2个传感器异常改为3个传感器异常
2、优化母线电压补偿值

dail 3 سال پیش
والد
کامیت
5f11a43bad

+ 26 - 2
Core/Src/adc.c

@@ -480,11 +480,11 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
 	//更新母线电压 
 	BusVoltageFltSum += ((ADC1_Result[ADC1_RANK_VIN] << 10) - BusVoltageFltSum) >> 9;
 	MC_RunInfo.BusVoltage = (uint32_t)((BusVoltageFltSum >> 10) * 18382) >> 10;//3300 * 1047 / (4095 * 47)
-	MC_RunInfo.BusVoltage += (MC_RunInfo.BusCurrent >> 7) * 26; //根据母线电流和估算的线阻进行补偿, 补偿电阻 0.2 * 128 = 25.6
+	MC_RunInfo.BusVoltage += (MC_RunInfo.BusCurrent >> 7) * 12; //根据母线电流和估算的线阻进行补偿, 补偿电阻 0.1 * 128 = 12.8
 	
 	//更新母线电流
 	Temp_32 = (ADC1_Result[ADC1_RANK_CURRENT] - uw_current_offset) * 50000 >> 11;
-	Temp_32 = (Temp_32 <= 0) ? 0 : Temp_32;
+	Temp_32 = (Temp_32 <= 0) ? 0 : ((Temp_32 >= 50000) ? 50000 : Temp_32);
 	IdcFltSum += ((Temp_32 << 10) - IdcFltSum) >> 9;
 	MC_RunInfo.BusCurrent = IdcFltSum >> 10;
 	
@@ -556,6 +556,30 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
 			Temp_32 = ((Temp_32 <= 0) ? 0 : Temp_32 / 2);
 			break;
 		}
+		case 0x03://传感器1 2异常,取传感器3
+		{
+			Temp_16 = (ADC1_Result[ADC1_RANK_TORQUE_SENSOR_3] - TorqueSensor_3_Param.Torque_OffSetData.PresentData) * 100 / TorqueSensor_3_Param.Torque_Cal_K;
+			Temp_16 = (Temp_16 <= 0) ? 0 : Temp_16;
+			MC_RunInfo.TorqueSensorData3 = Temp_16 / 28;
+			Temp_32 = Temp_16;
+			break;
+		}
+		case 0x05://传感器1 3异常,取传感器2
+		{
+			Temp_16 = (ADC1_Result[ADC1_RANK_TORQUE_SENSOR_2] - TorqueSensor_2_Param.Torque_OffSetData.PresentData) * 100 / TorqueSensor_2_Param.Torque_Cal_K;
+			Temp_16 = (Temp_16 <= 0) ? 0 : Temp_16;
+			MC_RunInfo.TorqueSensorData2 = Temp_16 / 28;
+			Temp_32 = Temp_16;
+			break;
+		}
+		case 0x06://传感器2 3异常,取传感器1
+		{
+			Temp_16 = (ADC1_Result[ADC1_RANK_TORQUE_SENSOR_1] - TorqueSensor_1_Param.Torque_OffSetData.PresentData) * 100 / TorqueSensor_1_Param.Torque_Cal_K;
+			Temp_16 = (Temp_16 <= 0) ? 0 : Temp_16;
+			MC_RunInfo.TorqueSensorData1 = Temp_16 / 28;
+			Temp_32 = Temp_16;
+			break;
+		}	
 		default://超过2个传感器异常
 		{
 		  Temp_32 = 0;

+ 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>

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 2162 - 2162
MDK-ARM/QD007A_CTL_APP/QD007A_CTL_APP_CRC.hex


BIN
MDK-ARM/bin/MC_PSX014EU-TC013039-MB2106-V7.0.3.1.0_20220322.bin


BIN
MDK-ARM/bin/MC_PSX014EU-TC013039-MB2106-V7.0.3.1.0_20220418.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 4 - 4
User/Src/fault_check.c

@@ -105,9 +105,9 @@ void MC_Fault_TorqueSensor_Process_Single(uint16_t ADC_Data, uint8_t Num, Toruqe
 
 	p_SensorCheck->DiffStdResult = GetStandardDeviation(p_SensorCheck->TorqueArray, sizeof(p_SensorCheck->TorqueArray) / 2);
 	//标准差较小
-	if(p_SensorCheck->DiffStdResult < 12)
+	if(p_SensorCheck->DiffStdResult < 10)
 	{
-		DelayTime = 60000 / Cadence;  //根据踏频计算踩踏1圈的时间,要考虑空踩情况
+		DelayTime = 120000 / Cadence;  //根据踏频计算踩踏2圈的时间
 		DelayTime = (DelayTime < 250) ? 250 : DelayTime;
 		if((HAL_GetTick() - p_SensorCheck->TrigTimeCnt_1) > (DelayTime * 2))
 		{
@@ -188,7 +188,7 @@ void MC_Fault_TorqueSensor_Process(uint16_t* SensorData,
 	//综合判断
 	if(p_MC_ErrorCode->ERROR_Bit.Fault_TorqueSensor == 0)
 	{
-	  if((SensorFaultStatus->FaultBit.Sensor1 + SensorFaultStatus->FaultBit.Sensor2 + SensorFaultStatus->FaultBit.Sensor3) > 1)//超过2个传感器异常
+	  if((SensorFaultStatus->FaultBit.Sensor1 + SensorFaultStatus->FaultBit.Sensor2 + SensorFaultStatus->FaultBit.Sensor3) > 2)  //3个传感器异常
 		{
 		  p_MC_ErrorCode->ERROR_Bit.Fault_TorqueSensor = 1;
 			//记录故障日志
@@ -1057,7 +1057,7 @@ void MC_Fault_Check_Process(void)
 	MC_Fault_MOS_Process(ADC_3ShuntCurrent_RMSValue, &MC_ErrorCode);
 
   //TE故障检测
-	#if 1
+	#if 0
 	MC_Fault_TE_Process(&MC_TE_SensorStatus, IsComOK_TE.IsOK_Flag, &MC_ErrorCode);
 	#endif
 	

+ 1 - 1
User/Src/var.c

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

+ 18 - 0
修改说明.txt

@@ -389,6 +389,24 @@ MC_PSX015EU-TC013039-MB2106-V7.0.1.0.1_20210927
 3、按照客户需求开机后自动打开车灯;
 4、增加根据车灯显示故障码,仅存在故障,且车速为0时提示。
 
+MC_PSX015EU-TC013039-MB2106-V7.0.1.0.2_20211214
+1、兼容TT-KZ-010F版本的修改;
+2、客户反馈起步较强,启动模式改为软启动,Smart助力参数由560改为960;
+
+MC_PSX015EU-TC013039-MB2106-V7.0.1.0.3_20211215
+1、上版本将车速计算改为了踏频,存在问题,该版本调整。
+
+MC_PSX014EU-TC013039-MB2106-V7.0.1.0.4_20220309
+1、客户反馈Smart助力较弱,将Smart助力参数调整为460
+2、电机型号改为PSX014EU
+
+MC_PSX014EU-TC013039-MB2106-V7.0.1.1.0_20220316
+1、基于上一版本修改版本号,用于越南试制
+
+MC_PSX014EU-TC013039-MB2106-V7.0.1.1.0_20220418
+1、力矩传感器故障检测条件由2个传感器异常改为3个传感器异常
+2、优化母线电压补偿值
+
 
 
 

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است