Actions

Prusa Mendel Documentation: Difference between revisions

From HacDC Wiki

m (Gatohaus moved page PrusaMendel Documentation to Prusa Mendel Documentation: camelecase page name complicates search success)
 
(92 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Equipment]]
[[Category:PrusaMendel]]
[[Category:3D_Printing]]


A new reprap printer will built along the lines of the Prusa Mendel. You can find details of the Prusa design at the [http://reprap.org/wiki/Prusa Prusa Mendel page] on the reprap wiki, or you can [https://github.com/prusajr/PrusaMendel view the sources for the Prusa at github][[File:Prusa_Mendel_Frame.jpg|350px|right]]
More detailed documentation on the newly built Prusa Mendel (iteration 2). A PC has been dedicated to run it, below you will find the toolchain used to run it and other details that you may find useful.


=Intro=
=Workflow=
Having another 3d printer in the space will allow us to always have a working machine and to use one machine to help fix another if there are problems.  It will also enable several people to print things out at the same time.  The goal is to document this build so others can make their own printer following our documentation.


=Status=
CAD/Thingiverse -> Netfabb -> STL -> Slic3r -> Pronterface -> PRINT!
Frame is built! Next up: axes. And we have electronics, mobo flashed with sprinter fw, use pronterface to interface with it.  Have to wire in steppers to finish.


=Materials for the build=
See operation section for a tutorial.
===BOM for Prusa Mendel===
 
{| class="wikitable sortable" border="1"
;CAD
|-
: FreeCAD (free, open source) and SolidWorks (expensive, some extra features) offer intuitive sketch and constraint based modeling.
! scope="col" | Quantity
: OpenSCAD uses programming code to describe 3D models.
! scope="col" | Description
: And in case you don't want to model anything and simply want to print stuff, go to [http://www.thingiverse.com Thingiverse].
! scope="col" | Type
 
! scope="col" class="unsortable" | Comments
;Netfabb
|-
: software for checking the "3D printability" of the model you created. Go to [http://www.netfabb.com Netfabb] and download the Studio Basic option. You can also simply use their cloud offering and have a repaired model emailed back to you.
| 83 || M8 nut || Fastener || READY
: if your model has issues, run the repair function with default settings and see if that remedies the issues. The repair function can be used by clicking the "first aid" symbol found at the far right on the tool bar.
|-
 
| 93 || M8 washer || Fastener || READY
; STL
|-
: current format for 3D printing (AMF is coming around the corner).
| 6 || M8×30 mudguard / fender washers || Fastener || READY
: at this point, your file should be patched up and ready to print.
|-
 
| 2 || M4×20 bolt || Fastener || (John) / or use M5x20
;Slic3r
|-
: software for creating 3d printing toolpaths
| 2 || M4 nut || Fastener || (John) / or use M5
: precompiled binaries can be had from [http://www.slic3r.org Slic3r.org] or be built built from [https://github.com/alexrj/Slic3r github].
|-
: use the profiles already generated for best results.
| 2 || M4 washer || Fastener || (John) / or use M5
 
|-
;Pronterface
| 22 || M3×10 bolt || Fastener || READY
: GUI for controlling the Prusa.
|-
: where you will connect to the printer, home, warm up and send print jobs from.
| 8 || M3×20 bolt || Fastener || (John) / cut down 25mm or use as is
: can be built from [https://github.com/kliment/Printrun github] or download precompiled binaries for Windows/Mac [http://koti.kapsi.fi/%7Ekliment/printrun/ here].
|-
: preview G-Code generated by Slic3r.
| 8 || M3×25 bolt || Fastener || READY
 
|-
;Print
| 4 || M3×40 bolt || Fastener || (John) / cut down 50mm or use 35mm
: File is good to go, toolpaths are generated, time to let the robot do what it does best, PRINT!
|-
 
| 70 || M3 washer || Fastener || READY
=Materials=
|-
Switching from PLA to ABS, or vice versa, will require purging extruder at with at least one meter of filament at >225C.
| 40 || M3 nut || Fastener || READY
 
|-
Generally, PLA is stronger, better for the environment, and easier to print with. Please use ABS only if there is a specific need for it.
| 2 || M3 grub screw / set screw || Fastener || READY
 
|-
* PLA - Polylactic Acid
| 3 || 608 roller skate / inline skate / skateboard bearing || Bearings || READY
: '''Extremely ecologically friendly''', made from corn starch, smells like waffles/syrup while printing.
: Harder than ABS at room temperature.
: Needs a fan for parts with overhang/bridging.
: Recommended solvent for gluing or vapor polishing is tetrahydrofuran. Slightly more hazardous, much more expensive, and less effective.
: Low operating temperature (160C-200C).
 
* ABS
: '''Much less environmentally friendly.'''
: Weaker than PLA at room temperature.
: Poorer adhesion to bed while printing, may need polycarbonate bed, paper tape, kapton tape, etc.
: Degrades nozzle, forcing more frequent cleaning by an experienced person with blowtorch and acetone.
: High operating temperature (225C-240C).
: Recommended solvent for gluing or vapor polishing is acetone. Low risk, low cost, highly effective.
: Suitable for moderately high-temperature applications like coffee mugs, outdoor fixtures, and certain 3D printer components.
 
=Extra Maintenance=
==Malfunction==
*Only grease with PTFE SuperLube, kept at HacDC next to printer.
*Grease smooth rods and Z-Axis threaded rod if axes show signs of binding.
*Tighten timing belts if not taunt.
*Floss the hobbed bolt in the extruder.
*Replace linear bearings if they are grinding, slipping laterally, or otherwise ruined.
 
==Replacing filament/changing spools==
#Turn on the printer, open pronterface, and connect to the printer.
#If there is filament sticking out of the top of the extruder, you'll need to remove it.
#Set the hotend temperature (175-185 degrees Celsius for PLA)
#When extruder is warmed up, raise the extruder (+z axis) so it's not touching the bed.
#Click the reverse button while gently pulling upwards on the filament you wish to remove.
#Continue gently pulling and pressing reverse until the remaining filament is drawn out from the top of the extruder housing.
#Once the filament has been removed, replace the spool.
#Feed the new filament into the appropriate hole in the extruder housing.
#Gently press down on the filament while clicking "extrude" in pronterface. The extruder should grab the filament as you feed it.
#Repeat the previous step until you see the new material being extruded from the tip.
#Sometimes it may be necessary to loosen the spring loaded screws on the extruder, and manually unload/load the extruder.
 
=Tips=
*'''Always swing fans in during a print. They engage automatically as appropriate.'''
*Time estimate in pronterface's bottom bar is wildly inaccurate. The console printout when a gcode file is loaded will be about 75% accurate.
*Some problems may be ambient temperature related. When the room is 52F (11C), plastic curling, extruder jams, and Z-axis endstop malfunction are more likely. Placing a space heater on medium heat (~750W) at least four feet from the RepRap helps. Usual concerns about space heaters apply, be safe.
*Bare glass bed is best for quality, tightly grips plastic when hot, releases when cold. Paper tape on glass is generally more tolerant to misalignment. Bare polycarbonate provides extremely strong adhesion, too strong above 45C.
*When printing long parts (eg. 150mm*50mm), it it is better to rotate the part, and align its length to the X-axis. The bed is slightly more level along the X-axis than the Y-axis due to a minor design flaw.
 
=Slic3r Settings=
 
==Print Settings==
===Cheap===
High speed, low plastic consumption, lightweight part. Also most appropriate for model aircraft parts, as the strength-to-weight ratio is likely approaching that of carbon fiber.
 
===Quality===
Maximizes quality, strength, and accuracy. Used for Prusa Mendel Replication.
 
===Precision===
75micron layer height, for parts with smaller features.
 
==FilamentSettings==
===HacDC===
Optimized for bare glass bed, solid parts, and fast printing. Decrease bed temperature to 45C for bare polycarbonate bed. Decreasing extrusion temperature to 167C may improve bridging but requires slowing down print speed, reduces quality, weakens printout, and may significantly increase extruder wear.
 
==Printer Settings==
Leave at "HacDC" unless you feel they need debugging.
 
=Advanced=
Entire software load used on dedicated laptop available at [https://github.com/HacDC/PrusaMendel github]. With these files, one can use their own computer to control the reprap.
 
WARNING: Slic3r configuration changes made on the dedicated laptop will be reset at reboot. Export your changes from slic3r to save them elsewhere. Alternatively, fork our github repository, make modifications there, and issue a pull request. Failing these options, email blabber.
 
=Credits=
{| class="wikitable"
|-
|-
| 4 || ballpoint pen springs || Spring || READY
|digifab
|Constructed and donated working PrusaMendel Reprap.
|-
|-
| 6 || M8×370mm || Threaded rod || 3 per side - READY (Thanks Mark!)
|juri
|Consultation on maintenance and multiple emergency repairs. Many emergency replacement parts.
|-
|-
| 4 || M8×294mm || Threaded rod || front / rear - READY 4 x 340 (Needs cutting)
|nully
|-
|Consultation on maintenance and multiple emergency repairs.
| 3 || M8×440mm || Threaded rod || top / bottom - READY
|-
| 2 || M8×210mm || Threaded rod || Z-leadscrew - READY 2 x 300 (Needs cutting)
|-
| 1 || M8×50mm || Threaded rod || or bolt for X idler - READY
|-
| 2 || 8mm×420mm || Smooth rod || X-bar - READY
|-
| 2 || 8mm×406mm || Smooth rod || Y-bar - READY
|-
| 2 || 8mm×350mm || Smooth rod || Z-bar - READY
|-
| 1 || 225mm×225mm print top plate || Thick Sheet || (space)
|-
| 1 || 140mm×225mm print bottom plate || Thick Sheet || space
|-
| 1 || 840mm×5mm T5 pitch timing belt || Belt || READY
|-
| 1 || 1380mm×5mm T5 pitch timing belt || Belt || READY
|-
| 5 || NEMA 17 bipolar stepper motor || Stepper || READY
|-
| 50 || small cable binder / ziptie || Misc || READY
|-
| 1 || Wade's Geared Extruder || || READY
|-
| 1 || Electronics + endstops || || READY (though I, Xaq, am still curious about TinyG...)
|-
| 1 || Printed parts || || READY
|}
|}
*Several HacDC members for initial capital.
*HacDC members for all [http://wiki.hacdc.org/index.php/Category:Project_Awesome Project Awesome] funds.
*Others.
=Technical Specs=
This Prusa is fitted with the following:


===John===
* Melzi - loaded with the latest Marlin firmware (as of 9/1/2012)
*1x RAMPS 1.2
* 12V 30A PSU
*5x steppers
* Makergear 0.35mm for 3mm filament hot end
*1x wade's extruder (assembled and working)
* LM8UUs
*1x 36mm brass barrel
* GT2 (2mm) belting and pulleys (5mm bore, 20 tooth)
*1x 0.5mm mbi nozzle
* 100K Thermistors (extruder an heated bed)
*1x 0.5mm makergear bighead nozzle
*Insulator materials (have to make and document on lathe)
*nuts/bolts/washers - I have tons
*plywood/mdf for build platform


===Heated Build Platform===
For FW reference on steps per axis: (80, 80, 2560, 855) {X, Y, Z, E}, this is also assuming 1/16th microstepping and 9/47 gears. Old extruder used 666.67steps/mm.
1x Prusa PCB HBP Mk1
==Offers==
*Alden has a Tiny G board... this is attractive
*Andy has fresh smooth and threaded rods to swap for all the rusted rods


=How to flash firmware=
=To Do=
*download Arduino23 from arduino.ccunzip the arduino package
* Tune trimpots on motor drivers
*get the latest Sprinter fw from https://github.com/kliment/Sprinter or Marlin fw from https://github.com/ErikZalm/Marlin
* Print spare parts.
*open up Arduino and open the fw of choice (select either Sprinter.pde or Marlin.pde)
* Experiment with higher supply voltages.
*edit the configuration.h file to list a motherboard type of 21 (make sure right thermistor settings are chosen as well)
*plug in RAMPS 1.2
*set the board to Arduino Mega 2560 under "Tools"
*set Serial Port to appropriate port
*save/compile/upload the sketch


=How to connect and control the printer=
=Known Bugs=
Download latest PrintRun from http://koti.kapsi.fi/~kliment/printrun/ for Win/Mac (precompiled), https://github.com/kliment/Printrun: Linux
* Model holes will print the wrong size. The proper way to manage this is by keeping about 0.25mm per wall or 0.5mm diameter clearance in CAD models.
*If running Linux version, checkout the Readme for dependencies
*If you dled for Win/Mac from link above, all dependencies are built in (INCLUDING Slic3r!)
*fire up pronterface.py
*set the serial port to one which RAMPS is connected
*make sure baudrate is set to appropriate setting (set in FW)
*click connect to printer button
*you should see confirmation of printer connection in the monitor box on the right
*load stl and slice it with slic3r in the gui, or load up a gcode file you're already processed with other slicer


=To do=
=Additional Resources=
'''PSU:''' ''Done'' The electronics need an ATX supply (200W minimum probably, 350-700W+ would be needed if we run a heated bed) to power the mobo, and we'll need to hack out a 12V and a 5V line to connect up to the larger perfboard electronics that run the extruder/heatbed (these should be on a 12v2 rail on newer psu). I've got some connectors to do this the next time I'm in the space, or we can just cut the connectors off of the atx wires.  
* "Slic3r is Nicer - Part 1 - Settings and Extruder Calibration" http://richrap.blogspot.co.uk/2012/01/slic3r-is-nicer-part-1-settings-and.html
'''Steppers:''' The P4AC 4 axis board will need to be pulled from the cupcake, and the XYZ connected to the mobo. (we'll need another 10pin idc cable.  the current rainbow cable on the gen3plus setup is the X stepper cable from the cupcake stepper controller and will have to go back once we swap out the p4ac to the mendel.  I have some 10pin idc cables at home I will bring in to replace the one in the gen3plus)  I have the 4th pololu in the larger perfboard, but I can easily drop in a 10pin idc header so that we can have all the pololus on the one board, which I'll do the next time I'm in the space.
* A guide to calibrating and using slic3r: https://github.com/alexrj/Slic3r/wiki/Calibration
'''Mosfets:''' tip120 replacements are attached to the board in case the current ones die or if someone has time to do the replacement.  The Nchannel Power Mosfets on the larger perfboard were ones I got from radioshack, so I'm not sure if they'll be able to run the heated bed, but they should be fine for the extruder.  I have proper 50V 10A mosfets I can swap in place the next time I'm in the space or if the ones in there right now fail.
'''Motor Connections:''' The motor wires need to be connected to the pololus.  Any 4 conductor cable should work fine.  I have solid core 4 conductor wire I used on my bot at home, but the single conductor is a bit fragile and I'd recommend a nice stranded set instead.  I have matching molex connectors and crimps so the connection to the p4ac board is via a plugged connector instead of soldered in or done with some other hacked connector.
'''Endstops:''' The ends stops need to be hooked up.  The p4ac board has breakouts for the endstops, so just need to wire up microswitches on to that board.  only need two wires to each switch, signal to the COMmon contact and GND to the NO (normally open) contact, the firmware uses internal pullups for the endstop pins.

Latest revision as of 18:34, 16 February 2014


More detailed documentation on the newly built Prusa Mendel (iteration 2). A PC has been dedicated to run it, below you will find the toolchain used to run it and other details that you may find useful.

Workflow

CAD/Thingiverse -> Netfabb -> STL -> Slic3r -> Pronterface -> PRINT!

See operation section for a tutorial.

CAD
FreeCAD (free, open source) and SolidWorks (expensive, some extra features) offer intuitive sketch and constraint based modeling.
OpenSCAD uses programming code to describe 3D models.
And in case you don't want to model anything and simply want to print stuff, go to Thingiverse.
Netfabb
software for checking the "3D printability" of the model you created. Go to Netfabb and download the Studio Basic option. You can also simply use their cloud offering and have a repaired model emailed back to you.
if your model has issues, run the repair function with default settings and see if that remedies the issues. The repair function can be used by clicking the "first aid" symbol found at the far right on the tool bar.
STL
current format for 3D printing (AMF is coming around the corner).
at this point, your file should be patched up and ready to print.
Slic3r
software for creating 3d printing toolpaths
precompiled binaries can be had from Slic3r.org or be built built from github.
use the profiles already generated for best results.
Pronterface
GUI for controlling the Prusa.
where you will connect to the printer, home, warm up and send print jobs from.
can be built from github or download precompiled binaries for Windows/Mac here.
preview G-Code generated by Slic3r.
Print
File is good to go, toolpaths are generated, time to let the robot do what it does best, PRINT!

Materials

Switching from PLA to ABS, or vice versa, will require purging extruder at with at least one meter of filament at >225C.

Generally, PLA is stronger, better for the environment, and easier to print with. Please use ABS only if there is a specific need for it.

  • PLA - Polylactic Acid
Extremely ecologically friendly, made from corn starch, smells like waffles/syrup while printing.
Harder than ABS at room temperature.
Needs a fan for parts with overhang/bridging.
Recommended solvent for gluing or vapor polishing is tetrahydrofuran. Slightly more hazardous, much more expensive, and less effective.
Low operating temperature (160C-200C).
  • ABS
Much less environmentally friendly.
Weaker than PLA at room temperature.
Poorer adhesion to bed while printing, may need polycarbonate bed, paper tape, kapton tape, etc.
Degrades nozzle, forcing more frequent cleaning by an experienced person with blowtorch and acetone.
High operating temperature (225C-240C).
Recommended solvent for gluing or vapor polishing is acetone. Low risk, low cost, highly effective.
Suitable for moderately high-temperature applications like coffee mugs, outdoor fixtures, and certain 3D printer components.

Extra Maintenance

Malfunction

  • Only grease with PTFE SuperLube, kept at HacDC next to printer.
  • Grease smooth rods and Z-Axis threaded rod if axes show signs of binding.
  • Tighten timing belts if not taunt.
  • Floss the hobbed bolt in the extruder.
  • Replace linear bearings if they are grinding, slipping laterally, or otherwise ruined.

Replacing filament/changing spools

  1. Turn on the printer, open pronterface, and connect to the printer.
  2. If there is filament sticking out of the top of the extruder, you'll need to remove it.
  3. Set the hotend temperature (175-185 degrees Celsius for PLA)
  4. When extruder is warmed up, raise the extruder (+z axis) so it's not touching the bed.
  5. Click the reverse button while gently pulling upwards on the filament you wish to remove.
  6. Continue gently pulling and pressing reverse until the remaining filament is drawn out from the top of the extruder housing.
  7. Once the filament has been removed, replace the spool.
  8. Feed the new filament into the appropriate hole in the extruder housing.
  9. Gently press down on the filament while clicking "extrude" in pronterface. The extruder should grab the filament as you feed it.
  10. Repeat the previous step until you see the new material being extruded from the tip.
  11. Sometimes it may be necessary to loosen the spring loaded screws on the extruder, and manually unload/load the extruder.

Tips

  • Always swing fans in during a print. They engage automatically as appropriate.
  • Time estimate in pronterface's bottom bar is wildly inaccurate. The console printout when a gcode file is loaded will be about 75% accurate.
  • Some problems may be ambient temperature related. When the room is 52F (11C), plastic curling, extruder jams, and Z-axis endstop malfunction are more likely. Placing a space heater on medium heat (~750W) at least four feet from the RepRap helps. Usual concerns about space heaters apply, be safe.
  • Bare glass bed is best for quality, tightly grips plastic when hot, releases when cold. Paper tape on glass is generally more tolerant to misalignment. Bare polycarbonate provides extremely strong adhesion, too strong above 45C.
  • When printing long parts (eg. 150mm*50mm), it it is better to rotate the part, and align its length to the X-axis. The bed is slightly more level along the X-axis than the Y-axis due to a minor design flaw.

Slic3r Settings

Print Settings

Cheap

High speed, low plastic consumption, lightweight part. Also most appropriate for model aircraft parts, as the strength-to-weight ratio is likely approaching that of carbon fiber.

Quality

Maximizes quality, strength, and accuracy. Used for Prusa Mendel Replication.

Precision

75micron layer height, for parts with smaller features.

FilamentSettings

HacDC

Optimized for bare glass bed, solid parts, and fast printing. Decrease bed temperature to 45C for bare polycarbonate bed. Decreasing extrusion temperature to 167C may improve bridging but requires slowing down print speed, reduces quality, weakens printout, and may significantly increase extruder wear.

Printer Settings

Leave at "HacDC" unless you feel they need debugging.

Advanced

Entire software load used on dedicated laptop available at github. With these files, one can use their own computer to control the reprap.

WARNING: Slic3r configuration changes made on the dedicated laptop will be reset at reboot. Export your changes from slic3r to save them elsewhere. Alternatively, fork our github repository, make modifications there, and issue a pull request. Failing these options, email blabber.

Credits

digifab Constructed and donated working PrusaMendel Reprap.
juri Consultation on maintenance and multiple emergency repairs. Many emergency replacement parts.
nully Consultation on maintenance and multiple emergency repairs.
  • Several HacDC members for initial capital.
  • HacDC members for all Project Awesome funds.
  • Others.

Technical Specs

This Prusa is fitted with the following:

  • Melzi - loaded with the latest Marlin firmware (as of 9/1/2012)
  • 12V 30A PSU
  • Makergear 0.35mm for 3mm filament hot end
  • LM8UUs
  • GT2 (2mm) belting and pulleys (5mm bore, 20 tooth)
  • 100K Thermistors (extruder an heated bed)

For FW reference on steps per axis: (80, 80, 2560, 855) {X, Y, Z, E}, this is also assuming 1/16th microstepping and 9/47 gears. Old extruder used 666.67steps/mm.

To Do

  • Tune trimpots on motor drivers
  • Print spare parts.
  • Experiment with higher supply voltages.

Known Bugs

  • Model holes will print the wrong size. The proper way to manage this is by keeping about 0.25mm per wall or 0.5mm diameter clearance in CAD models.

Additional Resources