Transcript
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
4. Software 5. Preparation of the calibration sample 6. Preparation of the samples 7. Calibration and measurement 8. Analyzing the data 9. References 10.Resources 11.FAQ
1. Mie-scattering Mie-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 calculate the 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 at webstores 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. Software Arduino firmware The Arduino firmware (is capable of): • • • •
Position the motors Turn LASER on/off Measure photo current from photodiode Export the measurement data
Installing the Arduino firmware The Arduino firmware is installed by using the Arduino IDE. All files can be found under Resources. Accessing the Arduino With 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 $NUMBER e.g.: N 200 Each command is sent by pressing ENTER at the end.
Software on the measurement computer Here 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 sample 1. 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 samples Required Materials
Microscope slide, cover glass, particle suspension, cellotape, epoxy glue
Sample preparation 1. 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.
4. Cut out the sample.
5. The finished sample.
6. Quick test with a LASER. Ring(s) should be visible.
7. Calibration and measurement The calibration and the measurement is done almost automatically. The calibration sample has to be changed 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 will be 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 data To 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 done by 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. References 1. 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. Resources Mie_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. FAQ A) 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 typically sold 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.