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