Welcome, Guest. Please login or register.
Did you miss your activation email?
May 28, 2012, 10:50:01 AM

Login with username, password and session length
Search:     Advanced search
* Home Help Search Calendar Links Login Register
+  Machsupport Forum
|-+  Third party software and hardware support forums.
| |-+  Galil (Moderators: smurph, kcrouch)
| | |-+  Slave axis travels faster during homing on DMC-4143
Pages: 1   Go Down
Print
Author Topic: Slave axis travels faster during homing on DMC-4143  (Read 296 times)
0 Members and 2 Guests are viewing this topic.
Instance
Active Member

Offline Offline

Posts: 16


View Profile
« 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!

* Galil1Debug.txt (11.59 KB - downloaded 20 times.)
* Galil2Debug.txt (8.74 KB - downloaded 14 times.)
* Mach3 Galil Slave Problem XML.xml (151.39 KB - downloaded 13 times.)
Logged
smurph
Active Member

Offline Offline

Posts: 244


View Profile
« 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:
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)>
Logged
Instance
Active Member

Offline Offline

Posts: 16


View Profile
« 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!

* Galil3Debug.txt (6.74 KB - downloaded 16 times.)
Logged
Instance
Active Member

Offline Offline

Posts: 16


View Profile
« 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!
Logged
Pages: 1   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!