Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
176 views

CNC Instructables PDF

The document describes the design and implementation of a multipurpose printed circuit board fabrication machine. A team of 5 students designed the machine using Solidworks. It uses screw drives for x and y axis movement. Nema17 stepper motors are controlled using A4988 drivers connected to an Arduino board. The software used is Universal G-Code Sender to send commands to the Arduino board running GRBL firmware.

Uploaded by

Nadim Ahmed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views

CNC Instructables PDF

The document describes the design and implementation of a multipurpose printed circuit board fabrication machine. A team of 5 students designed the machine using Solidworks. It uses screw drives for x and y axis movement. Nema17 stepper motors are controlled using A4988 drivers connected to an Arduino board. The software used is Universal G-Code Sender to send commands to the Arduino board running GRBL firmware.

Uploaded by

Nadim Ahmed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Project Report on

Multipurpose Printed Circuit Board Fabrication Machine


Team name-PRIME IMPLICANTS

Team members
1. Nadim Ahmed, ID-152419
2. Sheikh Montasir Mahbub , ID-152415
3. Shadman Alvy Khan, ID-152439
4. Anik Jawad Evan, ID-152411
5. Kassi Nazim,ID-152301

Islamic University of Technology (IUT)


A subsidiary organ of OIC
Board Bazar, Gazipur-1704, Bangladesh
Table of Contents
Step-1:Bill of materials ---------------------------------------------------------------------- 01

Step-2:design ---------------------------------------------------------------------------------- 01

Step-3:Electrical Connections ------------------------------------------------------------- 02

• Controlling Stepper motor with A4988 driver ----------------------------- 02


• A4988 Stepper Driver Pinout ---------------------------------------------------- 03
• Circuit Schematics ------------------------------------------------------------------ 05
• Current Limiting --------------------------------------------------------------------- 06
• Using CNC Shield -------------------------------------------------------------------- 06

Part 4: Software ------------------------------------------------------------------------------- 09

• End Stop Configuration ------------------------------------------------------------ 10


• Configuring Micro Stepping for Each Axis ------------------------------------- 11
Step 1: Bill of Materials
No. Component name Quantity
1 T8 Lead screw 500 mm 8mm + brass copper nut + KP08 bearing Bracket 2
2 Mounting Bracket for Nema 17 Stepper Motor 2
3 SK12 SH12A 12mm linear rail shaft support block 2
4 SC12UU Linear motion ball bearings slide block bushing for 12mm linear shaft guide rail 2
5 12 mm linear shaft L 400 mm chrome plated linear motion guide rail round rod Shaft 2
6 T8 trapezoidal screw nut housing white mounting bracket aluminum 2
7 T8 Anti Backlash Spring Loaded Nut Elimination Gap Nut for 8mm Acme Threaded Rod Lead Screws 2
8 Nema17 Stepper Motor 42 motor Nema 17 motor 42BYGH 1.7A (17HS8401S) 2
9 8mm Bore Diameter KFL08 Pillow Block Bearing Flange Rhombic Bearings 1
10 SHF12 12mm horizontal linear shaft support 12mm Linear Rail Shaft Support 1

Step 2: Design
We have used Solidworks to design the mechanical structures. We are using screw drive method for x
and y axis movement.

1
Step 3 : Electrical Connections

Controlling Stepper motor with A4988 driver:


The A4988 is a microstepping driver for controlling bipolar stepper motors which has built-in
translator for easy operation. This means that we can control the stepper motor with just 2 pins
from our controller, or one for controlling the rotation direction and the other for controlling
the steps.

The Driver provides five different step resolutions: full-step, haft-step, quarter-step, eight-step
and sixteenth-step. Also, it has a potentiometer for adjusting the current output, over-
temperature thermal shutdown and crossover-current protection.

Its logic voltage is from 3 to 5.5 V and the maximum current per phase is 2A if good addition
cooling is provided or 1A continuous current per phase without heat sink or cooling.

2
A4988 Stepper Driver Pinout
Now let’s close look at the pinout of the driver and hook it up with the stepper motor and the
controller. So we will start with the 2 pins on the button right side for powering the driver, the
VDD and Ground pins that we need to connect them to a power supply of 3 to 5.5 V and in our
case that will be our controller, the Arduino Board which will provide 5 V. The following 4 pins
are for connecting the motor. The 1A and 1B pins will be connected to one coil of the motor
and the 2A and 2B pins to the other coil of the motor. For powering the motor we use the next
2 pins, Ground and VMOT that we need to connect them to Power Supply from 8 to 35 V and
also we need to use decoupling capacitor with at least 47 µF for protecting the driver board
from voltage spikes.

The next two 2 pins, Step and Direction are the pins that we actually use for controlling the
motor movements. The Direction pin controls the rotation direction of the motor and we need
to connect it to one of the digital pins on our microcontroller, or in our case I will connect it to
the pin number 4 of my Arduino Board. With the Step pin we control the mirosteps of the
motor and with each pulse sent to this pin the motor moves one step. So that means that we
3
don’t need any complex programming, phase sequence tables, frequency control lines and so
on, because the built-in translator of the A4988 Driver takes care of everything. Here we also
need to mention that these 2 pins are not pulled to any voltage internally, so we should not
leave them floating in our program.

Next is the SLEEP Pin and a logic low puts the board in sleep mode for minimizing power
consumption when the motor is not in use.

Next, the RESET pin sets the translator to a predefined Home state. This Home state or Home
Microstep Position can be seen from these Figures from the A4988 Datasheet. So these are the
initial positions from where the motor starts and they are different depending on the microstep
resolution. If the input state to this pin is a logic low all the STEP inputs will be ignored. The
Reset pin is a floating pin so if we don’t have intention of controlling it with in our program we
need to connect it to the SLEEP pin in order to bring it high and enable the board.

The next 3 pins (MS1, MS2 and MS3) are for selecting one of the five step resolutions according
to the above truth table. These pins have internal pull-down resistors so if we leave them
disconnected, the board will operate in full step mode.

The last one, the ENABLE pin is used for turning on or off the FET outputs. So a logic high will
keep the outputs disabled.

4
Circuit Schematics
Here’s the complete circuit schematics. I will use the drive in Full Step Mode so I will leave the 3
MS pins disconnected and just connect the Direction and the Step pins of the drive to the pins
number 3 and 4 on the Arduino Board and as well the Ground and the 5 V pins for powering the
board. Also I will use a 100µF capacitor for decoupling and 12V, 1.5A adapter for powering the
motor. I will use a NEMA 17 bipolar Stepper Motor and its wires A and C will be connected to
the pins 1A and 1B and the B and D wires to the 2A and 2B pins.

5
Current Limiting
Before we connect the motor we should adjust the current limiting of the driver so that we are
sure that the current is within the current limits of the motor. We can do that by adjusting the
reference voltage using the potentiometer on the board and considering this equation: Current
Limit = VRef x 2

Using CNC Shield


Slide your CNC shield onto your UNO board making sure the pins are flush.

Next add the A4988 Drivers.

On the back of the Drivers you will see the PIN identification. The enable pin must match the EN
pin on the shield.
Now you can fit the heat sinks.

If you do have two step motors on one axis then you can set the jumper to duplicate the
selected axis.

The following jumper setting is set to copy the Y axis on the 4th driver.

Other Pins:

• Limit Switch Pins have been doubled up so that each axis has a “Top/+” and “Bottom/-“. This
makes it easier to install two limit switches for each axis. (For use with a normally open switch)

7
• EStop – These pins can be connected to an emergency stop switch. This does the same as the
RESET button on the Arduino board. (We do advice that an extra emergency button also be
installed that cuts power to all machinery. A REAL EMERGENCY BUTTON)

• Spindle and coolant control has their own pins.

• External GRBL Command Pins have been broken out allowing you to add buttons

Now you can connect the stepper motors:

Finally connect the external 12 volt power supply:

8
Part 4: Software
To send commands to your CNC board you will need a g-code sender.

To download: https://github.com/grbl/Universal-G-Code-Sender

Once downloaded, connect the UNO boards usb to your computer and take note of the COM
port it is connected to.

Run the start-windows.bat or the JAR file directly.

You will be presented with the following screen:

Select your COM port and the Baud rate and click "Open".

Once connected you can enable the "Arrow key movement" and test the stepper motors.

9
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).

10
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:

MS0 MS1 MS2 Microstep Resolution


Low Low Low Full step
High Low Low Half step
Low High Low Quarter step
High High Low Eighth step
High High High Sixteenth step

Pololu DRV8825 Stepper Driver configuration:

MODE0 MODE1 MODE2 Microstep Resolution


Low Low Low Full step
High Low Low Half step
Low High Low 1/4 step
High High Low 1/8 step
Low Low High 1/16 step
High Low High 1/32 step
Low High High 1/32 step
High High High 1/32 step

You might also like