On 06/20/2017 03:27 AM, andy pugh wrote:
On 20 June 2017 at 03:51, <tom-...@bgp.nu> wrote:

Why would I get a following error only while homing

I think it is probably because you are using HOME_USE_INDEX (which will
zero the encoder at the index pulse) and feeding the encoder feedback back
into LinuxCNC.

Now, this is perfectly normal, and with a servo / pid machine the system
knows to ignore the f-error immediately after an encoder reset. What is
puzzling me here is why it isn't working in this case. I think it is
something to do with the fact that your system is set up for open-loop step
position control but has encoder feedback. However I can't immediately see
why this makes a difference.
I think I have an idea. If the jump in position is all accomplished in one servo cycle, then the jump is handled by the logic you describe. If the jump is spread over a few servo cycles or delayed by even one cycle, it will certainly cause a following error. The key is that Tom reports setting MIN_FERROR to 1 doesn't suppress the error. That means the position jump is not occurring during the same servo cycle where the index pulse is seen. Is the encoder feeding ANYTHING else than LinuxCNC through a simple interface? Some external motion controller or drive in the path between encoder and LinuxCNC could introduce a delay.
I imagine that if you press the home button again it will home Z
seamlessly, and then f-error homing the next axis.


Yes, since the first home operation should zero the encoder counter at the index position, re-doing the home should cause a minimal shift in the position.

Jon

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to