3d printing docs

This commit is contained in:
2025-02-25 12:26:31 +01:00
parent 8ccc6170e4
commit 694550ebe8
25 changed files with 306 additions and 0 deletions

View 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.
![alt text](IMG_8363.jpg)
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.
![alt text](IMG_8373.jpg)
#### Repairing the ender
During the design rules 3D print the ender got clogged and we needed to repair it.s
![alt text](IMG_8347.jpg)
When I tried unloading the filament the motors ripped out the filament from the tube and broke it on the inside.
![alt text](IMG_8291.jpg)
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.
![alt text](IMG_8348.jpg)
![alt text](IMG_8349.jpg)
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.
![alt text](IMG_8344.jpg)
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
![alt text](image.jpg)
## 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
![alt text](image-1.jpg)
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.
![alt text](IMG_8277.jpg)
This is the second print
![alt text](IMG_8278.jpg)
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.
![alt text](IMG_8381.jpg)
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.
![alt text](IMG_8383.jpg)
## 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:
![alt text](image-9.jpg)
## 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
![alt text](image-4.jpg)
After that you can plug the usb-c to A cable in the side of the camera and then screw in the locks.
![alt text](IMG_8353.jpg)
After that we can go to the software. Since it's an creality camera we also need the crealityScan software.
![alt text](image-5.jpg)
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.
![alt text](image-6.jpg)
Then I grabbed a fume extractor for soldering and that worked like a charm.
![alt text](image-2.jpg)
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.
![alt text](image-7.jpg)
![alt text](image-8.jpg)
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.
![alt text](image-3.jpg)
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)

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 KiB

View 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