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.

Instaspin cannot reach max RPM



I'm using the Launchpad XL (TMS230F28069M) with the BOOST-XL-DRV8301 REV B Motor Drive BoosterPack.

The PSU that i'm using for this board is 24 VDC.

The motor is a BLDC motor with a 15:1 gearbox attached to it.

When i'm using a different BLDC motorcontroller i can get the speed up to around 2700 RPM with a PSU of 24V.

With InstaSPIN i can only get it to around 1300 RPM, i expected it to be about the same as the other controller.

I've attached my user.h and user_j1.h.

0652.user.h

8686.user_j1.h

How can i reach around 2500 RPM like with the other controller?

  • 1. how do you know USER_MOTOR_NUM_POLE_PAIRS (2) is correct?
    2. your identified inductance looks lower than the nameplate. I would try to ID this motor again to see if your results differ. Increase
    USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)

    make sure that the motor starts and remains spinning during the ID process. If it doesn't start-up increase
    USER_MOTOR_RES_EST_CURRENT (1.0)

    do remember that in most of the labs you limit your max speed due to a limit of sinewave generation. if you want to increase the PWM modulation use lab10 to get another 25% increase in speed. Your speed is so far off though that I suspect something else is the main culprit.

    once you get this solved you will need to increase this to insure you can generate peak current commands
    #define USER_MOTOR_MAX_CURRENT (16.0)
  • 1. I asked the manufacturer about the number of poles and they said it was 4. There is also an encoder connected to the shaft which i used to verify the speed. And the gMotorVars.Speed_krpm is about the same as what the encoder tells me. (i connected the encoder to the other controller to view it).

    2. I forgot to tell that i also had problems with measuring the ID of the motor. Especially USER_MOTOR_Ls_d and USER_MOTOR_Ls_q.

    I also found the problem:

    - The build was set to Flash, when i've set it to Release i got to around 2700 RPM like with the other controller. Also the ID was measured good now.

    I ended up with the following settings:

    #define USER_MOTOR_TYPE                 MOTOR_Type_Pm
    #define USER_MOTOR_NUM_POLE_PAIRS       (2)
    #define USER_MOTOR_Rr                   (NULL)
    #define USER_MOTOR_Rs                   (0.4164607)
    #define USER_MOTOR_Ls_d                 (0.001235268)
    #define USER_MOTOR_Ls_q                 (0.001235268)
    #define USER_MOTOR_RATED_FLUX           (0.1555079)
    #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          (5.1)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz     (15.0)
    #define USER_MOTOR_ENCODER_LINES        (1.0)
    #define USER_MOTOR_MAX_SPEED_KRPM       (2.7)
    #define USER_SYSTEM_INERTIA             (0.02)
    #define USER_SYSTEM_FRICTION            (0.01)

  • glad it is now working, but strange that the Flash release would have an issue....