Integers in control loops

3 次查看(过去 30 天)
Mark
Mark 2011-8-14
Hi,
I am trying to use the Simulink's controller tuning feature, but it cannot seem to linearize the loop because of my rounding function (makes the controller effectively see '0'). The reason for my rounding function is because the controller must only output integers.
Is there any way to make the controller only output integers but of data type double?
Regards Mark

采纳的回答

Erman Korkut
Erman Korkut 2011-8-16
Hi Mark,
How are you rounding your controller output? If you are using the quantizer block, there is a checkbox for "treat gain when your are linearizing", make sure it is checked. If you use any other block (rounding function block in Math library, matlab fcn block etc.), you can always right-click on the block and select "Linear Analysis->Specify Linearization..." menu to set the linearization of the block to a certain value, such as gain of 1. You can even make the linearization depend on the input value if you choose to use configuration function for specifying linearization of the block. You can check the following for more information:
Regards, Erman Korkut
  2 个评论
Mark
Mark 2011-8-17
Thanks Erman. Simulink can now linearize the plant. Only problem is that it doesn't seem to take the rounding into account when tuning because it gives pretty low gains, and when I simulate, the rounding makes the output zero and does not do anything. But I'll play around with it and see what I can come up with. Thanks again.
Regards, Mark
Mark
Mark 2011-8-17
Turns out my model was actually a bit off which made the gains super small. Fixed it now though and seems to be giving more legit parameters for the controller.
Regards, Mark
PS Thanks again Erman, spent a lot of time trying to figure out what to do, and yet such a simple solution. Appreciate it.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Classical Control Design 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by