Other Parts Discussed in Thread: BOOSTXL-DRV8323RS
Tool/software:
I am using the following boards with the universal_motorcontrol_lab_f28003x software...
- LAUNCHXL-F280039C
- BOOSTXL-DRV8323RS
I have completed lab 1 which passed all the tests.
I am now running lab 2, but when I set flagEnableRunAndIdentify I get a module over current trip (motorVars_M1.faultMtrPrev.bit.moduleOverCurrent).
I have configured the boards as shown in section 3.2.2 (LAUNCHXL-F280039C Setup) and section 3.2.10 (BOOSTXL-DRV8323RS Setup) of the User's Guide for Motor Control SDK Universal Project and Lab.
I am using the following motor....
store.tmotor.com/.../f90-fpv-motor.html
Unfortunately there is very little data specified for this motor, so I am using the definitions for Drone_DJI920KV.
I tried changing parameters USER_MOTOR1_Rs_Ohm, USER_MOTOR1_VOLT_MAX_V and USER_MOTOR1_OVER_CURRENT_A but still get an overcurrnet.
How do I fix this overcurrent fault, why is it happening ?
#elif (USER_MOTOR1 == Drone_DJI920KV) // Refer to the description of the following parameters for Teknic_M2310PLN04K #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.04f)//(0.115332372f) #define USER_MOTOR1_Ls_d_H (1.76480826e-05f) #define USER_MOTOR1_Ls_q_H (1.76480826e-05f) #define USER_MOTOR1_RATED_FLUX_VpHz (0.00605002558f) #define USER_MOTOR1_MAGNETIZING_CURRENT_A (NULL) #define USER_MOTOR1_RES_EST_CURRENT_A (3.0) #define USER_MOTOR1_IND_EST_CURRENT_A (-2.5) #define USER_MOTOR1_MAX_CURRENT_A (20.0) #define USER_MOTOR1_FLUX_EXC_FREQ_Hz (120.0) #define USER_MOTOR1_NUM_ENC_SLOTS (1000) // N/A #define USER_MOTOR1_INERTIA_Kgm2 (5.06154e-06) #define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz (5.0f) // Hz #define USER_MOTOR1_RATED_VOLTAGE_V (12.0) #define USER_MOTOR1_FREQ_MIN_Hz (10.0) // Hz #define USER_MOTOR1_FREQ_MAX_Hz (2000.0) // Hz #define USER_MOTOR1_FREQ_LOW_Hz (10.0) // Hz #define USER_MOTOR1_FREQ_HIGH_Hz (1200.0) // Hz #define USER_MOTOR1_VOLT_MIN_V (3.0) // Volt #define USER_MOTOR1_VOLT_MAX_V (30) //(12) // Volt #define USER_MOTOR1_FORCE_DELTA_A (0.05) // A #define USER_MOTOR1_ALIGN_DELTA_A (0.01) // A #define USER_MOTOR1_FLUX_CURRENT_A (0.5) // A #define USER_MOTOR1_ALIGN_CURRENT_A (1.0) // A #define USER_MOTOR1_STARTUP_CURRENT_A (3.0) // #define USER_MOTOR1_TORQUE_CURRENT_A (2.0) // A #define USER_MOTOR1_OVER_CURRENT_A (30) //(16.5) #define USER_MOTOR1_SPEED_START_Hz (20.0f) #define USER_MOTOR1_SPEED_FORCE_Hz (20.0) #define USER_MOTOR1_ACCEL_START_Hzps (10.0f) #define USER_MOTOR1_ACCEL_MAX_Hzps (100.0f) #define USER_MOTOR1_SPEED_FS_Hz (3.0f) // only for encoder, no available on this motor #define USER_MOTOR1_ENC_POS_MAX (USER_MOTOR1_NUM_ENC_SLOTS * 4 - 1) #define USER_MOTOR1_ENC_POS_OFFSET (668) // Only for eSMO #define USER_MOTOR1_KSLIDE_MAX (0.55f) #define USER_MOTOR1_KSLIDE_MIN (0.10f) #define USER_MOTOR1_PLL_KP_MAX (7.25f) #define USER_MOTOR1_PLL_KP_MIN (1.75f) #define USER_MOTOR1_PLL_KP_SF (20.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 (1.0f) #define USER_MOTOR1_THETA_OFFSET_SF (1.0f) #define USER_MOTOR1_SPEED_LPF_FC_Hz (200.0f) // for IS-BLDC #define USER_MOTOR1_RAMP_START_Hz (5.0f) #define USER_MOTOR1_RAMP_END_Hz (30.0f) #define USER_MOTOR1_RAMP_DELAY (1) #define USER_MOTOR1_ISBLDC_INT_MAX (0.015f) #define USER_MOTOR1_ISBLDC_INT_MIN (0.010f) // for Rs online calibration #define USER_MOTOR1_RSONLINE_WAIT_TIME (60000U) // 5min/300s at 5ms base #define USER_MOTOR1_RSONLINE_WORK_TIME (24000U) //2min/120s at 5ms base // Current and Speed PI Regulators Tuning Coefficient #define USER_MOTOR1_GAIN_SPEED_LOW_Hz (60.0f) #define USER_MOTOR1_GAIN_SPEED_HIGH_Hz (150.0f) #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 #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 #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 #define USER_MOTOR1_GAIN_IQ_LOW_A (2.0f) #define USER_MOTOR1_GAIN_IQ_HIGH_A (6.0f) #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 #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 #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 #define USER_MOTOR1_KP_ID_SF (1.0f) // 0.1~10.0 #define USER_MOTOR1_KI_ID_SF (1.0f) // 0.1~10.0