Hello Guest it is March 29, 2024, 03:10:02 AM

Author Topic: Slave axis travels faster during homing on DMC-4143  (Read 8371 times)

0 Members and 1 Guest are viewing this topic.

Slave axis travels faster during homing on DMC-4143
« on: January 16, 2012, 04:10:17 PM »
I have a 3-axis CNC (gantry with slave, so actually physical 4-axis’ total) using a Galil DMC-4143 controller.  All works well except slave axis homing.  I've read all of the threads and documentation to understand (and have tried) all permutations of ‘Home Slave with Master’ in the general config and ‘Perform Axis Squaring for Slaves’ in the Galil plug-in.  But after investigating all weekend I still have a problem: the slaved axis travels *faster* than the primary axis during homing, racking the gantry.

First, ‘yes’ I have the homing speeds set to be the same in the limits/homing configuration.  I thought it was my hardware or a setting in the Galil controller. So I performed a hard reset on the DMC-4143.  But what really convinced me is that if I simply swap the primary and slave axis cables coming out the Galil controller I get the same result with the other physical axis.  It’s what’s coming out of the Galil that making the slave axis move faster.  The final clue is this: the slaved axis actually slows down to what is the prescribed speed immediately *after* the primary axis is done homing.

I’ve attached two Galil debug files.  The first one is a successful home of the y-axis -- using diagnostics screen button to just home the y-axis only.  I accomplished this (with the x-axis gantry cross member removed) by moving the slaved axis carriage further back than the primary carriage.  Thus, the primary axis reaches home first, even though the slaved axis is traveling faster.  The primary axis homes, the slaved axis slows down, reaches the switch, and homes properly.  Everything is fine … except you never could have physically done this with the gantry attached.  The second Galil debug is the carriages aligned, thus the slave arriving first because it’s moving faster, triggering a limit error in Mach.  I’ve also attached my Mach XML setup file too.  I’m using the latest V4.5 Galil plug-in and Mach VR3.043.022.

Any help appreciated!

Offline smurph

*
  • *
  •  1,544 1,544
  • "That there... that's an RV."
    • View Profile
Re: Slave axis travels faster during homing on DMC-4143
« Reply #1 on: January 16, 2012, 06:21:42 PM »
Ok..  Gantry homing is somewhat of an issue for me because I don't have a machine with a gantry.  But here goes anyway.

First, in the general config, don't home slave with master.  In other words, we want Mach to just home the master axis.  The slave axis should move with the master as the Galil has them geared together.
Second, in the Galil plugin, select "perform axis squaring".

What this should do is home the master axis while moving the slave axis along with it.  Once the mater is homed, the plugin will home the slave if axis squaring is selected (it should be near the home switch at this point anyway).

So try that out and post the debug file if you continue having problems.

Below is what your debug file should look like.
Code: [Select]
FL 2147483647,2147483647,2147483647,2147483647               Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
BL -2147483648,-2147483648,-2147483648,-2147483648           Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
AC ,250000                                                   Slots=000  Response=":"  <HomeAxis(1)>
DC ,67107840                                                 Slots=000  Response=":"  <HomeAxis(1)>
JGB=8332                                                     Slots=000  Response=":"  <HomeAxis(1)>
BG B                                                         Slots=000  Response=":"  <HomeAxis(1)>
JGB=0                                                        Slots=000  Response=":"  <Update() FINDSWITCH>
ST B                                                         Slots=000  Response=":"  <Update() FINDSWITCH>
JGB=-833                                                     Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
BG B                                                         Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
JGB=0                                                        Slots=000  Response=":"  <Update() ROUGHHOME>
ST B                                                         Slots=000  Response=":"  <Update() ROUGHHOME>
JGB=0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
ST B                                                         Slots=000  Response=":"  <Update() SYNCSTATE>
AC ,0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
DC ,0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
DP ,0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
SH B                                                         Slots=000  Response=":"  <DoHoming() SYNCSTATE>
GM ,,,0                                                      Slots=000  Response=":"  <Slave(1, 3, false)>             //Uncouple the slave from the master
GR ,,,0                                                      Slots=000  Response=":"  <Slave(1, 3, false)>             //Uncouple the slave from the master
FL 2147483647,2147483647,2147483647,2147483647               Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
BL -2147483648,-2147483648,-2147483648,-2147483648           Slots=000  Response=":"  <DisableSoftLimits() gState.nAixs = 4>
AC ,,,250000                                                 Slots=000  Response=":"  <HomeAxis(3)>
DC ,,,67107840                                               Slots=000  Response=":"  <HomeAxis(3)>
JGD=8332                                                     Slots=000  Response=":"  <HomeAxis(3)>
BG D                                                         Slots=000  Response=":"  <HomeAxis(3)>
JGD=0                                                        Slots=000  Response=":"  <Update() FINDSWITCH>
ST D                                                         Slots=000  Response=":"  <Update() FINDSWITCH>
JGD=-833                                                     Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
BG D                                                         Slots=000  Response=":"  <Update() MOVEOFFSWITCH>
JGD=0                                                        Slots=000  Response=":"  <Update() ROUGHHOME>
ST D                                                         Slots=000  Response=":"  <Update() ROUGHHOME>
JGD=0                                                        Slots=000  Response=":"  <Update() SYNCSTATE>
ST D                                                         Slots=000  Response=":"  <Update() SYNCSTATE>
AC ,,,0                                                      Slots=000  Response=":"  <Update() SYNCSTATE>
DC ,,,0                                                      Slots=000  Response=":"  <Update() SYNCSTATE>
DP ,,,0                                                      Slots=000  Response=":"  <Update() SYNCSTATE>
SH D                                                         Slots=000  Response=":"  <DoHoming() SYNCSTATE>
CS S                                                         Slots=000  Response=":"  <DoHoming() NO MORE HOMES>
GA ,,,B                                                      Slots=000  Response=":"  <Slave(1, 3, true)>                     // re-couple the slave to the master
GR ,,,1                                                      Slots=000  Response=":"  <Slave(1, 3, true)>
GM ,,,1                                                      Slots=000  Response=":"  <Slave(1, 3, true)>
Re: Slave axis travels faster during homing on DMC-4143
« Reply #2 on: January 16, 2012, 11:41:58 PM »
Thanks for the quick response.  That's how it is currently configured:

1. ‘Home Slave with Master’ in the general configuration - NOT CHECKED
2. ‘Perform Axis Squaring for Slaves’ in Galil plugin - CHECKED

I downloaded the latest Galil plugin, but the result is the same: slaved axis is traveling faster than primary axis and gets a limit error when it hits the switches.  BTW -- I have the conventional setup of three switches per axis of limit +, limit -, and home.  I've tested, using Galil Smarterm, that the limits are in the correct orientation for the Galil FLS, RLS (forward/reverse limit) convention and also confirmed in Mach limit +, limit -, and home.  Its worth noting that all switches and homing work fine if I treat it as a single axis.

See attached debug file captured using last plugin with above settings.  Thanks in advance for your help!
Re: Slave axis travels faster during homing on DMC-4143
« Reply #3 on: February 08, 2012, 05:21:55 PM »
A couple people pinged me offline, so here's an update for anyone tracking it.  This is a known issue, reported by other users:

http://www.machsupport.com/forum/index.php/topic,17216.0.html

Steve explained to me what is going on: "What happens is that Mach sends a Home down to the plugin for the master axis and immediately sends a home to the slave axis.  But, and here is the kicker, the Galil has the axes geared together already.  So the slave axis is moving with the master at 1:1 plus the slave is getting a jog command (as a result of the second home operation) which effectively doubles the speed of the slave axis."

The home slave with master check box doesn't seem to have any effect on the issue.  Hoping we'll get a plugin update from Steve when he has time to address it.  If anyone else has had success in homing a Gantry with Mach & Galil, please respond to this thread.  Thanks!
Re: Slave axis travels faster during homing on DMC-4143
« Reply #4 on: March 24, 2013, 01:10:46 AM »
HI,

Just wondering if there has been any updates on this slave axis homming issue, has the plugin been fixed/tested/rectified in regards to this?

I plan on running a machine with a slaved axis with an optima controller, but this kind of thread makes me worried, as i know that will be a very important feature for me.

Thanks,
cheech