This is a quick guide to help with assembling the Arduino CNC Shield V3.XX.
We also have a discussion forum for this board : http://forum.protoneer.co.nz/viewforum.php?f=6
- Assembly Steps
- First Run
- Jumper Settings.
- 4th Axis Configuration
- End Stop Configuration
- Configuring Micro Stepping for Each Axis
- First step is to solder the Power Wire( or Fuse) and 10K (R1) resistor in place. (Version 3.03 and on does not need the Power Wire anymore.)
- Reset button is next.
- Majority of the assembly work is soldering the provided header pins in place. For me the easiest way is to start with pins on one side and work to the other side. By doing this the board will lean-to one side forcing the next pins you are working on to be inserted all the way into the board (Ready to be soldered in place).
- Because of the height of the capacitors needed, we decided to mount them horizontally utilizing all the space under the stepper drives. This also leaves a bigger gap between the capacitors and the stepper drivers allowing more ventilation.
- To mount the capacitors horizontally start by bending the capacitor leads 90 degrees.
- Then solder them in place making sure that positive lead is on the side with the ” + “. Capacitors are usually marked with a ” – ” indicating the ground/negative lead.
- Before soldering the stepper driver headers in place it might be easier to solder the Arduino headers in place. I usually do it by inserting the headers into an Arduino board and then by placing the shield on top of them before I soldering them in place. This ensures that the headers are always aligned and straight.
- Last bits are to Solder the Stepper driver headers in place. I use the same principle as with the Arduino Board to align the Stepper Driver headers.
- Last but not least is to install the screw terminals for the power.
The Arduino CNC Shield supports power supplies up to 36V. That does not mean that all Pololu Stepper drivers can run that high. A4988 drivers are not designed to run at 36V and will blow up the first time you power them up at that voltage. The 36V are for drivers like the Pololu DRV8825 that can run on +36V.
To make sure all parts function as they should, we need to go through a pre-flight checklist.
- Do a visual check of all soldered points on the new board.
- Plug the shield into an Arduino board with a pre-installed copy of the GRBL Firmware.
- Open up a serial connection to the Arduino board and check if GRBL is running.(I use Putty to connect to GRBL)
- Pololu stepper drivers need adjustment and it’s good to have a read through their online manuals at Pololu.com
- Testing each stepper controller socket individually is critical.
- Make sure the external high voltage power is not power-up or connected
- Connect a stepper motor to the stepper controller socket you want to test. This is very important because the Pololu Stepper drivers are designed to ramp up the current till it reaches the needed current to run. Without a stepper motor connected there will be nothing to consume the current and you can end up damaging the stepper driver if it over-heats in the process.
- Next, install the stepper motor driver ensuring that the enable pin on the driver aligns with the enable pin on the shield.
- Connect the external power to the shield, making sure you connect the power up the right way. If not connected the right way you can cause damage to the shield, stepper motor drivers and Arduino board.
- Send a g-Code to the Axis you are testing. The stepper motor should move if everything is working. (GCode Example : “G1 X5? or “G1 X0? or “G1 Y5?)
- Repeat the above process with each axis using the same stepper driver.(Testing with one driver reduces the risk of damaging multiple stepper drivers at the same time.)
- After all the above have been checked connect all the drivers and power up the system.
Tips and info
- When the stepper drivers are enabled they will make funny vibrating noises. This is normal. For more details have a look at this wiki page(Chopper Drivers).
- The stepper drivers will get warm and need cooling if they are going to be used for long periods. Small heat sinks and extractor fans are advised.
- Having extra stepper drivers is always handy.
- Some of the stepper drivers have thermal protection and will cut out if the temperature gets to high. This is a good sign that they need cooling or that they are over powered.
Jumpers are used to configure the 4th Axis, Micro stepping and endstop configuration.
The next few sections explains how its done.
4th Axis Configuration
Using two jumpers the 4th axis can be configured to clone the X or Y or Z axis. It can also run as an individual axis by using Digital Pin 12 for Stepping signal and Digital Pin 13 as direction signal. (GRBL only supports 3 axis’s at the moment)
Clone X-Axis to the 4th stepper driver(Marked as A)
Clone Y-Axis to the 4th stepper driver(Marked as A)
Clone Z-Axis to the 4th stepper driver(Marked as A)
Use D12 and D13 to drive the 4th stepper driver(Marked as A)
End Stop Configuration
By default GRBL is configured to trigger an alert if an end-stop goes low(Gets grounded). On the forums this has been much debated and some people requested to have active High end-stops. The jumpers in the picture provides the option to do both. (To run with default setting on GRBL the jumper need to be connected like the left shield in the image below)(This Jumper was only introduced in Version 3.02)
End-stop switches are standard “always open” switches. An End-stop gets activated when the end-stop pin connects to ground(When setup with default GRBL settings).
Configuring Micro Stepping for Each Axis
Each axis has 3 jumpers that can be set to configure the micro stepping for the axis.
In the tables below High indicates that a Jumper is insert and Low indicates that no jumper is inserted.
Pololu A4988 Stepper Driver configuration:
Pololu DRV8825 Stepper Driver configuration:
Example of full micro stepping (All 3 jumpers inserted for all axes ):