Dual endstop firmware

Well, I’ll let Ryan figure it out.

I do think the release of the LR2 is a good time to revisit the firmwares. I also am surprised that 2.0 still doesn’t build on windows, and I’m surprised that 2.0 hasn’t really been released yet. Given that they keep porting features back to 1.1.x, I “vote” now is a good time to move everything “back” to a stable 1.1. version (I could have sworn 1.1.9 was out, but I must be crazy).

w.r.t. dual endstops on the low rider, I think homing Z to max makes sense, sort of. You wouldn’t want to crash into endstops, so that’s a good reason not to have it home to Zmin. It also seems nice to have it home to Zmax after a job, or at the beginning, just to get the gantry as far out of the way as possible. Unfortunately, it’s harder to calibrate (distance to spoil board is farther), and you have to set the size of Z in the firmware, or you could just set it really large, but if you ever forgot to reset it with G92, you’d crash into the spoil board hard.

Here’s what I would suggest for the Z endstop configuration on the LR:

On the hardware, you want to plug endstops for Z1 into Zmin and Z2 into Zmax, and you want it to home up, not down:

Configuration.h:
#define Z_HOME_DIR +1
#define Z_MAX_POS 100 // Builder needs to set this ~4"?

Configuration_adv.h:
#define Z2_USE_ENDSTOP XMAX

pins_RAMBO.h:
#define X_MAX_PIN 10 // 24
#define Z_MIN_PIN 30 // was 10
#define Z_MAX_PIN 24 // was 30

Barry, I’m assuming you have something that will keep you rolling with the setup and initial testing for now, and that new firmware isn’t blocking you right now.

Yea, I made some jumpers to bypass the endstops for now. I need to pick up some more switches. For the most part I just want to have a driver per motor, makes it easier to wire, I can use standard network patch cables, for some reason I seem to have a crap ton of those… Dual endstops will just be a happy extra, though I didn’t realize the belt holders were also hard stops! That’s kinda handy, it’s a shame my table kinda slopes away from them. By December it will be level again, it’s a 200 year old barn, it moves.

 

Thanks for the help guys.

The issue with the dual Z is no probing, I don’t think. Unless there is a Z probe G or M code? My big plan was to just dial in the hard stops, Y and Z.

I think it might better to either make adjustable belt/stop blocks to dial in Y (I seriously planned on shimming it if I can’t screw it in good enough), or just use dual endstops on the Y only. Z should be level, as it sits, then we get to keep Z probing, just in case. Z can still use both drivers, just leave out the dual endstop part? Not sure. My last build stayed super square the entire time. It is so much easier to square a larger router. 1mm off over 5’ isn’t nearly the same as 1mm off over 18" on startup. Mini for me, but I can make a separate LR2 firmware for the dual if we can work it out.

1 Like

I agree on all accounts.

Something I was thinking about the other day. The drivers presumably always start on a full step, and they can probably only skip entire full steps. So the resolution of the hard stops is in full steps. That’s still less than 1mm, but the dual stop firmware can actually do microstepping adjustments.

The other thing I’ll add is 1mm/5’ is nothing, unless you are cutting something 5’ wide. But the Z really doesn’t matter in that case. Dual Y would be cool though.

You could just enable dual Z drivers and disable dual Z endstops in the LR version. That would be the simple choice. Anyone who wanted something else could go bonkers.

When I say Y I might mean X. My X and Y are flipped since I have a smaller table.

One thing I’ve noticed on both versions, is when the Z powers down and it’s up very far, rotational inertia will unspring I guess you’d call it, the couplers. The cut will open up. Then when you raise the Z it takes some extra movement before it moves up. Also the no negative moves is weird.

Shoot there is a lot to think about. The mini can do one dual axis, Y (table) would be best.

The Z un-springing. I used to twist the leadscrews a tad and gently set them on the roller blocks just before starting. I figured that sort of pre-loaded them. But this does set an argument for dual Z, if there is probing available. If I had to choose I would say probing would be more important? I just know my Z is all over the place because my table gets moved once and a while. So other making sure there are no major wobbles in the surface a through all cut takes care of it, and slight angle hasn’t effected me yet, but I am a “sloppy” LR user I think. This would all change it I used pockets more often… Crap. Well I am going to try and get that part cut and oiled before the shindig. This got my gears turning though.

Hey, here’s a question that just showed itself. I was at a family reunion all day, so when I got home I rewired my stepper to network jack adapter so I could actually mount the damn thing, and while testing movements, I may have tried moving x and y at 20000… This caused the board to reboot with the gantry almost all the way to the far end of the Y travel, and the router somewhere in the middle of travel. Of course this creates a new zero point waaaaaay over there. I couldn’t find a way to make it move back to the other end without hitting the home buttons, which I don’t have limit switches yet, so I had to use my ninja kill switch reflexes. Is the no negative movements part of the dual endstop function, or is it coded somewhere else?

F20000?

It really shouldn’t. I bet this bug has been fixed in the last 11 months.

It’s called “soft stop” Or “softstop” and it’s a separate flag. The reason it’s useful is so you don’t smash your endstops, but if you don’t have them, it’s definitely annoying.

I may have been seeing how fast it could go… ?

The latest Stable firmware i have found for Marlin is 1.1.8. I would like to see a dual z end stop and a dual Y end stop. I know no one is really asking.

Good evening. I'm finalizing the assembly of an MPCNC with 1 meter by 60 cm and I was reading the article on the dual endstops.
I mount and sell 3d printers and am a bit familiar with the Arduino system.
So I'll start my doubts, I hope Ryan can help me.
Why do you use the endstop in NC instead of NO, since in printers they serve to indicate the origins of x and y, and then start printing?
For me it would be made the origin with the 2 motors in x and the 2 in y so we would make sure that they are sure in the same length in the axes avoiding flaws in the drawings.

Safety, if a wire comes loose it will act as closed and not let the gantry move and not cause damage. They should all be wired this way even printers.

That is exactly what the dual endstop firmware does. Or maybe I am not understanding you correctly?

 

Many thanks for the attention and quick response. Tomorrow I will finish the welds of the endstops and as soon as possible start the tests and put photos and videos. I know that here is the topic of low, have problem in putting photos of the MPCNC?

Best to start a new thread in “builds” Can’t wait to see it.

Oh man I was getting ready to do a Marlin 1 final release…updated everything…read a lot of Marlin and arduino posts.

With a few minor changes Marlin 2 now compiles with arduino nightly and beta with no temp directory changes! Meaning just as easy as 1.0, so I ain’t gunna waste my time. I am going to go through update and fix all the firmware (today I hope). I think this will lock them in and have no need for any changes until they merge the zero extruder option or some other cool features happen.

Barry sorry it was a pain in the butt for you but I hope you will be the last to have to go through that.

No worries!