Struggling with Custom Motor Integration and PID Tuning in IPMSM Velocity Control

1 vue (au cours des 30 derniers jours)
Alex
Alex le 23 Mai 2024
Commenté : Finn le 16 Juil 2024
Hello MATLAB Community,
I am currently working on customizing the IPMSM Velocity Control example to incorporate my own motor parameters. Despite several attempts, I have been unsuccessful in achieving the desired control performance. Here are the specific motor parameters I am using:
  • Pmax: 60,000 W (Maximum power)
  • Tmax: 80 Nm (Maximum torque)
  • Ld: 0.0008 H (Stator d-axis inductance)
  • Lq: 0.001 H (Stator q-axis inductance)
  • L0: 0.0005 H (Stator zero-sequence inductance)
  • Rs: 0.01245 Ω (Stator resistance per phase)
  • psim: 0.06 Wb (Permanent magnet flux linkage)
  • p: 4 (Number of pole pairs)
  • Jm: 0.0012 Kg*m^2 (Rotor inertia)
  • Back EMF constant: 0.233 V/(rad/s)
I have tried using the Step Response Optimizer and the "Tune Field-Oriented Controllers Using Closed-Loop PID Autotuner Block" to adjust the P and I values for D, Q, and the speed control loops, but I have not been successful.
Could anyone provide guidance or suggestions on how to properly adjust these parameters? Specifically, I am looking for advice on:
  1. Properly integrating my motor parameters into the IPMSM Velocity Control example.
  2. Effective methods for tuning the PID controllers for the D-axis, Q-axis, and speed control loops.
Any help or insights would be greatly appreciated.
Thank you!
  3 commentaires
Alex
Alex le 24 Mai 2024
Thank for the suggestion! Can you recommend examples or tutorials to speed up my process?
Finn
Finn le 16 Juil 2024
A good start for tuning your pid controller, whould be to tune it from your motor parameters. You can use two methods. I would recommend you to tune the current controllers with the amplitude optimum. After calculating the PID-Controller gains you can look at the step responses (d-Axis and q-Axis seperatly). To exclude any coupling resuting from back-emf you can lock the rotor, so it don`t rotate when you apply a q-current. When the current loop shows good behaviour you can tune the speed controller with the symmetrical optimum.
This two methods will give you a decent control performance. If you want to optimize, you can go on and for example use the closed loop pid tuner.

Connectez-vous pour commenter.

Réponses (0)

Produits


Version

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by