Researching a DCC booster circuit and DCC computer control
Ok, after a miriad of attempts to control my model railroads with computers (parallel port to relays, voltage controls, etc...) I decided it was time to go to DCC... I mean... why not use the rails as a data bus and have all the logic inside the locomotives themselves. I had decided that all the european command stations were too expensive and that I would do as some of the references below have done and just use my computer to push out the 1's and 0's. Anyway, after a lot of trial and error I have a working prototype... but stay tuned for something more production ready.
For starters, here are some good references on homegrown DCC Boosters:
- The DCC Wiki
- Michael Brandt's Site on DCC
- Rod Murgatroyd's Booster (And other circuits)
- Haba's Booster
- Mr Paisley's Booster
After searching online electronic stores for parts, I had noticed that there were two basic circuits in use. One used the L298 H Bridge and the other the LMD18200. As I'd browsed across Michael Brandt's site first, I'd realised that it was only necessary to connect a booster to the computer (and Haba's site confirmed this). Although I'd purchased all the components to make the Parallel port logic board, I've still never actually constructed it since it was much easier to just go direct to the COM1 (and also skip all the assembler programming!).
One weekend-long of wiring and re-wiring produced this... It's recommended to build anything like this first on a breadboard as you get the opportunity to just rip it all back out again when you make mistakes... and after a lot of cooked components and other issues... I finally got it all to work. The circuit uses a 12vAC input but I just skipped the initial AC-DC regulator and used the 12vDC from my computer's power supply. This currently allows around 8vDC to the engine and so I'll be upgrading to something closer to 18vDC input when I get the chance... For now, and it's great for testing, it's better to have lower voltages.
Next, Software...
There are a few options here... many in German and many in Linux. I'd found DDL and realised this was the way to go. It is what Haba had been running and therefore must work. I had severe issues compiling it on debian since the code was old and am still not across C/C++ enough to have gotten it going. I then found the binaries and managed to get something running, although couldn't successfully get a connection. (This was also whilst I was using Rod's circuit and so there could well have been too many variables...)
I then hit gold with DDW (DDL for Windows!). I had a few initial problems working out which port COM1 was and then why there was no action... but once my booster was complete and connected everything just started going... I realised that the server alone is no good... it wont send out data without a client connected... client of choice being RailyPlan v2.0 found on theDDW download page.
Now, I'd bought 2 Hornby R8215 Decoders and, based on forums read online, there seems to have been NRMA DCC compatability issues... Let me tell you that these things are gold. They are tiny, cheap and reliable. I've cooked one quite well and it keeps going... it has even emitted the usual burning-silicon smell a few times (when the motor has shorted) and keeps going. The only issue I've had is that the wires unsolder themselves when it gets tooooo hot. :)
The first decoder was installed in my old-reliable German DB loco (model unknown) and it was too easy. Plastic chassis, minimal wiring... simply spliced in. The decoder defaulted to Address '3' and I had it running in no time. Had no headlights or anything else to wire up, so there was no test of functions, etc... here.
This engine ended up being the old-reliable for a very long time for testing purposes of software, etc... that I was about to write. I believe I'm about to realise how easy this first loco install was compared to the little space that exists in Japanese n-scale engines.
I'm currently in the process of Decoder-ing up my Odoriko 5-Car series and will post again once I have the final story.
What a mess... you can see the breadboard up the back being powered by the computer power supply under the desk and my straight run of track.
June 14th, 2011 - 17:48
Hi this looks interesting, I wish you could share how things are done, I mean what libraries you have used and the compilers and IDEs, because I’m new to this and want to know how to compile and run this application because I found the “form.h” and “panel.h” libraries on NCurses , but need to know how to compile using that..
June 14th, 2011 - 20:41
Nuwan,
Check the post here: http://modelrail.otenko.com/dcc/traincontrol-v0-1-created
It shows you how to compile the code on Linux… what OS are you compiling on?
The basic idea is to include the NCurses libraries… all other includes are just default.
There is then more information and download here: http://modelrail.otenko.com/dcc/traincontrol-evolves
Post in that last topic if you have any more issues :)
Steven.
October 20th, 2011 - 16:53
Hi Did you make the L298 or the LMD18200 Booster? If you made the L298 do you have any schematics or a site where I can reference..?
October 23rd, 2011 - 19:58
Nuwan,
Good luck, my schematic is here (uploaded it for you today)
April 25th, 2014 - 23:03
This is awesome stuff! I’m going to try and replicate that booster. Then make an arduino command center. Thanks for the write up!!