SLA 3d Printer
SLA 3d Printer
14 Steps
Collection
Favorite
Share
Show All 9 Items
Here is how to make a Stereolithography 3D Printer. It is still a bit of a work in progress but so
far it is working pretty well. This is mainly an experiment which started as a Delta Robot
Stereolithography Printer but ended as a more traditional Cartesian Stereolithography Printer.
"I'll be honest, we're throwing science at the walls here to see what sticks. No idea what it'll do."
- Cave Johnson
Stereolithography (SL or SLA from Stereolithography Apparatus) is an additive manufacturing
process using a vat of liquid UV-curable photopolymer "resin" and a UV laser to build parts one
layer at a time. On each layer, the laser beam traces a cross-section pattern of the part onto the
surface of the liquid resin. Exposure to the UV laser light cures, solidifies the pattern traced on
the resin and adheres it to the layer below.
I have wanted a 3D Printer for a while now and there are some very reasonably priced kits
available like the Makerbot, Ultimaker and the RepRap project. I could have just bought a kit
and started printing things but at the time I had not seen great resolution or print quality from
those. I started looking around at the other 3D printing technologies and found SLA made some
amazing quality prints, so I decided to try making my own. Since I started this a while back those
projects have come a long way and they can make some beautiful prints now. There are also
people working on a UV resin and DLP projector 3D printer which is showing promise.
I decided to enter this in the Epilog Challenge Contest because I could really use a laser cutter :-)
I also have some ideas how to redesign this project, for creation on a laser cutter. I wouldn't mind
making kits for people if I had one.
Something to keep in mind is the current cost of commercially available UV/Visible resins. 1
Liter is about $200 - $250 so compared to ABS or PLA for the plastic extrusion printers it is
about 4 - 5 times more as far as I can tell. There are other types of resin that are cheaper but I do
not know how well they will work.
Since I wasn't really sure if this was going to be a viable method of creating 3D objects, this was
a fairly cheap and quickly designed project. I have a small Taig CNC Mill for cutting metal so
the custom parts are made of scrap aluminum I had laying around. You can probably use wood
and maybe even hand cut the parts if you are careful.
General Parts
3 - 16" x 171/2" x 3/4" Plywood for the back and sides of the case
2 - 16" x 16" x 3/4" Plywood for the top and bottom of the case
24 - #6 x 3" wood screws and washers
4 - Rubber Stoppers 1 7/8" x 1 3/4"
4 - 1/4-20 x 2 1/2" Bolts
8 - 1/4-20 Nuts and washers
1 - 4" x 4" x 1/4" Black Acetal sheet (Delrin)
1 - 1 Liter Beaker
Tools Needed
Drill and various bits
Drill Press
JigSaw
4-40 tap
Access to a CNC Mill
Gorilla glue or similar
Long clamps
Hacksaw
Files
Safety
Laser Safety Goggles such as these. They must protect against 405nm light to be effective.
Well ventilated area, don't inhale the vapors from the resin or those produced when curing.
Step 2: Y Axis
Show All 8 Items
The bearing blocks come with a piece of plastic where the rail goes, this holds the bearings in
place. Do not take it out. When putting the bearing block on the rail just push the plastic piece
out with the rail. If you have to take the block off the rail push the rail out with the piece of
plastic lining it up the way it came.
Some of the pictures have bearings for support on the end of the Acme rods, I found that they
were not needed due to the short length of the rod.
If the assembly order doesn't work right or you have questions about anything let me know and I
will modify the instructable to include the changes.
Please use laser safety goggles for 405nm lasers. This laser is strong enough to cause permanent
eye damage.
Cut all the parts on the mill. The part drawings are attached as dxf files and the sketchup file is
there also.
Drill holes in the stepper mount flanges and the edge of the Acme nut block. See image notes
above.
Insert the Acme nut into the mounting block and mark the holes. Drill them out and tap them
with a 4-40 tap or drill them larger and use machine screws long enough to go through and a nut
to hold them.
See the drawing above for how to cut out the top part of the case.
UVLPrinter.skp1 MB
Z - Arm 9.8mm.dxf152 KB
Z - Bracket 12.7mm.dxf154 KB
3D Printer - Model.dxf1 MB
Step 3: X Axis
Mark, drill and tap with a 6-32 tap the bottom of the stepper mount. Attach the stepper mount to
the bottom plate with 6-32 machine screws.
Mount the linear rail to the bottom plate using 4-40 screws and nuts.
Drill holes in the laser mount flanges and mount to a 2 hole bearing block. (I know it shows a 4
hole block in the pictures you should use a 2 hole block.)
Once the assembly is adjusted set it on the top piece of the case and then mount the stepper.
Screw the Acme rod into the nut and the coupler then attach to the stepper.
Once everything is lined up mark and drill the holes for the rails to attach to the top piece of the
case. Attach with machine screws, nuts and washers on the outside of the board.
Step 5: Z Axis
Drill the flange holes in the Z arm mount. Drill and tap 4-40 holes in the end of the arm mount
by the slot. See the picture below.
The arm should fit into the slot and stick out a little past the end. Cut a short piece of 1/8" thick
2" x 1" aluminum and drill holes to match the ones in the end of the arm mount. Then place the
arm into the slot and screw the aluminum on to clamp the arm in place. See the pictures above if
you need clarification.
In the bottom piece of the case use a jigsaw to cut out the hole for the Z axis stepper.
To mount the stepper to the case bottom you can see the picture above but that was actually kind
of hard to line up right. You could find a single piece of aluminum that is wide enough to cut a
hole that matches the raised circle area on the stepper. Once it is cut you can mark and drill the
holes for the stepper and then holes to mount to the case.
To mount the circle platform onto the arm just drill and tap with 4-40 tap the bottom of the arm
then drill a hole in the platform and mount with a screw.
Clamp the box together as shown and make sure everything is as square as you can make it.
Then drill holes following the pictures above and screw together with wood screws and washers.
You can use store bought leveling feet or just make some with a stopper, bolt, 2 washers and 2
nuts. Follow the pictures above. Just drill into the stopper far enough to fit the head of the bolt
then drill holes in the bottom of the case. Use a bullseye bubble level to level the case by placing
it in the center of the bottom then turn the bottom nut on each foot to get the case level.
Cut three 9" (about 228mm) lengths of ACME rod. File the ends so that the threads are formed
well enough to thread into the ACME nuts. You may have to use a small triangle file to form the
threads back to a usable shape.
Once the case is assembled you can attach the Z axis linear rail to the back of the case. First
assemble the whole Z Axis including the linear rail, the ACME rod and the ACME coupler. slide
the coupler onto the stepper shaft. The rail should be flush with the back of the case, if not then
you may need to adjust the position of the Z stepper.
Position the rail about where it is in the pictures above and mark the 4 sides. Take the Z
assembly back out. Measure the rail from the end to the center of the first hole then the space
between the other holes and mark lines across the outline of the rail on the back of the case. Find
the center of your marks on the back of the case and draw a line down. Where the lines cross
drill holes to mount the Z axis rail and then mount it.
Drill a hole in the top big enough for the 4 pin connectors on the steppers to go though.
Hopefully the drawings and pictures make sense, let me know if clarification is needed. This was
my first use of Fritzing so it's not as pretty as I could probably make. The Fritzing file is attached
below.
Start by soldering the polarized 4 pin connectors into the Easydriver boards on top. Then solder
the male header pins into the other holes on the Easydrivers on the bottom*.
*One thing I should have done is put the header pins marked MS1 and MS2 on the top so it was
easy to jumper them to ground or solder up some headers on the protoboard for jumpers. I ended
up wanting to change the microstepping from the default of 8th step microstepping. I have added
these jumpers to the drawings now.
Once you have the male headers soldered, cut the female ones to match then put them on the
male pins and place them in the protoboard spaced out with enough room to work.
Solder the screw terminal to one end then wire up it up to each of the headers for the Pwr In on
the Easydrivers. Mark + and - on the screw terminal.
I used a 10 pin header and ribbon cable to pass the 6 step and direction pins and ground to the
Sanguino. you could just put a regular header row to pass the signals straight to the Sanguino.
Dont forget to connect the ground from the different boards together.
The wire colors for the coil pairs in my steppers are yellow+blue and green+red. Verify your
stepper coil pairs by following these instructions. Solder the female polarized headers to the
stepper wires using the pairs you verified for your steppers.
The drawings show headers for the microstepping selection. I am using half steps for the X and
Y axis and it is working pretty well. To use half stepping put a jumper on the ms2 pin to ground.
UVLPrinter.fz696 KB
The drawings below are a little different than what I have wired but should work. You could also
put this all on one board, this was the biggest board I had on hand.
The Laser driver board takes 9V from a wall wart power supply to drive the relay and the
LD33V 3.3V Voltage Regulator that powers the laser. The TIP120 transistor switches the relay
which switches the ground of the laser to turn it on or off.
Step 9: Limit Switches
The limit switches keep the controller from accidentally moving too far in one direction. They
can also be used to home the machine and tell it where to start from.
Put a little dab of gorilla glue on the switch then place it so the bearing block with hit the switch
before going too far. A 1/2" in from the end of the rail is fine. Tape them in place, making sure
they make good contact to the wood. The X axis ones were glued to the aluminum plate and it
worked fine. If you have switches with holes for mounting you can drill and mount them that
way. I couldn't find screws small enough for the mounting holes on the ones I had.
Run the wires up and out the hole for wires in the top of the case. I tacked them in place with
wire staples.
Solder all of the common side switch wires into a 6 pin female header. Then solder the NC side
wires to another 6 pin female header.
*Do not plug any power in before you connect the steppers. Connecting or disconnecting the
steppers while power in on to the stepper drivers will fry the driver board.
Connect the laser to the 3.3V header for it on the laser board.
Connect the ground for the limit switches and then the signal to digital pins on the Sanguino. I
used 17-22.
Connect the Step and Dir pins to the Sanguino. I used 2-7.
Make sure ground from the laser board and the stepper board are both connected to ground on
the Sanguino.
Connect all the power supplies. 9V for the laser board, 9V for the Sanguino and 12V - 24V for
the Stepper board. I connect all of these to a power strip to control them all at once. You could
wire a header on the laser board and then connect it to the Vin pin on the Sanguino to power it
from there if you want.
Connect the the 5V USB FTDI cable to the Sanguino. It is marked with the wire colors. If using
an Arduino Mega just use a regular USB cable.
Download the file UVLPrinter.zip below and extract it to your Arduino Sketchbook folder or just
open UVLPrinter.pde wherever you extract it from. It contains a modified version of the Sprinter
firmware.
Open the pins.h tab and change any pins that you may have connected differently than my setup.
The step and dir pins should be easy to find, the MIN_PIN and MAX_PIN for each axis are the
top and bottom limit switches. Anything with a -1 is not used. Everything else should be easy to
figure out.
#define X_STEP_PIN 6
#define X_DIR_PIN 7
#define X_MIN_PIN 19
#define X_MAX_PIN 20
If you are using anything other than half stepping you will need to go into the configuration.h tab
and change the following line.
The information needed to figure this out is the 16 Turns per inch on the Acme rod, the 200 steps
per turn of the stepper and the microstepping. If using 1/8th stepping then take the 200 steps of
the stepper times 8 to get 1600 steps.
The calculation for figuring out the steps per mm for 8th stepping is:
So for 8th stepping you would put 1007.87402 for each axis like this:
float axis_steps_per_unit[] = {1007.87402, 1007.87402, 1007.87402,700}; // 1/8th Step
The following lines are for configuring the max speed the steppers will try to move at. I start to
loose steps past 400 and the Z axis doesn't need to go faster than 200. Test out your setup and
change if needed.
float max_feedrate[] = {400, 400, 200, 500000};
float homing_feedrate[] = {400,400,200};
Once you have made any changes needed you can verify and upload the code to the Sanguino.
To setup Replicatorg copy the file uvlprinter.xml into the machines folder in the replicatorg
folder.
Start Replicatorg and click on the Machine menu then Driver and choose UV Laser Printer. Set
the serial port to the one you are using. On the GCode menu and Choose GCode Generator
choose Skeinforge (40).
Go to File then Examples and pick any of them. then press the Generate Gcode button. Press the
duplicate button and Name it UV3D or whatever you want. Select that profile and click the
Locate button. It will open a folder with the settings for this profile. Click cancel on the GCode
Generator window. Copy everything from the UV3D .1mm.zip file into this folder replacing
what is there.
You should be configured with the basic settings for running the printer.
uvlprinter.xml1 KB
end.gcode166 bytes
replace.csv30 bytes
start.gcode243 bytes
UV3D .1mm.zip41 KB
UVLPrinter.zip68 KB
To turn on and off the laser, open Replicatorg and connect to the printer. Click the control panel
and then toggle the checkbox for Valve.
Move the Z axis down to about the level where you will fill the beaker. I usually fill it to about
500ml unless I am printing something tall. Turn the lens in the laser until the dot is a small as it
can go, there is a point where it will get small then big again, try to get it as small as possible.
Slide the iris into the slot for it and line it up with the laser. Center the iris by turning the laser on
and moving the iris around. Close the iris slowly and watch the dot get dimmer until it almost
disappears then open it up just a little bit so the dot is small and not too bright.
Once you have it lined up carefully tack it in place with hot glue. There is probably a better way
to do this with set screws or something else but I haven't spent the time to redesign it yet.
You will have to adjust the iris and laser focus if you change the build height. I have not come up
with an easy calibration system yet. I will update this if I do. Right now I adjust the iris and print
something and see how well the layer thickness and line width worked.
Using the 1 Liter beaker that I have the print area is about an 85mm circle by about 100mm
tall. You can adjust the build area size in the uvlprinter.xml file if needed.
To set the Z height on this machine pour the resin into the beaker up to the height that you set the
laser at. Use the control panel in replicatorg to move the Z platform down into the resin to coat
the platform then back up to just above the surface of the resin. Set all the axises to 0 then close
the control panel and print.
The Z axis lowers into the resin then raises and waits a few seconds after each layer is printed.
The commercial printers use a wiper to wipe a precise amount of resin across the part but that
would have made the design much more complicated. This process isn't perfect but so far seems
to work alright.
I have only done a little bit of work with coloring the resin so far. What I have tested so far is
using Castin' Craft pigments and dyes and they seem to work.
Step 14: Wrap up
So, there it is. It works, but should you build one? Well that depends on what you want to get out
of building/buying a 3D printer. If you just want to print 3D things for cheap then no, I wouldn't
build one. Get a Makerbot or an Ultimaker or build a RepRap. If you want to tinker and possibly
get some amazing prints and don't mind that they cost a bit more to print than the others then go
for it. I would love to have some other people testing and thinking up new ways to tweak this.
As for cost of building the machine, I think I spent about $600 - $800 for everything. Less than
the extruder printers but the material cost is about 4-5 times more so it's not really the economy
option.
There are also other ways to print with UV cured resins, like using a DLP projector to show
images for long enough to cure a layer. There is one person that has made one that seems to work
well but it looks like it is closed source and going to be expensive when he starts selling it. There
is also a Yahoo group called diy_3d_printing_and_fabrication with people sharing their DLP
based builds and resin tests.
You should have used a laser galvanometer (galvo)! Sounds great, if you find one accurate
enough for under a few hundred dollars let me know!
Just for fun, the picture above shows most of the bad prints I've made so far.
I probably missed something so let me know if you have questions and I will get to them as soon
as I can. Thanks for reading.
you have to double check if the acceleration is enabled. This error message is for makerbots I
believe...as long as your motors are enabled to accelerate and able to pull the tourque you should
be ok.
Hey, great project! I got one up and running based on your software. I still have one issue with
the M113 code. This in reprap is for the power management...I was wondering if you used this
command to reduce the power on your laser or of you eliminated it from the code with the
replace files. If you did eliminate it, how is that accomplished? Did you use a replace and
truncate command?
Hi there,
Nice work. I am interesting in laser module. Please tell me what is laser module name?
Sincerely,
Tahi
sniffrumble7 months agoReply
Mostly what I have done so far is adjust the laser and iris then print a sample and measure it and
either adjust the laser or the settings to fit.
Very cool!
Mostly what I have done so far is adjust the laser and iris then print a sample and measure it and
either adjust the laser or the settings to fit.
Hi RobHopeless, I have read with attention your projects and it is very interesting. I should know
if with the laser system the final resolution of the object is the same of a DLP system I ask it
because I am interested to built a 3D printer top/down but I don't know betwen the two system is
the better. Regards Claudio.
Just for info, there is now a nice DLP projector instructable by TristramBudel:
http://www.instructables.com/id/DIY-high-resolution-3D-DLP-printer-3D-printer/
I'm seriously thinking that merging the two ideas might prove interesting!
I'm seriously thinking that merging the two ideas might prove interesting!
There are some really good things for people to learn here. (from your instructions, especially)
Curly
A great instructable, thanks for the work and sharing your experience.
438,245 views
923 favorites
License:
RobHopelessRobHopeless.com
Follow264
Bio:I am Andy Rawson and I make things. I usually end up making things that are expensive to
otherwise obtain. Like a Stereolithography 3D Printer or a Thermal Imaging camera. Check out
my other projects ...read more »
More by RobHopeless
Tags:3DPrinterlaserUVresincncreplicatorgarduino
Related
Arduino Rover
by appleman123987
Introduction to 3D Printing
by ___
See More