How to apply H-inf control to a PMSM motor?
2 次查看(过去 30 天)
显示 更早的评论
Hello. I am a student currently working on understanding different types of controllers, and I am stuck on robust H-inf control. When I have started working on the controller, I tried applying it to a DC motor, but have now changed it to a PMSM motor after I couldn't figure out how to model H-inf controller in Simulink properly.
It turns out that this is also not going well, and despite understanding the theory behind H-inf control, I am unable to model the controller in Simulink.
For now, I have limited myself to a very simple model with small transport delay. The model looks like this
The parameters are as follow:
Ktm = 17.5 Jm = 1.5 kg*m^2 Delay = 0.02s
I am planning to add more parameters and change their values later to test the controller, but first I need to start with basics. The PID control works fine with the model so I assumed it's correct.
And here is where my question comes: could anyone explain me the basics of how I should (step by step) start designing and applying a H-inf robust controller to a model like this one, without solving it too much for me?
What I have gathered so far is that there is a very potent command in Matlab called "hinfsyn" which can create a controller for me, but to use that command, I would need to put my motor's parameters into a matrix. Is that correct? And if so, wouldn't the Transport Delay make it hard to create a proper matrix for hinfsyn to use? I have tried using this command with my previous DC motor and it worked, although I am not sure if the results were correct, as they were almost identical to PID control, with small variance in current output.
When I worked with the DC motor, I put together a controller using the following commands:
I created matrix A, B, C and D with all the motor's parameters and then put them together into a matrix M, which I later used to create a controller K. Is this the correct approach?
The controller K was later put into state-space and used in my simulink model. In this model, I have tested different types of control, so You can ignore all of the PID controllers present there. I know now that the model is incorrect, but I do not know how to change it so that weights are present.
Also, I know about the weights added to models where H-inf control is present, but, in case of my model, where noise is not present (for now), would some of those weights be obsolete?
I would apprieciate any help on this subject, including any references You could give me. So far I have found quite a few documents on this matter, but they usually explain more complex situations and I would like to start with basics.
Thank You in advance.
1 个评论
adeel usmani
2020-2-21
hello sir. Did you solve this issue? I am also stuck at the same point. Some help will be really great.
Thanks
回答(1 个)
Sabin
2023-11-17
For PMSM control the dq rotor reference frame can be used. The state-space model in the dq reference frame is known and available in many sources, including Simscape Electrical documentation.
For something to start with, there is a PMSM position control example in Simscape Electrical that is using an LQR controller in the outer loop but a similar approach can be used for the inner current control loop.
0 个评论
社区
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Permanent Magnet 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!