您好:
当我使用13a 示例时 、我发现电机的抗干扰性能不符合预期。
用我的手模仿推动电机的负载、很明显、电机的输出力有延迟、SpinTAC 的 ERR_ID 经常报告2002错误。
我的电机识别参数、如下图所示。
#define USER_MOTOR_TYPE Motor_Type_Pm #define USER_MOTOR_NUM_POLE_PAIRS (1) #define USER_MOTOR_RR (空) #define USER_MOTOR_Rs (0.501480341) #define USER_MOTOR_LS_d (0.0000701279278) #define USER_MOTOR_LS_q (0.0000701279278) #define USER_MOTOR_RATed_FLUX (0.0543825179) #define USER_MOTOR_磁 化电流(空) #define USER_MOTOR_RES_EST_CURRENT (0.5) #define USER_MOTOR_IND_EST_CURRENT (-0.5) #define USER_MOTOR_MAX_CURRENT (8) #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0) #define USER_MOTOR_ENCODER_LINES (1024.0) #define USER_MOTOR_MAX_SPEED_KRPM (12.0) #define USER_SYSTEM_INERTIA (0.004) #define USER_SYSTEM_FRICTion (0.4)
接下来是一系列尝试解决此问题的方法。
1.我将 USER_SYSTEM_BAN带宽 设置为40、并感受到电机输出力小于以前的延迟、但问题仍然存在。 如果我高度设置 USER_SYSTEM_BAN带宽、将发生电机抖动。
2.根据故障说明,问题的原因是位置误差超过最大值,然后我将 ST_MREV_ROLLOVER 调整为20,将 ST_MREV_ROLLOVER 调整为8,但没有影响。
3.猜测原因是位置环路的频率已被限制、然后将 USER_PWM_FREQ_kHz 设置为15、 USER_NUM_PWM_TICKS_PER_ISR_TICK、USER_NUM_ISR_TICKS_PER_CTRL_TICKS_PER_TRL_TICKS_PER_CTRL、USER_NUM_CTRL_TRICKS_PER_TOK_CTRL、CURRENT_TRK_CTRL、TRU_TRU_TRU_TRT_TRT_TRU_TRT_TRT_TRT_TRICKS_TRT_TRK_TOK_1 TOK_CTRL USER_TRK_CTRL
但它仍然没有效果。