Advise to a shaker/accelerometer control system

Hi,

I'm absolutely new to control systems and would highly appreciate some good advises from some veterans or anyone who has something that could help me get going.

Well, the task for me is this: Having a shaker (works exactly like a loadspeaker) and a DC accelerometer that must run in a digital control loop. Sample freq is 4000 Hz. Shaker is attached to the DAC through an amplifier (no filter). Accelerometer is attached to the ADC (no filter). the 3 dB frequency range for the system must be 0 - 100 Hz (e.g. the shaker must be able to follow a 30 Hz sinus). The control signal is digital and can be a deflection, velocity or acceleration signal depending on what is easiest or best to use. Where should I start? What sort of control system should I use?

Thanks Ole

Reply to
Ole
Loading thread data ...

You already have some of the steps done (out of sequence, unfortunately, but it appears that you'll be able to get by).

1 Collect all of the requirements -- you have a few here, go collect the rest. 2 Determine a plant design -- this is done for you, as is so often the case. So hope that it's an adequate plant design. 3 Model the plant and sensor response. Pay attention to: - the circuit between DAC and coil -- is the DAC output a voltage command or a current command? - the mechanical coupling between the coil and the frame - how much friction? - how much stiction? - how much viscous damping? 4 Determine the sampling rate -- this is already done, cross your fingers! 5 Make a straw-man control system, and use it to measure the plant/ drive/sensor response. 6 Use your theoretical plant model, refined by your measured plant response, along with your requirements to find an adequate control system. 7 Test your control system to make sure it meets requirements.

All through this process, document everything that you do.

Chances are high that a simple PID control system will be adequate for your needs, possibly even a PD or PI. Chances are also high, however, that you will be challenged by either friction or integrator windup that will require some clever nonlinearities in your controller to compensate.

Depending on your level of experience you may want to check out my book (see link below). I have a chapter on nonlinear control in there where I tried to treat the most common nonlinear problems (like stiction and windup) in a down-to-earth way that reflects commonly successful solutions.

Reply to
Tim Wescott

Thanks,

Is it possible to purchase an electronic copy of your book? (I live in Denmark and it takes a while to purchase books from "overthere" and I would like to get running immediately).

Best regards Ole

Reply to
Ole

(top posting fixed)

I don't think there are any electronic copies available. I do know that there is at least one UK book seller who has taken this up -- but I don't recall the name. If you can get it significantly faster from the UK it may be worth some digging to find out who has it.

I do know that you can go to the Amazon site and get some previews -- at one point you could read the whole book if you were patient. It appears that they've put this detailed preview behind a customer log-in now; I haven't verified that you can still preview it once you log in.

Also, you can go to my web site and look in the 'Articles' section -- some of those articles have been significantly expanded and incorporated into the book, and would at least have the kernel of the knowledge that you'd need (in particular if you're concerned with friction and backlash there's a paper that addresses that subject as thoroughly as I know how while remaining practical).

Reply to
Tim Wescott

Ole,

A voice-coil shaker is no more likely to have backlash than a woofer.

The voice-coil signal probably needs little or no filtering, since the table's inertial itself provides substantial filtering. It should not be difficult to precede the amplifier with a simple filter if image frequencies are a problem.

I presume that the control system's is there to maintain appropriate frequency, acceleration, or some profile with time. How does that information get to the ADC? Is there an LVDT or accelerometer? Both?

To measure amplitude, you will want to find the peak of the position signal. If the input is quite sinusoidal, quadrature sampling can make that easy, but not as easy as a very high sample rate. Sampling at 20 times the table frequency would match the peak reading to the true peak within 1.52%, worst case. (Ditto for acceleration read from an accelerometer.) No anti-alias would be needed, since the system itself would then reduce the image frequencies to an acceptable level

In any event, follow Tim's advice (and read the papers on his website).

Jerry

Reply to
Jerry Avins

I checked with Elsevier, who replied:

"He can order directly from our web site and the order will be fulfilled from our warehouse in the UK.

formatting link
"

I hope this helps.

Reply to
Tim Wescott

P.S. If the control system's purpose is removing inherent non-linearities from the voice coil and suspension, the task is more difficult than what I described. That's because the controller's bandwidth must be much higher. I still advise a sample rate of 10 to 20 times the highest shaker frequency (5 to 10 times Nyquist's theoretical minimum) for that case.

Jerry

Reply to
Jerry Avins

That is easy enough

Good. Filters would just add phase delay.

This will be the hard part. Designing 100 Hz systems is not easy if there is much mass. If the amplitude doesn't have to change then consider a mechanical cam.

I would use position feedback and the accelerormeter. A submicron glass scale would be good.

Start with the requirements and then the mechanical design. The mechanical design must be right or the motion controller doesn't have a chance. What is the amplitude of the stroke and moving mass? Be aware that the acceleration increases with the square of the frequency.

I would buy a motion controller that has both a position and accelerometer interface. The motion controller should also have gains for higher order derivatives and for feed forwards.

There is no way you will achieve your goals with just a PID, PI or PD. A PI has no chance at all because there there will be no stability without the derivatives. You must have feed forwards if you want to track accurately and you should have higher order derivatives that use the acceleration feedback so there are gains for errors in acceleration and jerk.

If you can't find a local motion controller that can do the job then consider this:

formatting link
pictured control has a Profibus DP interface but for research and testing I recommend Ethernet because one can get real time graphs of the data like this ftp://ftp.deltacompsys.com/public/jpg/Cosine%20Wave%208Hz%200.1rev.PNG

Peter Nachtwey Delta Computer Systems, Inc.

Reply to
Peter Nachtwey

How versatile are those things, and what sort of sampling rate can they sustain?

Reply to
Tim Wescott

Amen!

...

Of course, you imply constant displacement here.

...

Jerry

Reply to
Jerry Avins

----- Original Message -----

From: "Tim Wescott"

Newsgroups: comp.dsp,sci.engr.control

Sent: Monday, September 18, 2006 7:14 PM

Subject: Re: Advise to a shaker/accelerometer control system

4 KHz easily. What do you want to do?. If I know I can write a user program to do the application. If the function isn't built in. Sine waves, flyiing shears, on-the-fly cam profiles are easy. The user programs run synchronously with the closed loop routines do everything is deterministic.

The controller has velocity, acceleration and jerk feed forwards along with derivative gains for the error in acceleration and jerk. The controller was designed to be able to do underdamped second order systems easily. The auto tuning also will tune first order or second order systems.

Peter Nachtwey

Reply to
Peter Nachtwey

Thanks!

Please clarify the first part to me - do you mean that a control loop isn't needed?

The controls system is intended to maintain appropriate deflection and curve shape. I need to send a low distortion sinus signals of different frequencies and amplitudes to the shaker. I also need to send a haversine deflection pulse curve with a pulse width of 15 to 15 ms and a deflection of

10 to 1500 µm. The shaker is able to create deflections of +/- 2500 µm.

The "position" information is recorded by the accelerometer and send back to the ADC - there is no LVDT involved.

Sample rate is 4000 Hz and the highest frequency that the system will be exposed to is about 40 Hz i.e. sample rate is 100 times higher.

Thanks, Ole

Reply to
Ole

Will have a look at it today - thanks. Ole

Reply to
Ole

Actually by a second thought I think a digital highpass filter with a very low cutoff frequency will be neccesary to avoid DC drift from the accelerometer. I believe that a 1st order butterworth will do. What is the consequence of doing that?

Both the frequency and the amplitude does change - see my description in my answer to Jerry for further details.

Sorry for my unclear description - I do not have a postion or velocity sensor - only an accelerometer. What I meant was that the input signal can be either a deflection, velocity or an acceleration.

Yep - at the highest frequencies the deflection isn't very high in my system so that shouldn't cause any problem.

Again I was a bit unclear - sorry. The system is already here consisting of the shaker, an accelerometer, a microcontroller board with a 16 bit DAC and a 24 bit ADC. I actually meeant the type of control loop (PID, PI or PD etc.).

What kind of control loop implements a feed forward signal?

Thanks, Ole

Reply to
Ole

I don't know where "first part" ends. I didn't address the nature of the loop at all, only the input and output arrangement.

I take it then that the control system needs to compensate for variations of the voice-coil current/force relation and of suspension stiffness as functions of position, as surmised in my "P.S."

In reality, then, there is no position information, only doubly-integrated acceleration. The integrators will need to be "leaky" in order to avoid accumulation of DC error.

How will you handle the haversine? Ver(x) = 1-cos(x); hav(x) = (1-cos(x))/2 = sin^2(x/2) and so has a substantial DC component. With only accelerometer feedback, that will be hard manage.

That is good. The choice of no filters was well justified.

Jerry

Reply to
Jerry Avins

It depends on where you put the filter, and what you do with the results.

At issue is the fact that you are sensing acceleration but you want to control position -- you can't do that. To control position you'd have to integrate your accelerometer output twice, which would make you sensitive not only to the accelerometer offset, but also to the accelerometer drift.

This is why Peter suggested that you monitor the position -- this makes up for the lack of absolute position and velocity information from the accelerometer. It does introduce the problem that you have to monitor the position relative to some frame of reference, which is a (literally) shaky proposition in a room with a shaker table. What I'd do would be to design a position estimator that uses the low-frequency content of the position measurement along with the high-frequency content of the accelerometer to get a good measurement -- this is a case where I'd consider doing a formal Kalman filter design, but doing the job intuitively is often more than good enough.

This is also why Jerry suggested that you implement leaky integrators in your forward path -- assuming that your table is suspended so that it tends to return to the correct average position leaky integrators in your PID loop will guarantee that you don't try to push the table into the stratosphere. It still leaves you with the table seeking it's own level, but if that's good enough then go for it!

There are some pretty heavy issues with using cams in shaker tables. But you are correct that 100Hz will be -- uh -- interesting to attain.

You'll not only want to do your design carefully, but you'll want to pay close attention to integrator windup issues. Here your integrators will mostly be the mass of the table, but that's nothing to ignore. If you don't pay attention, you'll see yourself having severe overshoot problems. Probably the easiest and most common way to fix this is to calculate the command profile ahead of time such that it doesn't ask for more acceleration than the table is capable of, although I often prefer to build the relevant nonlinearities into the controller.

You'll need to build the system to ignore the low-frequency content of the deflections & velocity commands, then.

You may find it causing problems at low frequencies, however, when you run out of room.

You should be able to build a stable system with a PI. Perhaps not one that gets you up to 100Hz, but a current command to the coil is essentially an acceleration command, and you're reading back acceleration. As long as you stay well within the bandwidth of the drive electronics and the accelerometer you should be fine.

Even with a voltage feed to the coil a PI will stabilize, since your plant will look like a simple lowpass plus the accelerometer's bandwidth.

But -- it'll almost certainly stabilize well below your desired bandwidth.

None the less, were I working on this I'd start by getting it working with a PI controller or just a proportional controller, then do some bumps and some sine sweeps to get the plant transfer function. Then I'd use the _measured_ transfer function to (a) validate that my model was correct, (b) validate that the mechanical assembly was correct, and (c) use for all future control system design. Particularly with something like this where you're trying to get so much speed out of something so big (I assume it's big) the sine sweep will do a good job highlighting mechanical resonances that you'll need to dodge when you do the control system design.

I don't believe that they've been given a formal name. "PID with feedforward" is probably the closest you'll come.

Reply to
Tim Wescott

And according to Elsevier UK:

"Dear Tim,

There are several academic bookstores in Denmark who would be happy to sell the book to your contact in Denmark. It depends where he is located in Denmark, but I would suggest following bookstores to whom we directly supply:

formatting link
- Copenhagen
formatting link
Copenhagen
formatting link
- Odense
formatting link
- Arhus"

Reply to
Tim Wescott

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.