# Micro Processor project making a Gun Chronograph

1. Nov 16, 2009

### ajaustin12

I need a little help with a lab project that I am making for my Micro Processor class. My instructor gave me the idea of making a gun chronograph.

He wants me to use 4 qrb1134 reflective sensors to detect an object. The qrb1134's will be in two pairs set at a certain distance apart. The purpose for these sensors are to start and stop an internal clock of a MEGA16 micro processor trainer board.

I am also supposed to write a program for the MEGA16 to perform that function and to calculate the velocity of the object that passed through the two pairs of QRB1134. The program is also supposed to display the velocity on the CRT.

I am very new at programing and really don't know where to begin. Any help will be appreciative.

2. Nov 16, 2009

### Bob S

First, you need to know how far apart the sensors are, and how accurately you need to measure the speed. For example, if the sensors are 10 meters apart, the bullet speed is 1000 meters per second, and you need to measure the speed to 1 m/s, then you will need a timing clock ~ 200 kHz or better.
Bob S

3. Nov 17, 2009

### ajaustin12

I guess I should have been a little more specific. Sorry about that.

Since this is a class assignment i will be using a rubber band or some type of projectile with a rubber band.

I haven't decided the distance between the two pairs of sensors, but thought about putting them about a foot apart.

4. Nov 17, 2009

### Bob S

If the projectile is moving at 100 feet per second, the time delay between sensors spaced one foot apart is 10 milliseconds. If you want a 1% measurement of its speed, then your clock should be roughly 0.5 x 0.01 x 10 milliseconds = 1/50-microseconds, or 20 KHz.

Bob S

5. Nov 17, 2009

### Staff: Mentor

To use a uP for a timing task like this, you should probably use interrupts and the uP's internal timer/counter. I'd use two IOs (one for each sensor), and set up an interrupt on each line. The first interrupt would clear and start a timer, and the second interrupt would stop the timer, do the calculation, and send it to the display.

So I'd suggest reading some about interrupts and timer/counter use in your uP as a place to start.