Electrical Driven Overhaed Crane Control PD2(PDI)Z1Z2
PD2 = feedforward
PID = feedback
Z1 = process disturance
Z2 = controller output or equivalent disturbance
Page 1 = diagrams and mathematical description
Page 2 = calculated plots
Page 3 = crane sketch
Page 4 = process transfer function
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
PS: The 'two disturbance functions' must be added (See page 1).
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
This still doesn't mean anything. You don't show your work or provide
any calculations.
Now that you specifically say this is for controlling a crane I can
find more things wrong.
How do you measure the position of the load?
Where is the feedback device?
What is the resolution of the feedback?
How would the controller see a disturbance? If something pushed the
load, your controller won't know. Your z inputs or disturbances
shouldn't be going into the controller.
What is v1? Is it a position or velocity? In your equation on page
1 it looks like a velocity since if v2 goes to 0 v1 will go to 0. If
v1 is a position then when v2 goes to 0 v1 would coast to a stop and
not go back to 0.
Now look at page 2. It looks like v1 is a position and the
derivatives of v1 ( velocity and acceleration ) are on the right.
SO WHAT IS v1, A POSITION OR VELOCITY?
It is these inconsistencies that are the reason you shouldn't be
posting web pages. Not yet. People that don't know better will be
confused by your web pages. You need to get some one to proof read
your work. That will be difficult because you don't show it.
Peter Nachtwey
Re: Completion of Controller Synhesis
To all who are interested with knowledge in mathematics and physics!
Example similar to electrical driven overhead cart could be controlled for a
step move w:
1. PD(---)--Z2
http://www.myphysicslab.com/pendulum_cart.html
The position at any time can be calculated.
Or with additional measuring
2. PD(PID)Z1Z2
http://www.dimetix.com/index.html
Place it on the hook.
Electrical driven overhead cart
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
You find anything on the pages you need for calculating. There is nothing
left. Reload website for actual information. All physics is reduced to the
process transfer function (page 1).
PS: Alternative 1 is pure feedforward control and could be sufficient for
most applications. Feedforward control is generally not be sufficient in
chemical process or power plant controls.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
I have corrected 2 typos:
- Equ.1: inserted z1
- Equ.2: inserted z2
Reload: Page 1
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
All other pages are ok.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
Anything is based on the process tranfer function used in
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Page 4. It shows a 'step-like' move of the cart.
See possible high speed equipment:
http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
or
http://wwwa.mpi-magdeburg.mpg.de/research/pendel/pen_1.mpg
Watch the videos! That's real.
<Again: citation[15. June 2007 10:30]>
I state: If I have an 99% accurate process transfer function then my
calculation is about 99% accurate.
<Again: citation [12. June 2007 09:52]>
What I have not discussed so far is how I can get a proper process transfer
function if physics is difficult or nonlinear? This problem I solved with
process identification methods. If few discrete measured points are known
from a step function I use least-square approximation methods (black box)
using a program I have written for that purpose. See example: Page 1
http://home.arcor.de/janch/janch/_control/20070611-systemident/
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
inhttp://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
equipment:http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
Those are not cranes. They are not cranes moving 10 tons or so. Your
simple target generator could not do that. You do not have units on
your diagrams so I am assuming anything I want. This works both
ways. The load can be 10 tons and still have a natural frequency of
about 5 Hz to fit your examples. There is no way you can accelerate
the crane from point to point instantly. You extra transfer function
for moving the crane. In addition, the load would oppose such extreme
motions. I don't see why you used those videos to justify your
examples. Even those videos don't show the carts moving instantly.
Peter Nachtwey
Re: Completion of Controller Synhesis
You can SIMULATE/STUDY the time behavior of cranes on a model! If that works
on a model then it will also work on real cranes under the same physical
conditions.
<AGAIN: Citation [17. Juni 2007 14:26]>
I didn't specify the time scale. It can be milliseconds, seconds, minutes,
houres, etc. It can also be 3 seconds, 1/1.1223 minutes.
The distance could be inches, meters, kilometers, etc. Can you find such
specifications?
Look at
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Tell me where you find a dimension (unit). I wouldn't mind if using 1 pet
for 3.5564 seconds and 1 tim for 12.4325 inches. Then read distance in tims,
velocity 1 tim/pet and acceleration in tims/pet^2.
Example
1 tim/pet^2 = 12.4325inches/(3.5564 seconds)^2 =
0.982963212809897inches/second^2
It's convenient to me to tackle such problems as I do. Just the basis must
be known.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
Your model depends on being able to move the crane instantly from one
point to another. Everyone but you knows this isn't possible.
You don't use units or show you work so people can't pin you down on
your calculations.
Why don't you want to put units on your work? Do you have something
to hide? You should know that it is easy to tell that the time scale
is in seconds. One can tell because your load has a natural
frequency of 5 Hz or a period of about .2 seconds. This is the same
time your load get into position. If the time scale was longer the
motion profile would look different. Who do you think you are
fooling?
Here is a much more realistic example. I don't make the crane
instantly move from one point to another. I have selected a very
realistic gain ( maximum velocity 4m/s ) and bandwidth ( response
time ) for the crane. I am using only a simple PID with no feed
fowards. Actually I am using a I-PD because the P and D terms are in
the feedback pathonly. No accelerations or second derivatives need to
be calculated. I also selected a much more realistic natural
frequency of one radian per second for the load. The system has
feedback on the crane only. One can see how the load leads or lags
the crane as it swings toward the final set point.
ftp://ftp.deltacompsys.com/public/NG/t1p1%20i-pv%20c1%20ol.pdf
Note the 'trick' used is the crudest of algorithms that will
accomplish this goal. It isn't very robust. There are other more
sophisticated algorithms that will provide better damping in the
event of modeling errors.
If there are any crane experts out there I envite suggestion for
improvements or corrections.
Peter Nachtwey
Re: Completion of Controller Synhesis
I don't know either speed nor process transfer function of:
http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
Read: On all conditions of
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
then anything is ok.
The process transfer function (Page 4) works with ALL dimensions! It also
works with your example if you have a process transfer function (F1(s) =
v1/v2).
Notes:
The controller output signal v2 (e.g. mA) can change very fast! Regard v2
instantaneous. v2 is NOT the position of the cart.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
of:http://www.mast.queensu.ca/~dtyner/ControlLab/single-pendulum.mpg
ofhttp://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
You said above that everything was OK and now you change your
diagram! So if v2 is not a control signal, where does it move the
cart? You need another transfer function to move the cart!
As your equations stand now you have the load directly moved by a
control signal. See equation 1 on page 1 on your site. look at
equation 1. If the control signal v2 is turned off your equation 1
says the load will move back to the 0 position. That doesn't make
sense. This is why you need another transfer function simular to G/
(s*(s+a)) like I used to convert the control signal to a cart
position. In my example the cart will just stop and stay where it is
because position systems like this are typically type 1 systems. If
you look at my example you can see how the load swings under the crane
and when the control output goes to 0 at the end of travel the cart
and load stay where they are. The load lags at first and then leads
as the crane slows the load down. If you don't have a crane or cart
then how can you show the swinging of the load? The trick is to make
the load swing once during the whole move. I don't see this in your
examples. I see the load swinging in your movies before the load is
balanced.
Peter Nachtwey
Re: Completion of Controller Synhesis
v2 was always and is the controller output value (e.g. mA). F1(s)=v1/v2 is
as before. I din't change anything physically. If doing so I would tell you.
All is correct in
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Give us your
G=?
a=?
Citation:
I gave you example data working with any dimensions. Even your data and
dimensions if I had them.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
inhttp://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
See the .pdf file I posted a link to in the 27 june thread. I show
G=0.04 m/s per % control output and alpha ( a ) which is the corner
frequency of the crane or cart is 1 Hz or 6.28 radians per second.
Notice that my crane does not move instantly. There is lag between
the control output and the motion of the crane. In fact the crane
bandwidth is quite low. I even show the formulas for calculating
the gains so the resulting closed loop system will have three poles at
-lambda at -3.14 radians/sec. The resulting closed loop bandwidth is
at about 0.509*lambda. I am just trying to show how control is
possible without breaking the laws of physics.
I am assuming there is only feedback on the cart or crane and the load
swings freely below. The trick is to move the load to the
destination or set point and have it stable when it arrives. You can
do this by hand with a little practice. Your hand and the cart must
vary the speed along the way at specific points or time relative to
the natural frequency of the load for it to be stable when it arrives
at the set point or destination.
Peter Nachtwey
Re: Completion of Controller Synhesis
G=0.04
a=6.28
0.04 1
F1(s) = --------- = ------------------------
s(s+6.28) 25*s^2 + 2*delta*5*s + ?
T = 5
T^2 = 25
delta = 15.7 (highly damped!)
I used delta = 0.001 (Page 3)
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
What about the missing '?-value'?
If interpretation is wrong give me the correction.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
Don't try to make a second order system out of the controller. The
crane response to the controller is
crane(s)/control(s) =G/(s*((s/alpha)+1)) or 0.04/(s*((s/(2*PI))
+1))
crane(s)/control(s) =G*alpha/(s*((s+alpha)) or 0.04*2*PI/(s*(s+2*PI))
!!!Note this is a correction!!!!
The load response is as follows
load(s)/crane(s)=1/((s/omega)^2+2*zeta*(s/omega)+1)
G=0.04 This the gain in meters per second per percent
control output
At 100% ouput the crane can move 4 meters per
second.
alpha = 2*PI This is the corner frequency or band width of the
crane motor with its loads.
omega = 1 This is the natural frequency of the load. At 9.8 m
of cable the sqrt(g/l)=1
zeta = 0.001 This is from your example. Actually it has been
determine by crane research.
The total transfer function is the combination of the two transfer
functions
load(s)/control(s)=G/(((s*((s/alpha+)1))*((s/omega)^2+2*zeta*(s/omega)
+1))
3)http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
There is no missing ? value. The crane only has ONE corner
frequency, pole, bandwidth or time constant. The time constant is 1/
(2*PI). It takes the motor 5 time constants, 5/(2*PI) seconds
, to reach the within 1 percent of final stead state speed in response
to a control output change. The resulting crane velocity must be
integrated to provide crane positions as a function of control
output.
Notice that the system is now two transfer functions. One is for the
crane position as a function of the control output. The other is the
one you have always had which is the load position as a function of
the crane position. Combine the two and simulate. It will be
messy. I have it done the simulation both ways. The easiest is to
just control the crane motor and use the crane position for
feedback. The hardest way is using load position feedback. One must
calculate many dervatives ( 3 ) if the load is to be controlled. This
means one would need an accelerometer on the load as well as the
position feedback.
Peter Nachtwey
Re: Completion of Controller Synhesis
Process input value v2 (e.g. 4...20mA)
Process output value v1 (e.g. 0...10meter)
Time behavior measured for total system F1(s)=v1/v2!
See red box in Page 3.
Evaluating a step process transfer function F1(s) and using sytem
identification methods you get approximated T, e.g.
1
F1(s) = -------------------------
T^2*s^2 + 2*delta*T*s + 1
Time domain:
T^2*v1'' + 2*delta*T*v1' + v1 = K1*v2
Feedback via math model
v1 = load position
v1' = load speed
v1'' = load acceleration (no accelerometer necessary!)
are known and used: See Page 1, Fig.1
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Other compensations are necessary for controlling disurbances z1 and z2. See
formulae in Page 1.
Just using PID wouldn't work. See Page 6 (NEW)
Note:
F1(s) can be any plausible process transfer function of any order. It must
be known and match the system behavior as good as possible! One can't do
more and should be happy if at least it works.
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
JCH wrote:
This is where you are all screwed up. You don't understand the
difference between a non-integrating process ( type 0 ) and an
integrating process ( type 1 )
So if v2 goes to 1 then v1 will approach at steady position at K1*1?
If the controller suddenly loses power and v2 go to 0 then v1 will go to
0 too?
Where is the crane or cart position then? What does it do?
The formulas you need are here:
v'=-a*v+G*a*u(t)
x'=v
theta'' = -2*zeta*omega*theta'-omega^2*sin(theta)+omega^2*x
Where:
v is the cart velocity in meters per second
v' is the cart acceleration in meters per second^2
a=2*PI. alpha is the pole or bandwidth. 1 Hz in this case
G=0.04 G is the crane motor gain in meters per second per % control output
u(t) is the controller output with a range of -100% to +100%
x is the crane position.
x' is the same as v
theta is the load angle.
zeta=0.001 is the damping factor
omega=1=sqrt(g/l) omega is the natural frequency.
g = 9.807 m/s^2
L = 9.807 m
Note, one can be more accurate by using sqrt((g/L)*sin(theta)) for omega
also, it would be better yet if this was done in terms of force instead
of just position because the load will swing and vary the effort
required to move the crane or cart.
At this time I don't care about the difference between using the cart
position or the angle. It is the fact you don't use the first two
equations to compute the cart position as a function of the control
output that has been wrong. Note, I wouldn't have cared about this
until you said it was a crane. As long as you stuck to a type 0 under
damped system you were OK except for you claim that you can do better
than a PID. See below.
You need to move the crane or cart to move the load ( actually to apply
force since it is force that moves the load not position ), and the cart
doesn't move instantly. How can you ignore this? If you are going to
ignore this then why show a cart in your example?
I told you that you just don't know how to tune a PID or you are making
PIDs look bad to serve a purpose. I see the fuzzy logic people do this too.
Explain this:
ftp://ftp.deltacompsys.com/public/NG/Mathcad%20-%20T0C1%20I-PD%20JCH.pdf
This how I would control JCH's system using his model. I only use a PID
and my response is faster and just as smooth as yours. Unlike you I
have shown all the numbers and formulas required to duplicate these
results. I told you that I could do this and you just ignored me instead
of asking how. Note to others, this is only an example of how to control
a type 0 under damped system and has nothing to do with cranes or loads.
JCH's example is not realistic yet. It is only a type 0 under damped
system.
See my link above. You have no idea of what can or can't be done. You
can't until you can model your systems correctly and learn how to
calculate controller gains. You still haven't figured out how I can
control the load with only the cart position feedback. I was informed
of this technique back in the early 90's.
ftp://ftp.deltacompsys.com/public/NG/t1p1%20i-pv%20c1%20ol.pdf .
This more realistic and actually very simple example only using a PID
and no feed forwards. I do play some tricks with the target generator.
Peter Nachtwey
Re: Completion of Controller Synhesis
[...]
Introduce disturbances z1 and z2 and keep v2 in limits as I did:
http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
Page 6, Fig.2
--
Regards/Grüße http://home.arcor.de/janch/janch/menue.htm
Jan C. Hoffmann eMail aktuell: janch@nospam.arcornews.de
Microsoft-kompatibel/optimiert für IE7+OE7
Re: Completion of Controller Synhesis
did:http://home.arcor.de/janch/janch/_control/20070613-pd2 (pid)z1z2/
I limited the output to +/1 or +/- 100%. The response to the
distrubances will not be any different than the response to the step
changes in position set point. Why would they be different? Add your
own distrubances. I show the gains, units and formulas necessary to
reprodiuce my results. In any case simple PID with calculated gains
easil wins! I told you it would.
Peter Nachtwey
Site Timeline
- » Co-located control
- — Next thread in » Industrial Control Group
-

- » Help: Position Feedback with Mitsubishi Servos
- — Previous thread in » Industrial Control Group
-

- » Measurement validation for process signals
- — Newest thread in » Industrial Control Group
-

- » CNC routing plastics - eye irritant?
- — The site's Newest Thread. Posted in » General Metalworking
-

- » Zero On topic out of 11
- — The site's Last Updated Thread. Posted in » General Metalworking
-


Subject







