2025-07-23 5:07 AM - edited 2025-07-23 5:25 AM
I am working on a project to drive a sliding door using a PMSM motor in position control mode (details are given in the below). I determined the PID coefficients using ST AN5464. The motor operates very good during normal right/left rotation commands. However, when the motor is holding a fixed position, it sometimes exhibits small vibrations.
When the motor is in a fixed position and I use the PWMC_SwitchOffPWM(pwmcHandle[M1]) function to disable PWM, the vibrations also stop. However, disabling the PWM is not desired in the project.
Below, I have attached a graph obtained using ST Motor Pilot V6.4.0 that shows the I_Q_MEAS and I_Q_REF signals of the PMSM motor during vibration in standstill (Although I couldn't take a screenshot as I wanted, it's clear that the I_Q_MEAS and and I_Q_REF signals are oscillating). As far as I understand, the I_Q_MEAS and I_Q_REF signals should remain stable when the motor is stationary.
Is there anyone who can help me with this issue? I would appreciate any suggestions for methods or functions I could use. Thank you in advance for your assistance.
Project:
ST MCW Ver : 6.4.0
STM32CubeIDE Ver : 1.19.0
Driving algorithm : FOC
Control board : Nucleo-G474RE
Power board : STEVAL-IHM023V3
Bridge : X-NUCLEO-IHM09M2
PMSM Motor : 24V, 8A, 300 RPM.
Encoder : Incremental, 1024.
PID Parameters:
PID_POSITION_KP_GAIN = 30000
PID_POSITION_KI_GAIN = 20
PID_POSITION_KD_GAIN = 400
2025-07-23 8:21 AM
Hello @EDokm,
Through the Motor Pilot Interface, click Advanced Configuration while in the RUN state to dynamically change the Position PID regulator values. For example, decrease the Kp value by 10 and check if it improves steady-state stability.