559,610 active members*
3,537 visitors online*
Register for free
Login
Results 1 to 6 of 6
  1. #1
    Registered
    Join Date
    Jan 2007
    Posts
    92

    Mach3 Probing G31 problem solved partially

    For some reason Mach3 G31 is not working as intended. This seems to be true when using G31 in a macro but I have it working when I run a GCoce program. I was fighting a strange problem for a while, the program would appear to work correctly for a hand held touchpad, but not for a rigidly mounted touchpad. My problem had to do with my system configuration.
    The problem was that Mach3 stops moving and reads the Z distance into location 2002 when the probe makes contact and then breaks contact instead of when contact is made. In other words it was triggering on the positive going edge of a negative pulse if that makes sense. For a handheld touchpad it would make and break contact quite easily, but a rigid touchpad would only make contact, and if driven further the probe makes better contact, hence no positive edge.
    First let me describr how I have my system configured. I am using a Galil DMC-1750 Optima motion controller with the Galil 4.6 plugin to interface Mach3 to the Optima controller. This is connected to servo motor amplifiers driving servo motors on 4 axes. The Optima board contains a powerful processor that handles all limit switches, timing, pulse generation, moves, acceleration, etc. All the PC needs to do is translate Gcode into a text code Galil can understand and display the encoder positions. This eliminates the problems with Windows and anemic PC's. In fact I am running my system with Windows 2000 on an ancient PC, largely because it has an ISA bus slot for the Optima board. The PC is so old it will not accept Windows XP or newer.
    In the Optima board there exists a high speed latch circuit that applies a 5 volt signal through a 10K resistor to my touchpad. When a G31 is initiated, the Galil plugin arms the latch, and when the moving grounded probe makes contact it senses either a positive or negative edge, depending on configuration. When the edge is detected the Optima board reads the encoder position and reports this to Mach3 through the Galil plugin, storing the value in Var Address 2002.

    Both Mach3 and the Optima board have configuration routines, that need to be done separately.. I had the Optima board set for active high and Mach3 set for active low which explained the edge trigger problem. Now I have the Optima board set for Active Low. For some reason I need to configure Mach3 Probe Active High and assign it to Com 1 pin 27 to function with the Galil Plugin.

    This seems to cause problems with using Macros for Auto Tool Zero. When running a macro with Active High configuration, the Digitize LED is off before the probe touches the pad, but the probe never moves negative toward the pad. It just sets zero in the starting location and completes the macro as if it actually worked.
    Setting Probe to Active low turns op the Digitize LED prior to prior to movement, and the macro fails on this line of code
    If GetOemLED (825) = 0 Then
    since the value returned is not zero. Changing the command to
    If GetOemLED (825) <> 0 Then
    dies not work, it causes a strange error.

    Running from GCode like a normal program does work with Probe Active High using this code. It does require some operator intervention to zero the Z axis before and after touching the pad. I do not know how to send a GCode command to perform that task. I start with my end mill (the probe) about 1/2 inch above my vice jaws. The touchpad is close to the same height as the vice jaws, and after running the Auto Zero Tool Z program, I run a simple macro set up on the Auto Zero Tool button to compensate for this small error of about 0.010".

    %
    (Auto Zero Tool Z)

    G20 G40 G49 G54 G80 G90 G91.1
    G1 X 8.5 Y -1.5;move to touch pad

    (zero Z DRO, Click cycle start to continue)
    M0

    G31 Z-1 F4

    #100=#2002;get exact contact point
    G1 Z [#100] F.1

    (zero Z DRO, Click cycle start to continue)
    M0
    Z1 F20;raise tool
    M30
    %

    Macro on Auto Tool Zero button

    Message "(Compensating for Z-Height)"

    Call SetDRO (2, 0.490) 'Probe is at Z=0.500, set actual value here
    Sleep 200 'Pause to allow DRO to update

  2. #2
    Member
    Join Date
    Nov 2013
    Posts
    2072

    Re: Mach3 Probing G31 problem solved partially

    Hi,
    I use Mach4 now and have done for years, and before that Mach3. G31 works the same in both.

    When a g31 is called the axis moves at the programmed feed rate until the probe circuit detects a contact. The the motion controller decelerates the axis to a stop. Once the axis is stopped that is
    when the value (position) of the axis is latched into the register.

    Many people seem to think that it latches the position AT the contact event, or perhaps should latch the position at the contact event but it does not. It in fact latches the position when stationary.
    That implies a certain amount of overrun, and that is true, its unavoidable. It is for this reason that you are commended to probe at a slow speed to minimise the overrun.

    For example my first mini-mill had a max acceleration of 375mm/s2. When probing at 100mm/min I could expect 4.5um overrun, which I think is highly acceptable.
    My ne mill has an acceleration of 1500mm/s2 and from a probing speed of 100mm/min results in an overrun of 0.92um.....so damn all overrun!!

    Clearly the higher the potential acceleration of your machine the less overrun you would expect...but you can't eliminate it.

    Craig

  3. #3
    Registered
    Join Date
    Jan 2007
    Posts
    92

    Re: Mach3 Probing G31 problem solved partially

    That may all be true with Mach3 using the parallel port. However according to Galil documentation (DMC1700-1800 User Guide) the Optima board captures the encoder position within 25 micro seconds of contact. From the users guide:

    "Often it is desirable to capture the position precisely for registration applications. The DMC-
    1700/1800 provides a position latch feature. This feature allows the position of the main or auxiliary
    encoders of X,Y,Z or W to be captured within 25 microseconds of an external low input signal. The
    general inputs 1 through 4 and 9 thru 12 correspond to each axis."

    This encoder position is reported to Mach3 by the plugin. The accuracy of the location will be a function of the speed of course. For my system I move at a rate of 4 inches per minute, or 0.066 inches per second. Thus a delay of 25 microseconds will result in an error of positon of 0.000000066 inches, which is far better than Mach3 can resolve. .
    This is another advantage of using a dedicated processor to handle the motion, but it does make the configuration a bit more messy. All PID motor tuning is also handled by the Optima board, and must be done outside Mach3.

  4. #4
    Member
    Join Date
    Jan 2005
    Posts
    14441

    Re: Mach3 Probing G31 problem solved partially

    Quote Originally Posted by bbutcher85710 View Post
    That may all be true with Mach3 using the parallel port. However according to Galil documentation (DMC1700-1800 User Guide) the Optima board captures the encoder position within 25 micro seconds of contact. From the users guide:

    "Often it is desirable to capture the position precisely for registration applications. The DMC-
    1700/1800 provides a position latch feature. This feature allows the position of the main or auxiliary
    encoders of X,Y,Z or W to be captured within 25 microseconds of an external low input signal. The
    general inputs 1 through 4 and 9 thru 12 correspond to each axis."

    This encoder position is reported to Mach3 by the plugin. The accuracy of the location will be a function of the speed of course. For my system I move at a rate of 4 inches per minute, or 0.066 inches per second. Thus a delay of 25 microseconds will result in an error of positon of 0.000000066 inches, which is far better than Mach3 can resolve. .
    This is another advantage of using a dedicated processor to handle the motion, but it does make the configuration a bit more messy. All PID motor tuning is also handled by the Optima board, and must be done outside Mach3.
    Mach3 does not work well with Galil there are many problems with it, Mach4 I believe has a plugin for the Galil but don't know how well it works
    Mactec54

  5. #5
    Registered
    Join Date
    Jan 2007
    Posts
    92

    Re: Mach3 Probing G31 problem solved partially

    I don't know why you say Mach3 does not work well with Galil boards. I have used my system for 14 years with good success. It does take some work to get it all configured correctly and the servo motors tuned. As I understand Mach4 will not work with the Galil Optima series boards, but requires the more expensive Ethernet boards. As an example ow what can be done with my system, here are photos of a few of the parts I fabricated in the past month or two.

    Attachment 483424

    Attachment 483426

  6. #6
    Member
    Join Date
    Jan 2005
    Posts
    14441

    Re: Mach3 Probing G31 problem solved partially

    Quote Originally Posted by bbutcher85710 View Post
    I don't know why you say Mach3 does not work well with Galil boards. I have used my system for 14 years with good success. It does take some work to get it all configured correctly and the servo motors tuned. As I understand Mach4 will not work with the Galil Optima series boards, but requires the more expensive Ethernet boards. As an example ow what can be done with my system, here are photos of a few of the parts I fabricated in the past month or two.

    Attachment 483424

    Attachment 483426
    I know the guy that worked for Galil that made the plugin you are using; he also made the plugin for the Galil, and Mach4 I worked as a Galil installer so know the two do not work well together, yes, it can work for very basic cnc control, there are many other controls now that do a much better job and simple to setup
    Mactec54

Similar Threads

  1. KFLOP DRIVEN MACH3: DIAGNOSTIC PROBE LIGHT WORKS, NO G31 RESPONSE
    By toolbag33 in forum Mach Software (ArtSoft software)
    Replies: 0
    Last Post: 04-24-2018, 03:09 AM
  2. Replies: 4
    Last Post: 03-21-2018, 10:02 PM
  3. Looking for assistance with... :PARTIALLY SOLVED!
    By Ergelbak in forum Chinese Machines
    Replies: 45
    Last Post: 08-18-2017, 01:49 AM
  4. G31 Probing and SafeMode
    By vmax549 in forum UCCNC Control Software
    Replies: 4
    Last Post: 08-18-2016, 02:59 PM
  5. X/Y probing macro - G31 code trouble
    By Lozzy in forum Mach Wizards, Macros, & Addons
    Replies: 8
    Last Post: 10-15-2014, 06:27 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •