How to create a fuzzy controller for dc motor position?

3 次查看(过去 30 天)
Hey all, considering a fuzzy speed control of a dc motor [<http://www.mathworks.com/matlabcentral/fileexchange/36508-fuzzy-controller-based-speed-control-of-dc-motor>] i tried to adapt the given model to a position control. Firstly, one changes the system output of the dc model to theta. Secondly, one implements additional gains to the fuzzy controller input in order to influence the change of error and the error itself. Anyway, the result is not sufficient. The overshoot is immense, no matter which parameters i take. To my understanding it is not necessary to change any of the fuzzy controller's parameters except the width of the output voltage in order to configure the maximum applied voltage to the dc motor. Is this approach right so far? Or am i missing a crucial fact about setting up fuzzy controllers?
Thanks in advance.
Kev

回答(1 个)

Ryan G
Ryan G 2012-9-17
I would consider instead of changing the fuzzy controller adding another loop around the model. Remove the step input and put a summing junction there with a gain. Instead of trying to control position directly this new outer loop will control the motor speed to obtain the position desired.
Something like this where the step goes from 1 to 2 radians and I set the gain, Kp, to 1200 simply by observation of what worked well.

社区

更多回答在  Power Electronics Control

类别

Help CenterFile Exchange 中查找有关 Fuzzy Logic in Simulink 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by