Control system with a LOAD

Hi. I'm not too familiar with control system, I'm just starting to learn more about it.
If for example, imagine a close-loop system with a PID controller. I learn
in some class (and made simulation with modelsim) how to calculate the right PID parameter to control a DC motor position BUT WITHOUT A LOAD. I think, but not sure, that my specs (like Settling time or the overshoot) will not be respected.
I do I handle that?
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Rιginald,
OK, I'll tell you a bit about real world control systems.
You don't calculate the PID parameters. You determine them experimentally. This is called tuning. The reason for this is that all the uncertainties of the entire system are lumped into this point. They are adjusted away in the tuning process. If you could calculate them directly, they wouldn't be called tuning constants and there wouldn't be so many articles written on how to do it.
To control a motor without a load is without value. The point of control is to maintain setpoint despite varying load. PID parameters cannot be calculated without knowing the conditions of operation. When conditions change, the constants must be tuned.
Build a system model. Put in lots of nonlinearities, especially by putting hard limits on flow rates and measurements. Now add slowly, randomly varying disturbances. In your case they could be changing load, varying resistance with winding temperature based on external conditions including sunshine and rain, or unpredictable variations in line voltage.. Now make the tuning constants available to the user so they can be adjusted online while the model is running.
That is real world.
Resources are available. Just ask.
Walter.

BUT
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

experimentally.
Would you stop saying that over and over again. Just because you use trial and error doesn't mean that others must. In the motion world we can 'auto tune'. Calculating the PID AND feed forward gains for a motor and load on a shaft is easy. The last time I checked the motion control was part of the real world.
Peter Nachtwey
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Peter Nachtwey wrote:

In a production system you can count on having a number of identical units built. Assuming that you did a solid job of tuning the prototype system auto-tune often adds way more problems than it solves. So far I've never been able to justify anything but careful characterization of the prototype and a loop design that's conservative to the expected manufacturing variations and aging effects.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

If auto tuning is made simple enough, the gains can be easily adjusted to account for wear. The big question is how does one account for changes in load.
Peter Nachtwey
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Peter Nachtwey wrote:

If you're accounting for wide load variations with fixed tuning then the usual manufacturing and wear variations kinda get lost in the noise. As long as you can survive the loss in performance incurred by the conservative tuning you can stop right there and ship product.
Of course if you _must_ have higher performance than that you'll need to consider auto-tune or a full adaptive system. If it's the load variations more than the aging or manufacturing variations then you're going to get forced into full adaptive in any case.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Rιginald
Suppose in your diagram that the measured variable, y, is RPM. Then the load appears as another block downstream of the motor. The word 'plant' is generic and represents everything. Break it up into parts -- controller drives motor control power electronics, this drives motor, motor drives load.
Each of these three has it's characteristic. So far you have represented the electronics with a [1], the load with a transfer function, and the load with a [1].
Your definition of a "100 pound load" is not very useful. That is why you can't express it mathematically. A real load probably consists of a friction torque proportional to speed and an angular momentum acceleration torque.
If 'y' is position things are a bit difficult since the load on the motor is probably independent of position.
Walter.

Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Ok, now I understand why I was confuse. Now I will have to find my "plant" transfer function ;) Big fun in perspective (some physic revision is need).
Thnaks everybody for your support.

I
on
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

is
Even if y is position there is no problem. Just differentiate to get velocity as a function of the control signal. One can work on position directly in simple case such as the example presented above .
Peter Nachtwey
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

By way of follow-up, I'd much rather deal with a control engineer who understands tuning and pole placement, even if the control system ends up being tuned by trial and error.
I've had at least one less-than-satisfactory interaction with a "control engineer" who basically knew how to program a PLC, but knew nothing about anything I would call control. We ended up with a screwed up system, and had to upgrade our hardware in a major way at the last minute, because the guy was missing his basics. To expand, we needed a system to track an analog signal. This guy was sampling the analog signal within his ladder, and the effective sampling rate wandered all over hell and back. He just didn't understand that all the tuning parameters are based solidly on the sampling rate of the system, and it really shouldn't have been allowed to vary. When I (not the hired gun) figured out what was wrong, we had to update our hardware to assign the analog sampling to its own task.
While many people can tune a control loop, sometimes it becomes important to understand what you're doing. When your customer is looking at lousy control, "it's always worked before" does little to appease him. I think that in the above case, if the "control engineer" understood sampling, DSP, and control fundamentals, this situation wouldn't have come up, and we would have ended up with the system we needed without cost overruns and missed deadlines. It's just too easy for a guy to take a week long seminar on PLC and market himself as a control engineer.
I would think it would be a really great exercise for a student to tune a system on paper and empirically, and find out how close the answers were, and then to try to pin down the nonlinearities to understand why the two differ.
Scott
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Scott Seidman wrote:

With all the control math that I use in designing systems I have to agree with you. On the other hand you can have all the control math in the world but if you can't look at a system that's flopping or buzzing or just getting hot and recognize the problem then you can't add anything either.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Perfectly valid. I think an engineer can graduate with a real degree without getting any real experience, and that's a shame. It's just plain hard to teach common sense.
Scott
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Oh absolutely. The theory you learned influences the way you understand things and how you deal with them. If you didn't learn any theory, you won't understand anything. An UNDERSTANDING of sampling, Nyquist frequency, poles, zeroes, etc. is essential. My only complaint is with the belief that everything can be precalculated. Some still have to learn the meaning of the limits of linear mathematics as well. Tuning is not done by trial and error. That would be a total waste of time. Tuning is an algorithm that uses feed back and intelligence to achieve results.
There were several previous posts dealing with examples of where tuning does not appear to be done. The first of these mentioned what is essentially mass produced equipment, with built in controllers. In this case the tuning is done on a prototype and then locked in. Fortunately, the tuning parameters have a very flat optimum. What is optimal for a specific case will still yield acceptable performance over a broad range of varying conditions.
The second example dealt with automated spacecraft. In situ, live tuning is obviously not possible. EXCEPT, large amounts of time and effort are exerted in producing simulations and highly accurate models. The tuning and adjustments are done on the model land then exported to the actual equipment. If as much time was spent on the simulations of a gas plant, each of them would cost as much as a Mars probe. Fortunately, the behaviour of spacecraft follows the laws of mechanics which are far more linear than the laws of chemistry. That makes them a bit easier to model.
Walter.

Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I guess I agree with you. Even if you have the best nonlinear adaptive whatever algorithm developed, it will remain ink on paper unless somebody with good enough practical knowledge and hand-on experience goes and implements it, and tunes it for a particular application, and keeps it running. Likewise, it is very likely that all that supermodern control equipment will be chunks of useless material at the hands of somebody without good theoretical background in control theory. It is a question of compromise.
And you are absolutely right. Different tools are appropriate for different industries. If you try to identify a model of a real refinery using frequency response, the management won't be happy.
By the way, I was really astonished to read in the November issue of ISA Intech that in North America 85% of control loops don't perform according to control objectives and only 25% perform better in automatic than manual! A lot of resources are wasted! How can this be explained? The article itself is about process optimization, but I don't think it was an advertisement stunt.
Regards, Andrey Romanenko
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Wow, 15 percent of our control loops are performing according to control objectives. This is probably a vast improvement, or they are being kind. The article probably didn't go further to decide if those control objectives were indeed valid or even consistent.
It would be interesting to know how much control effort has been expended to correct process equipment problems, or to try to make a unit behave inconsistently with its design and internal dynamics. From experience, I would suspect that these amounts would be staggering.
I recall a system in which we put a controller into manual to check the system out. It ran smoothly enough that it was worth reworking the advanced controls to mimic the manual method (with a few minor improvements). We got to claim the uptime statistics, and the process ran a lot smoother. Between incomplete process models, overcontrolling, standard gains, and undue complexity, there is a lot of room for improvement.
Michael
wrote:

frequency,
that
of
and
that
theoretical
different
frequency
according
manual!
itself
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Walter Driedger wrote:

Not entirely. Like Peter said there's times that you can auto-tune. There are also times (like in aerospace) where you won't have a chance to tune the system before you put a very expensive, dangerous system on-line with an operator standing by to get incinerated if your model wasn't correct.

Absolutely. It _does_ make sense to design a controller that can handle a load that varies within known (or assumed) limits.

Don't forget plant aging.
>. Now make

Oh, it's that great big dirty thing/itty bitty clean thing dichotomy again. If you're building a production system thats going to users who are naive about control systems you want to hide those tuning controls as deep as you can. I've build a number of production control loops, and we don't even let the _service_ people have access to the tuning. Engineers can modify the tuning on-line, once, to be lost when the power goes down, but the actual constants are hard-coded in software and only change with a new software version.

--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

BUT
Without going into mechanical/electrical losses/characteristics of the motor/load. The easist way is to apply a step voltage to the motor and monitor time of its speed to max. Time to 0.67max rpm will give you the time constant (Tau) of the motor/load combo. Slot this into your 1st order equation of the motor and away you go, just add the PID parameters to tune to the desired response
Hugh

Add pictures here
βœ–
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.