Mach4 SimpleMotion drive plugin
Mach4 is a CNC motion control software developed by Newfangled Solutions. The Mach4 SimpleMotion drive plugin is provided by Granite Devices to run any SimpleMotion compatible motor drivers, such as IONI or ATOMI with Mach4.
|The plugin has been developed and tested with industrial version 18.104.22.16881. Hobby version 22.214.171.12404 does not work.|
- 1 Features
- 2 Requirements
- 3 Motor driver configuration with Granity software
- 4 Mach4 installation & configuration
- 4.1 Mach4 installation
- 4.2 Open the Mach4 Configuration dialog
- 4.3 Enable the SimpleMotion drive plugin from the plugins tab
- 4.4 Select the SimpleMotion drive plugin to be used as a motion device
- 4.5 Configure the motors
- 4.6 Axis mapping
- 4.7 Homing / Soft limits
- 4.8 Spindle configuration
- 4.9 SimpleMotion drive plugin configuration
- 5 Downloads
Features[edit | edit source]
The plugin seamlessly integrates Granite Device drives into Mach4 CNC software. The supported features are:
- Control up to 6 independent motor axes
- Direct USB connection to drives by using with highly reliable built-in FTDI USB chipset on the drives
- Uses non-real-time dependent Buffered motion stream in SimpleMotion V2 method to feed trajectory points to drives
- Support axis homing/referencing with built-in homing functions of the drive, including Hard-stop homing
- Support spindles in various operating modes
- Velocity controlled spindle
- Position controlled spindle with rigid tapping
- Continuous error & fault monitoring on communication link and on each drive individually
Requirements[edit | edit source]
The following things are needed for building a CNC machine using Mach4 and motor drivers connected with SimpleMotion bus:
- Atomi, IONI or Argon-based motion system, e.g. CNC mill, connected with SimpleMotion bus
- Mach4 software + license
- SimpleMotion adapter depending on selected motor drivers
- Granity software for configuring the motor drivers
Motor driver configuration with Granity software[edit | edit source]
NOTE: The SimpleMotion motor drivers must be configured before trying to control them with Mach4!
This section shows the basic configuration for motor drivers with Granity software. More support for using this software can be found from the Granity user guide. The following subsection titles are links to corresponding guide pages. Download the Granity software from its wiki page, launch it and follow these steps:
Connect to a motor from the "Connect" tab by selecting the interface device, and clicking "Connect to drive".
From the opening list, select a motor driver and click "Open"
Goals[edit | edit source]
The goals tab contains the driver function, input signal, motion dynamics, homing and soft limit settings.The following table shows the most important settings in the goals tab. All settings are explained in Granity software in more depth.
|Control modeCM||Position control in motion drivers, position or velocity control in spindle driver|
|Require software enableCEN||Enable this if you don't want the motor driver to be enabled automatically during the startup|
|Setpoint inputCRI||Serial only|
|Homing enabledHME||Select "Homing on external command" if you want to home the axis from Mach4 GUI|
If homing is enabled, the position soft limits can also be used to limit the axis motion. The soft limits can be set by following:
- Home the axis by pressing button "Start homing now". After homing, the axis stops and it's setpoint is zero
- Set the position low limit to zero
- Go to Testing tab and find a good high limit position by incrementing the setpoint
- Read the current setpoint, go to the Goals tab and set it to the position high limit
The machine tab lets you to choose the axis type and scale, the motor type and properties and the feedback device type and properties. The values can be anything depending on the system, so any good values can't be shown here.
In the tuning tab you can set the torque, velocity and position controller settings.
In this tab, you can set the fault triggering levels and tolerances
This tab lets you to test your motor by changing its setpoint. It also shows the device state.
NOTE: Ensure that the motors work correctly before trying to control them with Mach4!
Mach4 installation & configuration[edit | edit source]
Mach4 installation[edit | edit source]
- Download and install Mach4
- Download the plugin files to the Mach4 plugin folder inside of its installation folder. The download link can be found at the end of this page.
- Read the Mach4 installation, configuration and operation manuals before use
Open the Mach4 Configuration dialog[edit | edit source]
Enable the SimpleMotion drive plugin from the plugins tab[edit | edit source]
The program should ask to restart Mach4 after enabling the plugin. Restart Mach4 before continuing.
Select the SimpleMotion drive plugin to be used as a motion device[edit | edit source]
Configure the motors[edit | edit source]
Open the Mach configuration again, and select the motors tab.
Select each used motor and configure them as following:
- The motor indexes are always one smaller than the SimpleMotion axis numbers. For example, Motor0 means drive 1 in the SimpleMotion bus.
- How many steps the motors should move for each unit of measure
- The maximum velocity of each motor
- The maximum acceleration of each motor
- Motors can also be reversed here
Axis mapping[edit | edit source]
Enable the axes used in your machine in the Axis Mapping tab. The following picture shows configuration for a 3-axis machine where the spindle motor is also controlled by Mach4. The axes X-C (0-5) are for motion axes, and any of the OB axes (6-11) can be used for controlling a spindle motor.
- Enable used axes
- The motor indexes are always one smaller than the SimpleMotion drive numbers. For example, Motor0 means drive 1 in the SimpleMotion bus
- Select a motor for each axis. Slave motors can also be set for an axis if they use more than one motor
- Do not enable axes without motors
- The spindle control type (velocity or position-controlled) will be set later
Homing / Soft limits[edit | edit source]
- Set the homing order. If some axes have the same number, they will be homed at the same time
- Enable soft limits for motion axes
- Set the soft limits to prevent axes from hitting their physical limits. If you don't know what to put here, you can also configure them later. NOTE: these soft limits are not same as the limits configured for the motor drivers in Granity software!
- The homing direction, offset and speed are selected in Granity software, the values here don't have any effect in motion.
Spindle configuration[edit | edit source]
- Set min. and max. rpm for the spindle motor if it is controlled by Mach4.
- The max. rpm set here doesn't have effect to the real speed of velocity-controlled spindle. Running a velocity-controlled spindle by here configured max. speed runs the spindle motor at the maximum speed configured in the SimpleMotion drive.
- If the spindle is position-controlled, the spindle motor should be selected in the "Step/Dir Spindle Axis"-dropdown. The axis must be enabled and mapped before this.
SimpleMotion drive plugin configuration[edit | edit source]
Save the Mach4 configuration by pressing the OK button. Then open the SimpleMotion drive plugin configuration:
Set the following settings. The default values work in most cases.
- SimpleMotion V2 adapter FTDI COM port number
- SimpleMotion V2 buffer max. fill percentage
- In the case of using a velocity-controlled spindle, its axis should be selected here. The list shows only mapped and enabled axes that are not selected as position-controlled spindle
Save the SimpleMotion drive plugin configuration by pressing "OK", and start using the software!
Downloads[edit | edit source]
Versions[edit | edit source]
|0.9.0b||The first beta release||File:M4SM.zip|
Known issues[edit | edit source]
- A possible small bump after disabling or stopping motion due to aborted buffered motion
Giving ideas, bug reports, general discussion[edit | edit source]
To discuss about the plug-in and it's features, join the community at: https://community.granitedevices.com/t/mach4-granite-devices-motion-plugin-open-beta/1022