Wavemeter based on interferometer

From QT5201U wiki
Revision as of 15:10, 15 April 2021 by Zhao (talk | contribs) (Apr 9)
Jump to navigation Jump to search

This project aims to build a wavemeter which can be used to measure laser in our lab precisely.

Team: Qin Qichen, Zhao Qi, Zhang Zhao.

Aim

We aim to build a wavemeter which is used to measure laser in our lab. The range of wavelength our wavemeter can detect is around 1100nm - 1200nm, determined by optics. A precision around 100MHz is expected.

Theory

Michelson interferometer is a good tool to measure the length if there is a good laser. Similarly, it can also be used to measure wavelength. We use a 1550nm laser as our reference. By counting zeros in the signal, we can get the ratio between wavelengths.

Components

Optics

Air track

Electronics

circuit of wavemeter

History

Mar 9

We find the optics for our wavemeter and order the retroreflectors. The design files of our air track and car are sent to Bob.

We test our pull-push solenoids and optical switch. We aim to use Arduino UNO as our controller. Today we test using an optical switch to generate the voltage signal.

when the LED is blocked
when transistor receives signal from LED

Mar 16

Arduino UNO is tested to do the counter. We try to use the simple functions provided by Arduino compiler environment to do this. The idea is to detect the rising of the signal. So I make the comparison between two samplings with a given time interval to see if there is a rising. The problem is this method is too slow. The function provided by the compiler is actually a bunch of pieces of the atomical operations. The time interval set by function is also limited by an internal timer of the board.

There are two types of timers in this Arduino UNO board, which are actually provided by the microcontroller chip Atmega328P. The chip has an internal clock with 16MHz frequency. Theoretically, our signal is around 1MHz if assuming the speed of our car is around 1m/s. So it seems feasible if we use the internal clock to do this counter. Need to read documents and search to see how other people do this.

Mar 29

Sampling and comparing the signal is not good enough to do the counter. This method is useful only for very slow signals such as 1kHz. If the frequency of our signal is 1MHz, if we want to do the counting by comparing the sampling, our sampling should be at least 2MHz to capture all rising. But when we compare the executing of those codes can waste a lot of time, then we will miss a lot of rising signal. So it is not a good idea.

I check some useful documents. It seems use port manipulation will minimize the time used to do the read and write. I can also use the interrupt which is associated with a timer to do some tasks. A good instruction about this can be seen on the sites below.

https://www.arduino.cc/en/Reference/PortManipulation

https://www.instructables.com/Arduino-and-Port-Manipulation/

https://www.instructables.com/Arduino-Timer-Interrupts/

http://gammon.com.au/interrupts

Apr 5

Bob finished the mechanical work. We get our air track and car. We are beginning to set up the air track.

Apr 6

We use compressed air in our lab as our air source. we put the car on the air track. But their are two problems here.

First, the air port of the car is on one side so the pipe may touch some optics. So we need an L shape adapter to make the pipe vertical.

Then, the pipe connected to the car is hard, which means when we move the car it will be forced by the pipe. We need to find a softer pipe,

Murray suggests using a 90 curved copper pipe to connect the car.

Apr 7

Tried the method in https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/. Use the signal to trigger the interrupt. I use two signals from the function generator to test. The result is it can detect a signal no more than 100kHz. So this method is not good and we still need to find a way to do the counting.

Make one 90 curved copper pipe and try it. But it is so heavy that the car tilts and touches one side of the air track. It is better not to use this. We find a curved plastic pipe which is better to do this. We also borrow a soft pipe and the compression spring from Kai's Lab(the spring we bought before is too hard, the k is too high).

Apr 8

The clock frequency is designed to be 16MHz so theoretically signal with a lower frequency than 16MHz can all be counted. It also reminds me that the timer inside the chip can be chosen as the counter. Choosing the timer inside needs an understanding of the register inside the microcontroller. Basically, registers can store some bits and the value of these bits can determine how the chip works. Details about this can be found in https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf

Use this method as our counter. It is found the board can work pretty well when we use two MHz signals as input from a function generator. Now the control part can be added in.

Apr 9

The picture shows the basic idea about our circuit. Two optical switches and one solenoid are connected to our Arduino UNO board. We want to make sure the board stops counting when the car move to the edge. So the optical switch 1 is connected to the INT1 pin of Atmega328p which is used to request an interrupt to pause counting when the signal changes. The optical switch 0 is connected to INT0 and can also pause counting. INT0 is also used to control solenoid. This pull push solenoid is on when the car reaches the edge and pushes the car back. We use a simple transistor to control it.

The circuit for our wavemeter
Schematics for the circuit

The result shows our board can count the risings in signal and when one counting reaches a maximum value we set before it will show and then clear the counting.

result for the test

Use two signals from a function generator as input. One is 1.2MHz and the other one is 1MHz. the picture show the counting from our board are 5120000 and 4266671. The ratio is 1.2. 5120000 can be changed to get different precision.

Apr 12

Air track and car for the wavemeter