Sfoglia il codice sorgente

调整编码器SPI速率为0.8Mbps, 调整PID 参数

guoqiang 11 mesi fa
parent
commit
954e6345d0
4 ha cambiato i file con 5331 aggiunte e 5349 eliminazioni
  1. 3 3
      Device/AngleSensor.c
  2. 51 24
      Project/AirControlValve.uvguix.JL200
  3. 5272 5317
      Project/JLinkLog.txt
  4. 5 5
      User/process.c

+ 3 - 3
Device/AngleSensor.c

@@ -31,11 +31,11 @@ void AngleSensor_Init(void)
 	/*清零配置结构体变量.*/
 	memset(&spiConfig, 0x00, sizeof(spiConfig));
 	
-	/*初始化SPI参数,波特率 = 2Mbps = (F_BCLK / (SCK_LOW+1 + SCK_HIGH+1)).*/
+	/*初始化SPI参数,波特率 = 0.8Mbps = (F_BCLK / (SCK_LOW+1 + SCK_HIGH+1)).*/
 	spiConfig.csSetup = 4;/*片选建立时间  = (CS_SETUP + 1) * CLK_PERIOD.*/
 	spiConfig.csHold  = 4;/*片选保持时间  = (CS_HOLD + 1) * CLK_PERIOD.*/
-	spiConfig.sckHigh = 5;/*SCK高电平时间 = (SCK_HIGH + 1) * CLK_PERIOD.*/
-	spiConfig.sckLow  = 5;/*SCK低电平时间 = (SCK_LOW + 1) * CLK_PERIOD.*/
+	spiConfig.sckHigh = 14;/*SCK高电平时间 = (SCK_HIGH + 1) * CLK_PERIOD.*/
+	spiConfig.sckLow  = 14;/*SCK低电平时间 = (SCK_LOW + 1) * CLK_PERIOD.*/
 	spiConfig.csIdle  = 3;/*两条数据间最短时间间隔 = (CS_IDLE + 1) * CLK_PERIOD.*/
 	spiConfig.mode   		= SPI_MASTER;//设置为主机模式
 	spiConfig.cpha	 		= SPI_CPHA_2EDGE;//设置数据采样相位,第2个边沿采样数据

File diff suppressed because it is too large
+ 51 - 24
Project/AirControlValve.uvguix.JL200


File diff suppressed because it is too large
+ 5272 - 5317
Project/JLinkLog.txt


+ 5 - 5
User/process.c

@@ -386,7 +386,7 @@ uint8_t Process_OpLock(uint8_t speed)
 		g_runReady =1;
 		g_runTime=0;
 		
-		PID_Init(&g_pid, 10, 0, 0, 50, 100);
+		PID_Init(&g_pid, 5, 1, 0, 30, 100);
 	}
 	
 	return 0;
@@ -401,7 +401,7 @@ uint8_t Process_OpUnlock(uint8_t speed)
 		g_runReady =1;
 		g_runTime=0;
 	
-		PID_Init(&g_pid,10, 0, 0, 50, 100);
+		PID_Init(&g_pid,5, 1, 0, 30, 100);
 	}
 
 	return 0;
@@ -419,10 +419,10 @@ uint8_t Process_OpSample(uint8_t speed)
 		g_motorstate = MOTOR_SAMPLEING;
 		g_runReady =1;
 		g_runTime=0;
-	
-		PID_Init(&g_pid,10, 0, 0, 50, 100);
 		
-		g_sample_position = (config->sample_threshold1 + config->sample_threshold2)/2;
+	  g_sample_position = (config->sample_threshold1 + config->sample_threshold2)/2;
+		
+		PID_Init(&g_pid,5, 1, 0, 30, 100);
 		
 	}