|
|
@@ -413,8 +413,8 @@ static __INLINE void PMSM_FOC_Phase_Unbalance(void) {
|
|
|
|
|
|
|
|
|
//#define UPDATE_Lq_By_iq /* Q轴电感 通过Iq电流补偿 */
|
|
|
-#define Volvec_Delay_Comp /* 电压矢量角度补偿 */
|
|
|
-#define Volvec_Delay_Comp_Start_Vel 500 // rpm
|
|
|
+#define CONFIG_Volvec_Delay_Comp /* 电压矢量角度补偿 */
|
|
|
+#define CONFIG_Volvec_Delay_Comp_Start_Vel 500 // rpm
|
|
|
static __INLINE bool PMSM_FOC_Update_Input(void) {
|
|
|
AB_t iAB;
|
|
|
float *iabc = gFoc_Ctrl.in.s_iABC;
|
|
|
@@ -464,8 +464,8 @@ static __INLINE bool PMSM_FOC_Update_Input(void) {
|
|
|
|
|
|
LowPass_Filter(gFoc_Ctrl.out.s_FilterIdq.d, gFoc_Ctrl.out.s_RealIdq.d, 0.004f);
|
|
|
LowPass_Filter(gFoc_Ctrl.out.s_FilterIdq.q, gFoc_Ctrl.out.s_RealIdq.q, 0.004f);
|
|
|
-#ifdef Volvec_Delay_Comp
|
|
|
- if (gFoc_Ctrl.in.s_motVelocityFiltered >= Volvec_Delay_Comp_Start_Vel) {
|
|
|
+#ifdef CONFIG_Volvec_Delay_Comp
|
|
|
+ if (gFoc_Ctrl.in.s_motVelocityFiltered >= CONFIG_Volvec_Delay_Comp_Start_Vel) {
|
|
|
float next_angle = gFoc_Ctrl.in.s_motAngle + gFoc_Ctrl.in.s_motVelDegreePers / PI * 180.0f * (FOC_CTRL_US * 0.8f);
|
|
|
rand_angle(next_angle);
|
|
|
SinCos_Lut(next_angle, &gFoc_Ctrl.out.sin, &gFoc_Ctrl.out.cos);
|
|
|
@@ -793,7 +793,7 @@ static __INLINE float PMSM_FOC_Limit_Speed(float maxTrq) {
|
|
|
gFoc_Ctrl.pi_vel_lim.min = 0;
|
|
|
|
|
|
float err = eRamp_get_intepolation(&gFoc_Ctrl.rtLim.rpmLimRamp) - gFoc_Ctrl.in.s_motVelocity;
|
|
|
- return PI_Controller_RunSerial(&gFoc_Ctrl.pi_vel_lim, err);
|
|
|
+ return PI_Controller_RunVel(&gFoc_Ctrl.pi_vel_lim, err);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@@ -885,7 +885,7 @@ void PMSM_FOC_idqCalc(void) {
|
|
|
}
|
|
|
gFoc_Ctrl.in.s_targetRPM = refSpeed;
|
|
|
float errRef = refSpeed - gFoc_Ctrl.in.s_motVelocity;
|
|
|
- float maxTrq = PI_Controller_RunSerial(&gFoc_Ctrl.pi_vel, errRef);
|
|
|
+ float maxTrq = PI_Controller_RunVel(&gFoc_Ctrl.pi_vel, errRef);
|
|
|
#endif
|
|
|
maxTrq = PMSM_FOC_Limit_iDC(maxTrq);
|
|
|
crosszero_step_towards(&gFoc_Ctrl.in.s_targetTorque, maxTrq);
|