CNCCookbook: Be a Better CNC'er

 

Mach 3 and GRex Notes

The Gecko Drives "GRex" is quite a magical device that promises to revolutionize many aspects of the CNC conversion game. In one box that is not much more expensive than a parallel breakout card you get a sophisticated motion controller that is the equivalent of several conventional cards and all runs via a CAT5 LAN connection. This thing is brand spanking new as of February 2006, so I want to capture the startup problems people are having in one place. Should I decide to be an early GRex adopter, it will focus my thinking about how to use the device.

Debug Your Macros in Mach 3

Art says:

Throw in a few

code"(Im now in this part of the macro)"

type of calls.

Using the Analog Outputs to Control Spindle Speed

Homann has a board out to drive your VFD from the GRex called the DigiSpeed. The GRex puts out a variable analog voltage (0 to +5VDC) on one of its output lines. Mach 3 is set up to work this way with a GRex or breakout. The DigitSpeed board will convert that variable analog to an analog voltage suitable for driving a speed controller, replacing the potentiometer normally installed there. The important function it provides is isolating your GRex or other breakout board from the motor controller. Failure to do so can quickly "fry" your GRex or breakout board!

GRex Encoder Hookup

http://groups.yahoo.com/group/mach1mach2cnc/message/73515 : Hooking up an MPG to GRex.

http://groups.yahoo.com/group/mach1mach2cnc/message/74255: More encoder news: any input can be used for MPG's now. Some problems with fast feedrates and short move increments. A move has to take at least 1ms or it is ignored.

GRex Home Switches

GRex requires a separate home switch for each axis--they can't be wired in series.

What to Do if Your Spindle is Active When it Shouldn't Be

Per Art: Turn on the A,B and C axis in the config, then restart, the spindle axis will
then be motor, not spindle. The output is automatically active if the output
isnt turned on for a motor, it then thinks you must be using it for a spindle.
The DAC is always active though, doesnt matter if you turn it on or not.

Maximum Segments per Second

All Mach 3 devices have a limitation on the maximum number of moves they can make per second. For GRex, this limit is 50-100. For NCPod, it appears to be 1000. For Galil, 250 per second. A printer port can do 10,000 segments per second. GRex has its own move planner that will smooth motions while NCPod and Galil do not, so in practice, its performance is higher than these numbers would imply.

The practical ramifications of this come from very fine motions needed for complex 3D profiling. Since g-code simulates curves as a series of line segments, it can result in a lot of segments. If the number coupled with the feedrate results in more than the maximum moves a second the device can make, motion can become jerky.

So, programs like ArtCAM may generate tons of 0.0001" moves, and so GRex, for example can move 0.0001" x 50 to 100 = 0.0005" to 0.001" per second on such g-code. Obviously very slow! Even a printer port, which is the fastest on this benchmark, can do 10,000 * 0.0001" = 1" per second/60 ipm. That's pretty fast, but for some applications will still seem slow. Even then, the printer port may have problems generating smooth pulse trains at those speeds, which the other devices do not, so there are tradeoffs. Acceleration is another problem for these kinds of moves, which GRex does better on than other devices. All of these devices are problematic due to acceleration effects with stepper motors, while servos can accelerate a lot better.

These limitations will be ameliorated to some extent by Mach 3's successor, Quantum, whose feedforward ("look ahead") planner can smooth multiple segments into one.

Note to self: Seems like a feedforward planner or postprocessor could process the g-codes to produce a little better results before handing them to Mach 3. FilterMax is a program that claims to do that for $995.

Creating an External Start Button in Mach 3

To put an external start button, you connect it to the OEMTrigger#1, then in config/hotkeys, you se the OEMCode for OEMTrigger#1 to 1000 ( the code for "Run" ).

Back to CNC Lathe Home...

 
All material © 2010-2016, CNCCookbook, Inc.