Subscribe via RSS

DCC “Directional” Lighting without a Decoder

So, you have a 16-Car, 12-Car, 8-Car, 6-Car or 3-Car consist and you want to get the tail/head lights functioning correctly? Of course, you've already installed the expensive decoder in the engine car of the consist and if this is anything like all of the Japanese models I've dealt with, then it's somewhere in the middle and getting the power to the headlights is not really an option.
Ok, So companies like Kato have created smaller, feature-less decoders specifically for headlight and taillights in end cars... these are still the best option... the advantage to what I'm about to show you is that the lights will switch between backwards and forwards.
Anyway, if you can't, or are morally obliged not to, install the end-car decoders then you can cheat and install an AC/DC rectifier diode to 'fix' the direction of the train (and lights).
This, of course, means that the train you are going to install this into should really be only every traveling in one direction 'prototypically'. You'll be able to swap the end cars when you want the train to travel in the opposite direction, but this could be tedious and so it is entirely recommended this method only be used for consists where you intend on running them in one direction.

Micro Ace 6-Car "あいづ" KIHA 485系

So, as you may have recently seen, I installed a decoder in my 6-Car "あいづ" KIHA 485系。 The engine car was number 3 of 6, so couldn't really get any further into the center... which is a good thing as it means it's nearly pushing as much as it has to pull.

So, I decided as I'd got it at a bargain price, that I wasn't going to fork out too much to make it DCC. I had the decoder in the engine car and wanted the lights to not 'buzz' and function correctly. I intended on having it running in one direction most of the time and could handle swapping the end cars if I wanted it to go the other way.

What this meant is that I would get an AC->DC Rectifier (0.84c at the local electronics store) to convert the AC voltage off the tracks to DC.

Once in DC voltage the polarity would be fixed... even if the car was swapped around on the rails.

Right, so I removed the old lighting circuit board and bent the pins up that connected with the power rails... I then extended the AC side of the rectifier and pushed the pins into the area where the old contacts used to touch the power rails.

I then soldered up the DC output to the circuit board and threw it on the tracks to test.

Ok, this worked well... the lights even stayed on constantly after a bit of a wheel clean. Unfortunately, you now cannot 'shutdown' the train in a siding without cutting the power. The other issue now was that the rear car would have the 'Forward Lights' on as well if wired up directly... I therefore had to reverse the wiring after the DC output. I used my 0.25mm 'winding wire' for this.

And then a test...

And that was it... the train was DCC'd and ready to roll... It worked perfectly after this as well.

Twilight Express

I then quickly slapped a Rectifier in my Twilight Express end car and disabled the lighting in the car that sits right next to the engine.

To my surprise... a 12v BULB!... This must been an older set as Martjin had previously mentioned.

...and that was a wrap... yes, it's a mighty cop-out... and those who wish to have functional/switchable head/tail lights should not do this, but it does work and I must admit, does the job for my kinda running (Full Steam Ahead!)


Micro Ace 485 Series “あいづ” 6-Car Decoder Install

I found this for sale on eBay and, although it's JR East, I decided I could do with another 6-Car set.

Being my first Micro Ace product, I was extremely impressed with the level of detail. I was also extremely impressed with the electronics on the inside and the way everything just snaps together... of course, this is the same with the greater majority of Japanese model railway products... but this 6-Car set seemed much easier to pull apart.

Once apart, it was obvious that the decoder install was going to be very easy... The motor contacts could easily be separated and the power rails were made of copper... solderable! After the copper wire was on.. the wire was lead back up alongside the copper rails to the decoder... wires were also soldered onto the rails to provide power. Finally, the decoder was installed.

485 Series decoder installed

Right... lighting... as per any large consist... there is usually a considerable length to the end cars for directional lighting... this usually means that people should install separate decoders in the end cars (high price!) or run wires throughout the cars (ugly!)... so instead, I decided to convert the AC current to DC and force the lights to be in specific directions...

But you'll see that in my next post!


DCC Booster Complete

Ladies and Gentlemen,
I am proud to finally announce that the Booster has been completed and tested.

The final design incorporates the following features:

  • Short Circuit Protection with a ~6sec timeout when short detected.
  • Two segments per booster rated at 2-3Amp each.
    • These can be combined for a total output of ~5Amp.
  • Status LEDs to indicate power output on each segment and also overload/short detection on each segment.
  • Second Serial Port (DB9) on the rear panel to allow data connection to another booster.

A typical setup of the Booster would be as follows:

The Booster shown above was built in a readily-available Project Box and the next one built will probably not use the same model. I'll be going to the store on the weekend to see exactly what is available as the box used is a little larger than what is really required.

Either way, if you still wanted one of these, now is the time to contact me.


Final PCB Board Complete!

Well, Silver Circuits manufactured and delivered my PCB much much quicker than expected and I'm not complaining!

And, last night, after a rush of construction... I couldn't get the board to work... The 'trip' sensors were permanently active! After a 30 minute stare at the circuit design today I'd realised I'd viewed an older circuit schematic when designing the PCB and had put the inputs to the LM339 the wrong way around!
After a quick test to correct this I had the booster operational.

Unfortunately this now means that all boards in this initial run are defective, but I have devised a way to correct the issue without too much hacking. A small veroboard piggy-backed on has allowed me to correct the inputs to the IC.

I was very much relieved once it was all operational. I now need to get the final components (you can see a dodgy-hack of resistors wired on) and the heatsinks in place.
Then I'll find a neater box to mount it all in and all should be set to go.


PCB Design Complete

Well, after a long fight of finding appropriate software and then design I've finally sent off the final (if not entirely messy) design to the manufacturers...

Sure, it's not as small as I would have liked... but it's all set in stone now. I should see 8pcs on my doorstep in around a fortnight and then I can finally produce a finished product.
I can't wait actually... Last weekend I tested the final prototype on my own layout... which really only allows for around 3 trains running (one on a branch, one stuck in a siding and one on the main) and my battery ran out on the laptop before I had a chance to fully test it all out... either way, the quick test ran perfectly on all accounts:

I also purchased two DCC Accessory Decoders from eBay. I coded those in to trainControl (you'll see a few little squares above the console messages and below the train throttles) and they work great. Unfortunately they cannot be wired directly to the Kato UniTrack points (you'll need to wire a few relays in between) but I'm told work well on the Peco points. I didn't get to test them at the time.

The DCC Accessory Decoders did require me to do a bit of fine tuning on the Booster circuit though; it turns out they suck quite a bit of current on power-up to charge their little capacitors. This meant that the initial current draw on the booster was exceeding the trip circuit and the whole system would not power on.
After a little help the 1K2 resistor providing the op-amp comparison voltage was incremented to a 1K4 and everything worked fine.
This made me realise that the circuit will have different requirements for different layouts and so the final design will now incorporate a trimpot (initially set to 1K4) that can be user adjustable [but WILL void warranty] for 'expert users' to adjust.
Anyway... the work continues... everything is now set. I'm quite proud of the entire system and I can't wait to see the final circuit boards!
UPDATE: The boards are already done and on their way (priority) to me... thanks to Silver Circuits!


DCC Booster Prototype Mark II

Ok, hot off the development 'floor': the Booster Prototype 2.
This now includes short-circuit protection! The final design will have 2 outputs (for two separate segments of track) at 3Amp each (depending on power supply capabilities.)

There are now 4 status LEDs (Supply Power, Data, Overload, Track Power/Data)

More to come as I finalise the circuit board design.


Eizan Dentetsu (叡山電鉄) Kirara 900 Decoder Install

[PHOTO OF Kirara 900] I'd bought both the Maple Red and Maple Orange versions of this EMU back in 2006 when I first went to Japan and have always loved the quality and performance.

Since the latest trend has been to DCC all my gear, I had decided that what better candidate next than to do one of these up. It was all quite simple too. The 'power rails' run down each side (internally) of the chassis and after isolating these from the engine I soldered the decoder in.

Firstly I took the thing to bits... I love Kato and their use of clips... everything snaps apart, but you really need to be careful! I nearly broke one clip underneath as you have to squeeze them with a fair bit of force.

After disembowing the engine I soldered it directly to the Decoder as I could easily put it back without having to worry about where the wires ran.

Putting it back in was easy and the next step was to wire up the main power to the copper rails.

There's a pair of LEDs (Red/Orange) at either end and they're wired up in parallel where one is reversed to allow them to switch between reverse/forward marker lights.
This of course, wont work with DCC as you now have one common (single polarity) wire and then two rev/fwd wires... so I ripped one LED out of the board, flipped it around and then had my common.

I then used some very fine-gauge 'winding wire' (used for transformers/magnets) to connect the LEDs up (there was already a resistor in the circuit) since the thicker decoder wiring wouldn't fit under the light shield.
To get the lights in the rear trailer working I ran this wire all the way between the trailers and to the other board, resoldering it in the same way.

I also ran an extra two wires from the 'power rails' in the trailer to the rails in the motor car. Therefore ALL 4 bogies were wired for power pickup and the thing ran like a dream (initially it was a bit sloppy with only the 2 power car bogies picking up the power.)

After programming it to use address 12, it was set to go.
Next is to do my Maple Orange.
...actually, I'll get back to the programming first... I want to have my app able to at least set the addresses on decoders.


trainControl evolves…

After a few more days of work the trainControl application has evolved further:

  • Loading and saving of trains/connection config
  • Resizable
  • Add/Delete trains via interface
  • Connect/Disconnect on the fly

Still more to go... but very functional now...
Download the source here.
Be warned! ... The source is constantly being updated by me and may DESTROY your computer.
I've also considered the next challenge on this project... Handheld control via a GamePark GP2x.


trainControl v0.1 created!

After 3 days of coding/learning/coding-again I managed to whip together a fairly usable *nix console application to control the DCC System.

It is a client for the srcpd service mentioned previously and can control any number of trains.
There's still a fair bit of work to do on it... dynamically resizing windows, mouse input, etc... but I thought I'd post to show some progress.
If anyone is interested the source is here and can be compiled with "gcc -o tc main.c -lncurses -lform -lpanel". continues...


Controlling the Booster from Linux

After losing the source code to my DCC Throttle application I decided it was time to get the whole system controlled from Linux (or, in my case, Debian.)
I'd known that the DDW Server I'd been using was based off srcpd and that they were more-or-less compatible.
After a lot of tinkering (making sure libraries/compilers/etc... were installed) I finally got srcpd compiled and running.
There is a nice web-app to create the required configuration file which is then thrown in /usr/local/etc/ or can also sit in the same directory as long as you specify it.
It seems that you need to make sure that the 'NRMA/DCC Translation Table' is set to '1'. I have a copy of my configuration file here.
Right, now that the server was running I grabbed Telnet and connected to localhost:4303. I attempted to use the same set of commands as I had with DCCThrottle but to no avail... it turns out the version of srcpd I had installed was based on the 0.8.3 srcp specification... much had changed.
Instead of reading up on what I should be doing differently I connected up dtcltiny 0.8.2.

After a lot of tinkering with compilation/libraries/etc... I finally got it installed. On debian make sure you have qt3-apps-dev and libqt3-compat-headers installed... do this with apt-get.
Anyway... I'd done all this on a spare Thinkpad 600E I had lying around (PII 266mhz 256mb RAM) and I'd had a few issues with lag once it was up. I'd turn the headlights off on the control panel and my Twilight Express locomotive would then go dark around 1.5 seconds later. After turning off nearly all debug output I had a relatively stable system... but it does need a lot more investigation.
The next trick will be to investigate building a client on the console... I don't need fancy Xorg to get a gui and an ncurses console app should do. I saw rcsh and rcman and the rest, but python isn't my friend... although it'd be a nice opportunity to learn.
Anyway... all of this was a great learning experience... and I was quite impressed that my old notebook handled Debian and got the locos moving.