Skip to content

Troubleshooting_mediawiki

aldenhart edited this page Mar 3, 2013 · 1 revision

Table of Contents

grblshield Troubleshooting

This page contains various issues people have had getting their systems to work. Take heart, if you are here. Most problems are easy to solve and have been seen before. In the few cases where the grblshield has gotten damaged we have can do a quick replacement or some other remedy.

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 grblshield is just one part. So looking up and down the stack is often very helpful.

You may also want to visit the grblShield FAQ if you questions are about whether grblShield will work in your application, what motor sizes are supported, how big a power supply do you need, and that sort of thing.

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

  1. NEVER PLUG OR UNPLUG COMPONENTS WHEN THEY ARE POWERED.
  2. CAREFULLY OBSERVE VOLTAGE AND POLARITIES. DO NOT CONNECT THE POWER BACKWARDS.
  3. DO NOT FORCE THE CURRENT SETTING POTENTIOMETERS BEYOND THEIR 270 DEGREE ROTATION LIMIT. THEY WILL BREAK AND THAT AXIS WILL STOP WORKING.

The most 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 blue power indicator LED is 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
    3. grbl is misconfigured. If you have any doubts, set grbl settings back to these default values:
$0 = 755.91 (steps/mm x) 
$1 = 755.91 (steps/mm y) 
$2 = 755.91 (steps/mm z) 
$3 = 30 (microseconds step pulse) 
$4 = 500.00 (mm/min default feed rate) 
$5 = 1000.00 (mm/min default seek rate) 
$6 = 0.10 (mm/arc segment) 
$7 = 28 (step port invert mask. binary = 00011100) 
$8 = 50.00 (acceleration in mm/sec^2) 
$9 = 0.05 (cornering junction deviation in mm) 
'$x=value' to set parameter or just '$' to dump current settings

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 "grbl 0.7d" or "grbl 0.8a" prompt. If not, see Getting grbl
  2. Power is not applied or not applied properly. Is the blue power indicator lit? Are you providing between 12 and 30 volts? grblshield will not work outside this range. See Connecting_Power_and_Power_Supply_Requirements
  3. Motors are not wired correctly. See Wiring the 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 happens the pot will spin freely through 360, 720 or 1080 degrees like an Olympic skater. This means it's broken and that axis will no longer work. If this is the case you should either replace the surface mount pot yourself - it's a Murata PVG3G502C01R00 available from Mouser Electronics, or contact us to return the board.
  • You might also check you don't have a bent pin on the grblShield that is preventing the step signal from getting to the shield. Arduino digital line D2 is Xstep, D3 is Ystep, D4 is Zstep.
  • 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 Wiring the 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.

Only one motor turns - cannot run multiple motors simultaneously

This could be because your power supply is not up to the job. See Connecting_Power_and_Power_Supply_Requirements
In some other cases this was actually because the user was testing multi-motor operation using absoute-mode Gcode commands as above.

Motor turns, but travels way too much or too little

This is almost always a grbl settings issue. Grblshield is set by "factory" (ahem) default to 8x microsteps on each axis, or X and Y at 8x and Z at 2x if the Shapeoko mod has been made.
See these references for help with settings:
https://github.com/grbl/grbl/wiki/Configuring-Grbl
http://noblesque.org.uk/ShapeOko/grblcalc/

Motor turns in the opposite direction from the way I want it to

Swap one of the winding pairs. For example, swap black and green to green and black at the motor connector. You can also correct this using the bitmask in the grbl settings, but this is more complicated.

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
  • You may also want to check that the Arduino is delivering the Direction signal for the axis in question (use an oscilloscope or volt-meter), and that you don't have a bent pin on the grblShield. The direction lines are on the Arduino digital output port D5 is Xdir, D6 is Ydir, D7 is Zdir.
  • It's also possible that there is a defect in the grblshield where the direction line (DIR) is not being set. All grblshields are tested to make sure all axes work and turn in both directions, but it's possible that something make have "shaken loose" in transit.

Motors turn but stop and start erratically, or they lurch but don't turn

These are indications of thermal shutdown. The TI stepper driver chips used on the grblshsield are pretty much indestructible, but they protect themselves from short circuits and overheating by shutting down - sometimes dozens of times per second. (i.e. stuttering). In some severe cases the total current draw during this condition may be too much for the power supply, and it may also be driven into protection mode. In some supplies this is an audible clicking sound. If in doubt, disconnect and reconnect the power supply. Aside from the above symptoms, see if chips are really hot to the touch. Like you can't keep your finder on it for more than a second (The G. Gordon Liddy test). Try backing off the current and resetting the current for the axis.
Please note that the root cause of thermal shutdown is often the mechanical system itself, so read the next item.

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 Using grblshield  

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.
Heatsink / fan cool the drivers Grblshield will drive up to 2.5 amps per winding. For motors that draw more than 2.0 amps per winding we recommend heatsinking the chips and blowing air across the heatsinks. Fan cooling helps a lot.
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 Using grblshield Microstepping
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. You will have had to have gotten these at least close to have done the motors, but here's a bit more. These settings are for Chamnit's fork, which has much improved acceleration handling over the simen/grbl root. Please use at least version 0.7d from chamnit/grbl (on github). This section just covers settings that affect motion reliability and doesn't go into a complete discussion of settings. For that see dank.bengler.no/-/page/show/5474_configuringgrbl. The chart does address the changes to $8 and $9 on chamnit's fork, which are different than the simen/grbl release.

Issue Diagnosis / Solution
$4 max feed rate If this is set too high the motors will stall or lose steps during G1, G2 or G3 operations. A modest value is 500 mm/min for a leadscrew machine. Setting this right requries some experimantation to find a fast speed that doesn't stall your motors. This value may need to be changed per job depending on cutting tools and materials (cutting load).
$5 max seek rate If this is set too high the motors will stall or lose steps during G0 operations. A modest value is 500 mm/min for a leadscrew machine. This value should not need to be changed between jobs.
$8 = acceleration in mm/sec^2 A typical value for this will be 50,000 for a leadscrew machine. Accelerations too high will cause stalls during acceleration ramps (motion start).
$9 = cornering junction deviation in mm This is a complicated value that's typicall on the order of 0.05 mm. Sonny Jeon describes it here: onehossshay.wordpress.com/2011/09/24/improving_grbl_cornering_algorithm/