This project deals with the designing and fabrication of an electronic pen plotter using control theory approach. Derivation of dynamic equation and trajectory potting are done usin control theory. Arduino is used as platform for the controlling the joints in the real world. Reduction of nonlinear characteristics of the serial manipulator has been observed.
1. ~ 1 ~
DESIGN AND FABRICATION OF
ELECTRONIC PEN PLOTTER
A
MINOR PROJECT REPORT
SUBMITTED TO THE
UNIVERSITY OF PETROLEUM AND ENERGY STUDIES
FOR THE DEGREE OF
BACHELOR OF TECHNOLOGY
IN
MECHATRONICS ENGINEERING
Submitted By
Abhishek Mittal 500047398
Ajinkya Deshmukh 500045814
Jatin Gupta 500047508
Ruturaj Gaikwad 500046520
UNDER THE GUIDANCE OF
__________________
Mr. Natraj Mishra
(Asst. Professor-SS)
DEPARTMENT OF MECHANICAL ENGINEERING
UNIVERSITY OF PETROLEUM AND ENERGY STUDIES
DEHRADUN-248007
MAY 2018
2. ~ 2 ~
CANDIDATE’S DECLARATION
I/We hereby certify that the project work entitled “Design and Fabrication of electronic
pen plotter” in partial fulfilment of the requirements for the award of the Degree of Bachelor
of Technology in Mechatronics Engineering and submitted to the Department of Mechanical
Engineering at School of Engineering Studies, University of Petroleum & Energy Studies,
Dehradun, is an authentic record of my/ our work carried out during a period from August,
2017 to May 2017 under the supervision of Mr. Natraj Mishra.
The matter presented in this project has not been submitted by me/ us for the award of
any other degree of this or any other University.
(Abhishek, Ajinkya, Jatin, Ruturaj)
Roll No.04, 07, 30, 54
This is to certify that the above statement made by the candidate is correct to the
best of my knowledge.
Date: _____________
Mr. Natraj Mishra
(Project Guide)
Dr. Narayan Khatri
Head – Department of Mechatronics
School of Engineering Studies
University of Petroleum & Energy Studies
3. ~ 3 ~
UNIVERSITY OF PETROLEUM AND ENERGY STUDIES
Department of Mechanical Engineering
Dehradun
Certificate
This is to certify that the “Design and Fabrication of Electronic Pen plotter” has been
successfully completed by Abhishek, Ajinkya, Ruturaj and Jatin with the Enrollment number
R880215004, 07, 54, 30 for the degree of B.Tech in Mechanical Engineering. The lab work
has been reviewed by Natraj Mishra and found satisfactory for the completion of the project.
Dr. Narayan Khatri Mr. Natraj Mishra
HOD – Mechatronics Engineering Project Guide
4. ~ 4 ~
ACKNOWLEDGEMENT
We give all honor and praise to the LORD who gave us wisdom and enabled us to complete
this project successfully.
The success and final outcome of this project required a lot of guidance and assistance from
many people and we are extremely privileged to have got this all along the completion of my
project. All that we have done is only due to such supervision and assistance and we would
not forget to thank them.
We respect and owe our deepest gratitude to our project mentor Mr. NATRAJ MISHRA, for
providing US an opportunity to do the project work and giving us all support and guidance
which made us complete the project duly. We are extremely thankful to him for providing
such a nice support and guidance.
We are thankful to and fortunate enough to get constant encouragement, support and
guidance from all teaching staffs of Department of Mechanical Engineering which helped us
in successfully completing our project work. Also, we would like to extend our sincere
esteems to all staff in laboratory for their timely support.
We are extremely grateful to our parents for their silent prayer.
5. ~ 5 ~
ABSTRACT
The Electronic Pen Plotter is a robot that works on the principles of robot dynamics and
electronic controls. Electronic Pen 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 a microcontroller on an open-source physical computing platform Arduino. The
Electronic Pen 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 IC A4899.
Pen control is achieved using a Servo Motor (SG-90).The X and Y axis mainly consists of
step-per motors .The software used for programming the Arduino board are namely Inkscape
(0.48.5), Processing (3.0.2), Arduino IDE. The correct and efficient arrangement and proper
use of the programs along with the circuit makes up an efficient Electronic Pen Plotter. We
have tried to achieve the applications of robot dynamics, computer numerical control and
electronic control of stepper motors for accuracy.
6. ~ 6 ~
TABLE OF CONTENTS
S.No. Contents Page No
1. Introduction 9
1.1. Introduction 9
1.2. Computer Numerical Control 9
1.3. Cartesian Coordinate System 9
1.4 Electronic Pen Plotter 11
1.5. Aim of Project 11
1.6. Literature Review 11
1.7. Conclusion 12
2. Methodology 13
2.1. Hardware 13
2.2. Software 13
2.3. Methodology 13
2.4. Trajectory Plan 16
3. Software 18
3.1. Introduction 18
3.2. Inkspace 18
3.3. Arduino Ide 19
3.4. Processing 20
3.5. Conclusion 20
4. Hardware and Design 21
4.1. Introduction 21
4.1.1. Hardware 21
4.1.2. Design 21
4.2. Hardware Parts 22
4.2.1. Arduino Uno 22
4.2.2. A4899 Motor Driver IC 23
4.2.3. Servo Motor 23
4.2.4. Stepper Motor 24
7. ~ 7 ~
4.3. Design 24
4.3.1. X-Y Direction 24
4.3.2. Pen Setup 25
4.3.3. Final Setup 26
4.4. Conclusion 27
5. Conclusion And Future Aspects 28
Bibliography 29
8. ~ 8 ~
LIST OF FIGURES
S.No. Figure Page No
1. Chapter 1
Fig1.1 Intersecting lines form right angles and establish the zero point 10
Fig1.2 The three-dimensional coordinate planes (axes) 10
Fig 1.3 The quadrants formed when the X and Y axes cross 11
2. Chapter 2
Fig. 2.1 16
Fig.2.2 17
3. Chapter 4
Fig. 4.1 Arduino UNO 23
Fig4.2 A4988 MotorDriverIC 23
Fig4.3 SG90 ServoMotors 24
Fig4.4 StepperMotor 25
Fig 4.5 Dimensions of the Links 26
Fig 4.6 Pen Setup 26
Fig 4.7 Final Setup 27
9. ~ 9 ~
CHAPTER 1
INTRODUCTION
1.1 Introduction:
A serial manipulator consists of a fixed base, a series of links connected by joints, and ending
at a free end carrying the tool or the end-effector. In contrast to parallel manipulators, there
are no closed loops. By actuating the joints, one can position and orient the end-effector in a
plane or in three-dimensional (3D) space to perform desired tasks with the end-effector. To
control this serial manipulator we have used a CNC approach where in the machine has the
ability to move a the tool (pen) in 3 axis, meaning that it can position that tool head at a
precise point in or on the material to create the plot for operation desired at that point. By
moving the head through multiple points, the cutting head can cut or sculpt the design
represented by a data stream of positioning points being sent by the PC. By controlling a
CNC machine through a PC it is possible for the user to design a product on-screen, convert it
to CNC-readable code and then send that data to the CNC machine for it to produce a
physical copy of the item designed.
1.2 Computer Numerical Control :
The term numerical control is a widely accepted and commonly used term in the machine
tool industry. Numerical control (NC) enables an operator to communicate with machine
tools through a series of numbers and symbols. NC which quickly became Computer
Numerical Control (CNC) has brought tremendous changes to the metalworking industry.
New machine tools in CNC have enabled industry to consistently produce parts to accuracies
undreamed of only a few years ago. The same part can be reproduced to the same degree of
accuracy any number of times if the CNC program has been properly prepared and the
computer properly programmed. The operating commands which control the machine tool are
executed automatically with amazing speed and accuracy.
1.3 Cartesian Coordinate System
Almost everything that can be produced on a conventional machine tool can be produced on a
computer numerical control machine tool, with its many advantages. The machine tool
movements used in producing a product are of two basic types: point to point (straight-line
movements) and continuous path (contouring movements).The Cartesian, or rectangular,
coordinate system was devised by the French mathematician and philosopher Rene’
Descartes. With this system, any specific point can be described in mathematical terms from
any other point along three perpendicular axes. This concept fits machine tools perfectly
since their construction is generally based on three axes of motion (X, Y, Z) plus an axis of
rotation. On a plain vertical milling machine, the X axis is the horizontal movement (right or
left) of the table, the Y axis is the table cross movement (toward or away from the column),
and the Z axis is the vertical movement of the knee or the spindle. CNC systems rely heavily
on the use of rectangular coordinates because the programmer can locate every point on a job
precisely.
The three-dimensional coordinate planes are shown in Fig. 1.2. The X and Y planes (axes)
are horizontal and represent horizontal machine table motions. The Z plane or axis represents,
the vertical tool motion. The plus (+) and minus (-) signs indicate the direction from the zero
10. ~ 10 ~
point (origin) along the axis of movement. The four quadrants formed when the XY axes
cross are numbered in a counterclockwise direction (Fig. 1.3). All positions located in
quadrant 1 would be positive (X+) and positive (Y+). In the second quadrant, all positions
would be negative X (X-) and positive (Y+). In the third quadrant, all locations would be
negative X (X-) and negative (Y-). In the fourth quadrant, all locations would be positive X
(X+) and negative Y (Y-). In Fig. 1.3 , point A would be 2 units to the right of the Y axis and
2 units
Figure 1.3: The quadrants formed when the X and Y axes cross are used to accurately located
above the X axis. Assume that each unit equals 1.000. The location of point A would be X
+.2.000 and Y + 2.000. For point B, the location would be X + 1.000 and Y - 2.000. In CNC
programming it is not necessary to indicate plus (+) values since these are assumed.
However, the minus (-) values must be indicated. For example, the locations of both A and B
would be indicated as follows:
A X2.000Y2.000
B X1.000Y-2.000
Fig.1.1: Intersecting lines form right angles and establish the zero point
Fig1.2 The three-dimensional coordinate planes (axes)
CNC
11. ~ 11 ~
Fig 1.3 The quadrants formed when the X and Y axes cross
1.4 Electronic Pen Plotter
Robotics is the branch of technology that deals with the design, construction,
operation, and application of robots, as well as computer systems for their control, sensory
feedback, and information processing. The design of a given robotic system will often
incorporate principles of mechanical engineering, electronic engineering and computer
science (particularly artificial intelligence).The term ’robotics’ was coined by Isaac Asimov
in his science fiction short story called ’Liar’. Robot is an electro-mechanical machine which
is guided by an electronic circuitry or computer program to perform various tasks. A robotic
arm is a robotic manipulator, usually programmable, with functions similar to that of human
arm. Electronic Pen Plotter is a plotter that offers the fastest way to efficiently produce very
large drawings. Pen plotters will be able to print by moving a pen or other writing device
across the surface of a piece of paper. This means that plotters are vector graphics devices,
rather than raster graphics. Pen plotters can draw complex line art, including text, but do so
slowly because of the mechanical movement of the writing device such as pen.
1.5 Aim of the Project
Plotting basic shapes using the robot.
Developing an understanding of robot dynamics and electronic control of stepper
motors.
1.6 Literature Review
1. 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 Indus- trial Electronics, Vol. 47, No. 1, February 2000, pp.
133-139.
Many techniques for the acceleration and deceleration of industrial robots and
computer numerical control (CNC) machine tools have been proposed in order to
make industrial robots and CNC machine tools perform given tasks efficiently.
12. ~ 12 ~
Although the techniques selecting polynomial functions can generate various
acceleration and deceleration charateristics, the major problem is the
computational load. The digital convolution techniques are more efficient than the
techniques selecting polynomial functions. However, neither velocity profiles of
which the deceleration characteristics is independent from the accel- eration
characteristics nor those of which the acceleration interval is different from the
deceleration interval can be generated by the digital convolution techniques. This
paper proposes a generalized approach for generating velocity profiles that cannot
be generated by the digital convolution techniques. According to the desired
characteristics of acceleration and deceleration, each set of coefficients is
calculated and is stored. Given a moving distance, and acceleration and
deceleration intervals, a velocity profile having the desired characteristics of
acceleration and deceleration can be efficiently generated by using these
coefficients. Several velocity profiles generated by the proposed technique will be
applied to one single-axis control system.
2. Allen G. Morinec, Power Quality Considerations for industrial robot Machines:
Grounding, IEEE Transactions on Industrial Electronics, Vol. 38, No. 1,
January/February 2002, pp. 3-11. This paper begins with a brief explanation of the
fundamentals of service and equipment grounding. The basic design of machines
is also explained. Based on a survey of several machine representatives, the paper
will explore the common grounding techniques recommended by many machine
tool builders with particular emphasis on the ground-rod problem. In addition,
several actual case studies that support the ground-rod problem will be described.
Finally, a recommended power- ing and grounding practice is presented to help
eliminate power quality related operating problems with machines while
maintaining the safety requirements of electrical codes.
1.7 Conclusion:
In this chapter, brief introduction of the project, literature review, motivation and
organization of the project has been presented.
13. ~ 13 ~
CHAPTER 2
METHODOLOGY
2.1 Hardware:
Electronic hardware consists of interconnected electronic components which perform analog
or logic operations on received and locally stored information to produce as output or store
resulting new information or to provide control for output actuator mechanisms. Electronic
hardware can range from individual chips/circuits to distributed information processing
systems. Well-designed electronic hardware is composed of hierarchies of functional
modules which inter-communicate via precisely defined interfaces. The plotter consists of
two axes operating orthogonally to each other. Each axis includes a mechanism of links that
is driven by an appropriate means. Additionally, a third axis, with limited motion capability is
used to actuate the write head.
2.2 Software:
Computer software, or simply software, is that part of a computer system that consists of
encoded information or computer instructions, in contrast to the physical hardware from
which the system is built. The softwares used in this project comes under open source. Open-
source software (OSS) is computer software with its source code made available with a
license in which the copyright holder provides the rights to study, change, and distribute the
software to anyone and for any purpose. Open-source software may be developed in a
collaborative public manner. Open-source software is the most prominent example of open-
source development.
2.3 Methodology:
Dynamic Equations of Motion
With the use of stepper motors, it was imperative to calculate the maximum acceleration the
steppers could handle according to their available torque vs. the load they were driving.
Calculation of the torque required to accelerate the arms is not simply a case of applying the
torque equation but is rather a dynamic problem requiring a dynamic solution. Energy
methods utilizing the Lagrangian was used for this purpose. The following equations describe
the torque at each joint, calculated using the Lagrangian of the system. The derivation is
mathematically intensive, and thus the derivation is shortened as much as possible.
The lagrangian is calculated as the difference between kinetic and potential energies of the
system
Thus the kinetic and potential energy of the system need to be computed. The velocity of the
center of arm L2 is found by differentiating its position
14. ~ 14 ~
Where lm2 is the distance from the axis of rotation to the center of mass for arm L2. The total
velocity of the center is then
where,
The following identities are used to simplify the addition
and
which yields
The rotational kinetic energy of arm is calculated using
IA is the inertia of arm around the axis of rotation of arm L1.
The kinetic energy of arm L2 is the summation of its rotation energy due to its own rotation,
and the rotation and linear velocity imparted on the arm from the rotation of arm L1 and is
calculated using
15. ~ 15 ~
K2 = ID ( 1+ 2) + (m2+m3) VD2
TOTAL KINETIC ENERGY OF THE SYSTEM:
K = K1 +K2
Therefore
K = 1 ( IA + ID + (m2 +m3 )l12 + (m2 +m3 )l1l2c2 + (m2 +m3
)l22)
+ 2 ( ID + (m2 +m3 )l22)
+ ( 1)( )( ID+ (m2 +m3 )l1l2c2 + (m2 +m3 )l22)
Above equation gives the total kinetic energy of the system.
POTENTIAL ENERGY OF SYSTEM:
P = m3gh
Where, m3= Mass of Pen
g= Acceleration due to gravity
h= Height from ground
Thus the equations of motion are given as
Which yields
Τ1 = Ӫ1 ( IA + ID + (m2 +m3 )l12 + (m2 +m3 )l1l2c2 + (m2 +m3
)l22 )
+ Ӫ2( ID+ (m2 +m3 )l1l2c2 + (m2 +m3 )l22 )
16. ~ 16 ~
T2 = Ӫ2( ID + (m2 +m3 )l22 )
+ Ӫ1( ID+ (m2 +m3 )l1l2c2 + (m2 +m3 )l22 )
It is clear from these equations, that the torque is dependent on the
acceleration/deceleration as well as the mass, lengths of certain mass moment points away
from other points and inertia of the arms.
2.4 Trajectory Plan
The approach used to find the trajectory of the alphabet A :
1. Find the workspace in the configuration space.
2. Finding the starting and the end points in the Cartesian apace.
3. Transform starting and ending points to configuration space (using inverse
kinematics).
4. Plot the desired points in the Cartesian frame.
5. Now segment or interpolate the path into equal segments.
6. Convert the interpolated points into configuration space (using inverse
kinematic equations).
Fig. 2.1
17. ~ 17 ~
2.5 Artificial and Natural constraints occurring for writing a letter A
Fig.2.2
STEP-1: In this case initially we have the end effector at the initial lowest point of line 1 at a
specific height. It consists of bringing the end effector i.e. pen downwards in z direction and
thus only movement in z direction will take place. Natural constraints include the downward
force mg acting downwards and artificial includes velocity in z direction. Then a downward
constant force is applied in the z direction and the movement is made in the plane
perpendicular to z axis i.e. X-Y plane that too a linear motion so in this case the natural
constraints are the frictional force applied in the opposite direction of motion and the artificial
constraints are the velocity in the X&Y direction and a force in the Z direction.
STEP-2: It is same as step 1 but in this case the end point of step 1 becomes the starting point
for step 2 and no movement in Z direction takes place and thus the same process with same
constraints applicable is repeated.
STEP-3: It includes the movement of the end effector in the upward Z direction at the end
point of Step 2 and then a movement in X-Y direction takes place and after reaching the
middle point of Step 2, a movement in the downward Z direction takes place and a desired
downward force is applied and then a movement in the negative X direction takes place with
the force applied and then as soon as it touches Step 1, the pen is lifted upwards, the natural
constraints include the downward force mg and the frictional force applied in the negative
direction and the artificial constraints include the downward force and the velocity in the X
and Y direction.
18. ~ 18 ~
CHAPTER 3
SOFTWARE
3.1 Introduction:
Engineering as a discipline often requires more integration than large amounts of original
development. In a typical project, writing new code presents significant challenges, and the
number of features shared between projects means that it is possible to create shared
components which implement common features. A library or an existing module allows the
use of a well developed and tested component, which saves significant resources in the
implementation of the project. The drawback of components is the need to integrate various
potentially conflicting interfaces, and the need to understand a complex system in order to
effectively use the component.
Components can be purchased, or may be freely available, as in the case of Open Source soft-
ware. Open Source also provides the opportunity to contribute new features and bug fixes
back in to the community. The programs and tools we chose for this project are all open
source, and use international standards, which allowed to rapidly develop the features needed.
Theproject softwaresystem consists of:
1. Inkscape (Version 0.48.5).
2. Arduino IDE.
3. Processing 3.0.2.
3.2 Inkspace (0.4.8.5)
There are two basic types of graphic images: bitmap (or raster) images and vector images. In
the first case, the image is defined in terms of rows and columns of individual pixels, each with
its own color. In the second case, the image is defined in terms of lines, both straight and curved.
A single straight line is described in terms of its two end points.
The difference in these types of graphic images becomes readily apparent when a drawing is
enlarged. The same line is shown on the left and right. On the left it is displayed as a bitmap
image, while on the right it is displayed as a vector. In both cases, the line has been scaled up by
a factor of four from its nominal size.
When the bitmap resolution of a drawing matches the display resolution, the objects in the
drawing look smooth. The same drawing, but defined as a bitmap image on the left and a
vector image on the right. If the output device has the same resolution as the bitmap image,
thereis little difference betweenthe appearance of the twoimages.
If the bitmap resolution is significantly less than the display resolution, the display will show
jagged lines. The head of the gentleman in the above drawings has been scaled up by a factor of
five. Now one can see a difference in the quality of the bitmap drawing (left) and the vector
drawing (right). Note that the bitmap image uses anti-aliasing, a method of using gray scale to
attempt to smooth the drawing.
All output devices, with few exceptions, use a raster or bitmap image to display graphics. The
real difference between drawing with bitmap graphics and vector graphics is the point at which
the image is converted into a bitmap. In the case of vector graphics, this conversion is done at
the very last step before display, ensuring that the final image matches exactly the resolution of
the output device.
19. ~ 19 ~
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.
Generating g codes using Inkspace:
1. Install an Add-on that enables the export images to g code files.
2. Open the Inkscape, go to File menu and click ”Document Properties”.
3. Changethe custom size
4. Nowclosethiswindow.
5. Open the required image.
6. Re-size the image to fit our printing area.
7. Click Path from menu and “Trace Bitmap”. Make required changes.
8. Click ok and close the window.
9. Now, move the grayscale 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”. Save the
program and say okay and move to next window.
G Code Tools: G code tools is an open source Inkscape extension, to export gcode for use
with aCNC machine,written inthePython programminglanguage. Inkscape extensions work in
the standard Unix IO model, taking SVG on standard input, and output transformed SVG on
standard output. The G code tools 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.
3.3 Arduino IDE
The Arduino project provides the Arduino integrated development environment (IDE), which is
20. ~ 20 ~
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 tool chain, also included with the IDE distribution,
the Arduino IDE employs the program argued 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.4 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. 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.
3.5 Conclusion
In this chapter a brief introduction about the type of software used, theoretical and some
practical idea about Inkscape, Arduino IDE and Processing are discuss.
21. ~ 21 ~
CHAPTER 4
HARDWARE AND DESIGN
4.1 Introduction:
4.1.1 Hardware
In this hardware system consists of a wooden 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 A4988 motor driver circuit. Z axis is driven by a servo motor.
The different included parts in the project are:
• Arduino UNO.
• A4988 Motor Driver IC.
• Stepper Motors.
• Servo Motor.
4.1.2 Design
The complete mechanical system was designed on a laminated wooden board.
The designs in the project are:
• X-Y Direction.
• Pensetup.
• FinalSetup
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.
22. ~ 22 ~
4.2 Hardware Parts
4.2.1 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 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.
Figure 4.1: Arduino UNO
4.2.2 A4899 Motor Driver IC
The A4988 micro stepping bipolar stepper motor driver features adjustable current limiting,
over-current and over-temperature protection, and five different micro stepping resolutions
(down to 1/16-step). It operates from 8 V to 35 V and can deliver up to approximately 1 A
23. ~ 23 ~
per phase without a heat sink or forced air. We will use the driver IC in Step Mode so we
will keep the 3 MS pins high 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. We will use a 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.
Figure4.2: A4988MotorDriverIC
4.2.3 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. The servo used is a Sg90 motor.
Figure4.3: SG90 ServoMotors
24. 4.2.4 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. 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.
Figure4.4: StepperMotor
4.3 Design
4.3.1 X-Y Direction
The motion in X-Y direction is provided by means of links (draw3ing arm) fabricated
according to the design. The drawing arm has 2DOF degrees of freedom and is made from
two stepper motors, a few GT2 timing-belts and pulleys, and some flat bars. An SG90 servo
is used to raise and lower the pen. The main arms are made up of aluminium bar. The tie bar
is kept narrower. Each joint is sleeved with a tubular spacer. The spacer is sandwiched in
place by means of washers and a nut and bolt. The drawing arm is made of a flexible
25. aluminium bar. The two holes for attaching the thick drawing arm to the thick elbow are at 90
degree to the drilling template. GT2-200 timing belt placed over both pulleys. A spindle
created by cutting the bolt to length. Spindle mounted by sandwiching the base-board
between two nuts and two large flat-washers. The lower timing-belt in placed over the
spindle. Shaft extender is used to raise the second GT2-20 timing pulley to the same height as
the top GT2-80 shoulder pulley
Figure 4.5: Dimensions of the Links
4.3.2 Pen Setup (Z - Axis)
The pen holder is formed by making two bends in the 25mm x 1mm bar. A 4mm nut and bolt
is used to retain the pen in place. Pen-lift is possible due to the flexibility of the 1mm thick
aluminium arm. The pen is held in position by means of a finger-tight 4mm nut and bolt.
26. Figure 4.6: Pen Setup
4.3.3 Final Setup
All the sections are integrated together to get a good output.
Figure 4.7: Final Setup
27. 4.4 Conclusion
In this chapter all the details about the hardware’s used and the design setup used in this
project is discussed to give an idea on the mechanical section.
28. CHAPTER 5
CONCLUSION AND FUTURE ASPECTS
In conclusion we have achieved the designing and completed the fabrication process of the
electronic pen plotter. By means of electronic control we are able to feed graphical inputs and
plot them on paper. On seeing the practical test results of our project we have seen that
employing a feedback loop mechanism and a manufacturing the links using high end
machines or high skilled labor we can increase the efficiency of our pen plotter.
In future our algorithms for plotting can be utilized to gain an understanding and same codes
can be used in PCB printing or milling operations with the appropriate tool attached to it.
Moreover it can also be employed in places of space constrained automation places in
industries, this being a serial manipulator.
Using the same algorithm and codes just by increasing the constraints on the z axis we can
create a low cost, efficient 3d printer.
29. 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), Volume3, 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. Steve Krar, Arthur Gill, Computer Numerical Control Programming Basics.
7. Instuctables.com
8. Wikipedia.com