BLDC motor driver usinf FOC simulation problem
Afficher commentaires plus anciens
Hi, i tried to create the simulink model of bldc motor driver using IFOC, but i just can not figure why the speed plot was not right? i tried to tune the pi controller, but seems that there might be problem with system.

7 commentaires
Shivam Gothi
le 29 Sep 2024
If possible, can you please share the above simulink model? I will helpful in finding possible workaround for the issue faced by you.
Juncheng
le 30 Sep 2024
Shivam Gothi
le 30 Sep 2024
Thankyou for sharing the model. But the model is not compiling because some of the parameters of motor and controller gains are not defined. Can you please tell their values ?
Juncheng
le 30 Sep 2024
Juncheng
le 30 Sep 2024
Shivam Gothi
le 30 Sep 2024
Thanks for sharing the parameters.
Nandini
le 15 Nov 2024
can you share the model showed in photo for bldc motor FOC in 2024a version? Iam not getting speed in the above file you have given
Réponses (1)
Shivam Gothi
le 1 Oct 2024
0 votes
NOTE: If you are unable to open the attached simulink model, please tell the version of MATLAB you are using. I will share the modified simulink file compatible to that version.
I investigated the model of field oriented control of PMSM attached by you and found some drawbacks as stated below. I am also suggesting possible work-arounds to fix them.
- There was some issue with the “inverter” and “PWM” block . I removed both the blocks and used “controlled voltage source” block to directly power the PMSM, as seen in the attached Simulink model.
Cause of issue: The magnitude of the triangular carrier must vary from 0 to1, which in your case, is varying from -1 to 0. Also, the modulating sinusoidal signal should ride on DC value of 0.5, which is found to be missing in your case.
- After making the above changes, I re-tuned the current loop controllers and speed controller and added appropriate saturation limits at their outputs (Refer to the attached model).
- Then I changed the block parameters of “PMSM” as shown in below figure.
- Instead of using already available blocks for “abc-dq” and “dq-abc” transform, I built my own transformation blocks.
- I also changed the “mechanical input” property of “PMSM” block and made it “mechanical rotational port”. This added an additional rotational port at the “PMSM” block. I added an inertial load having some damping coefficient. These additional components are highlighted by green colour, as they belong to the “Simscape” library.
I simulated the model and found it to be working as per expectation. Below given is the waveform of reference speed signal and actual measured speed. You can see that the “PMSM” is tracking the reference speed with no steady state error.
Conclusion:
I have used “controlled voltage source” in the attached Simulink model in order to get a working and valid system model. You can modify the blocks in the attached model, to add your own “inverter” block and “PWM” scheme and validate its performance. Please verify your “inverter” and “PWM” blocks individually before using it in the model.
NOTE: If you are unable to open the attached simulink model, please tell the version of MATLAB you are using. I will share the modified simulink file compatible to that version.
I hope it helps!
3 commentaires
Nandini
le 14 Nov 2024
can you share the model showed in photo for bldc motor FOC in 2024a version?
Shivam Gothi
le 15 Nov 2024
It is attached with the above answer.
Nandini
le 15 Nov 2024
iam not getting speed in that can you tell me how to fix it?
Catégories
En savoir plus sur Motor Control Blockset dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!