Use fast speed tracker for BEMF decoupling

This commit is contained in:
Benjamin Vedder 2021-05-07 09:47:45 +02:00
parent e9516b2fac
commit 0d6a9824e4
1 changed files with 6 additions and 6 deletions

View File

@ -3627,18 +3627,18 @@ static void control_current(volatile motor_all_state_t *motor, float dt) {
switch (conf_now->foc_cc_decoupling) {
case FOC_CC_DECOUPLING_CROSS:
dec_vd = state_m->iq_filter * state_m->speed_rad_s * lq * (3.0 / 2.0);
dec_vq = state_m->id_filter * state_m->speed_rad_s * ld * (3.0 / 2.0);
dec_vd = state_m->iq_filter * motor->m_speed_est_fast * lq * (3.0 / 2.0);
dec_vq = state_m->id_filter * motor->m_speed_est_fast * ld * (3.0 / 2.0);
break;
case FOC_CC_DECOUPLING_BEMF:
dec_bemf = state_m->speed_rad_s * conf_now->foc_motor_flux_linkage;
dec_bemf = motor->m_speed_est_fast * conf_now->foc_motor_flux_linkage;
break;
case FOC_CC_DECOUPLING_CROSS_BEMF:
dec_vd = state_m->iq_filter * state_m->speed_rad_s * lq * (3.0 / 2.0);
dec_vq = state_m->id_filter * state_m->speed_rad_s * ld * (3.0 / 2.0);
dec_bemf = state_m->speed_rad_s * conf_now->foc_motor_flux_linkage;
dec_vd = state_m->iq_filter * motor->m_speed_est_fast * lq * (3.0 / 2.0);
dec_vq = state_m->id_filter * motor->m_speed_est_fast * ld * (3.0 / 2.0);
dec_bemf = motor->m_speed_est_fast * conf_now->foc_motor_flux_linkage;
break;
default: