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.

BOOSTXL-DRV8301: LAUNCXL-F28027F + BOOSTXL-DRV8301

Part Number: BOOSTXL-DRV8301

 Hello

I tried to use the LAUNCXL-F28027F + BOOSTXL-DRV8301 to control the speed of  GT2820/04 motor. the motor's parameters: Cell count:3-4S, RPM/V=1460, no load current=3A,Max RPM=17000, Max current=48A, number of poles=14

Max speed that I need is about 3000 rpm. I ran lab2b and lab2c to identify the motor's parameters. in these labs when I changed the "SpeedRef_krpm" the motor's speed didn't change. why does it occur?

below shows the achieved result with vdc=13v:

#define USER_MOTOR_NUM_POLE_PAIRS (7)
#define USER_MOTOR_Rr (NULL)

#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 (8.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)
#define USER_MOTOR_Rs (0.01457627)
#define USER_MOTOR_Ls_d (2.113534e-09)
#define USER_MOTOR_Ls_q (2.113534e-09)
#define USER_MOTOR_RATED_FLUX (0.01733333)

when I use thses achieved parameters  an error appeared as "USER_ErrorCode_ctrlFreq_Hz_Low". and when I increase the Ls_d and Ls_q value, this error dosen't occure . but I cant change it's speed. How can I solve these issues?

Regards.

  • Part Number: BOOSTXL-DRV8301

    I tried to use the LAUNCXL-F28027F + BOOSTXL-DRV8301 to control the speed of a  GT2820/04 motor.The motor's parameters are: Cell count:3-4S, RPM/V=1460, no load current=3A,Max RPM=17000, Max current=48A, number of poles=14

    Max speed that I need is about 3000 rpm. I ran lab2b and lab2c to identify the motor's parameters. in these labs when I changed the "SpeedRef_krpm" the motor's speed didn't change. why does it occur?

    below shows the achieved result with vdc=13v:

    #define USER_MOTOR_NUM_POLE_PAIRS (7)
    #define USER_MOTOR_Rr (NULL)

    #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 (8.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)
    #define USER_MOTOR_Rs (0.01457627)
    #define USER_MOTOR_Ls_d (2.113534e-09)
    #define USER_MOTOR_Ls_q (2.113534e-09)
    #define USER_MOTOR_RATED_FLUX (0.01733333)

    When I use thses achieved parameters  an error appeared as "USER_ErrorCode_ctrlFreq_Hz_Low". and when I increase the Ls_d and Ls_q value, this error dosen't occur . but I can not change it's speed. How can I solve these issues?

    Best regards.

  • Part Number: BOOSTXL-DRV8301

    I tried to use the LAUNCXL-F28027F + BOOSTXL-DRV8301 to control the speed of a  GT2820/04 motor.The motor's parameters are: Cell count:3-4S, RPM/V=1460, no load current=3A,Max RPM=17000, Max current=48A, number of poles=14

    Max speed that I need is about 3000 rpm. I ran lab2b and lab2c to identify the motor's parameters. in these labs when I changed the "SpeedRef_krpm" the motor's speed didn't change. why does it occur?

    below shows the achieved result with vdc=13v:

    #define USER_MOTOR_NUM_POLE_PAIRS (7)
    #define USER_MOTOR_Rr (NULL)

    #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 (8.0)
    #define USER_MOTOR_FLUX_EST_FREQ_Hz (20.0)
    #define USER_MOTOR_Rs (0.01457627)
    #define USER_MOTOR_Ls_d (2.113534e-09)
    #define USER_MOTOR_Ls_q (2.113534e-09)
    #define USER_MOTOR_RATED_FLUX (0.01733333)

    When I use thses achieved parameters  an error appeared as "USER_ErrorCode_ctrlFreq_Hz_Low". and when I increase the Ls_d and Ls_q value, this error dosen't occur . but I can not change it's speed. How can I solve these issues?

    Best regards.

  • Lab02b, lab02 is used to identify the motor parameters, you don't need to set the "SpeedRef_krpm".
    It seems your motor is a low inductance motor, so you need to use a higher pwm frequency and control frequency. For lab02b, lab02c, you can set Rs&Ls to NULL first.
  • Hi Yanming,

    Thank you for the reply Yanming.

    Hi Hamideh,

    I have merged the three threads into one. Please post the question once.
  • Hi

    I made a mistake and didn't know how I can delete them

    regards 

  • Hi
    Thanks for your reply
    In page 57 of instaspin-labs is written that "Set the variable “gMotorVars.SpeedRef_krpm” to a different value and watch how the motor shaft
    speed will follow".
    I tried lab5 and I can't change the speed again.
    When I use achieved parameters from lab2 an error appeared as "USER_ErrorCode_ctrlFreq_Hz_Low". and when I increase the Ls_d and Ls_q value, this error dosen't occur . but I can not change it's speed. How can I solve these issues?
    Regards
  • Refer to the user.c as below, this error is for the control frequency is not enough and inductance of motor is too low. You need to use lab02c to identify motor parameters first. Set USER_MOTOR_Rs, USER_MOTOR_Ls_d and USER_MOTOR_Ls_q to NULL for lab02c, and set the correct identified parameters in user.h. You must set correct motor parameters to achieve better performance, even run up to high speed, and it seems the USER_MOTOR_MAX_CURRENT is too small for your motor based its spec, the motor should run smoothly during identification.

    if((USER_MOTOR_Rs != 0.0) && (USER_MOTOR_Ls_d != 0.0) && (USER_MOTOR_Ls_q != 0.0))
    {
    if(((float_t)USER_CTRL_FREQ_Hz <= (USER_MOTOR_Rs / (USER_MOTOR_Ls_d + 1e-9))) ||
    ((float_t)USER_CTRL_FREQ_Hz <= (USER_MOTOR_Rs / (USER_MOTOR_Ls_q + 1e-9))))
    {
    USER_setErrorCode(pUserParams, USER_ErrorCode_ctrlFreq_Hz_Low);
    }
    }
  • Thanks for your reply

    I decreased the   USER_MOTOR_MAX_CURRENT value to 6, and used lab2c again, these parameters identified:

    if((USER_MOTOR_Rs != 0.0) && (USER_MOTOR_Ls_d != 0.0) && (USER_MOTOR_Ls_q != 0.0))
    {
    if(((float_t)USER_CTRL_FREQ_Hz <= (USER_MOTOR_Rs / (USER_MOTOR_Ls_d + 1e-9))) ||
    ((float_t)USER_CTRL_FREQ_Hz <= (USER_MOTOR_Rs / (USER_MOTOR_Ls_q + 1e-9))))
    {
    USER_setErrorCode(pUserParams, USER_ErrorCode_ctrlFreq_Hz_Low);
    }
    }

    and I could change the motor's speed. But when I use these parameters  in lab5b an error appeared as "USER_ErrorCode_ctrlFreq_Hz_Low" again

    according to:

    when I increase to USER_CTRL_FREQ_Hz to solve this error , an error appeared as "USER_ErrorCode_motor_Ls_q_Low"

    How can I solve it?

    Regards

  • Don't you have any ideas?

  • As the reported error, the inductance of motor is very low, and then the time constant (R/L) is very high, so you need to use a higher control frequency to implement stable control. What's the pwm and controller frequency in your project?