Hello Guest it is January 28, 2022, 06:15:44 PM

Author Topic: Galil Slave Axis  (Read 19390 times)

0 Members and 1 Guest are viewing this topic.

Galil Slave Axis
« on: March 19, 2013, 04:28:32 PM »
Could someone please write a concise set of instructions how to make a Galil W axis slave to the X axis.  The configure slave does not work.  I found a couple of threads that mentioned using gantry mode directly in the Galil control, but the MPG won't work for that axis.  So far, I am less than impressed with the Galil hardware or the Mach 3 Galil plugins V 4.4 or 4.5.  I have been trying for days to make this work.

At least axis slave worked in the G100 plugin.

Offline smurph

*
  • *
  •  1,475 1,475
  • "That there... that's an RV."
    • View Profile
Re: Galil Slave Axis
« Reply #1 on: March 25, 2013, 12:47:31 AM »
Damn dude!  You have a funny way of asking for help.  Complain and bash.  

The Galil plugin has nothing to do with the quality of Mach or the Galil hardware.  The Galil plugin is not sold by Mach.  It is a community effort.  The source code is available, all you have to do is ask.  The Galil plugin is free.  Others have great results with it.  Your mileage may vary.

Care to re-phrase your question?  BTW, I am one of the authors of the Galil plugin that you are less than impressed with.  

Steve
Re: Galil Slave Axis
« Reply #2 on: March 25, 2013, 01:36:50 AM »
I am very sorry for my outburst.  I was having a very bad day, or series of bad days.

I can't get any output for a slave axis using stepper motors.  I select a slave axis under config > slave, and nothing happens.  I know that the axis is hooked up properly because I can move it using the MDI screen or by g code.  I saw several posts relating to slave axis that lead me to think that the slave/gantry will not work with the galil plug-in.
Could you please enlighten me?

Thanks, and again, my apologies.

Offline smurph

*
  • *
  •  1,475 1,475
  • "That there... that's an RV."
    • View Profile
Re: Galil Slave Axis
« Reply #3 on: March 25, 2013, 04:28:52 AM »
Ok, first off I need some more information.  What model controller do you have?  This can make a BIG difference.  What ICM are you using on the Galil?  Also, you mentioned stepper motors and that begs the question of why you are using a Galil?  A Galil is a VERY complex controller that is more suited to take advantage of servos.  It can use steppers, but unless you are also using the Galil micro stepping drivers, it tends to be rather course.  An Ethernet Smooth Stepper would be a far more efficient stepper controller.

Also, while the Galil can use steppers, the plugin was not written with them in mind.  The plugin was written to give Mach the ability to run servos.  It may not do the right thing for slaving step motors.  I have never tried it.  So tell me what all you have and what you plan to do with it and I will do some source code and manual reading to see if it can be done.

Steve
Re: Galil Slave Axis
« Reply #4 on: March 25, 2013, 09:55:56 PM »
Thanks for the reply.  I have two controllers, DMC-1760 and a DMC-2182.  I have both ICM 1900 and ICM 2900.  I am using Compumotor OEM 650 microstepping drives.  The reason that I went this route is I got bitten twice in the G100 fiasco, so I figured that I would invest in a controller that could do it all.  From what I have read about the smooth stepper, it seems to be somewhat of a vaporware product with a lot of promises for development at later date.  Been there, done that.  Since I have already invested in stepper motors and drives, I decided to go ahead and use them.  Servo motors and drives seem to be somewhat hard to find and very high priced when you do find them.  I am going to use one setup on a 3 axis mill and the other on a plasma table.  The plasma table is the one which will need the slave/gantry setup.
Re: Galil Slave Axis
« Reply #5 on: March 27, 2013, 09:43:46 AM »
I do too intend to use a Galil with stepper motors in a 4 axis setup with a slaved x axis.

The reason why I want to use the Galil is the quality of the Trajectory Planner. I Intend to use the Linear Interpolation smoothing options to create an Scurve for accelerations and decelerations. The reason for that is that the machine will have a rather heavy gantry, at around 100KG.  The 2 motors moving this mass will be (2x) nema34 ~80Kgf/cm2 reduced at 5:1. Stepper drives are the beautiful digital 7amp Leadshines.

I have tried mach3 over and over and the Trajectory Planner just doesn't do a great job on 3D Gcode at high speeds ( up to 15000mm/m), the decelarations a always jerky... It's not the same rate as the accelerations. And I will risk saying that it also doesn't follow the path accurately, as it creates out of level lines on the part, depending on which direction the x axis is traveling.

As I have seen a very similar machine (with servos) running a DMC 2133 with stunning results, I decided the Galil was the way to go. Just smooth motion. And even toolpath marks on the part.

I do feel a bit concerned thou, as I have read in another thread that the Galil Plugin doesn't work well with homming the Slaved axis, apparently the slaved axis homes at twice the speed!!?... thread is here: http://www.machsupport.com/forum/index.php/topic,20596.0.html

Dear smurph, It would be simply great if you could help us out on this one.. thanks for the great support and great work...

Regards,
cheech

Offline smurph

*
  • *
  •  1,475 1,475
  • "That there... that's an RV."
    • View Profile
Re: Galil Slave Axis
« Reply #6 on: March 27, 2013, 02:17:41 PM »
The ESS works fine.  I have one right here and it does a fine job.  The nice thing about it is that it is able to handle fractional steps.  The Galil cannot, hence my comment about the Galil running steppers being course.  The ESS is definitely smoother.  And unlike the G100, it works.  :)

However, the Galil has a particularly nice advantage of being able to also run programs at the same time it is running motion.  THAT, is what makes it a very powerful motion controller.

The 1760 will require the Smart Term drivers.  And there is no support for that controller in any of the newer Galil drivers (Galil Tools/Galil Suite).  So you will be relegated to using the 4.4 version of the plugin, which is ancient.  Getting things working with that code base is going to be a real challenge.  :(

The 2182 is a different story.  Ethernet.  It requires no drivers from Galil as it is just using the drivers that come with Windows.  And it can use the newer 4.5 plugin code base.  That is what we may be able to work with.


Cheech,

I hate to tell you, but we turn the trajectory planner on the Galil off in the plugin.  Meaning we don't use it.  We use Mach's trajectory planner.  We can/do use linear interpolation on the Galil, but we set the vector accel so high as to effectively turn it of.  In other words, we tell the Galil to do what Mach says.  Mach sends the same trajectory to the Galil running servos as it does to the parallel port or any other motion controller for that matter.  So if you are seeing a problem with trajectory, then it is going to be something else other than Mach (steppers? closed loop? controller?).

I regularly machine aluminum parts at 60 IPM (~1500mm/m) and my rapids are 500 IPM (12700mm/m) on a table that weighs 832 lbs (377kg) with my Mach3/Galil controlled Matsuura mill.  It is, as you say, stunning.  There is a difference between steppers and servos.  There is a reason servos cost more.  You may find that if you want that kind of performance, you may need to get off of the stepper train. 

Now, I confess to being a bit of a servo snob.  :)  There is a roll for steppers and people do build quality machines with them.  I can't though.  I have tried.  Maybe I just don't know what I'm doing with steppers. 

Also, the difference between steppers and servos could not be more polar opposites.  Steppers have lots of holding power where servos are weak in that area.  Servos have much more power as the RPMs increase and thus are better for accelerating and decelerating a load smoothly.  So if you want smooth accel/decel and high speed, servos are the way to go.  Not saying it can't be done with steppers, just that it just fits a servo system better/easier. 

Having an ESS here to play with, and tons of Galils as well, I can honestly say that if you are running stepper motors you will most likely find the ESS to be a better fit.  It is way smoother.  It is not just a guess.  I know this to be true.  There is a reason "smooth" is in the name.  The Galil just can't run the steppers like the ESS can.  You can hear and feel the difference. 

We are working on the code for the gantry homing problem.  I don't have a machine with a gantry, so it is a lot of trial and error.  And I don't have a lot of time these days.  But I think we have the problem solved.  I'll post up a link to a test plugin for people to try.

Steve
Re: Galil Slave Axis
« Reply #7 on: March 28, 2013, 06:19:53 AM »
Dear Steve,

Even after adjusting the KS value (stepper smoothing, low pass filter) the pulse train from the Galil is not as good as the Smooth Stepper? Are you sure, sure? Because if i read this paper right (http://www.galilmc.com/support/appnotes/optima/note2446.pdf) the galil lets you make the pulse train uniform. (But i don't know about Fractional Steps, as you mention, what's that?)

Another Bummer is to hear that you guys are not taking advantage of the "Scurve" accel/decel that the galil card can do.. And If you allow me to add... that's another grand advantage over the BangBang Trajectory Planner mach3 uses. That's all i dream with, jerk free motion.

I have tried Tempest, it almost works... but it is kind of funky for 3d code, specially when it sees sections of G1 segments with varied lengths... it starts to stutter. Jerk free stutter but its annoying. And needless to say... It's unfinished business.... Even the Hold button doesn't work.

On mach version R3.043.022 i had Brian (I think i annoyed him a bit) make the acceleration be equal to de deceleration during G1. But it still was not great, still get the trapezoid profile. And it still gives me grief on another case, where there is a Fcall speed reduction.. and mach just doesn't respect the setting on the accel. profile and "breaks like a Grandma at the yellow lights" to reduce the velocity. It almost makes me sick to the stomach, lol. Funny, now the latest lockdown version of Mach3 is back to the Jerky deceleration (during G1 only). Of course, for most small machines mach3 makes good motion, great majority of people will never see what I am moaning about:) nevermind.. I have big hopes for Mach4 and a 6th order T.P., as Art says he'll implement it one day...

btw, heres a video i sent brian showing the Fcall speed reduction bug... http://www.mediafire.com/download.php?bswvuoo5hb86beu

Steve, would it be possible to put an option on the plugin that makes mach3 or mach4 to simply feed the Gcode to the Galil and let it handle the Trajectory Planning?
Actually i have a program from Motion Solutions Australia, and that's what it does. I think the galil looks ahead the whole or part of the .nc and feeds back to the PC via ethernet, the position, so the program displays the execution of the Gcode in a 3d toolpath panel and a Gcode panel. Btw, the Pause, feed override work blazing fast. But I need to be able to use Mach, this thing is proprietary.

Anyhow, thanks again, happy coding....
c.

Offline smurph

*
  • *
  •  1,475 1,475
  • "That there... that's an RV."
    • View Profile
Re: Galil Slave Axis
« Reply #8 on: March 28, 2013, 05:39:14 PM »
We can't just dump Gcode to the Galil, unfortunately.  Lots of problems with that.  There is no Gcode to Galil code translation that matches up 100%.  For example, there is no way to do a helical move in Galil code.  (thread milling).  The CR command is 2D only (vector mode).  Now, one could possibly work out an ecam based on the position of the X and Y axes and then gear the Z to the ecam.  But that would involve loads of calculations that had to be done at the time of the helical move.  

The bottom line is that Mach is providing a lot of stuff that a G code machine controller should do that the Galil cannot natively do.  Believe me when I say that Kenny and I have thought about this plenty!  If we could use Mach for things that the Galil can't do very well on its own and use all Galil code for the rest, then that would be awesome!  The problem is that it is all or nothing.  :(

The KS command on the Galil has the distinct disadvantage of being in effect all of the time.  I played with it for a bit.  To effectively use it with Mach, we would have to change it's value constantly depending on accel, decel, or slew conditions.  There is no static KS value that we can use to cover all types of motion.  We would have to build a lookup table in the config so that the user could set KS values that work for their machine.  Then we would have to detect accel, decel, and slew conditions in the plugin and set KS accordingly.  That is a a lot of work to run steppers on a motion controller more suited to run servos.  There is no doubt that smoother stepper motion can be achieved with KS, but it is much more suited to working with a hand written Galil motion program that is designed to be "run" on the controller.

Of course, the higher the resolution (steps per rev) the motors/drivers are capable of, the less of an issue all of this becomes.  Step "spacing/smoothing" is needed less.  Servos tend to be geared down and have much higher steps per unit than steppers do.  My servos do 12700 counts per inch.  Way less than one micron resolution making the smoothing issue a moot point.

The good news is that I can happily report that Mach4's motion is much smoother.  There are some videos Brian put up on you-tube that are quite impressive.  Still no 3rd order, but it is definitely less "pausey" than Mach3.  3rd order is coming though.  With Mach4, I'm planning on taking advantage of the newer Galil controller's PVT mode.  It should be a great combination.

Steve

Re: Galil Slave Axis
« Reply #9 on: March 29, 2013, 11:50:22 AM »
smurph,
You said in one of your recent posts:

'The 1760 will require the Smart Term drivers.  And there is no support for that controller in any of the newer Galil drivers (Galil Tools/Galil Suite).  So you will be relegated to using the 4.4 version of the plugin, which is ancient.  Getting things working with that code base is going to be a real challenge.'

As far as the slave axis question goes, I am quite happy to use the DMC-2182 controller for that application.  It will probably work better for me because I can locate the computer further away from the controller and drives with just the ethernet cable in between.  I understand that the v4.4 driver is old and has been superseded by the v4.5.  There is probably not any reason to go back and beat what is essentialy a dead horse.