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.

BLDC going out of sync

Other Parts Discussed in Thread: MOTORWARE

So I've been using motorware for a while now and I can't seem to find a solution to this problem. First I'll give a little background:

I've been using Lab13a to do position control, and when disturbing (torquing) the motor in a rapid back and forth kind of way, I've noticed the motor falling out of sync. It starts oscillating while emitting a high pitch noise, and loses all torque. I've been experimenting to see if it's the encoder losing impulses, which would misaling the electrical angle with the mechanical angle. I can safely now say that it's not. I have tried the same experiment without any encoder feedback with Lab04. I've tested this with multiple different set values of Iq_ref_A, and rapidly torquing the motor back and forth does make it fall out of sync, even though I am using the built in estimator.

Can this be in any way circumvented? What can be causing this? Any help will be appreciated

Best Regards

Just FYI, this is my hardware: LAUNCHXL-F28069M board with the DRV8305 Booster. These are my motor settings :

#define USER_MOTOR_TYPE                 MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS       (20)
#define USER_MOTOR_Rr                   (NULL)
#define USER_MOTOR_Rs                   (0.0484125465)
#define USER_MOTOR_Ls_d                 (3.53583055e-05)
#define USER_MOTOR_Ls_q                 (3.53583055e-05)
#define USER_MOTOR_RATED_FLUX           (0.0241114106)
#define USER_MOTOR_MAGNETIZING_CURRENT  (NULL)
#define USER_MOTOR_RES_EST_CURRENT      (3.0)
#define USER_MOTOR_IND_EST_CURRENT      (-3.0)
#define USER_MOTOR_MAX_CURRENT          (24.00)
#define USER_MOTOR_FLUX_EST_FREQ_Hz     (20.0) 
#define USER_MOTOR_ENCODER_LINES        (1024.0)
#define USER_MOTOR_MAX_SPEED_KRPM       (1.920)
#define USER_SYSTEM_INERTIA             (0.2552739978)
#define USER_SYSTEM_FRICTION            (0.7534176111)
#define USER_SYSTEM_BANDWIDTH_SCALE     (1.0)

Anything more info I will be happy to supply if this will resolve my problem.

  • Grzegorz Ficht50 said:
    I can safely now say that it's not. I have tried the same experiment without any encoder feedback with Lab04. I've tested this with multiple different set values of Iq_ref_A, and rapidly torquing the motor back and forth does make it fall out of sync, even though I am using the built in estimator.

    I don't necessarily think that this experiment proves whether or not the encoder hardware is missing counts since you are not using the encoder in Lab 04.  If you wanted to do this test you should port the encoder code over to that lab as the sensorless estimator does not make use of the encoder pulses and the labs using a sensor don't make use of the sensorless estimator.  You can also modify the GPIO qualification code used in the labs (there are a couple threads about this on the forum).

    Is your motor getting a good alignment between the motor and encoder angles?  Make sure that it holds a stable position during the resistance recalculation when you start the system.

    I also noticed that your bandwidth is fairly low.  Have you tried increasing this value?

  • I didn't say that there's no problem with missing counts, I'm just saying that it's not the case why the motor is going out of sync in the first place, because I am using no encoder in Lab04 where it's disconnected. Don't focus on the encoder here. The motor is going out of sync with or without the encoder.

    The bandwidth has nothing to do here as well, as in Lab04 there is no position controller,- you directly set a Iq_ref_A value for the foc.

  • Did you enable forced angle in Lab04? As you knew, the forced angle allows InstaSPIN to start from zero speed at full motor torque, but turn off the forced angle will have a smooth transitions through zero speed. Btw, Is the Iq_ref high enough to overcome starting friction? The position maybe inaccuracy during zero or very low speed if using sensorless mode, especially startup with full loading.