Mie-Scattering Experiment for the Classroom Manufactured...

18
Mie-Scattering Experiment for the Classroom Manufactured by 3D Printing: Supplementary Material Christian Scholz, Achim Sack, Michael Heckel, and Thorsten Pöschel Institute for Multiscale Simulations, Friedrich-Alexander-Universtätt Erlangen-Nürnberg Build and perform a low cost Mie-scattering experiment Table of contents: 1. Mie-scattering 2. Hardware 3. Setup

Transcript of Mie-Scattering Experiment for the Classroom Manufactured...

Mie-Scattering Experiment for the Classroom Manufactured by 3D Printing: SupplementaryMaterial

Christian Scholz, Achim Sack, Michael Heckel, and Thorsten PöschelInstitute for Multiscale Simulations, Friedrich-Alexander-Universtätt Erlangen-Nürnberg

Build and perform a low cost Mie-scattering experiment

Table of contents:1. Mie-scattering 2. Hardware 3. Setup

4. Software 5. Preparation of the calibration sample 6. Preparation of the samples 7. Calibration and measurement 8. Analyzing the data 9. Reference s 10.Resources 11.FAQ

1. Mie-scatteringMie-scattering is light scattering on particles with diameters in the order of the wavelength of the light. An every day example for this is for example the light scattering on small water droplets in clouds and fog. The light is scattered multiple times on particles of different sizes resulting in white and opaque areas.

Scattering monochromatic light, i.e. light of one wavelength, on monodisperse spherical particles cause a characteristic scattering pattern like scattering on a grid. Using this pattern one can calculatethe size of the particles.

We show here a cost-efficient experiment, using 3D printing and embedded computing (Arduino Uno), which is capable of measuring Mie scattering on monodisperse particle suspensions quantitatively with high precision.

2. Hardware• Servo motor small, e.g. www.conrad.de, article 209089-62 (~7 €)

• Servo motor large, e.g. www.conrad.de, article 404753-62 (~6 €)

• LASER, e.g. www.roithner-laser.com, article LM-101-C4 (~6 €)

• Photodiode, e.g. www.reichelt.de, article SFH 203 P (~1 €)

• Arduino board, e.g. www.amazon.de, article Arduino Uno R3 (~6 €)

• Polarizer, e.g. www.polfilter24.com, article 110580 (~6 €)

• Wires, e.g. www.elv.de, article 68008417 (~4 €)

• Screws, e.g. www.amazon.de, article M3*10 (~2 €)

• Power supply, e.g. www.reichelt.de, article GS12E05-P1I (10 €)

• Filament for 3D printing, e.g. www.filamentworld.de (~2 € per pc; 25 € per kg)

(STL and SCAD files can be found at the Resources)

All links to parts are examples with prices from end of 2015 (total of 50 €). All parts can be found atwebstores such as amazon, ebay and similar, too.

Here an example list from www.amazon.com (e.g. for US citizens). If you know better shops, feel free to use them. Please check all specifications and dimensions again carefully, as the experiment

was built and tested with the above (European) ones. The experiment was designed to be easily altered.

• Servo motor small, e.g. www.amazon.com, article SG90 mini micro servo (~$6)

• Servo motor large, e.g. www.amazon.com, article standard servo (~$9)

• LASER, e.g. www.amazon.com, article 635nm laser diode module (~$3)

• Photodiode, e.g. www.amazon.com, article SFH 203 P (~$2)

• Arduino board, e.g. www.amazon.com, article Arduino Uno R3 (~$5)

• Polarizer, e.g. www.amazon.com, article polarizing film filter (~$8)

• Wires, e.g. www.amazon.com, article phantom dupont cable (~$2)

• Screws, e.g. www.amazon.com, article Philipps M3x10 mm (~$2)

• Power supply, e.g. www.amazon.com, article 100V converter adapter universal (~$9)

• Filament for 3D printing, e.g. www.amazon.com, article excelvan filament reprap (~$1 per

pc; $9.99 per kg)(STL and SCAD files can be found at the Resources)

The prices for this list were taken beginning of 2016 with a total for all pieces of about $50.

3. Setup

A picture of all parts needed to built this experiment:

• 3D printed experiment

• small and large servo motor

• Arduino Uno

• photodiode detector

• LASER (635 nm)

• polarizer

• resistor (1 MΩ)

• screws

• wires

To assemble everything proceed as follows:

• put the Arduino in the 3D printed housing

• attach the base plate of the experiment to the housing and fix it with screws

• glue the sample holder to the base plate

• assemble the 3D printed detector mount

• attach the small servo motor to the detector mount and fix it with screws or glue

• attach the polarizer to the small servo motor with a screw (cut a small hole in the middle of

the polarizer if needed) • attach the detector mount including the polarizer and small servo motor to the large servo

motor with a screw

• connect all wires according to the following layout

Wiring of the Arduino board.

• attach the LASER and the photodiode, fix both parts, e.g. with a heat-shrinking tubing, and

take care to minimize the possibility of scattered light from the surroundings hitting the photodiode

• use a polarizer to rotate the LASER such that the polarization is in 45° to the detector plane

(in the direction of the beam) • connect the power supply

• connect the experiment to the computer via USB

The assembled setup.

4. SoftwareArduino firmwareThe Arduino firmware (is capable of):

• Position the motors

• Turn LASER on/off

• Measure photo current from photodiode

• Export the measurement data

Installing the Arduino firmwareThe Arduino firmware is installed by using the Arduino IDE. All files can be found under Resources.

Accessing the ArduinoWith the firmware, the Arduino behaves like a serial device and can be accessed via terminal:

Linux: Connect to the serial device (e.g. /dev/ttyACM0) with 9600 baud, e.g. :

screen /dev/ttyACM0 9600

Available commands

• Moving the servos

x $ANGLE (lower servo)y $ANGLE (upper servo; polfilter)e.g.: x 90

• Turning the LASER on/off

O (LASER off)o (LASER on)

• Reading background, LASER intensity, and difference between both

m • Set the number of measurements to average over

N $NUMBERe.g.: N 200

Each command is sent by pressing ENTER at the end.

Software on the measurement computerHere we use python and Matlab / octave for the automatic measurement. Therefore Matlab / octave and python has to be installed as well as the python packages numpy, matplotlib and python-serial.

Linux: In Linux the packages can be installed e.g. via

sudo apt get install python python-numpy python-matplotlib python-serial octave

The python code is started via command line with

python ArduMie.py

All files can be found under Resources.

Matlab / octave scripts for analysis is able to:

• Calculate the theoretical Mie-scattering

• Determine the positions of the extrema from the measurement

• Compare the theoretical and experimental extrema

• Determine particle diameter from look-up table

All files can be found under Resources (Arduino firmware, python and Matlab / octave scripts).

5. Preparation of calibration sample1. Peel off the reflection layer from a CD with a track distance of 1.5 µm (CD-R 80 min) with cellotape (try different manufactures if you experience problems).

2. Cut out a piece from outer rim of the CD.

3. Glue the piece to a microscope slide (careful: The interference pattern must be in plane with the detector, see arrows).

6. Preparation of the samplesRequired Materials

Microscope slide, cover glass, particle suspension, cellotape, epoxy glue

Sample preparation1. Fix the microscope slide with cellotape.

2. Partially fix the cover glass with epoxy (sides only).

2. Add a droplet of suspension (capillary forces will suck in the liquid).

3. Wipe of excessive suspension, glue the cover glass and label the sample.

7. Calibration and measurementThe calibration and the measurement is done almost automatically. The calibration sample has to bechanged for the actual sample during the run. At the end the measurement values are compared against the theoretical values and a few graphs as well as the recognized samples diameters are printed.

The experiment is started via

python ArduMie.py

The program will ask you to insert the calibration sample. Then a calibration run for the motors willbe performed. At the end a graph will be presented and you’ll be asked to enter the the value of parallel (maximum) and perpendicular (minimum) position.

Next, the script will ask you to insert the actual sample to be measured and will then start the actual measurement. The setup will first measure the parallel scattering intensity and then rotate the polarizer and measure the perpendicular scattering intensity. The resulting data will be saved in two text files called Mie_scattering_parallel.dat and Mie_scattering_perpendicular.dat.

ArduMie.py and all other files can be found under Resources.

8. Analyzing the dataTo analyze the data and get the particle diameter, the data must be first smoothed to find the local maxima. This is done by using the Matlab / octave script called smooth.m. Measurement, spline fit and position of extrema are shown in the following image:

The next step is calculating the theoretical values and compare them the measured data. This is doneby the Matlab / octave script called Mie_table.m. In the end you’ll receive the measured particle diameter in your sample (see the point marked by the arrow in the figure; here for two different particle sizes). 5.9 µm sized monodisperse spheres can be bought for example here [5].

All Matlab / octave scripts can be found under Resources.

9. References1. S. Prahl. Mie scattering. http://omlc.org/software/mie/ 2. C. Mätzler. MATLAB Functions for Mie Scattering and Absorption Version 2. IAP Res.

Rep., 2002 3. C. Scholz, A. Sack, M. Heckel, and T. Pöschel. Mie-Scattering Experiment for the

Classroom Manufactured by 3D Printing. Submitted, 2016 4. C. Aguilera. extrema.m. Math-Central. 2007 5. Polysciences, Inc. Polybead® Microspheres 6.00µm. http://www.polysciences.com

10. ResourcesMie_complete.zip

This package includes:

• 3D-printing

• SCAD files

• STL files

• Arduino

• Arduino firmware (ArduMie.ino)

• a short manual

• Calibration_and_measurement

• Main program (ArduMie.py and MieScattering.py)

• Mie_scripts

• Matalb / Octave scripts (see also Refs. [1-4])

11. FAQA) I do not own a 3D printer, what now?

Don’t worry, try to

1. Find a local Fab lab (cost est. $5) 2. Build parts from cardboard [Pepakura] [Unfold] 3. Use an online 3d-printing service [shapeways] [meltwork] (cost est. $50)

B) Where to get cheap particle suspensions?

For testing you can use suspensions of milk etc. Suspensions of monodisperse particles are typicallysold in (relatively) large quantities (~ 15 ml). Since you only need a small droplet, try to ask at a local research facility, e.g. chemistry or physics departments of your nearby university.