Page 1 of 1

A Different Approach to Multi-Point Lane Timings

Posted: Thu Sep 18, 2014 9:45 pm
by Stan Pope
This was posted over in "General Topics" under topic of "World Record Run":
bracketracer wrote:
Stan Pope wrote:Yup! Should work. :)

You gonna cut up your FastTrack Timer? :) Or build one with an Arduino?

If you build, you don't have to worry about a start-gate trigger ... just start the timing based on the trigger of the first gate on the flat. Wonder how many split points an Arduino could time accurately? 7 gates would give you 6 intervals of data to work with.
I know an Arduino Uno can work for six sensors. I built the one from the http://www.miscjunk.org website (plans are here: http://www.miscjunk.org/mj/pg_pdt.html ). I use it on a two lane Besttrack with one sensor at the left lane's finish and six sensors in the right lane. The left lane's sensor and the fifth sensor in the right lane use the same pins on the Uno, I wired in a DPDT toggle to select which sensor is active. I detailed the build here: http://www.pinewoodderbyonline.com/post ... er-6952101
Taking a slightly different direction, here is a rough-out of design that allows an Arduino to record an arbitrary number of sensors along one lane as well as record total heat time. [Need to validate the signal timings.]
I would probably run about 10' of 6 lead - telephone (or 8 lead - Ethernet) cable, soldered in on the up-track side of the sensor and terminated with a RJ11 (or RJ45 8P8C) plug, and RJ11 (or RJ45 8P8C) socket on the down-track side of the sensor.

The idea is to daisy-chain the sensors so that each either passes a "sense" on from a prior sensor or sends its own "sense" on.

Control Lines (daisy chained, start line to sensor ... to sensor to Arduino/finish line sensor):
From Arduino to all Sensors:
1 - Power (passes through each sensor)
2 - Ground (passes through each sensor)
3 - Reset (passes through each sensor)
To Arduino:
4 - Start (passes through each sensor)
5-in - Trigger IN - OUT (no pass through)
5-out - Trigger OUT (OR of this sensor, if enabled, and Trigger IN)
6-in - Set IN - OUT (between adjacent sensors, no pass through)
6-out - Set OUT (between adjacent sensors)

If Ethernet cabling is used, the line assignments may need to be changed to make optimal use of the twisted pairs.

Start Gate:
Gate close (ground): Start (Line 4) enables Arduino timing
Gate open (+): Start (Line 4) resets Arduino

Sensor 1:
Reset (Line 3): enables Sensor
Sense: (1) Set OUT (Line 6-out), (2) Trigger (Line 5-out), (3) Disable this sensor

Sensor 2 through N-1:
Reset (Line 3): disables Sensor
Set IN (Line 6-in): enables Sensor
Sense: (1) Set OUT (Line 6-out), (2) OR Trigger IN (Line 5-in) and this sense (if enabled) to Trigger OUT (Line 5-out), (3) Disable this sensor

Sensor N (at Arduino over finish line):
Reset (Line 3): disables Sensor
Set IN (Line 6-in): enables Sensor
Sense: (1) OR Trigger IN (Line 5-in) and this sense (if enabled) to Arduino trigger, (2) Set OUT (Line 6-out) to report results to computer.

Re: A Different Approach to Multi-Point Lane Timings

Posted: Sat Sep 20, 2014 12:40 am
by Stan Pope
Without going into fine detail, the Arduino program would
1. On a reset input: clear the output area.
2. On start input: start timer.
3. On a trigger input: read timer and add it to output area.
4. On a Set IN: send output area to computer.

Need to assure that Arduino processes the last trigger in put before the Set IN input.
If can't assure, then Arduino needs to be told how many sensors are active so it can send the complete result to the computer.

Re: A Different Approach to Multi-Point Lane Timings

Posted: Sat Sep 20, 2014 10:13 am
by Stan Pope
The daisy chained scheme introduces some propagation delays which, if they were extreme, could affect the accuracy of timings. These delays occur due to cable length between sensors and, perhaps more importantly, switching delays within each sensor.

My recollection of switching delays for TTL and CMOS gates is that these are significantly smaller than 0.001 seconds by, at least, a couple orders of magnitude. If this recollection is correct, then their effect upon the accuracy of the resulting times should not make the times unusable.

Part of the reason my memory says it is correct is that I made a code practice oscillator using a Quad NAND IC ... two gates for a keyed audio frequency osc, which keyed two gates for AM range radio frequency osc. (I needed a few dozen code practice oscillators for a class that I was conducting, and I needed to keep the cost way down. Adding an audio amp stage and speaker would increase the cost by at least an order of magnitude. Let 'em send to a nearby AM radio!)

Re: A Different Approach to Multi-Point Lane Timings

Posted: Sat Sep 27, 2014 8:59 am
by quadad
Hi Stan,

I could look this up, but I am pretty confident that the gate switching delays would be on the order of nanoseconds (10-9 power), and WAY, WAY out of the picture here. I haven't read all the background, but what is the intent/expected benefit of the daisy chain sensor arrangement ? I haven't built an Arduino (yet), so I haven't looked into its interface.

I have done projects where I was concerned with the wire propagation delays, but they were on the order of microseconds (10-6), and probably not an issue here.

As far as the sensor delays, you are pretty stuck with those, but they would only be an issue if they are grossly different between one and the next, unless you daisy chain them as is being suggested here.

Re: A Different Approach to Multi-Point Lane Timings

Posted: Sat Sep 27, 2014 11:10 am
by Stan Pope
quadad wrote: I haven't read all the background, but what is the intent/expected benefit of the daisy chain sensor arrangement ?
Reasons for daisy chaining:
1. (primary) Allow Arduino to record times for more than 6 sensors. Daisy chaining removed any limits that the number of inputs that the Arduino can accept! (As I understand, the smallest Arduino is limited to 6 input lines.)
2. (also-ran) Reduce the loop time for the Arduino checking its inputs. This should allow the Arduino to assign a more accurate time to the sensor trigger.

Re: A Different Approach to Multi-Point Lane Timings

Posted: Sun Sep 28, 2014 8:44 pm
by Stan Pope
The block design for this calls for the illumination LED in each sensor to be turned on when that sensor is enabled as a result of the trigger of the prior sensor or by the start gate opening in the case of the first sensor. This should keep the power requirements down... maybe run it all off of the computer's USB port power! Then could also put a colored LED on the top to show that the sensor is active (enabled) without blowing the power budget! :)

QUESTION: Anybody have experience with using a reflective strip in the lane's center with both LED and phototransistor mounted above? That would reduce / eliminate drilling a bunch of holes in the track! :) Maybe could use a one inch square piece of flat black tape with a 1/8" square or circle of reflection tape in the center?