Kaynağa Gözat

扭矩过零点修改

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 2 yıl önce
ebeveyn
işleme
5eb6fdd78d
1 değiştirilmiş dosya ile 6 ekleme ve 5 silme
  1. 6 5
      Applications/foc/core/PMSM_FOC_Core.c

+ 6 - 5
Applications/foc/core/PMSM_FOC_Core.c

@@ -759,15 +759,16 @@ u8 PMSM_FOC_CtrlMode(void) {
 }
 
 #define RAMPE_1 CONFIG_RAMP_FIRST_TARGET
+#define NORMAL_STEP 3.0F
 static void crosszero_step_towards(float *value, float target) {
-	static float no_cro_step = 2.0f;
+	static float no_cro_step = NORMAL_STEP;
 	float v_now = *value;
 	bool cross_zero = false;
 
 	float high_ramp_torque = CONFIG_RAMP_SECOND_TARGET;
 	if (target > 0) {
 		if (v_now < -RAMPE_1) {
-			step_towards(value, -RAMPE_1, 2.0f);
+			step_towards(value, -RAMPE_1, NORMAL_STEP);
 			cross_zero = true;
 		}else if (v_now >= -RAMPE_1 && v_now <= high_ramp_torque) {
 			step_towards(value, target, 0.03f);
@@ -775,7 +776,7 @@ static void crosszero_step_towards(float *value, float target) {
 		}
 	}else if (target == 0) {
 		if (v_now > high_ramp_torque) {
-			step_towards(value, high_ramp_torque, 1.0f);
+			step_towards(value, high_ramp_torque, NORMAL_STEP);
 			cross_zero = true;
 		}else if (v_now >= RAMPE_1 && v_now <= high_ramp_torque) {
 			step_towards(value, target, 0.03f);
@@ -783,7 +784,7 @@ static void crosszero_step_towards(float *value, float target) {
 		}
 	}else {
 		if (v_now > high_ramp_torque) {
-			step_towards(value, high_ramp_torque, 20.0f);
+			step_towards(value, high_ramp_torque, NORMAL_STEP);
 			cross_zero = true;
 		}else if (v_now >= -RAMPE_1 && v_now <= high_ramp_torque) {
 			step_towards(value, target, 0.03f);
@@ -791,7 +792,7 @@ static void crosszero_step_towards(float *value, float target) {
 		}
 	}
 	if (!cross_zero) {
-		step_towards(&no_cro_step, 3.0f, 0.1f);
+		step_towards(&no_cro_step, NORMAL_STEP, 0.1f);
 		step_towards(value, target, no_cro_step);
 	}else {
 		no_cro_step = 0.5f;