3D Printing: Difference between revisions
No edit summary |
No edit summary |
||
| Line 117: | Line 117: | ||
}} | }} | ||
== Printer == | ==Printer== | ||
=== Materials === | ===Materials=== | ||
==== PLA ==== | ====PLA==== | ||
The hot end for PLA should be set to 190-220C. The bed should be between 55-70C. Cooling fans should be on. | The hot end for PLA should be set to 190-220C. The bed should be between 55-70C. Cooling fans should be on. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 140: | Line 140: | ||
Note that different color filaments may have different print temperatures. | Note that different color filaments may have different print temperatures. | ||
==== ABS ==== | ====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. | 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 ==== | ====PETG==== | ||
Hot end between 220-250C. Does not need a hot bed. | Hot end between 220-250C. Does not need a hot bed. | ||
=== Configuration === | ===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. | 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 === | ===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. | |||
{{Highlight | |||
| code = M83 | |||
G1 E100 | |||
| lang = terminal | |||
}} | |||
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 <code>M503</code> command. In my case, it is <code>E384.00</code>. Multiply this value by the difference (384.00 * 100/94 = 408.51). | |||
{{Highlight | |||
| code = > 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 | |||
... | |||
| 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. | |||
==== 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. | ||
=== Glossary === | ===Glossary=== | ||
In OcotoPrint: | In OcotoPrint: | ||
* 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 | ||
== See Also == | |||
<br /> | * GCode Commands: https://marlinfw.org/docs/gcode/ | ||
* 3DBenchy - The boat benchmark object: https://www.thingiverse.com/thing:763622<br /> | |||
Revision as of 03:09, 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.
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.
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
See Also
- GCode Commands: https://marlinfw.org/docs/gcode/
- 3DBenchy - The boat benchmark object: https://www.thingiverse.com/thing:763622