Está en la página 1de 10

Rostock

Rostock
Release status: working
Description Rostock is a delta robot
3D printer prototype.
License GPL
Author Johann
Based-on Helium Frog Delta Robot
Categories Delta, Tall
CAD
Models
GitHub
External
Link
Thingiverse
Rostock is a linear delta robot 3D printer prototype, built in 2012 by Johann in Seattle, USA.
Several variations have taken root, including: Kossel, Rostock mini, Rostock MAX, Rostock-
Montpellier, Rostock Prisma , Delta-Pi, Cerberus, cOssel, Cherry Pi and ProStock. Both the
MOST delta and their Open Source Metal 3D Printer also uses an inverted form of this design.
Contents [hide]
1 Design Goals
2 Videos
3 Bill of Materials
4 Firmware
5 Assembly
5.1 Motors
5.2 Endstops
5.3 Belts
6 Calibration
7 Frequently Asked Questions
7.1 How do you adjust the height of the print surface?
7.2 Should the heat bed be mounted on top of a piece of insulation or cork?
7.3 Is your heat bed mounted element side up?
7.4 Should the heat bed be mounted so it can be leveled?
7.5 Will it matter if the hot end is not centered in the platform opening?
7.6 Why does the printer pause sometimes?
7.7 If Rostock loses power, does the print head fall down?
7.8 How do I calibrate axis_steps_per_unit?
7.9 What's the resolution in X/Y direction?
7.10 Is it possible to mount a cooling fan on the print head carriage?
7.11 How many bearings are actually used?
7.12 How do you pronounce "Rostock"? Roe-stock, Raw-stock, Roz-talk?
7.13 Would you recommend 0.9 degree per step or 1.8 degree per step motors?
Read View source View history
Search Go Search
Page Discussion
Navigation
Main Page
Build a RepRap
Glossary
Reference
Participation
Recent Changes
Create a new page
Donation Page
Community
Development Index
Planet RepRap
Blog of Blogs
IRC
Forums
RepRap Groups
Community Portal
Licence
Toolbox
What links here
Related changes
Special pages
Printable version
Permanent link
Create account Log in
Do you need professional PDFs? Try PDFmyURL!
7.14 Can you publish a schematic diagram of the electronic connections?
7.15 Can Rostock print a full 11.31" diameter circle?
7.16 Where can I buy a kit with parts to build my own Rostock?
7.17 Do you have any backlash problems with the metal-on-plastic universal joints?
7.18 Why do you have longer than "standard" LM8UU bearings on some of the rods?
7.19 How low do the carriages need to slide on the rods during the printing/operation?
7.20 What length are the belt loops?
7.21 Why did you build three towers instead of four?
8 Future
9 Links
Design Goals
Build volume: 200x200x400 mm (8x8x16 inches).
Footprint: 300x350 mm (12x14 inches).
Print surface: 200x200 mm heated glass which never moves.
Mass of end effector with hotend: less than 50 grams.
Positioning speed: up to 800 mm/s in all 3 directions.
Positioning accuracy: at least 30 steps/mm in all 3 directions.
Simplicity: fewer than 200 parts.
Hardware cost: less than $500 USD.
Videos
http://youtube.com/user/jcrocholl/videos?query=rostock
Permanent link
Page information
3d Printer
Buyers
Guide
3dsystems.com
Latest Guide -
Choose the Right
3D Printer for
Your Application.
Do you need professional PDFs? Try PDFmyURL!
Bill of Materials
See #Links for full BOM spreadsheet with vendors.
Printed Parts
Plastic parts: Printed from PLA.
Thingiverse: Rostock (delta robot 3D printer)
Frame
Top and bottom frame: Hand-cut plywood 2x(300x350 mm baltic birch).
Side and Back frame: Hand-cut plywood 2x(762x9 mm baltic birch).
Fasteners: Stainless steel, mostly M3 (some M4 and M8).
Linear Motion
Timing belt: 3x 1524 mm GT2 belt (2 mm pitch, 6 mm width). Closed loops or open end is okay.
Timing belt pulleys: 3x GT2 plastic pulleys with 40 teeth. Smaller would probably work better.
Smooth rod: 6x 762x8 mm precision smooth rod. Drill rod is probably okay too, but some report that the bearings wear grooves into the
surface as drill rod is not as hard as smooth rod.
Linear bearings: 6x LM8UU
Cable ties: secure linear bearings and timing belts to printed parts.
Order
Checks At
$3.50/box
3D Printing
for OEMs
Do you need professional PDFs? Try PDFmyURL!
The length of belts and rods can be changed in the firmware.
Ball bearings: 3x 608ZZ, 3x F608ZZ. If you can't find F608ZZ, use 608ZZ with printed plastic flange.(Additional bearings needed for
Airtripper's bowden extruder).
If using smaller pulleys, replace 608 (8x22x7 mm) with 688 (8x16x6 mm) or similar.
Extruder
Filament drive: Airtripper's direct drive bowden extruder .
Hot End
Hotend: MakerGear hotend for 1.75 mm filament, 0.5 mm nozzle.
Electronics
Stepper motors: 4x NEMA 17 (3 positioning, 1 extruder).
Endstops: 3x ZM micro switch (pin plunger, no lever). You need only 3 top endstops. The original design also had 3 bottom endstops but
they are no longer needed.
Electronics: RAMPS 1.4 or any other RepRap board.
Power Supply: 12v 30A
Firmware: Modified Marlin (see #Links). This is a pretty hacky proof of concept. Hopefully we will have better firmware soon.
Software: Same as other RepRap printers, e.g. OpenSCAD, Slic3r (see GitHub for recommended settings), Printrun.
Firmware
The prototype is currently running modified Marlin firmware . This is a pretty hacky proof of concept and not a long-term solution. But it
successfully receives regular G-code over USB and converts it to Delta geometry in realtime on the Arduino. I used Arduino 0023 to compile
and upload this firmware to the RAMPS 1.4 board. When I tried Arduino 1.0 it didn't compile, but someone told me that newer versions of Marlin
are supposed to work with Arduino 1.0.1.
I changed the G1 prepare_move() function in Marlin.pde to do the following:
1. Estimate how many linear steps should be done for this line.
2. Divide the line into many very small linear segments (less than 1 mm each).
3. Calculate delta coordinates and speed for each segment.
4. Add each segment to the path planning buffer.
5. If the path planning buffer is full, wait until the next segment has been executed.
Also I improved the G28 (home all axes) command:
1. Move all three carriages up until one hits the top endstop microswitch.
2. Home in order X column, Y column then Z column.
3. Now we know that the end effector is exactly centered at the top.
4. The endstops are adjustable with M3 screws on the moving parts.
Assembly
Do you need professional PDFs? Try PDFmyURL!
Motors
Connect the 3 stepper motors to the X, Y, Z driver outputs on the RAMPS board.
Maybe add short pieces of colored shrink wrap to identify the motor and endstop
cables.
Red = X: front left motor and endstops (electronics side).
Yellow = Y: front right motor and endstops (plywood frame side).
Blue = Z: back middle motor and endstops.
Adjust the motor voltage (small round potentiometers) on the stepper drivers to 9
o'clock (roughly 30%). This will allow the motors to skip steps in case the endstops
don't work. When calibration is done, 10 or 11 o'clock is a good setting to prevent
skipping but also avoid overheating the motors and drivers.
Grabercars says: about 1/8 of a turn clockwise off of minimum power on the Pololu
is all it takes to get the motors operating correctly and not making any noise.
Endstops
Connect the 3 top endstop wires to the XMAX, YMAX, ZMAX connectors on the RAMPS board.
The endstops are configured "normally connected", so the circuit should be interrupted when the endstop is hit. If your endstops are
"normally open", change X_ENDSTOPS_INVERTING to true in Configuration.h.
Belts
It can be challenging to get good belt tension. You should be able to pluck nice bass tones on the belts. Here is Johann's tensioning method:
Make sure you don't have a flange on the outer idler bearing (the one that is facing you).
Put timing belt on motor pulley and idler bearings.
Push idler end up as far as possible with one hand.
Remove belt from idler bearings.
Push idler end up 3 mm more and tighten screws on smooth rod.
Put timing belt on idler again. It will be very tight.
The idler bearings are tilted 2 degrees upwards, so your belt should not fall off even though the outer bearing has no flange.
If the belt does fall off, reduce belt tension slightly, or print a new idler end with increased upward tilt.
Calibration
This section has been updated for the latest modified Marlin firmware (without bottom endstops).
Download https://github.com/jcrocholl/Marlin and make the following adjustments in Marlin.pde and Configuration.h.
DELTA_DIAGONAL_ROD 250 mm center-to-center distance of the holes in the diagonal push rods.
DELTA_SMOOTH_ROD_OFFSET 175 mm horizontal offset from middle of printer to smooth rod center.
If your print head is too high or low in the middle of the print surface, adjust DELTA_SMOOTH_ROD_OFFSET by half mm and try
Do you need professional PDFs? Try PDFmyURL!
again.
DELTA_EFFECTOR_OFFSET 33 mm horizontal offset of the universal joints on the end effector.
DELTA_CARRIAGE_OFFSET 18 mm horizontal offset of the universal joints on the carriages.
DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET) effective horizontal
distance bridged by diagonal push rods.
Z_HOME_POS 402 mm distance between nozzle and print surface after homing.
If you know the pitch and size of your timing belt pulleys, you can use http://calculator.josefprusa.cz/#MotorStuffSPMB to find the correct
value for DEFAULT_AXIS_STEPS_PER_UNIT for X, Y, Z.
Connect the USB cable to your computer and upload the firmware to the Arduino Mega.
With the USB cable connected to your computer, start pronterface.py.
Choose the USB interface, select 250000 baud, click the "Connect" button.
If the connection is established, you should see some output from Marlin in the window on the right.
Move the vertical carriages by hand away from all the endstops, so that there is some space above the carriages, and below the print head.
Place an old book or thick corrugated cardboard on your heated bed or glass surface, to protect it in case of print head crash.
Connect the 12V power supply. Make sure you can turn it off quickly if the motors are moving in the wrong direction.
Send the G28 command (home all axes) by clicking on the little house button.
This should move all 3 carriages up until they hit the top endstops.
If the carriages start moving down instead of up, turn off the 12V power supply and then reverse the stepper motor connectors on the
RAMPS board. Then try again.
The top endstops are used for micro-calibrating the height of the print bed.
If you have a dial indicator, you can attach it to the print head with this .
After G28, move down to the print platform and try horizontal moves in X and Y
direction.
The dial indicator will show if horizontal moves are parallel to the print bed or not.
Or you can attach a pen and draw lines on paper.
Or if you already have an extruder and a hotend, print the first layer of a large
object.
If the first layer is too thin near one of the motors, turn the endstop screw in that
carriage clockwise.
If the first layer is too thick near one of the motors, turn the endstop screw in that
carriage counter-clockwise.
One full turn of M3 thread equals 0.5 mm.
After adjusting endstop screws, send G28 (home all axes) and try again.
Frequently Asked Questions
How do you adjust the height of the print surface?
Do you need professional PDFs? Try PDFmyURL!
You can adjust the following line in Configuration.h and then recompile and upload the firmware:
// The home position of the print head.
// For Rostock this means top and center of the cartesian print volume.
#define Z_HOME_POS 402 // Distance between nozzle and print surface after homing.
For micro-calibration, use the adjustable endstop screws in the vertical carriages, see #Calibration above.
Should the heat bed be mounted on top of a piece of insulation or cork?
Yes, cork would probably help to heat up faster and avoid heating the plywood and electronics underneath.
Is your heat bed mounted element side up?
Yes, the etched copper side is in direct contact with the glass. You can see the LEDs and contacts in the front just next to the glass edge. But
I have not actually connected my heated bed wires yet, because I print only PLA and it sticks perfectly to blue painters tape, even without
heating the platform. I will connect the heated bed wires if I ever have problems with detaching corners, otherwise remove the heated bed
completely at some point.
Should the heat bed be mounted so it can be leveled?
No, I think the print platform should be attached as tightly as possible to the frame, with full surface contact, possibly with cork insulation
between bed heater and plywood. Then you can level the first print layer with the three micro-adjustable endstops, see #Calibration. Also make
sure that the vertical smooth rods are orthogonal to the bottom plywood, otherwise your printed objects will be slightly skewed.
Will it matter if the hot end is not centered in the platform opening?
It might work okay but there are some minor issues:
You may need to design and print a special asymmetric attachment for the bowden tube.
The nearest inside of the moving platform may get soft because of the heat from the hotend.
Your prints will not be centered on the print surface (closer to one edge) but this may be adjusted in your Slicer settings.
Why does the printer pause sometimes?
Print with pronsole.py instead of pronterface.py if your prints have warts. They may be caused by Pronterface redrawing the G-code view while
printing, which creates significant delay between segments. My modified Marlin firmware generates many shorter lines for each G1 command,
so the Marlin look-ahead buffer will run empty if you don't send the next G1 command ASAP. This can also be solved by printing directly from
SD card.
If Rostock loses power, does the print head fall down?
No. The print head weighs less than 50 grams, and the three stepper motors have significant holding torque even when they are turned off
(permanent magnets). You can move the print head around with your hand when the motors are turned off, but it's not very easy, and it will stay
where you put it.
Do you need professional PDFs? Try PDFmyURL!
How do I calibrate axis_steps_per_unit?
You don't need to "move and measure" if you know the pitch and number of teeth on your pulleys. Simply enter your pulley size on
http://calculator.josefprusa.cz/#MotorStuffSPMB and it will do the math and show you the result. The firmware takes care of all the non-linear
math so you don't have to include that in this number. If you do want to "move and measure", use Z movement, because X and Y are non-
linear.
What's the resolution in X/Y direction?
The steps per mm for X and Y is not constant across the print area. In the middle it is around 30 steps per mm, and near the edge it's more
than 300 steps per mm because the push rods will be nearly horizontal.
Is it possible to mount a cooling fan on the print head carriage?
It is possible but I was trying to reduce the weight of the moving parts. So I'm using a large oscillating desk fan sitting next to the printer. You
can see the fan in this picture: http://thingiverse.com/image:150904
How many bearings are actually used?
3x 608ZZ and 3x F608ZZ (F = flanged) for the timing belt idlers at the top. If you can't find flanged bearings, you can try using normal 608ZZ
with a printed plastic flange. If you want to use smaller timing belt pulleys on the motors (which might be a good idea) you could also replace
608 (8x22x7 mm) with 688 (8x16x6 mm) or similar.
Also 1x 608ZZ and 1x MR105ZZ for Airtripper's direct drive bowden extruder.
How do you pronounce "Rostock"? Roe-stock, Raw-stock, Roz-talk?
It's open source, you can pronounce it how you want. ;)
I say Ross-tock but your other pronunciations are fine too.
Would you recommend 0.9 degree per step or 1.8 degree per step motors?
Use whatever you have in your workshop. If you are buying new motors, I think 1.8 degree per step (200 full steps per rotation) is more common
for RepRap printers these days. Modern electronics (e.g. the RAMPS 1.4 which I currently use) support 16x micro stepping, so there are 3200
micro steps per rotation which is plenty.
Can you publish a schematic diagram of the electronic connections?
The wiring is very similar to Prusa Mendel for example. I wired my endstops "normally connected" so the circuit is interrupted when the endstop
is hit. But that's easy to change in the firmware configuration.
Can Rostock print a full 11.31" diameter circle?
The current prototype can't really print the full 8x8 heated bed. It's closer to a 9 inch circle. But yes you can print a vase with overhang that is
wider than the print surface.
Do you need professional PDFs? Try PDFmyURL!
Where can I buy a kit with parts to build my own Rostock?
Sorry, not yet. This is really still a prototype. I'm pretty sure that the first beta testers are going to find several problems and make
improvements. We are working on a new frame called Kossel to replace the plywood frame with OpenBeam, and so far it's looking pretty good.
Stay tuned!
In Europe you can find a full kit from Reprap Austria
Do you have any backlash problems with the metal-on-plastic universal joints?
In an earlier version some of these screws unscrewed themselves after a while, but I think that is completely solved by the inside counter nuts.
My prototype has only printed about 1 kg of PLA, but so far there is no sign of wear and very little backlash.
Why do you have longer than "standard" LM8UU bearings on some of the rods?
The longer LM8LUU was just an experiment to see if it would keep the carriage more horizontal. It doesn't seem to make a difference, except
for added cost and weight, so it's not recommended.
How low do the carriages need to slide on the rods during the printing/operation?
The diagonal suspension rods are 250 mm long so the max required carriage travel for printing the first layer is somewhere around 200 mm
(they go from vertical to almost horizontal). You need to add the build height to the first layer travel: 200 mm + 200 mm = 400 mm carriage
travel required if you want to print objects up to 200 mm tall.
What length are the belt loops?
My prototype currently uses 762 mm smooth rods and GT2 timing belt loops with 2 mm pitch and 762 grooves. This gives me 8x8x16 inches
(20x20x40 cm) build volume. You can make your Rostock taller or shorter simply by adjusting the length of the smooth rod and timing belts. If
you already have shorter belts, you can use them with longer smooth rod too. The extra smooth rod may stick out the top of your printer, but
that's okay. A shorter printer may be more rigid / stable and may not need the extra plywood frame on the back and side.
Why did you build three towers instead of four?
I decided to start with three towers, to build the simplest design that could possibly work. Four towers might improve precision, but it also needs
33% more parts and it would be over-constrained. This means the mechanics might jam if the four sides are not coordinated exactly right.
Future
The following improvements are planned for future versions:
Use smaller timing belt pulleys and idler bearings.
Find cheaper timing belts and pulleys, e.g. T2.5 / HTD-3M / GT3?
Replace timing belts with Spectra fishing line.
Write a new clean delta firmware based on Grbl .
Create a Mini Rostock variation with 120x120x120 mm build volume.
Do you need professional PDFs? Try PDFmyURL!
Privacy policy About RepRapWiki Disclaimers
This page was last modified on 24 June 2014, at 09:51.
This page has been accessed 249,630 times.
Content is available under GNU Free Documentation License 1.2.
Replace metal binder clips with printed plastic clips to hold the glass platform.
Use OpenBeam aluminum extrusion instead of plywood frame: Kossel.
Use OpenRail (or hybrid roller slide directly on OpenBeam) instead of LM8UU and smooth rods.
Experiment with dual extruders.
Links
Rostock blog on Tumblr
Videos on YouTube
Pictures on Flickr
Rostock parts on Thingiverse
Mailing list for questions and answers
OpenSCAD source files on GitHub for printed plastic parts.
Modified Marlin firmware on GitHub for delta geometry on Arduino.
Bill of materials / BOM / parts list on Google Docs (work in progress)
Categories: Working developments Delta Tall
Do you need professional PDFs? Try PDFmyURL!