Z-Probe on Marlin/Ramps ?

New Home Forum Mostly Printed CNC – MPCNC Troubleshooting – MPCNC Z-Probe on Marlin/Ramps ?

This topic contains 4 replies, has 3 voices, and was last updated by  Barry 6 months, 1 week ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • #41996


    I use Marlin/Ramps but, don’t use Estcam.  My Z axis homes to Z-Max (with limit sw). I have a wire with magnet i can attach to the motor shaft all wired up, and want to use a grounded metal plate for detecting the Top of the work, or spoiler board –     But, anyone know if there is a built-in command in Marlin?

    What I want to do is, after homing Z Max, I want to probe the Z distance to the work piece or spoiler board – so, for instance, my Z Max is set to 210 mm  (Don’t really have that much room, it’s just a number I set it to).  I want to send a command and have the Z axis lower down until it strikes the metal plate, then stop and show me the height in mm.   So, say it moves down to 155.3 mm to the top of my work piece. I want to be able to read that number out, then in the G-Code file I can move Z to that distance and than set the G92 to zero at that distance.   For ages now, I do this manually using a piece of paper and stepping the Z down until it just touches the paper.   It works, but, sometimes when I need to change a bit they 2 bits can be off by a few tenths of a mm in height, as its hard to get exact with the paper…   And, it takes so much time.  I have to do this at the start of every run, and whenever i change a bit.  Having a command that sends Z down until it touches and then read me the number will at least save me time , and hopefully be more accurate.

    But, now sure how to do it with Marlin.



    I just use z-min for homing z and have the endmill and metal plate be the endstop.  I use a really thin piece of metal for the plate, so I use that as zero.  Not really worried about the thou I’m losing that way.



    I think there is a problem command, that will read out the value, but the better way, IMO, is to do a home, with the probe tied to zmin, then you can do:

    G92 Z1.4

    If your plate was 1.4mm, then that would be the new Z value where the machine is, so 0.0 would be the location of the work.

    If you’re using the LCD, you could put that in a gcode file, and “print” it from the LCD. Or make a macro in whatever streaming software you’re using.



    Barry and Jeff, thanks for your input,  but, I found what I was looking for.

    The reason I use Z-max for homing is so that when i issue a Home it will pull the spindle up off the work area,  which is especially needed before homing XY – I have Marlin set to home to Z first, then XY. (BTW I use min limit switches for my XY also – )

    I found that in Marlin the G30 command does EXACTLY what i wanted.  I have Z Probe set to use ZMin pin – and i have the plate wired to Zmin – so from Repetier host I send a G30 command and it will do a single Z probe –  sends the z-axis down until it touches my plate, and the LCD on the ramps shows me the Z location,   I can put that into the GCode file as the location for Z zero, (my gcode scripts then send the G92 command) and all is good.   Thanks for your help.

    And, if anyone else uses the set up I have, this works great.  Finally, I don’t have to fiddle with manually stepping Z down to touch a paper – and fidget  –     just drop my Z contact plate on my work or the spoiler, issue G30 and it does it for me.  Now I can cut the double sided pieces that require 2 bits each side.

    BTW – I also attached the wire that goes on the spindle/bit to a magnet, rather than an alligator clip. In normal use the magnet is on a screw keeping it out of the way, then to do the Z probe I take it off the screw and put it on the bit/shaft –

    Also, how I use the XY limit switches:   I have attached physical STOPS to the legs where the X and Y home – opposite where the limit switches are.   When I want to align the machine, I manually push the X and Y so they are slightly off kilter, so that the side opposite the limit sw is closer to the post, the side with the Physical Stops – then when it homes the X or Y bar hits the physical stops first, and that stepper motor will slip until the other side comes and hits the limit sw     I have adjusted the limit switches and Physical stops so that it is square when the bar is hitting the Physical Stop and the limit sw.   This way, when I send the system to Home, it is self-aligning the squareness of the machine as well.  I am able to get very reliable repeatable registration this way.  Like one time I started to cut my final with a ball nose bit without doing a rough cutting and after a few inches in I see that it really needs a rough cut first, so I stop it, change bits – moving the carriage around by hand, re-home/align it, rough cut, then change back to ball nose – home/align it, and when it starts cutting the final again, it cuts exactly where it was cutting originally. Even though I have moved the carriage around manually several times. That’s why I like using the XY limit switches.   So, I am liking the way my setup is working.

    Next up,  I have added infrared sensors on the spindle to the Dewalt 660  –  I have all the electronics designed,   just need to build it,  but, it will be a closed loop speed control for the spindle.

    BTW – my cutting area is 3×4 feet,  and the machine is highly modified.



    Home on mine goes to the clearance plane, which I have set to 10mm above the workpiece.

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.