Shooting chronograph using a teensy 4.0?

Status
Not open for further replies.

firehopper

Well-known member
I'm fairly sure its possible. but no idea how to do it. or what parts to use. any help or any one done anything similar
 
I'm fairly sure its possible. but no idea how to do it. or what parts to use. any help or any one done anything similar

a friend of mine used to produce and sell those 30-40 years ago.

as i remember he used a pin diode optical sensor to detect a fast rising or falling edge as the bullet went over the traps.
rising light from reflection of sun or sky off bullet or falling if shadow of bullet passed over sensor. and obviously a cable
between the two detectors so as to have a start and end time.
 
Getting/Setting up the sensors is the tricky part? Passing object can be 100 feet per sec or up to 3,500 fps - what range is intended use?

Chrony commercial units used here have what seems a pair of single lens bottom sensor that see's the shadow of the passing object against the sky or a 'skyscreen' top difusser - timing between the first and second sensors. Ideas noted here electronics.stackexchange.com/questions/59186/how-to-detect-a-bullet

Shown here hackaday.com/2020/05/04/measure-the-speed-of-a-speeding-bullet/ using two sided active emitter on one side and receiver on the other.

Passing such things can easily be +/- an inch or two in any direction {when 6+ ft back so muzzle blast doesn't give false readings} - and with proper distractions of aiming failures can result in the direct impact of any nearby surface ... and subsequent failure to function on those downrange parts ... :(


Quick math with two sensors 6" apart ( worst case - too close ideally more ) and a passing object at 1,000 fps would take 1M/2K or 500 us to transit the sensors. If both trigger on the same part of the passing object the T4 should have a number of ways to accurately detect that and report that 500 elapsed us is 1,000 fps, 499 us is 1002 fps, etc. But using CYCCNT and two pin _isr()'s with so much time between resolution could be at least 15 times better ( I/O bus speed not CPU speed ).
 
My approach to this problem is to use photo diode in reverse-biased configuration (the fastest), and use a modified transimpedance
amp configuration using multiple pn-diodes to produce a logarithmic response to the photo-diode current - this automatically
compensates for the change in ambient lighting and makes the signal dependent only on the fraction of lost-light during the over-pass
of the object. Then a high pass filter (remove mains hum) and differentiator follow to pick up the rapid changes due to the
rapid occultations. You can then either sample that at a suitable high speed, or put through a comparator to threshold the
pulses.

I've built this and simulated it, circuit:
chrono_circuit.png
In place of the simulated pulse stuff you should place the reverse-biased photodiode (anode to ground).

Of course a real chronograph needs two copies of the circuit for the two gates, and carefully aligned optics to
ensure each photodiode sees a narrow vertical slice of space directly above it.

Raw voltage after the trans-impedance amp, with simulated noise and mains hum visible:
chrono_circuit_sim_input.png

And the differentiator and comparator outputs super-posed:
chrono_circuit_sim.png

For an arrow the biggest, negative, pulse is due to the abrupt end of the fletching passing, causing a rapid increase
in light. An opamp differentiator stage has negative gain which is why this then appears negative.

The choice of opamps and comparators will depend on the speed/bandwidth you are looking for, for archery its
less demanding. If you use a comparator you have the issue of deciding on a suitable threshold that produces
reliable results. If you sample the waveforms you'll need a suitably high sample rate and be able to both trigger
live and then have enough samples to perform the autocorrelation to measure the delay time.

In low light photodiodes produce more noise (as a proportion of wanted signal), which will limit the operation.
Larger area PIN photodiodes are probably the way to go, as they maintain good response speed at low light.

My circuit could benefit from putting more voltage across the diode to reduce its capacitance and increase its
speed (that would need a -5V rail perhaps).
 
The above Hackaday leads to an open source for Arduino port reading - GPL license - and it just sits in a while( !Sensor #1 ) then goes to While( !Sensor #2 ) for timing. As noted that uses trap on both sides rather than single under sensor feeding on sky or artificial light.

His screen gate sensors are on Tindie -
Speed - The sensor's net response time is ~100 nanoseconds. A .270 Winchester round takes about 25 microseconds to pass through the beam and another 600 microseconds to travel 500 mm!

I suppose they don't have to be fast as long as they both accurately/reliably read the same edge on the same timeframe.
 
I suppose they don't have to be fast as long as they both accurately/reliably read the same edge on the same timeframe.

I'd suggest using sampling and auto-correlation if you can't rely on well-timed edges since auto-correlation is powerful at extracting
signal from noise and doesn't care about phase distortion.
 
I'd suggest using sampling and auto-correlation if you can't rely on well-timed edges since auto-correlation is powerful at extracting
signal from noise and doesn't care about phase distortion.

Well timed edges are critical - you only get one chance to read both sensors per 'trial'. An error if one sensor triggers without the other - and once both triggers those two points are the only available data?

If both sensors have the same response and the shadow passes both in the same detectable way ...
 
Status
Not open for further replies.
Back
Top