<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> <title>Rheoprinter-Cover</title> </head> <body> <div class="container"> <h2>Table of Contents</h2> <p><a href="#TC1"><h3>1. Background</h3> </a></p> <p><a href="#TC1.1"><h4>1.1 Motivation & Initial Project Idea: "A Desktop Rheometer?"</h4> </a></p> <p><a href="#TC1.2"><h4>1.2 The Science of Rheology</h4> </a></p> <p><a href="#TC1.3"><h4>1.3 Rheometers - Operating Principles</h4> </a></p> <p><a href="#TC1.4"><h4>1.4 Neil: "Do you actually need classical rheometry to achieve what you want?"</h4> </a></p> <p><a href="#TC2"><h3>2. Proposed System: "The Rheoprinter"</h3></a></p> <p><a href="#TC2.1"><h4>2.1 The Nelder-Mead Algorithm</h4> </a></p> <p><a href="#TC3"><h3>3. Design </h3></a></p> <p><a href="#TC4"><h3>4. Rapid Prototyping</h3></a></p> <p><a href="#TC4.1"><h4>4.1 System Modules</h4> </a></p> <p><a href="#TC4.2"><h4>4.2 Final System</h4> </a></p> <p><a href="#TC5"><h3>5. Test</h3></a></p> <p><a href="#TC5.1"><h4>5.1 Motion Testing</h4></a></p> <p><a href="#TC5.2"><h4>5.2 Challenges & Next Steps</h4></a></p> <hr> <h3 id="TC1"> 1. Background</h3> <h4 id="TC1.1"> 1.1 Motivation & Initial Project Idea: "A Desktop Rheometer?"</h4> <p class="lead text-justify"> In this project we aim to build a system that "learns" optimum printability conditions on the fly for materials that are primarily utilized in additive manufacturing (AM). The micro-extrusion system measures printability using computer vision and searches for optimum machine parameters using optimization algorithms. Both tasks are happening real-time allowing the system to be both a measurement and a printing device in parallel. With this strategy, we introduce "printability" as an emergent material property that can be efficiently measured and not derived through time-consuming and trial & error parametric studies following classical rheological measurements. Such systems could potentially accelerate the development of novel materials for a wide range of applications. </p> <ul class="list-group lead text-center"> <li class="list-group-item">Material Measurements for the Masses</li> <li class="list-group-item">Understanding the Rheology of Complex Fluids</li> </ul> <br> <p class="lead text-center"> Transforming a peptide gel (99% water) into a yield-stress material for 3D printing.</p> <img src="images/yield-stress.jpg" class="img-thumbnail" width=50%> <br> <br> <ul class="list-group lead text-justify"> <li class="list-group-item"><b>"YIELD STRESS":</b> An ever increasing viscosity as the shear rate approaches zero, i.e. does not flow/ solid-like when stationary</li> <li class="list-group-item"><b>"ZERO-SHEAR VISCOSITY":</b> The viscosity plateau's as the shear rate approaches zero, i.e. flows/ liquid-like when stationary</li> </ul> <hr> <h4 id="TC1.2"> 1.2 The Science of Rheology</h4> <br> <br> <br> <hr> <h4 id="TC1.3"> 1.3 Rheometers - Operating Principles</h4> <br> <br> <br> <p class="lead text-center"> Transforming a peptide gel (99% water) into a yield-stress material for 3D printing.</p> <img src="images/TA.jpg" class="img-thumbnail" width=50%> <br> <p class="lead text-center"> The Instron Capillary Rheometer.</p> <img src = 'images/capillary-rheometer.jpg' class="img-thumbnail" width=30%> <img src="images/INSTRONnew.jpg" class="img-thumbnail" width=30% height="30%"> <br> <p class="lead text-center">The measured qunatities (angular deformation and torque) are transferred into a material quantity (stress, strain, viscosity, etc.)</p> <p class="lead text-center"> Instrument specific measured quantities are used to calculate material-specific parameters.</p> <img src="images/measured-calculated.jpg" class="img-thumbnail" width=50% height="50%"> <p class="lead text-center"><b>Fluid Dynamics of Rotational Rheometry</b></p> <p class="lead text-center"> Working Equations for rotational rheometers with <b><i>parallel plate geometry</i>.</p> <img src="images/parallel-plate-geometry.jpg" class="img-thumbnail" width=50% height="50%"> <br> <p class="lead text-center">Thus, by varying the shear rate and measuring the change in torque, the viscosity may be determined explicitly.</p> <p class="lead text-center"><b> Notes on Experimental Procedures:</b></p> <p class="lead text-justify">The most important thing is the fundamental resolution of the instrument itself since this will dictate our primary measurements. Stress and strain are not measured directly. Important assumptions are required ot convert primary measurements to material functions. You can only measure certain dynamic ranges of torque, displacement and frequencies. You have resolution limits in either of these quantities you can propagate through to the resolution o fthe viscosity that you can measure.</p> <ul class="list-group lead text-justify"> <li class="list-group-item">Resolution/range of measured load and displacement</li> <li class="list-group-item">Instrument inertia (if load and displacement are measured on same boundary)</li> <li class="list-group-item">Fluid inertia and secondary flows</li> </ul> <h4 id="#TC1.4"> 1.4 Neil: "Do you actually need classical rheometry to achieve what you want?"</h3> <br> <br> <br> <hr> <h3 id="TC2"> 2. Proposed System: "The Rheoprinter"</h3> <h4 id="TC2.1"> 2.1 Nelder-Mead Algorithm</h3> <br> <br> <br> <hr> <h3 id="TC3"> 3. Design</h3> <br> <br> <br> <hr> <h3 id="TC4"> 4. Rapid Prototyping</h3> <br> <h4 id="TC4.1"> 4.1 System Modules</h4> <p class="lead text-justify"> <br> <b>Frame Components</b> <br><br> <img src="images/frame-components.jpg" class="rounded mx-auto d-block" width="80%" height=""> <br> <a href="http://fab.cba.mit.edu/classes/863.18/CBA/people/filippos/link/week-8.html">CNC Machining</a> <br> <br> </p> <br> <p class="lead text-center"> <b>Module I: Material Head</b></p> <p class="lead text-justify">For controlling the extrusion rate, I decided to move on with pneumatic extrusion. The reason about that is that I want to know the exact value of the entrance pressure applied during each printing condition. By taking the difference of the capillary pressure that I will potentially measure at the lower part of the syringe barrel using a pressure sensor and the entrance pressure , I am going to be able to track the pressure difference at the material head during printing . With a little a bit of mathematics, I will be able to back out the rheological properties of the candidate material inside the extrusion head during printing. The same task could be realized with mechanical extrusion using a lead-screw-driven syringe pump. However, getting the entrance pressure would require a load cell, which right now I don't have the time to learn how to design one. </p> <p class="lead text-justify"> Moving on, I configured and bought an <a href="http://www.smcpneumatic.com//ITV1050-31N2CS4.html"> electro-pneumatic pressure regulator</a>, which controls air pressure steplessly in proportion to an electric signal. Specifically, when the input signal rises. the air supply solenoid valve (1) turns ON. Due to this, part of the supply pressure passes through the air supply solenoid valve (1) and changes to output pressure. This output pressure feeds back to the control circuit (4) via the pressure sensor (3). Here, pressure corrections continue until output pressure becomes proportional to the input signal, enabling output pressure that is proportional to the input signal. </p> <p class="lead text-center">Working Principle Diagram</p> <img src="images/pneumatic-work-principle-diagram.PNG" class="rounded mx-auto d-block" width="" height=""> <p class="lead text-center">Block Diagram</p> <img src="images/pneumatic-block-diagram.PNG" class="rounded mx-auto d-block" width="" height=""> <br> <br> <p class="lead text-justify">In addition to the regulator, I sourced a couple of NPT connectors, tubing and and a simple valve regulator to control the reference pressure coming from CBA's compressed air supply line. You can find specs and product numbers for SMC pneumatics from the picture below or the readme file in the main Gitlab project directory. </p> <p class="lead text-center">Pneumatic Assembly for Extrusion Rate Control</p> <img src="images/pneumatic-connection.PNG" class="rounded mx-auto d-block" width="" height=""> <br> <p class="lead text-justify"> After assembling all the components and making sure that everything fits, I moved on to wire the regulator. Note that the wiring is model and configuration part number-specific. This has to be done after reading the manual, which can be found <a href="http://www.smcpneumatics.com/pdfs/ITVop.PDF">HERE</a>. My regulator belongs to the ITV series models and has the following part number: <b>ITV1050-31N2CS4</b>. This corresponds to the following <a href="https://goo.gl/hxpiRW">specs</a>: </p> <img src="images/pneumatic-reg-specs.PNG" class = "rounded mx-auto d-block" width="80%"> <p class="lead text-justify"> and the wiring directions extracted from teh operation manual are attached below:</p> <img src="images/pneumatic-wiring-A.PNG" class="rounded mx-auto d-block" width="70%"> <img src="images/pneumatic-wiring-B.PNG" class="rounded mx-auto d-block" width="70%"> <br> <hr> <p class="lead text-center"> <b>Module II: Light Box Printbed</b></p> <br> <p class="lead text-justify"> The plan is that the candidate material will be printed on top of a light box that will snap-fit on the upper plate of the xy cartesian stage. The idea of a "light box printbed" came after significant problems caused in the computer vision algorithm by the reflections of the led arrays embedded in the usb camera itself. Bright circular spots of the LED bodies would appear on the acquired images resulting to erroneous segmentation of the printed fiber outline. Having an LED light box made from acrylic sheets and with LEDs strips attached on the bottom plate and covered with opal diffusers would allow equal distribution of light. Coupling this with an enclosure made from black acrylic sheets and covering the whole machine will provide reproducible light conditions on the printbed area independent of the experimentation time and the location of the machine. </p> <p class="lead text-justify"> I found this awesome company called <a href="https://www.superbrightleds.com/moreinfo/flexible-led-strip-lights/led-strip-lights-12v-led-tape-light-with -lc2-connector-380-lumens-per-ft/1465/4339/">Super Brigh LEDs</a> for sourcing LED stripes that can provide cool white light and another company that sells <a href="http://www.leevalley.com/us/wood/page.aspx?p=71702&c=2"> flash mount channels and opal diffusers</a> for housing my light sources. </p> <p class="lead text-justify"> Couple of interesting videos that I found online related to light boxes: <ul class="list-group lead text-justify"> <li class="list-group-item"><a href="https://www.instructables .com/id/DIY-Digital-Microscope/?utm_source=newsletter&utm_medium=email"><b>DIY microscope</b></a></li> <li class="list-group-item"><a href="https://www.instructables .com/id/Disassembling-a-CDDVD-reader-and-reusing-its-parts/"><b>Sourcing Motors from old PCs</b></a></li> <li class="list-group-item"><a href="https://www.youtube.com/watch?v=hNiTLH0tSpA"><b>DIY light box</b></a></li> <li class="list-group-item"><a href="https://www.instructables.com/id/How-to-Make-an-LED-Light-Box/"><b>DIY light box</b></a> </li> </ul> </p> <p> https://www.acmeplastics.com/acrylic-sheets https://www.acmeplastics.com/acrylic-sheets/acrylic-cast-white-sheet https://www.acmeplastics.com/acrylic-sheets/acrylic-p95-sheet https://www.engraving-supplies.com/acrylic-sheets/filter/cat/troglass-frosted/colour_group_top_layer/white /is_indoor/1.html https://www.engraving-supplies.com/acrylic-sheets/troglass-led.html https://www.acplasticsinc.com/products/2406-187-51x100-optix-ld-f </p> <br> <br> <br> <hr> <p class="lead text-center">XY - Cartesian Stage Assembly</p> <br> <p class="lead text-center">XY- Cartesian Stage Control</p> <p class="lead text-justify" >- created a jig/fixture to mount the motors and test the asynchronous operation for easiness. - started with BigEasy Driver where I soldered male header pins with spacing ... - soldered jumper wires (male to female) on the NEMA 17 motor cables here are some interesting links for building cables with Dupont Headers(we have all the accessories in the inventory): https://www.youtube.com/watch?v=c-pTsccCizA https://www.youtube.com/watch?v=qz9Ryos1_GY https://www.youtube.com/watch?v=N3zK9fzIPBo and a good inscrutable here: https://www.instructables.com/id/Fitting-Dupont-Connectors/ - for cable management i will order sleeves and heat shrink tubes - downloaded Arduino and configured based on that: https://startingelectronics.org/software/arduino/installing-arduino-software-windows-10/ - then started running examples and creating simple sketches from here: http://www.schmalzhaus.com/EasyDriver/Examples/EasyDriverExamples.html - Example 1: - Example 2: - Example 3: Install Accellstep library from this page: http://www.airspayce.com/mikem/arduino/AccelStepper/ and based on this guide using the manual way of installation in libraries folder under the Documents/Arduino/ http://www.airspayce.com/mikem/arduino/AccelStepper/ Don't forget ot mention why you should the third party libraries there, because during Arduino Installation they might be deleted. - Example 4 - Example 5 http://bildr.org/2012/11/big-easy-driver-arduino/ Interrupts Now I would like ot describe something which sounds that it would real simple but it turns out to be incredibly hard on something like the Arduino. Lets say we wanted to blind LED independently, concurrently at different rates. A good example is when we are working with multiple sensors like a GPS, which over time spits out serial data and if you are over here working on something else and that GPS piles up a bunch of data you are gonna overflow your buffer and you are going to be reading old stale corrupt incomplete data from teh serial port. So you need to have something like an interrupt so that every little bit you can ran out and get the data off of the serial port. Advanced Software Interrupts for Reading Serial Data </p> <hr> <h3 id="TC5"> 5. Test</h3> <h4 id="TC5.1"> 5.1 Motion Testing</h4> <div class="embed-responsive embed-responsive-16by9"> <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/aHv0sHrLXbQ" allowfullscreen></iframe> </div> <br> <br> <h4 id="TC5.2"> 5.2 Challenges & Nest Steps</h4> <p class="lead text-justify"> <b>BIOPOLYMERS</b><br> <b>rheoprinter (materials processing with online metrology):</b> - controlled pneumatic extrusion<br> - pressure sensing<br> <b>high-throughput controlled "shake&bake" (material synthesis with online metrology)</b><br> - make 2nd end-effector for patterning <a href="https://tourlomousis.pages.cba.mit.edu/how-to-make-droplets/">material droplet reactors</a><br> - <a href="https://www.amazon.com/Hotplate-Magnetic-100-1500RPM-Scientific-Laboratory/dp/B01HQ0JPOI/ref=sr_1_20?s=industrial&ie=UTF8&qid=1541434220&sr=1-20&keywords=magnetic+mixer">parallelized hotplate magnetic stirring machine</a><br> <br> <br> <b>THERMOPLASTIC POLYMERS</b><br> - <a href="https://www.youtube.com/watch?v=ZKQ9QCnp4jI">extensional electro-rheometry (materials processing with online metrology)</a><br> </p> <hr> </div>