Dual Endstops vs?

I just finished a plaque, pic coming. I used F-Engrave for the the engraving part and Estlcam for cutting out the final shape. Used 1/8th inch 45 degree v-bit and 1/8th inch flat endmill. I was worried about being able to “register” the accurately with a tool change and program change. So I found where I wanted my origin to be, was pushing the size limits of my set up. I used the v-bit and went into the board about 2 mm as a registration hole. Did the v-careve and v clean portion, no problems. Changed to the end mill, and registered the router in the hole created by the vbit. Then I ran the clean up file. There was just a slight mis-alignment leaving just a fraction of material left in the -X and -Y. Then I registered again and cut out the piece using the Estlcam file. What I ended up with is the cut being off about 1.5 mm to the +X area. This left material on the +X. I used my spindle sander to remove the excess material. End up out of round and the more I tried to “even” it out the worse it got.

So other than dual end stops, how can I get more accuracy when making tool changes or file changes?
Dual end stops might be the best answer, but my limited knowledge has prevented my from pursuing that option.

I appreciate the help as always,

1 Like

There is nothing that dual endstops provide that you cannot do with your current machine. But before exploring endstops, I suggest you consider an alternate approach. As long as you don’t turn off your steppers, your machine will maintain its coordinates. For a tool change

  • Leave the steppers engaged
  • Move the router electronically to where you want to change the bit
  • Make the change leaving some extra space below the bit (so you don’t hit the stock returning to the origin)
  • Return to the origin with sending something like “G0 X0 Y0 F350”
  • Use your touch plate to home the Z height.
  • Start your next cut.

Personally, I always break my jobs so that each bit change has its own g-code file.

As for endstops, for this kind of cutting “all” they provide is a repeated home position. You can provide that for your machine by installing some hard stops that you can push the axes against either before powering up the machine or while you are executing a “G92 X0 Y0.” Then you navigate electronically to the start/origin position for your cut and record the coordinates before homing for the job. To return to that position, repeat the process of first pushing the axes against the blocks and resetting 0,0, and then navigating to that same position. You can use a g-code to send your machine to that same position.

You may want to practice some with your hardstops to make sure your pressure is consistent and not causing deflection. There are more complicated ways of handling these things using workspaces that don’t require writing down coordinates, but I rarely see anyone on this forum using them.

1 Like

Leaving endstops engaged during tool change is what I do, and it works well.

Make sure the M84 timeout is set long enough that you don’t run out of time and have them disengage automatically due to idle time.

One caution about hard stops is the motors will quantize to the nearest 4 full steps. (One “full step” of a stepper motor is a 90 degree phase shift, and quantization cogs to the nearest multiple of 360 degrees of phase.) Four whole steps is 1/50th of a revolution, or 0.64 mm if you’re using a 16T pulley. So if the motor phase were “random” relative to where the machine thinks it is, energizing motors can make it jump plus or minus 0.32 mm, so the hard stop approach can introduce this much error (or potentially a bit more, but not more than 0.64 mm of error). Homing with endstops is more repeatable than this.

Leaving the steppers energized is less convenient because you have to do the whole sequence in one go, but it’s the best for maintaining alignment.

1 Like

The quantization error may be consistent though. So it may be out of square by an average of 0.32mm, but unless it is ambiguous, it will pick the same rotation each time.

I don’t know if it is consistent.

1 Like

I struggled for a while trying to keep my steppers engaged between jobs. M84 S0 appeared to work but they would still cut out after my Goode completed. There was nothing in the file to disable them or any automatic script I could find.

It turned out that in Repetier host there is a checkbox to disable stepper at job kill/completion.

Ever since I unchecked that it is working as expected.

I still like auto homing with dual end stops, but don’t necessarily bother if I run a couple of files back to back. Either way consistency is very good. Once steppers turn off though, even if the machine is not bumped, the position after they re-energize can be noticeably different.

I think it would be consistent if you power cycled the control board each time. Assuming you’re not exactly halfway between cogs, it should have a preferred way that it settles.

The stepper drivers “remember” a phase angle (where 360 degrees = 0.64 mm) that gets incremented or decremented with step pulses. If you are at an arbitrary position and arbitrary phase angle and disable steppers, then drag by hand to the hard stops and then energize (and G92 X0), it will try to restore the phase angle that it was at before. If the phase angle is not the same as a cold boot, then it will carry that error (which should typically be less than 0.32 mm) through the whole job.

Maybe if you always end on a multiple of 0.64 mm before disabling steppers, you could ensure that the stepper drivers have a phase angle that’s equivalent to a cold start? I haven’t thought this through but that might be a workaround. Disconnecting and reconnecting will reboot Marlin, and I’m not sure if the stepper drivers are also reset in that case, or if you have to cut power. A hassle in any case.

2 Likes

I have dual endstops, but don’t use them for file/tool changes.

Sometimes I will use a registration hole in the material. (2 for a double sided cut.) Plumge the tool into the material a certain distance. Bonus you can then use the hole to find Z, but I will re-probe to align Z as close as possible. Thos wprks best if all tools are the same diameter, for example a 1/8" end mill and a 1/8" V bit. This works for wxtended periods too since you can leave the machine unpowered with the mill in the registration hole.

My tool change routine is generally to move the machine:

G0 Z30
G0 X0 Y0

And from there i change the tool with the stepper motors still powered, then I can probe for Z and go with the next part. I re-home if I feel the stepper motors skip both for position and for squareness. The home switches are close, but not always 100% accurate, probably means that I should slow down homing movement. I try not to depend on them.

I can’t remember the last time I had to depend on the endstops for a tool change.