SO3 Function Test
- 1 Connection
- 2 Screens
- 3 Settings
- 4 Homing
- 5 MDI
- 6 Direction Correction
- 7 Distance of travel
- 8 Verifying Parts Functionality
When launched, Carbide Motion 4 will load and allow one to connect to the machine:
Carbide Motion 4 requires Grbl 1.1, and if connected to a machine running 0.9 will display the following error message:
Once connected, it will show:
If the machine fails to connect see http://docs.carbide3d.com/software-faq/can-t-connect-to-machine-or-jog/ and https://docs.carbide3d.com/shapeoko-faq/power-supply-usage/ or contact firstname.lastname@example.org
Carbide Motion 4 affords the following screens/options:
- Info/Load (shown above)
- Jog --- this will immediately require that one allow the machine to home if it has not yet
- Run --- this is for running G-Code files, such as from a CAM program which have been loaded using Info/Load
- MDI --- Manual Data Input --- this allows for direct control of the machine using G-Code or special instructions for Grbl
- Settings --- allows one to select machine type, send the default configuration and open the Log window (in your default web browser)
Note that after re-flashing you must send the configuration data for your machine. If you have any customizations, make note of them before re-flashing and re-apply them afterwards.
The browser log window affords controls which allow one to start/stop new messages, and to selectively show / hide the settings.
When using Carbide Motion 4 the machine will want to home before sending a file or jogging the machine. The sequence for this is:
- Z-axis will lift until it contacts and homes against the Z-axis switch --- if it moves downward, the Z-axis spindle carriage plate is likely installed upside down (the static pulley should be on the left) --- if it moves the left, then the X and Z axis motor connectors are reversed
- the machine will move diagonally to the right (X-axis) and towards the back of the machine (Y-axis) --- if it moves forward instead, the Y-axis is reversed --- this may be easily addressed by powering down and swapping the Y-axis connectors on the controller. If it moves to the left, the X-axis is most likely mis-wired, see Direction Correction below
- once it reaches to top-right-back corner it will home and back off the switches 4mm
Manual Data Input allows one to send commands directly to the machine.
When first started, before homing, the machine will accept the current position as machine origin, X0 Y0 Z0
One can interact with this to test the machine functionality. The command for a rapid movement, no feedrate required is G0 specifying a position will cause the machine to move to that position:
and pressing Send
should cause the spindle to lift by 10mm.
For this test, it is best if one starts up the machine by resting it on a block a bit thicker than 10mm, and positioned so that the machine is at least 10mm away in each direction from the top rear right corner.
The assumption is the machine has just powered up, and that this position is X0 Y0 Z0, and that absolute coordinates are being used. Note that if a machine is at a position, and then told to move to that position when in absolute coordinates, no motion will result.
|Command||Direction and Amount of Movement from X0 Y0 Z0||Notes|
|G0 Z10||Upward 10mm||(depicted above) For the Z-axis, up is positive, down negative as noted in the Glossary|
|G0 Z-10||Downward 10mm||The machine will move down 20mm if currently at 10mm above 0|
|G0 X10||Rightward 10mm||For the X-axis, right is positive, left negative|
|G0 X-10||Leftward 10mm|
|G0 Y10||10mm toward the rear of the machine||For the Y-axis, away is positive, toward front negative|
|G0 Y-10||10mm toward the front|
After verifying machine motion above, one can test the functionality of homing. This is easily done on the later board revisions which have lights to indicate homing switch activation. Once one has used the machine motion to determine which homing switch will be activated by movement along a given axis, one can manually press it to verify that it lights, and then examine the machine mechanically to verify that the switch will be the first part of the machine to contact along a given axis. If it isn't, then one should square or adjust the machine as needed (see Calibration and Squaring the Machine, or (last resort) add a small block for the switch to hit.
We have a basic page on troubleshooting the homing switches at: https://docs.carbide3d.com/software-faq/home-switch-troubleshooting/ --- if that doesn't help:
- check each homing switch --- when closed, the matching light on the controller should light up (verify by matching the physical switch location with the label on the controller for the light)
- make sure that the machine can mechanically close each switch along a given axis before reaching the limit of movement on that axis --- if necessary, loosen the hardware and pull it into a better alignment
Note that when homing the machine should:
- move up --- if it moves the left, then the X and Z axis motor connectors are reversed
- move diagonally back to the rear right corner --- if it moves diagonally to the left then the Y1 and Y2 motor connectors are reversed
For the Shapeoko 3, there are two axes which can easily be reversed electro-mechanically:
- Z-axis --- mounting the Z-axis spindle carriage plate upside down will cause this axis to run in reverse --- the static pulley should be on the left when viewed from the front --- note that if the Z-axis homing switch is stuck closed the Z-axis will move downward.
- Y-axis --- the two motors must counter-rotate to move the carriage --- if running in reverse, power down and swap the connectors
If the X-axis is running backwards, this is usually because it is miswired (but this can happen to any axis) --- all wiring extensions should be straight through, and all wiring connectors should be consistent, stepper motors may be reversed in several ways:
- swap the left and right pair of wires
- reverse the ordering of the wires in the left or the right pair
- reverse all four wires
Do whichever is appropriate to match the other wiring connectors --- use a small tool to pop out the wiring lead pins and when reinserting them, make certain that they click into place. See: http://www.pcbheaven.com/exppages/Reuse_and-or_extend_the_Molex_connectors/
The other possibility is Grbl is mis-configured, re-send the defaults or adjust as necessary.
Distance of travel
When the machine is first homed, it will back 4mm off the home position.
The NE corner is a further 5mm off that along the X and Y axes.
On a Shapeoko 3, setting the SW corner as the origin yields the following positions:
|NW = 0, 350||N = 200, 350||NE = 400, 350|
|W = 0, 215||C = 200, 215||E = 400, 215|
|SW = 0,0||S = 200, 0||SE = 400, 0|
On an XL, setting the SW corner as the origin yields the following positions:
|NW = 0, 350||N = 405, 350||NE = 810, 350|
|W = 0, 215||C = 405, 215||E = 810, 215|
|SW = 0,0||S = 405, 0||SE = 810, 0|
Providing an area for the rapid position coordinates of:
- Width = 810mm
- Depth = 350mm
Y0 is ~15mm in from the front edge of the wasteboard. From (SW 0,0), the machine can jog 5mm left and 65mm forward, from (NE 810, 350) the machine can jog 5mm right and 9mm further back, providing a supported area of:
- Width = 5mm + 810mm + 5mm == 820mm
- Depth = 15mm + 350mm + 9mm == 374mm
See http://community.carbide3d.com/t/notes-on-rapid-positions-and-wasteboard-leveling/8131 for a C2D file. (Note that all positions are approximate / nominal based on where the machines pulley positioning grid lines up based on the setting of steps / mm for each axis)
XL with HDZ
|NW = 0, 350||N = 430, 350||NE = 860, 350|
|W = 0, 215||C = 430, 215||E = 860, 215|
|SW = 0,0||S = 430, 0||SE = 860, 0|
On an XXL, setting the SW corner as the origin yields the following positions:
|NW = 0, 770||N = 405, 770||NE = 810, 770|
|W = 0, 215||C = 405, 425||E = 810, 425|
|SW = 0,0||S = 405, 0||SE = 810, 0|
XXL with HDZ
X: 874 Y: 844
Verifying Parts Functionality
This can easily be done by swapping parts around if only one axis doesn't work. Based on which axis is bad, and whether or no there are wiring extensions involved.
Always power down before swapping connectors.
Z-axis not working properly
- Power down
- Connect Z-axis motor (unknown if good or bad) to X-axis wiring extension (known good) to X-axis stepper driver (known good)
- Connect X-axis motor (known good) to Z-axis wiring extension (unknown if good or bad) to Z-axis stepper driver (unknown if good or bad)
Connect and test the machine by jogging --- if the problem switches sides we know the motors are good, and the problem is in either the wiring extension or stepper driver.
Z-axis motor tests good
- Power down
- Connect Z-axis motor (tested good) to X-axis wiring extension (known good) to Z-axis stepper driver (unknown if good or bad)
- Connect X-axis motor (known good) to Z-axis wiring extension (unknown if good or bad) to X-axis stepper driver (known good)
X-axis not working properly
- Power down
- Connect X-axis motor (unknown if good or bad) to Z-axis wiring extension (known good) to Z-axis stepper driver (known good)
- Connect Z-axis motor (known good) to X-axis wiring extension (unknown if good or bad) to X-axis stepper driver (unknown if good or bad)
Connect and test the machine by initializing --- the Z-axis will move in lieu of the X-axis --- if the problem occurs when you try to home we know the motors are good, and the problem is in either the wiring extension or stepper driver.
X-axis motor tests good
- Power down
- Connect X-axis motor (tested good) to Z-axis wiring extension (known good) to X-axis stepper driver (unknown if good or bad)
- Connect Z-axis motor (known good) to X-axis wiring extension (unknown if good or bad) to Z-axis stepper driver (known good)
Y-axis not working properly
This can be tricky to puzzle out since one motor can move the gantry --- usually best to connect, home, slacken/remove belts, attach bits of tape to the pulleys, then test.
Y1 not working properly
- connect Y2 stepper driver (known good) using Y1 stepper driver extension (unknown if good or bad) to Y2 motor (known good)
- connect Y1 stepper driver (unknown if good or bad) to Y2 stepper driver extension (known good) to Y1 motor (unknown if good or bad)
Y2 not working properly
- connect Y1 stepper driver (known good) using Y2 stepper driver extension (unknown if good or bad) to Y1 motor (known good)
- connect Y2 stepper driver (unknown if good or bad) to Y1 stepper driver extension (known good) to Y2 motor (unknown if good or bad)