I am intrigued by the puzzle of how to support distance-coded scales
in LinuxCNC.
 
https://forum.linuxcnc.org/12-milling/42195-retrofitting-mikron-wf41c?start=10#205856

Support for the basic protocol can be handled either by a HAL
component, or by tweaks to the encoder drivers. Either can supply an
absolute position on a HAL pin.

Unfortunately there is currently no way that I am aware of to use that
information during the home sequence. When LinuxCNC sees index-enable
toggle false (as far as I know) it sets the machine position to
HOME_OFFSET.

HOME_ABSOLUTE_ENCODER changes this behaviour, in that the value on the
position-fb pin is taken to be the true position. But with this option
set there is no search move for the indices.

So, I can see a few ways round this.

1) Add distance-coded scales to the homing code. This would need a
couple of new INI entries, which is easy, but would also need a new
pin to get the rawcounts (or a position version of the same) to the
homing code so that the system can measure the distance between marks.
There is _probably_ a way to do this with the "latch-enable"  but that
doesn't, by default,  use the index pulse to latch (AFAIK) and the
latched-position still needs to be linked in to homing.

2) Add a variant ot HOME_ABSOLUTE_ENCODER (type 3?) which behaves
normally except for taking the current position-fb as being "true" at
the point that hominf completes (either by index or home-sw)

3) Some other way that I have not thought of.

I think I prefer 2, as being less intrusive (and more adaptable to
other schemes). But 1 might be technically preferable.

Thoughts?

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to