-
Notifications
You must be signed in to change notification settings - Fork 293
zzz(DEPRECATED) 5th and 6th Axis Dual Board Operation
EXPERIMENTAL ** The instructions on this page are experimental so please be warned **
TinyG can operate in a Master/Slave configuration to control up to 8 motors. The motors can control any of the XYZABC axes, and axes can be doubled (or more) for dual gantry and other configurations. Use the $1ma... configs to map motors to axes.
How it works: The master board accepts commands over USB as usual. It sends the exact bytes it receives to the slave board over an RS-485 link with minimal delay (small # of microseconds). Both the slave and the master execute the entire (identical) command stream. The axis configurations are identical - except that the axes handled by the master are enabled (e.g. $xam=AXIS_STANDARD), and the axes not handled by that board are set to AXIS_INHIBITED (NOT AXIS_DISABLED). The opposite is true on the slave. Inhibiting an axis causes the axis to be computed - and therefore affect the move dynamics - but no steps are generated.
Make the following connections
- Connect the master to a USB port. This is used to stream commands and report back responses and status.
- Connect the two boards together via RS-485. On V6 and earlier boards plug in a short, straight-through Ethernet cable to both boards. On V7 boards connect the 3 position terminal block straight through (1 to 1, 2 to 2, 3 to 3).
- Jumper the RS-485-Bias on the master. Jumper the RS-485 termination on the slave.
- You can also optionally connect USB to the slave. This will output any command executed on the slave board. As of build 371.03 this will also accept input from USB so that the slave board can be independently configured from the master board.
Settings are best done via the default profiles. The following profiles are useful examples: /settings/settings_pocketcnc_linear.h /settings/settings_pocketcnc_linear.h
Warning: This is a little quirky. Any setting set on the master will also be sent to the salve and set on the slave. Any setting set on the slave via the USB port will affect only the slave. So set the master first, then go to the slave and reset anything that needs to be different.
The axis settings must be identical in both profiles, with the exception of the axis mode. In the example the master (linear) has XYZ enabled and ABC inhibited. The slave is the opposite. The axis mode settings must be identical for the Gcode model in both boards to track each other and maintain coordination.
THe motor settings on both board are probably quite different.
You will notice that in the master settings the NETWORK_MODE = NETWORK_MASTER, in the slave it's NETWORK_SLAVE
-
Be mindful of that settings sent to the master will also be set on the slave. Don;t forget to set the slave independently if it needs to be different.
-
When one board is reset, both boards should be reset. This ensures that the Gcode models remain in sync. A software reset sent to the master (^x) will also reset the slave.
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