Is it impossible to implement a dc motor speed control using closed loop ziegler nicholas method? For some transfer function I used ziegler nicholas method but I couldn't determine the PID parameters for DC motor speed control.Could you propose anything for this operation?
Thanks.
|
|
0
|
|
|
|
Reply
|
dfgdg
|
12/23/2010 2:35:20 PM |
|
And my transfer fuction is;
1
-------------------------------------
s^2 + 14s + 40.02
I couldn't find the PID parameters using Ziegler-Nichols method(closed loop).
Where is my mistake?Could you propose anything???
Thanks.
|
|
0
|
|
|
|
Reply
|
dfgdg
|
12/23/2010 8:30:25 PM
|
|
Am I writing unreasonable things that are impossible to implement in Simulink?
|
|
0
|
|
|
|
Reply
|
dfgdg
|
12/24/2010 9:36:05 AM
|
|
"dfgdg dfgdfg" wrote in message <ievmn8$g91$1@fred.mathworks.com>...
> Is it impossible to implement a dc motor speed control using closed loop ziegler nicholas method? For some transfer function I used ziegler nicholas method but I couldn't determine the PID parameters for DC motor speed control.Could you propose anything for this operation?
> Thanks.
Hi
I think it is not possible to design PID controller using ziegler nicholas method(closed loop) for a second order process and the order should not be less than 3 to design PID controller
|
|
0
|
|
|
|
Reply
|
rajasekhara
|
12/24/2010 11:03:04 AM
|
|
On 24/12/10 3:36 AM, dfgdg dfgdfg wrote:
> Am I writing unreasonable things that are impossible to implement in
> Simulink?
Most of the regular posters do not have experience in Simulink, and not
many people answer questions about transfer functions. Also, a lot of
people are busy preparing for Christmas.
Myself, I have no idea whether the answer to your question is trivial or
difficult or impossible... sorry.
|
|
0
|
|
|
|
Reply
|
Walter
|
12/24/2010 4:55:37 PM
|
|
If you have no idea for the answer,you don't have to write something that is not useful for anybody.Here is MATLAB&Simulink user community and many people have experience in Simulink.
Walter Roberson <roberson@hushmail.com> wrote in message <eg4Ro.63647$wf4.32796@newsfe05.iad>...
> On 24/12/10 3:36 AM, dfgdg dfgdfg wrote:
> > Am I writing unreasonable things that are impossible to implement in
> > Simulink?
>
> Most of the regular posters do not have experience in Simulink, and not
> many people answer questions about transfer functions. Also, a lot of
> people are busy preparing for Christmas.
>
> Myself, I have no idea whether the answer to your question is trivial or
> difficult or impossible... sorry.
|
|
0
|
|
|
|
Reply
|
dfgdg
|
12/25/2010 6:50:05 AM
|
|
On 25/12/10 12:50 AM, dfgdg dfgdfg wrote:
> If you have no idea for the answer,you don't have to write something
> that is not useful for anybody.Here is MATLAB&Simulink user community
> and many people have experience in Simulink.
You posted a question about why you are not getting an answer to your
issue. I answered that question based upon my several years of
experience with this electronic resource.
Is it not of benefit to you to know that, in general, most Simulink
questions go unanswered, and that there are very few posters who
consistently answer Simulink questions? Flip the matter around: if I had
informed you that (hypothetically) most Simulink questions got answered
quickly, would that not have given you evidence that perhaps your
question was difficult or impossible? And thus by my informing you of
the opposite, that few Simulink questions get answered, let alone
quickly, does that not give you grounds for continuing to hope that
there is a solution?
The part where I said that I myself do not know: if I had just told you
that Simulink questions seldom get answered, would you not have been
left in doubt as to whether I could have instead answered the question
"if I could be bothered" ?
I gave you information which helps you manage your expectations about
receiving an answer to your question. If you consider that kind of
information to "not be useful", then you should probably find a support
resource in which people are obliged to answer rather than being volunteers.
|
|
0
|
|
|
|
Reply
|
Walter
|
12/25/2010 5:23:18 PM
|
|
On 23/12/10 8:35 AM, dfgdg dfgdfg wrote:
> Is it impossible to implement a dc motor speed control using closed loop
> ziegler nicholas method? For some transfer function I used ziegler
> nicholas method but I couldn't determine the PID parameters for DC motor
> speed control.Could you propose anything for this operation?
> Thanks.
Without having read the following paper in detail, it seems to me that
the paper indicates that what you want to do is possible.
http://umpir.ump.edu.my/413/1/Mohd_Azri_Bin_Abd_Mutalib_3244.pdf
|
|
0
|
|
|
|
Reply
|
Walter
|
12/25/2010 5:37:43 PM
|
|
"dfgdg dfgdfg" wrote in message <ievmn8$g91$1@fred.mathworks.com>...
> Is it impossible to implement a dc motor speed control using closed loop ziegler nicholas method? For some transfer function I used ziegler nicholas method but I couldn't determine the PID parameters for DC motor speed control.Could you propose anything for this operation?
> Thanks.
In newer releases of Simulink there is the PID block which allows autotuning. The control toolbox offers sophisticated methods for evaluating controls. So from the Matlab/Simulink side everything is there.
What btw have you done so far concerning Ziegler Nichols? What where the PID parameters you have found?
|
|
0
|
|
|
|
Reply
|
Frank
|
12/26/2010 10:53:04 AM
|
|
Can I ask why you have to use Ziegler-Nichols?
We specifically added pid tuning capabilities to Simulink Control Design in R2009b and Control System Toolbox in R2010b to handle cases when Ziegler-Nichols does not work or does not provide good design.
To get good PID design with Control System Toolbox in R2010b:
>>s=tf('s');
>>sys=1/(s^2+14*s+40.02); % plant tf
>>pidtool(sys) % launch pid tuner tool
Now use the slider and various options to get good design. For example, if you just take the initial design that the tool comes up with, you get a PI controller with
Kp = 76.7
Ki=280
To check this design, evaluate this in MATLAB:
controller=pid(76.7, 280); % create PI controller
closed_loop=feedback(controller*sys,1); % compute closed-loop tf
step(closed_loop); % plot step response
If you insisit on using Ziegler-Nichols:
>>sisotool(sys);
then:
1)In the GUI that opens up, go to Automated Tuning tab, select "PID Tuning" under "Design Methods".
2) Select "PID" under controller type.
3) Under "Tuning method", select "Classical design formulas", and
4) under "Formula" select "Ziegler-Nichols step response"
5) Press "Update Compensator".
This gives you this PID design:
Kp=415.41
Ki=4929.8
Kd=8.75
To check its step response evaluate the code below in MATLAB:
controller_zn=pid(415.41,4929.8,8.75); % ziegler-nichols design
hold on;
step(feedback(controller_zn*sys,1),'r'); % step response for ZN design
The red line is Ziegler-Nichols design, blue line is Robust response time (MathWorks' tuning algorithm). If you want to make the design faster, you can use GUI you launch with PID tool to tune for faster response. For example, I got the following design which is as fast as Ziegler-Nichols, but is very stable with little overshoot and no oscillations:
Kp=449;
Ki=1707;
Kd=21.6;
To see its step response (green line).
controller_fast=pid(449,1707,21.6);
step(feedback(controller_fast*sys,1),'g');
HTH.
Arkadiy
"Frank W." <yohansan_nospam@web.de> wrote in message <if76qg$gou$1@fred.mathworks.com>...
> "dfgdg dfgdfg" wrote in message <ievmn8$g91$1@fred.mathworks.com>...
> > Is it impossible to implement a dc motor speed control using closed loop ziegler nicholas method? For some transfer function I used ziegler nicholas method but I couldn't determine the PID parameters for DC motor speed control.Could you propose anything for this operation?
> > Thanks.
>
> In newer releases of Simulink there is the PID block which allows autotuning. The control toolbox offers sophisticated methods for evaluating controls. So from the Matlab/Simulink side everything is there.
> What btw have you done so far concerning Ziegler Nichols? What where the PID parameters you have found?
|
|
0
|
|
|
|
Reply
|
Arkadiy
|
12/28/2010 7:59:07 PM
|
|
"Arkadiy Turevskiy" wrote in message <ifdfib$jno$1@fred.mathworks.com>...
> Can I ask why you have to use Ziegler-Nichols?
> We specifically added pid tuning capabilities to Simulink Control Design in R2009b and Control System Toolbox in R2010b to handle cases when Ziegler-Nichols does not work or does not provide good design.
>
> To get good PID design with Control System Toolbox in R2010b:
>
> >>s=tf('s');
> >>sys=1/(s^2+14*s+40.02); % plant tf
> >>pidtool(sys) % launch pid tuner tool
>
> Now use the slider and various options to get good design. For example, if you just take the initial design that the tool comes up with, you get a PI controller with
> Kp = 76.7
> Ki=280
>
> To check this design, evaluate this in MATLAB:
>
> controller=pid(76.7, 280); % create PI controller
> closed_loop=feedback(controller*sys,1); % compute closed-loop tf
> step(closed_loop); % plot step response
>
> If you insisit on using Ziegler-Nichols:
>
> >>sisotool(sys);
>
> then:
> 1)In the GUI that opens up, go to Automated Tuning tab, select "PID Tuning" under "Design Methods".
> 2) Select "PID" under controller type.
> 3) Under "Tuning method", select "Classical design formulas", and
> 4) under "Formula" select "Ziegler-Nichols step response"
> 5) Press "Update Compensator".
>
> This gives you this PID design:
> Kp=415.41
> Ki=4929.8
> Kd=8.75
>
> To check its step response evaluate the code below in MATLAB:
>
> controller_zn=pid(415.41,4929.8,8.75); % ziegler-nichols design
> hold on;
> step(feedback(controller_zn*sys,1),'r'); % step response for ZN design
>
> The red line is Ziegler-Nichols design, blue line is Robust response time (MathWorks' tuning algorithm). If you want to make the design faster, you can use GUI you launch with PID tool to tune for faster response. For example, I got the following design which is as fast as Ziegler-Nichols, but is very stable with little overshoot and no oscillations:
>
> Kp=449;
> Ki=1707;
> Kd=21.6;
>
> To see its step response (green line).
>
> controller_fast=pid(449,1707,21.6);
> step(feedback(controller_fast*sys,1),'g');
>
> HTH.
> Arkadiy
I am using MATLAB R2010a then I couldn't follow your instruction.
I wonder that we can apply Ziegler-Nichols method for this case.
Mr. Arkadiy, may you give me some more comments?
|
|
0
|
|
|
|
Reply
|
ldkhanh_mtb (1)
|
6/7/2011 2:34:04 PM
|
|
Yes,
you can tune PID controllers using our algorithm (Robust response time) or Ziegler-Nichols in R2010a. Please read through this doc section for how to do that:
http://www.mathworks.com/help/releases/R2010a/toolbox/control/quick/f2-1033890.html#f2-1034877
Arkadiy
|
|
0
|
|
|
|
Reply
|
arkadiy.turevskiy (72)
|
6/7/2011 2:53:04 PM
|
|
|
11 Replies
712 Views
(page loaded in 0.143 seconds)
|