Setting up the Laser Gate
Page still under construction
In the Cal Poly Pomona Physics department we have designed a low cost accurate
laser timing gate for use in physics experiments. We use the PIC16F690 chip
to perform the timing and to transfer the data via USB to a PC. To run the
software, you can use the image file below. We first explain how to construct
the gate, then how to run the software. The total cost for the system is under
30 dollars, with most of the cost being the USB-TTL cable (20 dollars).
Building the Gate
One can construct the gate
by placing the components
onto a solderless breadboard,
or by soldering the components
onto a perf-board. The connections
(with the 20 MHz resonator)
are shown in the figure to the right:
Click here to see a
parts list .
A pictures of the breadboard with connections is shown below:
The PIC chip can be loaded with timer3.asm (4 MHz clock)
or timer3fast.asm (20 MHz clock).
With the 4 MHz clock on the PIC16F690, the shortest measured blocking
time possible is 2 msec. For blocking times greater than 2 msec, the accuracy
for the blocking time is 2 micro-seconds. For blocking times
shorter than 2 msec, you will need to use our faster version with a 20 MHz resonator,
timer3fast.asm . With the 20 MHz
resonator, the blocking time can be as short as 0.4 msec, with an accuracy of 0.4 micro-seconds.
To read the data from the pic chip, we supply a bootable image file.
We boot off the CD into "Puppy Linux". Puppy Linux is a nice, relatively small,
distribution of Linux. The students run the following programs
to record and analyze the data:
- constacc: This program can be used if one expects constant acceleration, such as
the ladder drop, atwood machine, rotational dynamics. Type "z" for calibration. After
typing "z" you will be asked for the number of blockings for calibration and the distance
between the first and the last calibration blocking. To see if the gate is working, type "d", enter, and block
the gate with your hand n times to see if data is being recorded. If the gate works, type
"d", enter, to collect data. The source code is constaccf.c .
- tandv: This program collects time and velocity data. Type "n", enter,
to enter the number of
data points. Type "z", enter, to enter the blocking width of the object that blocks the gate. You can
write the data to a file in memory by typing "w". A file named "tvout.txt" is created in the folder
"file", which can be transfered to a memory stick. The source code is tandvf.c.
- pendulum: This program records time and velocity and prints the data
to screen every time the gate is blocked. The program is
designed to record data from a swinging pendulum, since the
times between blocking is relatively long. Type "n", enter, to enter the number of data points.
Type "z", enter, to enter the blocking width of the object that blocks the gate. As with tandv, you
can write the data to a file in
memory by typing "w". A file named "pendout.txt" is created in the folder "file", which can
be transfered to a memory stick. The source code is pendulumf.c.
is a linear fitting program that gives the slope and intercept
as well as the uncertainty in these two parameters. Click on the boxes to include the
data points you want in the fit.
Siegel's Home Page
College of Science