DCC Booster Prototype Mark II
Ok, hot off the development 'floor':
...is 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".
...work 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.


Yass Junction Diary 
