Hello Guest it is March 29, 2024, 05:47:43 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - DaveCVI

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 »
261
Clicking "probing ver" (on the settings-common page) is not required between probing operations.
If a prior operation resulted in an error, clicking "Probe Op Reset" (on the probing page) resets the error indicators.

Dave

262
he, he, Really, a 3' probe?
I assume you meant to type 3" - but I chuckled over the image it conjured up.    :o

BTW- check also that TLO value - if you are setting it by touch off, I'd expect that to be a negative value.

There are several things you could be seeing - your post caused me to extend a little probing "how to guide" I had partially written in response to questions from others. I have now posted the guide so that others looking for a series of debugging steps to follow will be able to find it easily.

Please read the new sticky post I put up here
http://www.machsupport.com/forum/index.php/topic,15646.0.html

Please work thru the steps in the "how to guide" and let me know what you find.
We can then work from there.

Dave



263
CVI MachStdMill (MSM) / How to get started with MSM Probing
« on: August 13, 2010, 07:45:40 PM »
Hi,
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?

Great!
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.

Dave


264
are you using a PP or a SS?
Some bugs with probing and mach and a SS have been identified that make things screwy when using a SS - see the beta 5 relerase notes.

FYI - I've taken the liberty of pointing several of the Mach 3 hardware vendors to this thread as an example of the need for a "probe input expansion" product.

As more people want to add multiple digitizing devices, I expect more people to want to just buy an accessory to solve the need.

Dave


265
Are you wondering about where to get the +5v shown in the manual sample schematic?

Since the entire circuit sits between the input devices and the BoB inputs, the +5v and the Gnd for the schematic are those of the "machine side" of the BoB (not the PP side of the BoB).

The 74LS06 IC is an open collector device. It will not try to apply an input voltage to the input pin of the BoB - the Open collector device looks like a normally open switch to the input pin.

The sample circuit essentially puts 3 inputs in parallel. The probe input (the design assumes the probe is active high TTL levels) and two active low touch plates (N.O. probe plates) are combined into a single "wire-or'ed" result which is feed to the BoB input pin.

Please realize the schematic is a sample, intended to convey the logic needed. While it's actually the circuit I used on my machine, it is not a 100% complete circuit diagram. For example the schematic does not show things like a +5 filter network on the incoming voltage supply lines, or decoupling caps at the IC Vcc supply pin etc...

That level of detail would lead us back to "have a competent electronics guy whip one up for you".

Dave

266
CVI MachStdMill (MSM) / Re: TLO Woes
« on: August 13, 2010, 01:36:19 PM »
Cool! I'm happy the explanation helped - I was a bit worried that it would only confuse things further....

Dave


267
Hi,
I'll try to give a bit of explanation, but it will probably be incomplete....

This topic is one where, if you understand TTL electronics, the schematic in the manual will be pretty obvious (in which case you don't need to be given a schematic to follow). If you don't speak TTL logic, the schematic is not of much help....  :(

I kind of knew when I included the schematic that I was in a damned if I do, damned if I don't situation...    :-\

Here are the core concepts:
Most BoBs have a resister on the board to pull an unused input high. This prevents floating inputs from being triggered by noise etc.
If you connect a normally open switch from the BoB input to gnd, you have created an "active low input" sensor.
Push the switch, the input line is shorted to ground, mach sees the input go active (active low). Release the switch, the resister pulls the input back high and mach see the input go inactive (it's high and the input is "active low").

If you connect 2 or three switches **in parallel*** to the input, any one of the switches will create the active low input signal to mach.

In electronics land this is called "wried-or'ing" inputs. The name comes from boolean logic: the input state = Switch 1 OR switch 2 OR .... switch N closed. 

A little thinking about this will hopefully result in understanding why this only works for active low input devices in parallel. Think about what happens if the switches were normally closed instead of normally open...

This also does not work for combination of active high and active low devices. To make a combination work as desired, what's needed to get touch plates and probes all on the same input pin. The different devices have to converted to all present active low TTL signals to the input pin. The schematic in the manual shows a way to take one acitive high device (a typical probe) and two active low devices (the touch plates) and connect all three to the probe input pin (the schematic is for a Bob that uses TTL input voltage levels).

Hopefully, this helps. If not, the choices are to
1) start learning more about TTL electronics (before doing somethign that "let's the magic smoke out"  of your BoB or other electronics, or
2) Find someone that knows enough electronics to build you an interface card (pehaps similar to the schematic in the manual), or
3) call your favorite BoB vendor and tell them there is a market opportunity if they include this feature in a BoB...  ;)

Dave





268
CVI MachStdMill (MSM) / Re: TLO Woes
« on: August 13, 2010, 12:49:59 PM »
Eric,
Please don't let that be your last post.
I just want to encourage people to always test a suspected symptom against 1024 as a first test for "is it a MSM issue or a mach  issue?".

Communication via email/posts can easily go off the rails - my apologies if it sounded as if don't want the questions. I really don't mean to discourage anyone from posting!  When I get rushed for time, my writing tends to get a bit terse - which ends up sounding harsher in writing than I meant it to.

If the question is not about an MSM bug issue, I'll usually still try to answer as I have time - it's just that my response time may be slower for general questions than for specific MSM issues.

Please do stay around. Having done the MSM software development, I am enjoying seeing how people use it.
No matter how hard I tried to make the interface intuitive, different people try different things that I would have thought of.
I like learning what people try to do - and it helps me find ways to make MSM better.

Re G43: What the concept of TLOs do is allow a gcode program to be written without the need to know the dimensions of the tool at the time the program is written. The programmer does not need to worry about if the tool crib has only 1" long or 2" long or other length 1/2" diameter end mill.

This means that before a gcode program is run, the operator has to teach teach the control the dimensions of the available tools. When the program is run, the control (Mach) uses the dimensions supplied by the operator, as called for by the program, to run the program.  Commercial controls have 2 sets of registers: one set for lengths (H registers) and one set for diameters (D registers).  The registers are accessed by number. Usually there are as many D and H registers as there are tool numbers (but this is not a gcode language requirement). The operator puts TLO values in H registers and Diameters in D registers.

A program can have the control (mach) adjust the position of the spindle vertically so that the tip of the tool is where the program wants it. Doing this is called Tool length compensation. Tool length compensation is turned on with G43 (there are other Tool comp gcode that are very seldom used, I'll ignore them for now) and off with G49.

So, when the gcode program says "G43", what TLO value should be used? That is determined by the H word. Think of the H# as a parameter to the G43 command. To change the amount TLO being applied, you should use G43 H#.  
An analogy might be a navigator giving a driver directions: Substitute "Turn" for G43 and "Left or Right" for H. If you tell a driver "Turn", they are likely to be much more confused than if you say "Turn Left".

The reason for a G43 after each tool change, is that there is a new tool mounted in the spindle by the tool change. Now the control needs to know what TLO value to use for the tool. Thus a G43 H# is required. Without that, the control does not know how to adjust the spindle Z position to put the tool tip at the desired WC Z position.

Now I'm going to confuse you a bit by explaining what Mach3 V3 and earlier does that is, well, frankly, screwed up - and has been fixed in V4...

Now, then, here is a key concept: Gcode does not require that the TLO for tool #5 be in H register #5.

Gcode lets you put any TLO, for any tool, in any H register.
it's not uncommon for multiple TLO values to be used with a single tool. For example, think of a slotting saw on a vertical mill - some operations will want to position the saw vie the upper face of the saw , and others via the lower face of the saw. This is done by changing the H register that the TLO value is taken from.

Mach will let you say G43 in a program without a H word in the block (Line) of code.
I believe that should be an gcode syntax error - because it's an ambiguous, incomplete preparatory command.

What M3V3 does is **assume** that the H# is implied and the implied H3=current T#. So if T7 is mounted, mach assumes the value is in "H7" and uses that TLO value.
Back to the driver analogy: It's the equivalent of saying "Turn!" and mach goes left.... even if the navigator meant to go right....

This is why you may see Mach3 gcode programs with only G43 on a line. It works, sometimes, and only in Mach3, but it is not good gcode programming practice to do this.

This implicit "help" from Mach may sound nice at first glance.. but the devil is in the details....

This has the effect of converting a **common convention** (many gcode programs use H#=T# as it's simple and easy to remember) into a  GCode syntax rule. This effectively change the definition of what the GCode command does.
What happens if you run a program where the gcode programmer used a convention where the TLO for T#n is in H#n+10?

FYI - Mach3 V4 has fully implemented D and H registers. The V4 version of the MSM tooling page has D and H register DROs.
Brain also tells me he used the Peter Smid book as the reference spec for how the implementation will work. This is why I recommend reading Smid - it will get one on the path to stay out of trouble then Mach3 V4 is released.

I'm hoping that this helps explain why I say that it's normal for each tool change to be followed by G43 H#.

Dave

Hi Dave

Sorry for being such a bother. This will be my final post. Zeroed to top of part means that Tool 1 using a touch plate to set the TLO to the top of part by pushing the  Measure TLO button. Same procedure for Tool 2. I guess I don't understand the useage of the G43 command. I'll do some reading to educate my self. I didn't realize you had to had to use G43 after every tool change to apply the tool offset. I don't get the "H" command at all. I'll follow your advice and check out the CNC cook book site.
Thanks for the help.

Eric

269
CVI MachStdMill (MSM) / Re: MSM & .016 Ok so far.
« on: August 12, 2010, 07:15:36 PM »
OF course MSM is bug free!
There are no bugs, just perhaps an inadequately documented feature... ;D

Dave

270
CVI MachStdMill (MSM) / Re: TLO Woes
« on: August 12, 2010, 06:14:06 PM »
Hi Eric,

I really don't mean to be unhelpful, but this doesn't sound (yet) like an MSM issue....  ???
So the first comment is really a question:
Is MSM doing something with this Gcode that is different from what you experience when running the same gcode, with the same procedural steps, when using the 1024 screens?

I'm honestly not trying to be rude, it's just that the available time to support MSM comes from a limited amount of volunteer time that I have available - and that forces me to be sure that the topics I expend time on are indeed MSM problems.

OK, now that we have that out of the way.... ;)
Bear with me while I get a bit pedantic....

When you say "I zeroed Tool 1 and Tool 2 to top of part", I need to dissect that statement in order to understand it as it appears to me to imply a mixture of different concepts.

What does that phrase mean - precisely? what are you doing?
1) what TLO technique are you using (there are several described in the manual)?
Touching Tools to a part's top surface to set TLOs?

2) What does "..zeroed tool 1..." mean? Is it that you

a) touched the tip of tool #1 to the top of the part/stock, and then on the tooling page clicked "Set G-BLk TLO"?
(that action will set a TLO value for the currently mounted tool)

or does it mean

b) you touched the tip of tool #1 to the top of a part and then (on the WC OFfset - touch off page), clicked "Set Z Zero"?
(that action will set the WC Z Zero location). If this is the action you are doing, you are moving the WC Z Zero each time you do it... probably not what you intended to be doing.

or does it mean something else?

I'm asking because, when talking about "setting a zero", one is (well at least I am) generally referring to setting the zero location for a WC axis.   Thus I'm puzzled as I don't "Zero a tool", I set the TLO value for a tool.
Sorry, but getting to a common vocabulary is half the battle in doing tech topics over email or forum posts.

When Gcode does a tool change, the tool gets mounted in the spindle. The tool change action does not magically cause TLOS to be either applied or not applied.

The application of TLO values is done via Gcodes (the buttons in MSM literally issue GCode - that's one reason they are labeled G43 and G49 - makes it pretty obvious what they do).
In particular G43 typically turns on TLO compensation and G49 turns it off.
G43 is the g-code to tell a control to apply tool length offsets. Until you tell the control to use TLOs, it does not apply them.

BTW - It is not good form to program G43 by itself as that only gives the control part of the info it needs to apply TLOs. The G43 says "use a tool offset" - but what TLO value? Where is it? How does the control find the TLO value?
The actual offset value to be used has to be specified - the H word tells the control what offset value to use.

A common convention in gcode programs is to use the H# = the T#.
Mach V3 usually assumes H#=T# - but it not good practice to rely on that action (in fact doing so will get you in trouble with Mach3 V4 when Mach should finally, correctly handle H registers).

So, when I see G43, I automatically start looking for the H# that goes with it.... no H reg usually means "bad gocde" to me.

The typical 2 blocks (Lines) of code to change a tool and apply offset for the new tool is:
T1 M6   (Set next tool = #1, change tool to next tool#)
G43 H1   (turn on TLOs, and the TLO value to apply is in H register 1)

A really good book for these topics is Peter Smid's "CNC Programming Handbook".

Dave

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 »