Cart

High Current GRBL CNC Controller

You are here:
< All Topics
Table of Contents

Safety Statement

The author of this document is not liable or responsible for any accidents, injuries, equipment damage, loss of money or loss of time resulting from improper use of electrical or mechanical or software products.

Assembling electrical CNC machine components like power supplied, motors, drivers or other electrical components involves dealing with High voltage AC (alternating current) or DC (direct current) which can be extremely dangerous and needs high attention to detail, experience, knowledge of software, electricity and electro-mechanics or mechanics.

BEFORE MAKING ANY CONNECTIONS OR DISCONNECTIONS, POWER MUST BE REMOVED FROM THE DEVICE AND THE CONTROLLER. FAILURE TO DO SO WILL VOID ANY AND ALL WARRANTIES.

 

1.0 Introduction

This High Current GRBL CNC Controller kit is a modified version of the original GRBL controller. It allows you to use the GRBL system with the High Torque motors to their full potential.

 

2.0 Bundled Parts List

The table below shows the types and quantity of components in the controller bundle.

Part Quantity
Arduino Nano + Terminal Shield 1
TB6600 Stepper Motor Driver 4
4 Core Shielded Xtension Cable 4
2 Core Shielded Xtension Cable 3
DC Cable 16 AWG 5 (m)
DC ground wire 1 (m)
Estop Switch + E-Stop Cable 1
Limit Switch Kits with Spade Connectors 3
Terminal Block 1
MEAN WELL Power Supply 24V 350W 1

3.0 Specifications

The specification for the controller and drivers are shown below:

Arduino UNO Compatible Micro Processor

  • 14 digital I/O pins
  • 6 analogue inputs
  • 16 MHz crystal oscillator
  • 5V Logic
  • Flash Memory: 32 KB (0.5KB used by bootloader)
  • SRAM: 2KB
  • EEPROM: 1KB
  • Input voltage range: 6-20V

TB6600 Stepper Drivers

  • Overheat, over current and short circuit protection
  • Input anti-reverse protection
  • Supports 8 levels of current control
  • Supports 6 levels of micro step adjustment
  • High-speed optocoupler isolation
  • Large heat sink for effective cooling

4.0 Wiring Guide

Below is the wiring guide for this controller. Please make sure to take care when wiring your components as there is risk of damaging the components when wired in incorrectly.

4.1 Arduino Nano

Insert your Arduino Nano into the terminal shield in the manner depicted below. Take care to insert it in the correct orientation.

Click Image to Expand

4.2 TB6600 Stepper Motor Driver Wiring

4.2.1 TB6600 Stepper Motor Driver to Power Supply Wiring

The wiring of the stepper motor drivers is shown below. The polarity of the input power to the driver must be correct as you risk damaging the drivers and the power supply. Please note that ENA+(+5V) and ENA-(ENA). Must be left blank.

The Red wire connects the (V+) terminal of the power supply to (VCC) on the TB6600 stepper motor driver and the black wire connects the (V-) terminal of the power supply to (GND) on the stepper motor driver

Click Image to Expand

4.2.2 TB6600 Looping PUL- and DIR-

The PUL- and DIR- must be looped otherwise the motors will spin in a single direction when running gcode or jogging the machine
This is easily done with the supplied pre-cut lengths of single core wire. Please use the lengths of cable to loop from GND to PUL- and DIR-.

Click Image to Expand

4.3 TB6600 Stepper Motor Driver to Arduino Connection

The Step and Direction Pins for the drivers need to be wired in correctly otherwise there will be undesirable results from the motor. Please also have a look at the pinout table below the Schematic

Click Image to Expand

4.4 Pinout Table

For your convenience, the pinouts for the step and direction pins are listed in the table below:

Arduino Pin TB6600 Pin Axis and Function
GND GND Common Ground
D2 PUL+ X-axis Step/Pulse
D3 PUL+ Y-axis Step/Pulse
D4 PUL+ Z-axis Step/Pulse
D5 DIR+ X-axis Direction
D6 DIR+ Y-axis Direction
D7 DIR+ Z-axis Direction

5.0 Stepper Motor Wiring

5.1 For Lead Screw Transmission Machines:

Your motors must follow a wiring pattern to match the coils. Please note that the below wiring pattern suits our motors. If you are using your own motors, make sure that you adjust the wiring to suit your motors. Our sequence is: Red – Green – Blue – Yellow in coils A+, A-, B+ and B- respectively.

Click Image to Expand

5.2 Belt and Pulley Transmission Machines:

Please repeat this step for each axis of the motor. If you are using this controller bundle with a dual Y axis machine that uses motors that move along the Y gantry like the Ox CNC machine, The A axis wiring sequence must be reversed as shown below:

Click Image to Expand

6.0 Limit Switch Kit Wiring

6.1 Limit switch wiring guide

Limit switches are used to home your machine and stop your machine from bumping in the end of the gantry systems. The limit switches can be wired in the normally open or normally closed configuration.

Click Image to Expand

6.2 Limit Switch Pinout Table

Axis Arduino Nano Pin Limit Switch Pin
X 9 NO
Y 10 NO
Z 12 NO

7.0 Emergency Stop Switch and Mains Power Supply Wiring

7.1 Wiring

This section of the manual required a licenced electrician or similarly qualified individual due to risk of component damage and electrocution. The Live wire must be put through the emergency stop to stop power when the emergency stop is activated. In this case the Live wire is Brown. Please take care to use the proper wiring specific to your country. The color code shown below is the EU colour code.

Click Image to Expand

8.0 Software Installation

8.1 Arduino IDE

Before using the CNC, you will need to install the firmware into the controller. To do this, please follow the steps below in order.

9.1.1. Download the Arduino IDE linked Here. Please take note of the download location. In most cases the default download folder is “Downloads”

9.1.2. Install the IDE by double clicking the file and following the installation process.

9.1.3. You may be required to install CH340 drivers if you are unable to detect the port in the Arduino IDE. Please install the drivers by following this great tutorial here.

8.2 GRBL Firmware

After the arduino IDE installation process has been completed, we can install the GRBL firmware. To do this, please follow the steps below in order:

9.2.1. Download the GRBL firmware from the Github archive Here.

9.2.2 To install the GRBL firmware, please extract the downloaded grbl file named grbl-master. Please locate the file named grbl and copy this file to the Arduino libraries folder. This Arduino IDE folder can be found in Documents\Arduino\libraries.

9.2.3. Before uploading the grbl firmware, we will need to set the firmware up in the software. The correct Microcontroller type and Port must be selected. To choose the microcontroller, please select Tools in the menu select Arduino Nano.

9.2.4. To choose the bootloader type, please select Tools in the menu and select Atmega328P (Old Bootloader).

9.2.5. To choose the port, please select Tools in the menu and select the port that the arduino is connected too. In this example, the port is COM8. Yours may be different.

Click Image to Expand

9.2.6. After installing, please open the Arduino IDE program and locate the installed library. Please go to File/Examples/grbl/grblUpload

Click Image to Expand

9.2.7. The grbl program will then be shown:

Click Image to Expand

9.2.8. Please click the upload button, circled in Red to upload the firmware to the controller. The firmware will then start uploading to the controller. This can take up to a minute. Upon finishing the upload, a message will display that it has uploaded successfully.

Click Image to Expand

 

8.3 Recommended List of Gcode sender

You can use a range of Gcode senders to run your machine and execute the Gcode. Our recommendations are:

  • Universal Gcode Sender
  • SourceRabbit
  • GRBL Panel
  • Candle
  • CNCjs

8.4 GRBL Settings For Lead Screw Machines – Lead CNC, WorkBee, C-Beam Machines

Please edit $130, $131 and $132 to suit your lead screw machine.

Setting Parameter Parameter Function
$0 10 step pulse, usec
$1 255 step idle delay, msec
$2 0 step port invert mask:00000000
$3 0 dir port invert mask:00000000
$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.02 junction deviation, mm
$12 0 arc tolerance, mm
$13 0 report inches, bool
$20 0 soft limits, bool
$21 0 hard limits, bool
$22 0 homing cycle, bool
$23 0 homing dir invert mask:00000000
$24 180 homing feed, mm/min
$25 1800 homing seek, mm/min
$26 250 homing debounce, msec
$27 5 homing pull-off, mm
$100 2000 x, step/mm
$101 2000 y, step/mm
$102 2000 z, step/mm
$110 2000 x max rate, mm/min
$111 2000 y max rate, mm/min
$112 2000 z max rate, mm/min
$120 150 x accel, mm/sec
$121 150 y accel, mm/sec
$122 150 z accel, mm/sec
$130 Machine Specific x max travel, mm
$131 Machine Specific y max travel, mm
$132 Machine Specific z max travel, mm

8.5 GRBL Settings For Belt Driven Machines – Ox CNC

Setting Parameter Parameter Function
$0 10 step pulse, usec
$1 255 step idle delay, msec
$2 0 step port invert mask:00000000
$3 0 dir port invert mask:00000000
$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.02 junction deviation, mm
$12 0 arc tolerance, mm
$13 0 report inches, bool
$20 0 soft limits, bool
$21 0 hard limits, bool
$22 0 homing cycle, bool
$23 0 homing dir invert mask:00000000
$24 180 homing feed, mm/min
$25 1800 homing seek, mm/min
$26 250 homing debounce, msec
$27 5 homing pull-off, mm
$100 26.67 x, step/mm
$101 26.67 y, step/mm
$102 200 z, step/mm
$110 5500 x max rate, mm/min
$111 5500 y max rate, mm/min
$112 2000 z max rate, mm/min
$120 150 x accel, mm/sec
$121 150 y accel, mm/sec
$122 150 z accel, mm/sec
$130 820 x max travel, mm
$131 775 y max travel, mm
$132 70 z max travel, mm