Unusual DCC circuit request...

I am interested to know if anyone has done this…

Is it possible to build a circuit that will read a DCC signal and extract just the engine address only? This circuit would need the ability to read all engine addresses being sent to a roundhouse stall track.

My application would be for a 12 stall roundhouse, so one knows which engine is currently in which stall. On my control panel would be twelve - 4 digit numeric led displays, numbered according to the stalls. These 4 digit displays would then let me know which stall engine number xxxx is currently in.

John

This is not really possible. Engines that are not selected on any throttle do not have any commands being sent to them. The only way to do what you want is to use Digitrax Transponding or Railcom. Any loco with a transponding or a Railcom decoder will be able to feed back its address if power is applied to the track.

–Randy

I do think it would be possible without transponding decoders. This is how the circuit would need to work, keeping in mind this is for a roundhouse or other building housing multiple engines…but would be limited to one engine per track.

I belive most people in this situation (a roundhouse) do not keep power on to all tracks at all times, just turn the power on the track that needs it to move a particular engine in and out af the building / stall.

  1. Detect when DCC signal is being applied to the track

  2. If a DCC signal is detected, then begin reading the signal and “strip” the engine address being sent

  3. Store and lock this engine number in a register and display that number on numeric LEDs

  4. Working in conjunction with an optical detector, it can then sense if their is actually an engine present

  5. If no occupancy is being detected on that track, then display nothing

I believe it would be possible to do this, just how to “strip” the byte data from the DCC packet containing the Engine address would be the hardest part (for me anyway).

John

1 - The DCC signal is the same whether it is in the roundhouse track or on the mainline:

2 - All engine addresses are sent whenever a speed change or keep-alive is sent.

3 - You will need to isolate each stall(transponding).

4 - Transponding will give you only the engine numbe that is in the stall

5- Again, transponding will tell you if there is an engine.

Like Randy suggested, transponding decoders with a detector on each stall track would be the best way to go here. I guess I am curious why one wants a display with each engine number in each stall - Is the roundhouse doors not visible to the operator?

Jim

Jim,

1 - The DCC signal is the same whether it is in the roundhouse track or on the mainline: Yes, I know

2 - All engine addresses are sent whenever a speed change or keep-alive is sent. Yes, I know. When you select a stall track that section of track will have the DCC signal present when moving engines in and out.

3 - You will need to isolate each stall(transponding). Stall tracks are isolated and already have optical detection

4 - Transponding will give you only the engine number that is in the stall. I do not intend to buy / replace 40 plus decoders that can do transponding. This can be done using the DCC signal, not replacing decoders.

5- Again, transponding will tell you if there is an engine. Again, I do not intend to buy / replace 40 plus decoders that can do transponding. There is a way to do this using the DCC commands on the track and not having to purchase transponding decoders.

Yes, most of the doors are visible, (but being able to see the engine number would not be easy) and some stalls are not visible from the operators position.

To me this is just a conveinent way of keeping track of your engines in the stalls, so when you return to operating after several weeks and you have forgotten which stall has which engine in it.

John

There is no way to do this just by stripping the address from the DCC packets, unless when you are running a train into an engine stall it is the ONLY engine on the layout being moved at that time. If you have another engine moving anywhere on the layout it’s commands will be seen on the stall track as well as the engine you are running into that stall.

If you made sure that all other engines are stopped and released when you run an engine into a stall then this idea could be made to work; however, it would not just be a matter of building a circuit, the circuit would require a processor that is programmed to read the address.

Here are your options:

Transponding - You would have to install transponding zone detection for the roundhouse stalls. You would not necessarily have to replace any decoders, but for engines with decoders that do not have transponding you would have to add a Digitrax Transponding function decoder.

RailCom - One neat thing about RailCom is Lenz makes an LRC120 RailCom detector that will display the address of the engine in the isolated section of track. Again, every engine would have to have either a RailCom equipped decoder or an add on RailCom transmitter. Also, you have to have a RailCom cut out device on the booster feeding the roundhouse stalls.

Train tracking software(Such as RailRoad & Co.) - This would require that your whole layout be setup for block occupancy detection, but it would not require any changes to your engines.

Uhlenbrock LISSY system - This is a system of infrared transmitters and receivers for engine location detection. The transmitters are mounted on the bottom of the engine and the receivers are mounted between the rails.

RFID - Th

A German company (Dietz Modellbahntechnik) has proposed the SUSI (Serial User Standard Interface) protocol for DCC decoders, and the NMRA has assigned an interim Recommended Practice to this technology which will use CVs 897 through 1024 to control additional advanced functions; however, no other DCC manufacturer has yet adopted the SUSI specification. If it does ever come about, this may be what you need…

John, One way would be to read each individual isolated track with JMRI Decoder Pro. I don’t know how you would streamline the process or display for the 12 tracks though. It would probably require a polling type of software program. Just a thought.

I find that a notepad and pencil works just fine for me. I also have a label on the bottom of each loco that tells the loco address and the type of decoder installed.

it would be easier to fit a couple of webcams and look at whats in there. ??

Miniature video cameras would work, but if you have similar engines which you can only distinguish by road number, they probably won’t have the resolution you would need to read the numbers.

What would the prototype do? My guess is, they’d get a whiteboard and write the engine numbers on it. In the steam era, it would be blackboard and chalk.

actually, this is one of the coolest questions i’ve ever seen on this forum for a while…:slight_smile:

i’ve considered transponding before on my layout, but even as an experienced electrical engineer, the concept is still too young and complicated.

However, here is a non-transponding way i’ve thought of for you (the concept only really works for a roundhouse):

Have you got any PIC programming know-how or a PR3? You need to monitor the DCC packets on the layout (very easy to do), and monitor the feeder droppers for the stalls with a sensitive current detector (i use a simple op-amp design).

if you monitor the packets along with the status of the current in the stall (train entering =1 and leaving =0), you can have a very reasonable and accurate guess of what loco is there. store it in a latch/memory or text file on the PC and you will “remember the status”. sounds like a cool project i should add to my layout as i have the same problem.

i hope i’ve inspired you now :wink:

This would only work if you do not have other engines running on the layout when you are pulling an engine into a roundhouse stall. If you have engine #1 running on the layout and engine #2 pulling into the stall, how do you know which one is pulling into the stall?

if we put a current detector & PIC (basically a modified stationary decoder) under the turntable and one of the same in each of the stalls, then we can “see” engine #2 start moving since we can read the throttle command, loco number, and monitor the current draw rise. linked with the adjacent PIC, we have enough inteligence. we probably have to stop the loco on the turntable.

engine #1 would need to do do the same acceleration as engine #2 to confuse the system, which is almost impossible.

any refinements?

It depends on how busy the layout is and what the other engines are doing. With several operators working simultaneously, some of them swicthing out industries, it may not be that hard to confuse the system.

idea ‘B’ ? assuming you are all diesel stock, just select likely numbers and switch the lights on and off or off and on to confirm the correct loco is selected. i’m sure you will be able to tell what numbers go with which loco types?? so it may take a few trys to get the right number??

Well, I am mostly steam, but do have several diesels too. I have a good understanding of electronics and am quite computer literate (MCSA). The cost of this roundhouse engine detector is going to be a factor for me, so I am thinking that trying to work out a circuit to cypher the DCC loco address is going to be difficult, tricky and costly to do.

Now , for my next idea that is totally independent of any DCC system…

Suppose you use an IR emitter detector scheme. IR emitter (facing downward) in each engine set to a specific freq. and have the detectors mounted in the stall tracks. You could build the emitter circuit small enough to reasonably fit into a steam tender, but a diesel would be harder to do. If each engine had it’s own specific freq. then the detector would know the engine #. The detector circuit would have to be able to detect all frequencies used and then transmit the proper decimal code to the LED display drivers based on which freq it has detected. Seems possible and not to costly. Any thoughts?

John

John,

I agree, getting away from using the DCC as the detection mediem is a good idea. What about using small RFID tags(like those in pets) They are small enough to put in an engine and can be read by a small proximity scanner - there is lots of HW/SW for this stuff.

Jim

There are some people working on using RFID in model railroad applications. The biggest hurdle so far is the range - 2-3" of seperation in HO scale it still close enough that multiple tags respond to the sensor.

Another option is Uhlenbrock’s LISSY. This is an IR transponder system a small chip with a unique ID, like an RFID tag, is installed on each loco and an IR LED tramsmitter/receiver pair goes between the rails. As the transponder passed over the track sensor it broadcasts its ID. The transponder cna be programmed like a mobile decoder to whatever ID you want to use, the fixed side of the system can each monitor two tracks (2 sets of sensors connect to each box). It’s a Loconet device (yet another bit of wondeful gadgetry that works with Loconet but is not a Digitrax product) and support for it is in JMRI. WHat ther isn’t is much information in English, which is rather wierd. ESU offers their site in multiple languages, Uhlenbrock is German-only. The one site I foudn with any information in English is 6 years out of date, but they do mention at the bottom 4 dealers in the US. The Lissy manual on the site is the German one, but the pictures give a pretty good idea how it works and how to install it. http://www.rjftrains.com/intellibox/uhlenbrock.htm I wish there was more information available - this would seem a great way to go, a transponding system that is independent of the DCC track signal. Short range, and localized to a section of track (point detection vs “anywhere in the block” which is exactly what you’d want on roundhouse stall tracks.

–Randy

There already is an infrared emitter/detector scheme available, it is the Uhlenbrock LISSY system that I mentioned in my first post in this thread. Here is some more information about it.