Skip to main content
Submitted by SteveG on Tue, 11/25/2008 - 18:36

Have a system that has air bearings and a coreless linear motor. Little, if any natural damping so small perturbations cause oscillations. Using high resolution laser encoder for feedback. Tried to increase KD but that causes too much vibration that couples into the system. The biggest source of position oscillation is caused by starting and stopping. Have set IT=0.01 to smooth acc/dec and keeping the AC/DC values small as well.

Basically, I want to prevent the acc/dec from causing oscillations, so that implies high KD during accel and decel, then the KD would drop during at speed motion.

During at-speed motion the torques are tiny, < 0.1V but rise a lot during acc/decel.

Read about gain schedules and feed forward. Are these approaches that other have used successfully with air bearins and linear motors? Are there examples or tech notes on this?

Thanks,

Steve Gottschalk

Comments 4

Galil_AndyH on 11/26/2008 - 13:13

To help with the oscillations during AC/DC, you may need to cap the contribution of the integrator (KI). This is done with the IL command. A positive value for IL will cap the contribution of KI to that value (ie IL 2, caps at 2V). A negative value for IL will freeze the integrator contribution while the axis is in motion, and then cap the contribution when the axis has finished profiling (ie IL -2).

With an air bearing stage you should also find a benefit to using the feed-forward acceleration (FA), and also the feed-forward velocity (FV). The easiest way to use FA and FV is to tune the system the best you can with the above suggestions, then slowly increase FA as you run identical moves. Scope the outputs with GalilTools or WSDK and you will find a value that works best. You can perform the same tests with FV, but from your description of the torque output during motion, FA should be the most beneficial.

If you continue to have trouble tuning the system, e-mail support@galilmc.com so we can work with you directly.

SteveG on 12/02/2008 - 11:05

Andy,

The IL helped a little, but the most useful technique was increasing FA. Once I got FA fairly high I was able it increase KD a bit because the AC/DC oscillations had lower amplitude and didn't last as long. Nonetheless, the position error profile isn't anywhere near as clean as a system with some mechanical damping. Would it make sense to change PID values using the AS command or is this simply wishful thinking on my part? I'm a little concerned about suddently boosting the PID values this way.

As I understand it, an air bearing system can easily go unstable which is sort of what I'm seeing.

Are there more advanced autotuning methods that would help? I have WSDK as well as Galil Tools full version. I've done a little playing around with PL.

Steve

Galil_AndyH on 12/02/2008 - 11:40

You can try changing gains at speed, but first try FV along with FV. Make sure you set an error limit and enable the off on error

What TM are you using? If you have not reduced the update rate (TM) then you should try that as well. The default TM is 1000, which indicated 1000 us. Try a TM of 500 or lower. I believe (from previous posts) that you have a DMC-40x0 series controller, so changing the update rate will not change the commanded speeds and accelerations. You will need to change the PID values and FA once you change TM.

We have additional filters such as the Pole and Notch, which may be beneficial to your system.

Send me some screen shots of either the GalilTools or WSDK scope outputs at support@galilmc.com so I can get an idea of the responses of your system. When you do this, include current PID values, TM, AC, DC, SP and FA settings.

SteveG on 12/02/2008 - 11:54

For this particular servo system I've got a CDS3310 so changing TM requires new speeds and accelerations. Not a big deal. I'll send you screen shots to the support e-mail.

Thanks for the help