How To CNC Probe Stationary Probing Cycles and Bit Changing


Note: G92 Position Register / Set Position commands will reset if a M30 command is executed at the end of a g-code job, or if the GRBL soft stop is pressed. This will effect restarting jobs. Instead of G92 it is recommended to use a G10 Set Tool Offset / Programmable Data Input command instead. 

So this is what I’ve been using to probe for some time now. It has an aviation panel mount socket at the end. And when I required it I would plug it into this aviation panel mount here. There are two ends. One is bolted onto the aluminium plate, and this is 1.5mm thick and there’s a crocodile clip on the other end. And this relays back to the control board. This is connected to the ground and this is connected to the signal. And when I wanted to use it, say for example this was the material I was planning to cut and I’d set my file up to cut from the top of the material down – and  the zero was on the top of the material, I would take the crocodile clip and hold it onto the bit. I would toggle down a little bit until the bit was just hovering  above the plate, and I would do a G38.2 command when the probing cycle would stop upon contact. So essentially when the circuit is made the controller recognises that as being the part at which the probing cycle stops. If I’m on G38.4 when I press probe I get an alarm and I’m not able to probe. I have to unlock that, change that back. So here goes. I can feel that is pinching that ever so slightly. And then I’d write a very simple command – G92 Z1.5 so it set that point there where the tip of the bit is touching on the aluminium 1.5mm above the zero of the z. Press enter. I’m just going to scroll up just so you can see the z coordinates here (it’s off screen) so when I press enter that changes to 1.5. I go back to the control tab – raise the spindle up, I can then take the plate away. So if I press move to origin (move to 0,0,0) the bit will drop down and rest on the material.

Now I had it set to z25 because I actually use a different method to probe now. So if I press that, it moves up. This is a nice quick way of probing and something to mention actually since I’ve re-did my controller I actually wired in the ground to the spindle so I don’t need to use this crocodile clip anymore – but most people would because they wouldn’t mess about with their spindle in this way.

But there is a disadvantage to probing with this method, and that’s if you’re changing tools and especially if you are working from the centre of the material you are milling as you start to cut stuff away, you may not have your original height to them probe from – so being able to probe from a separate location and use that as a reference point to come back to your cut actually makes a lot more sense.

And that’s why I’ve added this button here. If I pull the touch plate out, I plug in this other probe I can show you how this works. So this is just a button, in the same way that this emergency stop is a button. This has a normally open section which are removable – this can be screwed on and off, while what I’m using for the probe is normally closed. What I would say is the top is relatively flat compared to one of these e-stop button where it’s a little bit domed. So you want to use something that’s as flat as possible. And it had crossed my mind to glue some material on here and mill that flat as well to improve that surface. So there’s nothing fancy – these are quite cheap. They’re pretty reliable.

When starting up your CNC machine, you should always home all the axis. This should always be the first thing you do, as it sets the machine position to zero for the x y and z, which you can then reference your jobs from. It also means, if form some reason you lose your cutting position – you can home, and restart our job by finding your origin position from the machine position. Once it’s done that, I can see my machine position is roughly 2.5mm from where the sensors were triggered.

Now I should also mention, I’ve got loads of macros here that I’ve been setting up. Some don’t work, such as move around margins. I’ve never been able to get this to work and I think that’s more to do with the controller. And I’ve got  a G0 probe and bit changing location. I’m using a G53 command – which stands for Coordinate System Select and will moved the different axis based on the machine position. So the way I created this macro was to manually move the bit to the button, write down the m-pos coordinates and complete the code G53 G0 X-8.5 Y-494.5 Z-10.0. If I move the button, I have to re-write this macro.

And if I press this you’ll see where the spindle moves. And it’s basically going to hover over this button. Now form here I can do the probe. Now there is a tool probe setting here but I’ve never been quite able to get this to work, so I’ve just wrote something a bit simpler for me to follow. If I got back to the probe I’ll explain how that works. So the first thing I need to do is go to probe command and change that go G38.4. I then go back to control tab, and drop the spindle down, just above the button. So I’ve centred this and it seems pretty good. I’ve used it again and again. And from that position I would set z to 0, and I do that because if you look back at the probe, my probing distance is -10. I didn’t particularly want to start a long probe from the home position on the z axis because that would take quite some time. And what’s happening here, is while the previous touch plate worked on a normally open connection where the contact of the bit and the plate closed the circuit, this is the opposite way around. As it says on the command there it stops on loss of contact. The there’s a current being passed through, and when the bit pushes the button, it opens the circuit and then the probing cycle stops.

So now I know the point at which the button gets pressed is 73.337mm from the machine zero. This does vary a little but what I’ll do later is perform a repeatability test, to show you what that variation is over multiple bit probes cycles. Before that I’ll go to my macros – and there I can select either to set the z height by itself or to set the z along with the X and Y, of what I worked out to be the corner of the wasteboard. So if I click on that you can see the full command.

And I’ve written a note to myself to remind me that the wasteboard height must be manually located and inputted if wateboard is re-surfaced. So each time I made the surface of the wasteboard lower, I need to make sure I find that z height. And the way I do that is in this case I would pressed Z=0, and move the bit up, move across, and I would toggle down so that the top of the bit is just cutting into the MDF surface making sure the bit clears the material that’llelsdjkljflkjlskdfj eventually cut. Now differently from the way I set the probe and bit changing location, this time I need to look at the work position and input that into a G10 command.

In this instance I’m just moving back to the probe and bit changing location, conducting another probe cycle and to make my life easier I’ll just press the macro button. But I’ll explain what the macro is doing. G10 allows the user to set tool offset and/or workplace coordinates and/or tool temperatures. I don’t have to worry about temperature as this is for 3d printing. P stands for tool number – in my case I only have one tool, or if you count me I have two. L stands for the offset mode and I’m using L20 command –  which adjusts the current workplace coordinate offsets so that the current tool head position has specified coordinates. And then X, Y and Z are those offset coordinates – which happen to land on my surfaced waste-board roughly on the bottom right corner.

The problem I had is because the probe is below the surface of the wasteboard, depending on how this is written you don’t particularly want to move the x and y axes first. You want to move the z so that you’re clear and there’s less change you will hit your bit against anything. Ok so that seems to have worked, so now the bit is above the zero of the x and y, and it’s 25mm so it should be clear of any material – I’ll mainly be working with things up to 18mm anyway.

While I’m here I’ll talk about some of the other macros. I found it quite useful to have a home for the x and y, and a homing button for the z in case I need to move the bit quickly away from something. And the other thing was create a warm up spindle macro, which lasts for four minutes – and it takes the spindle from various speeds for various amounts of time. That’s an M3 G04 (dwell) command – and the p30 stands for the amount of time, and if your working in a garage and you don’t use the machine every day, the spindle can get cold and the grease inside it can gunk up, and it’s a good habit to warm up the spindle before you do any jobs and that just means you prolong the life of the spindle. It would be nice if you could create options to have a choice to press something, in case you accidentally press it – so for example I could press this once and get prompted with a message saying to you want to operate macro 7 and I would confirm yes, because in a way if you accidentally click them you may accidentally fling your machine. So I’ll just show you this working.

So for this method to work you do need to surface the wasteboard so it’s all nice and even, and that new position can find the wasteboard and cut through your material anywhere across the area.

So now I’m in my cam software. Artcam express. I keep saying whenever I have a screen shot of this, is that this software does not exist anymore. You cannot buy it, as it’s been bought out by autodesk, and they’ve essentially taken the best bits and run it into the ground. So if you do want to use a software where you’re not kinda tight into a subscription cost – I would recommend v carve but I have of yet to move to that software but it looks pretty good.  But essentially what I’m going to explain is about the next method of setting up your files with the method of probing that I demonstrated – it should be the same for both software. So I’ve created a canvas, this happens to be 600mm square. And if I go to toolpaths, I can set up the thickness of the material. You can see the material has already been set to 12. And the thing here to point out is the material z zero, and how this related toie wasetboard height is zero, the material zero height in the software should be at the bottom. There is an advantage for doing it this way and that is if I accidentally put down a material thickness that is bigger than the material I am actually cutting when I go to run my job I will start with the bit hovering above the material and it would take several passes before it plunges through. If you work with the probe method I showed previously where the zero is at the top of the material if you’ve made a mistake and cut 18mm but placed a 12mm board down you will eventually cut through your wasteboard. So there’s one very practical reason why this method of probing and setting up your files is advantages. Ok the other thing I forgot to mention was setting your origin position. So in this window here you can see your canvas size or material size, and if I click in the centre or different corners the position changes. For my CNC, the way I’ve built it, it happens to be the bottom right but depending on how you prefer to work with your machine and set up your files, you may use a different corner and if your using the previous method where you set your probe on the top of the material. I found when I first started building CNC machines, and when I use to use the x carve, because of the inherent flaws with the machine actually setting your jobs based on the centre of the material made the error proportional from either side and actually working from a corner would amplify those errors. But with my machine it’s rigid enough and accurate enough to work from one origin point which is determined by probing from a stationary tool bit probe.

This is going to be a repeatability test. What I’ve done is home the machine and moved it over my probe location, I’m going to probe and then look at the position of the z axis when that is triggered, and then repeat that to see if there’s any variation.

I’m just going to rotate the bit around so the point is on another part of the button – to see if that makes a difference.

So while that’s doing that I’m going to say the things I normally say at the end, beforehand. I’m sure if you’re still watching this until now, you must have found it interesting or you hate me. But either way, a quick note to say that I’m going to follow up this video with another one about the macros as I’ve made some changes to what I’m using and I don’t want to reedit this video, so stay tuned for that. And if you have anything to share about how you run your jobs and do tool changes, do let me know in the comments as I’m pretty sure they’re more than one way to CNC a cat.

Ok so here are some of the output I got. I done 8 cycles. And in fact I did see some variation but I also did rotate the spindle collet a little bit, and I don’t think this is something I’m going to notice especially along the z axis. The main thing is that I don’t loose steps along the y and x, because that would be a lot more noticeable. For softer material like acrylic, MDF, wisa and so on, this is absolutely fine. So there you go, you can make a touch probe with a simple momentary button.

Leave a Reply