Controlling a shaker table with a PID

Translate This Thread From English to

Threaded View


Hi,

I created a thread covering part of this subject back in September but after
having read more about controllers I'm a bit more confidential with the
terms used in the "controller world" besides having more specific data of my
system and therefore I thought that starting from scratch creating a new
thread would be better. I got the book from Tim Wescott since then so it is
possible to reference to it if needed.

The task is to control a shaker table (a very small one ~20N max):
1) The command curve (deflection) is within the frequency range from about
0.1 Hz to 60Hz.
2) The curve lenght is up to about 60s max.
3) The sensor is a DC accelerometer - there is no deflection sensor attached
(not possible) so the feedback signal is therefore a double integrated
acceleration.
4) The sample frequency is 4000 Hz.

I'm a novice within control theory and the control loop is just a necessary
part of the entire project so I have decided to try with a PID loop as the
first shoot.

-I've been suggested to use a leaky integrator in order to avoid
accumulation of DC error but how to make a leaky integrator (any
references)?

-What sort of PID would you recommend (where to place the propertional
part)?

-How should i tune the PID parameters correctly (I would like to use an auto
tune algorithem)?

Thanks for any comment!
Ole






Re: Controlling a shaker table with a PID



A few thoughts to get you started:

A decent reference on a leaky integrator algorithm can be found at:
http://www.dspguru.com/comp.dsp/tricks/alg/dc_block.htm

For a good tutorial on the basics of PID, I refer you to:
http://www.expertune.com/tutor.html

I am not clear on the control objectives.  What are you really trying
to control?
* Position?  (double-integral of accelerometer)
* Frequency?
* Amplitude / Max position?
* Max velocity?
* Max acceleration?
The choice of control objective could definitely change the approach to
control strategy and algorithm.

The sample frequency seems fast enough...for more on sample
frequencies, see this 6-minute on-line presentation:
http://www.expertune.com/present.asp?name=Sample

Good luck!

-George


Ole wrote:


Re: Controlling a shaker table with a PID




The purpose is to control the position of the shaker connection /
accelerometer and the feedback is taken from the accelerometer. The position
is however not a steady position but a curve or a sine ( 1 Hz to 30 Hz or
so).

Thanks,
Ole



Re: Controlling a shaker table with a PID



Ole wrote:

I hope it will prove helpful.

If your drive exerts a force on the table you'll probably find that the
derivative action isn't necessary, and you may want to cascade another
integrator in there -- this depends on what you have and what you want,
so to start I'd suggest just PI control.

I do not recall the thread, but if you wanted to drive the table with a
position command you could use a leaky integrator for feedback.  I would
suggest instead that if you want to drive the table with a pseudo
position (I say 'pseudo' because you'll have to high-pass filter it)
you'd be better off differentiating the position twice to get an
acceleration command, and 'asking' the table to follow that.

I'm not sure what options you're dealing with.  The "PID" refers to
what's in the feedback path; how much of the controller you put in the
forward path depends on what you want the system to do.  If you want to
smooth the command signal then you want just the integral in the forward
path -- conversely, if you want to follow the command as smartly as
possible, you want to put all of the controller in the forward path.

Walk before you try to run.  Don't play with auto tune algorithms until
you understand the basic control.

I would model the system, and design control gains that would work for a
variety of loads -- then I'd back up my model with real measurements (I
have a chapter on this), and modify my design accordingly.

Once you get that working then you can consider autotuning.  The shaker
tables that I'm familiar with have significantly more 'shaken' mass than
anything you'd ever put on them, so the tuning won't change a whole heck
of a lot, obviating the need for auto tuning.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Posting from Google?  See http://cfaj.freeshell.org/google/

"Applied Control Theory for Embedded Systems" came out in April.
See details at http://www.wescottdesign.com/actfes/actfes.html

Re: Controlling a shaker table with a PID




Won't the drift problem be the same whether the position is differentiated
twice or the acceleration is integrated twice? The shaker must follow a
position command and if I use a PID regulator I'll get the noise cancelling
advantage by double integrating the accelerometer signal to get the
position.
Isn't a leaky integrator in reality a low coutoff freq highpass filter?


I've seen different kind of PID setups like in your article: PID Without a
PhD: http://www.embedded.com/2000/0010/0010feat3.htm  where you show two
possible setups in figure 1
http://i.cmpnet.com/embedded/gifs/2000/0010/0010feat3fig1.gif  . I've also
seen a setup where all three parts (P, I andD) are placed in the forward
path, so if I want my system to follow the position command as close as
possible, what setup should I then use?

Thanks, your help is highly appreciated
Ole



Re: Controlling a shaker table with a PID




You want at least two of the lower order gains ( Ki and Kp ) in the forward
path.  The two gains in the forward path provide zero a zero that will
extend the bandwidth.  Three gains in the forward path is more problematic.
Now you will have two zeros and they may be complex which may hurt rather
than help.

Feed forwards are a must.

Peter Nachtwey
 



Site Timeline