Chris Radek wrote:
>   There are lots of ways encoder hardware can
> detect problems: invalid quadrature transitions, extra or missing
> counts between indexes, and maybe more.  If the encoder hardware knows
> pulses per rev (which is not the current scale value it knows) it can
> detect missing index too.  A non-emc machine I worked on would detect
> missing index when homing (it stopped when there should have been one
> by now) - emc can't do this currently and it will search forever for
> an index.
>   
It would need to have an error threshold.  When the spindle starts or 
reverses, the
counts per rev will be off.  Also if the spindle is moved by hand it 
could throw the
count off.  Invalid quadrature transitions could be normal whenever the 
spindle is
not running, ie. typical dithering plus electrical noise.  I think both 
the Mesa and
I know the Pico Systems encoder counters have digital filters to 
suppress invalid
transitions of short duration.

The Pico Systems encoder model in the FPGA hardware has a latch that is 
set by the
rising edge of the index pulse, and is reset by reading the index 
register.  So, the driver
could sample the position count every time there is an index pulse 
detected, and
compare to position at the last index.  This will NOT give a number 
identical to the encoder
counts/rev except at very low speeds, however.  Any time the encoder is 
turning above
one count per servo period, it can come up short or long.  So, you would 
have to exceed an
error margin before declaring a fault.  On an axis, particularly, 
whenever the encoder
reverses direction, you would get a difference count that was 
approximately zero,
because the second index pulse is returning to the same axis position as 
the last index.

So, this sort of thing is non-trivial, and you have to cover all the 
cases to avoid false
trips.

Jon

------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to