GOVERNMENT ENGINEERING COLLEGE IDUKKI PAINAVU 685 603 2D ROBOTIC PLOTTER (CNC MODEL) MAIN PROJECT REPORT Submitted By ALEENA BOBAN (12004725) ANANDKRISHNAN V S (12004728) SABANA UNNIKRISHNAN (12004768) SHIBIL P B (12004772) In partial fulfilment of BACHELOR OF TECHNOLOGY ELECTRONICS AND COMMUNICATION ENGINEERING MAHATMA GANDHI UNIVERSITY MAY 2016
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
GOVERNMENT ENGINEERING COLLEGE IDUKKI
PAINAVU 685 603
2D ROBOTIC PLOTTER
(CNC MODEL)
MAIN PROJECT REPORT
Submitted By
ALEENA BOBAN (12004725)
ANANDKRISHNAN V S (12004728)
SABANA UNNIKRISHNAN (12004768)
SHIBIL P B (12004772)
In partial fulfilment
of
BACHELOR OF TECHNOLOGY
ELECTRONICS AND COMMUNICATION
ENGINEERING
MAHATMA GANDHI UNIVERSITY
MAY 2016
GOVERNMENT ENGINEERING COLLEGEIDUKKI
PAINAVU 685 603
DEPARTMENT OF
ELECTRONICS AND COMMUNICATIONENGINEERING
BONAFIDE CERTIFICATE
This is to certify that the project report entitled 2D ROBOTIC PLOTTER (CNC MODEL)
is a bonafide record of the paper presented by ALEENA BOBAN (Reg.no:12004725),
ANANDKRISHNAN V S (Reg. no:12004728),SABANA UNNIKRISHNAN (Reg
.no:12004768), SHIBIL P B (Reg.no:12004772) during their final semester in partial
fulfillment of the requirement for the award of B-Tech Degree in Electronics & Communi-
cation Engineering of Mahatma Gandhi University, Kottayam, Kerala.
PROJECT GUIDE PROJECT COORDINATOR
Linu Shine Dr.S Santhosh Kumar
Asst.Prof ECE Asso.Prof ECE
HEAD OF THE DEPARTMENT
DECLARATION
I hereby declare that the project titled 2D ROBOTIC PLOTTER (CNC MODEL) being
submitted in partial fulfillment for the award of B.Tech degree is the original work carried out
by me. It has not formed the part of any other thesis submitted for award of any degree or
diploma, either in this or any other University.
(Signature of the Candidate)
NAME:
Register No:
3
ACKNOWLEDGEMNT
We give all honor and praise to the LORD who gave us wisdom and enabled us to complete
this project successfully.
We express our heartfelt thanks to Dr. Asok Kumar N, Government Engineering College,
Idukki for granting us permission to do the project.
We express our sincere thanks to our head of the department Prof.Jalaja M J and project guide
Ms Linu Shine and project coordinator Dr.S Santhosh Kumar for their valuable advice and
guidance.
We also express our gratitude and thanks to all our teachers and other faculty members of the
department of Electronics and Communication, Government Engineering College, Idukki for
their sincere and friendly cooperation in completing this project.
We are extremely grateful to our parents for their silent prayer.
4
ABSTRACT
2D Robotic Plotter is an embedded system that works based on the principle Computer
Numerical Control.Robotic 2D Plotter basically works with two stepper motors and a
servo motor, wherein the robot plots the input given from the computer on the drawing
board using ATMEGA 328p microcontroller on a open-source physical computing platform
Arduino. The Robotic 2D plotter has a two axis control and a special mechanism to raise and
lower the pen. Each axis is powered and driven by using an Arduino compactable driver
L293D. Pen control is achieved using a servo.The X and Y axis mainly consists of step-
per motors taken from CD-drives.The software used for programming the Arduino board are
namely Inkscape(0.48.5),Processing (3.0.2),CAMOTICS,Arduino IDE.The correct and efficient
arrangement and proper use of the programs along with the circuit makes up an efficient 2D
stars and isometric boxes), text and regions containing raster graphics. It also supports image
tracing, enabling the editor to create vector graphics from photos and other raster sources.
Created shapes can be subjected to further transformations, such as moving, rotating, scaling
and skewing. These objects may be filled with solid colors, patterns, radiant or linear color
gradient, their borders stroked or their transparency changed.
Inkscape SVG-based vector drawing program is useful for drawing:
• Illustrations for the Web.
• Graphics for mobile phones.
• Simple line drawings.
• Cartoons.
• Complex works of art.
• Figures for articles and books.
• Organization charts.
The file format that Inkscape uses is compact and quickly transmittable over the Internet. Yet
it is powerful and can describe complex drawings that are scalable to any size. Support for the
format has been added to web browsers and is already included in many mobile phones.
Inkscape supports the drawing of regular shapes (rectangles, circles, etc.), arbitrary paths, and
text. These objects can be given a wide variety of attributes such as color, gradient or pat-
terned fills, alpha blending, and markers. Objects can be transformed, cloned, and grouped.
Hyperlinks can be added for use in web browsers. The Inkscape program aims to be fully XML,
SVG, and CSS compliant.
Inkscape is available prepackaged for the Windows, Macintosh, and Linux operating systems.
19
The program and its source code are freely available. They can be obtained from the Inkscape
website [http://www.inkscape.org/].
Inkscape is undergoing very rapid development with new features being added and compliance
to the SVG standard being constantly improved.
3.2.2 Inkscape Window
Start by opening Inkscape.This window contains several major areas, many containing clickable
icons or pull-down menus. The following figure shows this window and labels key parts.
The Command Bar, Snap Bar, Tool Controls, and Tool Box are detachable by dragging on the
handles (highlighted in blue) at the far left or top. They can be returned to their normal place
by dragging them back. New in v0.48: Some of the bars change position depending on which
option is selected at the bottom of the View menu. When Default is selected, the Command
Bar is on the top while the Snap Bar is on the right. When Custom is selected, the Command
Bar and the Snap Bar are both on the top. When Wide is selected, the Command Bar and
the Snap Bar are both on the right. By default, Default is used if you are not using a “Wide
Screen” display while Wide is used if you are. A width to height aspect ratio of greater than
1.65 is defined to be wide. These bars, as well as the Palette and Status Bar, can be hidden
using the View Show/Hide submenu.
As Inkscape has grown more complex, the area required to include icons and entry boxes for all
the various items has also grown leading to problems when Inkscape is used on small screens.
The Command Bar, Snap Bar, Tool Controls, and Tool Box have variable widths or heights.
If there are too many items to be shown in the width (height) of the Inkscape window, a small
down arrow will appear on the right side or bottom of the bars. Clicking on this arrow will
open a drop-down menu with access to the missing items.
20
Figure 3.1: Inkscape Window
3.2.3 Inkscape Program
Inkscape has its roots in the program Gill (GNOME Illustrator application) created by Raph
Levian [http:// www.levien.com/] of Ghostscript fame. This project was expanded on by the
Sodipodi [http://sourceforge.net/projects/ sodipodi] program. A different set of goals led to
the split-off of the current Inkscape development effort.
The goal of the writers of Inkscape is to produce a program that can take full advantage of the
SVG standard. This is not a small task. A link to the road map for future development can
be found on the Inkscape website [http:// www.inkscape.org/].
Instructions on installing Inkscape can be found on the Inkscape website. Full functionality
of Inkscape requires additional helper programs to be installed, especially for importing and
exporting files in different graphic formats.
In this project the use of inkscape is to convert any image(formats) into graphics
code usually known as GCODE. .GCODE formats are generated by integrating
inkscape with necessary extension files.
3.2.4 Generating gcode files using inkscape
1. Download and install Inkscape 0.48.5 version.
2. Install an Add-on that enables the export images to gcode files.
3. Open the Inkscape, go to File menu and click ”Document Properties”.
4. Change the custom size.
21
5. Now close this window.
6. Open the required image.
7. Re-size the image to fit our printing area.
8. Click Path from menu and ”Trace Bitmap”.Make required changes.
9. Click ok and close the window.
10. Now, move the gray scale image, and delete the color one behind it. Move the grey image
to the correct place again and click from Path menu ”Object to path”.
11. Final, go to file menu, click save as and select .gcode. Click ok on next window.
GCode Tools: Gcodetools is an open source Inkscape extension, to export gcode for use
with a CNC machine, written in the Python programming language. Inkscape extensions work
in the standard Unix IO model, taking SVG on standard input, and output transformed SVG on
standard output. The Gcodetools extension generates G-Code from the SVG input and writes
it to a file as a side effect of the SVG transformation. This python extension can be easily
downloaded as a .ZIP file from https://github.com/martymcguire/inkscape-unicorn
3.3 CAMotics
CAMotics is an Open-Source software which simulates 3-axis CNC milling or engraving. It is
a fast, flexible and user friendly simulation software for the DIY and Open-Source community.
CAMotics works on Linux, OS-X and Windows.
Being able to simulate is a critical part of creating CNC tool paths. Programming a CNC
with out a simulator is cutting without measuring; it’s both dangerous and expensive. With
CAMotics we can preview the results of your cutting operation before you fire up your machine.
This will save the time and money and open up a world of creative possibilities by allowing us
to rapidly visualize and improve upon designs without wasting material or breaking tools.
At home manufacturing is one of the next big technology revolut There have been major
advances in desktop 3D printing (e.g. Maker Bot) yet uptake of desktop CNCs has lagged
despite the availability of cheap CNC machines. One of the major reasons for this is a lack of
Open-Source simulation and CAM (3D model to tool path conversion) software. CAM and NC
machine simulation present some very difficult, yet not insurmountable, programming chal-
lenges. Whereas, 3D printing simulation and tool path generation are much easier.
CAMotics aims to be a useful CNC simulation platform for the DIY and Open-Source com-
munity. CAMotics should serve the highly technical user but remain simple and user friendly
enough to support less techie types as well.
22
Features
• Fast 3-axis cut-workpiece simulation with 3D visualization.
• Simulates cylindrical, conical, ballnose, spheroid and snubnose tool shapes.
• Tool path 3D visualization.
• Multi-threaded rendering can take advantage of multi-processor CPUs.
• GCode parsing, simulation, verification and annotation.
• Supports LinuxCNC (AKA EMC2) O-codes.
• Export cut workpiece to STL file.
• Tool table editing.
• Add height probing to 2D GCode files. Very useful for circuit board cutting and metal
engraving.
• 2D GCode path optimization.
• Operates in Windows and Linux.
• Released under the GPL v2+ license.
Limitations
• Simulates only snapshots of the cutting process.
• No 5-axis simulation.
• No Lathe simulation.
• No CAM facilities yet, e.g. 3D model to tool path conversion.
• No CNC machine control, not a replacement for LinuxCNC or MACH3.
• Does not yet detect over/under cutting, collisions with the tool shaft or fixtures or rapid
moves in the material.
• Not all of the LinuxCNC G-Code language is implemented, yet.
23
3.4 Arduino IDE
The Arduino project provides the Arduino integrated development environment (IDE), which
is a cross-platform application written in the programming language Java. It originated from
the IDE for the languages Processing and Wiring. It is designed to introduce programming to
artists and other newcomers unfamiliar with software development. It includes a code editor
with features such as syntax highlighting, brace matching, and automatic indentation, and
provides simple one-click mechanism to compile and load programs to an Arduino board. A
program written with the IDE for Arduino is called a ”sketch”.
The Arduino IDE supports the languages C and C++ using special rules to organize code. The
Arduino IDE supplies a software library called Wiring from the Wiring project, which provides
many common input and output procedures. A typical Arduino C/C++ sketch consist of two
functions that are compiled and linked with a program stub main() into an executable cyclic
executive program:[.2cm]
• setup(): a function that runs once at the start of a program and that can initialize
settings.
• loop(): a function called repeatedly until the board powers off.
After compiling and linking with the GNU toolchain, also included with the IDE distribution,
the Arduino IDE employs the program avrdude to convert the executable code into a text
file in hexadecimal coding that is loaded into the Arduino board by a loader program in the
board’s firmware.
3.5 Processing 3.0.2
Processing is a simple programming environment that was created to make it easier to develop
visually oriented applications with an emphasis on animation and providing users with instant
feedback through interaction. The developers wanted a means to “sketch” ideas in code. As
its capabilities have expanded over the past decade, Processing has come to be used for more
advanced production-level work in addition to its sketching role. Originally built as a domain-
specific extension to Java targeted towards artists and designers, Processing has evolved into a
full-blown design and prototyping tool used for large-scale installation work, motion graphics,
and complex data visualization.
Processing is based on Java, but because program elements in Processing are fairly simple,
you can learn to use it even if you don’t know any Java. If you’re familiar with Java,
it’s best to forget that Processing has anything to do with Java for a while, until you get
the hang of how the API works. The latest version of Processing can be downloaded at
http://processing.org/download.
24
An important goal for the project was to make this type of programming accessible to a wider
audience. For this reason, Processing is free to download, free to use, and open source. But
projects developed using the Processing environment and core libraries can be used for any
purpose. This model is identical to GCC, the GNU Compiler Collection. GCC and its as-
sociated libraries (e.g. libc) are open source under the GNU Public License (GPL), which
stipulates that changes to the code must be made available. However, programs created with
GCC (examples too numerous to mention) are not themselves required to be open source.
Processing consists of:
• The Processing Development Environment (PDE). This is the software that runs when
you double-click the Processing icon. The PDE is an Integrated Development Envi-
ronment (IDE) with a minimalist set of features designed as a simple introduction to
programming or for testing one-off ideas.
• A collection of functions (also referred to as commands or methods) that make up the
“core” programming interface, or API, as well as several libraries that support more ad-
vanced features such as sending data over a network, reading live images from a webcam,
and saving complex imagery in PDF format.
• A language syntax, identical to Java but with a few modifications.
• An active online community, based at http://processing.org.
3.5.1 Sketching with Processing
A Processing program is called a sketch. The idea is to make Java-style programming feel
more like scripting, and adopt the process of scripting to quickly write code. Sketches are
stored in the sketchbook, a folder that’s used as the default location for saving all of your
projects. Sketches that are stored in the sketchbook can be accessed from File Sketchbook.
Alternatively, File Open... can be used to open a sketch from elsewhere on the system.
Advanced programmers need not use the PDE, and may instead choose to use its libraries with
the Java environment of choice. However, for a beginner, it’s recommended to use the PDE to
gain familiarity with the way things are done. While Processing is based on Java, it was never
meant to be a Java IDE with training wheels. The conceptual model (how programs work,
how interfaces are built, and how files are handled) is somewhat different from Java.
25
Figure 3.2: Processing Window
3.6 Conclusion
In this chapter a brief introduction about the type of software used,theoretical and some prac-
tical idea about Inkscape, CAMotics, Arduino IDE and Processing are discussed.
26
Chapter 4
Hardware
4.1 Introduction
In this hardware system consists of a metallic frame, on which is mounted three axis of motion
in a standard Cartesian coordinate system. X and Y axis is driven by a stepper motor driven
by a adafruit L293D motor driver circuit. Z axis is driven by a servo motor.
The different included parts in the project are:
• Arduino UNO.
• ADAFRUIT:MOtor Driver Shield L293D.
• Stepper Motors.
• Servo Motor.
4.2 Arduino UNO
The Uno is a microcontroller board based on the ATmega328P. It has 14 digital input/output
pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal,
a USB connection, a power jack, an ICSP header and a reset button. It contains everything
needed to support the microcontroller; simply connect it to a computer with a USB cable or
power it with a AC-to-DC adapter or battery to get started..Anyone can tinker with the UNO
without worrying too much about doing something wrong, worst case scenario you can replace
the chip for a few dollars and start over again. ”Uno” means one in Italian and was chosen to
mark the release of Arduino Software (IDE) 1.0. The Uno board and version 1.0 of Arduino
Software (IDE) were the reference versions of Arduino, now evolved to newer releases. The Uno
board is the first in a series of USB Arduino boards, and the reference model for the Arduino
27
platform; for an extensive list of current, past or outdated boards see the Arduino index of
boards.
The board features an Atmel ATmega328 microcontroller operating at 5 V with 2Kb of RAM,
32 Kb of flash memory for storing programs and 1 Kb of EEPROM for storing parameters.
The clock speed is 16 MHz, which translates to about executing about 300,000 lines of C source
code per second. The board has 14 digital I/O pins and 6 analog input pins. There is a USB
connector for talking to the host computer and a DC power jack for connecting an external
6-20 V power source, for example a 9 V battery, when running a program while not connected
to the host computer. Headers are provided for interfacing to the I/O pins using 22 g solid
wire or header connectors.
Overview of the Board
Figure 4.1: Arduino UNO
28
4.3 Adafruit L293D Motor Shield
Arduino-compatible boards use printed circuit expansion boards called shields, which plug into
the normally supplied Arduino pin headers. Shields can provide motor controls, Global Posi-
tioning System (GPS), Ethernet, liquid crystal display (LCD), or breadboarding (prototyping).
• 2 connections for 5V servos connected to the Arduino’s high-resolution dedicated timer.
• Up to 4 bi-directional DC motors with individual 8-bit speed selection.
• Up to 2 stepper motors (unipolar or bipolar) with single coil, double coil, interleaved or
micro-stepping.
• 4 H-Bridges: L293D chipset provides 0.6A per bridge (1.2A peak) with thermal shutdown
protection, 4.5V to 25V.
• Pull down resistors keep motors disabled during power-up.
• Big terminal block connectors to easily hook up wires (10-22AWG) and power Arduino
reset button brought up top.
• 2-pin terminal block to connect external power, for seperate logic/motor supplies.
• Tested compatible with Mega, Diecimila, Duemilanove.
Before using the Motor shield, we must install the AFMotorArduinolibrary−thiswillinstructtheArduinohowtotalktotheAdafruitMotorshield, anditisn′toptional.
First, grab the library from github (http://adafru.it/aOA).
Uncompress the ZIP file onto your desktop.
Rename the uncompressed folder AFMotor.
Check that inside AFMotor is AFMotor.cpp and AFMotor.h files. If not, check the steps above.
Place the AFMotor folder into the arduinosketchfolder/libraries folder. For Windows, this will
probably be something like MY Documents/Arduino/libraries for Mac it will be something like
Documents/arduino/libraries. If this is the first time you are installing a library, you’ll need
to create the libraries folder. Make sure to call it libraries exactly, no caps, no other name.
Check that inside the libraries folder there is the AFMotor folder, and inside AFMotor Is
AFMotor.cpp AFMotor.h and some other files.
Quit and restart the IDE. You should now have a submenu called File-Examples-AFMotor-
MotorParty.
29
Figure 4.2: Adafruit L293D Motor Shield
4.4 Servo Motor
A servo motor is an electrical device which can push or rotate an object with great precision.
To rotate and object at some specific angles or distance, servo motor is used. It is just made up
of simple motor which run through servo mechanism. If motor is used is DC powered then it is
called DC servo motor, and if it is AC powered motor then it is called AC servo motor. We can
get a very high torque servo motor in a small and light weight packages. Doe to these features
they are being used in many applications like toy car, RC helicopters and planes, Robotics,
CNC Machine etc. The position of a servo motor is decided by electrical pulse and its circuitry
is placed beside the motor.
4.4.1 Working principle of Servo Motors.
A servo consists of a Motor (DC or AC), a potentiometer, gear assembly and a controlling
circuit. First of all we use gear assembly to reduce RPM and to increase torque of motor. Say
at initial position of servo motor shaft, the position of the potentiometer knob is such that there
is no electrical signal generated at the output port of the potentiometer. Now an electrical
signal is given to another input terminal of the error detector amplifier. Now difference between
these two signals, one comes from potentiometer and another comes from other source, will be
processed in feedback mechanism and output will be provided in term of error signal. This error
signal acts as the input for motor and motor starts rotating. Now motor shaft is connected
with potentiometer and as motor rotates so the potentiometer and it will generate a signal.
So as the potentiometer’s angular position changes, its output feedback signal changes. After
sometime the position of potentiometer reaches at a position that the output of potentiometer
30
Figure 4.3: Servo Motor
is same as external signal provided. At this condition, there will be no output signal from the
amplifier to the motor input as there is no difference between external applied signal and the
signal generated at potentiometer, and in this situation motor stops rotating.
4.4.2 Controlling Servo Motor
Servo motor is controlled by PWM (Pulse with Modulation) which is provided by the control
wires. There is a minimum pulse, a maximum pulse and a repetition rate. Servo motor can
turn 90 degree from either direction form its neutral position. The servo motor expects to see
a pulse every 20 milliseconds (ms) and the length of the pulse will determine how far the motor
turns. For example, a 1.5ms pulse will make the motor turn to the 90 position, such as if pulse
is shorter than 1.5ms shaft moves to 0 and if it is longer than 1.5ms than it will turn the servo
to 180.
Servo motor works on PWM (Pulse width modulation) principle, means its angle of rotation is
controlled by the duration of applied pulse to its Control PIN. Basically servo motor is made
up of DC motor which is controlled by a variable resistor (potentiometer) and some gears. High
speed force of DC motor is converted into torque by Gears. We know that WORK= FORCE X
DISTANCE, in DC motor Force is less and distance (speed) is high and in Servo, force is High
and distance is less. Potentiometer is connected to the output shaft of the Servo, to calculate
the angle and stop the DC motor on required angle. Servo motor can be rotated from 0 to
180 degree, but it can go up to 210 degree, depending on the manufacturing. This degree of
rotation can be controlled by applying the Electrical Pulse of proper width, to its Control pin.
31
Servo checks the pulse in every 20 milliseconds. Pulse of 1 ms (1 millisecond) width can rotate
servo to 0 degree, 1.5ms can rotate to 90 degree (neutral position) and 2 ms pulse can rotate
it to 180 degree.
Figure 4.4: Controlling of Servo Motor (PWM)
4.5 Stepper Motor
A stepper motor is a type of DC motor which has a full rotation divided in an equal number
of steps. It is a type of actuator highly compatible with numerical control means, as it is
essentially an electromechanical converter of digital impulses into proportional movement of its
shaft, providing precise speed, position and direction control in an open-loop fashion, without
requiring encoders, end-of-line switches or other types of sensors as conventional electric motors
require. he steps of a stepper motor represent discrete angular movements, that take place in
a successive fashion and are equal in displacement, when functioning correctly the number of
steps performed must be equal to the control impulses applied to the phases of the motor. The
final position of the rotor is given by the total angular displacement resulting from the number of
steps performed. This position is kept until a new impulse, or sequence of impulses, is applied.
32
These properties make the stepper motor an excellent execution element of open-loop control
systems. A stepper motor does not lose steps, i.e. no slippage occurs, it remains synchronous
to control impulses even from standstill or when braked, thanks to this characteristic a stepper
motor can be started, stopped or reversed in a sudden fashion without losing steps throughout
its operation.
Figure 4.5: Stepper Motor
4.6 Conclusion
In this chapter all the details about the hardwares used such as Arduino UNO board,Adafruit
L293D Motor Shield,Stepper Motors and Servo Motors are discussed.
33
Chapter 5
Industrial Design
5.1 Introduction
The complete mechanical system was designed in the metallic CD drive cover.
The designs in the project are :
• X-Y Direction.
• Pen setup.
• Stand holding the Whole.
• Final Setup
Y-axis: basic axis carries X-axis move from front to back.
X-axis: carries Z-axis move from left to right.
Z-axis: carries pen part move up and down.
5.2 X-Y Direction
In computing, an optical disc drive (ODD) is a disk drive that uses laser light or electromagnetic
waves within or near the visible light spectrum as part of the process of reading or writing data
to or from optical discs. Some drives can only read from certain discs, but recent drives can
both read and record, also called burners or writers. Compact discs, DVDs, and Blu-ray discs
are common types of optical media which can be read and recorded by such drives. Optical disc
drives that are no longer in production include CD-ROM drive, CD writer drive, and combo
(CD-RW/DVD-ROM) drive. As of 2015, DVD writer drive is the most common for desktop
PCs and laptops. There are also the DVD-ROM drive, BD-ROM drive, Blu-ray Disc combo
(BD-ROM/DVDRW/CD-RW) drive, and Blu-ray Disc writer drive.
The stepper motor setup of CD drives are used in X-Y direction co-ordinate axis.
34
Figure 5.1: Lens Frame in CD Drive (Containing Stepper Motor)
5.3 Stand holding the whole
The stand holding all the parts are made by the outer metallic cover of the cd drive. Two
covers are welded together perpendicularly for holding the x and y axis.
Figure 5.2: CD Drive Cover
5.4 Pen Setup (Z-axis)
For pen setup (z axis) high-density fiberboard (HDF) is used. It is a type of fiberboard, which
is an petroleum by product. It is of light weight.Servomotor is adjusted inside the HDF to get
the up and movement required to plot the object.
5.5 Final Setup
All the sections are integrated together to get a good output.
35
Figure 5.3: Pensetup
Figure 5.4: View 1 Figure 5.5: View 2
5.6 Conclusion
In this chapter the design setup used in this project is discussed to give an idea on the me-
chanical section.
36
Chapter 6
Overall View and Setup of the Project
6.1 Introduction
The following steps shows the building stages of a low cost mini cnc plotter. For X and Y axis,
the stepper motors from CD drive is used. Servo motor is used for z axis.Inkscape,Processing
and Arduino IDE gives the command from the computer as gcode to the arduino board to get
the plotted output
Main Block Diagram
Figure 6.1: Main Block Diagram
37
6.2 Steps Involved in the Project
Step 1-Industrial Design
1. First step to start building this cnc machine is to disassemble two dvd/cd drives and take
off them the stepper motors. Use the screwdriver to open them and take off them the
rails.
2. The outer metallic cover of cd drive is welded perpendicularly to make the stand holding
the x and y axis.
3. Attach the cd drive stepper motor setup as x and y axis. And make sure that the Y axis
is straight to CNC base and the X axis vertically to it.
4. Z axis (pen setup) is attached to the x axis. The pen setup is made up of HDF, the servo
motor is attached to it and the pen is setup inside the fiber using screw and spring.
5. A metallic base is attached to the Y axis for using as paper base. Then a paper is put
above it with the help some magnets.The printing area is 4x4cm.
Step 2-Arduino and Stepper Motor Setup
1. The adafruit L293D motor driver sheild compactible with the Arduino board is mounted
on it.
2. The Arduino is connected the computer port.
3. Check the stepper motors and the servo motor.
4. The stepper motors and the servo motor are connected to the motor shield.
5. The external power is connected. (Trainer Kit 12v,3A)
Step 3-Burning of Program and Gcode take in
1. The mini cnc plotting sketch is burned to the Arduino microprocessor (ATmega 328) by
using Arduino IDE.
2. Gcode is made by Inkscape program.
3. Then use the gctrl.pde processing program. This program sends ’gcode’ images to the cnc
plotter.
4. Plotting of the image is done.
38
6.3 Result
Integrating the software along with the hardware and mechanical systems makes up an effective
2D plotter.
Figure 6.2: Plotted Output Image
6.4 Conclusion
In this chapter the steps involved in setting-up the plotter and final result are discussed.
39
Chapter 7
Applications
The main applications of CNC machines comes in industrial field.Some of them are discussed
below:
• Metal Removal Applications – CNC machines are extensively used in industries where
metal removal is required. The machines remove excess metal from raw materials to create
complex parts. A good example of this would be the automotive industries where gears,
shafts and other complex parts are carved from the raw material. CNC machines are also
used in the manufacturing industries for producing rectangular, square, rounded and even
threaded jobs. All processes, such as milling, grinding, turning, boring, reaming, etc, can
be controlled and carried out by these CNC machines using specific machine tools for each
task.
• Metal Fabrication Industry – Many industries require thin plates for different pur-
poses. These industries use CNC machines for a number of machining operations such
as plasma or flame cutting, laser cutting, shearing, forming and welding to create these
plates. CNC plasma or laser cutters are used for shaping metal, while CNC turret presses
are used for operations like punching holes. Other operations like bending metal plates
can also be carried out with very high precision using CNC press brakes.
• Electrical Discharge Machining Applications – Electrical Discharge Machines, or
EDMs as they are also known, remove metal from the raw material by producing sparks
that burn away the excess metal. EDM machining through CNC automation is carried
out in two different ways; first through Wire EDM and second through Vertical EDM.
CNC automated Wire EDM is used to punch and then die combinations for creating die
sets used in the fabrication industry. CNC automated Vertical EDM requires an electrode
in the same size and shape as the cavity that needs to be carved out.
40
Chapter 8
Conclusion and Future Aspects
In modern CNC systems, end-to-end component design is highly automated using computer-
aided design (CAD) and computer-aided manufacturing (CAM) programs. The programs
produce a computer file that is interpreted to extract the commands needed to operate a
particular machine by use of a post processor, and then loaded into the CNCmachines for
production. Since any particular component might require the use of a number of different
tools – drills, saws, etc., modern machines often combine multiple tools into a single ”cell”.
In other installations, a number of different machines are used with an external controller and
human or robotic operators that move the component from machine to machine. In either
case, the series of steps needed to produce any part is highly automated and produces a part
that closely matches the original CAD design.
PCB Mill (Future)
A PCB Mill is a device that etches out a pattern on a copper clad board such that it makes a
Printed Circuit Board (PCB). PCBs are used everywhere in the field of electrical engineering
to connect electrical components to one another. Typically, after a board is designed, the
layout files are sent to a manufacturer who then makes the board and ships it back to the
customer. When prototyping, the delay and setup costs associated with sending a layout to a
manufacturer can often mean days of down time. While this may not seem costly at first, it can
prove to be a significant nuisance since most boards contain a wiring bug that was overlooked
or misunderstood and must then be remade.
41
Bibliography
1. Venkatram Ramachandran, Evaluation of Performance Criteria of CNC
Machine Tool Drive System, IEEE Transactions on Industrial Electron-
ics, Vol. 45, No. 3, June 1998, pp. 462-468.
2. Jae Wook Jeon and Young Youl Ha, A Generalized Approach for the
Acceleration and Deceleration of Industrial Robots and CNC Machine
Tools, IEEE Transactions on Industrial Electronics, Vol. 47, No. 1,
February 2000, pp. 133-139.
3. Allen G. Morinec, Power Quality Considerations for CNC Machines:
Grounding, IEEE Transactions on Industrial Electronics, Vol. 38, No. 1,
January/February 2002, pp. 3-11.
4. Dr M Shivakumar, Stafford Michahail, Ankitha Tantry H, Bhawana C K,
Kavana H and Kavya V Rao, Robotic 2D Plotter, International Journal
of Engineering and Innovative Technology (IJEIT), Volume 3, Issue 10,
April 2014, pp.300-303.
5. Venkata Krishna Pabolu et al., Design and Implementation of a Three
Dimensional CNC Machine (IJCSE) International Journal on Computer
Science and Engineering Vol. 02, No. 08, 2010, pp. 2567-2570.
6. Mrs. R. Dayana, Gunaseelan P, Microcontroller Based X-Y Plotter, In-
ternational Journal of Advanced Research in Electrical, Electronics and
Instrumentation Engineering, Vol. 3, Special Issue 3, April 2014.
7. Ahn Luong, Willis Lutz, Jared Springle, Ashton Snelgrove, Computer
numerical control 3 axis plotter, University of Utah, Computer Engi-
neering.
8. Hassam Salamah, Ja’far Yasin, PCB CNC Machine, An-Najah national
University, Computer Engineering.
9. W Durfee, Arduino Microcontroller Guide, University of Minnesota.
10. Steve Krar, Arthur Gill, Computer Numerical Control Programming