-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Rafi drawn on shrinky dinks courtesy of my daughter
Rafi prints a cat (click to see time-lapse)
Rafi is a stereolithography 3D printer heavily based on Andy Rawson’s (A.K.A RobHopeless) Cartesian stereolithography printer (http://www.instructables.com/id/Build-a-Laser-3D-Printer-Stereolithography-at-Ho/). The major difference is the usage of PLA printed parts instead of the aluminium parts are used in the original design. While at it I tried to somewhat improve the design here and there.
As with the original design I have used plywood for the case, and am using the exact same electronics (although I have had better experience with Nema motors and Pololu based stepper drivers). The instructions given below refer to Andy’s and so it is best to look at both if you are aiming at actually building one.
A word of caution: Other than being careful when dealing with the laser, operate the printer in a HIGHLY ventilated room, the resin is an industrial stuff whose fumes you do not want to inhale. I would be happy to hear about more home friendly materials that can be used.
4 X printed legs for the case.
Top switch mount. 6 of each.
Bottom switch mount. 6 of each.
![Main beam left part] (https://github.com/eranr/rafi/blob/master/X-Axis/Main%20Beam%20Left.png)
Main beam left part
Main beam center part
Main beam right part
X Motor holder
X Rod end
Y ACME flange mount
Y motor holder
Y motor support
Y rod end
Z motor holder
Z bracket
Z lifting arm male
Z lifting arm female
Z plate holder
Laser module holder
Iris holding ring

-
Start with making the two openings in the case top as shown in Andy’s instructions here: http://cdn.instructables.com/FZ6/IP6O/GUVTQY2J/FZ6IP6OGUVTQY2J.LARGE.jpg
-
Attach a stepper motor to the "Y Motor Holder" using 4XM3 screws and washers. I used a 15mm screws with the printed motor mount.
-
Attach the ACME threaded rod to the motor using a coupler. I used a 250mm rod. Do NOT over tighten the coupler’s screws holding the ACME rod. This will cause the rod and motor shaft not to be in a straight line. I have spent too much time I am willing to admit, and gone through several X Axis designs till I figured out this was the reason why the laser light would not go in a straight line. The only comfort I found was in the words: “experience is cheap at any price” –Jerome K. Jerome, Three Men in a Boat.
-
Attach the leadnuts Square flange to the printed “Y ACME flange mount” using 4 M3 screws (see picture below), and put the rod through the flange.

-
Put a 696 bearing through the hole of the printed “Y Rod end” part, and put the 250mm ACME rod end through the bearing.
-
Assemble the main beam of the X axis by attach the left, center and right beam printed parts using 4X M4 screws, washers and nuts. See picture below:

-
The purpose of the next steps is to screw the Y axis rails and the “Y Motor Holder” to the top of the case. To do this so that the rails are in parallel, we temporarily attach the X Axis main beam to the flanges as follows:
-
Put the 15mm Bearing Block those with the 4 Bolt Flange through two of the rails
-
Attach the main beam to both flanges using 8XM5 screws
-
Use 4XM4 screws to attach the main beam to the printed “Y ACME Flange mount”
-
You now have the Y motor attached to the ACME rod, which in turn is attached to the bearing blocks. This should look like this picture from Andy’s instructions: http://cdn.instructables.com/F8Z/XLF6/GUVU8OVO/F8ZXLF6GUVU8OVO.LARGE.jpg
-
Now, place the motor in its designated hole in the case top, so that the rails are parallel to each other, and mark where to drill holes for the rails (4 holes for each rails), for the “Y Motor holder”, “Y Motor support”, and “Y Rod end”. At this point you can disassemble the main beam from the bearing blocks and the “Y ACME Flange mount”.
-
Drill the 8 holes for M3 screws and attach the rails to the case top using 8XM3 screws nuts and washers.
-
Screw the “Y Motor holder”, the “Y Motor support”, and “Y Rod end” using wood screws.
-
Mount the end stop switches as shown in the picture at the top of this section. Note that the printed switch mount pop piece has two small pins. These pins are not centered. Place the piece so that the pins are to your right. Put the switch holes through the Switch mount top pins so that the switch lever is to your right as well. Use two M3 screws to attach the switch mount top piece to the bottom one. The bottom piece has a hole to mount it to the rail. I suggest, however, not to do that and let the pressure hold the switch mounts in place. This way their location can be adjusted according to print area you end up with.
The pictures below show the disassembled and assembled laser module holder.

- Start with pushing the Acme Square Nut to the square hole at the bottom of the holder. Make sure it can move up and down within it. You may need to gently file the inner sides.
- Push the LM8UU linear bearings through their designated holes. This may require to use some force. File the hole gently so as not to use too much force.
- Push the laser module into its place while making sure the wires go through their hole undamaged. Do not pull the wires they will easily get torn from the module. You will need to push the module all the way down till it reaches the bottom of its hole.
- Put the iris in its place. When doing so make sure the iris is closed.
- Push the printed holding ring over it.
-
Attach the third rail to the main beam as shown in the picture below using 4X M3 screws nuts and washers. The picture shows the two outer M3 holes free. The original intention was to leave those free for later to the end switch holders. Experience shows, however, that it is better not to screw the end switch at all. More on this below. Bottom line, use 4 screws at this point.

-
Re-attach the main beam to the flanges as you did in the previous step. Only this time leave two of the M5 holes free as shown in the picture below

-
Attach the printed “X Motor Holder” to the left part of the main beam using 4 X M5 screws. Note that the two inner screws will go through one of the Y-Axis bearing block and so they do not require nuts and washers. The two outer screws are attached to the printed part only. See below picture

-
Attach the X motor (with the coupler on) to its holder using 4X M3 screws and washers. See above picture.
-
Slide a 2 bolt flange bearing block through the rail.
-
Place two bottom pieces of end stop switches as shown below. Again, I advise against screwing them to the rail (as opposed to what the picture shows).

7.Attach the printed “X Rod End” to the right part of the main beam using 2X M4 screws. There are two holes made in the part for the screwdriver to get to the M4 holes at the bottom of the part.
8. Attach the laser module holder using 2X M5 screws. See below pictures

- Put the switches and switches top mounts as described above.
- Slide the two smooth rods through their designated holes in the “X Rod End” part, through the linear bearings all the way to the “X Motor Holder”. Make sure the laser module slides smoothly all the way on both directions.
- Put the Acme threaded rod through the square nut and screw it all the way into the coupler. Gently strengthen the set screws of the coupler. See below picture:
I have found the z-Axis assembly somewhat tricky, mainly due to the need to keep the threaded rod parallel to and aligned with the rail attached to the rear part of the case. In the below I will refer to the case as having left, right, and rear 'walls' as well as a floor. The rear wall is where the z-axis rail is attached.
-
The motor hole in the case floor:
-
Attach the Z-motor to the printed Z-Motor Holder using 4XM3 washers and screws. Note that the Z-Motor Holder has 4 elliptic holes to attach it to the bottom of the case. These allow some freedom in the final placement of the motor shaft/ACME rod with respect to the rail that is to be attached to the case rear 'wall'
-
Make a square hole slightly larger than the motor dimensions (e.g. 50X50 mm) in the case floor. The hole should be positioned so that when placing the motor holder with the motor attached through the hole, the motor holder aligns with the floor edge, and the elliptic holes allow movement back and forth with respect to the rear wall. In the other dimension the hole should be centered. The Picture below shows the attached holder in this position after the floor is attached to the rear wall.

-
Mark 4 holes for M6 screws to attach the motor holder to the box floor.
-
Attach the motor holder to the floor loosly with 2 M6 screws and washers on one of the diagonals as seen in the above picture.
-
Assembling the Box, making sure there are 90 degrees between the case floor and the rear wall of the case. See below figures.
-
Start by attaching the feet to the floor.

-
Attach the rear wall to the floor using four 4X50 screws.

-
Attach the left and right walls to the floor, again using four 4X50 screws.

-
Now, attach the left and right walls to the rear wall making sure that there is a right angle between the floor and rear walls. I used the following procedure:
-
Screw one screw in the left wall and another in the right wall so that they just appear through the walls (e.g. screw them as deep as the wall width plus 1 mm)

-
Use a square to adjust the exact point where the screw will get into the rear wall keeping a right angle between the wall and the floor. Start with one side and follow the same procedure on the other.

-
Add 3-4 screws in each side.
-
Mark the holes for the rail. Place the case on the rear wall. Assemble the z-Axis as follows:
-
Attach the flange to the ACME threaded rod mount in the Z-Bracket using 4X M3 screws. See below picture

-
Use 2X25mm M5 screws and washers to attach the Z-Bracket to the 15mm Bearing Block, 2 Bolt Flange.
-
Slide the 15mm Bearing Block on the Rail
-
Slide the motor shaft to the coupler and strengthen the coupler’s screws. The below picture shows the assembled motor, rod and Z-bracket with the rail already attached to the floor.

-
Hold the rail with one hand while turning the motor shaft so that the Z-bracket will move back and forth. Adjust the rail placement so that the Z-bracket will move freely all the way. Once you are happy with the placement mark the 4XM3 holes for the rail.
-
Note: The rail 'begins' 40mm from the motor holder. The exact distance is not crucial (A below the Z-Axis arm assembly picture).
-
Attaching the Rail:
-
Drill the 4 M3 holes.
-
Attach the rail using 4XM3 screws with washers and nuts from the back
-
Place the block bearing
-
Strengthen the 4 M6 screws holding the motor holder to the case floor.
-
Assembling the Z-Axis (See above picture):
-
Put the second 2 bolt flange bearing block through the rail.
-
Attach the leadnuts square flange to the printed “Z Bracket” using 4 M3 screws, and screw the bracket to the Z-Axis bearing block.
-
Attach a coupler to the Z motor, slide the third ACME threaded rod through the leadnuts square flange, and strengthen the coupler set screws over it.
-
Put the end stop switches on the rail as done in previous steps.
-
Attaching the female Z lifting are. See below picture:
Z-Axis arm assembly -
Slide a 150mm M6 threaded rod through the designated hole in the female Z lifting arm.
-
Using 2 M6 and 3 washers attach the lifting arm to the Z bracket.
-
Attaching the male Z lifting arm. See below picture:

-
Slide a 150mm M6 threaded rod through the designated hole in the male Z lifting arm.
-
Put two M6 nuts through one end of the rod
-
Screw the printed “Z plate holder” through that end to that the rod will not go out through its bottom.
-
Turn the two nuts in opposite directions to prevent movement of the arm and plate holder with respect to each other.
-
Cut a Delrin sheet according to the dimensions of your beaker. Make some holes in It to let the resin easily drain through them.
-
Push the cut Delrin sheet to the gap in the plate holder.
-
Whenever printing put the male into the female parts as shown in the picture above.
I have pretty much followed steps 7-10 in Andy’s instructions. Note that by now you already have the limit switches tacked in place.
- Step 7: Soldering the stepper driver board: http://www.instructables.com/id/Build-a-Laser-3D-Printer-Stereolithography-at-Ho/step7/Stepper-Driver-Board/
- Step 8: Soldering the laser driver board: http://www.instructables.com/id/Build-a-Laser-3D-Printer-Stereolithography-at-Ho/step8/Laser-Driver-Board/ The laser circuit seem to have the following mistake: The laser ground switched by the relay needs to be 'switched' to the 9V power ground. That is - whenever the TIP 120 transistor gives a signal, the relay coil is 'activated' and the laser ground needs to be connected to the 9V ground. Now, in the circuit picture (http://www.instructables.com/file/FM2ZZMKGUS75E0A), the 9V ground is connected to the lower right leg of the relay (when looking from above), which according to the relay spec is indeed the leg that is 'switched' when the coil is 'activated'. In the Fritzing diagram (http://www.instructables.com/file/F397WFEGUWHGP1N), however, the 9V ground is connected to the lower left leg of the relay. The attached overall Fritzing diagram has it right.
- Step 9: Limit Switches: http://www.instructables.com/id/Build-a-Laser-3D-Printer-Stereolithography-at-Ho/step8/Laser-Driver-Board/
- Step 10: Wire it all up: http://www.instructables.com/id/Build-a-Laser-3D-Printer-Stereolithography-at-Ho/step10/Wire-it-all-up/ Refer to the updated Fritzing diagram here: https://github.com/eranr/rafi/blob/master/Wire-it-all-up.fzz
Again, I have pretty much followed Andy’s instructions. Note that the link in Andy’s instructions points to version 0040 of ReplicatorG. The problem with this version is that the valve control is no longer supported in the UI. The valve control allows you to manually turn the laser module on and off from ReplicatorG’s manual control. This is necessary when adjusting the laser module lens and Iris. To get around the problem, either use an older version (not sure which one) or build the app from source using the changes in the diff file https://github.com/eranr/rafi/blob/master/valve_diff.txt You will basically need to:
- Clone the git repo https://github.com/makerbot/ReplicatorG 2.Checkout branch rep40_fixes_wdc
- Apply changes to src/replicatorg/app/ui/controlpanel/ExtruderPanel.java as shown in the attached diff file valve_diff.txt file
- Build the application as described here: http://replicat.org/building-from-source
Another problem I had was with the firmware definition of steps. The code given in Andy’s instructions seem to be wrong. For half a step for all motors you need:
float axis_steps_per_unit[] = {251.971678, 251.971678, 251.971678,700}; //Half Step
and for full steps on all motors (simply following Andy’s calculation explanation):
float axis_steps_per_unit[] = {125.984252, 125.429921, 125.429921,700}; //Full step
Here is how to set the steps when doing the wiring of the drivers (taken from http://www.schmalzhaus.com/EasyDriver/).
| MS1 | MS2 | Resolution |
|---|---|---|
| low | low | Full Step (2 phase) |
| high | low | Half step |
| low | high | Quarter step |
| high | high | Eight step |
Note that while the wiring diagram shows ‘jumpers’ allowing adjusting the steps, the pictures show a wired circuit where the drivers are actually set for 1/8 step.