RapMan

The educational technology and digital learning wiki
Jump to navigation Jump to search

<pageby nominor="false" comments="false"/>

Introduction

RapMan is a commercial kit of the RepRap 3D printer. “RepRap is short for Replicating Rapid-prototyper since it was developed in a research project on self-replicating machines.

See also:

This 3D printer builds the parts up in layers of plastic with the help of a custom-made Thermoplast Extruder. The machine takes a 3mm diameter filament of a polymer, forces it down a heated barrel, and then extrudes it as a melt out of a fine nozzle. The resulting thin stream is laid down in layers to form the parts that RepRap makes. The extruder should work up to a temperature of 260 degrees Celsius. It works with various polymers like ABS (Lego-like plastic) and polylactic acid. The extruder can move left/right (X axis) and forward/backward (Y axis) The printed object sits on a platform that will move down (Z axis)

Printing instructions are written in a language called G-code. A user will copy a g-code file to an SD card. This card is then inserted into a slot of the RapMan board for printing.

Assembling RapMan V3.1

See Assembling the RapMan V3.1 3D printer


First steps with RapMan V3.1

See First steps with the RapMan V3.1 3D printer

First print

First acceptable prints (#2 and 3)

Then print the cup (it may take several attempts to get it right). In the pictures are our second (white) and fourth (yellow) attempts. You also can see the raft made for the yellow version. Somewhere below, you can find attempt #6 (a red cup).

If needed, adapt the print temperature in the M_Mug.bfb file. E.g. if you can get about 0.5 cm/second using a temperature of 247 degrees with the manual extruder test above, change the value to this.

For the raft use the strict minimum, e.g. start with 235 degrees. Search for all M104 (except the one on line 457). The raft should not stick too much to the print board but it should stick. It doesn't matter if it is a bit faulty.

For the cup, around line 457 adjust for color ABS, e.g. to set temperature to 240 degrees (for white plastic), change the first line below.

M104 S240.0
G1 X22.76 Y-18.7 Z1.95 F960.0
G1 X22.89 Y-18.64 Z2.0 F960.0

For the color ABS cup we got a decent result with:

M104 S247.0
First prints

We found that we had to raise the temperature and slow down printing a bit (even for the default white plastic). Also it's a good idea to modify all files to extrude some plastic before it starts printing the raft (did not manage this so far).

Both cups are not yet satisfactory. Some tuning ahead - 15:12, 28 February 2010 (UTC).

Note: The Extruder-Fan doesn't run all the time, so don't worry if it doesn't run with the test files. It is not needed for ABS.

  • In G-code, it can be turned on/off: M106 - fan on, M107 - fan off.

Printing - first steps

If you use ABS plastic (by default you likely do) then you must understand the following:

  • You should first print a raft at a somewhat lower temperature (else it will stick to the print bed)
  • Then, the object will be printed on top.

The three print parameters

It is important to understand that printing will be affected by three parameters:

  1. Temperature
  2. Extrusion speed (how fast the bolt turns in the extruder)
  3. Head movement speed

In addition:

  • Pressure on the extruder's pressure wheels. They have to be fairly tight.

These all interact somewhat and that makes calibration difficult.

To learn more about printing, read the Skeinforge for RapMan article. It includes important extra information.

Temperatures for ABS

White ABS:

  • Raft temperature: 235 (or a bit more)
  • Print temperature: 240-245 (or a bit more)

Color ABS:

  • Raft temperature: 235 (or a bit more, since there is the danger that it will not stick enough)
  • Print temperature 243-248 (or a bit more). In our machine, we set it to 247 or 248.

If the raft temperature is too low, then there is the danger that the raft and the resulting object will warp. If it is too hot, then you will have trouble getting it off the raft (I use a knife)

Raft temperature too low and/or not fat enough
Raft temperature too low and/or not fat enough (side view)

It is likely that you may need to adjust temperatures to your setting. We think that it may be because the thermistor may not be exactly where it should be (how could you check under the cement ...), wiring may be different (length of resistances), etc.

You can manually adjust temperatures during printing, but you may have to react quite quickly. You should only vary in small steps, no more than 2 degrees when you experiment. We found that 2 degrees make a difference. Also remember that white and color ABS polymer do not have the same ideal melting temperature !

Also, there may be a problem with transport of the filament (e.g. temperature is hot enough, but plastic is not coming in because you didn't adjust the pressure wheels well enough)

Extrusion speed and pressure wheels on the extruder

  • To see if the plastic moves down I painted small dots on the wire.
  • Tighten quite a lot (without forcing of course). If the filament does not move, add pressure.
  • Until you got it all sorted out, I recommend putting the print head in position (x max and y min, e.g. over the hole that is diagonally opposite from home). Then manually extrude about half a meter of filament at the temperature you set in the G-code file. See if the plastic flows as planned, i.e. 5mm/second ...

G-code

It is now time to understand some of the g-codes or to have a table ready (there is also one in the Operations manual).

According to Wikipedia, “G-Code, or preparatory code or function, are functions in the Numerical control programming language. The G-codes are the codes that position the tool and do the actual work, as opposed to M-codes, that manages the machine; T for tool-related codes. S and F are tool-Speed and tool-Feed, and finally D-codes for tool compensation.”

Below are the most important g-codes you need to know for a first user experience.

Read the G-code article for more information.

List of RapMan G-code (thanks to Bits from Bytes blog: RapMan special codes

Code Explanation Example
G1 Coordinated Motion in X, Y, and Z axes with speed F mm/minute. G1 X10.0 Y20.0 Z1.15 F960.0
G21 Millimetres as units used G21
G90 Absolute Positioning G90
M101 Turn extruder on (forward/filament in). M101
M103 Turn extruder off. M103
M104 Set target temperature to 245.0 C. M104 S245
M106 Turn fan on. M106
M107 Turn fan off. M107
M108 Set Extruder speed to S value/10 = 40rpm. M108 S400

Typical file headers produced by the Skeinforge program

G21 millimeter system selection
G90 absolute distance mode
G28 Return to home position
M103 Turn extruder OFF.
M104 S247.0 Set temperature to 247.0 DegC.
G1 X0.0 Y0.0 Z0.0 F480.0 example of linear interpolation at speed 480
M101 Turn extruder ON.
Main code follows .....

G-code examples for the raft

This applies to our Rapman V1. machine. Yours may be different.

The problems you may get with the raft can be of two sorts:

  • It will not stick to the print bed and warp or worse: move
  • It will stick too much, i.e. you need to take the print bed off and then remove the print with a knife or something.

We (so far) play with two parameters: temperate and extrusion speed. Both are too low in most RapMap test files if you plan to print color ABS

Here is a good setting for our machine to print the raft for the heart (HeatBase.bfb and HeartLit.bfb)

  • More heat for the first layer of the raft: S239
  • Fatter lines: S550 (don't use the default which I don't what it is, probably around 400). Set/Change the extrusion rate after setting the temperature (as below).
  • You may lower temperature again for the second layer (as shown below). Else the raft may stick too much to the object.

In the beginning of G-code file, change both parameters

 M104 S239.0
 M108 S550.0
 ...... G code for the first layer
 M104 S235.0
 M108 S400.0
 ...... G code for the second layer

Of course, an alternative to raising the extrusion rate would be to slow down the head movement speed.

The object itself was then printed with these (maybe a bit too hot).

M104 S248.0

The following temperature for the raft was too hot and too fat (had trouble to rip it off)

M104 S242.0
M108 S600.0

In addition

  • Always extrude at least 30 cm of plastic at high temperature (e.g. 248 for color ABS) before running the file.
  • When we started printing from a "cold" situation without extruding some plastic before hand, no plastic came out at start and then the nozzle would get stuck in some mess...
  • If you plan to print a larger object, e.g. 12cm long, then make the raft temperature higher than 235 or 238 (my standard setting). The plastic will warp more and therefor attempt to rip it off. I don't have any setting yet, but I'd go for a temperature of 240 or higher and a yet fatter raft, e.g. set M108 to S600.0. But don't blame me if you can't get it off the print bed. Play it incrementally :)

Fine tuning

Below are two red cups that are sort of acceptable.

Two red cups: left: default settings, right:higher temperatures

IMHO, the result can still be improved in two ways:

  • Readjust the geometry down to fractions of millimeters and tighten/align the belts
  • Play more with temperature/speed/extrusion rate settings.

In any case, if yours look much worse, then there is probably something wrong in the geometry. Make sure that distances and angles of your reprap is cubic and there are no loose bolts, rods and belts.

Using the skeinforge tool to generate g-code

As we explained above, the CAM code used for RepRap is g-code and it can be created with several tools (including hand editing).

Currently, most people use either a 3D modeling or a CAD tool (see below), then export to the .STL format and then finally translate to g-code. Skeinforge is a tool chain composed of Python scripts that converts your 3d model into G-Code instructions for Rapman and other fab lab tools.

Read more in Skeinforge for RapMan. Here we just explain a very minimum !

Download and install
  • Download: Skeinforge
  • Download: Python (if needed)
  • Unzip skeinforge.zip in some simple directory, e.g. c:\soft\

Skeinforge is moving target. As of March 2010 all the information we found is for older versions (so you need adapt information you can find) ....

  • Read Skeinforge (BitsFromBytes Wiki).
  • For ABS, the best information is ABS (BitsFromBytes Wiki)
  • Also read the manual that ships with Skeinforge (documentation folder) !
Happy Duplo man standing on a rapman brick

Disclaimer:

  • Do not trust my settings below. Check your G-code file manually !!
  • I just start printing my first STL .... so this is my first attempt to understand how skeinforge 2010-03-01 06:07:03 generates g-code. I probably got something wrong (see g-codes generated below).

Example used: parametric lego duplo by Domonoky

Here are the basic steps:

(0) Run skeinforge

  • Go to the directory and click on skeinforge.py

(1) Fix profile: In the pull-down menus, select

  • "Profile Type = Extrusion
  • "Profile Selection" = ABS

(2) Fix parameters:

  • Click on the "Craft" button. A new window will pop up.
  • Fix temperatures (much too low !), e.g. for plastic color ABS:
Base temperature (raft base temperature): 238
Interface temperature (raft temperature): 238
All the rest: 247
  • Fix flow . Click on "Speed" and set to 200 or higher, e.g. we often use 400
  • Verify the parameters defining your printer. Click on "Carve" and read Skeinforge Carve. I didn't change anything I believe.
  • Define the "fill". By default an object will not be filled.

If you fill an object, then you can choose from three patterns and also define the thickness of the surface layers, etc.

  • Click on "Chamber"

Untick "Activate Chamber".

(3) Generating the G-code, fixing it and printing

  • Then click on the "Craft" button in this craft settings window and select your STL file. This also can be done by clicking on "Skeinforge" in the main panel.

... then wait... this can be quite long, e.g. 60 seconds for a simple Lego brick.

  • Look at the generated pictures that will pop up. If they look ok, continue.
  • Examine and fix G-code. (update: If you configure skeinforge right, you don't need to do this!) I had to remove superfluous g-code from the beginning of the file and that turned on/off the temperature instead of heating it up: got rid of all M-codes I didn't understand. (M105,M115,116,117,....).
  • Then print :)

Here are some pictures of the process: The generated g-code was not optiomized IMHO. E.g. lot's of temperature settings that will slow down printing. Each time, there is a change, the print head will move, cool down, heat backup and go back to printing. This is why one can see this extra filaments sticking out (easy to remove)

Rapman printing a duplo compatible block

A bad picture of the raw result. Anyhow, I was happy to learn that the printer can easily create "roofs", i.e. print over some empty space with ABS plastic.

Raw result

The duplo clone has a similar dimensions, but does not fully fit. A bit too loose on bottom and slightly wrong positioning of elements on top.

Raw result cleaned a bit

Then you will have to adjust other parameters like head spead, extrusion rate and layer thinkness. Read Skeinforge for RapMan and followup links.

Choosing the Filament

According to the RepRap manuals and websites there seems to be a consensus that starting with ABS is easiest.

“Filament used by RapMan's extruder is a plastic rod with 3mm diameter. You will most likely found it in specialised shops under name "welding rod" as these are generally used for welding plastic. Note that "welding filament's" come in few different shapes .. triangle cross section, circular cross section and stripes (cubical cross section). You need ones that are circular cross section 3mm diameter” (Bits from Bytes Wiki, retrieved 12:18, 8 March 2010 (UTC)).

The Rapman wiki has extra information (click on the links)

  • ABS
  • HDPE
    • Warps and needs slow printing
    • needs a special print bed made out of PP/HDPE. E.g. use a kitchen plastic chopping board
  • LDPE
  • PP
    • Warps a lot and needs very slow printing
    • Printing in a very warm room helps (35 degrees)
  • PLA

Post processing (cleanup) of prints

Prints will have imperfections.

  • Remove these with a sharp cutting plyer or a sharp knife (e.g. a tiny swiss army knife is perfect)
  • Use the abrasive files you bought for assembly
  • You then can apply Acetol to make the plastic shiny (Read the warnings on the bottle with respect to inhaling and inflaming !)

See post processing of 3D polymer prints for more details. This article also discusses painting.

Software tools and tool chain

Process overview

There are three situations:

  • You just want to print existing models with a minimum of hassle
  • You may take existing models and adapt (or even merge parts)
  • You'd like to model printable 3D objects

(1) Modeling:

To model, there are several options:

(2) Fixing the mesh

A mesh should be printable (more to come)

Meshes (different objects) may be combined / merged

(3) Create and fix the .STL

In most cases your 3D general purpose modeling or CAD program can't directly produce g-code. You first should export the model to .STL (or another format like *.PlY).

You then may need to fix your .STL model, i.e. first make sure it has the right size and the right position. But there may be more tricky issues, like repairing (use Netfabb for this)

The coordinate system of the RapMan puts the origin in the middle. To manipulate size and coordinates, there are some options:

  • Use skeinforge: turn on multiply plugin in skeinforge, setting the matrix to 1x1 or another value
  • Use Netfabb for more operations (that's what I use)

(4) Create G-code

Then produce the g-code, e.g. with Skeinforge or Netfabb basic.

Typical tool chain scenarios

... for beginners !

Reusing ready to print objects

  • Get a model from Thingyverse (or another repository for 3D printable objects. Make sure to select one that has a "rapman" or "reprap" tag on it. A fun thing to do would be printing all the Beco blocks. Since they are all similar, you can vary printing parameters and learn about calibration of small simple object printing without having to look at the same object...
  • You likely will find almost directly usable .STL files, but you may have to align them to x/y/z = 0. You also may find various source formats produced with various 3D modelers.
  • Import to skeinforge or netfabb and generate g-code. In both cases, make sure that it sits in the right position.
  • Then verify the g-code manually

Build an easy model with an easy 3D modeler

  • Build a model with Google sketchup
  • Export to Collada .DAE
  • Import to Meshlab and save as .STL
  • Import to NetFabb and repair, then save as .STL again
  • Import to skeinforge and produce g-code

Merge meshes

  • Do as above, i.e. either build 2 or more models or grab them from somewhere.
  • See also the Netfabb Studio tutorial for an example on how to create easy duplo-webdings mashups
  • Import all to Meshlab as "layers", flatten the layers and export as .STL
  • Then as above

In education

See

A last word of advice

Duck printing is not very hard
  • At some point you really must understand the interaction of relationship between Head speed (how fast the extruder moves on the X/Y axis) and extrusion Rate (RPM, how much plastic comes out) and how they impact Layer thickness.
  • Always extrude 1/2 m of filament before printing. Also play with temperatures. E.g. 247 for ABS may be too much.
  • Make sure that your .STL files have the x/y/z values set right. Minimal z value = 0. The middle of the object should roughly sit on x=0 and y=0. Get the free Netfabb Studio to achieve this. Also use this software to clean up bad .STL files.
  • Then move on and try to figure out how to calibrate for different parts of objects and different kinds of objects. As we mentioned before, Skeinforge documentation is not easy to understand (in the absence of better you can wade through the forums or read this or buy the for RapMan Basic software.
  • Home print head with the menu in the board and switch it off/on after each printing (in particular if you print high objects or if you manually moved the extruder).
  • Do not leave your printer unattended ! Make sure that filament wheel turns smoothly and that the pressure wheels are tight: Tighten quite a lot (without forcing), then untighten when the motor stops, i.e. you hear a loud clicking.
  • Print some spare parts once you figured out how to correctly print ABS (have to check it they correspond to V3.1, I thing that having a second extruder gear would quite smart.

Moving on:

Explore other RapMan-related articles in the category RapMan. You may follow the order suggested in the wiki book.

Links

BitsfromBytes RepRap

  • Bits from Bytes. Sells RepRap kits (£750 / CHF 1270).... i.e. the one we describe here. This web site also includes a forum and a wiki. You need both.
  • The forum is the place to look for advice and help.
  • The wiki includes information that can not be found in the PDF manuals, in particular with respect to modeling and printing. E.g.

Research Reprap 3D printer

  • Spare parts: See reprapsource. German company that sells spare parts.

Tools

See 3D modeling and Computer-aided design and manufacturing‎‎ for two kinds of 3D modeling tools. Google sketchup is probably the easiest tool for beginners.

For 3D printing you then need specific tools to repair STL files and to generate the g-code:

Skeinforge (a tool chain for producing g-code)
The skeinforge announcement and troubleshooting blog
download of the software
netfabb (an integrated software tailored for additive fabrication, rapid prototyping and 3D printing)
Official netfabb website
can resize, position and repair STL.
A base version (netfabb Studio) is free, Netfabb professional is 700 Euros (plus VAT), educational pricing is available on demand.
A commercial reprap plugin can generate g-code. I.e. this is an alternative to skeinforge.
SolidView light (not needed)
SolidView light is a free program with support for SFX, STL, SolidWorks, VRML, and OBJ CAD files. I.e. it can be used to look at STL files.
Pleasant3D (not needed)
Pleasant3D Visualization of STL plus minor editing in order to be printable on MakerBots/Rapmans: Move, rotate, resize.
Meshlab (not needed, to convert files to .STL and to merge .STL files)
MeshLab
See Meshlab for RapMan tutorial. Meshlab is the open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes.

Rapman sites by users

  • Planet RepRap. This is an aggregator that pulls in information from many sources.

Shared designs

See 3D assets for a longer list

Propaganda