Эх сурвалжийг харах

修改pi的变量名称为小写

Signed-off-by: unknown <huhui@sharkgulf.com>
unknown 2 жил өмнө
parent
commit
e15534a374

+ 25 - 25
Applications/foc/core/PI_Controller.h

@@ -9,9 +9,9 @@ typedef struct {
 	float  kd;
 	float  max;
 	float  min;
-	float  Ui;
+	float  ui;
 	float  sat;
-	float  DT;
+	float  ts;
 	bool   is_sat;
 }PI_Controller;
 
@@ -26,7 +26,7 @@ static __INLINE void PI_Controller_max(PI_Controller *pi, float max, float min)
 	pi->min = min;
 }
 static __INLINE void PI_Controller_Reset(PI_Controller *pi, float init) {
-	pi->Ui = (init);
+	pi->ui = (init);
 	pi->sat = 0.0f;
 	pi->is_sat = false;
 }
@@ -34,9 +34,9 @@ static __INLINE void PI_Controller_Reset(PI_Controller *pi, float init) {
 static __INLINE float PI_Controller_Run(PI_Controller *pi, float err) {
 	float kp_err = (err) * pi->kp;
 	float ki_err = (err) * pi->ki;
-	float integral = ki_err * pi->DT;
-	pi->Ui = fclamp(pi->Ui + integral, pi->min, pi->max);
-	float out = pi->Ui + kp_err;
+	float integral = ki_err * pi->ts;
+	pi->ui = fclamp(pi->ui + integral, pi->min, pi->max);
+	float out = pi->ui + kp_err;
 	float sat_out = fclamp(out, pi->min, pi->max);
 	if (out != sat_out) {
 		pi->is_sat = true;
@@ -49,16 +49,16 @@ static __INLINE float PI_Controller_Run(PI_Controller *pi, float err) {
 static __INLINE float PI_Controller_RunVel(PI_Controller *pi, float err) {
 	float kp_err = (err) * pi->kp;
 	float ki_err = (kp_err) * pi->ki;
-	float integral = ki_err * pi->DT;
+	float integral = ki_err * pi->ts;
 
-	pi->Ui = pi->Ui + integral;
-	float out = pi->Ui + kp_err;
+	pi->ui = pi->ui + integral;
+	float out = pi->ui + kp_err;
 	if (out > pi->max) {
 		out = pi->max;
-		pi->Ui = out - kp_err;
+		pi->ui = out - kp_err;
 	}else if (out < pi->min) {
 		out = pi->min;
-		pi->Ui = out - kp_err;
+		pi->ui = out - kp_err;
 	}
 	return out;
 }
@@ -68,18 +68,18 @@ static __INLINE float PI_Controller_RunVel(PI_Controller *pi, float err) {
 static __INLINE float PI_Controller_Current(PI_Controller *pi, float err, float ff) {
 	float kp_err = (err) * pi->kp;
 	float ki_err = (kp_err) * pi->ki;
-	float integral = ki_err * pi->DT;
+	float integral = ki_err * pi->ts;
 
-	pi->Ui = pi->Ui + integral;
-	float out = pi->Ui + kp_err + ff;
+	pi->ui = pi->ui + integral;
+	float out = pi->ui + kp_err + ff;
 	if (out > pi->max) {
 		out = pi->max;
 		pi->is_sat = true;
-		pi->Ui = out - (kp_err + ff);
+		pi->ui = out - (kp_err + ff);
 	}else if (out < pi->min) {
 		out = pi->min;
 		pi->is_sat = true;
-		pi->Ui = out - (kp_err + ff);
+		pi->ui = out - (kp_err + ff);
 	}else {
 		pi->is_sat = false;
 	}
@@ -90,18 +90,18 @@ static __INLINE float PI_Controller_Current(PI_Controller *pi, float err, float
 static __INLINE float PI_Controller_RunSerial(PI_Controller *pi, float err) {
 	float kp_err = (err) * pi->kp;
 	float ki_err = (kp_err) * pi->ki;
-	float integral = ki_err * pi->DT;
+	float integral = ki_err * pi->ts;
 
-	pi->Ui = pi->Ui + integral;
-	float out = pi->Ui + kp_err;
+	pi->ui = pi->ui + integral;
+	float out = pi->ui + kp_err;
 	if (out > pi->max) {
 		out = pi->max;
 		pi->is_sat = true;
-		pi->Ui = out - kp_err;
+		pi->ui = out - kp_err;
 	}else if (out < pi->min) {
 		out = pi->min;
 		pi->is_sat = true;
-		pi->Ui = out - kp_err;
+		pi->ui = out - kp_err;
 	}else {
 		pi->is_sat = false;
 	}
@@ -118,11 +118,11 @@ typedef struct {
 	float observer;
 	float kp;
 	float ki;
-	float Ui;
+	float ui;
 	float out;
 	s32   max_wp;
 	bool  ob_wp;
-	float DT;
+	float ts;
 }PLL_t;
 
 static __INLINE void PLL_Reset(PLL_t *pll, float sample) {
@@ -142,8 +142,8 @@ static __INLINE float PLL_run(PLL_t *pll, float sample, float comp) {
 		observer = -comp - pll->observer;
 	}
 	float delta = sample - observer;
-	pll->observer = observer + (pll->out + pll->kp * delta) * pll->DT;
-	pll->out += pll->ki * delta * pll->DT;
+	pll->observer = observer + (pll->out + pll->kp * delta) * pll->ts;
+	pll->out += pll->ki * delta * pll->ts;
 	return pll->out;
 }
 

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

@@ -131,22 +131,22 @@ static void PMSM_FOC_Conf_PID(void) {
 	gFoc_Ctrl.pi_id.kp = mc_conf()->c.pid[PID_ID_ID].kp;
 	gFoc_Ctrl.pi_id.ki = mc_conf()->c.pid[PID_ID_ID].ki;
 	gFoc_Ctrl.pi_id.kd = mc_conf()->c.pid[PID_ID_ID].kd;
-	gFoc_Ctrl.pi_id.DT = (1.0f/(float)CONFIG_IDQ_CTRL_TS);
+	gFoc_Ctrl.pi_id.ts = (1.0f/(float)CONFIG_IDQ_CTRL_TS);
 
 	gFoc_Ctrl.pi_iq.kp = mc_conf()->c.pid[PID_IQ_ID].kp;
 	gFoc_Ctrl.pi_iq.ki = mc_conf()->c.pid[PID_IQ_ID].ki;
 	gFoc_Ctrl.pi_iq.kd = mc_conf()->c.pid[PID_IQ_ID].kd;
-	gFoc_Ctrl.pi_iq.DT = (1.0f/(float)CONFIG_IDQ_CTRL_TS);
+	gFoc_Ctrl.pi_iq.ts = (1.0f/(float)CONFIG_IDQ_CTRL_TS);
 
 	gFoc_Ctrl.pi_power.kp = mc_conf()->c.pid[PID_IDCLim_ID].kp;
 	gFoc_Ctrl.pi_power.ki = mc_conf()->c.pid[PID_IDCLim_ID].ki;
 	gFoc_Ctrl.pi_power.kd = mc_conf()->c.pid[PID_IDCLim_ID].kd;
-	gFoc_Ctrl.pi_power.DT = slow_ctrl_ts;
+	gFoc_Ctrl.pi_power.ts = slow_ctrl_ts;
 
 	gFoc_Ctrl.pi_lock.kp = mc_conf()->c.pid[PID_AutoHold_ID].kp;
 	gFoc_Ctrl.pi_lock.ki = mc_conf()->c.pid[PID_AutoHold_ID].ki;
 	gFoc_Ctrl.pi_lock.kd = mc_conf()->c.pid[PID_AutoHold_ID].kd;
-	gFoc_Ctrl.pi_lock.DT = slow_ctrl_ts;
+	gFoc_Ctrl.pi_lock.ts = slow_ctrl_ts;
 
 #ifdef CONFIG_SPEED_LADRC
 	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);
@@ -155,11 +155,11 @@ static void PMSM_FOC_Conf_PID(void) {
 	gFoc_Ctrl.pi_vel_lim.kp = mc_conf()->c.pid[PID_VelLim_ID].kp;
 	gFoc_Ctrl.pi_vel_lim.ki = mc_conf()->c.pid[PID_VelLim_ID].ki;
 	gFoc_Ctrl.pi_vel_lim.kd = mc_conf()->c.pid[PID_VelLim_ID].kd;
-	gFoc_Ctrl.pi_vel_lim.DT = slow_ctrl_ts;
+	gFoc_Ctrl.pi_vel_lim.ts = slow_ctrl_ts;
 	gFoc_Ctrl.pi_vel.kp = mc_conf()->c.pid[PID_Vel_ID].kp;
 	gFoc_Ctrl.pi_vel.ki = mc_conf()->c.pid[PID_Vel_ID].ki;
 	gFoc_Ctrl.pi_vel.kd = mc_conf()->c.pid[PID_Vel_ID].kd;
-	gFoc_Ctrl.pi_vel.DT = slow_ctrl_ts;
+	gFoc_Ctrl.pi_vel.ts = slow_ctrl_ts;
 #endif
 }
 

+ 4 - 4
Applications/foc/core/controller.c

@@ -415,25 +415,25 @@ static void mot_contrl_pid(mot_contrl_t *ctrl) {
 	ctrl->pi_power.kp = mc_conf()->c.pid[PID_IDCLim_ID].kp;
 	ctrl->pi_power.ki = mc_conf()->c.pid[PID_IDCLim_ID].ki;
 	ctrl->pi_power.kd = mc_conf()->c.pid[PID_IDCLim_ID].kd;
-	ctrl->pi_power.DT = slow_ctrl_ts;
+	ctrl->pi_power.ts = slow_ctrl_ts;
 
 	PI_Controller_Reset(&ctrl->pi_lock, 0);
 	ctrl->pi_lock.kp = mc_conf()->c.pid[PID_AutoHold_ID].kp;
 	ctrl->pi_lock.ki = mc_conf()->c.pid[PID_AutoHold_ID].ki;
 	ctrl->pi_lock.kd = mc_conf()->c.pid[PID_AutoHold_ID].kd;
-	ctrl->pi_lock.DT = slow_ctrl_ts;
+	ctrl->pi_lock.ts = slow_ctrl_ts;
 
 	PI_Controller_Reset(&ctrl->pi_vel_lim, 0);
 	ctrl->pi_vel_lim.kp = mc_conf()->c.pid[PID_VelLim_ID].kp;
 	ctrl->pi_vel_lim.ki = mc_conf()->c.pid[PID_VelLim_ID].ki;
 	ctrl->pi_vel_lim.kd = mc_conf()->c.pid[PID_VelLim_ID].kd;
-	ctrl->pi_vel_lim.DT = slow_ctrl_ts;
+	ctrl->pi_vel_lim.ts = slow_ctrl_ts;
 
 	PI_Controller_Reset(&ctrl->pi_vel, 0);
 	ctrl->pi_vel.kp = mc_conf()->c.pid[PID_Vel_ID].kp;
 	ctrl->pi_vel.ki = mc_conf()->c.pid[PID_Vel_ID].ki;
 	ctrl->pi_vel.kd = mc_conf()->c.pid[PID_Vel_ID].kd;
-	ctrl->pi_vel.DT = slow_ctrl_ts;
+	ctrl->pi_vel.ts = slow_ctrl_ts;
 }
 
 static void mot_contrl_ulimit(mot_contrl_t *ctrl) {

+ 2 - 2
Applications/foc/core/foc.c

@@ -17,11 +17,11 @@ void foc_init(foc_t *foc) {
 	foc->daxis.kp = mc_conf()->c.pid[PID_ID_ID].kp;
 	foc->daxis.ki = mc_conf()->c.pid[PID_ID_ID].ki;
 	foc->daxis.kd = mc_conf()->c.pid[PID_ID_ID].kd;
-	foc->daxis.DT = foc->ts;
+	foc->daxis.ts = foc->ts;
 	foc->qaxis.kp = mc_conf()->c.pid[PID_IQ_ID].kp;
 	foc->qaxis.ki = mc_conf()->c.pid[PID_IQ_ID].ki;
 	foc->qaxis.kd = mc_conf()->c.pid[PID_IQ_ID].kd;
-	foc->qaxis.DT = foc->ts;
+	foc->qaxis.ts = foc->ts;
 	line_ramp_init(&foc->in.target_id, CONFIG_CURRENT_LOOP_RAMP_COUNT);
 	line_ramp_set_minstep(&foc->in.target_id, CONFIG_CURRENT_LOOP_RAMP_STEP_MIN);
 	line_ramp_init(&foc->in.target_iq, CONFIG_CURRENT_LOOP_RAMP_COUNT);

+ 1 - 1
Applications/foc/core/smo_observer.c

@@ -27,7 +27,7 @@ void smo_observer_init(float pll_bandwith, float lpf_wc, float Ksmo, float Ksta)
 	smo.motor_poles = mc_conf()->m.poles;
 	smo.dir_ccw = true;
 	PLL_Reset(&smo.pll, 0);
-	smo.pll.DT = smo.ts;
+	smo.pll.ts = smo.ts;
 	smo.pll.kp = pll_bandwith * 2;
 	smo.pll.ki = 0.25f * SQ(smo.pll.kp);
 }	

+ 2 - 2
Applications/foc/motor/encoder.c

@@ -27,7 +27,7 @@ static __INLINE void encoder_pll_update_gain(void) {
 }
 
 static void _init_pll(void) {
-	g_encoder.est_pll.DT = FOC_CTRL_US;
+	g_encoder.est_pll.ts = FOC_CTRL_US;
 	g_encoder.est_pll.max_wp = g_encoder.cpr;
 	g_encoder.pll_bandwidth = 0;
 	g_encoder.pll_bandwidth_shadow = mc_conf()->m.nor_pll_band;
@@ -117,7 +117,7 @@ static __INLINE bool encoder_run_pll(float cnt) {
 	g_encoder.est_angle_counts = g_encoder.est_pll.observer;
     bool snap_to_zero_vel = false;
 	g_encoder.est_vel_cnt_filter = LowPass_Filter(g_encoder.est_vel_cnt_filter, g_encoder.est_vel_counts, 0.1f);
-    if (ABS(g_encoder.est_pll.out) < 0.5f * g_encoder.est_pll.DT * g_encoder.est_pll.ki) {
+    if (ABS(g_encoder.est_pll.out) < 0.5f * g_encoder.est_pll.ts * g_encoder.est_pll.ki) {
         g_encoder.est_vel_cnt_filter = g_encoder.est_vel_counts = g_encoder.est_pll.out = 0.0f;  // align delta-sigma on zero to prevent jitter
         snap_to_zero_vel = true;
     }