Optical Spectrometer using a Linear CCD image sensor

Similar documents
Construction Manual of Merlin spectrometer

HR2000+ Spectrometer. User-Configured for Flexibility. now with. Spectrometers

CMOS Based Compact Spectrometer

MLX90255 Linear Optical Array

UM1380/ UM2380 UM1390/ UM2390 Datasheet

ULS24 Frequently Asked Questions

DATASHEET SMT172. Features and Highlights. Application. Introduction

νµθωερτψυιοπασδφγηϕκλζξχϖβνµθωερτ ψυιοπασδφγηϕκλζξχϖβνµθωερτψυιοπα σδφγηϕκλζξχϖβνµθωερτψυιοπασδφγηϕκ χϖβνµθωερτψυιοπασδφγηϕκλζξχϖβνµθ

AN4507 Application note

Available online at ScienceDirect. Procedia Technology 17 (2014 )

Using a Pulse Width Modulated Output with Semiconductor Pressure Sensors

DASL 120 Introduction to Microcontrollers

SG2525A SG3525A REGULATING PULSE WIDTH MODULATORS

DATASHEET. SMT172 Preliminary. Features and Highlights. Application. Introduction

In this lab, you ll build and program a meter that measures voltage, current, power, and energy at DC and AC.

Raman Microscope Attachment

Bridge Measurement Systems

Advanced Laser Control System V2.1 Beta

Microscope-Spectrometer

EE445L Fall 2014 Quiz 2A Page 1 of 5

CMOS MT9D111Camera Module 1/3.2-Inch 2-Megapixel Module Datasheet

Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which

LaserPING Rangefinder Module (#28041)

Measuring Distance Using Sound

Electronic Components

PCB Scope / Logic Analyzer Hardware Design Description

Generating DTMF Tones Using Z8 Encore! MCU

Getting started with OPENCORE NMR spectrometer. --- Installation and connection ---

Project Final Report: Directional Remote Control

TOSHIBA CCD LINEAR IMAGE SENSOR CCD(Charge Coupled Device) TCD1304AP

UNIVERSITY OF VICTORIA FACULTY OF ENGINEERING. SENG 466 Software for Embedded and Mechatronic Systems. Project 1 Report. May 25, 2006.

Photodiode types. Fig Transistor Optocouplers & Opto Sensors

TSL245R INFRARED LIGHT-TO-FREQUENCY CONVERTER

Design of Joint Controller Circuit for PA10 Robot Arm

UMAINE ECE Morse Code ROM and Transmitter at ISM Band Frequency

Design and Implementation of Digital Stethoscope using TFT Module and Matlab Visualisation Tool

Green Electronics Library Documentation

ELR 4202C Project: Finger Pulse Display Module

functional block diagram (each section pin numbers apply to section 1)

Using Magnetic Sensors for Absolute Position Detection and Feedback. Kevin Claycomb University of Evansville

TSL1401R LF LINEAR SENSOR ARRAY WITH HOLD

RX23T inverter ref. kit

University of Wisconsin Chemistry 524 Spectroscopic Components *

TA8435H/HQ TA8435H/HQ PWM CHOPPER-TYPE BIPOLAR STEPPING MOTOR DRIVER. FEATURES TOSHIBA BIPOLAR LINEAR INTEGRATED CIRCUIT SILICON MONOLITHIC

Marconi Applied Technologies CCD30-11 Inverted Mode Sensor High Performance CCD Sensor

Pixel. Pixel 3. The LUMENOLOGY Company Texas Advanced Optoelectronic Solutions Inc. 800 Jupiter Road, Suite 205 Plano, TX (972)

Training Schedule. Robotic System Design using Arduino Platform

Computer Controlled Curve Tracer

Photometer System Mar 8, 2009

EIE/ENE 334 Microprocessors

Multi-channel imaging cytometry with a single detector

Frequency Synthesizer Project ECE145B Winter 2011

Designing with STM32F3x

Ultrasonic Positioning System EDA385 Embedded Systems Design Advanced Course

Power Factor Correction in Digital World. Abstract. 1 Introduction. 3 Advantages of Digital PFC over traditional Analog PFC.

Chemistry Instrumental Analysis Lecture 10. Chem 4631

Radiation Hardened RF Transceiver For In-Containment Environment Applications Using Commercial Off the Shelf Components

Experimental Analysis of Luminescence in Printed Materials

IGBT based Multiport Bidirectional DC-DC Converter with Renewable Energy Source

CHAPTER-5 DESIGN OF DIRECT TORQUE CONTROLLED INDUCTION MOTOR DRIVE

Audio Noise Figure Meter

Preliminary Design Report. Project Title: Search and Destroy

EE 314 Spring 2003 Microprocessor Systems

EE445L Fall 2012 Final Version B Page 1 of 7

Hello, and welcome to this presentation of the STM32 Infrared Timer. Features of this interface allowing the generation of various IR remote control

OPB780-Kit. Color Sensor Evaluation Kit

Preliminary TCD2704D. Features. Pin Connections (top view) Maximum Ratings (Note 1)

ams AG TAOS Inc. is now The technical content of this TAOS datasheet is still valid. Contact information:

CCD30-11 NIMO Back Illuminated Deep Depleted High Performance CCD Sensor

Electronics Design Laboratory Lecture #10. ECEN 2270 Electronics Design Laboratory

Figure 1. C805193x/92x Capacitive Touch Sense Development Platform

CSCI1600 Lab 4: Sound

LBI-38392C IC DATA MAINTENANCE MANUAL LOGIC BOARD U707 OCTAL DATA LATCH 19D902172G1 & G2 TABLE OF CONTENTS

CCD42-10 Back Illuminated High Performance AIMO CCD Sensor

Development and Application of 500MSPS Digitizer for High Resolution Ultrasonic Measurements

CCD30-11 Front Illuminated Advanced Inverted Mode High Performance CCD Sensor

Driving LEDs with a PIC Microcontroller Application Note

ML4818 Phase Modulation/Soft Switching Controller

ESE 350 Microcontroller Laboratory Lab 5: Sensor-Actuator Lab

MAXREFDES73#: WEARABLE, GALVANIC SKIN RESPONSE SYSTEM

CHAPTER 4 FUZZY BASED DYNAMIC PWM CONTROL

TSL1401R LF LINEAR SENSOR ARRAY WITH HOLD

EMG Sensor Shirt. Senior Project Written Hardware Description April 28, 2015 ETEC 474. By: Dylan Kleist Joshua Goertz

Comparison between Analog and Digital Current To PWM Converter for Optical Readout Systems

High Group Hz Hz. 697 Hz A. 770 Hz B. 852 Hz C. 941 Hz * 0 # D. Table 1. DTMF Frequencies

Frequently Asked Questions DAT & ZX76 Series Digital Step Attenuators

Coherent Laser Measurement and Control Beam Diagnostics

Controlling DC Brush Motor using MD10B or MD30B. Version 1.2. Aug Cytron Technologies Sdn. Bhd.

Selecting the Proper Sensor for Optimum System Design Application Bulletin 201

Serial Communication AS5132 Rotary Magnetic Position Sensor

EE445L Fall 2014 Quiz 2B Page 1 of 5

Introduction. Theory of Operation

Introduction to the operating principles of the HyperFine spectrometer

CCD30 11 Back Illuminated High Performance CCD Sensor

Color Sensing using the OPB780

Design of a Frequency Counter Based on Input Capture Function of a. Single Chip Computer. Wang Yanshuang; Liu Yuelong

Temperature Monitoring and Fan Control with Platform Manager 2

ZKit-51-RD2, 8051 Development Kit

PhysicsAndMathsTutor.com 1

Project Name Here CSEE 4840 Project Design Document. Thomas Chau Ben Sack Peter Tsonev

Transcription:

Optical Spectrometer using a Linear CCD image sensor Cezar CHIRILĂ, Lorant Andras SZOLGA Abstract The Optical Spectrometer is a device that measures the intensity of light as a function of wavelength. This implementation of such a device uses a linear Charge Coupled Device image sensor, a 32-bit microcontroller from STMicroelectronics, present in the STM32F103 family, to interface with the said sensor and a custom 3D-printed enclosure that contains a diffraction grating which separates the light into the individual wavelengths that need to be quantified. 1 Introduction An Optical Spectrometer is a device, usually of electronic type, which can measure the intensity of light as a function of wavelength. In other words, the device splits a light beam into its each individual wavelength and measures the intensity of each one, essentially creating a map of its spectrum. This practical implementation of an optical spectrometer consists of a linear Charge Coupled Device image sensor, the TCD1304AP from Toshiba, which comes in a custom DIP package and has 3648 effective pixels, a 32-bit microcontroller from STMicroelectronics, present in the STM32F103 family, to interface with the CCD image sensor, and a custom 3Dprinted enclosure to precisely encapsulate the presented components in addition to the diffraction grating, which is used to separate the beam of light into individual wavelengths. The optical spectrometer has two main applications. One is to analyze the spectrum of a light source, for example if we want to measure the performance of a high-powered LED array. The other application is to analyze the composition of a substance by placing it between a reference light source and the spectrometer. The latter is based on the nature of interaction between the substance and the beam of light, which can either be absorption, meaning a specific part of the spectrum will have a lower intensity, or emission, indicated by the fact that the material radiates energy. The main purpose of this project is to provide an easy to build device, with components that are cheap and readily available from various suppliers and with a maximum flexibility that an open-source license can offer. It needs to be mentioned that the word cheap used in the previous sentence does not denote the performance of the device, but is used to impose the high level of performance to price ratio. In the following chapter, each individual component will be presented. A graphical representation is available in Fig. 1.

4 6 5 3 1 2 Figure 1: Block diagram of the proposed spectrometer. 1 Image sensor; 2 Microcontroller board; 3 Diffraction Grating; 4 3D Printed enclosure; 5 Light slit; 6 Light source. 2 Components 2.1 Image sensor The imaging sensor, as presented in the introduction, is a Toshiba linear CCD, part number TCD1304AP. It has 3648 pixels, each having a width of 8µm, which dictate the resolution of the spectrometer. It has a voltage rating on all its pins of -0.3 to 7V, which means that it is compatible with our microcontroller, which uses 3.3V for its GPIO 1 pins [1]. Its main characteristics that made it the best choice for this application are the high sensitivity and low dark current which translates to low noise whilst not needing a very powerful light source. Two other key points were the low price, less than two digits in USD and availability. One of the most complex parts of this project was driving the CCD sensor and capturing the output. Functionality wise, the integrated circuit has four pins that interest us, besides the supply: Master Clock Pulse Voltage (ϕm), Shift Gate (SH) Pulse Voltage, Integration Clear Gate (ICG) Pulse Voltage and the Output Signal (OS). These are also presented in Fig. 2. The Master Clock must be a clock signal with a frequency between 0.8MHz to 4MHz. For our application, we will be using a frequency of 1MHz. The SG and ICG are used to control the integration time. To use the electronic shutter function, the SH pulse needs to have a period smaller or equal to ICG, but not less than 10µs. Additionally, we can see from Fig. 2 above that the number of elements is 3694, but the total effective pixel number is only 3648. This is a consequence of having a number of 46 dummy pixels. The output of the sensor is defined as follows: V V V (1) SAT OUT 3 1 General Purpose Input / Output

Read out time Integration Time SH ICG ϕm OS E0 E3694 Figure 2: Timing chart use electronic shutter function [1] In relation (1), V OUT has a maximum voltage of 3V and V SAT denotes the voltage when a pixel is saturated, meaning that the light hitting the sensor is at its maximum. This is essentially our analog output which is inversely proportional to the intensity of light, meaning that in darkness the sensor will output 3V and, when saturated by light, V SAT, which is equal to 0.6V. The OS (output) signal has a frequency of ϕm/4 = 250KHz, meaning that for every 4 periods of master clock, the value of a new pixel is shifted to the output signal, until either a new ICG pulse commences or all 3694 pixels have been in rotation, including the dummy ones. (Ideally, these two moments will coincide) 2.2 Microcontroller For this project, the requirements for a microcontroller are not very harsh, but there are still some key points that need to be followed. For starters, four timers are needed, one for each signal and an additional one to control the ADC sample start time, a high clock frequency to allow us to output a master clock of at least 0.8MHz and an integrated ADC to remove any additional external circuitry which may add additional noise. One device that can fulfill all the necessary tasks is the STM32F103C8T6, which is a device from the mainstream performance line of STMicroelectronics. The MCU contains an ARM 32- bit Cortex M3 CPU Core, which can be clocked as high as 72MHz. Additionally, it has 37 GPIO, which are more than enough for this application, up to three USART communication interface, but only one will be used, four 16-bit timers, and, one of the most critical parts, a 12- bit A/D which can be clocked up to 14MHz. One of the most important features of the microcontroller is the capability of the timers to output PWM signal directly on the output pins, which can be automatically configured, thus reducing strain on the CPU. This means that all three signals required to drive the imaging sensor, the ϕm, the SH and ICG, can be driven by the timers.

2.3 Diffraction grating The diffraction grating is the optical element of this project. It is a passive optical component which has a periodic structure, a plastic film whose thickness varies, sort of like a comb, thus diffracting the light passing through it into several beams travelling in different directions which are dictated by their particular wavelengths [2]. After the light passes through it, several beams of light are created. The zero-order mode, as it is called, is present perpendicular to the element, as if the diffraction grating didn t even exist. We are not interested in this mode. First order mode, which is what we want, is where the full spectrum is present at its highest intensity. The zero-order mode and first order mode can be observer in Figure 3. d λ m = 1 m = 0 m = 1 y Figure 3: Diffraction grating with zero and first order mode For this application, a diffraction grating with 1000 lines/mm is chosen to obtain the smallest device possible whilst maintaining a decent price. To calculate the distance between our imaging sensor and the diffraction grating, so that the full spectrum can be measured, the following formula will be used [3]: m D y (2) d where y is the displacement, m is the order, λ is the wavelength, D is the distance between the diffraction grating and the sensor and d is the slit separation. For a visible spectrum, from 400nm to 700nm (violet to red) and knowing that the sensor size is 29.1mm (8μm * 3648) we obtain from equation (2) a distance between the optical element and the sensor of 9.7cm and the displacement distance is 3.88cm. 2.4 3D-printed enclosure Unlike most electronic project, where all that is needed is a breadboard or a development board, the optical spectrometer needs a custom-made enclosure so that the position of the sensor and the diffraction grating is either constant or can be put into a fixed position accordingly to the values presented in the previous sub-chapter. D

One of the best solutions is a 3D-printed enclosure. Nowadays, resolution of a few hundreds of micrometers is easily achievable using any commercial FDM 2 3D printer. The prototype shell is presented in Fig. 4. It has a slit on the top right side, with a width of 1.5mm, to let the light in and two slots to place the diffraction grating. The two slots are there in case we want to either analyze the spectrum in the range of 400-700nm or in the range of 400-900nm. It is designed in such way that there is enough room to position the optical element in both positions. At the bottom, there is an opening where the top of the integrated circuit TCD1304AP will be placed. The material used to 3D print the enclosure is black PLA. Only the color is critical, as it doesn t reflect any light to interfere with the measurements, for example the second order diffracted light. The type of material has been chosen because of its availability and price. Figure 4: Rendered model of the 3D-printed enclosure 3 Schematic The hardware side of this project does not pose a big threat. On the logic side of the circuit, the microcontroller used is placed on a development board with all the pins needed easily accessible using pin headers. It is powered by a +5V rail which comes from the USB connector mounted on the device. The breakout board includes a low dropout voltage regulator to supply 3.3V to the microcontroller. The KiCAD schematic of the circuit is present in Fig. 5. Pins A7, B7 and B3, which are the timer outputs, are buffered by the logic inverter 74HC04 IC, which is then routed directly to the TCD1304. The output of the imaging sensor is amplified using a PNP transistor, 2SA1015. A current limiting resistor is used in the base of the said transistor and a pull-up resistor on the emitter of the transistor, ensuring a common collector topology, with an amplification of 1. This is the output which goes to the second channel of the ADC present inside the microcontroller. Two filtering capacitors are used, one with a value of 100nF and another one with a value of 10μF. Both must be rated for a voltage of at least 10V. The practical implementation of the can be seen in Fig. 6. 2 Fused Deposited Modeling: a 3D printer produces a design by depositing platic material layer by layer

Figure 5: Optical Spectrometer schematic drawn in KiCAD 2 1 3 4 5 Figure 6: Practical implementation of the spectrometer. 1 Slit, 2 Diffraction Grating, 3 STM32F103 board, 4 TCD1304 Sensor, 5 UART to USB device 4 Firmware and Data Manipulation The software side of this project is arguably the most difficult one. Starting from the beginning, the clock is configured in such a way that the operating frequency of the microcontroller is 28MHz.[4] This allows us to set up Timer2 to a period of fclk/28, which is 1MHz, right near the typical value of TCD1304 s master clock. Timer3 and Timer4 can then be set up to generate our ICG and SH pulses. There are multiple requirements in the datasheet: ICG pulse need to be at least 1µs longer than SH and SH needs to have a minimum pulse width of 1µs. Taking this into consideration and the fact that reading all the pixels (including dummy ones) takes at least 3694 / 250KHz, which is approximate 15ms, we need to choose a period for ICG which is a multiple of SH (or equal) and is greater than 15ms. The value chosen is 20ms, to be on the safe side, this means that Timer3 is configured to a period of fclk/(28*20000). The

last timer, Timer4, which generates the SH pulse is configured to a value of fclk/(28*20). The pulse width of these last two timers is set to a value of 5µs, respectively 1µs. The real outputs available at the pins of the TCD1304 can be seen in Fig. 7. These timers are configured in PWM Generation so that the required signals are available on pins PB3, PA7 and PB7. To be noted that the master clock has a duty cycle of 50%. Timer1 is set on Output Compare mode, with no output, at a frequency of fclk/112, which is four times smaller than the master clock. Configuring the NVIC 3 right allows Timer1 to generate an interrupt request when Timer1 overflows. In other words, when the Timer1 start a new period, it generates an Interrupt Request which instructs the CPU to execute our own Interrupt Routine. In this project, the Interrupt Routine consists in starting the ADC, reading the value of the ADC and placing it in a vector which contains all the pixels. Usually it is not recommended to use the ADC whilst in an Interrupt Handler, but here we can make an exception because we know that we have enough time. The ADC is set to a sample time of 13.5 cycles. With a frequency of 14MHz (ADC frequency, not the Cortex Core clock), this means that reading the ADC takes about 1µs. Our window between the readings is about 4µs, which is more than enough. Timer1 is started in yet another Interrupt Handler, this time the one that belongs to Timer3 ICG pulse. In conclusion, the reading is done periodically, when the ICG pulse is generated. Figure 7: Oscilloscope screenshot of the ICG and SH signals (after the inverter) Finally, after all 3948 pixel s values have been acquired, the entire vector is sent over UART to the PC. The serial port is configured as follows: the Baud rate is 115200 bits/s, the word length is 8 bits and just one Stop bit. To analyze the data transmitted by our optical spectrometer, we can use any terminal that has the option to copy the received data to either clipboard or to save it as a.csv file. This data is then imported into Microsoft Excel and displayed on a graph as in Fig. 8. To eliminate error, we can make five readings for every pixel, import all data in Microsoft Excel where we eliminate the two most extreme values (the highest and the lowest) and finally we average the remaining three, which leaves us with a reading that is mostly guaranteed to be free of random errors. 3 Nested Vectored Interrupt Controller

Figure 8: Graphical representation of a beam of light hitting the center of the sensor 5 Conclusions With this project, the aim was to build an affordable, easy to build and user friendly spectrometer. From the start, we knew that the spectrometer would need to be heavily calibrated against another fully functional one to achieve great results. The device in now functional and data can be extracted, but it has not been yet calibrated. In the future, we would also like to obtain more consistent results. The prototype will suffer improvements regarding the optimization of the placement of the components. We intend also to create a software utility to provide a friendly interface for the end user. References [1] Spectral Products, TCD1304.pdf, available on http://www.spectralproducts.com, 2017 [2] Kinoshita, S.; Yoshioka, S.; Miyazaki, Physics of structural colors, Reports on Progress in Physics, 2008 [3] R. Nave, Diffraction Grating, HyperPhysics, Georgia State University, 2016 [4] Erossel, Reading the TCD1304 with a STM32 Nucleo F401re, on erossel.wordpress.com, 2017 Biography Cezar Chirilă is currently a student at Technical University of Cluj-Napoca studying Applied Electronics in English. His passion for electronics goes way back since early childhood. He likes to build things from the ground up and does not give up until he completes them. He documents most of his project on https://www.allaboutcircuits.com/author/cezarchirila. Feel free to contact him and talk about electronics at any time. Cezar CHIRILĂ, student Technical University of Cluj-Napoca Faculty of Electronics, Telecommunications and Information Technology 28 Memorandumului Street, 400114 Cluj-Napoca, ROMANIA E-mail: Cezar.CHIRILA@student.utcluj.ro