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.

Not able to achieve max speed using BRV8301 boosterpack

Other Parts Discussed in Thread: DRV8301, BOOSTXL-DRV8301

Hello,

I'm using Launchpad F28027F with DRV8301 Boosterpack to drive a BLDC motor to 77000 rpm.

The motor has 2 poles, 48V nominal voltage and max speed at 80000 rpm (77400 accordingly to test sheet).

I've modified the hardware to be able to support 48V and with this I got 46500 rpm. Actually, the max speed was achieved with 28V and voltage greater than this not affect the speed. There are some instability for intermediate speeds between 35k rpm and 45k rpm

Attached is the user.h I'm using.

I'm not sure if it is necessary to modify some filter to be able to achieve the 77k rpm.

Please, feel free to ask more information.

Thank you in advance and best regards,

Henrique.

1641.user.h

  • 1. I doubt your inductance value of 249 u is correct. For a high speed motor it is usually <50uH. Did you use proj_lab02c to do the ID for this motor?  Did you insure the motor started up and kept spinning for the duration of the ID process?

    related, you can increase this to #define USER_R_OVER_L_EST_FREQ_Hz (300)

    do you have another BOOSTXL-DRV8301?  I would have done motor ID wit 24V and no HW modifications first...

    2. this seems quite low and would limit the output of the speed controller which would cap your maximum speed.  I really doubt your motor is only 1A peak current maximum.

    #define USER_MOTOR_MAX_CURRENT          (1.00)

    3. did your voltage filter pole change when you updated your voltage scaling circuit?  You are using the original.

    #define USER_VOLTAGE_FILTER_POLE_Hz (364.682) // 364.682, value for boostxldrv8301_revB hardware
    //#define USER_VOLTAGE_FILTER_POLE_Hz (500.0)

  • Hi Chris,

    The inductance was extracted from proj_lab02c. The datasheet of motor says 370uH.

    I will try to undo the hardware modifications for the old values, once I don't have another BOOSTXL-DRV8301.

    Related to USER_MOTOR_MAX_CURRENT I was using (2.00) and set (1.00) to try to minimize the instability, but it didn't work. From datasheet of the motor, the Continuous Stall Current is 2.21A. Running free at 39k rpm it draws around 80mA.

    I did not change the filter pole. I'm using the same of the BOOSTXL-DRV8301.

    Thank you for your help and as soon I'm able to test with 24V I will post here.
  • it seems like your Ls value is correct then. A little unusual for a high speed motor, but not necessarily for a very low current version like it seems you have.

    I would set the USER_MOTOR_MAX_CURRENT to (3.0)
    this is the peak IqRef commanded from the speed controller.

    If this is correct (should be if your HW sensors are correct)
    #define USER_MOTOR_RATED_FLUX 0.02226619

    it means that at 1300 Hz (your rated speed if poles are correct) you will produce 28.8V Bemf. so that isn't limiting you with a 48V bus.

    Is it possible your motor is actually 2 pole PAIRS? Do you have a data/info sheet on this motor?
  • can you try running proj_lab05a
    bypass motor ID
    set an IqRef_A = 2.0A

    and see what speeds you are able to achieve with 29Vdc+
  • Hello Chris,

    Sorry for the delay.

    I'm using a new BOOSTXL-DRV8301 REV.B with 24V to follow your recommendation.

    Using it, the motor was identified with the parameters below:

    #define USER_MOTOR_TYPE MOTOR_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS (1)
    #define USER_MOTOR_Rr (NULL)
    #define USER_MOTOR_Rs (0.6588602)
    #define USER_MOTOR_Ls_d (0.0001581577)
    #define USER_MOTOR_Ls_q (0.0001581577)
    #define USER_MOTOR_RATED_FLUX (0.02223704)
    #define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
    #define USER_MOTOR_RES_EST_CURRENT (1.0)
    #define USER_MOTOR_IND_EST_CURRENT (-1.0)
    #define USER_MOTOR_MAX_CURRENT (3.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (80.0)

    The datasheet of motor says that it is a 2 pole brushless motor.
    The inductance decreased compared to hardware with 48V.

    As you've recommended, I tried the proj_lab5a. I got 33500 rpm with 24V. After this, I also tried the proj_lab10a with overmodulation of 1.23. In this case I got 38200 rpm with 24V. However, in this lab the motor does not work with speed between 2000 rpm and 25000 rpm. It had great vibration and the voltage at input reached 36.8V.

    I would try to use the hardware prepared to 48V with the inductance captured with this board.

    You think I should modify the Kp parameter to try minimize the vibration?

    Thanks.

  • Yes, your speed regulator needs to be tuned for the speed control issues you are seeing. The results from 5a are promising.