Skip to content
Spark-Concepts edited this page Oct 5, 2014 · 54 revisions

Quick-Links:


##xPro Troubleshooting This page contains various issues people have had getting their systems to work. Take comfort, if you are here. Most problems are easy to solve and have been seen before.

Please use the forum if this guide does not get you going. And remember, these are systems consisting of mechanical, electrical and software components of which the xPro is just one part. So looking up and down the stack is often very helpful.

When troubleshooting, please always bear the following precautions in mind:

1. NEVER CONNECT OR DISCONNECT COMPONENTS WHILE POWERED
2. CAREFULLY OBSERVE VOLTAGE AND POLARITIES. DO NOT CONNECT THE POWER BACKWARDS
3. DON'T ROTATE CURRENT POTENTIOMETERS BEYOND ROTATION LIMIT (AXIS WILL STOP WORKING)

Common Problems

These are some of the most common problems we have seen that may cause any of the specific symptoms in the items below. Please check these first if you are having issues.

  1. Power is not connected or is inadequate. Verify that the board edge both Main power and 5V power indicator LED are lit and that you have between 12v and 30v to the board. Verify when idle and under motor load (if applicable)

  2. Grbl is not loaded or not loaded correctly. Verify that you get the grbl prompt on power up or reset. It should look something like this:

Grbl 0.8c 
'$' to dump current settings 
ok
  1. Grbl is misconfigured. If you have any doubts, set Grbl settings back to these default values:
  • Grbl v0.8
$0=755.906 (x, step/mm)
$1=755.906 (y, step/mm)
$2=755.906 (z, step/mm)
$3=30 (step pulse, usec)
$4=500.000 (default feed, mm/min)
$5=500.000 (default seek, mm/min)
$6=28 (step port invert mask, int:00011100)
$7=25 (step idle delay, msec)
$8=50.000 (acceleration, mm/sec^2)
$9=0.050 (junction deviation, mm)
$10=0.100 (arc, mm/segment)
$11=25 (n-arc correction, int)
$12=3 (n-decimals, int)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$15=0 (invert step enable, bool)
$16=0 (hard limits, bool)
$17=0 (homing cycle, bool)
$18=0 (homing dir invert mask, int:00000000)
$19=25.000 (homing feed, mm/min)
$20=250.000 (homing seek, mm/min)
$21=100 (homing debounce, msec)
$22=1.000 (homing pull-off, mm)
'$x=value' to set parameter or just '$' to dump current settings
  • Grbl v0.9
$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=6 (dir port invert mask:00000110)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=1 (homing dir invert mask:00000001)
$24=50.000 (homing feed, mm/min)
$25=635.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=314.961 (x, step/mm)
$101=314.961 (y, step/mm)
$102=314.961 (z, step/mm)
$110=635.000 (x max rate, mm/min)
$111=635.000 (y max rate, mm/min)
$112=635.000 (z max rate, mm/min)
$120=50.000 (x accel, mm/sec^2)
$121=50.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=225.000 (x max travel, mm)
$131=125.000 (y max travel, mm)
$132=170.000 (z max travel, mm)

## Motor turns in the opposite direction from the way I want it to
1. [Swap ONE of the winding pairs](https://github.com/Spark-Concepts/xPRO/wiki/2.-Connecting-CNC-xPRO#connect-stepper-motors) - For example: swap A1 & A2 or B1 & B2 at the motor connector.

2. Correct this using the [invert mask](https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8#6--step-port-invert-mask-intbinary) in the Grbl settings: 

Invert Axis | v0.8 Grbl Command | v0.9 Grbl Command 
	--------|--------------------|---------
	No Inversion | $6=0 | $2=0
	Invert X Axis | $6=32 | $2=1
	Invert Y Axis | $6=64 | $2=2
	Invert Z Axis | $6=128 | $2=4
	Invert X and Y Axis | $6=96 | $2=3
	Invert X and Z Axis | $6=160 | $2=5
	Invert Y and Z Axis | $6=192 | $2=6
	Invert X, Y and Z Axis | $6=224 | $2=7
Note: invert clone axis (4th axis) using Method 1

## Motors won't turn
This is the most common startup problem and could be a number of things. Please check the items below in order 

1. Arduino is not properly set up with grbl. On power up or reset the USB console should respond with a or "grbl 0.8c" prompt. If not, see [Updating GRBL Firmware](https://github.com/Spark-Concepts/xPRO/wiki/3.-Updating-GRBL-Firmware)
2. Power is not applied or properly connected. Are the green power indicator lit? Are you providing between 12 and 30 volts? See [Connecting CNC xPRO](https://github.com/Spark-Concepts/xPRO/wiki/2.-Connecting-CNC-xPRO) and Power Supply Requirements
3. Motors are not wired correctly. See [Connecting stepper motors](https://github.com/Spark-Concepts/xPRO/wiki/2.-Connecting-CNC-xPRO#connect-stepper-motors)

## One axis turns but another does not
Check if this is an axis problem or a motor problem by swapping the motors to different axes. 
* If the same axis is still not working it's probably an axis problem. Set the current pot to the mid-point and try again. Almost any motor will run from the mid-point setting. If the motor energizes but still doesn't turn, bump the current setting up a bit. Be sure not to force the current setting pot past its 270 degree limit. If this is the case you should either replace the surface mount pot (p/n: 23AR10KLFTR) available from [Digikey](http://www.digikey.com/product-detail/en/23AR10KLFTR/987-1008-1-ND/2409019), or [contact us](sparkconceptsengineering@gmail.com) to return the board
* If the same motor is still not working it's a probably motor problem. Check the current setting and the wiring on your motors. See [Connecting stepper motors](https://github.com/Spark-Concepts/xPRO/wiki/2.-Connecting-CNC-xPRO#connect-stepper-motors) ## Motors turn once, but then not again This may be because you are issuing the same Gcode command twice in a row. Issuing G0x100 once will move X to 100. Issue it again and X is already at 100, so it doesn't move (when in G90 absolute mode, which is the the default). Issue a G0x0 and it will move back from 100 to 0. ## Motor turns, but travels way too much or too little This is almost always a grbl settings issue. The xPro "factory" default is 8x microsteps on each axis
![](https://raw.githubusercontent.com/Spark-Concepts/xPRO/master/wiki/JumperSettings.JPG) ![](https://raw.githubusercontent.com/Spark-Concepts/xPRO/master/wiki/uStep_Jumpers.JPG)
## Motor only turns one direction This usually indicates that only one winding is getting power. * Check your motor connections. This is sometimes accompanied by erratic motor movement at low RPMs ## Motors turn, but drop steps (grinding noise), stop and start, stall, cut out, or other motion problems occur If the motors are running but drop steps or otherwise do not run reliably when under load there are a number of possible issues. These are listed in "root cause" order (more or less). Earlier items should be verified first or the later items can only compensate for problems in the earlier items. Otherwise you might be able to get the machine to work for you but it won't be optimally tuned. Some of these topics are also covered in [Connecting the xPro](https://github.com/Spark-Concepts/xPRO/wiki/2.-Connecting-CNC-xPRO)
1. **Problems in the mechanical system:** If one or more axes has too much friction or resistance to motion then the motors may not run reliably at high speeds or under load. Steppers lose torque as the speed goes up, so some symptoms show up as the speed increases.
Issue | Diagnosis / Solution --------|-------------------- Too much cutting load | If you try to take out too much material in a cut or a plunge (Z axis) the machine can't handle it. Solution: reduce feed rates, use cutting oil. Too much friction in travel | Mechanically disconnect the motor from the shaft and test if the axis is too hard to move by hand. May be an alignment problem, an anti-lash nut being too tight, or it just needs oil. Uneven friction over travel | Axis travels OK in the middle but gets tighter towards one or both ends. Could be shaft coupler runout (i.e. not concentric). Fix by getting better shaft couplers or possibly shimming (yuk). Shaft couplers are loose | If slippage occurs under load or in part of the travel be sure all shaft couplers are tight. We've seen this on many home-assembled machines. Belts slip | Overloading a belt-driven machine can cause the belts to slip. This is usually a symptom of one or more of the above problems. 2. **Motor torque problems:** If the mechanical system is working well the next place to look is the motors. Stepper motors lose torque as they increase speed (as we've said before). It's also common (but not a given) for motors to lose torque as the microsteps are set to higher values. These problems are often highly dependent on settings, so see that section, too. 
Issue | Diagnosis / Solution --------|-------------------- Motor current set too low | If motor current is set too low the motors will stall at speed, or even refuse to turn. Turn the motor current trimpot up (clockwise) until you get reliable motor operation. Motor current set too high | If motor current is too high the stepper driver chips will go into thermal cycling, turning on and off slowly or even very rapidly. Back off the current until this stops. Motors draw too much current | If you can't get motor current just right the motors may require more current than the drivers can supply. Use lower power motors. You can run unipolar motors (6 wire) in lower-power mode by using the end taps and leaving the center tap floating. Microsteps set too high | If you have the microsteps set to 8 (factory default value) you may get more power by dropping to a lower value. see [uStep Jumper Settings](https://raw.githubusercontent.com/Spark-Concepts/xPRO/master/wiki/JumperSettings.JPG) Power supply is insufficient | If you draw too much current some power supplies will simply offer less; others will throw their internal circuit breaker. You may be experiencing either case. Use smaller motors or a bigger power supply. Voltage can be increased | Higher voltages provide better motor performance as current ramps faster. Ironically, the chips run cooler at higher voltages. Try increasing motor voltage from 12v to 19v, 24v or 30v (commonly used values) 3. **grbl settings problems:** If both the mechanical system and motors are working well the next place to look is the grbl settings.
* [Settings calculator](http://noblesque.org.uk/ShapeOko/grblcalc/)
Note: DO NOT COPY AND PASTE DIRECTLY INTO GRBL, note calculated parameters and use links below to set appropriate $x=value's * [Configuring Grbl v0.8](https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8) * [Configuring Grbl v0.9](https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9)