Problem with control of IPMSM

3 views (last 30 days)
Meikel Vollmers on 14 May 2021
Commented: Yoshi Minagawa on 20 May 2021
Hey Community,
i am despiratly trying to build up a Control for my IPMSM. I want to use Spacevector Modulation, and so i need to calculate the reference voltages Vd and Vq. Therefor i need the reference currents Id and Iq, and there is my problem.
I found two examples of Mathworks, but neither if them worked for the whole speed range, especially for the field weakening area. I tried those 2:
openExample('mcb/FieldWeakeningControlWithMTPAExample')
ee_pmsm_field_weakening_control
The Problems are the calculated currents - outside the base speed i.e. the reference d current is calculated to -350A, but a Measurement of the real Motors d-current at the operation point is i.e. about -40A. I am not allowed to use the measured data for my control, so i have to completly built it on my own. I attached my Simulink model, i am confident that my SVM and Inverter are working. My goal is to implement a field weakening control with MTPA.
I would prefer to have a Torque control, so the load of the machine is a angular velocity. But a Velocity control is acceptable, too.
Can anyone help me to design the control or point out, where my faults are?
Regards

Yoshi Minagawa on 20 May 2021
Hello Meikel,
Thank you for the question.
I checked your model. I didn't understand whole of this model, but I found a part that I guess is not working well.
I changed part of this model to comfirm the performance of SVM logic. I cut feedback loop, connected Vq/Vd reference directly to SVM logic and monitored inverter output voltages.(see the figure below) Then I found that the inverter output voldtages and the voltage refference values(Vq,Vd) were not the same values.
The part displayed in red in the figure below is the part I added. (In addition, the semiconductor was simulated by switching to the ideal SW.)
From the above, I guessed this SVM logic is not working well in your model.
For example, to create a model that works correctly, I recommend checking each function individually as shown in the step below.
1. Checking voltage control logic with open loop (mean checking only SVM logic)
2. Checking cuurent contorl logic (using SVM logic, but without field weakening logic)
3. Checking only field weakening logic
4. Checking by integrating the field weakening logic into the model
I hope this will be useful to you.
Yoshi Minagawa on 20 May 2021
ok, I converted these models to R2020b.
I hope this helps.

R2020b

Community Treasure Hunt

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

Start Hunting!