Given a setup such as the following:

enter image description here

Is there a reliable, cheap (say, around £20 in parts for each node) way to produce a signal at S, so that detector 1 can see the signal but 2 cannot? The distances involved are not huge - say 10cm between each detector.

I have a couple of thoughts on how this might be possible, but I can see downsides with both:

  • Some kind of TDR measurement - while this could be ok with long distances, with distances of a few centimetres the timings become ridiculous (and thus very expensive.)

  • A high frequency carrier that becomes suppressed after a short distance due to the skin effect. This sounds much more promising, but the frequencies I would need are in the hundreds of Mhz, which again become expensive to produce and detect.

It may of course be that what I want to achieve here isn't possible with these constraints. I'm happy to accept that as an answer if that's the case, but wanted some other input in case I was missing anything in particular!

(For those interested in the specific application, it's a model train track. I'm trying to devise a system of determining if a particular locomotive is in a particular section of track without resorting to the traditional method of isolating the track into blocks. S here would be some form of device clipped to the track, and 1 and 2 would be the locomotives.)

  • \$\begingroup\$ There was a similar question around here but I can't find it now, so it might have been deleted (it scored something like -4). The consensus there was that you cannot really rely on signal being vs not being detected as the discriminant at this kind of distances. Range finding was the only reasonable alternative, but I'm not sure if it will fit in your budget. And by rangefinding I was thinking of something like chrisharrison.net/projects/ultrasonicdoppler/… \$\endgroup\$ – Fizz Sep 10 '15 at 23:16
  • \$\begingroup\$ Actually sparkfun.com/products/639 would have been a better link for this particular application, but it's the same tech. \$\endgroup\$ – Fizz Sep 10 '15 at 23:24
  • \$\begingroup\$ @RespawnedFluff Thanks - unfortunately I suspect you're right! I did have a browse around for other similar questions but couldn't see any. My thought (in terms of the high frequency approach) was to filter, then rectify the signal then use a zener diode say 0.1V less than the original amplitude as a solid cut off point (rather than just not detecting the signal) - but I suspect that this won't give me good reliability over about a 10cm distance. \$\endgroup\$ – berry120 Sep 10 '15 at 23:31
  • \$\begingroup\$ How about RFID tags? Some have very short detection ranges. Eg adafruit.com/products/361 \$\endgroup\$ – Damien Sep 11 '15 at 0:44
  • \$\begingroup\$ (actually 125Khz RFID tags and readers are much cheaper than the one I linked above) \$\endgroup\$ – Damien Sep 11 '15 at 1:07

Here is some more random ideas:

  • Measure the inductance -- have unit "1" short the track, then have "S" run LC generator. Measure the frequency. Track inductance will be proportional to its length, but it will be in microhenries range (this page may help: http://www.eeweb.com/toolbox/wire-inductance)
  • Measure resistance via voltage drop:
    • Short one end of the track.
    • Apply high, but constant current (5A) to another end of the track. Make sure to limit voltage to a very low value to ensure that bad connection will not cause system meltdown.
    • Have trains measure the voltage between wheels (which will be in millivolts range then)
    • Make sure the current is only applied for a very short pulses (milliseconds), otherwise the track will overheat. This obviously requires CPUs and communtion channel at all endpoints.

for more practical methods:

  • Add a coil under sections of interest -- there is no need to use a full RFID system. Instead, under section 1 place a (very long) coil driven by 40kHz, under section 2 a (very long) coil driven by 42 khz, and measure the frequency at the train. Or flip the system and have the trains transmit the freqencies while the sections receive. The coil can be very simple -- in NatCar competition, the transmitter is a single 50-foot wire and a pickup is a small ferrite bobbin.
  • Detect when the trains cross specific points.
    • Put an infrared led at each train which transmits train-specific code. Put a bunch of IR receivers near entrances/exits of the track.
    • Use camera and recognize trains with computer vision :)

This in no way answers your original question, but for detecting trains my first idea would be to use a weak IR signal. Either

  • the train has an IR beacon and sends a signal that identifies the train straight down to receivers embedded between the tracks, or
  • beacons in the tracks send a signal up to a receiver embedded in the train.

The first setup is probably to be preferred, because it puts the least circuitry in each train, and the info is available in the staionary pasrt of the system (otherwise you'd have to tranmit the info wirelessly from the train to where you need it). Having multiple receivers and integrating their signals might be a minor challenge.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.