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.

MOTORWARE: INSTA SPIN FOC

Part Number: MOTORWARE

Dear Team TI,

I am using DRV830x-HC-C2-KIT for our motor.

Motor tuning done with motorware_1_01_00_18 Lab solutions:\ti\motorware\motorware_1_01_00_18\docs\labs.

Motor is running fine with Lab5 b after tunning it.

We are running same BLDC motor and user.h parameter for our custom build hardware.  

But when we are trying to run the motor through our motor driver hardware, it is creating problem. (Doing Vibration, Not running)

Here are the changes into our hardware that we had updated into the library. 

1. Supply Voltage Divider is 5.1K Low Side, 100K High Side

Calculated full scale Phase voltage. 

#define USER_ADC_FULL_SCALE_VOLTAGE_V     (68)

2. Current Sense Resistor Value (500uOhm)

Calculated full scale current.

#define USER_ADC_FULL_SCALE_CURRENT_A        (66) 

2. RC filter at the phase sense (High Side 95.3K, Low Side 4.99K)

Calculated voltage filter pole value

#define USER_VOLTAGE_FILTER_POLE_Hz   (335.648)

  • Hello Ram Babu,

    The main subject expert for this topic is out of office, so please expect a delay in response.

    Regards,

    Varsha

  • 1. Change the PWM and ADC configuration in hal.c refer to the guide, motorware_hal_tutorial.pdf.

    C:\ti\motorware\motorware_1_01_00_18\docs\tutorials

     

    2. Set correct parameters based on the hardware board in user.h

    #define USER_IQ_FULL_SCALE_VOLTAGE_V           (xx)

    #define USER_VOLTAGE_FILTER_POLE_Hz               (xx)

    #define USER_ADC_FULL_SCALE_VOLTAGE_V       (xx)

    #define USER_IQ_FULL_SCALE_CURRENT_A           (xx)

    #define USER_ADC_FULL_SCALE_CURRENT_A       (xx)

     

    3. make sure that the sign of the current coefficient in HAL_readAdcData() in hal.h matches the current sensing circuit. Refer to chapter 5.2.2 Current Feedback Polarity in InstaSPIN user's guide (SPRUHJ1, https://www.ti.com/lit/spruhj1) to set the sign of the current scale factor.

     

    static inline void HAL_readAdcData(HAL_Handle handle,HAL_AdcData_t *pAdcData)

    {

       _iq current_sf = (+/-)HAL_getCurrentScaleFactor(handle);

    }

     

    4. Follow the instaSPIN lab guide to use lab01b and lab01c to verify your own hardware since you are not using the TI EVM kits and then run the subsequent labs.

     

    5. Using the lab02b or lab02c to identify the motor parameters, and use the identified parameters to run the motor if the current and voltage sensing signals are verified and good.

  • Hii Yanming Luo,

    Thank you for your reply.

    As per your feedback, we have verified  the things 

    1. PWM and ADC configuration has been done.

    2. Set correct parameters based on the hardware board in user.h has been done.

    3. Current Feedback Polarity has been verified as per our hardware.

    4. lab01b and lab01c to verify your own hardware has been done.

    5.  Identified parameters to run the motor. (Facing problem)

       when identifying these parameters with the EVM kit we are getting these values.

    #define USER_MOTOR_Rs                              0.03568007
    #define USER_MOTOR_Ls_d                          0.000037842
    #define USER_MOTOR_Ls_q                          0.000037842
    #define USER_MOTOR_RATED_FLUX          0.023

      when identifying these parameters with the own hardware we are getting these values.

    #define USER_MOTOR_Rs                              0.172224029
    #define USER_MOTOR_Ls_d                           0.000029491089
    #define USER_MOTOR_Ls_q                            0.000029491089

    #define USER_MOTOR_RATED_FLUX          0.023

    Note -

    Motor is same in both of experiments 

    Hardware Vbus sensing divider and phase sense divider (Filter pole Components) are same.

    Phase shunt is 0.002 Ohm in EVM and 0.0005 Ohm in our hardware (Full scale current and Iq full-scale current is updated accordingly

  • Make sure that you set the below parameters correctly according to the modification hardware. And you should run the lab02c for this low inductance motor.

    #define USER_IQ_FULL_SCALE_VOLTAGE_V           (xx)

    #define USER_VOLTAGE_FILTER_POLE_Hz               (xx)

    #define USER_ADC_FULL_SCALE_VOLTAGE_V       (xx)

    #define USER_IQ_FULL_SCALE_CURRENT_A           (xx)

    #define USER_ADC_FULL_SCALE_CURRENT_A       (xx)

  • Hello Yanming Lao,

    We cross-check all the parameters as per our hardware. but we failed to identify the reason for the high resistance  (as mentioned above thread).

    #define USER_MOTOR_Rs                              0.172224029

    Because of that estimate kp and ki is too high. we are unable to run properly with this estimated kp and ki value.

    After tunning the kp and ki values motor runs properly.

    How to rectify this problem?

  • Can you try to run the motor with TI EVM without any hardware modification, and just change the identification variables?