RepRap Mendel

From Kwartzlab
(Difference between revisions)
Jump to: navigation, search
(Correct the temperature-setting procedure and filament lubrication notes.)
(Added some troubleshooting tips regarding weird temperature readings.)
Line 95: Line 95:
  
 
If your first layer doesn't stick to the base,  
 
If your first layer doesn't stick to the base,  
drop the first Z cordinate that extrudes your part by .1 till it does.
+
drop the first Z coordinate that extrudes your part by .1 till it does.
 
Once your first layer is down the next layers are good.
 
Once your first layer is down the next layers are good.
  
Line 106: Line 106:
  
 
http://wiki.makerbot.com/plastruder-mk5-usage
 
http://wiki.makerbot.com/plastruder-mk5-usage
 +
 +
== 5. Troubleshooting ==
 +
=== Temperature reading of zero on console ===
 +
This is usually a transient condition caused by a communications failure between the extruder board and the mainboard. If it comes and goes it is harmless, but if it persists you should check for general communication problems between the computer and mainboard, or it may be necessary to reset everything.
 +
 +
=== Temperature reading of 2000 on console ===
 +
This is caused by a communications failure between the extruder board and the thermistor controller board (on the side of the print head). In particular, the RJ45 connector seems to become flaky. To fix this, unplug and replug the RJ45 connector; no resetting should be necessary. Unless you have tiny fingers, you may need a knife or screwdriver to depress the retainer tab on the cable. Perhaps this board needs a thicker standoff from the extruder, but it could also be argued that a more reliable connector would be best.
 +
 +
=== When printing a GCode file, the head moves to the dump point and sits apparently forever ===
 +
This is caused by the M109 command near the start of the GCode file, which sets the extruder temperature and waits for temperature stability.
 +
There is a bug in the wait code somewhere causing it to wait much longer than necessary.
 +
As mentioned in section 2, the GCode as generated must be manually edited to change the M109 to M104.
 +
To recover from this wait, you will have to reset the printer and restart the reprap application.
  
 
== Other Software that We are Investigating ==
 
== Other Software that We are Investigating ==

Revision as of 13:49, 16 November 2011

How To Use the 3D Printer

Contents

1. Get a 3D Model (.stl file)

You can download an STL file, scan an object using a 3D scanner, or create one using a 3D modelling program.

Places to download printable 3D models from:

More 3D model sites:

Use a 3D scanner:

3D model editors:

Other tools:

Sketchup doesn't support STL file format natively, but plugins are available for "Import" and "Export". On Import, it's important to hit the Options button and set the units appropriately. Or use MeshLab for file conversion.

2. Print the STL file using the RepRap Mendel Host Software

This is the current procedure that we are using. It's not great, but improvements are in the pipeline. As we make improvements to the procedure, we'll update this doc.

Read the documentation for the program we use to print 3D objects: http://reprap.org/wiki/Mendel_User_Manual:_Host_Software

Convert the STL file to binary form, if it is ASCII. Use Alex W's conversion program, or use meshlab. Or use a text editor to globally replace all lowercase 'e' characters with uppercase 'E' in floating point literals.

Start the program by typing "reprap" in a shell window. Two windows will open, a Console window, and a 3D View window.

Convert the STL file to GCODE.

  • Click "Load STL" in the Console window. Choose file in file selector dialog.
  • Move the model to the desired location on the print bed. The model will initially appear at the origin (bottom left) in the 3D View window. You probably don't want to print it right there, as the platform is a bit uneven at that point. Left-click the model, it changes colour. Then drag using right mouse button.
  • (Note that you can load several models before generating GCODE, or print several copies of the same model. Repeat above instructions.)
  • There is now an opportunity to modify the GCODE generation parameters (including extrusion temperature) before generating GCODE, by clicking on Preferences. See section 3.
  • Generate GCODE after the model has been positioned. In the Console window, select "Send GCODEs to File", then select "Print". This will take a while.
  • Edit the GCODE file to work around a bug in our firmware. Find the file in your home directory, edit it, replacing M109 with M104. Note that the parameter on this command is the selected extrusion temperature. You will need this value in a couple of steps.
  • (Note that you can start up the reprap program and load a previously generated GCODE file. But you won't be able to view or reposition the model in the 3D View window.)

Clean the plastic filament. Dirty filament clogs the print head.

If the printer has just been powered up or reset, the axes must be homed.

  • In the Console window, click on the "XYZ" tab.
  • Click on "Home All". The printer should move the head to the origin as defined by all the opto-sensor flag positions.

Warm up and clean the print head. Warming up is necessary due to the firmware bug. Also, cleaning out the extruder is supposed to improve print quality.

  • In the Console window, click on the Extruder 0 tab.
  • Click "Move to dump point", which positions the extruder over the notch in the print platform.
  • Enter the extrusion temperature from the GCode (on the M109 command as noted above) into the "Target temperature" text pane. If you put any other value there, the nozzle will heat up to your entered value initially, but the M104 command will reset this to what the GCode was generated for.
  • Click "Switch heat on". Wait for the temperature to climb and stabilize.
  • Clean out the extruder (optional, but several experts have independently told me that this helps with print quality).
    • Remove the filament from the print head. Select "reverse" then repeatedly select "Extrude" until the filament has been backed all the way out.
    • Square the end of the filament with wire cutters, clipping off the cone shaped end. The theory here is that you get a better print if you minimize the length of the solid to molten transition zone within the print head. This reduces the occurrence of strings: whenever the print head must move from point A to point B without extruding any plastic, the software first jerks back the filament, which is supposed to withdraw molten plastic back into the print head, but that doesn't work as well if there is a long cone and an extended transition zone, so strings are left behind during the move.
    • Insert the filament back into the print head, threading it through the felt pad (which both cleans and lubricates the filament). Deselect "reverse" then repeated select "Extrude" until the filament has gone back in. Add a few drops of oil to the felt pad if it seems dry. The oil helps prevent the unmelted-but-sticky filament from sticking to the sides of the feed guides. The oil does not seem to interfere with layer adhesion.
    • Extrude a few centimeters of plastic out of the extruder to ensure that the filament is all the way in.

Print the GCODE.

  • Select the "Print On G-CODE Reprap" option.
  • Click the "Print" button.

Once you have printed a model, you can't repeat this process without resetting the printer (power down and up, or click the reset button on the main board) and quitting and restarting the program. (Could fix this by changing firmware? Yes, or perhaps from dropping the final M0 (?) command from the GCode)

When you are done, remove the power plug from the reprap.

If you cancel printing partway and want to leave, make sure the nozzle heat is off and that the nozzle is not touching anything (so it does not end up welded to the table when cooled). If necessary reset the printer and/or restart the driver application, and use the Console window to ensure the nozzle heat is off (don't just rely on the pushbutton state, which can be wrong after a reset--click it until you actually observe the nozzle temperature dropping) and to raise the nozzle into free air.

Once your part is printed, it needs to be cleaned up. Try sanding, or see the video in the reprap manual (link above).

3. GCODE Generation Parameters

You specify the material when you generate GCODE. We currently have ABS. PLA is the other popular material, which we can mail order if there is interest.

  • PLA is clear, warps less during printing, and smells better (fumes less toxic). The printing temperature is lower. It's biodegradable. It's more brittle, and very hot water will melt it. Makerbot.com sells it.
  • ABS (what we have) is stronger, less brittle, more durable, has a higher melting point. It's what Legos are made from.

You specify the temperature when generating GCODE. Kevin has had success printing at 220 degrees (ABS). Don had the most success with his icosahedron part at 216. My cube printed okay at 210.

  • Lower temperatures are preferred for: small printed areas, large overhangs, or other situations where faster phase change is beneficial. Lower temperatures also reduce swell inside the extruder and decrease the extrusion after feedstock drive is stopped (drooling).
  • Higher temperatures allow the build material to flow into printed areas and extrude faster, and bond to previously extruded stock faster. At the same the filament becomes more viscous and more plastic evacuates the extruder after drive is stopped. A fan can help the plastic solidify faster and improve performance.

If your first layer doesn't stick to the base, drop the first Z coordinate that extrudes your part by .1 till it does. Once your first layer is down the next layers are good.

Lots more parameters to tweak.

4. Extruder Maintenance

The extruder is the most finicky part of the printer, and needs regular maintenance. If you use dirty filament, it can get clogged with dirt, which affects printing.

http://reprap.org/wiki/Mendel_User_Manual:_Extruder

http://wiki.makerbot.com/plastruder-mk5-usage

5. Troubleshooting

Temperature reading of zero on console

This is usually a transient condition caused by a communications failure between the extruder board and the mainboard. If it comes and goes it is harmless, but if it persists you should check for general communication problems between the computer and mainboard, or it may be necessary to reset everything.

Temperature reading of 2000 on console

This is caused by a communications failure between the extruder board and the thermistor controller board (on the side of the print head). In particular, the RJ45 connector seems to become flaky. To fix this, unplug and replug the RJ45 connector; no resetting should be necessary. Unless you have tiny fingers, you may need a knife or screwdriver to depress the retainer tab on the cable. Perhaps this board needs a thicker standoff from the extruder, but it could also be argued that a more reliable connector would be best.

When printing a GCode file, the head moves to the dump point and sits apparently forever

This is caused by the M109 command near the start of the GCode file, which sets the extruder temperature and waits for temperature stability. There is a bug in the wait code somewhere causing it to wait much longer than necessary. As mentioned in section 2, the GCode as generated must be manually edited to change the M109 to M104. To recover from this wait, you will have to reset the printer and restart the reprap application.

Other Software that We are Investigating

Here are some all-in-one programs that handle these printing a model:

  • the original RepRap Mendel Host Software: "RepRap" in the Desktop folder
    • http://reprap.org/wiki/Mendel_User_Manual:_Host_Software
    • http://reprap.org/wiki/DriverSoftware
    • We've used this software successfully, but it has a number of problems:
      • The user interface is terrible
      • It won't read standard text based STL files from thingiverse.com without a format conversion: you have to translate lower case 'e' to upper case 'E' in floating point number literals, or use Alex's program to convert these to binary STL files.
      • The generated GCODE files need to be manually edited before printing.
  • ReplicatorG (also in the Desktop folder)
    • This is the MakerBot printing software. The Mendel is only "experimentally" supported. The control panel is kind of broken: no way to control the extruder motor, and it keeps getting wedged while communicating with the Mendel, which I fix by rebooting. Probably better to use the Mendel control panel instead.
  • RepSnappper. Recommended by Kimberly Aandrus, CTO of TechZone Communications, the vendor who built our Mendel kit.
    • We use repsnapper and run our files through a free website we created to clean them up. It is at www.3dtoolchain.com It is not pretty, but it works well.
  • Pronterface: https://github.com/kliment/Printrun (fairly new, recommended by Josef Průša, one of the RepRap core developers, via Alex W). Requires the use of Sprinter firmware, which speeds up printing and improves print quality.

A GCODE file contains opcodes that directly controls the behaviour of the 3D printer at a low level. The conversion from STL to GCODE is non-trivial, and there's a lot of fiddling you can do during the conversion that will improve the print quality.

You can print several objects at once, which means loading several STL files, positioning each object on the print platform, then generating GCODE.

Instructions for Mendel Host Software:

  • see above
  • according to Kevin, the STL file needs to be manually edited before being loaded, to uppercase all the ‘e’s in the exponential-notation numbers
  • according to Kevin, the GCODE file needs to be manually edited after generation, to replace the M109 (set temperature and wait to stabilize, which unfortunately often waits forever) with M104 (set temperature).

ReplicatorG and PronterFace use SkeinForge for GCODE generation. Not tried yet. Skeinforge docs: http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge A Skeinforge tutorial: http://edutechwiki.unige.ch/en/Skeinforge_for_RapMan

Skeinforge is powerful, but difficult to use. Rotorit has made Sfact, which is an easier to use Skeinforge (it's on his github account). Rotorit has our kind of printer, so hopefully there is a TechZone gen3 hardware profile.

New hotness, recommended by Josef Průša, one of the RepRap core developers: Sprinter is a new generation of firmware for reprap. This is the 1st firmware that has native support for SD card, and extreme acceleration. This firmware can run a printer at up to 300mm/s, which really changes the quality of a print. Sprinter has been tested and works on Gen6, Ramps, and Sanguinololu. Rotorit has created a fork of Sprinter that works on our hardware, but this appears to require a "gen3 plus" add-on electronics board which Rotorit provides schematics for, with no other explanation.

Personal tools
Navigation