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-DRV8320RS: Motor Parameters Identification

Part Number: BOOSTXL-DRV8320RS
Other Parts Discussed in Thread: LAUNCHXL-F28069M, BOOSTXL-DRV8323RS, DRV8323, C2000WARE

Hello

I use BOOSTXL-DRV8320RS and LAUNCHXL F280049C to run my motor, and there are some problems.

I follow (InstaSPIN Projects and Labs User’s Guide) to run BLDC.

I have two different BLDCs, one can run (lab01~lab07) and run stably.
But the process of running lab05 with another motor is different. When it runs as 05, the motor runs, but when the item estStatus is RATEDFLUX, the motor stops but the RunIdentOnline value is 1. I still wait for the value to be equal to 0 to set my motor parameters.
Although I will get the motor parameters eventually, I ran the is07 motor with the parameters and did not run. I changed some settings and the motor can run, but it is too hot.

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1020844/boostxl-drv8323rs-instaspin-motion-project

I have used another drive(Launchxl-F28069M and BOOSTXL-DRV8323RS), and the result of the inquiry at the time was that the value of the motor Ls was too low to identify the motor.

So I want to ask some question
1. Is this project also a motor identification error?
2. How to judge the identification error of the motor parameters, I only know that the motor will run at a certain speed during identification. But on what basis is the speed change set? The last time was based on the results obtained by changing other specifications of motors and multiple experiments.
3. Is the motor inductance too low to operate with the FOC driver?
4. If system identification is not possible, can I only adjust the parameters by myself until the motor control is stable?
5. How do I know if this motor can be identified by the TI drive system? The power and current of my motor meet the operating specifications of the drive, but it cannot run stably
6. Can I use another set of equipment to identify the motor parameters in this case? I used the parameters identified by Drv8323 to operate, and its speed control is stable. But the parameters obtained by the two devices are different. Is it because I have not set anything?

7. If I want to use BOOSTXL-DRV8320RS and LAUNCHXL F280049C to control BLDC and add Quadrature encoder to speed control. Does LAUNCHXL F280049C have any examples for reference

Thanks

  • Hello,

    Forwarding to the C2000 team for InstaSPIN-FOC and MotorControl SDK support. 

    Thanks,
    Aaron

  • 1. Is this project also a motor identification error?

    You need to configure the parameters for identification and use a higher PWM and control frequency if the motor is a low inductance motor, such as 45KHz PWM frequency, 15kHz control frequency. The values of these parameters in user.h are just for a generic motor we tested and for your reference, you should tune these parameters according to your motor. 

    #define USER_MOTOR_TYPE MOTOR_TYPE_PM
    #define USER_MOTOR_NUM_POLE_PAIRS (4)

    #define USER_MOTOR_RES_EST_CURRENT_A (2.0)
    #define USER_MOTOR_IND_EST_CURRENT_A (-1.5)
    #define USER_MOTOR_MAX_CURRENT_A (6.0)
    #define USER_MOTOR_FLUX_EXC_FREQ_Hz (40.0)

    2. How to judge the identification error of the motor parameters, I only know that the motor will run at a certain speed during identification. But on what basis is the speed change set? The last time was based on the results obtained by changing other specifications of motors and multiple experiments.

    The motor can't run smoothly during identification process, and the value of estimator state in motorVars.estState is EST_STATE_ERROR, that means the identification maybe failed. You have to tune the identification parameters as mentioned above.

    3. Is the motor inductance too low to operate with the FOC driver?

    That depends on your application. You'd better to use sensored-FOC if you need to run the motor at zero/low speed with heavy load and want quick response at full speed range.

    5. How do I know if this motor can be identified by the TI drive system? The power and current of my motor meet the operating specifications of the drive, but it cannot run stably

    As the answer to Q2. Most of the PMSM can be identified successfully. 

    6. Can I use another set of equipment to identify the motor parameters in this case? I used the parameters identified by Drv8323 to operate, and its speed control is stable. But the parameters obtained by the two devices are different. Is it because I have not set anything?

    Yes, you can get the motor parameters from its manufacturer, and set them in user,h by manually as described in chapter 6.9 of InstaSPIN-FOC and InstaSPIN-MOTION User's Guide

    https://www.ti.com/lit/ug/spruhj1i/spruhj1i.pdf

    7. If I want to use BOOSTXL-DRV8320RS and LAUNCHXL F280049C to control BLDC and add Quadrature encoder to speed control. Does LAUNCHXL F280049C have any examples for reference

    You may find a sensored-FOC example lab for PMSM in MotorControl SDK as below.

    MotorControl software development kit (SDK) for C2000Tm MCUs

    C2000WARE-MOTORCONTROL-SDK: http://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    LaunchXL-F28004x/002x + BoostXL-3PhGaN for low voltage dual-axis motor/servo drive

    C:\ti\c2000\C2000Ware_MotorControl_SDK_3_02_00_00\solutions\boostxl_3phganinv\f28004x

    C:\ti\c2000\C2000Ware_MotorControl_SDK_3_02_00_00\solutions\boostxl_3phganinv\docs

     

  • Thanks a lot !

    And I am not sure if my LAUNCHXL F280049C Qep is broken, I tried the LAUNCHXL F280049C sample program eqep_ex2_pos_speed.
    Or use LAUNCHXL-F28069M lab12 QEP to transplant to LAUNCHXL F280049C, but the position and speed have not changed from debug to see
    I want to ask, if I only use QEP to see the position and speed

    1. Does eqep_ex2_pos_speed LAUNCHXL F280049C need which part ONorOFF?

    I have tested it with F28069M, and my encoder is not broken. So maybe is  my board or project problem.

    2. And I know some driver have safe setting?

    So when the motor speed valuew is low than ref_Hz, the motor will stop or until run?

    Because I want to use my motor, when I get Torque value maybe  0.3 ↑N-m to Stop. So I want to know can I  adjust some safe setting? or TI for safety, it will stop running when the current value is too high.

  • You might take a look at documentation for this lab or LaunchXL board. The switch (S3) must be set to the QEP position for linking the GPIOs to QEP connectors (J12, J13).

    And you can follow the lab guide to run different BUILD LEVEL for hardware and motor verification.