Dave Engvall wrote: > Hi all, > > Finally found a 'roundtoit'. > > As a quick test of homing repeatability I mounted a piece of 6061- > T6 in the vise, wrote a small program to > move from homing position to the workpiece and then drill a 1/2" hole > using a 0.500 carbide endmill. > > Hole 1 was drilled repeatably after a shut down and restart of emc > including homing. > As a check I drilled hole 2 only one time. > > Hole 1 x = 0.531 y = 0.506 > Hole 2 x = 0.505 y = 0.506 > > Using a dial indicator I checked the repeatability of Z home. It was > within a thou using a Enco 1" indicator. > If this gets serious I will use a better indicator however I don't > see a problem with Z. > > So ... back to the X axis. > > Fire up halscope.. monitor axis.0.home-state, axis.0.index-enable and > Xindex. > > These may not be the correct variables to monitor but they looked > like a good start to me. > > when axis.0.home-state goes to 16 both axis0.index-enable and Xindex > go to 1.
I expected index-enable to go to 1 - but I'm a bit surprised that Xindex goes 1 at the same time - I'd expect it to happen later, and very briefly. What is that HAL signal connected to? > axis.0.home-state has a series of increasing values > > 0 > 4 then shortly 5 > 11 the shortly 12 > and finally 16. > The magic decoder ring for those numbers is in motion.h: http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/motion/motion.h?rev=1.97 The pertinent section of the file is: /* states for homing */ typedef enum { HOME_IDLE = 0, HOME_START, // 1 HOME_INITIAL_BACKOFF_START, // 2 HOME_INITIAL_BACKOFF_WAIT, // 3 HOME_INITIAL_SEARCH_START, // 4 HOME_INITIAL_SEARCH_WAIT, // 5 HOME_SET_COARSE_POSITION, // 6 HOME_FINAL_BACKOFF_START, // 7 HOME_FINAL_BACKOFF_WAIT, // 8 HOME_RISE_SEARCH_START, // 9 HOME_RISE_SEARCH_WAIT, // 10 HOME_FALL_SEARCH_START, // 11 HOME_FALL_SEARCH_WAIT, // 12 HOME_SET_SWITCH_POSITION, // 13 HOME_INDEX_ONLY_START, // 14 HOME_INDEX_SEARCH_START, // 15 HOME_INDEX_SEARCH_WAIT, // 16 HOME_SET_INDEX_POSITION, // 17 HOME_FINAL_MOVE_START, // 18 HOME_FINAL_MOVE_WAIT, // 19 HOME_FINISHED, // 20 HOME_ABORT // 21 } home_state_t; The actual state machine is in homing.c: http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/motion/homing.c?rev=1.2 Even if you don't read C, the comments should be helpful. For each state, there is a case statement, and comments about that state follow the case line. Note that in some cases, EMC ticks through several states in one period. Halscope will only see the final state at the end of the period. > What else do I need to look at? Does home-state ever become zero again, or does it stay at 16? Does index-enable ever become zero again, or does it stay at 1? > I did not do the obvious and try the same variables with halscope on > either Y or Z. Duh! > Only thought about it after I had shutdown everything. > > Hope this is enough information to diagnose the problem or recommend > more troubleshooting. I'd suggest exactly what you mentioned above - capture both X and Y, and post both sets of scope pics on pastebin. Probably the best way to do the capture is trigger on home-state. Regards, John Kasunich ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
