|
|
@@ -131,6 +131,7 @@ static void PMSM_FOC_Reset_PID(void) {
|
|
|
}
|
|
|
|
|
|
static void PMSM_FOC_Conf_PID(void) {
|
|
|
+ float slow_ctrl_ts = (1.0f/(float)CONFIG_SPD_CTRL_TS);
|
|
|
gFoc_Ctrl.pi_id.kp = nv_get_foc_params()->pid_conf[PID_D_id].kp;
|
|
|
gFoc_Ctrl.pi_id.ki = nv_get_foc_params()->pid_conf[PID_D_id].ki;
|
|
|
gFoc_Ctrl.pi_id.kd = nv_get_foc_params()->pid_conf[PID_D_id].kd;
|
|
|
@@ -144,25 +145,25 @@ static void PMSM_FOC_Conf_PID(void) {
|
|
|
gFoc_Ctrl.pi_power.kp = nv_get_foc_params()->pid_conf[PID_Pow_id].kp;
|
|
|
gFoc_Ctrl.pi_power.ki = nv_get_foc_params()->pid_conf[PID_Pow_id].ki;
|
|
|
gFoc_Ctrl.pi_power.kd = nv_get_foc_params()->pid_conf[PID_Pow_id].kd;
|
|
|
- gFoc_Ctrl.pi_power.DT = (1.0f/(float)CONFIG_SPD_CTRL_TS);
|
|
|
+ gFoc_Ctrl.pi_power.DT = slow_ctrl_ts;
|
|
|
|
|
|
gFoc_Ctrl.pi_lock.kp = nv_get_foc_params()->pid_conf[PID_Lock_id].kp;
|
|
|
gFoc_Ctrl.pi_lock.ki = nv_get_foc_params()->pid_conf[PID_Lock_id].ki;
|
|
|
gFoc_Ctrl.pi_lock.kd = nv_get_foc_params()->pid_conf[PID_Lock_id].kd;
|
|
|
- gFoc_Ctrl.pi_lock.DT = (1.0f/(float)CONFIG_SPD_CTRL_TS);
|
|
|
+ gFoc_Ctrl.pi_lock.DT = slow_ctrl_ts;
|
|
|
|
|
|
#ifdef CONFIG_SPEED_LADRC
|
|
|
- ladrc_init(&gFoc_Ctrl.vel_lim_adrc, 1.0f/(float)CONFIG_SPD_CTRL_TS, CONFIG_LADRC_Wo, CONFIG_LADRC_Wcv, CONFIG_LADRC_B0);
|
|
|
- ladrc_init(&gFoc_Ctrl.vel_adrc, 1.0f/(float)CONFIG_SPD_CTRL_TS, CONFIG_LADRC_Wo, CONFIG_LADRC_Wcv, CONFIG_LADRC_B0);
|
|
|
+ ladrc_init(&gFoc_Ctrl.vel_lim_adrc, slow_ctrl_ts, nv_get_foc_params()->f_adrc_vel_lim_Wo, nv_get_foc_params()->f_adrc_vel_lim_Wcv, nv_get_foc_params()->f_adrc_vel_lim_B0);
|
|
|
+ ladrc_init(&gFoc_Ctrl.vel_adrc, slow_ctrl_ts, nv_get_foc_params()->f_adrc_vel_lim_Wo, nv_get_foc_params()->f_adrc_vel_lim_Wcv, nv_get_foc_params()->f_adrc_vel_lim_B0);
|
|
|
#else
|
|
|
gFoc_Ctrl.pi_torque.kp = nv_get_foc_params()->pid_conf[PID_TRQ_id].kp;
|
|
|
gFoc_Ctrl.pi_torque.ki = nv_get_foc_params()->pid_conf[PID_TRQ_id].ki;
|
|
|
gFoc_Ctrl.pi_torque.kd = nv_get_foc_params()->pid_conf[PID_TRQ_id].kd;
|
|
|
- gFoc_Ctrl.pi_torque.DT = (1.0f/(float)CONFIG_SPD_CTRL_TS);
|
|
|
+ gFoc_Ctrl.pi_torque.DT = slow_ctrl_ts;
|
|
|
gFoc_Ctrl.pi_speed.kp = nv_get_foc_params()->pid_conf[PID_Spd_id].kp;
|
|
|
gFoc_Ctrl.pi_speed.ki = nv_get_foc_params()->pid_conf[PID_Spd_id].ki;
|
|
|
gFoc_Ctrl.pi_speed.kd = nv_get_foc_params()->pid_conf[PID_Spd_id].kd;
|
|
|
- gFoc_Ctrl.pi_speed.DT = (1.0f/(float)CONFIG_SPD_CTRL_TS);
|
|
|
+ gFoc_Ctrl.pi_speed.DT = slow_ctrl_ts;
|
|
|
#endif
|
|
|
}
|
|
|
|