[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