diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/3D_Printing.md b/docs/Assignments/week_5_3dprinting_and_scanning/3D_Printing.md new file mode 100644 index 0000000..a1dde15 --- /dev/null +++ b/docs/Assignments/week_5_3dprinting_and_scanning/3D_Printing.md @@ -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. + + + +#### 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) \ No newline at end of file diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8277.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8277.jpg new file mode 100644 index 0000000..61de9e8 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8277.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8278.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8278.jpg new file mode 100644 index 0000000..1818616 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8278.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8291.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8291.jpg new file mode 100644 index 0000000..4080c53 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8291.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8344.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8344.jpg new file mode 100644 index 0000000..3ed7917 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8344.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8347.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8347.jpg new file mode 100644 index 0000000..8de206b Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8347.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8348.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8348.jpg new file mode 100644 index 0000000..34fb723 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8348.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8349.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8349.jpg new file mode 100644 index 0000000..bb62558 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8349.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8353.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8353.jpg new file mode 100644 index 0000000..436b432 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8353.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8363.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8363.jpg new file mode 100644 index 0000000..6baa4c2 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8363.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8367 (3).mp4 b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8367 (3).mp4 new file mode 100644 index 0000000..9b9f254 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8367 (3).mp4 differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8373.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8373.jpg new file mode 100644 index 0000000..3691604 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8373.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8381.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8381.jpg new file mode 100644 index 0000000..d94e2a2 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8381.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8383.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8383.jpg new file mode 100644 index 0000000..b575267 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/IMG_8383.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-1.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-1.jpg new file mode 100644 index 0000000..e86520e Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-1.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-2.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-2.jpg new file mode 100644 index 0000000..af7a44e Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-2.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-3.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-3.jpg new file mode 100644 index 0000000..f25c785 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-3.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-4.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-4.jpg new file mode 100644 index 0000000..1aeb2c9 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-4.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-5.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-5.jpg new file mode 100644 index 0000000..bb5c2be Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-5.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-6.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-6.jpg new file mode 100644 index 0000000..b2c4cc1 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-6.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-7.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-7.jpg new file mode 100644 index 0000000..ce039e5 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-7.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-8.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-8.jpg new file mode 100644 index 0000000..3196d86 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-8.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image-9.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image-9.jpg new file mode 100644 index 0000000..85ee9ef Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image-9.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/image.jpg b/docs/Assignments/week_5_3dprinting_and_scanning/image.jpg new file mode 100644 index 0000000..cd391c3 Binary files /dev/null and b/docs/Assignments/week_5_3dprinting_and_scanning/image.jpg differ diff --git a/docs/Assignments/week_5_3dprinting_and_scanning/lecture_Notes.md b/docs/Assignments/week_5_3dprinting_and_scanning/lecture_Notes.md new file mode 100644 index 0000000..7f37553 --- /dev/null +++ b/docs/Assignments/week_5_3dprinting_and_scanning/lecture_Notes.md @@ -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 \ No newline at end of file