3D Printing: Difference between revisions

From Leo's Notes
This page was last edited on 12 September 2020, at 05:32.
No edit summary
No edit summary
Line 151: Line 151:
===Tasks===
===Tasks===


==== Extruder Calibration ====
====Extruder Calibration====
Extruder Calibration ensures that the extruder is extruding exactly what is asked of it. See https://mattshub.com/blog/2017/04/19/extruder-calibration. If the extruder is under or over extruding, this can be compensated by adjusting the flow rate.
Extruder Calibration ensures that the extruder is extruding exactly what is asked of it. See https://mattshub.com/blog/2017/04/19/extruder-calibration. If the extruder is under or over extruding, this can be compensated by adjusting the flow rate.


Line 176: Line 176:
| lang = text
| lang = text
}}
}}
Set the new value using <code>M92 E408.51</code>, then save to EEPROM with <code>M500</code>. Confirm value again with <code>M503</code> after a power cycle.   
Set the new value using <code>M92 E408.51</code>, then save to EEPROM with <code>M500</code>. Confirm value again with <code>M503</code> after a power cycle. Redo the test above and verify that it has extruded exactly 100mm.   


==== Finding the best print settings ====
====Finding the best print settings====
Determining the best temperature and speed by test printing something starting at 60mm/s, 210C nozzle and 60C bed. Adjust each variable to find the best print possible.   
Determining the best temperature and speed by test printing something starting at 60mm/s, 210C nozzle and 60C bed. Adjust each variable to find the best print possible.   
Try printing a [https://www.thingiverse.com/thing:2267549 2.5cm cube] as a vase (no infill, a wall thickness of 0.5mm with 1 layer wall thickness, no top thickness) at 0.15mm layer height. Use a caliper to determine the actual thickness of the walls and then adjust the flow rate. For example, if the actual wall thickness was 0.45mm, increase the flow rate. 


===Glossary===
===Glossary===
Line 185: Line 187:


*The '''feed rate''' affects the speed of the print.
*The '''feed rate''' affects the speed of the print.
*The '''flow rate''' affects how much material (in total) is to be extruded
*The '''flow rate''' affects how much material (in total) is to be extruded. This is also sometimes referred to as the '''extrusion multiplier'''.


== See Also ==
==See Also==


* GCode Commands: https://marlinfw.org/docs/gcode/
*GCode Commands: https://marlinfw.org/docs/gcode/
* 3DBenchy - The boat benchmark object: https://www.thingiverse.com/thing:763622<br />
*3DBenchy - The boat benchmark object: https://www.thingiverse.com/thing:763622<br />

Revision as of 05:32, 12 September 2020

Concepts

Printing Technologies

Fused Deposition Modeling (FDM)

FDM is the most widely used 3D printing technology. It is an additive manufacturing process that builds an object layer by layer.

Digital Light Processing (DLP)

DLP uses Vat polymerization to create a 3D object. Typically, it uses a photopolymer resin which is then cured when exposed to a lilght source.

File Formats

STL

STL is the De Facto Standard. It is an old format and as a result, it is universally supported. STL stores 3d models geometry as polygons through the process of tessellation. Lots of 3D objects are shared using the STL format, including at Thingiverse.

Limitations of STL are:

  • it only works with a single material (and as a consequence, a single color).
  • Unique shapes such as a smooth surface are stored as polygons with flat edges.
  • The file format is also inefficient and bloated compared to newer formats.
  • The format also does not enforce that a surface is closed, requiring repairs to be made

Utilities that work with STL include: VIewSTL, GLC-Player, FreeCAD, Netfabb

OBJ

OBJ originally was used to share 3D graphic models and was later used as a printer file format. The format is open source. Geometry data includes its color, material, and textures. Geometry can be stored as tessellated polygons (like in STL), or with free-form curves / free-form surfaces to allow encoding curved geometry without losing fidelity.

Colors and texture information are stored in a separate Material Template Library (MTL) file.

Limitations with the OBJ format:

  • More complicated format; Fixing broken OBJ files is tricky
  • Data comes in pairs of files (OBJ and MTL)
  • Most CAD software can open, but is less widely supported overall

OBJ files can be found at TurboSquid, Free 3D, GCTrader, Archive3D, Clara, The Free 3D Models, and Oyonale.

AMF

AMF is a 3D printer file format designed by the ASTM. It is designed to address all the limitations with STL and add additional features such as color, materials, lattices, duplicates, orientation. Objects can be represented as triangular meshes like in STL but allows for curved surfaces. Multiple objects can also be placed in the same file the 'constellation' feature.

3MF

3MF is a 3D printer file format designed originally by Microsoft and later by the 3MF Consortium. It is an alternate to AMF.

3MF ensures that models have no cracks or overlapping triangles.

Software Tools

Slicers Overview

Name Price Open source? Website
Ultimaker Cura Free Yes https://ultimaker.com/software/ultimaker-cura
Slic3r Free Yes http://slic3r.org/
PrusaSlicer Free Yes https://www.prusa3d.com/prusaslicer/
OctoPrint Free Yes https://octoprint.org/
Repetier Free No https://www.repetier.com/
KISSlicer Paid ($35) with free option No http://kisslicer.com/
SelfCAD Paid ($15/mo) No https://www.selfcad.com/
Simplify3D Paid ($150) No https://www.simplify3d.com/

Ultimaker Cura

Cura can be integrated with OctoPi with the OctoPrint Connection Plugin. Install it from the Cura Marketplace. You can remotely control and see the 3D printer directly from Cura.

OctoPrint

OctoPrint provides a web interface to manage and control a 3D printer. It can be installed on a SBC such as a Raspberry Pi (also called OctoPi). This allows for the option to put any 3D printer somewhere remote, away from a normal desktop computer, and still be accessible via WiFi. A webcam can be attached and OctoPrint will allow video streaming from the webcam via the web interface.

Installing OctoPi on a Raspberry Pi is the same as any other raspberry pi images out there (dd the image to a SD card and boot). To configure WiFi, edit the WPA supplicant configuration file in /boot before first boot. Alternatively, edit /etc/wpa_supplicant/wpa_supplicant.conf after the first boot. To add multiple access points, just add additional network blocks to the configuration file. An example is given below:

network={
    ssid="home-net1"
    psk="password"
    id_str="net1"
}

network={
    ssid="home-net2"
    psk="password"
    id_str="net2"
}

Printer

Materials

PLA

The hot end for PLA should be set to 190-220C. The bed should be between 55-70C. Cooling fans should be on.

Too Hot Too Cold
Hot End Excessive stringing

Cannot bridge, sags

Not adhering to the bed or other layers

Extruder is skipping

Print Bed Elephant's foot, causing first couple layers to melt Prints aren't adhering

Note that different color filaments may have different print temperatures.

ABS

The hot end for ABS should be set to 210-250C. The bed should be between 80-110C. ABS should be cooled slowly to avoid warping and should be done inside an enclosure.

PETG

Hot end between 220-250C. Does not need a hot bed.

Configuration

Print speed should be between 40mm/s - 70mm/s. Faster prints may require a hotter extruder temperature to compensate for more materials going through. Printing too fast may result in the material not cooling fast enough by the cooling fan, resulting in uneven layers. Printing too slowly may cause a clog.

Tasks

Extruder Calibration

Extruder Calibration ensures that the extruder is extruding exactly what is asked of it. See https://mattshub.com/blog/2017/04/19/extruder-calibration. If the extruder is under or over extruding, this can be compensated by adjusting the flow rate.

To do this, mark the filament 120mm from where it enters the extruder, turn the printer on and send the following commands which will make the printer extrude 100mm.

M83
G1 E100

If the extruder extruded exactly 100mm, the remaining filament between the extruder and the marking should be 20mm. In my case, I got 26mm remaining. This means that when extruding 100mm, the extruder actually extruded 94mm instead, or 6.38% under extrusion.

Adjust the current extrusion , get the current steps/mm value from the M503 command. In my case, it is E384.00. Multiply this value by the difference (384.00 * 100/94 = 408.51).

> M503
Recv: echo:Steps per unit:
Recv: echo:  M92 X80.00 Y80.00 Z400.00 E384.00
Recv: echo:Maximum feedrates (mm/s):
Recv: echo:  M203 X500.00 Y500.00 Z8.00 E60.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo:  M201 X3000 Y2000 Z60 E10000
Recv: echo:Accelerations: P=printing, R=retract and T=travel
Recv: echo:  M204 P3000.00 R3000.00 T3000.00
...

Set the new value using M92 E408.51, then save to EEPROM with M500. Confirm value again with M503 after a power cycle. Redo the test above and verify that it has extruded exactly 100mm.

Finding the best print settings

Determining the best temperature and speed by test printing something starting at 60mm/s, 210C nozzle and 60C bed. Adjust each variable to find the best print possible.

Try printing a 2.5cm cube as a vase (no infill, a wall thickness of 0.5mm with 1 layer wall thickness, no top thickness) at 0.15mm layer height. Use a caliper to determine the actual thickness of the walls and then adjust the flow rate. For example, if the actual wall thickness was 0.45mm, increase the flow rate.

Glossary

In OcotoPrint:

  • The feed rate affects the speed of the print.
  • The flow rate affects how much material (in total) is to be extruded. This is also sometimes referred to as the extrusion multiplier.

See Also