Sunteți pe pagina 1din 41

DESIGN AND DEVELOPMENT

OF 3D PRINTER
Guided by
By
Dr. L. BALA MURUGAN
S.AAKASH 312311114001 Associate Professor
G.VIGNESH- 312311114130
Department of Mechanical
Engineering

MOTIVATION

Lead time
Unaffordable for the masses
Manufacturing of complex shapes
Customized digital manufacturing

Conventional Lathe
Image Source: Google

Makerbot Replicator 3D
Printer

ABSTRACT
Digital desktop fabrication technologies such as 3D printing
are currently being lauded in the popular press as a potential
socially transformative technology.
This work discusses the design and development of an
affordable Fused Deposition Modeling machine.
This particular design includes carriage and roller drive on
aluminium extrusion which best meets the functional
requirements after comparing the designs based on factors
such as complexity and controllability.
This design aims at providing an extremely compact and
portable 3D printer which holds all features such as auto bed
leveling and no filament blockage. This machine can be
upgraded as required which will provide way for fully
customizable digital fabrication.

OUTLINE
Motivation
Current Scenario
Proposed design
Design calculations of carriage for X and Y motions
Design of V-rollers
Design of direct drive filament feed mechanism
Design of extruder head
Advantages from existing design
Timeline
Conclusion
Future steps ahead

STUDY OF EXISTING
DESIGNS
Spiderbot
Delta 3D Printer

Info source:

Print technology
: Fused deposition
modelling
Price
: 93,870 INR
Print area
: 180x150x300
mm
X,Y,Z motion drive mechanism :Timing belt and
pulley drive
Filament drive mechanism
: Lego worm drive
extruder
Extruder cooling
: Air cooled
Weight
: 15 Kg.
Firmware
: Marlin derivative
firmware
Microcontroller
: Standard arduino
board
Advantages:
1. Inbuild power supply unit
2. Stable aluminium chassis
3. Heated print bed can print ABS
Disadvantage:
4. Unaffordable

Makerbot replicator 2

Info source:

Print technology
: Fused deposition
modelling
Price
: 1,55,000 INR
Print volume
: 250 X 152 X
152mm
X,Y,Z motion drive mechanism : Timing belt and
pulley drive
Filament drive mechanism
: Spring type
extruder
Extruder cooling
: Air cooled
Weight
: 12.6 Kg.
Firmware
: Makerbot
makerware
Microcontroller
: Standard arduino
board
Filament diameter
: 1.75mm
Nozzle diameter
: 0.4mm
Advantages:
1. Stable powder coated steel chassis
2. Heated print bed can print ABS
3. High precision
4. Dual extruder
Disadvantage:

FabX 3D Printer

Info source:

Print technology
modelling
Price
Print volume
100mm
X,Y,Z motion drive mechanism
block
Filament drive mechanism
extruder drive
Extruder cooling
Weight
Firmware
firmware
Microcontroller
arduino board
Filament diameter
Nozzle diameter
Advantages:
1. Acrylic chassis
2. Affordable
3. Portable
Disadvantage:
4. No heated bed

: Fused deposition
: 20,000 INR
: 100 X 100 X
: Series rails and
: Gear type
: Air cooled
: 5.5 Kg.
: Marlin
: Standard
: 1.75mm
: 0.3mm

PROPOSED DESIGN

Vertical carriage

Split to accommodate smooth


rod

Printer base

Horizontal carriage

Y motor mount

Z motor mount

3D printed horizontal carriage

Manufactured delrin rollers

DESIGN CALCULATIONS
Drive selection
X and Y movement
Z movement
Filament feed

Positioning of end stops


Auto bed Levelling
Assembly of electronic circuit
Microcontroller coding

SELECTION OF STEPPER
MOTOR

X MOTION CALCULATIONS
1. DETERMINATION OF DESIGN LOAD
P = VI =12*2=24W=0.032HP
DESIGN HP = P * SERVICE FACTOR=
0.032*1.4 = 0.045 HP
2. SELECTION OF BELT PITCH
CHECKING BELT PITCH SELECTION BASED ON
THE INDIVIDUAL GRAPHS
Rated speed = V/L*I/Steps/rev = 8.33rps =
500rpm
Rated torque = 4.2Kg cm =0.412 N m
For the rated torque and corresponding rated
speed the belt pitch selection is GT2 2mm
pitch and hence the design never conflicts.
3. DETERMINE SPEED RATIO
Speed ratio = Diameter of drive/ Diameter of
Driven
= 15/15 = 1
Pulley Pitch Diameter = = 1.732mm
4. BELT SPEED
V=0.0000524*Pitch Diameter (mm) * Pulley
RPM
V = 0.0000524*12.732*500 = 0.333526 m/s

X motion Timing belt and pulley


drive

Fabricated X-motion mechanism


Idler pulley

Stepper
driven GT2
pulley

Linear
bearing for
x motion

Y motion Timing belt and pulley


drive
Idler pulley
Bed mount
to
accommodat
e toothed
belt

Sliding
rollers on Al
extrusion

Z MOTION CALCULATIONS
1.CALCULATION OF LOAD TORQUE

We used M5 Threaded rod with 0.8mm pitch.


F-Frictional Force needed to overcome
E-Efficiency
C=0.16 (steel)
= 3.19 N
= 1.35 x 10-3 Nm
2.DUE TO THE EFFECT OF ROTARY MOTION THE
EFFECT OF INERTIA IS SEEN
Inertia due to load,
J = 0.032 *10-3 kg
m2
Inertia of Screw,

Mass of the screw,

M = 0.153 Kg
Inertia of screw,
J=

4.78 * 10-7Kg m2

3. MAXIMUM TRAVERSE SPEED


Smax = RPM max *p
Smax = 500 *0.8
Smax = 400 rpm
4. MAXIMUM LINEAR SPEED
For 200 step motor linear speed = 1000*60*0.8*10 -3 / 200
Max. Linear speed = 240mm/min
5. ANGULAR VELOCITY OF THE SCREW

6. TORQUE NEEDED TO ACHIEVE ACCELERATION


If we need acceleration of about 3000 rad/s 2 , The torque required to achieve is
T = J*a
T = (4.78 * 10-7+ (2* 0.032 *10-3 )) * 3000
T=0.1934 Nm is required to achieve acceleration of 3000 rad/s 2

Z motion Lead screw


mechanism

Fabricated Z drive
mechanism
Sliding
rollers on Al
extrusion

Spring
tensioned
carriage

Flexible
couplin
g

Code snippets for drive


control
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y,
Z, E
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the
homing speeds (mm/min)
#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,4000,148}
#define DEFAULT_MAX_FEEDRATE
{500,500,2.5,25} //
(mm/sec)
#define DEFAULT_MAX_ACCELERATION
{1000,1000,100,500}
// X, Y, Z, E maximum start speed for accelerated moves.
#define DEFAULT_ACCELERATION
800 // X, Y, Z and E max
acceleration in mm/s^2 for printing moves
#define DEFAULT_RETRACT_ACCELERATION 800 // X, Y, Z and E max
acceleration in mm/s^2 for retracts

X, Y, Z drive connections to
Arduino
Stepper motor
connections
Potentiomete
r to limit
current to
stepper driver
Stepper driver
(1/16th
microstepping)

Heated bed calculation


Resistance, R

= U2/P
= 122/140 = 1.02
The width of one track part,

Where
Rs,Cu, Specific resistance of copper = 1.68 x 10-5 mm
tCu, Thickness of copper = 35m=0.035mm
2wtr =
wtr = 2.62 mm
Number of tracks,
ntr = = 46.53

Wtr = 2.62mm ; Ltr = 9890


Length of entire track, ltr = lbntr
mm
Ntr = 47
; R = 1.02
ltr = 215 x 46 = 9890 mm (approx.)
ohm

Extruder head design


Servo Motor
to actuate
bed level
probe

Nozzle
head

Z probe

Heater
catridge

Extruder Head

Duct to
cool
printed
layers

Fan to cool
extruder
head

Fabricated extruder head

Connecting thermistors, heated bed


and heater catridge

Connections to thermistors

Connections to heated bed, fan


and heater catridge

Configuring temperature sensors


and heated bed
#define TEMP_SENSOR_0 -1
#define TEMP_SENSOR_1 -1
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 0
If the temperatures difference between these sensors is too high the print will be aborted.
#define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
// The minimal temperature defines the temperature below which the heater will not be enabled It is
used
// to check that the wiring to the thermistor is not broken.
#define
#define
#define
#define

HEATER_0_MINTEMP 5
HEATER_1_MINTEMP 5
HEATER_2_MINTEMP 5
BED_MINTEMP 5

#define
#define
#define
#define

HEATER_0_MAXTEMP 275
HEATER_1_MAXTEMP 275
HEATER_2_MAXTEMP 275
BED_MAXTEMP 150

Direct drive filament feed


mechanism

Filament
adapter

MK8 gear

Spring
tensioned
drive
mechanism

Indicating the delay and setting


limits for filament feed rate
#define FILAMENT_SENSOR_EXTRUDER_NUM 0
//The number of the extruder that has the filament sensor (0,1,2)
#define MEASUREMENT_DELAY_CM 14
//measurement delay in cm. This is the distance from filament sensor to middle of barrel
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
//Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then
used in the slicer software. Used for sensor reading validation
#define MEASURED_UPPER_LIMIT 3.30
//upper limit factor used for sensor reading validation in mm
#define MEASURED_LOWER_LIMIT 1.90
//lower limit factor for sensor reading validation in mm
#define MAX_MEASUREMENT_DELAY 20
//delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable
(must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM)

Connections to Arduino
Mega 2560

Connecting endstops and


heated bed to Arduino

Connecting SMPS to ramps

Overall printer connections

Connecting SMPS to Arduino

Specifying the printer homing point


and travel limits
// Disables axis when it's not being used.
#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders
#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
#define
#define
#define
#define
#define
#define

INVERT_X_DIR true
INVERT_Y_DIR false
INVERT_Z_DIR true
INVERT_E0_DIR false
INVERT_E1_DIR false
INVERT_E2_DIR false

// for Mendel set to false, for Orca set to true


// for Mendel set to true, for Orca set to false
// for Mendel set to false, for Orca set to true
// for direct drive extruder v9 set to true, for geared extruder set to false
// for direct drive extruder v9 set to true, for geared extruder set to false
// for direct drive extruder v9 set to true, for geared extruder set to false

// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

// Travel
#define
#define
#define
#define
#define
#define

limits after homing


X_MAX_POS 205
X_MIN_POS 0
Y_MAX_POS 205
Y_MIN_POS 0
Z_MAX_POS 200
Z_MIN_POS 0

Code snippets for Auto bed levelling


and specifying grid points
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if
Auto Bed Leveling is Enabled.
#ifdef ENABLE_AUTO_BED_LEVELING
#define AUTO_BED_LEVELING_GRID
// with AUTO_BED_LEVELING_GRID, the bed is sampled and least squares solution is calculated
#ifdef AUTO_BED_LEVELING_GRID
// set the rectangle in which to probe
#define LEFT_PROBE_BED_POSITION 15
#define RIGHT_PROBE_BED_POSITION 170
#define BACK_PROBE_BED_POSITION 180
#define FRONT_PROBE_BED_POSITION 20

#define X_PROBE_OFFSET_FROM_EXTRUDER -25


#define Y_PROBE_OFFSET_FROM_EXTRUDER -29
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
#define Z_RAISE_BEFORE_HOMING 4
#define XY_TRAVEL_SPEED 8000

// (in mm) Raise Z before homing (G28) for Probe Clearance.


// X and Y axis travel speed between probes, in mm/min

#define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first
probing point.
#define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between

Code snippets for specifying


acceleration and feed rate
//Manual homing switch locations:
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
// MOVEMENT SETTINGS
#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200.0*8/3,760*1.1} // default steps per
unit for printing
#define DEFAULT_MAX_FEEDRATE
{500, 500, 5, 25} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION
{9000,9000,100,10000}
#define DEFAULT_XYJERK
#define DEFAULT_ZJERK
#define DEFAULT_EJERK

20.0 // (mm/sec)
0.4
// (mm/sec)
5.0 // (mm/sec)

// Custom M code points


#define CUSTOM_M_CODES
#ifdef CUSTOM_M_CODES
#define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851
#define Z_PROBE_OFFSET_RANGE_MIN -15
#define Z_PROBE_OFFSET_RANGE_MAX -5
#endif

Bill of materials

Fabricated Printer without heated


bed

Printer Specifications
Print technology
modelling
Price
Dimentions
Print volume
X,Y drive mechanism
pulley drive
Filament drive mechanism
extruder
Extruder cooling
Weight
Firmware
Microcontroller
board
Filament diameter
Nozzle diameter
Power consumed

: Fused deposition
: 28000 INR
: 250x250x300
: 200x200x250mm
: Timing belt and
: Spring type
: Air cooled
: 1.5 kgs.
: Marlin
: Standard arduino
: 1.75mm
: 0.4mm
: 210 W

Advantages of new design over


existing design

Affordability
Auto bed levelling feature
Portable
Self powered data transmission
Adaptability to different firmwares
Simpler X and Y motion mechanisms
Can be upgraded to dual extruder

References
How Stuff Works Website
www.computer.howstuffworks.com/3-d-printing.htm
How 3d printing Actually works
www.mashable.com/2013/03/28/3d-printing-explained
Stratasys the developer of FDM www.stratasys.com/3D_Printing
Rapid prototyping-assisted fabrication of the customized
metatarsophalangeal joint implant (SamKu), C. Raghatate
Sameer, M. Kuthe Abhaykumar, R. Deshmukh Tushar, W. Dahake
Sandeep. 2014
Issues in additive manufacturing, E.S.A. Nasr, A. Al-Ahmari, K.
MoiduddinCAD 375-399.
Dario Croccolo, Massimiliano De Agostinis, Giorgio Olmi. 2013.
Experimental characterization and analytical modelling of the
mechanical behaviour of fused deposition processed parts made
of ABS-M30. Computational Materials Science.

Timeline