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.

Software

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:

  1. 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 .
  2. 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.
  3. 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.
  4. linefitjs.html 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

Physics Department| College of Science