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