Editing Mach4 SimpleMotion drive plugin

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help page.

Latest revision Your text
Line 1: Line 1:
[[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 V2|SimpleMotion]] compatible motor drivers, such as [[IONI]] or [[ATOMI]] with [[Mach4]].
+
'''Introduction'''
[[File:mach4.png|thumb|Mach4 main screen]][[File:Mach4 plugin atomi lohkokaavio.svg|thumb|Typical usage of Mach4, Mach4 plugin and [[ATOMI]] drive]]
+
  
{{Info|The plugin has been developed and tested with industrial version 4.2.0.3481. Hobby version 4.2.0.3804 does not work.}}
+
[http://www.machsupport.com/software/mach4/ Mach4] is a CNC motion control software developed by Newfangled Solutions. It has been in use on Industrial equipment running constantly for over a year. The M4SM plugin is needed to run motor drivers connected to SimpleMotion bus with Mach4.
  
== Features ==
+
'''Requirements'''
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|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 ==
 
 
The following things are needed for building a CNC machine using Mach4 and motor drivers connected with SimpleMotion bus:
 
The following things are needed for building a CNC machine using Mach4 and motor drivers connected with SimpleMotion bus:
* [[ATOMI|Atomi]], [[IONI Servo & Stepper Drive|IONI]] or [[ARGON Servo Drive|Argon]]-based motion system, e.g. CNC mill, connected with [[SimpleMotion V2|SimpleMotion]] bus
+
* [[ATOMI|Atomi]], [[IONI Servo & Stepper Drive|IONI]] or [[ARGON Servo Drive|Argon]]-based motion system, e.g. CNC mill, connected with SimpleMotion bus
 +
* Windows PC
 
* Mach4 software + license
 
* Mach4 software + license
* SimpleMotion adapter depending on selected motor drivers
+
'''Motor driver configuration'''
* [[Granity]] software for configuring the motor drivers
+
  
== Motor driver configuration with Granity software ==
+
Configure the motor drivers with [[Granity]] software:
'''NOTE: The SimpleMotion motor drivers must be configured before trying to control them with Mach4!'''
+
* Motor specific settings
 
+
* Set position mode for every driver except for possible velocity-controlled spindle motor
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:
+
* Set suitable max. speed
 
+
* Configure homing for all possible axes to ensure the positioning accuracy
==== [[Granity user guide/Connect|Connect to the motor driver]] ====
+
* Set soft travel limits
Connect to a motor from the "Connect" tab by selecting the interface device, and clicking "Connect to drive".
+
'''Mach4 installation'''
 
+
[[File:GranityConnect.png|400px]]
+
 
+
From the opening list, select a motor driver and click "Open"
+
 
+
[[File:GranityConnectSelectDriver.png|400px]]
+
 
+
==== [[Granity user guide/Goals|Goals]] ====
+
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.
+
{| class="wikitable"
+
!Setting
+
!Value
+
|-
+
|{{param|CM}}
+
|Position control in motion drivers, position or velocity control in spindle driver
+
|-
+
|{{param|CEN}}
+
|Enable this if you don't want the motor driver to be enabled automatically during the startup
+
|-
+
|{{param|CEI}}
+
|Standard
+
|-
+
|{{param|CRI}}
+
|Serial only
+
|-
+
|{{param|HME}}
+
|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
+
 
+
==== [[Granity user guide/Machine|Machine]] ====
+
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.
+
 
+
==== [[Granity: Tuning|Tuning]] ====
+
In the tuning tab you can set the torque, velocity and position controller settings.
+
 
+
==== [[Granity: Tuning|Fault limits]] ====
+
In this tab, you can set the fault triggering levels and tolerances
+
 
+
==== [[Granity user guide/Testing|Testing]] ====
+
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 ==
+
 
+
==== Mach4 installation ====
+
 
* Download and install Mach4
 
* Download and install Mach4
* Download the plugin files to the Mach4 plugin folder that is located inside of its installation folder (i.e. C:\Mach4\Plugins). The download link can be found at the end of this page.
+
* Download the plugin files to the plugin folder TODO: Mistä?
* Read the Mach4 installation, configuration and operation [http://www.machsupport.com/help-learning/product-manuals/ manuals] before use
+
* Launch Mach4
 
+
* Select the SimpleMotion driver plugin from Mach4 settings
==== Open the Mach4 Configuration dialog ====
+
* Restart Mach4
[[File:MachConfigurationTab.png|400px]]
+
* Select the plugin as motion control device
 
+
'''Mach4 configuration'''
====  Enable the SimpleMotion drive plugin from the plugins tab ====
+
* Plugins
[[File:MachConfigurationPlugins.png|800px]]
+
** Simplemotion drive plugin must be checked
 
+
* Motors
The program should ask to restart Mach4 after enabling the plugin. Restart Mach4 before continuing.
+
** Counts/unit, velocity, acceleration, reverse
 
+
* Axis mapping
==== Select the SimpleMotion drive plugin to be used as a motion device ====
+
** Select motors. Numbers are different here compared to driver numbers!
[[File:SelectMotionDevTab.PNG|400px]]
+
** One OB axis can be selected for being used as a velocity or position controlled spindle
 
+
** Do not enable axes without motors
[[File:SelectMotionDev.png|400px]]
+
* Homing/SoftLimits
 
+
** Set home order
==== Configure the motors ====
+
** Home dir is selected in Granity software
Open the Mach configuration again, and select the motors tab.
+
* Spindle
 
+
** Spindle settings
Select each used motor and configure them as following:
+
** A position controlled spindle can be selected here
* The motor indexes are always one smaller than the SimpleMotion axis numbers. For example, Motor0 means drive 1 in the SimpleMotion bus.
+
'''Plugin configuration'''
* How many steps the motors should move for each unit of measure
+
* FTDI port number
* The maximum velocity of each motor
+
* Buffer max fill percentage
* The maximum acceleration of each motor
+
* Spindle settings
* Motors can also be reversed here
+
** Position-controlled spindle
[[File:MachConfigurationMotors.png|800px]]
+
*** Select from Mach4 settings
 
+
** Closed-loop velocity-controlled spindle
==== Axis mapping ====
+
*** Select OOB axis from Mach4 settings and the same axis from the pluginc configuration dialog
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.
+
** Open-loop velocity-controlled spindle (TODO: Not implemented for Atomi)
* Enable used axes
+
*** Select OOB axis from Mach4 settings and the same axis from the pluginc configuration dialog
* The motor indexes are always one smaller than the SimpleMotion drive numbers. For example, Motor0 means drive 1 in the SimpleMotion bus
+
'''Known issues'''
* 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
+
[[File:MachConfigurationAxisMapping.png|800px]]
+
 
+
==== Homing / Soft limits ====
+
* 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.
+
[[File:MachConfigurationHomingAndSoftLimits.png|800px]]
+
 
+
==== Spindle configuration ====
+
* 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.
+
[[File:MachConfigurationSpindlePos.png|800px]]
+
 
+
==== SimpleMotion drive plugin configuration ====
+
Save the Mach4 configuration by pressing the OK button. Then open the SimpleMotion drive plugin configuration:
+
 
+
[[File:PluginConfigurationTab.PNG|400px]]
+
 
+
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
+
[[File:PluginConfiguration.PNG|400px]]
+
 
+
Save the SimpleMotion drive plugin configuration by pressing "OK", and start using the software!
+
 
+
== Downloads ==
+
 
+
==== Versions ====
+
{| class="wikitable"
+
!Version
+
!Comments
+
!Download
+
|-
+
|0.9.0b
+
|The first beta release
+
|[[:File:M4SM.zip]]
+
|}
+
 
+
==== Known issues ====
+
* A possible small bump after disabling or stopping motion due to aborted buffered motion
+
 
+
=== Giving ideas, bug reports, general discussion===
+
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
+
__FORCETOC__
+
 
+
[[Category:ATOMI_features]]
+
[[Category:Application]]
+
[[Category:CNC]]
+
[[Category:IONI_features]]
+
[[Category:IONI_user_guide]]
+

Please note that all contributions to Granite Devices Knowledge Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Granite Devices Knowledge Wiki:Copyrights for details). Do not submit copyrighted work without permission!

Select categories:

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)