Эх сурвалжийг харах

2.1.5_20201126 TC013054-MB2001-V0r1
1、按照新的编码规则修改软件特性说明;
2、车速滤波还原为滑动均值滤波;
3、车速停止时,将滑动均值滤波数组填充为0,解决第一个信号有车速,然后马上掉零的问题;
4、软件版本:2.1.5_20201126 特性说明:TC013054-MB2001-V0r1

dail.zhou 4 жил өмнө
parent
commit
a0a6a05ed0

BIN
MDK-ARM/bin/MC_VS7500-TC013054-MB2001-V2.1.5.0.1_20201126.bin


BIN
MDK-ARM/bin/QD007A_CTL_APP.bin


+ 1 - 0
User/Inc/math_tools.h

@@ -28,4 +28,5 @@ extern int16_t accDecProcess(int16_t V_Set,	\
 extern uint16_t Standard_deviation_aver(uint16_t *data,uint8_t len, uint16_t *pAver);
 extern uint8_t CheckArrayIs0(uint8_t* Data, uint16_t Len);
 extern void MinToMax(uint16_t* Input, uint16_t Length);
+extern void ArrayFillZero(uint16_t* Array, uint16_t Length);
 #endif

+ 9 - 0
User/Src/math_tools.c

@@ -460,3 +460,12 @@ void MinToMax(uint16_t* Input, uint16_t Len)
 	}
 }
 
+/*Ęý×éĚîłä0*/
+void ArrayFillZero(uint16_t* Array, uint16_t Length)
+{
+  uint16_t i;
+	for(i=0; i<Length; i++)
+	{
+	  Array[i] = 0;
+	}
+}

+ 3 - 2
User/Src/speed_sensor.c

@@ -60,8 +60,8 @@ void SpeedSensor_Process(MC_SpeedSensorData_Struct_t* p_MC_SpeedSensorData, uint
 			}
 			p_MC_SpeedSensorData->Speed_Data = (uint32_t)WheelSize * 360 / Poles  / p_MC_SpeedSensorData->DiffTime_ms;//单位0.1km/h
 			
-			//值滤波
-			*AvgResult = MovingMiddleFilter(p_MC_SpeedSensorData->Speed_Data, FiltTemp, sizeof(FiltTemp) >> 1);
+			//滑动均值滤波
+			*AvgResult = MovingAverageFilter(p_MC_SpeedSensorData->Speed_Data, FiltTemp, sizeof(FiltTemp) >> 1);
 			//在确定停止前进行衰减
 			if((HAL_GetTick() - p_MC_SpeedSensorData->TrigSysTime) > (p_MC_SpeedSensorData->DiffTime_ms * 2))
 			{
@@ -73,6 +73,7 @@ void SpeedSensor_Process(MC_SpeedSensorData_Struct_t* p_MC_SpeedSensorData, uint
 		{
 			p_MC_SpeedSensorData->Speed_Data = 0;
 			*AvgResult = 0;
+			ArrayFillZero(FiltTemp, sizeof(FiltTemp) >> 1);
 			p_MC_SpeedSensorData->DiffTime_ms = 0xFFFFFFFF;
 			return;
 		}

+ 2 - 2
User/Src/var.c

@@ -489,8 +489,8 @@ void Var_Init(void)
 		
 	//MC版本信息初始化,Mode和SN从EEPROM读取
   strncpy(MC_VerInfo.HW_Version, (char*)"QD007G.         ", 16);
-	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r5_20200904.", 16);
-	strncpy(Firmware_Special, (char*)"TC013054-MB2001-A-V1r1.         ", 32);
+	strncpy(MC_VerInfo.FW_Version, (char*)"V2r1r5_20201126.", 16);
+	strncpy(Firmware_Special, (char*)"TC013054-MB2001-V0r1.           ", 32);
 		
 	//电机型号
 	strncpy(MC_VerInfo.Mode, (char*)"VL6500 & VS7500.", 16);

+ 6 - 0
修改说明.txt

@@ -340,6 +340,12 @@ V2.1.5_20200903
 2、车速滤波采用滑动中值滤波;
 3、软件版本:2.1.5_20200904 特性说明:TC013054-MB2001-A-V1r1
 
+2.1.5_20201126 TC013054-MB2001-V0r1
+1、按照新的编码规则修改软件特性说明;
+2、车速滤波还原为滑动均值滤波;
+3、车速停止时,将滑动均值滤波数组填充为0,解决第一个信号有车速,然后马上掉零的问题;
+4、软件版本:2.1.5_20201126 特性说明:TC013054-MB2001-V0r1
+