ffproj

Share Embed Donate


Short Description

finally...

Description

(CNC MODEL) MAIN PROJECT REPORT Submitted By Names

DR/ Ahmed El-Deeb Eng/ Anderw Sameh

1

2

3

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 move the pen Up and down. 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 stepper 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 arrangement and proper use of the programs along with the circuit makes up an 2D Robotic Plotter (CNC).

5

6

Table Of Contents 1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Computer Numerical Control (CNC) . . . . . . . . . . . . . . . . . . . 7 1.3 Cartesian Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4 2D Robitic plotter . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 9 1.5 Aim of the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2

Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7 Organisation of the Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6

2 Project Description .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .13 2.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1

2.3

Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4

Industrial Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 15 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Inkscape (0.48.5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2.1 Inkscape Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2.2 Inkscape Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.3 Generating gcode les using inkscape . . . . . . . . . . . . . .. 19 3.3 Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5 sketching with Processing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7

4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2 Arduino NANO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.2 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 27 4.2.3 Power . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . .. . . .. 27 4.2.4 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.5 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 4.2.6 programming .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 28 4.3 Driver interfacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.4 Servo Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 4.4.1 Working principle of Servo Motors. . . . . . . . . . . . . . .31 4.4.2 Controlling Servo Motor . . . . . . . . . . . . . . . . . . . . . . .32 4.5 Stepper Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 5 Industrial Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2 X-Y Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.3

frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.4 Pen Setup (Z-axis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5 Final Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.6 Steps Involved in the Project. . . . . . . . . . . . . . . . . . . . . . . . . .39 5.7 Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . .. . . . 40

6 Applicatons . . . . . . . . . . . . . . .. . . . . . . . .. .. . .. . . . . . . .. . . . . . . . 41

8

9

List of Figures

1.1 Intersecting lines form right angles and establish the zero point (AllenBradley) . . . . . . . . .. . . . . . . .. . . . .. . . . . .. . . . . . . .. . . . . . . .. . . . . .7 1.2 The three-dimensional coordinate planes (axes) used in CNC. (The Superior Electric Company) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3

The quadrants formed when the X and Y axes cross are used to accurately located 11 . . . . . . . . .. . . . . . . . . . .. . . . . . . .. . . . .. . . . .. . . .. 9

3.1 Inkscape Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Processing Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22 4.1 Arduino NANO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 4.2 L298D Motor Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 4.4 4.5 4.6 4.7 4.8

Dual full bridge. . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .29 block diagram on driver . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 interfacing of Driver and Motor . . . . . . . . . . . . . . . . . . . . . . 31 Servo Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Controlling of Servo Motor (PWM) . . . . . . . . . . . . . . . . . . .33 Stepper Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.1 Lens Frame in CD Drive (Containing Stepper Motor) . . . . . .36 5.2 CD Drive Cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..37 5.3 Pensetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 5.4 view1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . 38 5.5 View 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.6 Main Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 38 5.7 plotted Output image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

10

1 1

Chapter 1 Introduction

12

Chapter 1 Introduction 1.1

Introduction

CNC stands for Computer Numeric Control and typically refers to a machine whose operation is controlled by a computer. The most common usage of CNC, and the one relevant to us, is the name given to devices that, under computer control are able to cut, etch, mill, engrave, build, turn and otherwise perform manufacturing operations on various materials. Typically, a CNC machine has the ability to move a cutting or 3D printing head in 2 to 6 axes, meaning that it can position that tool head at a precise point in or on the material to create the cut or 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 (CNC)

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.

13

Figure 1.1: Intersecting lines form right angles and establish the zero point (AllenBradley)

Figure 1.2: The three-dimensional coordinate planes (axes) used in CNC. (The Superior Electric Company)

14

The operating commands which control the machine tool are executed automatically with amazing speed, accuracy, efficiency, and repeatability. The ever-increasing use of CNC in industry has created a need for personnel who are knowledgeable about and capable of preparing the programs which guide the machine tools to produce parts to the required shape 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 speci c point can be described in mathematical terms from any other point along three perpendicular axes. This concept is 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

15

16

the vertical tool motion. The plus (+) and minus (-) signs indicate the direction from the zero 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.

1.4 2D Robotic 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 article intelligence). 17

The term 'robotics' was coined by Isaac Asimov in his science section short story called 'Liar'. Robot is an electro-mechanical machine which is guided by a 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. Robotic 2D Plotter is a plotter that occurs 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

Aim of the project is to set up a 2D Robotic Plotter for the following steps:  

APPLICATIONS

  A general idea of CNC Models.  Generating G-CODE. Integrating the different software's along with the hardware setup.

18

1.6

Motivation

Computer Numeric Control (CNC) refers to a wide variety of machines which are controlled electronically and have many uses, including milling, drawing, extruding, cutting, and lathing. CNC machines are really expensive. They are widely used in the fabrication of both electronic and mechanical parts of large machines .So our group has decided to do a model to know about theoretical and practical knowledge about this concept [2D Robotic Plotter]. 1.7

Organization of the Project

The report is organized as follows:

Chapter 1 : Introduction In this chapter, brief introduction of the project, literature review, motivation and organization of the project has been presented.

Chapter 2 : Project Description In this chapter a brief idea of the main three sections, software, hardware and industrial design are discussed.

Chapter 3 : Software Description In this chapter a brief introduction about the type of software used theoretical and some practical idea about Inkscape, Arduino IDE and Processing are discussed.

Chapter 4 : Hardware Description 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. knowledge about arduino types.

Chapter 5 : Overall View of the project In this chapter the steps involved in setting-up the plotter and discussed.

nal result are

Chapter 6 : Applications

19

Chapter 2 Project Description

20

Chapter 2 Project Description 2.1

Introduction

The three main sections of Robotic 2D Plotter:  Hardware  Software  Industrial Design

2.2

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 XY-plotter consists of two axes operating orthogonally to each other. Each axis includes a CD drive system that is driven by an appropriate means. Additionally, a third axis, with limited motion capability is used to actuate the write head.

2.3

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 software 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. Opensource software may be developed in a collaborative public manner. Open-source software is the most prominent example of open-source development. 21

2.4

Industrial Design

Industrial design is a process of design applied to products that are to be manufactured through techniques of mass production. Its key characteristic is that design is separated from manufacture: the creative act of determining and defining a product's form takes place in advance of the physical act of making a product, which consists purely of repeated, often automated, replication. The mechanical part is taken fully from CD-drive.

22

23

Chapter 3 Software

24

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 connecting 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. 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. The project software system consists of: 1. Inkscape (Version 0.48.5). 2. Arduino IDE. 3. Processing 3.0.2.

3.2

Inkscape

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.

25

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, there is little difference between the appearance of the two images. 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 grayscale 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 input image matches exactly the resolution of the output device.

3.2.1 Inkscape Window Start by opening Inkscape. This window contains several major areas, many containing clickable icons or pull-down menus. The following gure 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 26

depend 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.

Figure 3.1: Inkscape Window

3.2.2

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 di erent set of goals led to the split-o of the current Inkscape development e ort. 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 les in di erent graphic formats. 27

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 les.

3.2.3 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. 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 le 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 GCode from the SVG input and writes it to a le as a side e ect of the SVG transformation. This python extension can be easily downloaded as a .ZIP le from https://github.com/martymcguire/inkscape-unicorn

28

29

30

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 oneclick 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 le in hexadecimal coding that is loaded into the Arduino board by a loader program in the board's rmware.

3.5

Processing 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 31

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 associated libraries (e.g. lib) 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.

32

 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 Environment (IDE) with a minimalist set of features designed as a simple introduction to programming or for testing one-o 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 advanced 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 les are handled) is somewhat di erent from Java.

33

Figure 3.2: Processing Window

34

35

Chapter 4 Hardware

36

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 motor driver L298D circuit. Z axis is driven by a servo motor.  The different included parts in the project are:  Arduino type: NANO.  ADAFRUIT: motor Driver Shield L298D. Stepper Motors and Servo Motor.  Difference between a microprocessor and a microcontroller:  A microprocessor: • An IC with only the Central Processing Unit (CPU) • No RAM, ROM, or peripheral I/O on the chip. (System designers must add these externally to make these Function in Desktop PC’s, Laptops, notepads, tablets, etc. • (Manufacturers include: Intel's Pentium, core 2 duo, i3, i5, ARM, PowerPC, AMD, etc. ) A microcontroller: • An IC with CPU, I/O pins, a fixed amount of RAM, ROM all embedded on a single, 'all in one' chip. • (Manufacturers include: Microchip, ATMEL, TI, Freescale, Philips, Motorola) The Arduino is a development platform using microcontrollers from Atmel's ATmega series.  Some key reasons given for its success: • Open Source hardware and software • Cross platform (Mac, Windows and Linux) • Support from huge non-condescending community

37

What is Open Source Hardware? • License • Schematics • PCB layout data • Bills of Sale (component distributors...)  Arduino is open source hardware: the Arduino hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license, available on the Arduino Web site.  Layout and production files for some versions are also available.  The source code for the IDE is available and released under the GNU General Public License, version 2 

Requirements for the microcontroller to make arduino :

1. Power - It's an electrical component, so of course you have to give it power. But like many ICs, the voltage used to operate it needs to be controlled relatively precisely. There are three commonly used ways for controlling the voltage supplied to microcontrollers: I. A voltage regulator II. A regulated power supply III. Battery power 2. I/O - Input and output, some way to communicate with the chip. This is generally done through some kind of connection to the chip's pins. Breadboards are handy. I. Limited II. “shields” III. Roll your own. 3. Programming Interface - Some way to write programs and download them to the chip and run them. We will be using the same microcontroller used on the Arduino board, a popular chip made by the Atmel corporation -the “Atmega” 168 or 328. (These are 28 pin ICs with identical pin designations, but the 328 has more memory.) The hardware interface we'll be using is perhaps the simplest (and cheapest): connecting to it on a standard breadboard.

38

4.2

Arduino NANO

►Types Of Arduino :

► Arduino In Our Device Is 'Nano Arduino'

39

(Arduino Nano Front)

(Arduino Nano Back) figure (4.1) show Nano arduino

4.2.1 Overview: The Arduino Nano is a small, complete, and breadboard-friendly board based on the ATmega328 (Arduino Nano 3.x) or ATmega168 (Arduino Nano 2.x). It has more or less the same functionality of the Arduino Duemilanove, but in a different package. It lacks only a DC power jack, and works with a Mini-B USB cable instead of a standard one. The Nano was designed and is being produced by Gravitech.

4.2.2 Specifications: -Microcontroller Atmel ATmega168 or ATmega328 -Operating Voltage (logic level) 5 V -Input Voltage (recommended) 7-12 V -Input Voltage (limits) 6-20 V -Digital I/O Pins 14 (of which 6 provide PWM output) -Analog Input Pins 8 -DC Current per I/O Pin 40 mA -Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader -SRAM 1 KB (ATmega168) or 2 KB (ATmega328) -EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328) -Clock Speed 16 MHz -Dimensions 0.73" x 1.70" -Length 45 mm -Width 18 mm -Weigth 5 g

4.2.3 Power: The Arduino Nano can be powered via the Mini-B USB connection, 6-20V unregulated external power supply (pin 30), or 5V regulated external power supply (pin 27). The power source is automatically selected to the highest voltage source

4.2.4 Memory The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader); the ATmega328 has 32 KB, (also with 2 KB used for the bootloader). The ATmega168 has 1 KB of SRAM and 512 bytes of EEPROM 40

- SRAM : memory for storing your data which are processed during the run time (including also the registers, stack, etc.) - volatile memory - FLASH : memory which your program stored - non volatile - EEPROM : memory which can be used for storing non volatile data and changeable during run-time. (for example: setting values, etc.)

4.2.5 Input and Output Each of the 14 digital pins on the Nano can be used as an input or output, using pinMode() , to see example please visit (www.arduino.cc/en/Reference/PinMode ), digitalWrite() , to see example please visit (//www.arduino.cc/en/Reference/DigitalWrite) digitalRead() , to see example please visit (//www.arduino.cc/en/Reference/DigitalRead) functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions : -Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip. -External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() (//www.arduino.cc/en/Reference/AttachInterrupt) function for details. - PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function. -SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlyinghardware, is not currently included in the Arduino language. -LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. The Nano has 8 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the analogReference() .

41

-I2C: A4 (SDA) and A5 (SCL). Support I2C (TWI) communication using the Wire library (http://wiring.org.co/reference/libraries/Wire/index.html) (documentation on the Wiring website).

4.2.6 Programming The Arduino Nano can be programmed with the Arduino software (download (//www.arduino.cc/en/Main/Software)). Select "ArduinoDiecimila, Duemilanove, or Nano w/ ATmega168" or "Arduino Duemilanove or Nano w/ ATmega328" from the

42

4.3 Driver interfacing  THIS CONNECTION CANOT BE DUE TO  The Microcontroller pin can't give more than 25mA in PIC16f877a, and there is no motor with this low current, so if a 100mA motor connected it will damage the pin.  The motor may not be a 5 voltage motor, what if I want to control a 24v motor?

Figure 4.2 show LD298 Motor Shield. so we need low power device that we can control the micro controller and the motor ,this device is DUAL FULL-BRIDGE DRIVER (L298).  DUAL FULL-BRIDGE DRIVER (L298)

Figure4.3 shows dual full bridge.  FEATURES  OPERATING . SUPPLY VOLTAGE UP TO 46 V.  TOTAL DC CURRENT UP TO 4 A.  LOW SATURATION VOLTAGE.  OVERTEMPERATURE PROTECTION.  LOGICAL "0" INPUT VOLTAGE UP TO 1.5 V (HIGH NOISE IMMUNITY). 43

 DESCRIPTION The L298 is an integrated monolithic circuit in a 15- lead Multiwatt and PowerSO20 packages. It is a high voltage, high current dual full-bridge driver designed to accept standard TTL logic levels and drive inductive loads such as relays, solenoids, DC and stepping motors. Two enable inputs are provided to enable or disable the device independently of the input signals. The emitters of the lower transistors of each bridge are connected together and the corresponding external terminal can be used for the connection of an external sensing resistor. An additional supply input is provided so that the logic works at a lower voltage.  BLOCK DIAGRAM

figure 4.4 shows block diagram on driver  THE CONNECTION OF H-BRIDGE WITH UNIPOLAR STEPPER MOTOR The number of leads that a stepper motor has will tell you if it is a unipolar or bipolar motor (or can be either), and determine how it is connected to the L298 H bridge module. You will need to check your motor’s datasheet or do some testing with a multimeter set to its resistance (Ω) range to determine which lead is which.  A motor with four leads  This bipolar motor has two leads for each of its two coils.  If you measure a low resistance between two of its leads, then these two leads are connected to the first coil, and the other two leads are connected to the second coil.  The motor can be connected to L298 H bridge module as shown in this example: 44

figure 4.5 shows interfacing of Driver and Motor

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 speci c 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 45

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

Figure 4.6: 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. 46

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. 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.7: Controlling of Servo Motor (PWM) 47

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. 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.8: Stepper Motor

48

Chapter 5 Overall View of the Project

49

Chapter 5 Overall View of the Project 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.  Frame.  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/DVDROM) 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.

50

Figure 5.1: Lens Frame in CD Drive (Containing Stepper Motor.

51

5.3

Frame

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 breadboard (HDF) is used. It is a type of berboard, 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.

Figure 5.3: Pensetup 52

Figure 5.4: View 1

Figure 5.5: View 2 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 G-code to the arduino board to get the plotted output Main Block Diagram:

53

Figure 5.6: Main Block Diagra

54

5.6

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 o them the stepper motors. Use the screwdriver to open them and take o 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 ber 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 L298D 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. 55

5.7Result Integrating the software along with the hardware and mechanical systems makes up an e ective 2D plotter.

Figure 6.2: Plotted Output Image

56

Chapter 6 Applications

57

Chapter 6 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 speci c machine tools for each task. Metal Fabrication Industry { Many industries require thin plates for di erent purposes. These industries use CNC machines for a number of machining operations such as plasma or ame 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 di erent ways; rst 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. 58

4

59

4

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF