Other Parts Discussed in Thread: BOOSTXL-DRV8301, DRV8301
Hello,
I am trying to run lab1b (open loop V/Hz control) using an unloaded BLDC motor with the characteristics below and it’s drawing a very large amount of current (over 5 Amps) from the DC power supply with the default speed of 100 RPM. It’s drawing a high current both on custom driver hardware and on the BOOSTXL-DRV8301 driver. Could someone please review my settings and let me know where the issue could be? Will this lab naturally draw high current due to such a low series resistance? I am able to run the BLDC motor unloaded with Lab1c without the high current issue and it's only drawing 100mA or so at the default speed of 100 RPM and setting the Iq value (Iq_RefA) to 2A for the current controller.
I have a BLDC motor with the following characteristics:
Sinusoidal BEMF
10 pole (5 pole pairs)
Kv = 80 RPM/V
Kt = 17 In*Oz/A
Single phase inductance 45µH (phase to phase inductance 90µH)
Single phase resistance 11.5mΩ (phase to phase resistance 23mΩ)
Max Power 15kW
Max RPM 8000 RPM
Max Voltage 100V
Here are my motor settings in the user_j1.h header file:
#elif (USER_MOTOR == MY_MOTOR) // Name must match the motor #define #define USER_MOTOR_TYPE MOTOR_Type_Pm // Motor_Type_Pm (All Synchronous: BLDC, PMSM, SMPM, IPM) or Motor_Type_Induction (Asynchronous ACI) #define USER_MOTOR_NUM_POLE_PAIRS (5) // PAIRS, not total poles. Used to calculate user RPM from rotor Hz only #define USER_MOTOR_Rr (NULL) // Induction motors only, else NULL #define USER_MOTOR_Rs (0.0115) // Identified phase to neutral in a Y equivalent circuit (Ohms, float) #define USER_MOTOR_Ls_d (0.00004535) // For PM, Identified average stator inductance (Henry, float) #define USER_MOTOR_Ls_q (0.00004535) // For PM, Identified average stator inductance (Henry, float) #define USER_MOTOR_RATED_FLUX (0.0866) // Identified TOTAL flux linkage between the rotor and the stator (V/Hz) #define USER_MOTOR_MAGNETIZING_CURRENT (NULL) // Induction motors only, else NULL #define USER_MOTOR_RES_EST_CURRENT (2.0) // During Motor ID, maximum current (Amperes, float) used for Rs estimation, 10-20% rated current #define USER_MOTOR_IND_EST_CURRENT (-2.0) // During Motor ID, maximum current (negative Amperes, float) used for Ls estimation, use just enough to enable rotation #define USER_MOTOR_MAX_CURRENT (7.0) // CRITICAL: Used during ID and run-time, sets a limit on the maximum current command output of the provided Speed PI Controller to the Iq controller #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0) // During Motor ID, maximum commanded speed (Hz, float), ~10% rated #define USER_MOTOR_ENCODER_LINES (1000.0) // Motor Encoder Lines Ratio #define USER_MOTOR_MAX_SPEED_KRPM (8.0) #define USER_SYSTEM_INERTIA (0.02) #define USER_SYSTEM_FRICTION (0.01) #define USER_MOTOR_FREQ_LOW (13.33) // Hz - suggested to set to 10% of rated motor frequency #define USER_MOTOR_FREQ_HIGH (133.33) // Hz - suggested to set to 100% of rated motor frequency #define USER_MOTOR_FREQ_MAX (160.0) // Hz - suggested to set to 120% of rated motor frequency #define USER_MOTOR_VOLT_MIN (15.0) // Volt - suggested to set to 15% of rated motor voltage #define USER_MOTOR_VOLT_MAX (100.0) // Volt - suggested to set to 100% of rated motor voltage