Machsupport Forum
Third party software and hardware support forums. => Galil => Topic started by: tgarson on January 04, 2011, 03:51:04 AM
-
Hello,
I am assembling a CNC mill based on a 1980s vintage Taiwanese built Husky knee mill. This Husky seems to be the prototype for mills now sold that bridge the gap between drill mills/platform mills and small Bridgeport sized machines, except that its castings are noticeably heavier and bigger than most of the current crop of imports (Grizzly G0678 is very similar).
I plan to use the quill for my controlled Z axis, but it has only 3.5" of movement. I have numerous projects planned that require more than that.
I have a Galil DMC-1750 controller, so I can add a servo to the mills knee and control that as well. I'm hoping there is a way to combine the motions of the quill and knee into one Z-axis command. This would be very desirable to me as my CAM software (Alibre/VisualCAM bundle) is limited to 3 axis (add one more for another $1000.00, ouch).
I'm knowledgeable about electronics, mechanics and programming, but CNC is all new to me and I have just now reached the conclusion that Mach3 is the only sensible control software for my planned setup.
I've about assembled all of the needed components and have begun the arduous task of constructing the various hardware components required to mount the drive motors and their associated trains. I'll be running Baldor 2250 motors through gear reduction boxes for X, Y, and quill Z and have a Kollmorgen U12M4H for the knee Z.
I've acquired five Copley drives, the Galil interface box, cable, connectors, etc and have the needed materials to build up a 40 Volt/40 Amp (continuous) power supply.
I kinda know what I am doing, but am having lots of "learning experiences" as I go, so any hints, suggestions, pointers, etcetera that might save me some agony will be welcomed.
As stated above, I really would like to combine the knee and quill drives into a single Z axis software command.
Thanks
-
From the GCode point of view, this is not a problem.
Manually edit each file, adding a 2nd Z movement at the beginning of the file.
For example, G1 A4.000 F50 might be used to send your 4th axis (second Z) to 4". This assumes your 4th axis is labeled "A" in Mach, and perhaps D in the galil card. Adding this to the beginning of each file you make would only take a minute, and could be particular to that specific setup.
As for the galil side, some help should be along shortly!
Rob
-
If your CAM is only producing 3 axes, then you are going to have a problem. There is nothing in Mach that can take one Z movement and split it into two separate axis movements. As far as the Galil is concerned, it is going to do what Mach tells it to do. So no help there.
As Rob suggested, you can do this manually by editing your Gcode. But there is nothing automatic going to happen for you if you can't do this from you CAM software.
Steve
-
Steve,
Is it possible to assign his second Z axis to "A" in mach, and set that as a linear?
I did not think Mach really cared which axis is assigned to which. I think his answer is yes, Mach can do it. So long as he hand-jams in his own code for the second Z.
Rob
-
Rob,
Yes, he can assign his second Z axis to A in Mach. But he wants to have his CAM software output XYZ moves and Mach to take the Z moves and split them up into A (knee: Z moves > 3.5" rough position) and Z (quill: Z move < 3.5" fine position) on the fly. Unfortunately, that is not possible.
Steve
-
Thanks for the responses, even though it's not what I wanted to hear....
So, to reiterate what I've read here:
The required approach will be to edit the Post file and alter the Z-axis motion commands so that they are split into two, one for the quill and one for the knee.
(Pause for deep thinking, for a moment)
It seems to me that this would actually be a pretty straight forward thing to do, as the two "new" commands would be identical to the original, except that one would address the knee axis and both would have altered values which should follow a prescribed formula. I could probably dust off my long latent Pascal programming skills and write a small command line utility the would "Post" the Post to accomplish that task.
It certainly seems like something that is sufficiently doable to warrant the installation of the hardware to drive the knee, especially as I already have the controller capacity, a drive and a motor. As I wrote previously, this is a project in process, so I won't be writing such a utility anytime soon, since I'm still in the hardware fabrication stage.
On the other hand, if anyone comes up with a slicker way to do this, by all means, please suggest it!
-
Yes, a post processor for the post processor. :) But... in order to do that, you will have to set the top of the part (Z = 0) with your quill in the fully retracted position. Otherwise, how will your knee movement computations know that there is less than 3.5" of travel available on the quill. And then you might want to fudge a bit, say .200", for a rapid plane.
Steve
-
Yes, some sort of initial reference location will be essential. I may start with the knee at the bottom and the quill fully retracted, therefore initializing at maximum Z. I'm certainly flexible, at this point.
One thing that I'm curious about is what sort of numerical scale I will find that specifies the Z position, with what resolution? I've seen some systems that claim a numerical resolution of +- 2 billion, which I take to be a signed 32 bit (+- 31 bits) value. Is this standard, and/or what Mach3 expects?
If that be the case, then my initial thought would be to use an unsigned 32 bit " zero" value for Zmax, which would be Home. For arguments sake, lets say that value will be 21". 1/6th of that, or 3.5", will be quill travel. If I use a bit mask to "and off" the top (2?) (most significant) bits, the resultant value, which may require scaling, will be the quill position. Similarly masking the (30?) least significant bits, again perhaps scaled, should provide the knee position.
This is all tenuous for the moment. Comments and suggestions welcome.
-
I am not sure how Mach handles the Galil commands, but in the case of the Galil axis gearing command, this would normally be done with the Z being the master and the A tied to it as slave, the gearing ratio of which could be changed on the fly.
There would be only one Z axis command.
I don't know if this would achieve what you are trying to do?
Nosmo.
-
Yo NosmoKing,
You may have hit on the ideal solution. After seeing your post, I looked up the Galil command GA and its related commands GM, GD, GR, etc. This family of commands would seem to be ideal for basing the combining of knee and quill movement into one Z motion command. However, from what I can tell, this feature would best be implemented in the Mach Galil Plugin. Unfortunately, that's a bit beyond me, at this point. If those wonderful, kind, generous, community spirited (OK, I think I've piled it deep enough.) fellows who created the Plugin were to implement my request, I would be only too happy to test it, once I actually have a machine up and running, that is....
-
Hmm... You couldn't do a fine and a course, but you sure could move them together! Geared to where the quill retracts and the knee drops to raise the Z and vise verse. You could implement it all in the GalilInit.txt file that the plugin sends to the controller upon init. This file should home the quill, home the knee, and then gear them together at a ratio where each reaches it's travel limit at the same time. Brilliant Nosmo! Mach and the plugin need not know a thing.
GalilInit.txt file: A file where, if it exists in the plugin directory, it's contents are sent to the Galil line by line upon plugin initialization (When Mach is started).
Steve
-
The Gearing command is what I use with Galil for implementing threading on the lathe, the spindle encoder engages the Z axis.
There are new commands in Galil which will allow Z axis to engage while the spindle is rotating enabling the inevitable catch up required by the Z.
Nosmo.
-
I don't find any reference to GaliIlnit.txt in GalilPlugIn.pdf. Is it, and its format, documented somewhere?
While I still like the idea of coarse and fine for knee and quill, the geared concept would be very workable, and I really like the idea of not having to add yet another step in the process of going from drawing to product (Post processor for the Post processor).
Also, I have been reading posts (pun accidental) by folks who have used the knee for their only controlled Z-axis and they suggest adding air springs to the knee to offset a large chunk of the weight on the screw is a help. Obviously too much spring will have a negative effect because springs can't counter the inherent inertia of that much iron.However, I like the idea of air springs if for no other reason than the potential for reduced screw wear.
Tom G.
-
Uh... no, there is nothing in the GalilPluginIn.pdf file about GalilInit.txt. It's a super secret file. :)
There are quite a few files that will do special things that are undocumented. They will be documented on the next plugin release.
Steve
-
O.K., I guess.....
It will probably be at least a couple of months before I'm anywhere close to my mill actually being able to make chips without my direct interaction. Hopefully, by then, creative urges and inspiration will drive the PlugIjn to its next iteration, complete with documentation that encompasses all of those magical secret files. As a system designer and integrator, I know how difficult it can be to make ones self complete the documentation on a project that is substantially complete and operable, which makes me appreciate such efforts by others a whole lot more.
We'll all be waiting with only very shallow breathing (Can't hold my breath that long).
Tom G.
-
The special command files were put in version 4.3 before the release of v4.4 in an attempt to control a CNC sewing machine from Mach. In fact, the Notify commands were put in at the same time and there is a reference to a Galil variable called SPI in the plugin documentation. SPI stands for "stitches per inch". :) The Notify commands were fully tested, so that was added to the documentation. But at the time of v4.4, the special command files were not tested and thus were not put in the documentation. Since then, they have proved out very well though and I'll mention them if I think it will help someone.
I'm working on the 4.5 release right now. It includes:
1. The plugin will work with either Smart Term or Galil Tools. This should allow full Win 7 support with Galil Tools since the Smart Term PCI drivers won't work with Win 7.
2. Improved MPG functions.
3. Improved gantry slaving.
4. Improved support for the Accelera controllers making use of their performance features when possible.
Steve