|
|
@@ -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;
|