cancel
Showing results for 
Search instead for 
Did you mean: 

Severe oscillations during downward motion – BLDC 24V with FOC + Hall sensors – PID tuning help needed

Christophe65
Associate III
Hi,
I’m controlling a 4-pole BLDC motor (24V) for a tilting door using STM32F303, configured via MC Workbench and monitored with ST Motor Pilot.
Control method is FOC with Hall sensors and 3-shunt current sensing. PWM frequency is 25kHz.
:wrench: Motor specs:
  • Rs = 0.83Ω, Ls = 0.97mH
  • BEMF = 8.75 Vrms/Krpm
  • Inertia = 55.53 µN·m·s², Friction = 38.94 µN·m·s
  • Max speed = 1000 rpm
🧠 Control parameters:
  • Hall sensors: Displacement = 120°, Electrical angle = 60°
  • FIFO = 16, Input capture filter = 4 µs
  • Regulation time = 80 µs (2 PWM), T-rise = 1500 ns, T-noise = 2000 ns
  • Angle interpolation enabled
  • Speed control mode with Feed Forward enabled
  • Torque & Flux cutoff frequency = 6000 rad/s
  • Execution rate = 5 ms
:chart_decreasing: Issue:
Upward motion is relatively clean (minor oscillation), but downward motion shows strong oscillations. The torque required for closing is higher than for opening, and I can’t find PID values that stabilize the system.
:backhand_index_pointing_right: Questions:
  • Could the electrical angle setting be incorrect?
  • Should I disable angle interpolation?
  • Is asymmetric PID tuning recommended for up/down motion?
  • Any other parameters that could cause this instability?
Thanks in advance for your help!
1 REPLY 1
GMA
ST Employee

Hello @Christophe65,

Did you use the MC Profiler tool to profile the Hall sensor as presented here?
Do you observe the same asymmetrical behavior with no load?
Using the MC Pilot tool, you can open the "Advanced settings" interface and dynamically tune the PID speed by increasing the Speed KP to decrease oscillation.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA