This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BOOSTXL-DRV8305EVM: moduleOverCurrent fault and Help with setting up motor parameters

Part Number: BOOSTXL-DRV8305EVM
Other Parts Discussed in Thread: LAUNCHXL-F2800137, BOOSTXL-DRV8323RH

Tool/software:

Im using LAUNCHXL-F2800137 + BOOSTXL-DRV8323RH  and trying out Universal Motor Control Lab Level 1~4.

Level 1 was successfully built, and I confirmed that the variables in the expressions appeared as described in the manual.

However, while testing Level 2, I encountered a moduleOverCurrent error, with motorVars_M1.faultMtrUse.all showing a value of 16.

I referred to previous forum posts and attempted to adjust the motor parameters. Unfortunately, the datasheet for the motor I am using -Alien Power System  APS 5055S Sensed Outrunner Brushless Motor 220KV 1600W—only provides the limited information shown below.

I tried various adjustments to run the motor in Level 2, but the moduleOverCurrent  fault continues to occur. Therefore, I would like to ask if you could provide guidance on the appropriate parameter values for this motor.

Additionally, I have reviewed Appendix A. Motor Control Parameters in the Motor Control SDK Guide, but I am unsure which variables I should primarily adjust. I would greatly appreciate any advice you could offer.

Currently, the parameters in user_mtr1.hare defined as follows:

#elif (USER_MOTOR1 == APS_5055S)
// the motor type
#define USER_MOTOR1_TYPE                   MOTOR_TYPE_PM
#define USER_MOTOR1_NUM_POLE_PAIRS         (7)
#define USER_MOTOR1_Rr_Ohm                 (NULL)
#define USER_MOTOR1_Rs_Ohm                 (0.393955578f)
#define USER_MOTOR1_Ls_d_H                 (0.000190442806f)
#define USER_MOTOR1_Ls_q_H                 (0.000190442806f)
#define USER_MOTOR1_RATED_FLUX_VpHz        (0.0399353318f)
#define USER_MOTOR1_MAGNETIZING_CURRENT_A  (NULL)
#define USER_MOTOR1_RES_EST_CURRENT_A      (1.5f) //1.5f
#define USER_MOTOR1_IND_EST_CURRENT_A      (-1.0f) //-1.0f
#define USER_MOTOR1_MAX_CURRENT_A          (50.0f)  //6.6f
#define USER_MOTOR1_FLUX_EXC_FREQ_Hz       (60.0f)
#define USER_MOTOR1_INERTIA_Kgm2           (7.06154e-06)

#define USER_MOTOR1_RATED_VOLTAGE_V        (33)          // V
#define USER_MOTOR1_FREQ_MIN_Hz            (9.0f)           // Hz
#define USER_MOTOR1_FREQ_MAX_Hz            (600.0f)         // Hz

#define USER_MOTOR1_FREQ_LOW_Hz            (5.0f)           // Hz
#define USER_MOTOR1_FREQ_HIGH_Hz           (400.0f)         // Hz
#define USER_MOTOR1_VOLT_MIN_V             (1.0f)           // Volt
#define USER_MOTOR1_VOLT_MAX_V             (24.0f)          // Volt

#define USER_MOTOR1_FORCE_DELTA_A          (0.05f)          // A
#define USER_MOTOR1_ALIGN_DELTA_A          (0.01f)          // A 0.01f
#define USER_MOTOR1_FLUX_CURRENT_A         (14.5f)           // A 0.5
#define USER_MOTOR1_ALIGN_CURRENT_A        (14.0f)           // A
#define USER_MOTOR1_STARTUP_CURRENT_A      (110.0f)           // A  3.5f
#define USER_MOTOR1_TORQUE_CURRENT_A       (3.0f)           // A
#define USER_MOTOR1_OVER_CURRENT_A         (7.5f)           // A 7.5f

#define USER_MOTOR1_SPEED_START_Hz         (35.0f)          // Hz
#define USER_MOTOR1_SPEED_FORCE_Hz         (30.0f)          // Hz
#define USER_MOTOR1_ACCEL_START_Hzps       (10.0f)          // Hz/s
#define USER_MOTOR1_ACCEL_MAX_Hzps         (20.0f)          // Hz/s

#define USER_MOTOR1_SPEED_FS_Hz            (3.0f)           // Hz

#define USER_MOTOR1_BRAKE_CURRENT_A        (1.0f)           // A

#define USER_MOTOR1_BRAKE_TIME_DELAY       (12000U)         // 60s/5ms

//#if defined(MOTOR1_ENC)
//// Only for encoder
//#define USER_MOTOR1_NUM_ENC_SLOTS          (1000)           // lines
//
//#define USER_MOTOR1_ENC_POS_MAX            (USER_MOTOR1_NUM_ENC_SLOTS * 4 - 1)
//#define USER_MOTOR1_ENC_POS_OFFSET         (668)            // lines
//#endif  // MOTOR1_ENC
//
//#if defined(MOTOR1_FAST)
//// the slope coefficient for Ld compensation, (0.0f~0.5f)
//#define USER_MOTOR1_Ls_d_COMP_COEF         (0.15f)          // 0.0f~0.5f
//
//// the slope coefficient for Lq compensation, (0.0f~0.5f)
//#define USER_MOTOR1_Ls_q_COMP_COEF         (0.35f)          // 0.0f~0.5f
//
//// the minimum inductance coefficient for inductance compensation, (0.0f~0.5f)
//#define USER_MOTOR1_Ls_MIN_NUM_COEF        (0.55f)          // 0.5f~1.0f
//
//// the near zero speed limit for electrical frequency estimation, Hz.
//// The flux integrator uses this limit to regulate flux integration
#define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz  (5.0f)           // Hz
//
#define USER_MOTOR1_RSONLINE_WAIT_TIME      (60000U)    // 5min/300s at 5ms base
//
#define USER_MOTOR1_RSONLINE_WORK_TIME      (24000U)     //2min/120s at 5ms base
//#endif  // MOTOR1_FAST
//
//#if defined(MOTOR1_ESMO)
//// Only for eSMO
//// PLL (phase-locked loop)
//// PID proportional, integral, derivative
//// the sliding mode control maximum gain that equals to Ke*fmax/vscale/sqrt(2)*factor(max),
////  tune the factor(0.1~10) based the test status
//#define USER_MOTOR1_KSLIDE_MAX             (0.50f)
//#define USER_MOTOR1_KSLIDE_MIN             (0.10f)
//
//// the PLL control maximum gain that equals to 2*(Damping factor)*(Natural frequency)*factor(max),
//// tune the factor(0.1~10) based the test status
//#define USER_MOTOR1_PLL_KP_MAX             (10.0f)
//#define USER_MOTOR1_PLL_KP_MIN             (1.50f)
//#define USER_MOTOR1_PLL_KP_SF              (5.0f)
//#define USER_MOTOR1_PLL_KI                 (2.8125E-06f)    // Not used, reserve
//
//#define USER_MOTOR1_BEMF_THRESHOLD         (0.5f)
//#define USER_MOTOR1_BEMF_KSLF_FC_SF        (2.0f)
//#define USER_MOTOR1_THETA_OFFSET_SF        (1.0f)
//#define USER_MOTOR1_SPEED_LPF_FC_Hz        (200.0f)
//#endif  // MOTOR1_ESMO
//
//#if defined(MOTOR1_HALL)
//// Only for hall sensor
//#define USER_MOTOR1_HALL_DELTA_rad          (MATH_TWO_PI / 36.0f)   // rad
//#endif  // MOTOR1_HALL
//
//#if defined(MOTOR1_ISBLDC)
//// Only for IS-BLDC
//#define USER_MOTOR1_RAMP_START_Hz           (3.0f)
//#define USER_MOTOR1_RAMP_END_Hz             (30.0f)
//#define USER_MOTOR1_RAMP_DELAY              (5)
//
//#define USER_MOTOR1_ISBLDC_INT_MAX          (0.015f)
//#define USER_MOTOR1_ISBLDC_INT_MIN          (0.010f)
//
//#define USER_MOTOR1_ISBLDC_I_REF_A          (1.0f)      // 1.0(A)
//#define USER_MOTOR1_ISBLDC_I_START_A        (0.5f)      // 0.5(A)
//
//#define USER_MOTOR1_ISBLDC_DUTY_REF         (0.10f)     // 10%
//#define USER_MOTOR1_ISBLDC_DUTY_START       (0.10f)     // 10%
//#endif  // MOTOR1_ISBLDC
//
//// Current and Speed PI Regulators Tuning Coefficient
//// the low speed threshold for adjusting the Kp and Ki of the speed PI regulator
//#define USER_MOTOR1_GAIN_SPEED_LOW_Hz        (60.0f)      // 10%~50% of the rated speed
//#define USER_MOTOR1_GAIN_SPEED_HIGH_Hz       (150.0f)     // 50%~100% of the rated speed
//
//// the gain coefficient to adjust the Kp of the speed PI regulator for startup
//#define USER_MOTOR1_KP_SPD_START_SF          (1.5f)       // 0.1~100.0
//#define USER_MOTOR1_KI_SPD_START_SF          (1.5f)       // 0.1~10.0
//
//// the low gain coefficient  to adjust the Kp of the speed PI regulator
//#define USER_MOTOR1_KP_SPD_LOW_SF            (2.0f)       // 0.1~100.0
//#define USER_MOTOR1_KI_SPD_LOW_SF            (2.0f)       // 0.1~10.0
//
//// the high gain coefficient  to adjust the Kp of the speed PI regulator
//#define USER_MOTOR1_KP_SPD_HIGH_SF           (1.0f)       // 0.1~100.0
//#define USER_MOTOR1_KI_SPD_HIGH_SF           (1.0f)       // 0.1~10.0
//
//// the low current threshold to adjust the Kp and Ki of the q-axis current PI regulator
//#define USER_MOTOR1_GAIN_IQ_LOW_A            (2.0f)       // 10%~50% of the rated current
//#define USER_MOTOR1_GAIN_IQ_HIGH_A           (6.0f)       // 50%~100% of the rated current
//
//// the gain coefficient to adjust the Kp of the q-axis current PI regulator for startup
//#define USER_MOTOR1_KP_IQ_START_SF           (1.5f)       // 0.1~10.0
//#define USER_MOTOR1_KI_IQ_START_SF           (1.5f)       // 0.1~10.0
//
//// the low gain coefficient to adjust the Kp of the q-axis current PI regulator
//#define USER_MOTOR1_KP_IQ_LOW_SF             (2.0f)       // 0.1~10.0
//#define USER_MOTOR1_KI_IQ_LOW_SF             (2.0f)       // 0.1~10.0
//
//// the high gain coefficient to adjust the Kp of the d-axis current PI regulator
//#define USER_MOTOR1_KP_IQ_HIGH_SF            (1.0f)       // 0.1~10.0
//#define USER_MOTOR1_KI_IQ_HIGH_SF            (1.0f)       // 0.1~10.0
//
//// the gain coefficient to adjust the Kp of the q-axis current PI regulator
//#define USER_MOTOR1_KP_ID_SF                 (1.0f)       // 0.1~10.0
//#define USER_MOTOR1_KI_ID_SF                 (1.0f)       // 0.1~10.0