瀏覽代碼

相电压滤波参数调整到bsp.h中,根据硬件定

Signed-off-by: kevin <huhui@sharkgulf.com>
kevin 2 年之前
父節點
當前提交
be463542af

+ 0 - 3
Applications/bsp/gd32/board_mc105_v3.h

@@ -224,9 +224,6 @@
 #define W_VOL_ADC_RCU 	RCU_GPIOA
 #define W_VOL_ADC_MODE 	GPIO_MODE_AIN
 
-#define PHASE_VOL_R (40*1000.0f)
-#define PHASE_VOL_R1 (1*1000.0f)
-#define PHASE_VOL_C1 (470e-9f) //470nF
 #define PHASE_VOL_Gain  ((PHASE_VOL_R + PHASE_VOL_R1)/PHASE_VOL_R1)
 #define Phase_Vol_LPF_R  ((PHASE_VOL_R * PHASE_VOL_R1)/(PHASE_VOL_R + PHASE_VOL_R1))
 #define PHASE_VOL_LPF_BAND  (1/(2*3.14F*Phase_Vol_LPF_R*PHASE_VOL_C1))

+ 8 - 0
Applications/bsp/gd32/bsp.h

@@ -43,18 +43,26 @@
 #define CONFIG_CURRENT_SENSOR_CEOF 0.303F
 #define CONFIG_BOARD_MAX_VOLTAGE 120.0f
 #define CONFIG_BOARD_MIN_VOLTAGE 50.0f
+#define PHASE_VOL_R (40*1000.0f)
+#define PHASE_VOL_R1 (1*1000.0f)
+#define PHASE_VOL_C1 (10e-9f) //10nF
 #include "bsp/gd32/board_mc105_v3.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MC105"
 #define CONFIG_MC105_HW_VERSION 3
+#define CONFIG_MOT_IND_USE_PHASE_SAMPLE 0 //电机参数离线识别使用采集的相电压
 
 #elif defined (CONFIG_BOARD_MC124)
 #define CONFIG_CURRENT_SENSOR_CEOF 0.313F
 #define CONFIG_BOARD_MAX_VOLTAGE 90.0f
 #define CONFIG_BOARD_MIN_VOLTAGE 40.0f
+#define PHASE_VOL_R (40*1000.0f)
+#define PHASE_VOL_R1 (1*1000.0f)
+#define PHASE_VOL_C1 (470e-9f) //470nF
 #include "bsp/gd32/board_mc105_v3.h"
 #define CONFIG_BOARD_MCXXX
 #define CONFIG_BOARD_NAME "MCXXX"
 #define CONFIG_MC105_HW_VERSION 3
+#define CONFIG_MOT_IND_USE_PHASE_SAMPLE 1 //电机参数离线识别使用采集的相电压
 #endif
 #endif /* __BSP_GD32_H__ */

+ 0 - 1
Applications/foc/foc_config.h

@@ -66,7 +66,6 @@
 
 #define CONFIG_ENABLE_IAB_REC 1   // for phase current/voltage debug
 
-#define CONFIG_MOT_IND_USE_PHASE_SAMPLE 1 //电机参数离线识别使用采集的相电压
 
 #ifdef CONFIG_SPEED_LADRC
 	#define CONFIG_LADRC_Wo  200.0F

+ 1 - 1
Applications/foc/motor/mot_params_ind.c

@@ -100,7 +100,7 @@ static void _rs_ind_timer_handler(shark_timer_t *t) {
 		}
 		break;
 	case 3: {
-		float dtc = ((float)CONFIG_HW_DeadTime/(float)FOC_PWM_period) * motor.controller.foc.in.dc_vol * TWO_BY_THREE;
+		float dtc = ((float)CONFIG_HW_DeadTime/(float)FOC_PWM_period) * motor.controller.foc.in.dc_vol;
 		float vd = rs_vd_now * TWO_BY_THREE - dtc;
 		float id = motor.controller.foc.out.curr_dq.d;
 		float rs = vd / (id + 0.0001f);