[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PID controlle design with OCST
From: |
A S Hodel |
Subject: |
Re: PID controlle design with OCST |
Date: |
Mon, 12 Apr 2004 10:24:34 -0500 |
On Friday, April 9, 2004, at 06:16 AM, [name deleted] wrote:
Hi. I am a uni student studying Comp. Sys. Eng. And I am
currently doing a Discrete Systems control subject.
I have an assignment to design a PID controller and optimise it with
ITAE Steepest Descent minimisation. I am trying to use GNU octave for
most of my subjects as I can't afford MATLAB (who CAN?) and I really
like GNU Octave's OCST.
I am having trouble thinking of how to develop a PID controller as
Octave doesn't seem to support derivatives. I noticed you have some
understanding (I saw this from searching the Octave forums) about this
particular problem. I did not quite understand the solution you
mentioned:
"It's sloppy, but the only way I know to do PID design in the OCST is
to have both y and ydot (output and its derivative) available in the
plant model."
I have to admit, I have no idea what you mean by y and ydot. Could you
spare a few minutes and elaborate a little further on it?
The OCST data structure can only handle causal transfer functions, i.e.,
systems that can be written in the form
dx/dt = A x + B u
y = C x + D u
which have corresponding transfer function
P(s) = C*inv(s*I - A)*B + D
A PID control law does not fit this form. In point of fact, a "true"
PID control
law is non-causal - it is impossible to implement a derivative in
physical
hardware. One reader once responded to me saying, "But wait, there's
that op-amp circuit ..." The op-amp circuit is the answer to your
question:
op-amps have very fast internal dynamics that we usually ignore.
However,
they're still there. So, to get a derivative, you will need to
approximate
K_D s (derivative term) by K_D s/( tau s + 1 ).
For low frequencies (s = j omega, omega small) this will closely
approximate
a derviative. For higher frequencies, you get the same problem the
op-amp
has: poor approximation of a derivative.
A good project for someone to do in the future is to extend the tf and
zp
data structure forms in the OCST so that they will admit non-proper
transfer functions. (functions that do not admit state space
realizations).
This change will percolate through nearly the entire OCST, so it's no
small
task.
A. S. Hodel Dept. ECE, 200 Broun Hall, Auburn University AL 36849-5201
(334) 844-1854/fax(334) 844-1809,
http://www.eng.auburn.edu/users/hodelas , address@hidden
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: PID controlle design with OCST,
A S Hodel <=