<!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>