Skip to content
aldenhart edited this page Feb 25, 2013 · 34 revisions

grblShield v4 Precautions

Please observe the following precautions when using grblShield or any other Arduino or CNC electronics

  1. CAREFULLY OBSERVE VOLTAGE AND POLARITIES. DO NOT CONNECT THE POWER BACKWARDS.
  2. DO NOT FORCE THE CURRENT SETTING POTENTIOMETERS BEYOND THEIR 270 DEGREE ROTATION LIMIT. THEY WILL BREAK AND THAT AXIS WILL STOP WORKING
  3. NEVER PLUG OR UNPLUG COMPONENTS WHEN THEY ARE POWERED.
  • ...and remember to disconnect the USB plug from USB powered Arduinos.

Connecting Power and Power Supply Requirements

Rule #1 - DO NOT CONNECT THE POWER BACKWARDS. YOU WILL BLOW OUT THE BOARD. Having warned that now twice, Here's what to do.

STEP 1: Verify you have adequate power supplies

  • GrblShield uses the Arduino's power supply for the digital logic so it only requires motor power to be provided. You can power the Arduino from its DC input connector, or more commonly we just power it from the USB port, i.e. no DC power supply. Note: grblshield v1 uses 3.3v from the Arduino, grblshields v2 and v3 use 5v from the Arduino. This means really old (serial) Arduinos that do not provide 3.3v will not work with the grblShield v1's.
  • Motor power may be from +12 VDC to +30 VDC. We recommend using a 24 volt supply for better motor performance. The motors are more snappy, have more torque at speed, and (ironically) run cooler than with a 12v supply. Also, many 24 volt supplies have an output adjustment potentiometer that lets you go up as high as 30v. [See notes 1 and 2]
  • Your power supply must have adequate current to drive the total number of motors in your setup. Most NEMA17's take 1-2 amps per winding, NEMA23's take 2.5 amps or more. The stepper drivers can source up to 2.5 amps per winding (with heatsinks and cooling), so 2 windings per motor X 3 axes means an upper limit of 15 amps may be required, but most setups don't need this much. Most NEMA17 / NEMA23 setups we have seen will work with significantly smaller power supplies. A rule of thumb for NEMA17's is at least 4.5 amps for a 3 motor setup, NEMA23's at least 6. At higher current levels cooling becomes the biggest issue. See Cooling section.

STEP2: Verify voltage and polarity - twice

  • Verify the voltage and polarity with a voltmeter before wiring the power lines to the board. In a standard ATX power supply ground will be black and +12v will be yellow. But ALWAYS double check any voltage and polarity before connecting and powering the board (as we have seen this violated by some supplies). Also, if you are using an ATX (PC) power supply you should check that you have modded it correctly for use as a general power supply. There are zillions of articles on the web about how to do this. Better yet, get a 24v supply.
  • Connect the power supply ground to the GND terminal and the positive voltage to the + terminal. (FYI: The motor ground will be connected to the Arduino ground at the GND terminal in a single-point ground).
  • Double check your connections before applying power.

STEP2: Power up the Board

  • Before you plug the grblshield board onto the Arduino - apply power to the grblshield.
  • The BLUE power LED should light.

If it does not, verify that your power supply is delivering the correct voltage and polarity, and that you have not mis-wired the board. If you have damaged the board contact us about replacement for a re-work charge. All boards are fully tested before shipping. Remember to disconnect board and Arduino power before plugging onto the Arduino.

Notes [1] The stepper driver chips will take up to 38 volts DC but the motor capacitors are only rated to 35 VDC. 50 volt capacitors in the same SMD footprint are available and can be retrofitted for 36v operation, but increase the cost of the board significantly, so we didn't use them.

[2] We love this power supply: Meanwell NES-350-24 --> 24 VDC 14.6A 350W Regulated Switching Power Supply. Can be had for about $50 on eBay and Amazon. There's also a 6 amp little brother for about half that. Don't forget to flip the switch on the side of the supply for 115 volt operation if that's what your mains are.

Wiring the Motors

The stepper connectors are wired to the Reprap standard. If you have motors already wired this way they should be plug compatible. If for some reason your motors run backwards this can be corrected re-pinning the motor connectors or using the grbl DIRECTION polarity -see grbl settings.

Find the Coil Pairs

The first thing you need to do is make sure you know which wires are connected to the same coil.

Bipolar motors have 4 wires (2 pairs), Unipolar motors typically have 6 wires (2 pairs with a center tap). You probably have one of these two types as they are the most common wiring. Some other motors have 5, or 8, or whatever. 8 wire motors are usually wired as 2 sets of bipolar windings (i.e. essentially 2 bipolars wired together). 5 wire motors are usually in a "star" configuration that has a common ground and cannot be driven by most drivers (including grblshield).

You can find which wires are paired by using an ohmmeter. Most NEMA17 and NEMA23 motors will show a pair resistance of from about 2 to 20 ohms. Find which wire pairs show the resistance.

Unipolars motors (6 wire) are a bit more complicated, but not much. Use an ohmmeter to find the resistance across the outer pair. The resistance between the center tap an an outer tap will be 1/2 the resistance between the outer taps. If you have a unipolar motor use the outer pair wires. Leave the center tap floating (be sure to tape it up so it doesn't short to anything).

Wires are often color coded by convention. Common wire pairings are:

  • Green goes with Black. Yellow is often used for the center tap in a unipolar
  • Red goes with Blue. White is often used for the center tap in a unipolar

Here's a shortcut to finding wire pairs for a bipolar (4 wire) motor.

Spin your stepper motor with your fingers. Depending on the size / holding torque this could be easy or pretty hard. All you really want from this is to get a feel how the motor spins without any of the wires connected to each other. Now that you know how it "feels" (how hard it is to spin with your fingers) connect 2 wires together. Just pick 2. Try to spin the motor again. If it feels the same then more than likely these are NOT connected to the same coil. Disconnect these wires. Connect one of the other wires to one of the first wire pairs you tried. Try to spin the motors again. This should be much harder. If this is so, you have found your wire pairs. Tape these 2 together (not wired but just taped to group them). Tape the remaining 2 wires together as well.

Some more useful information on wiring steppers can be found here: http://reprap.org/wiki/Stepper_motor;

Connector Pinouts

Each of the 4 motors has an 0.156 four pin header wired as:


Signal Pin 1 Coil A Positive (A1) 2 Coil A Negative (A2) 3 Coil B Positive (B1) 4 Coil B Negative (B2)


Attach one pair to A1/A2 and the other pair to B1/B2. If the motor spin needs to be inverted you can do this in hardware by reversing one of the pairs (e.g. swap A1 with A2 and vice versa), or in software by using the polarity setting.

Connect the motors to the grblShield, remembering Rule #3: NEVER CONNECT OR DISCONNECT BOARDS OR MOTORS WHEN ANYTHING IS POWERED.

grbl Settings

Please go here for guidance on grbl 0.8 Settings

Setting Motor Current

Motor current for each axis is adjusted with the 3mm trimpot next to that axis. Clockwise increases current, counter-clockwise decreases current.

Do not over-torque these pots - they are tiny and gentle and will break. The pots have 270 degrees of rotation.

You want the motor current set slightly above the range you need for your application, but not much higher. Overdriving the motors draws more current and risks overheating or thermal shutdown.

Start by setting current to zero by turning the trimpot all the way counter-clockwise. Then issue a very long Gcode command for that axis, something like g0x1000 Turn the trimpot clockwise until the motor starts moving reliably. You can hit the reset button and re-enter the Gcode command to verify that it will start at this current setting. Mark this lower bound pot setting.

Next continue to turn up the pot until the motor starts to cycle on and off - indicating thermal shutdown is occuring. Now back off until the cycling stops. Cycling will occur under thermal shutdown, and only gets more severe as the current goes up - where it appears the motor is stuttering. Thermal shutdown is, of course, to be avoided, but we've never seen it actually damage the drivers or motors and we've seen some pretty abusive cases! Mark the spot just below thermal shutdown as the upper limit. Now read about cooling to increase the upper limit. Cooling

You can get more headroom before thermal shutdown by cooling the board. As much of the board as possible is 2 oz. heatsink copper. Both top and bottom copper provide cooling. But you can only do so much given the limits of the Arduino shield footprint.

Heatsinking the drivers will help. We (will) offer some small heatsinks on the site, or a normal DIP or T0-220 heatsink will fit (if somewhat off-center, due to the caps).

Better still is a fan blowing over the board and through the gap between the shield and the arduino.

Or both.

Microstepping

The microstepping setting shipped from Synthetos is all set to 8x (unless you got a "Shapeokomod" added on to your order), which is the maximum resolution the drivers support. Note: See spec sheet for the TI DRV 8818 Spec Sheet for more information.

If you want to change the the jumper settings you need to add or remove standard .100 jumpers to 4 pin male headers. See Image Below: grblShield v4 The image above does not show 8x micro stepping configuration. However, if you want 8x just remove all jumpers from the board.

Streaming Gcode to grbl

Grbl wants to see gcode fed to it over the USB serial port one line at a time. It like to synchronize on the "ok" prompt. The officially supported software for doing this is gcodeSender.

You can download gcodeSender here.

Use and Enjoy!

Have fun with your grblShield.

The info above should have given you enough information to get going. However if you find yourself stuck and need further assistance, have feature ideas or requests, or just want to comment, please feel free to go to the forums.

Clone this wiki locally