Jump to content
 

Train Describes using 4 digit 7 segment displays?


St. Simon
 Share

Recommended Posts

Hi,

 

I've been looking at experimenting with electronics for the next layout and I've been thinking about train describers. As my job is a signalling designer, my next layout will include a mimic panel out the front of the layout which will repeat route selection, train detection and signal aspects, but also it would be nice to have train describers.

 

I would like to use a 4 digit 7 segment LED Display to recreate Headcodes (7A09 for example). I did have a think about using RFID and train specific Headcodes, but I've decided that it'll too much effort, so my thinking is to have generic headcodes for a passenger train, freight train, special workings, and which one to be displayed would be controlled via a rotary switch set by a fiddle yard operator (they would driver the trains away from them and use a panel to communicate to the fiddle yard what is coming)

 

I've had a look at how to do it, but they all include a multiplexing using microprocessor of some sort communicating with a computer. But for my purposes. I want the whole thing to be self contained, i.e. No computer necessary once a program has been uploaded.

 

So I ask, is there a way to use a 'standard' 4 digit 7 segment display without having to continually using a computer, or do I have to hard wire 4 separate 7 segment displays through a matrix to create the displays necessary.

 

Simon

  • Like 1
Link to post
Share on other sites

  • RMweb Gold

The trouble with 7 Segment LED displays is that they are very limited as to which characters they can actually display. 0 to 9 is ok and quite a lot of the alphabet is also available. But not B, D, K, M, Q, R, T, V, W, X, Y, Z, a, e, f, g, i, j, k, m, s, v, w, x, z are not! (If I have got them right!!!)

You might want to consider 14, 16 (really 15 and 17) segment displays – a lot more pins but nearly all (all with a couple of compromises) of the alphabet can be accommodated.

 

Also, displays create “many” connections very quickly, on a board, unless you do multiplex them together.

 

The board will need to be flexible as the chances of you designing, writing and implementing your particular application 'right first time' are going to be nil. (No offence meant. It would be for even us {so called} experts!)

 

Plus – how are you going to control it? Push Buttons, sensors, etc. What about incrementing the numbers? Different numbers? etc...

 

..so on and so forth.

 

 

This really does need to be realised with a Micro Controller. It does need to be re-programmable.

 

 

It just so happens that I have had the exact same thoughts and have been working on a solution that would suit my needs, but the idea could be used by others.

 

I required (needed) to display the character “M” for Midland originating trains. Such as “2M43” of “1M17”. “1N19” instead of “1n19” etc. So I settled on 16 Segment displays.

I wanted it to be flexible so I added serial comms (RS232) and a couple of input/outputs so that it could be made as a stand alone board with upto many (>15) Push Buttons plus a couple of programmable digital outputs.

 

One or two other bits were also added 'for free', so to speak, to aid flexibility and debugging.

(6 digits, analogue POT input, on board Push Button, etc...)

 

I'm still working on the PCB layout but I should be sending it off for manufacture in the next few days.

 

post-12815-0-92072000-1431032368_thumb.png

 

post-12815-0-66918800-1431032417_thumb.png

 

 

I'm not sure how this can help you (except put you off – not my intention)!

But there IS a lot to consider for what you want – BUT IT CAN BE DONE. :)

 

There maybe some commercial RS232 solutions out there. (Certainly 2*16 LCDs but they are small.)

 

 

Kev.

  • Like 3
Link to post
Share on other sites

  • RMweb Gold

You would be better having the TD as a separate VDU, which we did at a number of places during the TRUST scheme. I did a mock-up of such a system driven by a 32K BBC computer when it first came out in 1982, so it doesn't need much computing power to run it.

Link to post
Share on other sites

  • RMweb Gold

You would be better having the TD as a separate VDU, which we did at a number of places during the TRUST scheme. I did a mock-up of such a system driven by a 32K BBC computer when it first came out in 1982, so it doesn't need much computing power to run it.

Agree.

 

You could write something in VB (Visual Basic) on a cheap PC and display it on a small flat screen LCD display.

If you know the Raspberry Pi (and it's sub components) then this could work out as a really cheap solution!

 

 

Kev.

  • Like 2
Link to post
Share on other sites

DCC Concepts are introducing an off the shelf solution for exactly this purpose.

I don't know how far it goes to replicate your exact needs (e.g. head codes), but worth finding out if it's of use.

Due out in the next couple of months IIRC.

 

 

Newsletter 2015-03 #14 (Cobalt Alpha Coming Soon)

 

.

Edited by Ron Ron Ron
  • Like 1
Link to post
Share on other sites

I suspect it should be possible to use JMRI running on a Raspberry Pi to achieve this as a turn-key system. Just fix under the layout with no need for a big PC

 

If you can make do with the letters available in hex (A-F) for the second digit there are (or at least were) hex dot matrix displays available that will take a 4-bit code. Using the 4-bits multiplexed with four enable lines you might be able to make an interface to an 8-output accessory decoder to drive a 9A99 type display.

  • Like 1
Link to post
Share on other sites

Hi,

 

Thanks for the replies, I'm particularly interested in the DCC Concepts link Ron.

 

To answer some of your questions SHMD, it would be controlled through a rotary switch, which would bring up a single headcode, I would only have 4 or 5 headcodes (one for passenger Trains, one for freight, one for special workings etc). One switch would only control a single display, there will be no stepping up / down of displays. 

 

I would have 5 of the displays, one at each entry point to the layout, each controlled through it's own rotary switch.

 

The Panel will (hopefully) look like a 'traditional' NX Panel with switches and buttons, with no computer screen in sight.

 

Simon

Link to post
Share on other sites

  • RMweb Gold

Hi,

 

Thanks for the replies, I'm particularly interested in the DCC Concepts link Ron.

 

To answer some of your questions SHMD, it would be controlled through a rotary switch, which would bring up a single headcode, I would only have 4 or 5 headcodes (one for passenger Trains, one for freight, one for special workings etc). One switch would only control a single display, there will be no stepping up / down of displays. 

 

I would have 5 of the displays, one at each entry point to the layout, each controlled through it's own rotary switch.

 

The Panel will (hopefully) look like a 'traditional' NX Panel with switches and buttons, with no computer screen in sight.

 

Simon

You mean something like this :-

 

post-12815-0-07280900-1431167637_thumb.png

 

 

Using thumbwheel switches for the digit inputs. (What does an NX Panel look like?)

 

post-12815-0-71788600-1431167760.png

 

 

I've just (quickly) thrown this circuit together (and have not debugged it yet) but already you can see the=at the complexity is approaching my 'solution' above but this one is 'hard wired' and this not flexible.

Also, this one can only display the following :- "01234567890ABCDEF" in the format "abcd".

(But this circuit does not require any programming skills or equipment.

:)

 

 

Kev.

  • Like 1
Link to post
Share on other sites

  • RMweb Gold

The above circuit would need extra components added :-

 

- Pull-up resisters would be advisable/required between the rotary switches and the 4-7 line decoder ICs (depending on 74x47 type used).

 

- Individual switches to each IC to blank individual digits - eg "1 99".

 

- On board regulated 5 volt PSU.

 

- Extra digits.

 

 

It all soon adds up! But it is easy to understand.

 

 

Kev.

  • Like 1
Link to post
Share on other sites

  • RMweb Premium

The above circuit would need extra components added :-- Pull-up resisters would be advisable/required between the rotary switches and the 4-7 line decoder ICs (depending on 74x47 type used).- Individual switches to each IC to blank individual digits - eg "1 99".- On board regulated 5 volt PSU.- Extra digits.It all soon adds up! But it is easy to understand.Kev.

Hi

 

Personally I would look at using an Ardiuno for this.

 

Cheers

 

Paul

Link to post
Share on other sites

  • RMweb Gold

Hi

 

Personally I would look at using an Ardiuno for this.

 

Cheers

 

Paul

^ I agree Paul.*

*(Insert capable uController of choice here.)

 

 

The example, 'hardwired' circuit in post #10 above, is rapidly approaching the complexity of the flexible solution in post #3 that uses a PIC micro.

 

I posted the thumbwheel circuit merely to provoke thought only. :)

 

 

Kev.

Edited by SHMD
Link to post
Share on other sites

You mean something like this :-

 

attachicon.gifDisplay7by4sch1.png

 

 

Using thumbwheel switches for the digit inputs. (What does an NX Panel look like?)

 

attachicon.gifDisplay7by4switches.png

 

 

I've just (quickly) thrown this circuit together (and have not debugged it yet) but already you can see the=at the complexity is approaching my 'solution' above but this one is 'hard wired' and this not flexible.

Also, this one can only display the following :- "01234567890ABCDEF" in the format "abcd".

(But this circuit does not require any programming skills or equipment.

:)

 

 

Kev.

Hi,

 

Thank you for the diagram, but its not what I was thinking, I'm sorry I didn't make it clear, but one switch would control all four digits in each display, so, flicking the switch would light up '1A43' for example and then switching it again would bring up '7C77' or something, so Switching the switch would bring up a whole headcode, rather than four switches controlling four digits.

 

I don't necessarily need it to be re programmable, I just want one switch to select a single, 4 digit head code. I will only have maybe 6 headcodes in total if that. 

 

Hi

 

Personally I would look at using an Ardiuno for this.

 

Cheers

 

Paul

 

Paul, I've had a look at Ardiuno (as I'm using this for Signal Interlocking), but to use a four digit 7 segment display, would require multiplexing and a continuous connection to a computer through Serial Communication (if I've understood it correctly), which I don't want, I want to program the layout onto a processor using a computer and then once this is done, the computer is taken away and the Ardiuno does it's thing (using a separate power supply).

 

In theory you can use an Ardiuno if you go for 4 separate single digit 7 segment display, but you haven't got enough input / output pins on even the biggest current Ardiuno and with 5 displays to do, it could get expensive.

 

Simon 

Edited by St. Simon
Link to post
Share on other sites

  • RMweb Premium

I think you are making a mistake if you only have a few headcodes available, how are you for instance going to run specials, and more importantly 'rescue' trains (1Z99)?

 

I think Thesignalengineers idea of a seperate train describer VDU would be best. Here we have a GE systems Small Train describer, which has a screen that duplicates the diagram and moves the headcode from berth to berth... 

 

Now if you happen to ask about you might even be able to lay your hands on a proper Vaughan Systems TD, with its properly designed (and old fashonedly cluncky) keyboard.....

 

Andy G

  • Like 1
Link to post
Share on other sites

I think you are making a mistake if you only have a few headcodes available, how are you for instance going to run specials, and more importantly 'rescue' trains (1Z99)?

 

I think Thesignalengineers idea of a seperate train describer VDU would be best. Here we have a GE systems Small Train describer, which has a screen that duplicates the diagram and moves the headcode from berth to berth... 

 

Now if you happen to ask about you might even be able to lay your hands on a proper Vaughan Systems TD, with its properly designed (and old fashonedly cluncky) keyboard.....

 

Andy G

 

Hi Andy,

 

I would have generic Headcodes for each type of train. So one for Express Passenger, one for Stopping, one for Freight, one for Engineering Trains and one for specials etc. i.e. they will not be specific for each individual train, just purely to identify the type of train 

 

Its not going to be used as information as to what exact train is coming, just as extra visual interest for the public viewing the layout.

 

Simon

Link to post
Share on other sites

  • RMweb Gold

Hi,

 

Thank you for the diagram, but its not what I was thinking, I'm sorry I didn't make it clear, but one switch would control all four digits in each display, so, flicking the switch would light up '1A43' for example and then switching it again would bring up '7C77' or something, so Switching the switch would bring up a whole headcode, rather than four switches controlling four digits.

 

I don't necessarily need it to be re programmable, I just want one switch to select a single, 4 digit head code. I will only have maybe 6 headcodes in total if that. 

 

 

Paul, I've had a look at Ardiuno (as I'm using this for Signal Interlocking), but to use a four digit 7 segment display, would require multiplexing and a continuous connection to a computer through Serial Communication (if I've understood it correctly), which I don't want, I want to program the layout onto a processor using a computer and then once this is done, the computer is taken away and the Ardiuno does it's thing (using a separate power supply).

 

In theory you can use an Ardiuno if you go for 4 separate single digit 7 segment display, but you haven't got enough input / output pins on even the biggest current Ardiuno and with 5 displays to do, it could get expensive.

 

Simon

I started throwing together another quick circuit based on this new information...   ...unfortunately, I reached the 300pin limit on the freeware CAD well before getting the main components down!

 

If you want to use 7-seg displays then you really will have to look at multiplexing.

(It's not that difficult and there are a few on here to help/guide.)

:)

 

 

Kev.

  • Like 1
Link to post
Share on other sites

  • RMweb Premium

Hi,

 

Thank you for the diagram, but its not what I was thinking, I'm sorry I didn't make it clear, but one switch would control all four digits in each display, so, flicking the switch would light up '1A43' for example and then switching it again would bring up '7C77' or something, so Switching the switch would bring up a whole headcode, rather than four switches controlling four digits.

 

I don't necessarily need it to be re programmable, I just want one switch to select a single, 4 digit head code. I will only have maybe 6 headcodes in total if that.

 

 

 

Paul, I've had a look at Ardiuno (as I'm using this for Signal Interlocking), but to use a four digit 7 segment display, would require multiplexing and a continuous connection to a computer through Serial Communication (if I've understood it correctly), which I don't want, I want to program the layout onto a processor using a computer and then once this is done, the computer is taken away and the Ardiuno does it's thing (using a separate power supply).

 

In theory you can use an Ardiuno if you go for 4 separate single digit 7 segment display, but you haven't got enough input / output pins on even the biggest current Ardiuno and with 5 displays to do, it could get expensive.

 

Simon

 

Hi Simon

 

Once the Ardiuno is programmed there is no need for a PC and I'm not sure why you think you would need a PC connected to multiplex the display. Basically you would connect a switch to one of the pins to act as a trigger. Each time the switch is pressed a counter is incremented and the head code changes to the next one in the list once you have reached the end of the list reset the counter to zero.

 

Have you considered using a LCD display instead of the 7 segment ones. This would provide more a flexible character set and some also allow you to add your own characters. Someone like this

http://cpc.farnell.com/midas/mc20805b6w-fptlw/lcd-2x8-fstn-white-led-b-l-5v/dp/SC12638

 

 

Cheers

 

Paul

Edited by PaulCheffus
  • Like 1
Link to post
Share on other sites

Hi Simon

 

Once the Ardiuno is programmed there is no need for a PC and I'm not sure why you think you would need a PC connected to multiplex the display.

 

Have you considered using a LCD display instead of the 7 segment ones. This would provide more a flexible character set and some also allow you to add your own characters. Someone like this

http://cpc.farnell.com/midas/mc20805b6w-fptlw/lcd-2x8-fstn-white-led-b-l-5v/dp/SC12638

 

 

Cheers

 

Paul

 

Hi Paul,

 

I'm only assuming it as all the examples I've seen involve a serial communication part of code, and I assume that means a continuous computer connection. If it doesn't (I'm only assuming here), then I'm very happy, I'm familiar with the code language, so I would look at that option again.  :)

 

I will have a look at the LCD as well, although I kind of like the 'old school' look of the segments :)

 

Simon

Link to post
Share on other sites

  • 2 months later...
  • RMweb Gold

Hi Simon, How have you got on?

 

My prototype is now up and running.

I still have some (software) work to be done to take advantage of the various input/output options, and I am still designing the font I want to settle on. (I'll probably install 3(!) fonts.)

 

But, I am very pleased.

The display is clear bright and flicker free. The update speed is excellent and the multiplexing is a doddle (each char is lit for ~1500uSec).

 

post-12815-0-81333800-1438028977_thumb.jpg

 

post-12815-0-34960700-1438029014_thumb.jpg

 

Don't be deceived. This display is clear and bright - the photographer is not!

 

 

 

Seriously, if you can make use of the Ardiuno then multiplexing should not be a barrier.

(If you wish I, or others, can guide you.)

 

 

Kev.

 

  • Like 2
Link to post
Share on other sites

  • 2 weeks later...

 

 

one switch would control all four digits in each display, so, flicking the switch would light up '1A43' for example and then switching it again would bring up '7C77' or something,

 

 

Since you only need fixed codes, you can indeed do this using a cheap rotary switch, and lots of diodes to direct power to the right segments. What codes do you want, exactly? (you can get 6-way switches very easily, so maybe limit yourself to six codes).

Edited by merlinb
Link to post
Share on other sites

Here's a simplified example showing how you could feed power to individual LED segments. It displays two codes using a 2-way switch, so six codes would need a 6-way switch. You can have as many digits as you want, of course. OK, you'll need a shedload of diodes, but diodes cost 1p each or something. (Some of the diodes in this example are redundant, but you get the idea)

 

led_display.png

(To a man with an Aduino, every problem is a nail digital)

Edited by merlinb
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...