[Bdi4emc-help] X-Axis Display Problem
Paul
bdi4emc at bulldoghome.com
Thu Nov 23 18:51:41 CET 2006
Hi Craig
On Thursday 23 November 2006 06:52, Craig Gadd wrote:
> The card is connected through a 50 pin ribbon cable to a
> Vital Systems breakout board which in turn has been wired to a single
> encoder which has 20,000 quad/cts per revolution).
That is a pretty high resolution encoder !
> When I launch the generic.run, or emc.run things seem to behave normally
> with the units showing for the axis which has the encoder on it. The units
> will update if I turn the motor slowly, and everything seems to work. When
> I spin the motor quickly however, the unit display of the axis seems to
> "freeze" and will not recover. The rest of the interface continues to
> function properly though. Any ideas on what might cause this and how I
> might fix it?
Many years ago, Fred Proctor (as I recall) was having problems with erratic
encoder counts and added a routine to "debounce" the input - This is hard
coded with an arbitrary limit of 10 times the max velocity. When the rate of
change per servo cycle ecceeds this limit, any further input is ignored and a
following error *should be triggered.
With a 20,000 count/rev encoder and a moderate max velocity, I would imagine
it would be quite easy to trigger the debounce routine - When you come to
connect the servo amps up and tune the system, as long as you don't go over
the top on the acceleration settings, you shouldn't experience any problems..
If you do, we can disable the debounce routine easily enough by
adding -DSIMULATED_MOTORS to the RTFLAGS of src/Makefile.inc.in and
recompiling vitalmod.ko
If you need a step by step duffer's guide to setting up a build environment
and recompiling the kernel modules, just ask.
BTW With any servo system there is nothing to be gained by setting the
BASE_PERIOD parameter anywhere near what you might use with a stepper system.
0.00005 or 0.0001 should be fine.
Regards, Paul.
More information about the Bdi4emc-help
mailing list