On Tue, 20 Dec 2011 11:49:42 -0600, Jon Elson wrote:
> 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.

I could see having that functionality as a compilable/loadable 
diagnostic test so that it would not have to run all the time (ie saving 
CPU cycles).  I like the proposed functionality.

   EBo --


------------------------------------------------------------------------------
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