3d printing docs
138
docs/Assignments/week_5_3dprinting_and_scanning/3D_Printing.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 3D printing
|
||||
|
||||
## Hero shot
|
||||
|
||||
## Introduction
|
||||
I'm already familiar with 3D printing. I owned 2 3D printers. The ender 3 and the Bambu A1. With the Ender 3 I really learned how to repair the machines and how to configure them. With the Bambu A1 that's all kind of thrown out of the window because it does everything for you.
|
||||
|
||||
## Things to do before and after printing
|
||||
Before we started printing we need to clean the buildplate otherwise there is a chance that the print won't stick to the bed properly. And then the print would fail. Thats why we have 70% Ethanol. After printing we need to make sure the nozzle is empty, because if someone else wants to use the printer and wants to use a different filament there is a chance it will get clogged or the filament will burn because they have different melting points.
|
||||
|
||||
## Filament sizes
|
||||
On the market there are 2 different filament sizes 1,75 is currenctly the most used one. It's used in Ender, Prusa and Bambu. There is also 2.85
|
||||
|
||||
## Our printers and design rules
|
||||
We have 4 printers where ~~3~~ 2 work. We have an Ender 3, Prusa MK3S, Voron and a INFI-20.
|
||||
The Prusa works amazingly and has calibration out of the box. The ender is a bit harder to calibrate. You need to hold a piece of paper under the nozzle and rotate the knob under the bed till you feel a small bit of friction on the paper. Then that corner is calibrated.
|
||||
We also have the INFI 20 which is a bit more confusing to calibrate and I don't have expierence with it. We also have the Voron printer but Henk still needs to do some stuff with it.
|
||||
|
||||
### Design rules tests.
|
||||
#### Prusa MK3S.
|
||||

|
||||
These 3 prints where done on the Prusa printer. There are still some differences between the tests. So filament also matters when printing. They where all PLA but I don't know how old the filament was. So that could also be a variable on why it printed like this.
|
||||
|
||||
#### Ender 3
|
||||
This print was made on the ender 3.
|
||||
During printing the Ender got clogged and we couldn't continue testing on the printer.
|
||||

|
||||
|
||||
#### Repairing the ender
|
||||
During the design rules 3D print the ender got clogged and we needed to repair it.s
|
||||

|
||||
When I tried unloading the filament the motors ripped out the filament from the tube and broke it on the inside.
|
||||

|
||||
|
||||
According to Henk you see that it has under extrusion and that the cause could be that the filament got stuck. That could be a possibility because the filament leader got undone during the print.
|
||||
|
||||

|
||||

|
||||
|
||||
While unscrewing the PTFE tube from the hotend it didn't come off and was stuck. After heating the nozzle up and a lot of pulling I finally got it out.
|
||||

|
||||
This was inside the filament tube. I tried pushing on the other side with filament and it didn't come out. After that I tried pushing with an alan key and that also didn't work. After that Henk told me he would look at it.
|
||||
|
||||
|
||||
## Extra assignment from Henk
|
||||
Because I found the brick laying layer printer on github I'm gonna test the strength of the this way of 3d printing.
|
||||
|
||||
The test object. Im going to hold it on a Table and put on weights till it breaks
|
||||

|
||||
|
||||
## Bricks!
|
||||
### How do I create it using the python script?
|
||||
The python script is really easy to use. You need to run it in the cli and give it a path to a file and then it will convert it.
|
||||
|
||||
```bash
|
||||
python3 bricklayers.py -extrusionMultiplier 1.2 test_1h21m_0.08mm_205C_PLA_ENDER3.gcode
|
||||
```
|
||||
### The prints
|
||||
#### With planar infills
|
||||
The first one I printed with an extrusionMultiplier of 1.6x.
|
||||
```bash
|
||||
python3 bricklayers.py -extrusionMultiplier 1.6 test_1h21m_0.08mm_205C_PLA_ENDER3.gcode
|
||||
```
|
||||
|
||||
Infill settings
|
||||

|
||||
These settings apply to all test prints to keep consistency.
|
||||
I first printed the baseline. So I have a reference point to how strong the normal prints are.
|
||||
|
||||

|
||||
|
||||
This is the second print
|
||||

|
||||
In the second print you can see that it messed with the layer heights. But it doesn't really look like bricks. Only small portions of the print have these artifacts.
|
||||
|
||||
After that I tried breaking it and measuring how much kg of force it needs using this device. It was too much and we got Err. So we needed to make it structurally weaker. So we decided to print the rectangles upright so it would be easier to break.
|
||||
|
||||
### Prints with NonPlanar infill
|
||||
There is also a script in the github repo with NonPlanar infill. Im going to try that with these settings:
|
||||
```bash
|
||||
python3 bricklayersNonPlanarInfill.py Brick-EM1.4-WR1-NP1-AMP-0.6-FREQ1.4.gcode -extrusionMultiplier 1.4 -wallReorder 1 -nonPlanar 1 -amplitude 0.6 -frequency 1.4
|
||||
```
|
||||
|
||||
With Planar infill you don't see the Z axis move as much but with the NonPlanar Infill you can see the Z axis move a lot more.
|
||||
<video controls src="IMG_8367 (3).mp4" title="Title"></video>
|
||||
|
||||
|
||||
#### Getting good prints
|
||||
Getting good prints on nonplanar infill is a lot harder than planar infill because the layers the printer is printing are constantly changing.
|
||||
|
||||

|
||||
With this print I increased the raft. It helped a bit but at some point the print got loose from the raft. Here are all the failed bricklaying prints.
|
||||
|
||||

|
||||
|
||||
|
||||
## Creating something that can't be made subtractively
|
||||
I wanted to make something simple because my University has been giving a lot of assignments to do during my internship. So I wanted to focus on that. I created a cube with a hole in it and in there another hole on another axis. That way it can't be made subtractively.
|
||||
|
||||
Result:
|
||||

|
||||
|
||||
## 3D scanning
|
||||
For this week we also needed to do 3D scanning. When other people where doing it it looked very easy. But when I tried myself it was hard to do and to get everything right.
|
||||
|
||||
### Assembling the scanner
|
||||
Assembling the scanner is really straight forward. First screw on the adapter and then you can screw on the camera
|
||||

|
||||
After that you can plug the usb-c to A cable in the side of the camera and then screw in the locks.
|
||||

|
||||
After that we can go to the software. Since it's an creality camera we also need the crealityScan software.
|
||||

|
||||
Then I was greeted with this screen. I pressed start and left all the default settings for the camera. Then I could start scanning.
|
||||
The first object I was trying to scan was a ESP32S3 but apparently pcb's are too reflective for the camera to pick up on. So I got this error a lot.
|
||||

|
||||
Then I grabbed a fume extractor for soldering and that worked like a charm.
|
||||

|
||||
After I pressed that I was done scanning. I could click one click process and that processes the entire scan to a 3D model with textures.
|
||||

|
||||
|
||||

|
||||
After it fully processed the scanning I could export it as a object file and then I can do various other things with it. For example import it into blender and use it.
|
||||
|
||||

|
||||
This is the end result of the scan. Maybe in hindsight it wasn't smart to use the mat to scan because the scanner needs reference points and with a mat you take that all away because it looks the same all over the mat.
|
||||
## Assignment
|
||||
* [ ] Create something that can't be made subtractively
|
||||
* [x] Test printer design rules
|
||||
|
||||
* [x] 3D scanning
|
||||
* [ ] Test strength brick laying print
|
||||
* [ ] Test strength brick laying non planar infill print
|
||||
* [ ] Test strength normal print
|
||||
|
||||
|
||||
|
||||
## Links
|
||||
* [Github projects bricklaying printing](https://github.com/TengerTechnologies/Bricklayers)
|
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8277.jpg
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8278.jpg
Normal file
After Width: | Height: | Size: 359 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8291.jpg
Normal file
After Width: | Height: | Size: 411 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8344.jpg
Normal file
After Width: | Height: | Size: 240 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8347.jpg
Normal file
After Width: | Height: | Size: 202 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8348.jpg
Normal file
After Width: | Height: | Size: 407 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8349.jpg
Normal file
After Width: | Height: | Size: 306 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8353.jpg
Normal file
After Width: | Height: | Size: 238 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8363.jpg
Normal file
After Width: | Height: | Size: 270 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8367 (3).mp4
Normal file
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8373.jpg
Normal file
After Width: | Height: | Size: 243 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8381.jpg
Normal file
After Width: | Height: | Size: 309 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/IMG_8383.jpg
Normal file
After Width: | Height: | Size: 260 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-1.jpg
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-2.jpg
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-3.jpg
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-4.jpg
Normal file
After Width: | Height: | Size: 890 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-5.jpg
Normal file
After Width: | Height: | Size: 167 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-6.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-7.jpg
Normal file
After Width: | Height: | Size: 330 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-8.jpg
Normal file
After Width: | Height: | Size: 205 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image-9.jpg
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
docs/Assignments/week_5_3dprinting_and_scanning/image.jpg
Normal file
After Width: | Height: | Size: 399 KiB |
168
docs/Assignments/week_5_3dprinting_and_scanning/lecture_Notes.md
Normal file
@@ -0,0 +1,168 @@
|
||||
# Lecture notes
|
||||
|
||||
Subtractive, Something that can't be made with the cnc, laser cutter or vinyl cutter
|
||||
|
||||
Test overhangs
|
||||
Test everything of 3d printer
|
||||
|
||||
## 3D printing
|
||||
Being able to get inside the body and create complex designs.
|
||||
|
||||
It can fail
|
||||
|
||||
Create much finer surface finisher using other machines
|
||||
|
||||
Can print tranclucant, very strong materials.
|
||||
PLA, plant based renewable polymer
|
||||
PETG oil based, stronger, good uv resistance
|
||||
|
||||
Most filaments are hydroscopic. They degrade over time. Filaments needs to be stored dry.
|
||||
|
||||
### Concerns 3D printer
|
||||
Ultrafine particles
|
||||
PLA least, ABS most
|
||||
|
||||
### Design rules
|
||||
* Supports
|
||||
|
||||
|
||||
* Infill. Dense: slow to print but strong. Not dense: fast but weak
|
||||
* surface finish
|
||||
* prevent sharp corners. Otherwise you may get weak corners
|
||||
* Weak bed adhesion: Print doesn't stick and if it lets go during print you get spaghetti.
|
||||
* Warping
|
||||
|
||||
### Post processing
|
||||
* Electroplating
|
||||
* Some kind of oil to make it look better
|
||||
|
||||
Wire Arc additive manufacturing: Metal 3D printing
|
||||
|
||||
### File format
|
||||
stl, 3mf. Often used 3d format
|
||||
|
||||
.obj, Made my autodesk often used to described colors
|
||||
|
||||
.dxf, terrible for 3d
|
||||
|
||||
.gcode, widely supported. Ancient
|
||||
|
||||
### Software
|
||||
Meshlab, Let's you look at meshes and fix them.
|
||||
|
||||
Slicing, Converts the 3d model to Machine readible instructions. Cura, Bambu Studio, Prusa slicer.
|
||||
|
||||
Printer interfaces, To check your printer remotely. OctoPrint, Printrun
|
||||
|
||||
Printer Firmware, Klipper
|
||||
|
||||
|
||||
|
||||
modelviewer.dev. To embed 3d designs into site.
|
||||
|
||||
### 3D scanning
|
||||
CT 3D scanning (Super expansive)
|
||||
|
||||
#### Scanners
|
||||
Light
|
||||
Probe
|
||||
Digitizer
|
||||
Photogrammetry (pictures)
|
||||
|
||||
|
||||
## Assignment
|
||||
Group:
|
||||
Test the design rules of your printer
|
||||
Individual
|
||||
|
||||
Design and print something that is impossible to make subtractivly. Nested parts, overhangs
|
||||
|
||||
3D scan
|
||||
|
||||
|
||||
## Thursday
|
||||
3D printer software.
|
||||
Ender, Prusa all run marlin
|
||||
Voron runs klipper
|
||||
|
||||
### GCode
|
||||
Gcode is like assembly. You don't wanna write it by hand.
|
||||
Gcode get's used in anything that has x,y,z or rotating. Printers, cnc, lasercutters.
|
||||
|
||||
G = for positioning the printer head
|
||||
M = tool and machines set up
|
||||
E = extrude
|
||||
; = comment
|
||||
|
||||
G92 = set position
|
||||
|
||||
FullControlGcode designer to generate custom Gcode easy
|
||||
|
||||
Brick laying 3d printing is strong but patented
|
||||
|
||||
INFI 2 conveyor belt printer
|
||||
|
||||
PETG, bit more bendable
|
||||
ABS, Sturdy, heat resistand. Print it at a higher temparature and it's toxic.
|
||||
|
||||
Non planer infill with bricks
|
||||
|
||||
https://howtomechatronics.com/tutorials/g-code-explained-list-of-most-important-g-code-commands/
|
||||
|
||||
[All Gcode Commands what they do](https://howtomechatronics.com/tutorials/g-code-explained-list-of-most-important-g-code-commands/)
|
||||
|
||||
Most problems of the GCode are in the setup part of the GCode
|
||||
|
||||
### 3D scanning
|
||||
Software: Creality scan
|
||||
Camera: CR scan ferret
|
||||
|
||||
|
||||
texture to geometry
|
||||
geometry works better on faces
|
||||
|
||||
easy to make is a **chain**.
|
||||
|
||||
## Recitation about AI
|
||||
### Embedded AI/ML
|
||||
|
||||
### TinyML concepts and applications
|
||||
TinyML limited to low power devices
|
||||
|
||||
#### core values
|
||||
Machines learning applications for mcu's
|
||||
ultra low power
|
||||
small devices KB-level memory
|
||||
local processing, real-time response
|
||||
|
||||
advantages:
|
||||
* better privacy
|
||||
* Low latency
|
||||
* offline operation
|
||||
|
||||
#### Applications
|
||||
Machine vision
|
||||
Sound and vibration sensing
|
||||
Motion and posture recongnision
|
||||
Envoirmental monitoring and control
|
||||
|
||||
|
||||
### Toolchain and platform introduction
|
||||
TensorFlow Lite
|
||||
PyTorch mobile
|
||||
EDGE IMPULSE
|
||||
STM32 cube AI
|
||||
SenseCraft AI
|
||||
|
||||
|
||||
SenseCraft
|
||||
* Zero code Model deployment
|
||||
* Online model training
|
||||
* Flexible inference output
|
||||
|
||||
Can be connected to mqtt or other pins without coding
|
||||
|
||||
### How to make almost anything almost without making anything
|
||||
|
||||
vizom.ai
|
||||
https://lumalabs.ai
|