 |
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...