3D Printing : "En route" to the Next Industrial Revolution
Background
3D Printing !
The Printer
Printer is ready !
How does it work ?
Slicing
You can adjust dozen of parameters in the slicer. Amongst them :
To be continued...
It's been a while since I'm overlooking at 3D printing. 3D Printers are becoming more and more affordable and reliable. Now, printing something is really easy for anyone who is a little bit DIY-minded. I have jumped into a brand new world who is eating my nights ;) Hopefully it just started with my summer holidays !
3D Printing !
3D printing is a full process from design to final product. It all starts by either creating your own object with CAD software or getting a file of an object designed by someone else. Once you have that achieved (and this is probably as long as the printing process itself), you need to transform the object to something that the printer will understand.
There is a lot to cover here. Let start with something simple. Let's say that you want to build a case for your latest Raspberry Pi 4 that just got delivered. This is a very common challenge ! You probably already heard about thingiverse.com, this is a massive database of STL files (the most common 3D object format you will try to get the day the printer is delivered to your home!). Do a basic search and let's say that you have found the case that you like : https://www.thingiverse.com/thing:3723481.
Once you have downloaded the relevant .STL file, you will need to convert it into gcode - the language the printer understands. This is actually an editable text file with instructions. To make it simple this is a suite of x, y, z coordinates with instruction to extrude - or not - the filament on the printer's bed.
So, at this stage, this is already a lot of information. Let's rewind a little bit.
The Printer
My printer is a Creality Ender 3 Pro delivered as a kit. Yes, you have to build it yourself. This is actually a very pleasant task and takes only 45 minutes. All needed tools are provided in the kit and this is very well documented. You can get it here.
The kit when unboxing
Printer is ready !
To be able to print, you need material. Most of the time, this is plastic or plastic based. The most common filament used in consumer 3D printers is PLA (plastic made from corn). Since, you need to melt the material to set it up at the right place there are heat involved. A nozzle is heated to approximately 200°C and the filament is extruded through it. It creates a long melted plastic wire carefully landed at the right place on a heated bed. This is the base of the printing surface. The bed is heated to 60°C to keep the object firmly attached to the bed so it is not moving while printing (very important).
It is easy to understand how the nozzle moves above the heated bed.
Some sample gcode
;FLAVOR:Marlin
;TIME:2175
;Filament used: 1.15014m
;Layer height: 0.2
;MINX:88.41
;MINY:88.41
;MINZ:0.2
;MAXX:131.59
;MAXY:131.59
;MAXZ:16
;Generated with Cura_SteamEngine 4.2.1
M140 S65
M105
M190 S65
M104 S215
M105
M109 S215
M82 ;absolute extrusion mode
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
G28 ;Home
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
;TIME:2175
;Filament used: 1.15014m
;Layer height: 0.2
;MINX:88.41
;MINY:88.41
;MINZ:0.2
;MAXX:131.59
;MAXY:131.59
;MAXZ:16
;Generated with Cura_SteamEngine 4.2.1
M140 S65
M105
M190 S65
M104 S215
M105
M109 S215
M82 ;absolute extrusion mode
M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
G28 ;Home
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
G92 E0 ;Reset Extruder
G1 Z2.0 F3000 ;Move Z Axis up
I'm not going to explain all this (I cannot do it anyway) but this is just to show you how stupid is the printer, it only follow the above instructions. The real intelligence is actually in the slicer software that creates those instructions.
Slicing
On earth, we have gravity, so we cannot print if we do not have something to hold the material on, we need supports. This is where slicing is involved. The slicing software is actually cutting the 3D object into slices that will be printed in the bottom/top order. There are many slicer softwares on the market. Some are free, some are not. I'm using Cura (a free one).
You can adjust dozen of parameters in the slicer. Amongst them :
- Percentage of filling material and the associated shape (infill);
- If supports are required or not (they are easy to remove once printing completed);
- Bed temperature (depending of the filament that you use);
- Extruder temperature (depending of the filament that you use);
- Print resolution (the more slices, the better the quality);
- ... and many more
Once you have sliced the objet, you will know how long it will print, what quantity of filament it will use and how much it will cost you. This is an indication only, this is not 100% accurate.
Once of the best estimation parameter is probably the length of filament that is required to print the object. So, looking at the spool, you know if you need another one or not. A full spool is most of the time 1 kg -> 340 m of filmanent. 3h42 is definitely a quick job.
Print
Next step, is to save the sliced object to file. This is where gcode is coming. The file should be transferred onto a SD card and put in the printer. But before that, you need to prepare the printer !
There are 3 steps that cannot be avoided :
- Pre-heating
- Load filament
- Bed leveling
Pre-heating is required to be able to add/replace filament otherwise, the solid plastic glued into the nozzle and you cannot move it. It is also important to pre-heated the bed for adjusting the bed level.
Once the printer is hot, you can load the filament of your choice. The extrusion temperature is defined in the slicer software, so there is nothing to do on the printer side.
Bed leveling is probably the most important part. The nozzle is moving on a flat axis and if the bed is not on the same flat axis it might lead to (potentially) big problems. Indeed you may under extrude some part of the object. There are usually 4 big wheels under the bed to level it. Using a sheet of paper between the bed and the nozzle, you can adjust the exact size to the paper is not blocked. There are a lot of tutorial about that on youtube ;)
Last step, from the printer menu select print from SD card or something like that. In our case, after 3h42 you should have the object printed ! ;)
To be continued...
nice post
ReplyDelete