Mach3 Xbox Plugin

Apr 14, 2013  For those that have Mach3 and want to control their ShapeOko using an XBOX 360 joystick, here's a quick write-up. (note - credit due mostly to the numerous posts I researched to figure this out). 1) Download the plugin from the - Mach3 Website. Scroll down to the XBOX 360 Controller 2) Follow the instructions to install the driver etc. For JoyPad plugin, look in the MachSupport forum for help. Please donate This site is relying on donations - even small donations will help me getting me up and running again. Thank for your donations.

CNCRT 08:How to Use an XBox 360 Controller with Mach3 CNC Router Tips Podcast Episode 08. Bill Griggs answers a listener's question. Q: I saw you using an Xbox controller in one of your video to operate their CNC. Plugins are expansion modules written for Mach3. The Plugins on this page are the work of their respective authors, and not necessarily written (or supported) by ArtSoft USA. Xbox 360 Controller. Run your mill with an Xbox 360 Controller. Download Documentation. XBOX-Shilling Plugin (Multi mode) Download Documentation.

Controls machines upto 6-axis. Executes RS274 G and M codes. Unlimited number of user text macros with flexible script engine. Up to 400kHz operation. (selectable 25kHz, 50kHz, 100kHz, 200kHz, 400kHz with 20us, 10us, 5us, 2.5us and 1.25us pulse widths.) Note: Maximum step frequency depends on the motion controller device used. A new version of the XBox 360 Controller plugin is available on the plugin page of the Mach Site. This version contains one change from the previous version. Previously, if the controller was moving an axis and the controller became disconnected, Mach would continue moving the axis. This has been corrected.


Pluginmach3usb.dll for Mach3 (Ethernet and USB)



Copy Mach3usb.dll infolder C:mach3plugins (Or the correponding directory on your machine).

Then start Mach3 .They is a new dialog box 'Motion plugin detected'.

Start Mach3


Activate some axis



Indicate for eachaxis port and pin number and also polarity of signals DIR and STEP.

Stepper motor driverusually require positive pulse.

dir polarty change direction of rotation


Activate some outputs




Mach3 can control theSpindle from GCode with M3/M4/M5.

Indicate what pincontrol the spindle relay if available. Output #1 is normally used.

Others outputs can bedefined and configured (HiStep has 12 outputs)

Enable are signalswhich are always activated by Mach3 when not in EStop mode.


Associate Output#1with the spindle command




Standard signals(Spindle , Flood, Mist) can be configured to control the outputs#N


Configure some inputs





Standard functions ofMach3 (Limits ,Home ) can be associated to input pins of HiStep.

Enter port 1 and pin(10-13 , 15).


Configure speed andacceleration



Select units in 'Config/Select native units'



Press 'Save axissetting' for every axis

Then OK


Slave Axis



Slave axis are handled also by the plugin


Send the wholeconfiguration to card





Press'Reset ' in Mach3 to enter or leave EStop mode and also to upload any required configuration to the card ( ie pins , speed and al other)


Activate keyboard jogin Mach3



Activate motor movement with keyboard jog

Enter MDI commandsand run GCode directly



Type 'G0X10' in MDI tab.

Type M3/M5 to controlspindle output


Look current steppercoordinates


Stepper motorcoordinates are maintained by the CNC card . They are displayed in Mach3 mainwindow.



Check io status inDiagnostic tab




Configure limitswitch and home




Limit switch blockany movement when activated


Use Home command




RefAllHome'command the specified action :

-Jog to the homeswitch until activated

-return in theopposite directiion until desactivated



Important parameter are homingspeed (fast or slow ) and homing direction


Use PWM output


The 32 bit and later adapter support PWM output (for spindle speed)

Go in config/pulley ratio to set maximum speed of spindle. (the PWM output will be 100% duty cycle at maximum speed)



Go in config/port and pins/motor pins to select PWM pin (Spindle pin)



Set spindle pin number and optionally 'Active Low' to revert signal.

Test spindle :

In MDI G-code , type M3 S300 (speed 300RPM

Or use interface to set spindle speed and on/off state .




Configure plugin



Software interpolation (32 bit adapter only) :

Software microstep produce more precise time control, specially at low speed . Enter N>1 as software microstep and multiply by N your Mach3 StepPer setting All movement will be lot more smooth (and low noise) .

When using software microstep multiplicator, Mach3 motion planner will work exacly as if the StepPer parameter was much higher than the physical one, without reducing maximum speed and frequency!

Press EStop from inactive to active (or twice if already active) before tuning motors.



Windows 95 boot disk image windows 7. Plugin type and port number :

full motion plugin(Mach3 use the plugin for all motor movement)

IO Extender (Mach3still use parallel port for motion but use the plugin for some of it'sinput/output. Must select a available parallel port number.

A second port number (default 2) may be entered for dual port USB card.

Restart Mach3 if anychange.

Auto-off on enable signals:

The adapter can automatically cut enable signals when no move after 0.5 second (approx. default), this is very convenient and should be checked.

for 32bit card : auto-off duration can be set

Mach3 pendant controller
If set to 0, the adapter does not change default value.
Home back-off:
Distance to move back after release switch when homing (to avoid false triggering if other axis use same signal)

USB and Ethernet :

USB : Allow USB connection
Ethernet : Allow Ethernet connection
IP address : adapter IP address
Auto IP : Allow auto detect network adapter

Xbox

Press EStop to disconnect/reconnect for any change USB/Ethernet or IP address.


Ethernet IP update and detection


From plugin configuration dialog box press 'Ethernet' button


This open the network card update tool

Ess Mach3 Plugin



Select a card from the list (not required if only 1 card , first entry is taken )

Fill in the modified parameter and press 'Update' button.

The card then reboot automatically with new settings .

Note: If the IP address is incorrect , the update tool will still work because it does not use the IP address to talk to the card.


Use PROGRAM PAUSE / PROGRAM STOP



Cycle Start : Start a GCode program

Feed Hold : Pause GCode program

Stop : Stop GCode program

With the plugin , Stop is immediate effect with flushing data buffer , Hold (or pause) take a few second because movement continue until the data buffer come empty .

When using 'Feed Hold' , press 'Regen toolpath' before 'Run'. This will ensure a correct continuation of GCode program.



Index input
32 bit cards support index input for RPM measurement and display in Mach3 , GCode pause / start on index pulse , and speed sync with measured rpm.
All this functionality supported in hardware and enabled in plugin config (new version)


true feed = normal feed * measured_rpm/RPM
RPM is the rpm at normal feed , +% is the maximum rpm that could be tracked. If 0, the adapter will only track rpm lower than RPM.
For sync pause/start on pulse:
every timer the adapter is paused until internal buffer is empty (Mach3 macro function ISMOVING() return false) , then next move will start on index pulse.
Note also that measured RPM display in mach3 screen set.



Adapter Index input pin
Combi MZ USB+Ethernet pin 12
USB V2 pin 13

Timers (New)
Activity : time of pre-buffering when start
Inactivity : time to detect stop/pause and re-sync with index pulse
Response : time from command sent to status received. Used to correctly implement Still/Moving/Sync detect
Keep default: value entered are not used , instead adapter and plugin use hard-coded default value (100/300/300ms)
Note : Example , after sending a movement, Mach3 function IsMoving() returns true during t=Response, then while status indicate move . Also , adapter resync to index pulse after t=Inactivity when not receiving trajectory movement.
Note : timers does not apply to jog commands . Jog commands always start immediately


Firmware update (32 bit card only)



Mach3 Xbox Controller Plugin

Enable alternate firmware : if an alternate firmware has been loaded , enable the card to use it (instead of the default factory ) .


Mach3 Xbox Plugin Windows 10

Firmware tool : allow to change the alternate firmware



Note : the card always keep protected the initial firmware, and boot on the initial firmware when restarted ! Then switch to alternate firmware only on request of Mach3.

Mach3 Xbox Plugin Games


Remarks

Sometime , they maybe a time delay between the current GCode line displayed by Mach3 and the one executed on the card. They maybe also a delay of PROGRAM STOP / PROGRAM PAUSE. This is due to internal command buffer of the USB or Ethernet card. You can reduce the buffer size in plugin configuration , by entering a value <> 0 in BufferSize (KB) setting . 8KB is a reasonable value.


Comments are closed.