-
Notifications
You must be signed in to change notification settings - Fork 294
Dual Gantry Configuration
This page describes how to set up configuration for a Dual gantry setup. The example given is a Shapeoko with a Dual Y gantry.
A dual gantry setup uses 2 motors to drive a single axis. Commonly the dual gantry is the Y axis, but not always. The 4 motors on TinyG can be used to support a dual Y gantry like so:
| Motor | Axis |
|---|---|
| Motor1 | X Axis |
| Motor2 | Y1 Axis |
| Motor3 | Y2 Axis |
| Motor4 | Z Axis |
The Y2 axis has reverse polarity from Y1 as the 2 motors are facing each other and therefore need to turn in the opposite direction from each other.
Note that the 'A' axis is not used. Only the 4 motors and the X, Y and Z axes.
Here are some example settings for a Shapeoko dual Y gantry setup. You will probably need to experiment to get exact settings for your machine, but this is a good starting point. The maximum velocities and feed rates are set intentionally low and can probably be set higher with tuning.
| Setting | Description | Notes |
|---|---|---|
| $1ma=0 | Map to X axis | 0=X axis, 1=Y axis, 2=Z axis |
| $1sa=1.8 | Step angle in degrees | Set 1.8 for 200 step / revolution motors, 0.9 for 400 step / revolution |
| $1tr=36.54 | Travel per rev in mm | This value should be calibrated to your setup |
| $1mi=8 | Microsteps to 8 | Experiment with 4x microstepping for more power |
| $1po=0 | Polarity normal | Set polarity so X travels to the right for positive values (G0 X10) |
| $1pm=0 | Power management mode | 0=axis remains powered when idle |
| Setting | Description | Notes |
|---|---|---|
| $2ma=1 | Map to Y axis | |
| $2sa=1.8 | Step angle in degrees | |
| $2tr=36.54 | Travel per rev in mm | This value should be calibrated to your setup |
| $2mi=8 | Microsteps to 8 | Try 4x for more power |
| $2po=0 | Polarity normal | Set polarity so Y travels to the rear of the machine for positive values (G0 Y10) |
| $2pm=0 | Power management mode | 0=axis remains powered when idle |
| Setting | Description | Notes |
|---|---|---|
| $3ma=1 | Map to Y axis | Same as Motor 2 |
| $3sa=1.8 | Step angle in degrees | |
| $3tr=36.54 | Travel per rev in mm | MUST BE THE SAME AS MOTOR 2 |
| $3mi=8 | Microsteps to 8 | Should be the same as motor 2 |
| $3po=1 | Polarity reversed | MUST BE OPPOSITE MOTOR 2 |
| $3pm=0 | Power management mode | Should be the same as motor 2 |
| Setting | Description | Notes |
|---|---|---|
| $4ma=2 | Map to Z axis | |
| $4sa=1.8 | Step angle in degrees | |
| $4tr=1.25 | Travel per rev in mm | The stock Shapeoko Z screw is 1.25 mm / rev |
| $4mi=4 | Microsteps to 4 | |
| $4po=0 | Polarity normal | Set polarity so Z travels up for positive values (G0 Z10) |
| $4pm=1 | Power management mode | 1=axis shuts off when idle. Can also use $4pm=0 |
| Setting | Description | Notes |
|---|---|---|
| $xam=1 | Axis mode normal | |
| $xvm=10000 | Velocity maximum | Max velocity for axis, aka "traverse rate" or "seek" |
| $xfr=10000 | Feed rate maximum | Maximum feed rate for that axis. Limits F words to this value |
| $xtm=220 | Travel maximum 220mm | Used by homing to know when to give up |
| $xjm=5000000000 | Jerk maximum | That's 5 billion |
| $xjh=10000000000 | Jerk homing | That's 10 billion - jerk used during homing operations |
| $xjd=0.01 | Junction deviation | For cornering control |
| $xsn=1 | Minimum switch mode | 1=homing-only |
| $xsx=0 | Maximum switch mode | 0=disabled |
| $xsv=3000 | Search velocity | Homing speed during search phase (drive to switch) |
| $xlv=100 | Latch velocity | Homing speed during latch phase (drive off switch) |
| $xzb=3 | Zero backoff | offset from switch for zero in absolute coordinate system |
Y axis commands will drive both Y motors.
| Setting | Description | Notes |
|---|---|---|
| $yam=1 | Axis mode normal | |
| $yvm=10000 | Velocity maximum | |
| $yfr=10000 | Feed rate maximum | |
| $ytm=220 | Travel maximum 220mm | |
| $yjm=5000000000 | Jerk maximum | That's 5 billion |
| $yjh=10000000000 | Jerk homing | That's 10 billion - jerk used during homing operations |
| $yjd=0.01 | Junction deviation | For cornering control |
| $ysn=1 | Minimum switch mode | 1=homing-only |
| $ysx=0 | Maximum switch mode | 0=disabled |
| $ysv=3000 | Search velocity | Homing speed during search phase (drive to switch) |
| $ylv=100 | Latch velocity | Homing speed during latch phase (drive off switch) |
| $yzb=3 | Zero backoff | offset from switch for zero in absolute coordinate system |
| Setting | Description | Notes |
|---|---|---|
| $zam=1 | Axis mode normal | |
| $zvm=600 | Velocity maximum | |
| $zfr=600 | Feed rate maximum | |
| $ztm=100 | Travel maximum 220mm | |
| $zjm=50000000 | Jerk maximum | That's 50 million |
| $zjh=100000000 | Jerk homing | That's 100 million - jerk used during homing operations |
| $zjd=0.01 | Junction deviation | For cornering control |
| $zsn=0 | Minimum switch mode | 0=disabled |
| $zsx=1 | Maximum switch mode | 1=homing-only |
| $zsv=600 | Search velocity | Homing speed during search phase (drive to switch) |
| $zlv=100 | Latch velocity | Homing speed during latch phase (drive off switch) |
| $zzb=3 | Zero backoff | offset from switch for zero in absolute coordinate system |
| Setting | Description | Notes |
|---|---|---|
| $ja=2000000 | Junction acceleration mode normal | max centripetal acceleration around corners |
Getting Started Pages
- Home
- What is TinyG?
- Getting Started
- Connecting TinyG
- Configuring TinyG
- Sending Gcode Files
- Flashing TinyG
- Chilipeppr
Reference Pages
- TinyG Help Page
- TinyG Tuning
- TinyG Command Line
- TinyG JSON
- Gcode Support
- Homing and Limits
- Inch and MM Units
- Alarms and Exceptions
- Coordinate Systems
- Status Codes
- Status Reports
- Power Management
- Feedhold and Resume
- Licensing
- TinyG v8 Data Sheet
Discussion Topics
- Test-Drive-TinyG
- Jerk Controlled Motion
- Gcode Parsing
- Shapeoko Setup
- OX CNC TinyG Guide
- Creating Gcode Files
- Milling With Noisy Spindles
- Stepper Motors and Power Supplies
- Text Wrappers and Transaction IDs
- Using External Drivers
- TinyG Projects
Chilipeppr
- Chilipeppr
- Chilipeppr Advanced Usage
- Chilipeppr Archive and Restore Parameters
- ChiliPeppr PCB Auto Level
- Automatic Z Homing When Milling PCBs
Troubleshooting
Developer Pages