|
|
@@ -128,37 +128,37 @@ static void PMSM_FOC_Reset_PID(void) {
|
|
|
static void PMSM_FOC_Conf_PID(void) {
|
|
|
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->kb = nv_get_foc_params()->pid_conf[PID_D_id].kb;
|
|
|
+ gFoc_Ctrl.pi_id->kd = nv_get_foc_params()->pid_conf[PID_D_id].kd;
|
|
|
gFoc_Ctrl.pi_id->DT = (1.0f/(float)CONFIG_IDQ_CTRL_TS);
|
|
|
|
|
|
gFoc_Ctrl.pi_iq->kp = nv_get_foc_params()->pid_conf[PID_Q_id].kp;
|
|
|
gFoc_Ctrl.pi_iq->ki = nv_get_foc_params()->pid_conf[PID_Q_id].ki;
|
|
|
- gFoc_Ctrl.pi_iq->kb = nv_get_foc_params()->pid_conf[PID_Q_id].kb;
|
|
|
+ gFoc_Ctrl.pi_iq->kd = nv_get_foc_params()->pid_conf[PID_Q_id].kd;
|
|
|
gFoc_Ctrl.pi_iq->DT = (1.0f/(float)CONFIG_IDQ_CTRL_TS);
|
|
|
|
|
|
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->kb = nv_get_foc_params()->pid_conf[PID_TRQ_id].kb;
|
|
|
+ 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_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->kb = nv_get_foc_params()->pid_conf[PID_Spd_id].kb;
|
|
|
+ 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_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->kb = nv_get_foc_params()->pid_conf[PID_Pow_id].kb;
|
|
|
+ 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_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->kb = nv_get_foc_params()->pid_conf[PID_Lock_id].kb;
|
|
|
+ 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_fw->kp = nv_get_foc_params()->pid_conf[PID_FW_id].kp;
|
|
|
gFoc_Ctrl.pi_fw->ki = nv_get_foc_params()->pid_conf[PID_FW_id].ki;
|
|
|
- gFoc_Ctrl.pi_fw->kb = nv_get_foc_params()->pid_conf[PID_FW_id].kb;
|
|
|
+ gFoc_Ctrl.pi_fw->kd = nv_get_foc_params()->pid_conf[PID_FW_id].kd;
|
|
|
gFoc_Ctrl.pi_fw->DT = (1.0f/(float)CONFIG_SPD_CTRL_TS);
|
|
|
PI_Controller_max(gFoc_Ctrl.pi_fw, 0, -CONFIG_MAX_FW_D_CURR);
|
|
|
}
|
|
|
@@ -525,7 +525,7 @@ static __INLINE float PMSM_FOC_Limit_Speed(float maxTrq) {
|
|
|
gFoc_Ctrl.pi_torque->min = 0;
|
|
|
|
|
|
float err = eRamp_get_intepolation(&gFoc_Ctrl.rtLim.rpmLimRamp) - gFoc_Ctrl.in.s_motRPM;
|
|
|
- gFoc_Ctrl.params.f_DCLim = PI_Controller_Run(gFoc_Ctrl.pi_torque, err);
|
|
|
+ gFoc_Ctrl.params.f_DCLim = PI_Controller_RunWithDiff(gFoc_Ctrl.pi_torque, err);
|
|
|
return maxTrq;
|
|
|
#else
|
|
|
gFoc_Ctrl.params.f_DCLim = gFoc_Ctrl.in.s_vDC;
|
|
|
@@ -962,7 +962,7 @@ static PI_Controller *_pid(u8 id) {
|
|
|
return pi;
|
|
|
}
|
|
|
|
|
|
-void PMSM_FOC_SetPid(u8 id, float kp, float ki, float kb) {
|
|
|
+void PMSM_FOC_SetPid(u8 id, float kp, float ki, float kd) {
|
|
|
if (id > PID_Max_id) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -970,11 +970,11 @@ void PMSM_FOC_SetPid(u8 id, float kp, float ki, float kb) {
|
|
|
if (pi != NULL) {
|
|
|
pi->kp = kp;
|
|
|
pi->ki = ki;
|
|
|
- pi->kb = kb;
|
|
|
+ pi->kd = kd;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void PMSM_FOC_GetPid(u8 id, float *kp, float *ki, float *kb) {
|
|
|
+void PMSM_FOC_GetPid(u8 id, float *kp, float *ki, float *kd) {
|
|
|
if (id > PID_Max_id) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -982,7 +982,7 @@ void PMSM_FOC_GetPid(u8 id, float *kp, float *ki, float *kb) {
|
|
|
if (pi != NULL) {
|
|
|
*kp = pi->kp;
|
|
|
*ki = pi->ki;
|
|
|
- *kb = pi->kb;
|
|
|
+ *kd = pi->kd;
|
|
|
}
|
|
|
}
|
|
|
|