Minor Loop Control questions

I designed a lead-lag series compensator controller for my plant that looks like

Gc = 10(1+s/58.4)(1+s/100)/(1+s/8)(1+s/700)

my plant is Gp = 100/s(1+s/100)(1+s/1000).

I successfully simlutate and prove a stable design with the goals of velocity constant = 1000 phase margin = 50 deg.

Now, I am converting this controller to a minor loop controller and have successfully suimulated it and verified stability of the minor loop and overall plant---but I have some questions that I don't understand:

1) by basing the design on the previously determined Gc, do I need to worry about velocity constant? (ie will the minor loop feedback have to be re-adjusted to guarantee kv=1000)?

2) my original gaincrossover was calculated to be about 140 rad/s. Unexpectedly, the Bode plots for the minor loop compensator move the gain crossover from 140 to about 60. Is this to be expected? if so, why?

My matlab/simulink seem to indicate all is OK--I'm just bugged by the fact of gain crossover frequency moving so far to the left and giving a more sluggish step-response than the supposed equivalent series lead-lag compensator?

My web searches have yields nothing useful on minor loop techniques/comparisons.

My approximated minor feedback block is:

0.0125s/(1+s/58.4) and is applied around the (1/(1+s/100)) term of the plant.

Comments?

THanks,

Bo

Reply to
bo
Loading thread data ...

"bo" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

Some comments:

formatting link
1: Calculation Page 2: Block Diagram

Reply to
JCH

"JCH" schrieb im Newsbeitrag news:462313c0$0$10197$ snipped-for-privacy@newsspool4.arcor-online.net...

Changes:

formatting link

Reply to
JCH

Jan,

Thanks for taking the time to reply and for your posted site. I apologize, but I really didn't follow how the posted info relates to my questions though. I think I have safely concluded that my minor loop feedback block cannot cause the overall design to meet the kv requirement. ie. I must insert some series gain of 10 to get kv=1000 because no modification of H can effect kv. Is this an accurate statement? And it follows that by adding a series gain of 10 somewhere in the plant, that my crossever frequency would likely move back to 140 rad/s--or at least near it.

Thanks,

Bo

Reply to
Bo

I would make three Bode plots. I did. One for the original transfer function. One for the new minor closed loop and one for the new closed major and minor loop. If you find the poles of the minor closed loop you will see there is one around -6.6 and it is what is slowing down your response. You can change the minor loop parameters and see how the minor loop Bode plots and comple transfer Bode plots change.

That is a comment. I don't know what you are trying to do but I would make the bandwidth of the minor or inner loop higher by changing the minor loop feedback.

Is this home work? If not why have a minor loop unless there is another feedback device?

Peter Nachtwey

Reply to
Peter Nachtwey

197$ snipped-for-privacy@newsspool4.arcor-online.net...

Sorry about this Bo for this tangent but we need a reality check.

Jan, your method will not work in a real system. Look at your graphs. In each example I have seen the response is almost perfect and instantaneous. That just can happen in the real world. You are assuming that your controller has infinite power and infinite resolution and that you can measure the higher order derivatives of the feedback

Jan, stop using simulations by converting the s domain into the time domain. That just doesn't show the practical limitations. You must implement the controller and the system separately. The controller must have a +/- 10 volt or +/-100% control output is a limitation. Second, limit the feedback resolution to 10 microns for starters. Third, the actuator or plant must be digital too and have a zero order hold ( or worse, dead time ). Use the discrete state space or use the z transform tables. Look at my simulations.

I think instructors that do simulations by directly converting a closed loop transfer functions to a time response are committing a crime or at least misleading students. It may be easy but it isn't reality. Example.

formatting link
at the PID response at the bottom of the page. This doesn't take into account that the control output could be saturated and therefore impossible

I know that I haven't shown the effects of quantizing on my worksheets but believe me I do quantize all my feedback in my more serious simulations.

Peter Nachtwey

Reply to
Peter Nachtwey

Yes... this is homework. I made the 3 bode plots you suggest--- and they tell the sluggishness story. I think I understand--but would like confirmation that: a minor loop feedback controller cannot possibly be used to ajdust the velocity constant of the given (or in general ANY) plant. True or False?

Thanks Peter.

Bo

Reply to
Bo

The feedback gain can change the velocity constant. Look at the steady state gain of just the minor loop as s->0. As you have it now the gain is 1 as s->0. Change the 0.125*s to just 0.125. That changes the minor loop gain to 0.888 and the velocity constant down to

0.888.

I make motion controllers for a living. I never worry about the velocity constant. I use the symbols Kv and Ka for velocity and acceleration feed forward not velocity and acceleration constant. I think most people use feed forwards to reduce the following error while moving and accelerating. It would be interesting to hear if others use the velocity constant in real applications. It is good review for me too.

Peter Nachtwey

Reply to
Peter Nachtwey

Newsbeitragnews:462313c0$0$10197$ snipped-for-privacy@newsspool4.arcor-online.net...

-- snip --

-- snip --

It's interesting that you should mention that, because I'm teaching a course this spring.

I will be showing simulations that directly convert transfer functions to time responses -- but I'm also trying to be sure to keep the notion of a nonlinear system alive in the student's mind by mentioning it at least once a week. The problem that one has is that one wants to keep the subject accessible, which means sticking with linear control for the most part. OTOH, I don't want to lead them into thinking that purely linear system analysis is adequate for all purposes.

Reply to
Tim Wescott

You better do digital simulations. Look at my .pdf files to which I have posted links. You can see that I rely on digital simulation and all of those systems I have simulated are linear, at least in the s domain. Are you going to teach using Scilab? If so you should work out a general simulator that will take the plant transfer function in the s and convert it to the z domain. The controller should be be implemented separately. This way the student find out about the realities of quantizing and integrator wind up. Knowing how to implement a good PID that handles saturation well is important too. I feel as strongly about digital simulation as you do about poles and zeros. You can see there were two cases where systems with good looking Bode plots in the iterative tuning thread that failed to work when digitally simulated. I think Jan has been mislead by not digitally simulating his systems too.

The +/ 100% control output and quantizing problems CAN NOT BE IGNORED. It is easier to ignore the ZOH problem because the sample rates today can be so fast relative to the system. However, if I were controlling small motors with very small time constants I must take the ZOH into account. The +/- 100 control signal limitation is alway a problem with systems where the customer want to go very fast. The quantizing problem shows up in higher order systems where one must use the second derivative or error in acceleration.

BTW, I post from Google about half the time. I can't tell one post from another except my e-mail address changes. I think Google has fixed their news group posting feature so posts made from it look like any other.

Peter Nachtwey

Reply to
Peter Nachtwey

In real life you have nonlinearities, more or less. If more then you can measure and calculate the parameters at 20, 50 and 90% position (Z). Your control device will operate with B1(Z), B2(Z), and B3(Z). You add this feature also using least-square approximation methods. This will cover any state of the process. The accuracy could be about more then 95%.

If your equipment cannot bear the theoretical step changes then you have to limit actions using speed limiter, damper, etc.[1] Last not least you have to implement safety equipments, too.

My point is I had to do all this with try-and-error methods, and that could be implemented more sophistically using computer techniques.

[1] Note for Peter: Using filter T*u' + u = w
formatting link
Reply to
JCH

"JCH" schrieb im Newsbeitrag news:4624865f$0$23149$ snipped-for-privacy@newsspool1.arcor-online.net...

Please click again for the newest revision:

formatting link
It should be clearer now.

Reply to
JCH

In your system the controller gain is K*FS2(s). The resulting gains will be extremely high. The resulting transfer function is always K/(K+1) because FS1(s) and FS2(s) cancel each other out and you seem to think you can keep increasing K without practical limit..

You have been mislead and you are misleading others. What bothers me is that one of Tim's students may read this and do direct s domain to time domain conversion and think what you are showing us is wonderful.

How many times must I say that you need to do your simulation in discrete time and implement the controller and plant separately. Do you know how to convert the s domain to the z domain? Doesn't a lingering doubt bother you? Just try it, pretty please. Your eyes will be opened.

Peter Nachtwey

Reply to
Peter Nachtwey

"Peter Nachtwey" schrieb im Newsbeitrag news:ULWdnbX4QLFWT7nbnZ2dnUVZ snipped-for-privacy@comcast.com...

K/(K+1) = 1/(1+1/K) = 1 K => infinity or big number if exact time-compensated

That is theoretical the same as an amplifier or P-controller in closed loop feedback control with high gain.

What I am doing so far is pure mathematics with interpretations. E.g. I don't have a closed loop working, I calculate the closed loop (blue line):

formatting link
Example for time-comensation n=1 PD^n controller PD^n process:
formatting link
Anyone who understands the mathematics here will agree that n=3 will work, too. Peter, if you have doubts let's discuss this example (n=1). This is basically the same.

Reply to
JCH

Yes. But if you change 0.125 to 0.0125 or 1.25 (ie don't remove any s terms), it seems that velocity constant cannot be changed. We asked the prof about this and although we had communication barriers in getting him to understand our questions, he did seem to confirm that a gain-only change in minor feedback loop cannot affect the Kv/Ka of the system. What is not very clear to the entire class is, what advantages/disadvantages are incurred by minor loop feedback as opposed to series compensation?

Glad to hear it. I worry my questions are too basic/fundamental sometimes. Good to know they force some cobb-webs out of {not only my} mind. :)

Thanks for your help. This'll be 2 controls courses down.. next controls class on the plate is Modern Control EE701 this fall.

Bo

Reply to
Bo

After looking up "minor loop" on the web, I checked not one, but two of the references on my shelves -- neither of them refer to them. That's a relief.

What I did see showed what I've been taught to call "inner loops". At least one of the web references didn't distinguish between a trivial inner loop (like my first example) and a significant one (like my third example) -- this is a huge difference when you're dealing with uncertain plants or nonlinear ones.

I'd be interested to know if there's any technical difference between the terms "inner loop" and "minor loop".

I'm not sure if this illuminates anything for you, but if you have a loop of the form

_ .--------. _ .--------. / \ | | / \ | | ------>| + |-->| |-->| + |-->| |----o------>

\_/ | | \_/ | | | A '--------' A '--------' | | | | | | .--------. | | | | | | | '-----| |----o | | | | | '--------' | | | '----------------------------------------' (created by AACircuit v1.28.6 beta 04/19/05

formatting link

then the "minor loop" compensation isn't much but a fancy way of adding feed-forward.

What _will_ fundamentally change the behavior of the loop is either if you have a different sensor, or if you're closing a loop around some intermediate output.

So this, if you are (say) measuring rate with a gyro, or acceleration for the inner loop, then position with the outer:

_ .--------. _ .--------. / \ | | / \ | | ------>| + |-->| |-->| + |-->| |----o------>

\_/ | | \_/ | | | A '--------' A '--------' | | | | | | .--------. | | | | | | | '-----| |----o | | | | | .--------. '--------' | | | | | '-----| |-------------------------' | | '--------' (created by AACircuit v1.28.6 beta 04/19/05

formatting link

This gets you better information about the plant behavior, and lets you deal with it sensibly.

The other one that causes a fundamental change is this one:

_ .-----. _ .-----. .-----. / \ | | / \ | | | | ------>| + |-->| |-->| + |-->| |---o--->| |--o------>

\_/ | | \_/ | | | | | | A '-----' A '-----' | '-----' | | | | | | | .-----. | | | | | | | | | '-----| |---' | | | | | | '-----' | | | '-----------------------------------------------' (created by AACircuit v1.28.6 beta 04/19/05

formatting link

Here we have some intermediate plant (like a valve being controlled in position) that we're commanding with our "main" controller output so that we have a well-defined input to our "main" plant (like a tank). This sort of loop is seen so often that the inner loop is often buried in another diagram (or in some 3rd-party manufacturer's product). It improves performance by making the inner plant/actuator behavior much more predictable, often in a way that can't be done just by monitoring the "main" plant's output.

Reply to
Tim Wescott

: > In your system the controller gain is K*FS2(s). The resulting gains will : > be : > extremely high. The resulting transfer function is always K/(K+1) because : > FS1(s) and FS2(s) cancel each other out and you seem to think you can keep : > increasing K without practical limit.. : : K/(K+1) = 1/(1+1/K) = 1 : K => infinity or big number : if exact time-compensated

Doesn't it bother you that any step input would result in a step response. So how much energy does it take to instantly move an object between two points? How much energy does it take to instantly heat a system? : : That is theoretical the same as an amplifier or P-controller in closed loop : feedback control with high gain.

No, a simple proportional control is not the same as a matter transporter. It will not move an object instantly between two points. A simple proportional system cannot instantantly heat a system. That would take something nuclear. : : > You have been mislead and you are misleading others. What bothers me is : > that one of Tim's students may read this and do direct s domain to time : > domain conversion and think what you are showing us is wonderful. : > How many times must I say that you need to do your simulation in discrete : > time and implement the controller and plant separately. Do you know how : > to : > convert the s domain to the z domain? Doesn't a lingering doubt bother : > you? : > Just try it, pretty please. Your eyes will be opened.

I can see your eyes are still shut. : : What I am doing so far is pure mathematics with interpretations.

Math is just a tool to help us understand physics. It is the physics of energy transfer you need to understand. There is always a limit to the power that can be applied to heat something or make something move so it can't be done instantly.

E.g. I : don't have a closed loop working, I calculate the closed loop (blue line): :

formatting link
What you are doing is science fiction. : : Example for time-comensation n=1 : PD^n controller : PD^n process: :
formatting link
: Anyone who understands the mathematics here will agree that n=3 will work, : too. Peter, if you have doubts let's discuss this example (n=1). This is : basically the same.

No, your transfer function is always K/(K+1) which means there is no response time in you systems and that isn't realistic.

Peter Nachtwey

Reply to
Peter Nachtwey

: > Gc = 10(1+s/58.4)(1+s/100)/(1+s/8)(1+s/700) : >

: > my plant is : > Gp = 100/s(1+s/100)(1+s/1000). : >

: > I successfully simlutate and prove a stable design with the goals of : > velocity constant = 1000 : > phase margin = 50 deg. : >

: > Now, I am converting this controller to a minor loop controller and : > have successfully suimulated it and verified stability of the minor : > loop and overall plant---but I have some questions that I don't : > understand: : >

: > 1) by basing the design on the previously determined Gc, do I need to : > worry about velocity constant? (ie will the minor loop feedback have : > to be re-adjusted to guarantee kv=1000)? : >

: > 2) my original gaincrossover was calculated to be about 140 rad/s. : > Unexpectedly, the Bode plots for the minor loop compensator move the : > gain crossover from 140 to about 60. Is this to be expected? if so, : > why? : >

: > My matlab/simulink seem to indicate all is OK--I'm just bugged by the : > fact of gain crossover frequency moving so far to the left and giving : > a more sluggish step-response than the supposed equivalent series : > lead-lag compensator? : >

: > My web searches have yields nothing useful on minor loop : > techniques/comparisons. : >

: > My approximated minor feedback block is: : >

: >

: > 0.0125s/(1+s/58.4) and is applied around the (1/(1+s/100)) term of the : > plant. : >

: > Comments? : >

: > THanks, : >

: > Bo : : After looking up "minor loop" on the web, I checked not one, but two of : the references on my shelves -- neither of them refer to them. That's a : relief.

I had seen inner loops refered to as minor loops before. I too refer to them as inner loops.

: I'd be interested to know if there's any technical difference between : the terms "inner loop" and "minor loop".

I haven't seen anything that indicates they are not the same. : : I'm not sure if this illuminates anything for you, but if you have a : loop of the form : : _ .--------. _ .--------. : / \ | | / \ | | : ------>| + |-->| |-->| + |-->| |----o------>

: \_/ | | \_/ | | | : A '--------' A '--------' | : | | | : | | .--------. | : | | | | | : | '-----| |----o : | | | | : | '--------' | : | | : '----------------------------------------' : (created by AACircuit v1.28.6 beta 04/19/05

formatting link
: : then the "minor loop" compensation isn't much but a fancy way of adding : feed-forward.

A minor loop is not the same as feed forward. Feed forwards are open loop gains that are proportional to the reference and its derivatives and summed with the output of closed loop sections to form the control output. I don't see how an inner loop can be mistaken for a feed forward.

There is another form of feed forward where the reference is run through a filter so there is an exaggerated pseudo reference. This is similar to leading the donkey with a carrot by slightly exaggerating the path.

The rest of your desciption is good.

Peter Nachtwey

Reply to
Peter Nachtwey

My thinking was fuzzy, and you're part way correct.

In this case the minor loop doesn't make any substantive change in the loop behavior over what you could get with a controller that combines feed back and feed forward -- but only if H2 doesn't have any slow or unstable poles.

Here's why: given my additions to the above diagram, you'll end up with a transfer function that reads

G H1 T1 = -------------- 1 + G(H1 + H2)

On the other hand, if you have a block diagram that looks like:

.------. | | .---------->| Hd |-----. | | | | | '------' | | | | | + | _ .------. V .-----. | + / \ | | + / \ | |

---o-->| + |-->| Hb |-->| + |-->| G |----o----->

\_/ | | \_/ | | | A '------' '-----' | -| | | | '-----------------------------------' (created by AACircuit v1.28.6 beta 04/19/05

formatting link

Then you'll get a transfer function like this one

G(Hb + Hd) T2 = ---------- . 1 + G Hb

But if you set Hd = -H2, and Hb = H1 + H2 the two transfer functions are equal. So mathematically they're the same. Practically there will be some pole-zero cancellation, but as long as any poles in H2 decay quickly they won't show up as weird uncontrollable poles in the actual application.

Where the fuzzy thinking _really_ came in, however, is that both of the above methods can be realized as a general 2-in, 1-out state space controller -- and that's usually how I deal with them. So I just stamped them as "equivalent" without thinking my discussion through.

Reply to
Tim Wescott

I don't think BO's system lookedlike that.

It definitely doesn't look like that. You show a feed forward. There were no feed forwards in Bo's transfer function.

Peter Nachtwey

Reply to
Peter Nachtwey

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.