End stops auto homing stepers advice

Bought the kit with the mini Rambo what do I need to have end stops and auto homing what do the steppers do will the Rambo work with the end steps also is there a firmware to use for this or will I need to edit one to work

Auto squaring uses indepentent drivers for each motor. When they home, each end has an endstop and each end will.move indepentenly to reach it’s own endstop. After that, they will move in lock step.

The mini rambo has only 4 drivers. So you could auto sqaure one axis, but not both, so that’s not a common configuration.

With the mini rambo, you’re going to wire your duplicated axis with series motor wiring. After they start up, they will always move in lock step. All you need to do is make sure they start square and after that, they will stay square. You don’t need special firmware, just wire them between the (s) and (-) pins for the endstop. Not the (+)!!!

Homing, or autohoming, is a very popular request, and it can be done with stock firmware. Since a lot of us are 3D printers by nature, it’s natural. But they are completely unessecary for milling. When you’re subtracting materials, the origin of the work isn’t based on the location in the machine, it’s based on the location in the material you’re carving.

So you will set the 0,0,0 in CAM to be the lower left corner, at the top surface of the workpiece. Having it be at the min of the machine does you no good. Instead, you will move the machine to the 0,0,0 location and send a G92 X0 Y0 Z0 to set the origin. It’s also common to just add that to the starting gcode.

I hope that helps.

To do the auto homing and centering what board and hardware would you recomend

Oh also it is there instructions on how to center and square the system are there any other settings that need to be put in mini rambo

i just got through with my build testing my lcd screen has ? for the x y z flashing what does this mean?

Also when i try to auto home it errors out says to reset

The full size Rambo.

I’m not sure what you mean by center. I have a mink rambo wired in series. The process I use is:

  • With the machine off, I move it to the lower left corner.
  • I knoe my table is square, so I have some little blocks I clamp on to the edge of my table
  • I pull the gantry against the blocks and now the gantry is square
  • I give each Z leadscrew a little twist up and let if fall back down. Now the Z is square.
  • I power on the machine.
  • I jog the machine away from the blocks and remove the blocks.
  • I jog to the origin of my work.
  • I send the G92
  • I start my milling.

That’s fine. It’s just saying it’s not sure where it is. That will go away when you do a G92. I think there’s also a menu item in the lcd. Something like “set home position”.

Do you have endstops installed? You don’t need to auto home.

1 Like

I think @Kevin might be planning on cutting from the center of his piece instead of from the corner. That makes it easier to make sure what you are cutting is centered on the piece without a lot of measuring. It does make things a little more complex, but it’s still easy enough to deal with without auto-homing. Just do as @Jeffeb3 suggests but instead of physically moving the machine to the lower left corner, move it a pre-measured spot at the center of your work. You still do the G92 X0 Y0 Z0 thing which pretends to the software that you are already homed, then fire up the stepper motors by raising the Z a bit, turn on your router and start your project. Remember if you start in the center your model that the gcode was generated needs to also start in the center.
Also note that it won’t work if you have the full Rambo with dual endstops. Then you are not allowed to move into a negative position so have to put 0,0,0 at the corner.

I had been using a maslow and I always would zero in the z axis and i could move the home position to anywhere on the board where i wanted. I am not really understanding where to put everything. how do your tell the system what is them max of z axis. also how does it know what the size of your work area. I know these are questions i should know what the answers should be. Newbie

Since CNC milling is subtractive, if your stock fits on your workbed, it’s “in bounds”. Beyond that, the machine trusts you. I think that if you use workspace coordinates (G54-59.3) before setting your position with G92, and you’ve set the machine origin properly (and have the bounds set correctly in the firmware), it’ll keep you from being too terribly stupid. But overall, you gotta be smarter than your stock (and the g-code).

For as finicky as 3D printing is, it really does hold your hand a lot compared to CNC (more importantly, it doesn’t try to bite your hand, soak itself in your blood as your sight fades to black, hurl spinning carbide at your face, or warm itself in a conflagration of your hopes and dreams)…

You decide the Z axis max depth by setting the cut depth in your CAM and setting Z0 to the top of your workpiece. Remember there is the max cut depth and the depth of cut (DOC), the latter is how deep the tool goes each pass, the former decides when to stop cutting.
The only time you deal with work area size is also in the CAM, you just have to remember not to try and cut a piece where the cuts are larger than the physical limits of your build. There is a setting in the firmware for bed size, but that’s only used during homing and it just makes sure it doesn’t try to keep on homing forever if you don’t have working endstops.
The standard procedure for getting a job started is to move the mechanism to the bottom left hand corner of the bed and jog to find the bottom left hand corner of your work piece, or just move to the bottom left hand corner of your work piece. Jog from there until the bit just touches the work. At that point everything is at where you want 0,0,0 to be, so you send the command G92 X0 Y0 Z0. Jog the Z back up a bit so it’s away from the work and fire up your router. From there you can just start the cut process and it’ll move to where the cut starts, drop down to Z0, then drop down by the DOC and start cutting. If you have dual endstops the first sentence is replaced by “move the mechanism by homing X and Y”. If you have a Z probe then you just the home Z command to set your Z0 instead of looking at the end of the bit and jogging down until it starts to touch.
Once you start the first jog the stepper motors will be locked and moving by hand gets really hard, that’s why you typically get X and Y to where you want zero to be then jog Z down. It locks everything up at that point and the rest is all done by the software.

Sorry for the necro, but this post is relevant to my question with the ultimate question at the end of this…

I’m coming from the Maslow CNC world which doesn’t currently support G92 and G54-G59. The Maslow CNC has its origins fixed at 0,0 with x and y that range from -48 to +48 and +24 to -24 (inches) to cover the 4x8 sheet of plywood. You “define home” wherever in that coordinate space and gcode will be offset from there. So if you have gcode that cuts a line from 0,0 to 12, 12 and your home is shifted to the left 18 inches (-18, 0) then your cut from the perspective of the machine’s coordinates will be from -18,0 to -6, 12.

My question is, for a lowrider (and probably many/other cnc machines), is the G92 command is pretty much the equivalent to Maslow’s “define home”? You move the machine to a spot, issue G92, that defines 0,0, and everything will be cut from there as such?

I appreciate the comment about endstops not really being meaningful in context to these machines, but one of the features I put into a program called webcontrol (basically an alternate web-based gcode sender for the Maslow’s controller) is the ability to track where cuts have been made on a board (such as a 4x8 sheet piece of plywood). This is a screen capture where red shows that areas marked as cut and the green cross hair is the current ‘defined home’.

In order to use something like this for lowrider, I think 0,0 has be be maintained at the same spot always with respect to the machine (i.e., lower left corner). If my understanding of G92 is correct, then endstops could be used to return the machine to the lower left and set 0,0 to that location using G92 and then you would use something like G54 to shift where you gcode would run?

So if any of what I said is correct and I’m interested in doing this with a lowrider, would the rambo mini work or do I need the full rambo? I know… long way to go for such a question.

That feature for tracking cuts is pretty neat!

In the most basic form, G92 sets the single, only coordinate 0,0. This is the same 0,0 you use in CAM, based on your work you’re doing. When the gcode says, G1 X0 Y0, this is where it goes. Generally, what I do is make the 0,0 the lower left corner if I’m cutting something out, or the center if I’m carving onto an existing workpiece.

If you want to get fancy, then you would start by making the machine’s 0,0 be somewhere constant, with either a hardstop setup like I described or endstops. Then, you can later define work coordinates. You wouldn’t usually define the work coordinates in offset, you would just jog to the 0,0 location and set them. Then a G1 X0 Y0 would go to that location, not the machine’s 0,0. The work coordinates have an advantage (I think) because the softstops aren’t affected by those coordinates. So you could run gcode into the negative coordinates, even with min softstops enabled, and it would work as long as you didn’t exceed the machine’s negative coordinates.

The work coordinate experience I have is with grbl, and there aren’t many people who have used them in Marlin, AFAIK.

You can attach endstops to the mini rambo. You probably still want to have some kind of procedure for starting the machine square, but then after that, you can home to the endstops to get a consistent 0,0. FWIW, I think my hardstop procedure would be more than adequate for making a consistent 0,0 location. I have, in dire cases, continued a failed job by resetting to that corner, jogging exactly the same amount, and starting new gcode.

That’s what I was thinking as well, my software doesn’t need tremendous precision because the data for the cut area is a 96x48 grid (one inch square). So I just need to get reasonably close, consistently… even being off +/- 1/8 inch isn’t a big deal since it’s within the margin of error for the cut area tracking.

Does the lowrider firmware run Marlin? I’ve got a real small desktop cnc that runs grbl, so I’m more familiar with it than Marlin. Can you use a gcode sender with lowrider (i.e., hookup a PC running some sender and feed it gcode to execute)? Is that what the ‘full graphic smart controller’ is (i.e., a gcode sender)? edit: to answer my question I think that answer is yes

The maslow records the steps to eeprom so that it persists through a power cycle. I assume lowrider doesn’t do this… like my desktop cnc… correct?

As for starting square, when you reset the machine you depend upon blocks that you know will result in the gantry being square. I’m looking at using unistrut as the rails and probably could do the same thing because my intent is to make each end adjustable (up/down/left/right) so I can square and level the rails regardless of how much my table has warped. I live in North Florida and our humidity levels tend to fluctuate wildly. I’m not sure I can depend upon a table being square one day being square a few months later. So if I can isolate the rails from the table, I can adjust them.

Right. As soon as it turns off, the motors are likely to move. Every tine it turns on, it assumes they did, and it doesn’t know where the machine is.

That’s the most common, but not required. There are grbl versions for the rambo. There is a GRBL_Esp32 board for MPCNC you can use on the Low Rider. You can also use mach3 or linuxcnc. But if you buy a rambo from Ryan, it will have Marlin.

Yes. The most common here is the lcd with an sd card, or repetier host. Also there is proterface, cnc.js, or octoprint (v1pi has cnc.js and octoprint).

The two belt motors will move in lock step after starting. They will always move the same distance. But if one starts 2mm ahead of the other, it will be cutting parallelograms instead of squares. Just be sure you start them square, and then move them under power.

Great… if I end up doing this I’ll be modifying my webcontrol so it works also with lowrider as well as Maslow.