Other Parts Discussed in Thread: LAUNCHXL-F280049C, BOOSTXL-DRV8320RS, C2000WARE, MOTORWARE, DRV8320, DRV8303, DRV8301, DRV832X
Hello,
I'm having trouble getting my LAUNCHXL-F280049C and BOOSTXL-DRV8320RS EVM setup to identify a particular BLDC motor, as described in the InstaSPIN Lab 5 example project (is05_motor_id). I'm able to go through the process and get good results for a very small BLDC motor, but when I repeat the process for a larger motor, I haven't been able to get the motor to spin well.
I've been experimenting with USER_ values in the user.h for the larger motor. I have both motors defined in the user.h file (common to all of the instaSPIN Lab projects).
The two sets of motor definitions look like this:
#elif (USER_MOTOR == my_motor_rimfire)
#define USER_MOTOR_INERTIA_Kgm2 (0.00008)*5
#define USER_MOTOR_TYPE MOTOR_TYPE_PM
#define USER_MOTOR_NUM_POLE_PAIRS (6)
#define USER_MOTOR_Rr_Ohm (0.0)
#define USER_MOTOR_Rs_Ohm (0.0192190986)
#define USER_MOTOR_Ls_d_H (2.77999152e-06)
#define USER_MOTOR_Ls_q_H (2.77999152e-06)
#define USER_MOTOR_RATED_FLUX_VpHz (0.00554466015)
#define USER_MOTOR_MAGNETIZING_CURRENT_A (0.0)
#define USER_MOTOR_RES_EST_CURRENT_A (5.0)
#define USER_MOTOR_IND_EST_CURRENT_A (-5.0)
#define USER_MOTOR_MAX_CURRENT_A (15.0)
#define USER_MOTOR_FLUX_EXC_FREQ_Hz (30.0)
#define USER_MOTOR_NUM_ENC_SLOTS (1000) // encoder slots
#define USER_MOTOR_FREQ_MIN_HZ (5.0)
#define USER_MOTOR_FREQ_MAX_HZ (600.0)
#define USER_MOTOR_FREQ_LOW_HZ (20.0)
#define USER_MOTOR_FREQ_HIGH_HZ (400.0)
#define USER_MOTOR_VOLT_MIN_V (4.0)
#define USER_MOTOR_VOLT_MAX_V (24.0)
#elif (USER_MOTOR == my_motor_kde)
#define USER_MOTOR_INERTIA_Kgm2 (0.00008)*50
#define USER_MOTOR_TYPE MOTOR_TYPE_PM
#define USER_MOTOR_NUM_POLE_PAIRS (10)
#define USER_MOTOR_Rr_Ohm (NULL) //ACIM ONLY
#define USER_MOTOR_Rs_Ohm (0.0056) // (0.381334811)
#define USER_MOTOR_Ls_d_H (9.99999997e-07) // (0.000169791776)
#define USER_MOTOR_Ls_q_H (9.99999997e-07) // (0.000169791776)
#define USER_MOTOR_RATED_FLUX_VpHz 0.01 // (0.0398557819)
#define USER_MOTOR_MAGNETIZING_CURRENT_A (NULL)
#define USER_MOTOR_RES_EST_CURRENT_A (2.0)
#define USER_MOTOR_IND_EST_CURRENT_A (-1.95)
#define USER_MOTOR_MAX_CURRENT_A (160.0)
#define USER_MOTOR_FLUX_EXC_FREQ_Hz (40.0)
#define USER_MOTOR_NUM_ENC_SLOTS (1000)
#define USER_MOTOR_INERTIA_Kgm2 ((7.06154e-06)*100)
#define USER_MOTOR_RATED_VOLTAGE_V (68.0)
#define USER_MOTOR_RATED_SPEED_KRPM (2.5)
#define USER_MOTOR_FREQ_MIN_HZ (15.0) // Hz
#define USER_MOTOR_FREQ_MAX_HZ (600.0) // Hz
#define USER_MOTOR_FREQ_LOW_HZ (20.0) // Hz
#define USER_MOTOR_FREQ_HIGH_HZ (400.0) // Hz
#define USER_MOTOR_VOLT_MIN_V (20.0) // Volt
#define USER_MOTOR_VOLT_MAX_V (50.0) // Volt
I'm also using these:
#define USER_NOMINAL_DC_BUS_VOLTAGE_V ((float32_t)(48.0))
#define USER_ADC_FULL_SCALE_VOLTAGE_V ((float32_t)(57.528))
#define USER_ADC_FULL_SCALE_CURRENT_A ((float32_t)(160)) // was 42.843
The larger motor (the _kde) hardly draws any current while trying to spin-up during the identification process. Any ideas on what I can do to get this motor identified so we can work with it.
Thanks in advance,
Walt
