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.

TMS320F28054M: Weird shaking behavior of motor when standstill

Part Number: TMS320F28054M

Hi,

I have a custom low induction sensorless outrunner motor, which I use InstaSPIN FOC to control. Sometimes, especially when the stator resistance (Rs) is estimated too high, I get a weird shaking behavior when the speed-setpoint is 0. It is hard to describe without a video, but it shakes and vibrates. However, the motor seems to behave nicely when I give it a speed setpoint. My hypothesis is that it is the FAST algorithm that causes it to move, and it is injecting too high currents which makes the motor move.

Is this something you are familiar with?

This is the parameters I use for my motor:

#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (7)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.005)
#define USER_MOTOR_Ls_d (9.5e-06)
#define USER_MOTOR_Ls_q (9.5e-06)
#define USER_MOTOR_RATED_FLUX (0.018)
#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 (16.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (76.0)
#define USER_MOTOR_ENCODER_LINES (5.0)
#define USER_MOTOR_MAX_SPEED_KRPM (6.5)
#define USER_SYSTEM_INERTIA (0.121264)
#define USER_SYSTEM_FRICTION (0.30)
#define USER_SYSTEM_BANDWIDTH_SCALE (20)
#define USER_ENC_SAMPLE_PERIOD \
(USER_ISR_FREQ_Hz / USER_NUM_PWM_TICKS_PER_ISR_TICK) / \
(USER_MOTOR_MAX_SPEED_KRPM * 1000 / 60 * 2)

Best regards,

Jørgen

  • Hi Jørgen,

    Did you monitor the estimated speed and Idref? How did they behave in the two cases (speed reference = 0 or some value)?

    Thanks,

    Jiaxin

  • The speed reference is zero as explained above. The estimated speed varies with the shaking and seems to be correct.

  • Hi Jørgen,

    It sounds normal. There might be instability or shaking because of the starting process of sensorless FOC. The motor will operate steadily in mid/high speed range. If you want to control the speed to exact zero, it is recommended to add sensor to the system. 

    Thanks,

    Jiaxin

  • I do not think this behavior is normal, as the shaking is quite severe. Also, it is only happening with some of our PCBs, while other work completely fine; the only thing I have noticed is that shaking wheels has a higher Rs-value than other wheels. This might indicate bad connection between motor and PCB, but the cables we use should offer good connection.

    When I turn down the Rs value it stops shaking. i do not know how your algorithms work internally. I would guess lower Rs means lower currents in the open-loop controller at zero speed, and thus the motor does not shake anymore?

  • Hi Jørgen,

    Can you capture the critical control variables in the debugger? Did you have the observation that higher Rs leads to higher currents?

    Thanks,

    Jiaxin