Hello Guest it is July 28, 2021, 03:48:38 AM

Author Topic: How to get started with MSM Probing  (Read 8271 times)

0 Members and 1 Guest are viewing this topic.

How to get started with MSM Probing
« on: August 13, 2010, 07:45:40 PM »
This "how to get started" guide was written in response to the various questions from people trying probing for the first time.

The following are nice simple sequential steps to try when first experimenting with probing and MSM.

FIRST: RTFM (read the fine manual)
Things usually go much smoother if you have first read the probing chapter of the user manual.  ;)

The MSM probing routines are internally built in a layered fashion and they all live in the probing library that is installed with MSM.

We’ll start from square one and work our way up to more complicated operations. If at any point in the process, something seems off, stop and figure out what is happening ***before*** going on….

I don’t understand why the first thing people try is the center finding routine…. Well I actually do understand, it’s the same character flaw that caused me as a kid to choose for my first plastic model kit an aircraft carrier….  ;-)   thankfully, there were no space shuttle models available then.

OK, let’s get started -

1)   Probe input line - does the big green probe led light on the probing page when you trigger the probe by pushing on the probe shaft?
And the LED is off when the probe is not triggered?
Assuming these are correct, we go on...

2)   is the probing lib alive?
Use the settings-common page, Probe Ver button - this calls the probing lib, gets the lib version and displays in the line at the top of the screen. You should see a message like  "MachStdMill Probing v0.XX".
That exercises all the screen to lib software linkages etc - it just doesn't cause any motion.

3)   Let’s start with some slow but reasonable probing set up parameters.

Please set the probing input params as shown in the screen shot below - this will get us working off a common input parameter set in case of trouble.

The probe tool number does not have to be 250 - that's just what I happen to use. What is important is that whatever you have set as the probe tool number, has to be the currently mounted tool. Anything else will result in an error as MSM won't do a probe operation without the probe tool mounted. IT also won’t let you start the spindle when the probe tool is mounted (don’t ask what caused me to add that logic to MSM).
Note that I have set the "probe slow FR" parameter DRO to 0.
This disables the 2nd probing operation (see manual) - for now we want a simple, single probe operation for testing.
I also gave a fast probe rate of 10ipm – this is slow enough to be able to see and react to what is happening.

FYI – depending on the probe, slower feed rates can actually cause problems with switch bounce in the probe sequence. The symptom will be false triggering or only partial triggering of a G31 sequence.

To start , set the mach debounce interval (this the one used for the probe input filtering) to 100. This is a nice starting number. Later when all is well you can reduce this – clear down to 0 if you have a very clean, non-noisy system.

If you  see the probe touch a surface, stop and then MSM say “surface not found” and then it goes back to the operation start point – it’s probably a debounce issue. Try raising the mach debounce level to see if the problem is noise.

[Info added 8-14-2010]
The basic mach probing sequence:
1)   G31 starts, mach starts moving machine
2)   Probe input triggers; mach records the position of the probe when it was triggered
3)   Mach decelerates the probe and movement stops. Note that the stopping position is not the trigger position. The difference is “overrun”.  A bit of Overrun is expected and good – as it keeps the probe in the triggered state.
4)   Mach returns from internal G31 execution to program that issued the G31 (for the MSM probing operations, this will be a return to the code in the MSM probing library)
5)   Script looks at probe signal –
a.   If probe is not active, we ran out of distance w/o triggering the probe
b.   If probe is active, we found something and were triggered.
6)   Probing Lib gets the trigger position and does what it needs (For example sets axis zero to the face we found).
7)   Library backs off by the overrun amount (this lets the probe become un-triggered)
8)   Library back off the user defined clearance amount.

Noise on the probe input line will make this sequence not work correctly –

Example: A short noise pulse at step 2 can stop the G31 motion; but at step 5 the probe will not be in the triggered state when checked. MSM thinks nothing was found and so puts the probe back to the starting position.

Adding some Debounce may help:

Mach's debounce is really a software fix for a hardware problem.
The ideal solution is to remove the noise from the system and use a debounce of 0.
Many people either can't or don't want to expend the effort required to accomplish that.
The pragmatic approach is to lower the debug number until the problem appears, then raise it back up a little.
That leaves the issue of "How do I tell if my required debounce setting is too high"?

"Debouce" is the amount of time a signal must be continually "on" before mach will consider it as just having turned on.
Each number in the debounce DRO represents about 40usec of time (25kHz Mach: 1/25KHz = 40uSec)
A debounce of  40uSec* 4000 = 160mSec. That is a long time for a computer, it's even pretty noticeable to a human.

At 4000, the probe signal has to be on for a minimum of 160ms before mach will see it and stop the probe motion.

How fast are you probing?  Let's just pick a number for illustration:
Say you are probing at 50ipm; during the debounce interval the probe will have moved (50ipm * 160msec ) / 60 sec/min = 0.133 inches....
So the probe will travel 0.133 in past where the edge is before mach will think the probe is triggered - and then it has to decelerate and stop.....
Consider - how much tip travel does the probe have? 0.133 inches over travel could be hard on the probe -  depends on the probe design.

Same scenario with 200 debounce: 50ipm * (200*40usec) / 60 sec/min = 0.0067 inch over travel

Personally, I prefer to see a debounce of no more than a few hundred. but the real answer is whatever combination works that makes the machine run reliably.

Play with the numbers and decide what you are comfortable with.

[end added info 8-14-2010]

4)   Set the geometry for the probe tool.
Did you set the probe tool # diameter to the probe tip diameter?

As you just setting up the probe for the first time, you may hot have a TLO for the probe tool set into the tool table.
That is OK, we are going to do the first test with TLO Off anyhow.

Save the tool table (so that when you com back and do this later you still have the data in the table for the probe tool).

Use the G49 button on the tooling page to make sure TLO is off.

5)   lets try a simple X+ direction probe. Position the probe in nice clear air.

Click the X+ green arrow - it should start moving toward X+, not find an edge after the XY max distance (1.5")  and tell you there no edge was found - does it?
The probe should return to the start point after not finding an edge.

Clear the error from the probe operation- hit the "probe Op reset" button. This resets us to start a new probing operation.

6)   if that works, let's do it all again, only this time while the probe is moving trigger the probe manually (use a long pencil or stick or something to tap the probe tip for a moment  - I never tell someone to put their hands into the area where a machine is moving). This should cause the routine to think it found the surface - does this work?

You may have to try this a couple of time to get a feel for how long to keep the probe triggered manually – it’s around a 1/10 to 1/4 sec at 10ipm.
7)   if that works, try the other XY directions. for each of X+, X-, Y+ and Y- do the "let it reach max distance and return to start" test and also the "Probe and trigger with stick" test.
Do all XY directions work?
08)   if the preceding works, we know that basic line probing routines work in X and Y.
We now proceed to check out Z....    
Z max is set to 1" - confirm this.
start from a height where 1" Z travel downward should not get close to anything.
Do a Probe Z-
It should go 1", not find a surface, tell you and that, then go back to where it started.
9)   do it again, only this time use your stick/pencil to trigger the probe - does it then think it found a  Z surface?
Z Zero got set to the where you triggered the probe?

If all is well, all 3 axes are working for basic probing ops.

Let try a real probing operation….

10)   Set up something to use as a probing target. A nice rectangular block works well.
Jog the probe tip over near block, position the probe in Z so that the tip sphere is just below the top surface of the block. Back off the block a bit – say 1/2 to 3/4 inch.

Now go thru trying the X+ probe op –
It should find the block, stop, and back off of the block by the XY clearance amount.
Using the params we set up above, the gap between the probe tip and the block’s vertical surface will be 0.100”.

(If the “probe only” button is OFF), you will see that the WC zero for each axis has been set to the surface the probe found.

If all is well, now reposition and try X-, Y= and Y- directions.

All still good?

11)   Now position the probe over the top surface of the test block.
We are going to try the Z- probe.
All good? (It should be as we did this earlier, manually – this is the same test only with the block).

12)   Now you can position the probe in from the edges of the block and try the “down and over” versions of the X & Y edge operations you did before.
Do all 4 corners – all still OK?
The results will be the same, only this is easier as you don’t have to position the probe tip height by eye.

You’ve now worked thru all the X,Y and Z single axis probing operations.
13)   Now you can position the probe over the block, within step off width  of the corner  and try the corresponding corner probe operations.

All OK?

14)   Now position the probe just like for the corner cases, but click the edge arrows. MSM will do a corner find op, then move along the edge and measure the angle of the edge wrt to the axis parallel to the edge. (You may need to reduce the “edge width” parameter to be less than the width of your test block).

All OK still?

15)   Now position the probe in a circular hole, set the probe to as you did before to just below the top surface of the hole, and try the center finding double headed arrow.

16)   Now you can try the down and over version of he circle center finder.

Every thing still ok?

All is working and you have now worked thru all the basic MSM probing operations.

17)   Now go back and reduce the debounce number until you start to see problems, then set it a bit higher again. If things run a debounce of 0, cool you have a non-noisy system.
Remember that a single debounce value is used for all inputs except the index pulse (which is separate). If you needed a debounce amount for your switches, you will still need that amount to make the switches reliable.

18)   Now, if you like, set Slow probe FR to non-zero and do it all yet again.
I keep the slow probe FR either 0 (off) or about 5ipm.

19)   Now you can enter a TLO for the probe tool and do it all once more to verify that TLO and probing is also OK.

Everything still OK?

BTW, you are now also a qualified MSM probing test operation verification test center.

If in any new release, you see a problem in a probe operation, run thru this sequence again – it will tell you where a problem first occurs as the probing ops increase in complexity.

That info really helps me to help you debug a probing issue.


« Last Edit: August 14, 2010, 12:00:21 PM by DaveCVI »
Author of the MachStdMill Extensions for Mach3