←Index



09/27 Embedded Coding ## Week 3: In this week, we learned # Recitation Electronics - Ohm's Law, voltage: potential (electron pressure), current -> amps(electron flow), resistance -> ohms - Resistance in series adds can make a voltage divider - with LEDs you can use 500ohm or 1kohm - Switch, e.g. slide, tactile - Capacitors need to be charged and recharged to filter signal, connect a capacitor close to the power supply - Capacitors can help with switch debouncing, capcitors: resist change in voltage - Inductors: resist change in current - Modul/Breakout board RP2040: the 5v and 3.3v on the board are connected to the same ground. # Class notes - make an about page, include code - [Bob Moog synthesizer](https://www.moogmusic.com/synthesizers) - Step Response - Ornithopter by [Yusuke Takahashi](https://fabacademy.org/2022/labs/kitakagaya/students/yusuke-takahashi/about/#my-background) - life of life - Method: Charlie plexing to direct LED Array. - Max Mathews, the name giver of MAX # 3D printing - printing without support e.g. bridging - Bio printing, extrude cells, [Bioprint](https://www.aniwaa.com/buyers-guide/3d-printers/3d-bioprinting-3d-bioprinters/) - Bambu printer wins Filament printing - J55 multimaterial, multicolor printing - after treatmentment of the print e.g. heat treatment --- # Assignments group assignment: - test the design rules for your 3D printer(s) individual assignment: - design and 3D print an object (small, few cm3, limited by printer time) that could not be made subtractively, you have to do it by adding material - 3D scan an object (and optionally print it) - Model-viewer: to put 3D object into the webpage - [Digitalizer](https://gomeasure3d.com/microscribe/): it lets you retrace what the person creating it was thinking ## Ideas to try - work with different bed undergrounds e.g. wavy, fabric - print straight out with arcs as bridges - print nature pattern - scan lichen - create spider web like hanging strings, Frei Otto - 3d print air pockets - make 3D printer follow the movement of growth ## 1) Group assignment As a group we printed a [test file](https://cad.onshape.com/documents/66f9699e52c4644c66406d43/w/550b70a5572038bae1b2da7b/e/e08582a69dd12310f76815d8?renderMode=0&uiState=65189e63392d1773999d8a71) to check the overhang, bridging and stringing on both the Ender-3 S1 Pro and Prusa i3 MK3S+. The results are fairly similar with Prusa being a little bit better at printing overhang. ![test file](../week-3/media/test_file.JPG) ![Ender](../week-3/media/ender_1.jpeg) ![Prusa](../week-3/media/prusa_1.JPG) ## 2) 3D Scanning and printing with J55 The first motive for the 3D scan was Capable, a piece of garment with a pattern which would confuse facial recognition systems. I wanted to see if the printer could recreate the vibrant colours. Lancelot helped out as a model. To get a clean scan, Lancelot put his head through a piece of cardboard to isolate the motive from the surrounding. After cleaning up the scan looked like this. ![Lancelot](../week-3/media/lancelot-scan.jpeg) ![Lancelot-print](../week-3/media/lancelot-print-1.jpeg) ## 3) Writing G-code With some prior FDM printing experience, I wanted to try and write G-code myself. The tools used were Rhino and Grasshopper. G1 X10 Y2 Z0.3 F3600 E10; -> move to the X=10mm, Y=2mm, Z=0.3mm position on the bed. F value is the speed in mm/min unit. Ender 3 V2 extrudes PLA typical print speed is 45 - 65mm/s -> F3300 E value correspons to the extrusion This is the Grasshopper script. ![G-code](../week-3/media/gcode-workflow-5.jpeg) ![G-code](../week-3/media/gcode-workflow-2.jpeg) With this workflow, I am excited to try out: - manipulating lines individually - varying print speed to create intentional under/over extrusion to create different textures - printing overhang ![G-code shape](../week-3/media/gcode-shape-1.jpeg) ![G-code shape](../week-3/media/gcode-shape-2.jpeg) I ran out of time at this point and want to plug in my G-code and see what the printer does. --- When I put in my G-code file, the extruder would move without a problem. The x, y, z and F coordinates work, however, it was not extruding properly. It only extruded the first segment of every layer. Through some more research I found out that there are 2 types of 3D printers, one prints with relative extrusion and the other prints absolute extrusion. The first one recalculates the extrusion amount for each x,y,z movement e.g. Prusa while the absolute printers accumulate the amount that needs to be printed e.g. Ender. I printed on an Ender but with a relative extrusion G-Code. After changing that, it was finally able to extrude properly. The 3D printer follows the gcode I wrote! ![gcode-test-2](media/gcode-tests-2.jpeg) I tried out different speeds, extrusion amounts and how much gap I can leave between each layer, so that it still is attached to the layer below. ![gcode-test-1](media/gcode-tests-1.jpeg) This is an example of 2 different extrusion speeds in sequence, you can make controlled irregularity to create haptic patterns. --- ## 4) Support structure Resin printer At last, I wanted to try out a Resin printer. I was especially interested in the support structure of resin printers and tested out how fine I could tune it. I used a slicing software called [Chitubox](https://www.chitubox.com/en/index) which is best for altering support structure. There are so many parameters you can tune from the base, middle to the top section of the support material branch. ![chitubox](media/resin-printer-support-test.jpeg) --- ## Next steps - For the G-code test, I would like to design more structures and see if I can use g-code to make certain areas stiffer than others and explore hinges in that way. - I'm curious how 'airy' structures one could print that has structural integrity. - How far can one tune the finess and density of generated support structure and use that as a parametric tool to make different surfaces. --- # Resources - files - [mesh 2 gcode](../week-3/files/mesh2gcode.gh) - [fine support](../week-3/files/fine_tree_support_settings.cfg) - [Shapeway](https://www.shapeways.com): 3D print service - [E3D](https://e3d-online.com): 3D printer components - [Matterhackers](https://www.matterhackers.com): variety of - [Chiutobox](best support print modulation) 3D fillaments - [Thingaverse](https://www.thingiverse.com) G-code - [Tutorial to write G-code with grasshopper](https://dvic.devinci.fr/grasshopper-for-g-code-generation) - [Online G-code viewer](https://ncviewer.com) --- ↳About