Igor Chudov wrote:
> I may have been too quick to declare a total victory.
>
> Here's why:
>
> I did have a good success moving UNLOADED table in all directions with
> relatively low (0.0002" or so) following error. That cannot be denied.
> No chattering, buzzing, the system calms down instantly after motion,
> etc.
>
> But I also noticed something that I did not quite like:
>
> If when EMC2 is in holding position, I take my hand to the pulley of
> the Z axis motor, I can turn it by hand against the resistance of the
> servo motor. If I watch the position display in AXIS, I would say I
> can turn it enough to make Z move by 0.002", until the servo
> resistance strengthens enough to stop by hand. And I am not a
> particularly strong person.
>
> With the old tuning, that was not the case and servos acted in many
> annoying ways, but always held position so that I could not
> perceivably turn the servo motor pulley by hand when position was
> held.
>
> I wanted to hear some comments on this matter. Does it mean that my P
> and I are not high enough? Or what?
>   
Yes, probably.  Does it get unstable if you raise P?  If not, then raise 
it as high as you can.
P = stiffness.  But, that's where it starts to get really messy.  The 
velocity servo is
a continuous-time system, as the tach provides velocity information with 
no quantizing
of position or sample rate.  The encoder is quantized in both position 
(encoder resolution)
and time (servo sampling rate).  These quantizations cause a "noise" to 
be added to the
information from the encoder.  This noise requires that EMC treat that 
information
with some allowance for that noise.  But, that is not required of the 
tach feedback, it is
pretty close to noise-free, at least with a good tach.

With a very high resolution encoder, sampled at a very high rate, the 
added quantization
of the encoder becomes quite small.  The positional quantizing is of 
little consequence,
and the frequency response moves up to way outside the servo bandwidth.

I think your encoders are not that high resolution, and you are using 
the default 1 KHz
servo period of EMC, I am guessing.  The Nyquist bandwidth of that is 
500 Hz, which
is likely to be outside the servo amp's response.

So, anyway, what I'm trying to get around to saying is that these 
quantizations put an upper
limit on how much P gain you can use on the EMC servo loop before it 
starts to exhibit
instabilities.  The quantizing stuff adds noise to the apparent velocity 
derived from the
encoder counts.  Say you are moving at 1500 encoder counts per second, 
and sampling
at 1000 times a second.  You get alternating samples of one count, then 
2 counts, then back
to one count, every servo period.  That is a 2:1 jump in apparent 
velocity every sample!
The D term amplifies this and starts to add this artificial noise back 
into the PID output.
So, you have to use D sparingly or it makes the noise worse.  Forcing D 
to stay at a low value
limits how high you can go with the P term.

This is why the velocity servo system has its benefits, as it does not 
suffer from this quantization.
But, the velocity loop needs to be tuned.  You can use Halscope to do 
the tuning, so it doesn't
require a lot of test gear.  My guess is you didn't have the velocity 
loop well tuned on your machine,
and were trying to fix the response with EMC's PID.  That won't work.

The proper way to do this is to apply either square waves or trapezoidal 
waves (feed a square wave
through the Hal limit function to limit the slew rate) to the PPMC DAC 
to step the system back and forth.
Observe the response, probably best with the ppmc.0.encoder.00.delta 
output (velocity) and adjust until
the command and response are as close as possible, especially at the 
inflection points.  Then, use
the PID to clean up any remaining departures, using the error signal.

Jon

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to