Possible mistake in PMSM current_controllers in a demo model
1 次查看(过去 30 天)
显示 更早的评论
I refer to "Current_Controllers" block included in
mcb_pmsm_foc_hall_f28069m
It contains internally two individual controllers: d-axis V_ref is the output of PU_Controller_Id, q-axis V_ref is the output of PI_Controller_Iq, as shown in the follwing picture:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1113545/image.png)
This seems to me wrong, since in PMSM there is coupling between d-axis and q-axis.
The PMSM equations are as follows (from Motor Control Blockset official documentation):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1113550/image.png)
I.e., if we neglect resistance and dynamic terms, as is usually done for control system determination:
v_d=-omega*L_q*i_q
v_q=omega*(L_d*i_d+lambda_pm)
so any error on i_q impacts only on v_d, and any error on i_d impacts on v_q.
This is confirmed by the following figure, taken from a reference quoted by Matworks itself in the MCB:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1113555/image.png)
My question is: does anyone agree that this code is wrong? Just in case, does anyone has a fix (i.e. a fixed version) for this PMSM current controller?
Thanks a lot.
0 个评论
采纳的回答
Abhi Shankar Abhinav
2022-9-2
In thi reference example the controller does not take the cross coupling into account for the closed loop control. For closed control it is not required to formulate the current control with the cross coupling. If you are looking for an example of current controller which has the decoupling feedforward, try Field-Weakening Control (with MTPA) of PMSM.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Motor Parameter Estimation and Plant Modeling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!