C
Chris Carlen
Guest
Greetings:
You might want to first look at my posting "Estimating servo loop
bandwidth and sampling rate" to understand where I am coming from with
this post.
I have been slowly piecing together bits of understanding about the
subject of feedback control systems not having yet engaged in a formall
study of the subject. Most of what I know was gleaned from the "Art of
Electronics", and I am now attempting to apply it to the planning of a
new project. Trouble is, a computer programmer that I work with sees
things differently, and also has somewhat more experience than I. But I
think he has little theoretical understanding. I keep talking about
closed-loop bandwidth, and sampling rates needed (for DSP based servo
control) to avoid incurring undesirable added phase margins to both him
and a mechanical engineer who needs the final product. The programmer's
response is: "you can study control theory all day, but in the field
nobody ever uses that stuff. They just use heuristic algorithms to set
parameters, and that's it..." They seem to think I am speaking greek
when I talk in classical control theory language.
Trouble is, I think this guy has most of his experience with process
control in industrial environments with several Hz maximum system BW.
A summary of my understanding of feedback controls pertaining to
continuous time systems is as follows:
The "plant" (thing to control) has some transfer function Hp(s). We
have a reference signal source (command voltage) Vi, and some sensor of
the controlled parameter of the plant Vo. An error voltage Ve is
produced from Vi-Vo, and the result must pass though a "loop
compensation network" of some to-be-determined transfer function Hc(s)
in order to produce a stable loop when closed.
The choice of Hc(s) can be boiled down to this: make the open loop
transfer function Hc(s)*Hp(s) pass through unity gain with a slope of -6
dB/octave, and have a decent phase margin at the unity gain frequency of
say 45 degrees to preferrably 60 degrees or more.
Once a suitable Hc(s) is devised, the loop can be closed and the
resulting system will have a response given by:
H_closed_loop(s) = Vo/Vi = (Hc Hp)/(1 + Hc Hp)
The whole trick is choosing Hc(s), the loop compensation network. Often
this may take the form of a "PID" controller, though this sometimes is
not the best solution.
The only difference between this continuous time system and a discretely
sampled system, is that the sampling operation injects a constant time
delay which translates into some phase shift at the open-loop unity gain
frequency. Make sure this reduced phase margin is still within
acceptable bounds by a suitable choice of oversampling, and the only
difference between the performance of the continuous and discrete
systems will be a little more overshoot and ringing in the discrete case.
Am I on track here folks?
If so, then my problem amounts to simply that my computer programmer
thinks that the system bandwidth (or the maximum frequency component
that the system must respond to) is what sets the sampling
rate--directly. Well, accounting for Nyquist, of course. So he'd think
that to get 106Hz valve movement, about 220Hz sampling rate will suffice.
Whereas I think that the sampling rate is to be set by a determination
of the maximum *closed-loop system bandwidth* which is based on a
determination of the maximum phase shift (tracking error) that can be
tolerated at the maximum frequency of the command voltage Vi. The
system BW is likely to be considerably higher than the Vi upper
frequency range, and then the sampling frequency must be much higher
than that in order to not compromise phase margin.
Now how to get the computer programmer and mechanical engineer to
understand all this?
Thanks for input.
--
_____________________
Christopher R. Carlen
crobc@earthlink.net
Suse 8.1 Linux 2.4.19
You might want to first look at my posting "Estimating servo loop
bandwidth and sampling rate" to understand where I am coming from with
this post.
I have been slowly piecing together bits of understanding about the
subject of feedback control systems not having yet engaged in a formall
study of the subject. Most of what I know was gleaned from the "Art of
Electronics", and I am now attempting to apply it to the planning of a
new project. Trouble is, a computer programmer that I work with sees
things differently, and also has somewhat more experience than I. But I
think he has little theoretical understanding. I keep talking about
closed-loop bandwidth, and sampling rates needed (for DSP based servo
control) to avoid incurring undesirable added phase margins to both him
and a mechanical engineer who needs the final product. The programmer's
response is: "you can study control theory all day, but in the field
nobody ever uses that stuff. They just use heuristic algorithms to set
parameters, and that's it..." They seem to think I am speaking greek
when I talk in classical control theory language.
Trouble is, I think this guy has most of his experience with process
control in industrial environments with several Hz maximum system BW.
A summary of my understanding of feedback controls pertaining to
continuous time systems is as follows:
The "plant" (thing to control) has some transfer function Hp(s). We
have a reference signal source (command voltage) Vi, and some sensor of
the controlled parameter of the plant Vo. An error voltage Ve is
produced from Vi-Vo, and the result must pass though a "loop
compensation network" of some to-be-determined transfer function Hc(s)
in order to produce a stable loop when closed.
The choice of Hc(s) can be boiled down to this: make the open loop
transfer function Hc(s)*Hp(s) pass through unity gain with a slope of -6
dB/octave, and have a decent phase margin at the unity gain frequency of
say 45 degrees to preferrably 60 degrees or more.
Once a suitable Hc(s) is devised, the loop can be closed and the
resulting system will have a response given by:
H_closed_loop(s) = Vo/Vi = (Hc Hp)/(1 + Hc Hp)
The whole trick is choosing Hc(s), the loop compensation network. Often
this may take the form of a "PID" controller, though this sometimes is
not the best solution.
The only difference between this continuous time system and a discretely
sampled system, is that the sampling operation injects a constant time
delay which translates into some phase shift at the open-loop unity gain
frequency. Make sure this reduced phase margin is still within
acceptable bounds by a suitable choice of oversampling, and the only
difference between the performance of the continuous and discrete
systems will be a little more overshoot and ringing in the discrete case.
Am I on track here folks?
If so, then my problem amounts to simply that my computer programmer
thinks that the system bandwidth (or the maximum frequency component
that the system must respond to) is what sets the sampling
rate--directly. Well, accounting for Nyquist, of course. So he'd think
that to get 106Hz valve movement, about 220Hz sampling rate will suffice.
Whereas I think that the sampling rate is to be set by a determination
of the maximum *closed-loop system bandwidth* which is based on a
determination of the maximum phase shift (tracking error) that can be
tolerated at the maximum frequency of the command voltage Vi. The
system BW is likely to be considerably higher than the Vi upper
frequency range, and then the sampling frequency must be much higher
than that in order to not compromise phase margin.
Now how to get the computer programmer and mechanical engineer to
understand all this?
Thanks for input.
--
_____________________
Christopher R. Carlen
crobc@earthlink.net
Suse 8.1 Linux 2.4.19