The document describes a 3-axis drawing machine created by students. It has the goals of high precision and speed while using limited resources. The machine uses stepper motors controlled by an Arduino microcontroller to move along three axes. It was designed to draw images by converting them to binary instructions to control the motors. The machine was later improved to be made fully of metal for increased precision. It functions by drawing images pixel-by-pixel through movement of a pen along the three axes.
GPUs are highly parallel and programmable processors that were originally designed for graphics processing but are now commonly used for general purpose computing. GPU power is increasing much faster than CPU power, with estimates of a 570x increase in GPU power versus a 3x increase in CPU power over 6 years. GPUs excel at applications with large datasets, high parallelism, and minimal data dependencies, such as molecular dynamics, physics simulations, and database operations. Programming models for GPUs follow a single-program multiple-data approach to maximize parallel processing across many cores.
This document discusses parallel computing with GPUs. It introduces parallel computing, GPUs, and CUDA. It describes how GPUs are well-suited for data-parallel applications due to their large number of cores and throughput-oriented design. The CUDA programming model is also summarized, including how kernels are launched on the GPU from the CPU. Examples are provided of simple CUDA programs to perform operations like squaring elements in parallel on the GPU.
Graphics programming with Unity3D utilizes the GPU for highly parallelized operations like matrix and texture lookups. There are two main access points: shading which converts 3D to 2D, and post-processing which performs shader operations on the rendered image. The graphics pipeline involves vertex and pixel shaders transforming and coloring 3D models with effects like lighting, bump mapping, and textures. Multi-pass rendering and image effects allow combining results through scripts and shaders. Future improvements include deferred rendering, tessellation, and an expanded shader pipeline.
GPU databases utilize GPUs to accelerate database operations like analytics. In contrast to CPUs which have few cores for serial tasks, GPUs have thousands of cores that enable massively parallel processing better suited for analytics. Popular GPU databases include Kinetica, SqreamDB, and BlazingDB. They can handle larger datasets and more complex queries faster than traditional CPU-based databases by distributing operations across GPU cores. Common uses of GPU databases involve fast data processing, stream analytics, graph processing, and extreme analytics.
The document discusses GPU architecture and computing. It describes how GPUs have evolved from specialized graphics processors into general parallel computing devices. The document outlines GPU architecture including the graphics pipeline, use of shader programs, and SPMD programming model. It also discusses virtualizing GPUs through front-end and back-end approaches to enable sharing of physical GPUs across VMs.
1) The document discusses shortest path algorithms and their application to traffic assignment problems, comparing the performance of CPU vs GPU implementations.
2) It finds that GPU implementations can be 45x faster than CPU for problems with massive parallelizable data like traffic simulations.
3) However, GPU programming requires more specialized knowledge and hardware restrictions limit accessibility, while CPU remains more flexible but less optimized for large datasets.
Achieving Improved Performance In Multi-threaded Programming With GPU ComputingMesbah Uddin Khan
This document discusses how GPU computing can be used to improve performance in multi-threaded applications. It notes that both CPUs and GPUs are moving towards more parallel architectures, and that GPUs are well-suited for data-parallel problems with large workloads. The document provides an example of using a GPU to accelerate a Sudoku solver, showing a significant performance improvement. It concludes that further optimization is needed to fully leverage GPU capabilities, and that libraries and developer tools are making GPU computing more accessible to developers.
GPUs are dedicated parallel processors that are optimized for accelerating graphical computations. They have many execution units and faster memory interfaces than CPUs in order to process large amounts of graphical data efficiently. The GPU pipeline receives geometry from the CPU as input and provides pictures as output, going through stages like vertex processing, triangle setup, pixel processing, and output merging. GPUs are highly programmable and widely used for applications like gaming, shading, and global illumination. Future advancements may include more processing cores, tighter integration with CPUs, and fully programmable hardware.
GPUs are highly parallel and programmable processors that were originally designed for graphics processing but are now commonly used for general purpose computing. GPU power is increasing much faster than CPU power, with estimates of a 570x increase in GPU power versus a 3x increase in CPU power over 6 years. GPUs excel at applications with large datasets, high parallelism, and minimal data dependencies, such as molecular dynamics, physics simulations, and database operations. Programming models for GPUs follow a single-program multiple-data approach to maximize parallel processing across many cores.
This document discusses parallel computing with GPUs. It introduces parallel computing, GPUs, and CUDA. It describes how GPUs are well-suited for data-parallel applications due to their large number of cores and throughput-oriented design. The CUDA programming model is also summarized, including how kernels are launched on the GPU from the CPU. Examples are provided of simple CUDA programs to perform operations like squaring elements in parallel on the GPU.
Graphics programming with Unity3D utilizes the GPU for highly parallelized operations like matrix and texture lookups. There are two main access points: shading which converts 3D to 2D, and post-processing which performs shader operations on the rendered image. The graphics pipeline involves vertex and pixel shaders transforming and coloring 3D models with effects like lighting, bump mapping, and textures. Multi-pass rendering and image effects allow combining results through scripts and shaders. Future improvements include deferred rendering, tessellation, and an expanded shader pipeline.
GPU databases utilize GPUs to accelerate database operations like analytics. In contrast to CPUs which have few cores for serial tasks, GPUs have thousands of cores that enable massively parallel processing better suited for analytics. Popular GPU databases include Kinetica, SqreamDB, and BlazingDB. They can handle larger datasets and more complex queries faster than traditional CPU-based databases by distributing operations across GPU cores. Common uses of GPU databases involve fast data processing, stream analytics, graph processing, and extreme analytics.
The document discusses GPU architecture and computing. It describes how GPUs have evolved from specialized graphics processors into general parallel computing devices. The document outlines GPU architecture including the graphics pipeline, use of shader programs, and SPMD programming model. It also discusses virtualizing GPUs through front-end and back-end approaches to enable sharing of physical GPUs across VMs.
1) The document discusses shortest path algorithms and their application to traffic assignment problems, comparing the performance of CPU vs GPU implementations.
2) It finds that GPU implementations can be 45x faster than CPU for problems with massive parallelizable data like traffic simulations.
3) However, GPU programming requires more specialized knowledge and hardware restrictions limit accessibility, while CPU remains more flexible but less optimized for large datasets.
Achieving Improved Performance In Multi-threaded Programming With GPU ComputingMesbah Uddin Khan
This document discusses how GPU computing can be used to improve performance in multi-threaded applications. It notes that both CPUs and GPUs are moving towards more parallel architectures, and that GPUs are well-suited for data-parallel problems with large workloads. The document provides an example of using a GPU to accelerate a Sudoku solver, showing a significant performance improvement. It concludes that further optimization is needed to fully leverage GPU capabilities, and that libraries and developer tools are making GPU computing more accessible to developers.
GPUs are dedicated parallel processors that are optimized for accelerating graphical computations. They have many execution units and faster memory interfaces than CPUs in order to process large amounts of graphical data efficiently. The GPU pipeline receives geometry from the CPU as input and provides pictures as output, going through stages like vertex processing, triangle setup, pixel processing, and output merging. GPUs are highly programmable and widely used for applications like gaming, shading, and global illumination. Future advancements may include more processing cores, tighter integration with CPUs, and fully programmable hardware.
The slide presents introduction to computer aided design and drafting, and introduction to AutoCAD software. 2D and 3D modelling using AutoCAD software is presented.
This document describes the design of an automatic writing and drawing machine controlled by an Arduino Uno microcontroller. The machine uses three servo motors controlled by the Arduino to move an attached pen along the x and y axes of paper to write or draw documents stored on an attached hard disk. It aims to reduce the workload of writing documents manually by automatically writing or drawing pre-stored files. The machine converts files into g-code using Benbox software which specifies the pen coordinates. It then sends the g-code to the Arduino to control the servo motors and move the pen to write or draw the file. The document outlines the components used, including the Arduino, servo motors, motor driver, and Benbox software,
The document outlines a project to build a 3D printer using a serial SCARA configuration with an MKS Gen 1.4 board and Marlin software. The 4-member team has completed collecting parts, preparing a bill of materials, CAD modeling, and assembly/fabrication. Remaining tasks include electronics testing, programming, and calibration. The goal is to create an affordable, portable 3D printer with auto bed leveling and good print quality.
The document provides information about embedded systems and microprocessors. It defines embedded systems and gives examples. It discusses microprocessors and microcontrollers, their components, and differences between the two. It describes characteristics of embedded computing applications like sophisticated functionality, real-time operation, cost, power, and design teams. It also covers topics like instruction sets, ARM and Texas Instruments C55x processors, assembly language, and the ARM programming model.
Rapid prototyping and tooling techniques allow for the quick fabrication of prototypes and tools with minimal lead time based on CAD models. Stereolithography is one of the earliest techniques and works by curing liquid photopolymer resin layer-by-layer with a laser. Multijet modeling is similar but uses inkjet print heads to deposit photopolymer layers. Selective laser sintering works by using a laser to sinter powder materials layer-by-layer. Fused deposition modeling extrudes thermoplastic filaments layer-by-layer. Together these additive techniques provide fast and flexible options for prototyping and manufacturing.
Plant reverse engineering uses 3D scanning and modeling techniques to create digital models of physical infrastructure from point cloud data in order to facilitate design, maintenance, and retrofitting. Dassault Systèmes provides a plant reverse engineering solution that imports point clouds and drawings to generate 3D models for virtual inspection and impact assessment of modifications. The solution supports conversion between various CAD formats and includes piping design applications. Laser scanning can also be used to create "intelligent" as-built 3D models from which pipework, steelwork, and other elements are automatically modeled. These techniques allow aging infrastructure to be digitally preserved through reverse engineering.
This calculator has been developed by me. It gives high precision results which
Normal calculator can not give. It is helpful in calculations for Space technology,
Supercomputers, Nano technology etc. I can give this calculator to interested people.
The document discusses computer-aided design (CAD), computer-aided manufacturing (CAM), and computer-aided engineering (CAE). CAD is used to create and modify designs, CAM plans manufacturing operations, and CAE allows simulation of how designs will behave. Analysis is enhanced with computers using techniques like finite element analysis. CAD/CAM/CAE systems include hardware, software, and major components for shape manipulation. Rapid prototyping can quickly produce physical models from CAD files in a layer-by-layer process.
The document discusses computer-aided design (CAD), computer-aided manufacturing (CAM), and computer-aided engineering (CAE). CAD is used to create and modify designs, CAM plans manufacturing operations, and CAE allows simulation of how designs will behave. Analysis is enhanced with computers using techniques like finite element analysis. CAD/CAM/CAE systems include hardware, software, and major components for shape manipulation. Rapid prototyping can quickly produce physical models from CAD files in a layer-by-layer process.
Design of machine element by using AutoLISP programming in AutoCAD.Chaitanya Yadure
This document discusses using AutoLISP programming in AutoCAD to design machine elements. It provides an example of using AutoLISP to design a key based on input dimensions and stress calculations. The AutoLISP program allows the user to input permissible stress values and shaft diameter, then calculates and outputs the key dimensions. AutoLISP is beneficial for automating drafting operations and performing calculations to generate drawings. The document includes an example AutoLISP program that designs a key based on inputs and analytical calculations for shear and crushing stress.
Software and Hardware Tools for MicroprocessorsDeepak Tathe
This document discusses software and hardware tools used for microprocessor-based systems, including cross assemblers, logic analyzers, simulators, and emulators. A cross assembler is an assembler that generates machine code for a computer different than the one running the assembler. Logic analyzers display timing diagrams and logic states of digital signals, while simulators model the behavior of electronic devices through mathematical formulas. Emulators allow one computer system to behave like another system, enabling the host to run software designed for the guest system.
Cast-Designer is a software system that allows designers to quickly design die casting processes and conduct upfront analysis. It features tools to design gate systems within 10 minutes, conduct filling and solidification simulations within 30 minutes to 1.5 hours, and integrate with common CAD software. The system utilizes predefined templates and parametric modeling to speed up the design process. It also provides casting process insights through simulations to help optimize the design.
This document describes a mini CNC machine project created by Shakti Patel at Parul University. The project uses an Arduino UNO to control stepper motors and a servo motor to move a cutting head along X, Y, and Z axes. Open source software like Inkscape, CAMotics, the Arduino IDE, and Processing are used to design models, generate G-code instructions, and control the hardware. The project aims to build a basic low-cost 2D CNC machine within constraints of understanding CNC models and integrating different software and hardware components.
In the field of touchy processing, many people would access the touchy phones, keypads etc. where the disadvantage of touchy system is all about touch screen. So, to overcome this problem, we are going to develop a project based on touch less device which is used to access and process our data with minimum time complexity for optimization of the sourcing data. Our project contain marker to highlight required key term. Touch less detects both the size and location of “Marker’s Gestures” for writing purposes. Whereas the camera played a key role to select our object that is an image for it’s processing. In this, we are giving command on camera to identify the gestures by Touch less SDK and reducing manual efforts.
In the field of touchy processing, many people would access the touchy phones, keypads etc. where the disadvantage of touchy system is all about touch screen. So, to overcome this problem, we are going to develop a project based on touch less device which is used to access and process our data with minimum time complexity for optimization of the sourcing data. Our project contain marker to highlight required key term. Touch less detects both the size and location of “Marker’s Gestures” for writing purposes. Whereas the camera played a key role to select our object that is an image for it’s processing. In this, we are giving command on camera to identify the gestures by Touch less SDK and reducing manual efforts.
Computer aided design for landscape gardening MahaveerNagar17
This document presents information on a seminar about applying computer-aided design (CAD) systems for landscape gardening. It discusses the history and components of CAD systems, as well as the major steps and functions/limitations of CAD software for landscape design. The advantages of CAD systems include reducing errors, reusing designs, and viewing 3D sketches before implementation. Disadvantages include expense and needing training. CAD tools make designing more efficient and accurate.
This document provides information about software training on AutoCAD, Revit, and STAAD Pro for civil engineering students. It includes an acknowledgement, introduction on the importance of civil engineering software, descriptions of AutoCAD, Revit, and STAAD Pro, assignments to create plans and models using the software, and discussions of analyzing and designing a hostel building using STAAD Pro. The document aims to introduce important civil engineering software tools to students.
This project proposal aims to solve map-reduce problems using a distributed cluster of web browsers instead of dedicated servers. It proposes making web browsers thin clients that can perform computations in the background without requiring installation. The server would divide problems and assign parts to browser clients. This could utilize unused computational resources of personal systems and bandwidth. Key challenges include implementing map-reduce algorithms across clients and server, optimization strategies, and handling failures. The technology could allow large-scale information mining by delegating intensive tasks to client browsers without companies needing additional hardware.
The document describes the syllabus for the course EC8791 - Embedded and Real Time Systems. The objectives of the course are to understand embedded system design concepts, learn ARM processor architecture and programming, understand basic embedded programming concepts, and learn about real-time operating systems. The course covers topics such as introduction to embedded computing and ARM processors, embedded system design process, real-time operating systems, and performance analysis of embedded systems. It also discusses formalisms for embedded system design such as the Unified Modeling Language.
The slide presents introduction to computer aided design and drafting, and introduction to AutoCAD software. 2D and 3D modelling using AutoCAD software is presented.
This document describes the design of an automatic writing and drawing machine controlled by an Arduino Uno microcontroller. The machine uses three servo motors controlled by the Arduino to move an attached pen along the x and y axes of paper to write or draw documents stored on an attached hard disk. It aims to reduce the workload of writing documents manually by automatically writing or drawing pre-stored files. The machine converts files into g-code using Benbox software which specifies the pen coordinates. It then sends the g-code to the Arduino to control the servo motors and move the pen to write or draw the file. The document outlines the components used, including the Arduino, servo motors, motor driver, and Benbox software,
The document outlines a project to build a 3D printer using a serial SCARA configuration with an MKS Gen 1.4 board and Marlin software. The 4-member team has completed collecting parts, preparing a bill of materials, CAD modeling, and assembly/fabrication. Remaining tasks include electronics testing, programming, and calibration. The goal is to create an affordable, portable 3D printer with auto bed leveling and good print quality.
The document provides information about embedded systems and microprocessors. It defines embedded systems and gives examples. It discusses microprocessors and microcontrollers, their components, and differences between the two. It describes characteristics of embedded computing applications like sophisticated functionality, real-time operation, cost, power, and design teams. It also covers topics like instruction sets, ARM and Texas Instruments C55x processors, assembly language, and the ARM programming model.
Rapid prototyping and tooling techniques allow for the quick fabrication of prototypes and tools with minimal lead time based on CAD models. Stereolithography is one of the earliest techniques and works by curing liquid photopolymer resin layer-by-layer with a laser. Multijet modeling is similar but uses inkjet print heads to deposit photopolymer layers. Selective laser sintering works by using a laser to sinter powder materials layer-by-layer. Fused deposition modeling extrudes thermoplastic filaments layer-by-layer. Together these additive techniques provide fast and flexible options for prototyping and manufacturing.
Plant reverse engineering uses 3D scanning and modeling techniques to create digital models of physical infrastructure from point cloud data in order to facilitate design, maintenance, and retrofitting. Dassault Systèmes provides a plant reverse engineering solution that imports point clouds and drawings to generate 3D models for virtual inspection and impact assessment of modifications. The solution supports conversion between various CAD formats and includes piping design applications. Laser scanning can also be used to create "intelligent" as-built 3D models from which pipework, steelwork, and other elements are automatically modeled. These techniques allow aging infrastructure to be digitally preserved through reverse engineering.
This calculator has been developed by me. It gives high precision results which
Normal calculator can not give. It is helpful in calculations for Space technology,
Supercomputers, Nano technology etc. I can give this calculator to interested people.
The document discusses computer-aided design (CAD), computer-aided manufacturing (CAM), and computer-aided engineering (CAE). CAD is used to create and modify designs, CAM plans manufacturing operations, and CAE allows simulation of how designs will behave. Analysis is enhanced with computers using techniques like finite element analysis. CAD/CAM/CAE systems include hardware, software, and major components for shape manipulation. Rapid prototyping can quickly produce physical models from CAD files in a layer-by-layer process.
The document discusses computer-aided design (CAD), computer-aided manufacturing (CAM), and computer-aided engineering (CAE). CAD is used to create and modify designs, CAM plans manufacturing operations, and CAE allows simulation of how designs will behave. Analysis is enhanced with computers using techniques like finite element analysis. CAD/CAM/CAE systems include hardware, software, and major components for shape manipulation. Rapid prototyping can quickly produce physical models from CAD files in a layer-by-layer process.
Design of machine element by using AutoLISP programming in AutoCAD.Chaitanya Yadure
This document discusses using AutoLISP programming in AutoCAD to design machine elements. It provides an example of using AutoLISP to design a key based on input dimensions and stress calculations. The AutoLISP program allows the user to input permissible stress values and shaft diameter, then calculates and outputs the key dimensions. AutoLISP is beneficial for automating drafting operations and performing calculations to generate drawings. The document includes an example AutoLISP program that designs a key based on inputs and analytical calculations for shear and crushing stress.
Software and Hardware Tools for MicroprocessorsDeepak Tathe
This document discusses software and hardware tools used for microprocessor-based systems, including cross assemblers, logic analyzers, simulators, and emulators. A cross assembler is an assembler that generates machine code for a computer different than the one running the assembler. Logic analyzers display timing diagrams and logic states of digital signals, while simulators model the behavior of electronic devices through mathematical formulas. Emulators allow one computer system to behave like another system, enabling the host to run software designed for the guest system.
Cast-Designer is a software system that allows designers to quickly design die casting processes and conduct upfront analysis. It features tools to design gate systems within 10 minutes, conduct filling and solidification simulations within 30 minutes to 1.5 hours, and integrate with common CAD software. The system utilizes predefined templates and parametric modeling to speed up the design process. It also provides casting process insights through simulations to help optimize the design.
This document describes a mini CNC machine project created by Shakti Patel at Parul University. The project uses an Arduino UNO to control stepper motors and a servo motor to move a cutting head along X, Y, and Z axes. Open source software like Inkscape, CAMotics, the Arduino IDE, and Processing are used to design models, generate G-code instructions, and control the hardware. The project aims to build a basic low-cost 2D CNC machine within constraints of understanding CNC models and integrating different software and hardware components.
In the field of touchy processing, many people would access the touchy phones, keypads etc. where the disadvantage of touchy system is all about touch screen. So, to overcome this problem, we are going to develop a project based on touch less device which is used to access and process our data with minimum time complexity for optimization of the sourcing data. Our project contain marker to highlight required key term. Touch less detects both the size and location of “Marker’s Gestures” for writing purposes. Whereas the camera played a key role to select our object that is an image for it’s processing. In this, we are giving command on camera to identify the gestures by Touch less SDK and reducing manual efforts.
In the field of touchy processing, many people would access the touchy phones, keypads etc. where the disadvantage of touchy system is all about touch screen. So, to overcome this problem, we are going to develop a project based on touch less device which is used to access and process our data with minimum time complexity for optimization of the sourcing data. Our project contain marker to highlight required key term. Touch less detects both the size and location of “Marker’s Gestures” for writing purposes. Whereas the camera played a key role to select our object that is an image for it’s processing. In this, we are giving command on camera to identify the gestures by Touch less SDK and reducing manual efforts.
Computer aided design for landscape gardening MahaveerNagar17
This document presents information on a seminar about applying computer-aided design (CAD) systems for landscape gardening. It discusses the history and components of CAD systems, as well as the major steps and functions/limitations of CAD software for landscape design. The advantages of CAD systems include reducing errors, reusing designs, and viewing 3D sketches before implementation. Disadvantages include expense and needing training. CAD tools make designing more efficient and accurate.
This document provides information about software training on AutoCAD, Revit, and STAAD Pro for civil engineering students. It includes an acknowledgement, introduction on the importance of civil engineering software, descriptions of AutoCAD, Revit, and STAAD Pro, assignments to create plans and models using the software, and discussions of analyzing and designing a hostel building using STAAD Pro. The document aims to introduce important civil engineering software tools to students.
This project proposal aims to solve map-reduce problems using a distributed cluster of web browsers instead of dedicated servers. It proposes making web browsers thin clients that can perform computations in the background without requiring installation. The server would divide problems and assign parts to browser clients. This could utilize unused computational resources of personal systems and bandwidth. Key challenges include implementing map-reduce algorithms across clients and server, optimization strategies, and handling failures. The technology could allow large-scale information mining by delegating intensive tasks to client browsers without companies needing additional hardware.
The document describes the syllabus for the course EC8791 - Embedded and Real Time Systems. The objectives of the course are to understand embedded system design concepts, learn ARM processor architecture and programming, understand basic embedded programming concepts, and learn about real-time operating systems. The course covers topics such as introduction to embedded computing and ARM processors, embedded system design process, real-time operating systems, and performance analysis of embedded systems. It also discusses formalisms for embedded system design such as the Unified Modeling Language.
1. Project Name : 3-AXIS DRAWING MACHINE
Students Name : Ahmad Moharib, Mohammad Arar
Alia Ghunaim, Saja Abu Naseer, Razan Hijazeen
Supervisor Name: Dr. Samer Motawe
We had several goals for this project and the machine. The machine
would balance high precision and speed, use limited resources and
as many recycled parts as possible, and be reproducible by a
hobbyist. The software would correctly transform the several image
files into binary machine control instructions, and these instructions
would then be used to control the machine, and this advanced
feature needs more of time.
Our mechanical design consists of a wooden frame and pieces , on
which is mounted three axis of motion in a standard Cartesian
coordinate system. Each axis is driven by a stepper motor driven by a
custom motor driver circuit. The control of the stepper motors was
the primary challenge of the hardware systems, requiring circuit
design, prototyping and fabrication.
Then the wooden pieces may cause some errors and imprecise
drawing, which means that the machine must be full of metal
designed.
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.
The plotter is a computer printer for printing vector graphics In the
past, plotters were used in applications such as computer, though
they have generally been replaced with wide-format conventional
printers. A plotter gives a hard copy of the output. It draws pictures
on paper using a pen. Plotters are used to print designs of ships and
machines, plans for buildings and so on.
Pen plotters print by moving a pen or other instrument across the
surface of a piece of paper. This means that plotters are vector
graphics devices, rather than raster graphics as with other printers.
Pen plotters can draw complex line art, including text, but do so
slowly because of the mechanical movement of the pens. They are
often incapable of efficiently creating a solid region of colour, but
can hatch an area by drawing a number of close, regular
lines.
Plotters offered the fastest way to
efficiently produce very large
drawings or colour high-resolution
vector-based artwork when
computer memory was very
expensive and processor power
was very limited, and other types
of printers had limited graphic
output capabilities.
Pen plotters have essentially become obsolete, and have been
replaced by large-format inkjet printers and LED toner based
printers. Such devices may still understand vector languages
originally designed for plotter use, because in many uses, they offer
a more efficient alternative to raster data.
[1] Arduino Mega 2560 microcontroller:
<http://arduino.cc/en/Main/ArduinoBoardMega2560>.
[2] Stepper Motors:
<http://arduino.cc/en/reference/stepper>.
<http://www.instructables.com>.
<http://forum.arduino.cc >.
[3] H-Bridge Motor Driver:
<http://www.instructables.com >.
<http://www.fairchildsemi.com/an/AN/AN-3005.pdf>.
[4] Easy Driver Stepper Motor:
<http://www.schmalzhaus.com/EasyDriver/>.
We were able to produce a machine that performed well enough to
meet our goals for precision, cost, and deadline. We started early
on the hardware which allowed us to work through some of the
problems we encountered such as needing to upgrade our length
for the X and Y axis and rewiring our motor driver circuits. This
reduced the risk associated with hardware prototyping which was
by far the highest risk part of our project. We were also able to
implement all of the necessary components of our machine a
couple of weeks before our project deadline. We had to cut a few
of our extra features in order to meet our deadline, such as a
positional feedback system and an automatic tool changer, but we
were successful because we prioritized these features and worked
on the essentials first. Our success can easily be attributed to the
planning and prioritizing we did prior to beginning the project.
We left ourselves room in our schedule for unexpected delays and
began our project early. All of these factors contributed to a
successful project which began in the planning phase and ended
with a deliverable product which meets the expectations we set for
ourselves
This plotter machine designed to handle with two functions, the
first one is drawing and the second is writing, we used Arduino
Mega 2560 [1] microcontroller to program this machine, our system
consists of three bipolar stepper motors can be driven using the H-
Bridge circuit [2], these motors used in this project to move and
control the position of the slider parts of the drawing machine [3] .
The slider parts (rails) have been got from a stock CD-Drives. In each
CD-Drive there will be a sled with a readily mounted stepper motor;
this great idea economized the costs; a three stock CD-Drives will
suffice the purpose, then each sled will represent an axis in this
plotter machine.
The following figures illustrate the operation of the bipolar stepper
motor and shown the sequence that should be applied on the 4
leads of the motor [4] .
The image that will be drawn by the machine initially converted to
black and white then into binary 0's and 1's either by MATLAB or
other software.
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 software. 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 us to
develop the features needed as possible as we can.
The purpose of this project was to make a 3-axis pen plotter as
cheaply as possibly could.
Perhaps we have never been gifted at drawing, or we don’t have the
time to do it yourself, so why not let a simple plotter machine draw
for us. This simple project is a three axis device can accurately moves
a pen to draw out anything.
The program reads binary stored in a word array in row/column
fashion and then controls the motors accordingly. We can change
what the machine prints by changing the data in the "image" array.
It's pretty basic and shouldn't be too hard to understand or change
to fit our wants better.
As shown in the following figure the plotter machine has also the
capability to write words and sentences using Hard code method
represents every single character individually, and that work in the
same way with numbers and signs.