Carl Helquist wrote: > I just recently started using soft limits, maybe someone will find the > following observations relevant to this topic:
You've really hit the nail on the head... > I am using emc2 on a Sherline with steppers, mm screws, and no limit > or home switches. I used to always set up the ini file with the soft > limits well beyond the machine travel to effectively negate soft > limits as discussed in other posts on this topic. I used home to set > the machine zero to equal the part zero for each set-up. This mean't > that I was free to send the machine right to the end of its travel, > which doesn't do much damage on one of these little machines but does > cause it to completely loose its position on the stalled axis. That is the "hobby" approach - there's nothing wrong with it really, but full size CNC machines would never do things that way. You lose the benefit of soft limits, as well as anything else that depends on knowing actual machine position. For example, screw error compensation only works if you know where you are on the screw. Homing the machine to a different spot for every job makes that impossible. > After playing with offset coordinate systems a bit I decided to change > the way I do things and set the Sherline up to use soft limits. Using offset coordinates for your parts, and keeping the machine coordinates the same all the time, is the "pro" way. > I jog > the machine to a reference mark at one end of the useful limit of > travel, home the axis (no switch, current position is set as home, in > my case equal to zero). The position doesn't need to be extremely > precise if all I am looking for is to keep the machine inside its > mechanical limits. That is a perfectly acceptable solution for machines that don't have physical home switches. It gives you almost all of the benefits that come with real switches. > If I want to be able to shut down the machine and > restart it at exactly the same home position I can use the reference > marks to get the screw within one turn of the desired home position > and the handwheel dials to get it back to the same position. It's a > bit fiddly, but does work for my purposes. > > I did need to set the soft limits just outside the desired limits to > allow me to jog the machine right up to the desired limits. Instead of > setting X MIN to 0 and X MAX to 330, I set X MIN to -1 and X MAX to > 331. Otherwise I couldn't quite jog up to the soft limits. A move in > MDI would go right up to the limits with no complaints. It's a matter of personal preference really, but for convenience I'd be inclined to put the reference marks somewhere near the middle of travel. Then you don't spend time jogging all the way over to one end. I like my machine zero near the center of the travel anyway (for X and Y), but if you prefer machine zero near one end you can still put your reference marks in the middle - just set the HOME value in your ini file. For example, if zero is at the far left, and your reference mark is at 4", then set HOME to 4.000. When you jog to the mark and hit home, the machine position will immediately be set to 4.000. (Disclaimer - I'm not at home, and I haven't tested this. You might have to set HOME_OFFSET as well. If you try it, use a small value like 0.1" first, so if it decides to rapid by that amount when you hit home no harm will be done.) > I ran into in interesting quirk in Axis that didn't show up in Tkemc. > With home set to 0.0 and the minimum axis limit set to 0.0, as soon as > I homed all three axes the x axis would show as beyond limits. At that > point I was stuck. Neither the jog keys nor MDI would move any axis. > This is when I learned that override limits doesn't apply to soft > limits. All I could do is restart EMC. Setting the soft limits 1 mm > outside the desired range also eliminated this issue. We've had debates before, about whether the exact limit position is the end of the places where you are allowed to go, or the start of the places where you aren't allowed to go. It's kind of like arguing about how many angels can dance on the head of a pin. The home position should NOT be at either extreme of travel. If you want the limits to go from zero to whatever, use a non-zero HOME. If you want HOME to be zero, use MIN_LIMIT that is less than zero and MAX_LIMIT that is more than zero. Regards, John Kasunich ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
