That’s also the purpose of the M851. In the same example, you could enter M851 z-0.5
(followed up by M500
to save it to EEPROM if you have EEPROM enabled via firmware) to tell the controller than when the z-axis homes, the value is 0.5mm above z=0 when the endstop triggers. These commands would be entered into the g-code text box on the manual control tab.
I would start extremely basic, the eeprom can get really tricky.
Ryan, so if I’m using G92, using ESTLCam & Repetier, I would put the G92 line into what? The Program Start script in ESTLCam?
Anywhere you want, and you do not add one line you add them both, as I have them on the basics page.
You can do it manually before a job or add it to the start, and/or tool change Gcode sections of estlcam.
If you start a job exactly what do you want to do? I move the head to exactly where I want the machine to cut, start/reboot and hit go. Initially I don’t care where the Z axis really is. There are almost no situations where I care how accurate the z axis is. I cut through all the way plus some or I do a surfacing cut, that zero’s it. Or carves…who cares how accurate the Z is. Just because the machine can do it doesn’t mean it is the right/best way.
The only time it matters is a tool change to a vbit. Or maybe you have something that is super Z critical, but really you can eyeball the Z pretty accurately.
Using Dual endstops is different level of operations…
If i’m cutting something out, precise Z doesn’t matter, I’ll just cut through to the spoilboard.
But I’ve been making some small boxes I’m hollowing out. I could do a surfacing pass, but I have faster/cleaner ways to get a parallel surface on a given board. If I’m hollowing out a box, I want to make sure I only hollow out to a certain depth. Some of the boxes have step downs around the rim, for instance, and I want that to be fairly accurate.
Eyeballing Z has worked well for me, I was just looking to speed up the process, and having it use a touch probe seemed like a good way to do that.
You should technically always do a surfacing pass, that will give you the most perfect Z depth. A touch plate is not as accurate as a surfacing pass, it is only as accurate as the average plane it is sitting on.
Would this help you Nick
Pages 36 - 38
Thanks Bill & Ryan.
I think the cognitive issues I’m having are because I am coming at this (my first CNC) from the standpoint of woodworking, which I have done for many years.
In woodworking, if I want to create a box, and hollow out a pocket for that box, I would first cut the outer dimensions to the size I want, then set up a jig to rout out the center, leaving 1/4" all the way around.
That is essentially what I have been attempting to do here. I cut the outer dimensions of the part, then position it on the CNC to try and cut out the middle. But making sure my cutter is aligned exactly, such that the pocket is centered in the part I cut out, is difficult.
I believe my folly is in the above process, and that what I should be doing is cutting my parts oversized, then allowing the CNC to cut not only the inside hole, but the outside dimensions as well.
Sorry this has gone so far off track from my original question, but I appreciate you guys helping me down the path.
Nick there is no need whatsoever to be sorry, I get niggled at myself for not being able to explain in a way that others can understand but writing is not my forte, I’m a nuts n bolts type.
As Ryan has said start simples and build your way up then find YOUR way.
A lot depends on the individuals background, 30’ish years ago I took evening classes for Autocad, never used it professionally but it gives a better understanding of coordinate systems.
I don’t want to say exactly what my employment was only to say engineering, never operated a CNC M/c but but I’m going to leave it there.
I wanted to be carpenter when I left school the only vaguely related employment in the small town I grew up in was a mass producer of kitchen unit, not for me.
Keep on trying Nick you’ll get there.
Bill.
Hi Nick. For what it’s worth, I’ve found as a new user of these toys that Estlcam is the simpler option for doing what you describe above, ie making a simple box. Have a look at Christian Knulls YouTube videos for Estlcam. Using a simple touch plate as he describes in his software and a video easily solves the positioning problems. For creating the toolpaths Estlcam is way easy. You don’t need to bother changing your firmware settings. I settled on using ZMax as my probe circuit and eventually discovered the ease of using an Arduino Uno + CNC shield as Christian describes as the simplest path to success in milling. I have my Rambo/Marlin setup for printing and lasering and swap the axis cables to my Arduino for milling. The bonus is you get to use a game controller for moving the setup too ; )
Hey Jeff, I appreciate the advice. I am using ESTLCam already for all of my cam program work, and agree that it’s pretty decent, and fairly easy to use. But I’ve been using Repetier for actually driving the machine I’m not sure what you mean about using ZMax for your probe circuit? Could you elaborate? I also haven’t been able to get the game controller thing to work, though I’m running a RAMPS 1.4, rather than Rambo, maybe that has something to do with it?
Okay, that makes sense. And that method can work here but is almost entirely backwards for CNC.
Maybe I can give you a new perspective.
Two options, as I would do it.
1- Your way, two separate tools. Just put the material on the table, face the top, cut the pocket. Take it off the CNC and cut the sides on a chop/table saw using the inner edge as the guide. --The problem with your way, cutting the outside first, is then you need it precisely locate and clamp the box to the table to do the work. As you can see, it is not easy, even if you know exactly where the top is, how do you ensure it is parallel with the Axes?
2- Let the machine do the work. Just slap a piece of wood down with some screws (no locating anything whatsoever). Typically you would cut the top and bottom at the same time to ensure ultimate accuracy for tight fit. Surface the material, doesn’t take much a single 0.5-2mm pass. Cut the pockets, both of them. Then mating lips if you are not using hinges, Then cut out the exteriors leaving a few small holding tabs.
Your whole issue is moving tools, which forces precision locating…a no no. As in what is actually important in making a box. With your method you are saying the outer edge is the most dimensional critical…my method says the two parts fitting together is actually the most critical, do you see the difference? the first operation in anything you make will be the most accurate, any moves after that will progressively loose accuracy.
100%. We are all learning from each other and come from different skills sets.
If you take away the positioning it is the easiest. Using an edge finder and software to compensate for positional skew is much more complicated than just using the cnc first and not moving the material. This is a solution but one I have never used. Typically this would be for editing a preexisting piece. Say you made a box and forgot a critical hole. Then you spend a ton of time getting it located as accurately as possible just to fix a mistake, you would never want to do this with an initial cut, waste of time and effort. When you make things you should be cutting as many fresh sides as possible. Hence always making a facing cut if there are critical mating surfaces in the Z direction. When you make changes to an extremely expensive injection mold, this sort of thing costs many thousands of money to have edited even though the machining time is extremely minimal (minutes sometimes), getting is located takes a huge amount of time.
Hi again Nick. When I suggest only Estlcam, that’s all I use. By using an Arduino + CNC shield I can skip the Repetier/export GCode step altogether. In fact you can make a toolpath with Estlcam, and cut it, make another one, cut it etc, with needing to move the piece. I describe it in more detail in a different forum post here. Search Arduino, Estlcam, Cnc shield. There are different menu choices available when using Estlcam directly that are not available via an ‘import gcode’ setup. I have a Ramps type board but the Arduino Uno was so simple I haven’t got around to using it yet. Some people have said in this forum that Ramps works with Estlcam. You program the controller with Estlcam directly - no need for Marlin or the Arduino IDE.
As for the machining suggestions Ryan makes, I agree. Machine out the center, do the perimeter last with tabs. The only need to reposition is if you need to do the piece as 2 sides. Then you have to be careful to flip from the side or from the top. Estlcam makes that bit easy.
As far as Marlin/Rambo goes I really like it but I am using it for printing and lasering. You have choices in the configuration.h file regarding your endstop preferences and whether to use ZMin (Default) or ZMax. I chose the latter and wired a NO normally open switch with an accessory connector I can attach my ground and toolbit wires to. It takes a bit of reading through the configuration.h file to understand it all as well as a bit of fiddling with wires, switches, and connectors.
Even with Repetier you really don’t need to use endstops as Ryan has often suggested. I don’t bother with them at all with Estlcam, only using the touch plate probe for positioning, or a bit of aluminum tape as Christian suggests in a video. You can input the thickness of the tape as an offset, right click the XY axes to zero them, or use his automated positioning option. His program will pause for tool changes and tool length determination and resume where it left off as long as you don’t alter the XY by zeroing or something
Cheers
Guys, could you help me out please?
I’m setting up the touch plate probe on the MPCNC and a little bit confused by Marlin.
-
The first option is to introduce the probe, say Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN. However, as the comment there says, USE_PROBE_FOR_Z_HOMING is automatically enabled. However, Marlin would not compile if I don’t enable also Z_SAFE_HOMING. That is odd, because I need to probe on the block, which is always different location in XY, not at a constant location as Z_SAFE_HOMING requires. Even if I leave the coordinates commented out, they are applied. BUT this way I can set theZ offset normally.
-
The other option is not to set Z probe in Marlin, but use the plate same way as a conventional Z_MIN_PLUG. Yes, it works, BUT I can’t set the Z offset then from the LCD.
How do you deal with that?
Option 2 is what we usually talk about. You can write a small script to home Z, then set the offset with G92. You can put that on a small file on the sd card, or work up something more fancy in the start gcode in your CAM.
Thanks for such a quick reply!
I got the idea. Need to set G92 Z3 (plate thickness) after homing Z.
I’m a complete noobie in coding, and also my Z raises 10mm after homing, so the actual position would be Z10.
Would you be so nice to give a hint how to automate the process of adding 3 mm on top of Z10? Thank you!
Is possible to add some lines in the firmware itself (to overcome that weird Z_SAFE_HOMING defined XY)?
Hmmm. I’m not sure. Are you sure it does that if you don’t have probing enabled?
I managed to overcome Z_SAFE_HOMING by editing the SanityCheck.h (last resort to mess with).
Case closed, everything works as expected including homing, probing and offsetting. Thank you all for your advice)