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-3PHGANINV: Motor Speed Problem - Universal Motor Controller - DMC_LEVEL_4 (Build Level 4)

Part Number: BOOSTXL-3PHGANINV

Tool/software:

Hello,

I am using AM263P LP & BOOSTXL_3PhGANINV driver board and Linix 45ZWN24-40 BLDC Motor. I have successfully passed the first 3 levels in universal motor control example.

in DMC_LEVEL_4,

First, The motor rotates in accordance with the reference speed. After 2-3 seconds, the motor speed decreased according to the reference speed. 
Also, the speed changes continously with a constant pattern.
How should I proceed?

Regards,
Burak
  • Hi,

    I’m forwarding your question to our uC experts, hopefully someone will get back to you soon.  

    Regards

    Guang

  • Hello,

    In the above scenario I used eSMO for rotor position.
    I also tried with HALL sensor. In DMC_LEVEL_3 everything is fine.
    In DMC_LEVEL_4 first the motor rotates for 1 second. The motor stopped and the startupFailed flag was set.

    Regards,
    Burak

  • Hello,

    If you can get the motor running in level 3, then level 4 probably isn't working because of a speed calculation issue. Can you confirm that you've adjusted the motor parameters in 'user_mtr1.h' for the motor you're using? Also, could you take another look at the current waveform in level 3 to make sure you're getting the correct values?

    Best Regards,

    Masoud

  • Hello,

    The motor I use is Linix 45ZWN24-40. I don't have enough information about this motor. The parameters of the motor are in the picture below, that's all I know.



    I have set some motor parameters that I know. All engine parameters are below.

    #elif (USER_MOTOR1 == Linix_45ZWN24_40) 
    #define USER_MOTOR1_TYPE MOTOR_TYPE_PM 
    #define USER_MOTOR1_NUM_POLE_PAIRS (2) 
    //#define USER_MOTOR1_MAX_CURRENT_A (2.34f) // continuous current 
    #define USER_MOTOR1_MAX_CURRENT_A (8.0f) 
    #define USER_MOTOR1_Rs_Ohm (0.8f) 
    #define USER_MOTOR1_Ls_d_H (0.0002f) 
    #define USER_MOTOR1_Ls_q_H (0.0002f) 
    #define USER_MOTOR1_RATED_FLUX_VpHz (0.18f) 
    #define USER_MOTOR1_Rr_Ohm (0.0f) 
    #define USER_MOTOR1_MAGNETIZING_CURRENT_A (0.0f) 
    #define USER_MOTOR1_RES_EST_CURRENT_A (1.5f) 
    #define USER_MOTOR1_IND_EST_CURRENT_A (-1.0f) 
    #define USER_MOTOR1_FLUX_EXC_FREQ_Hz (60.0f) // the inertia that describes the amount of mass, in Kg.m2 
    #define USER_MOTOR1_INERTIA_Kgm2 (7.06154e-06) // the rated voltage of the motor, V 
    #define USER_MOTOR1_RATED_VOLTAGE_V (24.0f) // V // the minimum rotation frequency if the motor (Hz) 
    #define USER_MOTOR1_FREQ_MIN_Hz (9.0f) // Hz // the maximum/base rotation frequency of the motor (Hz) 
    #define USER_MOTOR1_FREQ_MAX_Hz (133.0f) // Hz // V/f Profile Parameters for open-loop in build level 2 // the low frequency f_low of V/f profile, in Hz, // set to 10% of rated motor frequency 
    #define USER_MOTOR1_FREQ_LOW_Hz (10.0f) // Hz // the high frequency f_high of V/f profile, in Hz, // set to 100% of rated motor frequency 
    #define USER_MOTOR1_FREQ_HIGH_Hz (133.0f) // Hz // the minimum voltage V_min of V/f profile, // the value is suggested to set to 15% of rated motor voltage, in Volt. 
    #define USER_MOTOR1_VOLT_MIN_V (1.0f) // Volt // the maximum voltage, V_max of V/f profile, // the value is suggested to set to 100% of rated motor voltage, in Volt 
    #define USER_MOTOR1_VOLT_MAX_V (24.0f) // Volt // the current increasing delta value for running the motor with force open-loop , in A #define USER_MOTOR1_FORCE_DELTA_A (0.05f) // A // the current increasing delta value for motor rotor alignment, in A #define USER_MOTOR1_ALIGN_DELTA_A (0.01f) // A // the current for running the motor with force open-loop or startup, in A #define USER_MOTOR1_FLUX_CURRENT_A (0.5f) // A // the current for motor rotor alignment, in A #define USER_MOTOR1_ALIGN_CURRENT_A (1.5f) // A // the current for start to run motor with closed-loop when the speed is // lower than the startup setting speed, in A #define USER_MOTOR1_STARTUP_CURRENT_A (3.5f) // A // the current for running the motor with torque control mode when start the motor, in A. #define USER_MOTOR1_TORQUE_CURRENT_A (3.0f) // A // the over-current threshold for the motor, in A. // The value can be set to 50%~300% of the rated current of the motor #define USER_MOTOR1_OVER_CURRENT_A (11.5f) // A // the speed threshold for start the motor, in Hz #define USER_MOTOR1_SPEED_START_Hz (35.0f) // Hz // the speed threshold for running the motor with force open-loop, in Hz #define USER_MOTOR1_SPEED_FORCE_Hz (30.0f) // Hz // the acceleration for start the motor, in Hz/s. #define USER_MOTOR1_ACCEL_START_Hzps (10.0f) // Hz/s // the maximum acceleration for running the motor, in Hz/s 
    #define USER_MOTOR1_ACCEL_MAX_Hzps (20.0f) // Hz/s // the speed threshold for running the motor with flying start mode, in Hz 
    #define USER_MOTOR1_SPEED_FS_Hz (3.0f) // Hz // the current for motor brake, in A. #define USER_MOTOR1_BRAKE_CURRENT_A (1.0f) // A // the duration time for motor brake, in 5ms time base #define USER_MOTOR1_BRAKE_TIME_DELAY (12000U) // 60s/5ms


    I share my current waveform with two different reference speed in LEVEL 3. 

    when reference speed is 20 Hz.

    when reference speed is 44 Hz.



    Regards,
    Burak

  • At level 3, the motor speed estimation becomes incorrect after a certain reference value. For example, for a 20 Hz reference speed, the speed is correct. But for a 40 Hz reference, the speed is shown as 20 Hz or 15 Hz. However, I know with my own eyes that the motor is rotating faster.

  • Hello,

    For any close loop control including level3 and level 4, you need to tune these parameters correctly. If you don't have the information or tools to measure those parameters, I can refer you to use our FAST estimator in our C2000 series to measure those parameters in a sensor-less way. You can check: "InstaSPIN-FOC and InstaSPIN-MOTION User's Guide" on how to estimate motor parameters.

    Best Regards,

    Masoud