Sunday, August 16, 2009

Visiting the Selfkantbahn - Sunday

It was a long evening yesterday, and I had trouble getting out of bed at first. Reminder to self: If you are not used to drinking beer, do it in moderation...

However, today's the day!

Shortly before 9am we were back in Schierwaldenrath where Christoph and Jan had already prepared the locomotive for the day. There was not much left for us to do so we went inside the car hall for coffee and breakfast. Yup, the two of them did the job of oiling, lubing, and a light polish in less than a quarter of the time it took us yesterday...

The morning was cool, with patchy fog and overcast skies, and by 10am I found myself in the warm cab of the locomotive switching an extra freight car to the tail end of the train. By now I was much more comfortable with the controls and had a blast. I must have been grinning over both ears most of the time. I picked up the freight car, spotted it to the end of the train, and then pulled the train forward into the service area so that the folks in the dining car could comfortably load food and drinks for the day.

It's not trivial to stop the train in a way so that the dining car ends up near the entrance door to the workshop, since from the cab you can't see neither the car in the train, nor the entrance door. All you know is roughly how fast the train is going, and hear over radio how far away the car still is ("two car lengths, one car length, 1/2 car length"). No-one complained, so I guess I stopped reasonably well.

Once the dining car was loaded, we pushed the train back to the platform, uncoupled and topped off water. Then it was back to the coaling platform for refueling and cleaning out the ash box, and my Dad took over to bring the locomotive to the head of the train for the first run of the day. Thomas took some excellent video footage of my switching maneuvers with my camera and I'll post that (and more video footage) once it's edited.

Wolfram showed up shortly before 11am, and immediately started taking pictures. He looked so professional in attitude and attire that I had to clarify with the other seminar participants that, "yes, that's my brother, he lives nearby, and no he doesn't do this for a living". Quite a few passengers filled the platform, and at 11:15am we took off for the first run with Dad at the controls. He did a great job and carefully guided the train to Gillrath. It was very hard to take good photos or decent video footage even from the car behind the engine. The angles are not right and you often wish to be flying next to the train so you can film through the open cab windows.

After the return trip we had a quick lunch since it was almost time for the second run. Bernd took the train down to Gillrath and I brought it back to Schierwaldenrath. I (again) had a little problem with braking when we got to Birgden and accidentally left the brake lever in a slightly open position so the stop in Birgden became ... errrm ... a bit abrupt towards the end. Did I mention that braking is hard? Especially when you try to be gentle to the equipment. Nevertheless, I thoroughly enjoyed the ride. Back in Schierwadenrath, I didn't want to leave the cab, I could have go on and on, but sadly my turn was over.

Wolfram, Dad, and me skipped the 3rd run and had excellent ice cream at the station restaurant instead. While Dad relaxed in the shade, Wolfram and I climbed on the loading ramp and waited for the train to return. It was already time to say Goodbye to Wolfram since he wanted to get back on the road to drive home.

Thomas took the train to Gillrath, and I managed to get back in the cab for the return trip to Schierwaldenrath with Jan at the controls. It's very interesting and enlightening to watch a professional engineer who knows the line by heart, play with the controls, move the locomotive with centimeter accuracy, and just the right amount of steam or braking. It was also another demonstration of how a good team of stoker and engineer can work together in an almost artful dance to feed and care for the machine.

Once we returned we received our certificates and now it was really time to say Goodbye. To the group, to the railroad, the people that cared for us all weekend long, and of course "our" locomotive 20.

On the way home the sounds and sights of the weekend continued to play in my head. It was an awesome experience, and if I lived closer to Schierwaldenrath I would be there more often. Contrary to modern locomotives, steam engines feel a lot more alive, a feeling that is impossible to experience by looking at photos or watching them on TV. If you ever have a chance to see steam engines in operation, ride in a cab, or maybe even, take the controls yourselves, go and you won't regret it.

Friday - Saturday

Saturday, August 15, 2009

Visiting the Selfkantbahn - Saturday

Today I drove a steam locomotive.

The day started with firing up the locomotive. It took about 4 hours from lighting the first firewood in the firebox until steam pressure was within operating range. Meanwhile, stoker ("Heizer") Christoph and engineer ("Lokomotivfuehrer") Thomas explained the very basics how a steam locomotive works, and we had the pleasure of oiling, cleaning, and polishing the locomotive. Yes, cleaning and polishing, too.

After lunch everyone got to move the locomotive within station limits to practice accelerating and braking. There are two mechanisms to control acceleration: Amount of steam sent to the cylinders and amount of steam expansion within the cylinders. The general effect is similar to gears in a car. High gear at high speed uses less gas, but barely has enough torque to get the car moving in the first place. Some steam with little expansion in the cylinders gets the locomotive moving. Relying more on steam expansion in the cylinders once the train is moving saves steam pressure and therefore fuel.

Braking is quite an art. The trains on the Selfkantbahn like most trains use an air brake system which uses air pressure to control brake cylinders in each car. The practical implication for a novice engineer is that contrary to a car,it will take a few seconds for braking to take effect, and the train will keep braking at the given pressure set in the main brake line. When the brake is released only slightly, it will fully release the brakes at each car, and on top of that it will take several seconds for the locomotive to re-pressurize the main brake line. We got to practice this on a demo system in the car hall.

There is also a direct brake system on the locomotive only, which is generally used when the locomotive is moving without a train, or, if we have a train, similarly to a hand brake in the car when going uphill from a full stop: Hold the train in place, while the brakes in the cars are already released.

During my practice run in the afternoon the main brake line overloaded (too much pressure). This caused quite a commotion since it was unclear why this had happened in the first place. I was standing in the locomotive twisting thumbs and making a stupid face, while both Christoph and Thomas got to figure out what happened, and decide whether it's safe to continue the trip. In the end the net effect was that we got to de-pressurize and re-pressurize the brake system.

All in all, I think I did O.K. Under direction from Thomas I brought the train up to speed, slowed down and stopped before railroad crossings, rang the bell, and, to my utmost delight, blew the whistle. The interaction between steam pressure and steam expansion is not yet quite clear to me so Thomas had to guide me a bit, but I think I managed to do a decent job.

It was a hot day, and being in the cab was even hotter with the fire burning like crazy 2 feet before you. The cab was very crowded with stoker, engineer, and two seminar participants, one driving, one trying not to be too much in the way, paying attention to instructions, shoveling coal, or refilling the boiler with water. We went through several liters of bottled water and "Apfelschorle" on each run. Replacing the empty bottles when we got back to Schierwaldenrath became an important chore.

The practice runs happened to be two specials with paying customers from Schierwaldenrath to Gillrath. Yup, the whole, whopping 5.5km of track all the way from one end to the other end of the line.
The first run was booked by a Mazda fan club. Quite a sight when 40 Mazda sports cars along with their owners and respective girl friends enter a railroad museum in their shiny, little cars passing "our" shiny little steam engine.
The other run was for the youth group of a local fire department, as well as a birthday party in one of the cars.

After we returned with the second run to Schierwaldenrath, we had coffee and cake, watched/helped set the fire for the night and left the locomotive in the engine shed for the next day. Later in the evening the group had dinner together, and we had a fun time. The fact that I'm living in California was drawing quite some attention and many questions about life and work especially in comparison to Germany.

Tomorrow I will drive the 13:45 train from Gillrath to Schierwaldenrath, which -- for extra fun -- runs with the locomotive backwards, and therefore the controls will be behind me when looking on the track ahead of the locomotive. I'm curious if Wolfram will be here in time for the 11:15 departure which will be driven by my dad.

Friday - Sunday

Friday, August 14, 2009

Visiting the Selfkantbahn - Friday

We arrived at the main station of the Selfkantbahn in Schierwaldenrath just in time for the start of the seminar. After a brief introduction in the Buffetwagen, we did a tour of the museum, and visited the engine shed where we saw "our" steam engine No. 20 for the first time. She looked a bit dead standing there in the shed with a cold firebox and cold boiler. And I couldn't decide whether I should feel sad, curious, or excited about tomorrow. It didn't quite feel real that tomorrow we will fire up the locomotive and it will come to life.

I'm nervous. After looking at the various levers and manometers in the cab, as well as a brief explanation from Christoph, our stoker for tomorrow, I re-read the explanations how a steam locomotive works. I hope I can get this thing to move once it's my turn, and especially get it to stop...

Later during dinner we received our engineer hats, and had a fun time discussing various railroady topics. The seminar group is quite interesting, and participants come from all over the country. I'm the youngest by far. Dad's the oldest by far. Most are in their fifties. Some came alone, others brought wives or family for moral support.

Saturday - Sunday

Monday, July 27, 2009

Toronto Pearson International Airport


I arrived from San Francisco 70 minutes late. We did make up some time, from the ground delay at SFO. Getting to my connecting gate was simple. Get off the plane from the US, follow the signs to customs, show boarding pass and you are sent through a door into the transit area, walk down a long corridor, and arrive in the international departures terminal. Not even 15 minutes. Very nice, bright terminal, by the way.

Though I think when that airport agent sent me through that door instead of to the passport verification booths right next to it, she mistook my red german passport for a canadian passport. I noticed that a bunch of Canadians around me were sent through the door directly, while everyone else was sent to the passport booths. I didn't have my passport out, so when she saw it was red she just waved me through...

Boarding for Munich starts in an hour.

"We're just missing a fire extinguisher ..."

My flight to Toronto left San Francisco 90 minutes late because ... wait for it ... one cockpit fire extinguisher showed low pressure and they had to exchange it. However, apparently you can't just buy a fire extinguisher easily at an airport.

After waiting for 30 minutes (on the plane...) Air Canada finally located a fire extinguisher at United Airlines. United needed some paperwork processed before they release the fire extinguisher to Air Canada (clearly I'm flying with a banana airline, that can't be trusted to pay its bills). The pilot came on and explained that "the paperwork from United will take 20 minutes or so to process".

Another half hour later, a United technician steps onboard with the bright red fire extinguisher (yay!), pilot explains that they "have the bottle. Now we just need to do the paperwork and we are on our way". We left a mere 30 minutes later.

The cabin crew was very nice about it though, they passed out water, the (very nice) entertainment system was running, and since I have a 4 hour layover in Toronto, I don't mind being late. Though sitting 6 hours in a plane instead of the expected 4.5 is a bit annoying., especially when you know that you have another 8.5 hour flight after that.

Friday, May 29, 2009

Door size label measures the door, not the frame

This weekend I'm going to replace the side door of my garage. I carefully measured the door and opening of the existing door. 31.5 inch wide between the outside of the frame. The rough opening in the wall is 32 inches wide and 81.5 inches high. So far so good.

Yesterday, I went to Home Depot, picked out a door style, and bought the 32x80 inch model, pre-hung, right-hand side. So far so good.

Today I measured the existing door frame again: 32x81.5 rough opening.
I measure the door: 33.5x81.5 ... Huh? Check the sticker. Yup, it says 32x80. Measure the door again: 33.5x81.5 inches.

*sigh*

I should have bought the 30x80 model, like my gut told me to. Another trip to Home Depot coming up. Return the door, buy the smaller version.

Wednesday, May 20, 2009

Nachtisch




Erdbeer-Rhabarber Kompott auf knusprigen Keks mit Schlagsahne. Hmmmm. Lecker.

Sunday, May 03, 2009

Fun with diverted files

I recently wanted to install a new program on grumpy, my MythTV box. apt-get install spat out a bunch of changes and dependencies, but I let it go ahead. What I didn't notice was a coreutils upgrade that was tucked away in the list, and led to the following error


Preparing to replace coreutils 5.2.1-2 (using .../coreutils_6.10-6_i386.deb) ...
Unpacking replacement coreutils ...
dpkg: error processing /var/cache/apt/archives/coreutils_6.10-6_i386.deb (--unpack):
trying to overwrite `/usr/share/man/man1/md5sum.1.gz', which is the diverted version of `/usr/share/man/man1/md5sum.textutils.1.gz'
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/coreutils_6.10-6_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Woah. Now what? After some fumbling around, I gave up for the evening. It was late, I was tired.

This morning I took another look at this. apt-get install -f led to the same error. After some googling and browsing around, I tried


grumpy# dpkg-divert --list | grep md5sumlocal diversion of /usr/bin/md5sum.textutils to /usr/bin/md5sum
local diversion of /usr/share/man/man1/md5sum.textutils.1.gz to /usr/share/man/man1/md5sum.1.gz
grumpy# dpkg-divert --remove /usr/bin/md5sum.textutils
Removing `local diversion of /usr/bin/md5sum.textutils to /usr/bin/md5sum'
grumpy# dpkg-divert --remove /usr/share/man/man1/md5sum.textutils.1.gz
Removing `local diversion of /usr/share/man/man1/md5sum.textutils.1.gz to /usr/share/man/man1/md5sum.1.gz'


Running apt-get install -f again fixed up everything and the queued packages installed.

I didn't really know about how diversions worked before this (though, now that I got to play with them, it's kinda cool), so I'm baffled where this local diversion came from, as all the other diversions in the list are maintained by packages.

Thursday, April 30, 2009

Goats!



Update:
There is a Google blog post with more details.

Wednesday, April 29, 2009

Computer cabinet

Ever since we moved two years ago, "Chef", my file/web server, was sitting in the living room, and various other assorted computers were packed away in the garage.


You might argue, "why do you want to keep so many computers, when you survived for two years without them just fine?" ... Hmmm, good point. I am planning to consolidate a bunch of stuff, e.g redo the storage architecture for MythTV (do I really need 1.5T of RAID1 disk space in the living room, or can/should I split up into a true backend/frontend infrastructure, and combine this with the file server?)


Either way, those servers need to go somewhere and my old rack didn't fit into the train room, so I built a new rack that fits under the layout, and has enough space for those old Sun workstations, and my servers.

Since I still do wood-working near/in the train room, I added doors and dust screens. All the parts are left-overs from other projects:

  • The posts and wheels are from the old rack, and the posts shortened to match the new height requirements.
  • The bottom and top boards are from the tree house project (remember those roof plywood pieces were cut from a 8x4ft board).
  • The plywood for sides and doors was originally installed as cabinet doors in the garage. After one of the previous owners replaced the garage door the rails of the garage door are right in front of those built-in cabinets, so the doors no longer opened (!) One of my first actions in the garage was to take down the doors...


The new cabinet fits under the layout framing with 1/2" to spare, just as planned. When rolled to the middle of the room, I can access both sides of the rack. It's a bit cumbersome because the lower end of the layout framing is at a height of 27", but it works out reasonably well. I don't think I need to access this too often.

Tuesday, April 28, 2009

Ein Baumhaus - selbstgebaut (Teil 2)

Fast fertig. Jetzt fehlt nur noch die Dachpappe.

---

I built this tree house from redwood lumber over the course of 4 days while on vacation a couple weeks ago. The lumber is from Home Depot. Assorted screws and some power tools I was eyeing for a while, I picked up at OSH. The first day was spent with preparing the site, digging holes for the poles, mounting the platform frame to the pressure treated posts and cementing the posts into place. The platform frame is made from redwood 2x6 boards held in place by 4" Timbertite screws.

After letting the cement cure for 2 days, Day 2 was spent on adding two additional floor joists and installing the platform floor. I used Spax 3" screws for mounting the floor. A variable speed, corded 1/2" power drill is invaluable for this. Normally, Spax screws don't need pre-drilling, but it's a good idea to pre-drill when you need to set a screw near the end of a board. I kept the drill in my battery powered drill, so was able to work quickly.

Day 3 saw the cutting of 7.5"x1/2" 8ft redwood planks into slats for the railing. The table saw is awsome for this. I sanded down the rough sawed boards first. The railing is built from 2x4" redwood boards at 2.5ft above the platform floor. I attached the slats using Spax 1 5/8" screws, again pre-drilling the slats, since the screws are close to the end of each slat. Finally, I added the support beams for the roof and cut the rear posts to length, so the roof slopes down towards the fence.

On Day 4 I installed the remaining support beams for the roof, and the plywood. The plywood was cut from two 8x4 boards. I had them cut at HomeDepot to 6x3.5ft and ended up shortening one of them to 6x3ft, so it doesn't stick out too far in the back. The roof support beams are 6ft long and the plywood sticks out all around by about half a foot, giving a bit more shade and space for wrapping around the tar paper.

This was a bit more interesting than I expected. I installed the top plywood piece first, secured it in place with several screws. Then threw the second plywood on the roof, and realized I can't reach beyond the first beam to add screws. Climbing on top of this, with a half secured plywood board in the rear was ... a bit annoying, but I was too lazy to get the ladder out of the garage.
Once the plywood was in place, I cut the rear wall from 6ft redwood fencing boards, sanded them on the inside, and again screwed everything in place. A jigsaw makes cutting openings for the roof beams easy.

All that's left to do is find some reasonably priced tar paper. I need 6x7ft, plus some slack, ~50 sqft. The smallest roll at HomeDepot costs $40 and covers 100 sqft.

Anyone want to share?

Sunday, April 19, 2009

Ein Baumhaus - selbstgebaut

Naja, Baumhaus ist vielleicht etwas uebertrieben, eher wohl Spielhaus auf Stelzen. So oder so, ich hatte diese Woche Urlaub und wollte wenigstens einen Eintrag von meiner Liste streichen koennen.

Montag und Dienstag verbrachten wir mit diversen Handwerkern, die Angebote fuer anstehende Renovierungen im und am Haus abgaben. Mittwoch nach dem Fruehstueck wurde der Bauplan gezeichnet, und dann kam der Grosseinkauf. Zwei Stunden bei Home Depot, eine Stunde bei OSH. Am Abend war es dann beschlossene Sache, dass ich das Fundament aus Zement mache (und nicht Eisenbahnschwellen wie urspruenglich geplant).

Donnerstag baute ich zunaechst den Rahmen der Platform aus 2x6 Redwood, und montierte dann die Pfosten (4x4 pressure treated fir) in die Ecken (mit Timbertite 4" Schrauben). Schoen gleichmaessig ausgemessen, so dass die Platform in jeder Ecke die gleiche Hoehe hat. Was ich nicht bedacht habe war die leichte Hanglage am Zaun, und so musste ich mich beim Lochgraben fuers Fundament hinten etwas verkuensteln damit die Platform in jeder Richtung eben ist. Das letzte Loch war Donnerstag abend mit Zement gefuellt und die Platform und Pfosten provisorisch abgestuetzt waehrend der Zement abbindet.


Samstag ging es dann mit dem Boden der Platform weiter. Ich zog zwei zusaetzliche Spanten ein (2x6 Redwood) und montierte dann den Boden (2x6 und ein paar 2x4), worauf mir aber dann doch tatsaechlich die Schrauben ausgingen (Spax Stainless Steel 3").

Gleich nach dem Fruehstueck am Sonntag ging es nochmal zu OSH um den Schraubenvorrat aufzustocken. Dann ging es Schlag auf Schlag. Die restlichen Schrauben im Boden der Platform kamen rein, dann die Balken fuer das Dach. Nach Bestandsaufnahme der Vorraete stellte ich fest, dass ich zwei weitere 2x4 brauche, um das Dach ordentlich abstuetzen zu koennen. Ein Besuch bei HomeDepot steht auf dem Programm... Fuer das Gelaender habe ich grob gesaegte Redwoodbretter abgeschliffen, zersaegt und verschraubt (mit Spax Stainless Steel 1 5/8"). Fuer die Rueckwand haben die Bretter nicht mehr gereicht, und ein paar muessen noch nachgekauft werden.

Und da steht es nun in unserem Garten, das langersehnte Baumhaus. Naechstes Wochenende sollte alles fertig werden. Rueckwand ran und Dach drauf.

Wednesday, April 15, 2009

Da kommt's hin ...

A high-quality online model railroad magazine

Just came across Model Railroad Hobbyist, a quite nice online only model railroad magazine. Several well-known authors are writing for this magazine, Joe Fugate is an editor. The magazine looks very good, and is well done. The articles are targeted to the serious modeler, and, especially the step-by-step instructions, go into quite some detail. Nice. I wish them best of luck, and hope they succeed financially as well.

Friday, April 10, 2009

A random Link

Every so often one comes across a really well done site, and then it's written in a language you don't speak. Case in point: Avontuur in Miniatuur

The layout is very nice. The quality of the text and pictures is top-notch. I really like the Tips & Tricks section.

... and it's all in Dutch. Thankfully Dutch is close enough to German that I can find my way around, even though its quite a bit of work to muddle through words like "oppervlaktespanning" (surface tension), "afwasmiddel" (dish washing detergent), or "injectiepuit" (syringe). With a little bit imagination and reading the sentences out aloud the meaning often becomes clearer. "Oberflaechenspannung", "Abwaschmittel", "Injector thingie" convey enough meaning to make clear what the author wants to tell me.

Much more fun than using automated translation tools.

...

and if I actually paid attention, I would have noticed the "English" link in the top right corner earlier, though there is much less content in English than Dutch.

Monday, March 30, 2009

M4.3 earthquake near San Jose, CA


This earthquake just happened less than 15km from my house.

What I found interesting (and how I noticed this in the first place), is the chatter in the discussion channels at work went up immediately as the quake happened. Cool.

Also, I didn't notice the waveforms feature at USGS yet.

Sunday, March 29, 2009

What you don't expect to find in a computer

A spider's nest, or ... actually ... I'm not quite sure what this is.



I brought chef outside for the half-yearly dust-bunny cleaning, and was quite surprised when I saw this thing. They yellowy stuff is quite solid and sticks very well to the case. Here's a close-up.

Monday, March 23, 2009

Coffee table 1:160 N track test fitting


I finally managed to make it to The Train Shop in Santa Clara to pick up a few supplies, as well as some N track for the coffee table layout. I'm going to use Code 80 Atlas track, as it's cheap and reliable. The section ends are a bit odd looking. Seems there are some "snap" pieces that would hold the sections together. I'll either live with the look, or "fix" them, but that seems more work than it's worth.

The curves are the minimum radius Atlas offers at 9 3/4" (24.7cm), which is what I used when I planned the size of the coffee table. While wider curves would have been nice, I just don't have the space for a huge coffee table, and it's already quite big as is. Any bigger and I might as well convert the living room into the layout room.


Aside from confirming sizing, I also wanted to see my little Bachmann 2-6-2 Prairie run and see how it navigates the curves. Full score on both counts. The loco looks nice, is extremely quiet (especially compared to my HO Maerklin locos), and runs just fine. It seems it prefers to go forward though, as the speed with tender forward is a tad slower at the same voltage setting. This is an analog DC locomotive. I'm not planning to run the coffee table layout with digital control anytime soon.

Sunday, March 22, 2009

Done with taxes

Phew. I never did my taxes as quickly as this year. 1 day prep-work (basically filing away a year's worth of bills and paperwork) and a long afternoon for the actual return.

Most of the work consisted of copying what I did for last year's return, and TurboTax Online makes this really easy. I've been using TurboTax Online for the last couple years, and every year it becomes more slick and less clunky. I don't miss the videos of the desktop version, never watched them anyways. Don't want to go back to pen and paper either. My situation is complicated enough now, that I'd rather have an accountant do it for me than trying to figure this all out without the guided interview style TurboTax uses.

So, I'm happy the pain is over for now, and I'm curious when the California refund is going to show up in my bank account. There was some rumbling during the recent budget mess that they would delay processing refunds.

Tuesday, March 10, 2009

To use a computer for controlling your railroad or not

Let's face it. I want to build and run my model railroad. I don't want to program a computer and debug all the little problems that pop up when you make things complicated. Over the last few weeks I spent several evenings trying out various free Linux programs for controlling a model railroad (srcpd/spdrs60, jmri, rocrail), and all of them leave something to be desired. Be it the UI (jmri), or communication with the Intellibox (srcpd, jmri, rocrail), or (in)stability of the program (rocrail, srcpd) , or complexity of figuring out how this is even supposed to work (jmri).

Especially since I don't want to do everything on a computer screen. There are parts of my layout where automated control makes sense, especially the hidden staging area. There are several parts (especially tunnels) where feedback sensors make sense, so I can display track occupancy somewhere.

However, I also want my kids to be able to just play with the railroad. Turn on the control station, pick a locomotive with a train and drive it. This is naturally easier if they don't have to fire up a computer and restricted themselves to the visible areas (and the connecting tunnels, of course), and not necessarily venture into the dungeons of staging.

Running trains digitally is a given for me. Even for the relatively short time I had with the few locomotives I converted so far, the experience of actually driving a train over a piece of track independently from everything else that's going on around it has been very positive.

However, doing this on the naked staging tracks and ramps that will be hidden later is not exactly satisfying. There's still quite a bit of work left to do in staging, though it's details. Most of the basic electrical and track work is done.

Now that I finally have most of the parts I need to start building Talheim station, I'm longing for making some progress there, build some scenery, and take a break on the topic of computer control, and ripping my hair out out.

Sunday, February 22, 2009

computer control for model railroads: srcpd & spdrs60

Even as a boy I already dreamed of controlling my model railroad with a computer. At the time I had a Schneider/Amstrad CPC 464 with Z80 CPU, 3 inch floppy drive, and a whopping 256kB (yes, KILO-Byte) memory. I thought about using the Centronics printer port to hook up a bank of relais to control switches and semaphor signals. Little did I know...


Fast forward 25 years. Computer-controlled model railroads are pretty common these days. I still love the idea to have a computer control train movements for background traffic, or when I just want to show off my layout. However, it's so much more fun to actually run a train and do stuff with it, while a computer takes care of background traffic tasks.

Over the last two weekends I hooked up the Intellibox via serial port to an old Dell Latitude laptop (which happens to have a fantastic 1600x1200 pixel display), installed the brand-new Debian 5.0, srcpd, and spdrs60.

srcpd is a middle-layer program that hides the mechanics of connecting to the model railroad and provides a generic TCP interface and protocol ("Simple Railroad Control Protocol").

spdrs60 is a graphical UI that is modeled after a Siemens control tower design commonly installed in the 1970's and 80's in Germany ("SPurplan DRucktasten stellwerk bauart Siemens 60").

Taken together, the photos show the result: I have computer control of my layout, including track occupancy feedback. The screen shows the tracks in hidden staging and the ramps leading to it, including the temporary return loop at the top of the ramp. Occupied tracks are illuminated with red indicators.


At the very top of the panel, just pass the bypass switch, spdrs60 shows a train making its way up the ramp, and if you look closely in the upper photo, it's the blue/beige BR151 with a short freight train in the background.
Staging tracks 3 and 4 are currently empty. Track 2 is also illuminated in red, indicating a train. In the upper photo we can barely see it's a BR86 steam locomotive with a gravel train. Finally, track 1 on the computer is still grey. When I took the photo, I didn't configure the feedback sensors for track 1 yet, so the computer doesn't yet show that track 1 is occupied by the red BR216 with a passenger train.

So far, so good. Under ideal circumstances it all works nicely. I control trains from the Intellibox, and the track illuminations on the computer screen change accordingly. I can even "fly blind" and start and stop trains in the right places with only looking at the feedback on the computer screen (not quite the point of this, but a necessary pre-condition for automating control of hidden staging).

However, I ran into multiple problems, particularly with srcpd and how it interacts with the Intellibox:

  • srcpd (at least in version 2.0.12) has a bug that causes it to crash whenever it receives a locomotive status change (INFO GL) for a loco whose id is in the range srcpd is trying to keep track of. Work-around is to set the GL range to 0, so srcpd doesn't try to keep track and report on loco status changes. Very unfortunate since I will need that functionality.
  • The Intellibox serial line control of srcpd tries too hard to be smart. E.g. it attempts to auto-detect line speed, even though there is a speed setting in the configuration. As a result, if srcpd happens to crash and starts up again, its attempts at auto-detection will yield garbage sent to the Intellibox, which can cause the train last controlled by the Intellibox to get a command to run and cause havoc on the layout. The only work-around I know for this, is for srcpd to be started only once after the Intellibox is powered up, or power-cycle the Intellibox after a srcpd crash. Annoying. I might try to change the code so it does all this smartness only when I configure an "auto-detect" line speed, which I won't :-) just open the darn serial port at 19200 bps and be done with it.
  • The Intellibox spontaneously rebooted twice while experimenting with this, and sometimes shows "=0=" instead of the speed or decoder protocol setting for locos. A power-cycle gets rid of the "=0=" display. I'm not quite sure what this stands for and how to get rid of it without power-cycling.
  • spdrs60 has no "intelligence" for train movements. The raw SRCP protocol needs to be either controlled programmatically, or with typed SRCP commands which is not hard by annoying. The syntax is similar to common ASCII based Internet protocols like SMTP or HTTP. In other words, spdrs60 is useful as a control panel for train movements, but it can't implement an automated control system for the staging tracks. However, I do like the openness and flexibility of the srcpd approach.


Railware is so much cooler than this. sigh.

Yesterday, I came across JMRI which is a different, and apparently quite mature open source software that also supports the Intellibox, at the expense of the generic SRCP middle layer. The UI is substantially more bare bones than spdrs60 and seems to be harder to set up, but JMRI might address some of my problems. It also provides Java libraries I could use for extending functionality, so I'm going to experiment with it next.

Monday, February 16, 2009

Soaked!



It's now raining for more than 24 hours straight. Our backyard is a swamp. There's a lake forming at the edge of the patio. Don't want to leave the house. Brrrr...

Apparently we had a fifth of the season's rainfall this far in the last 24 hours.

Wednesday, February 11, 2009

And there were geese



There's a new soccer field next to Amphitheatre Parkway. Recently, a flock of Canadian Geese decided to make this their resting ground.

Tuesday, February 10, 2009

And there was snow



Snow on the hills around the valley. I always loved seeing this, but this time I had a camera with me and the hills were not shrouded in clouds.

Thursday, February 05, 2009

Maerklin insolvent

Uh oh.

Marklin has filed for bankruptcy protection.

Tuesday, February 03, 2009

Printing a full size track plan in Xtrkcad

Now that construction of hidden staging is almost complete, I'm moving on to building the trackwork of Talheim station and its adjacent industrial areas. There are several challenges for me with this area.

Plan and reality don't quite match. While I'm shocked with how acurate I was able to reproduce the plan of staging, I noticed only very late that the way I laid out the track in the space available is off by about 10cm from plan. That means the upper levels of the layout would need to move by that offset as well. However, Emsingen station has very tight space restrictions due to access hatches in the back of the layout and can't really move in either direction. This means I have to match up plan with reality.

K-Track on cork roadbed. I've never done this before. In staging I used Maerklin's original M-track and just glued corksheets on the ramps. This method is very forgiving and tolerates non-perfect alignment just fine. With K-track, once the cork roadbed is glued to the sub-roadbed, the track actually has to end up in the right place with only a couple millimeters tolerance. Since the track can't really move and I have a tricky switch combination right at the north end of Talheim, I need to be much more careful when installing the cork, so that cork and track end up in perfect alignment in the end. Since the cork forms the base of the track roadbed which will be ballasted later, being careful here will ensure better looks, and better operation later.

Flextrack. I never used flex track before. It's potential uses sound awesome and Maerklin's version is a marvel of engineering (an expensive marvel at that...)
Using flex track I can build the Talheim station in a fairly wide curve and have much more freedom with arranging and connecting the industry trackage.

So, what do I do to get just the right curves in the right position *before* I cut the baseboard from that large 8x4 1/2 plywood board and fit it in the layout?

Print the track plan in 1:1 scale and lay out the track on top of the printout. This way I can bend the flextrack to just the right radius, pin it down, mark it on the board, install the cork, and finally put the track on the cork. I learned this technique from Joe Fugate's video series.

Xtrkcad thankfully supports splitting up the printout into multiple sheets. At first I figured I use the maximum paper size I have available at work and print on that (11x17), but the prints either came out in the wrong orientation or with a Letter size boundary box, or all white with cutting marks in the corners (very annoying...)
I didn't find a way to get around the boundary box problem, so eventually I resorted to just printing on Letter size paper.

Here are the steps to check proper parameters for printing:

  • File -> Print
  • In the Print Dialog, click [Setup]
  • make sure settings are as follows: Printer FILE, Paper Size Letter, Printer None, Format Portrait
  • Click [Ok]
  • In the Print Dialog, verify the settings as follows: Print Scale 1, Page Width/Height 8x11 (21.59x27.94), Page Format Portrait, Print Order Normal, Uncheck Engineering Data
  • Set the remaining check boxes as you like
  • Xtrkcad shows a grid on your track plan, click on the boxes that cover the area you want printed.
  • Since Talheim station is at roughly a 45 angle, I used the Origin X/Y, and Angle textfields to adjust the grid so that two rows of boxes cover the majority of the station area.
  • Hit Print enter a file name. This will produce a Postscript file.
  • Next I used ps2pdf to create a PDF from the Postscript file, which can then be loaded into your favorite viewer for checking.
  • To print to the printer I'm using OS X Preview, or KDE's kpdf and adjust the printer settings to print in grey-scale only. Don't need to waste that expensive color toner...


Overall, I hope the end-result will be worth all that effort...

Online shops for model railroading

There are quite a lot of sites catering to model railroaders. Most have the problem that their online catalog is substantially larger than their in-stock items. Some don't expose whether they have an item in stock or not.

My favorite for Maerklin related pieces is EuroRailHobbies in Vancouver, B.C. Good selection, but they suffer from the "don't show what we have in stock" syndrome. Good personal service, and so far they were able to organize everything I ordered. Good prices, too. However, they are SLOOOOOOOOW. Only one of my orders got shipped the next day, most took 1-2 months to ship (mainly, because they were waiting for a shipment from Germany...). I'm usually not in a hurry, so I don't mind the wait, since their prices are often 10-15% below their US competition.

In the US, of course there is Walthers in Wisconsin, which recently took over distribution services from Maerklin USA. Their Web site is quite messy, and they tend to charge near full retail. I ordered a few things there if I couldn't find the part I wanted elsewhere.

Euro Model Trains has a wide selection of German and American model railroad related brands, a somewhat funky Web site, but they also sell the items from the full Walthers catalog, usually a few bucks cheaper than from Walthers directly (someone explain that to me...) The one order I placed with them has not arrived yet. We'll see how that works out.
Their prices tend to be a bit higher than EuroRailHobbies, but not outrageous.

Somewhat related sites are MicroMark, which specialized on items for the professional modeller, and AllElectronics which has an electronic parts selection geared towards (railroad) modellers. Both MicroMark and AllElectronics have hard to find items like european style terminal blocks (which are much cheaper and more flexible to use than the american counter-parts), or 3M insulation displacement connectors (IDCs), also known as "suitcase connectors".

Finally, for general electronics parts, I like Mouser Electronics and DigiKey. Mouser's online catalog is a bit better organized and really good for browsing. Especially when searching for that specific part you can't quite name.

Do you know other useful model railroading/electronics sites? Add them in the comments.

Monday, February 02, 2009

Model Railroad shops in the Bay Area

Surprisingly, there are quite a few local shops that claim to carry Maerklin.

The Eisenbahn Clinic is a one-man operation in Hollister. Not really a shop, but Wolfgang repairs and modifies locomotives, and does various fine mechanics work.

Hobbytown USA is a franchise chain with a store nearby in San Jose (on Blossom Hill), which, unfortunately, has a very small railroad section (the only good thing there is the magazine stand). Maybe better that way, I might leave quite some money there otherwise, since they are so close. The store in Fremont is supposed to carry Maerklin. Haven't been there.

D&J Hobby in Campbell used to carry Maerklin, both HO and MiniClub (Z). Last time I was there their model railroad department looked rather sad with lots of empty shelves and the same old stuff I've seen a year ago, that apparently they couldn't sell. Even their selection of US brands in HO or N scale was pathetic.

Tom's Trackside Trains in Burlingame is supposed to have Maerklin. When I was in the vicinity a while ago, they were closed, so no idea if they actually do.

Loco Boose Electric Trains in Redwood City is another store I want to check out some time.

Franciscan Hobbies sounds promising with a large selection of brands and stuff in the store. Worth a shot for getting supplies for the living room table...

A quite impressive store for american brands, as well as basic scenery material and other supplies is The Train Shop in Santa Clara. They are a tad on the expensive side compared to buying online, but are local, and have a huge selection of inventory, what else can you ask for. The store is pretty old fashioned, but functional.

Do you know any other model railroad shops in the South Bay or Peninsula? Add them in the comments.

Thursday, December 25, 2008

Frohe Weihnachen!



Merry Christmas and a Happy New Year!

Sunday, November 23, 2008

Hier auch!



Winter's here, too, not only here.

Wednesday, November 19, 2008

Morning on Lake Zurich

Sunday, November 02, 2008

MythTV progress

With a nice 32" wide-screen LCD plain analog TV doesn't look very exciting, so I finally took the plunge and got a Silicondust HDhomerun. Setting it up was a breeze. It's supported since MythTV 0.20. Simply connect to cable and Ethernet, scan for channels (use QAM-256/cable-high) and we are in business.

Recording works, but playback ... oh, boy. That poor Celeron D 2.66 has no chance to show HD content. I went through the motions to update the Nvidia driver, update MythTV to 0.21, scoured the Internet for all the tricks to make XvMC work a bit faster, and I got almost to the point where the choppy audio stayed in sync with the choppy HD video. Bah, no fun.

In the end I replaced the Celeron with a Dual Core E2200 processor. A few data points for comparison: With the Celeron we got occasional hiccups when watching a recording while something else is being recorded, or commflag ran. With the E2200 I recorded two analog channels, and two HD channels, and watched another HD recording in parallel with no problem whatsoever. Neat.

Tuesday, October 28, 2008

Arriving back home in the evening



I'm impressed by the quality of the camera in T-Mobile's G1, given how crappy it's optics look from the outside.

Friday, October 24, 2008

Monday, October 20, 2008

Coffeetable - take 2

It turns out the proportions of the first try felt right only when making the table a mere 10 inches high. That didn't quite work. I need the coffee table to be about 18 inches high, and stretching the legs looked really bad. I don't want the table to grow too big, and found a nicely sized glass tabletop at IKEA. The Granas coffee table has just the right size. ... and it's cheaper than buying just a glass tabletop at a local shop.



Here is my second try. I made the box for the layout slightly higher, so that I can fit drawer, landscaping, buildings, and other items under the glass. I think the new foot arrangement makes the table less bulky, and it should work well in our living room.

Friday, October 17, 2008

Proposition 7 a really bad joke

One would think that Proposition 7, which would require to have 50% of all energy produced in California come from renewable sources would be a good thing. Ballotpedia has a good summary.

The Vote Solar blog has a nice analysis of the actual effects of Prop 7. Furthermore, the vast majority of the renewable energy industry opposes it, too. Even the Sierra Club doesn't like it.

I continue to be amazed at how american politics work.

Thursday, October 16, 2008

Train in a coffee table?

Yes, I'm serious with building a train layout in a coffee table. Here are my constraints:

  • It needs to be a glass table (duh)
  • The glass should cover the whole top of the table (i.e. no exposed wood on the top)
  • It needs to be big enough to allow for a continous run N scale train layout
  • There needs to be more to the layout than just a train on a loop



This is my first try for the table, made with Sketchup. The table is about 10 inches high (25cm), 46 inches long, and 30 inches wide (~120x75cm). The glass tabletop is made from tempered safety glass, so if it breaks it will break into small pieces. Right under the glass is a 10cm high box that will hold the layout. The layout sits on a sliding drawer (not pictured), that can slide out all the way, so if I need to work on the layout I can do so with minimum fuss.

Electronics, transformer, and stuff, would be mounted under the table and connected to the layout with a multi-pin connector, so that it is easy to disconnect the drawer from the table. There would probably be some kind of connector on one side to hook up a tethered control. I'm thinking of using a very basic EasyDCC or Digitrax setup. Controlling switches and whether to use uncouplers is still an open question.

I haven't decided yet what kind of landscaping I'd use either. One option clearly is to leave it fairly bare-bones and build something with LEGO bricks. Or let the kids decorate. Or actually model some pretty landscaping. Maybe a desert theme with an old ghost town, or something that more closely resembles California's Sierra Nevada / Gold country.

Sunday, October 05, 2008

Braking in digital and how my expectations have gone up again

Several Web sites deal with approaches to how to make digital trains stop in front of a red signal. It seems a need that was implemented trivially simple in analog times (isolated section before signal; red signal removes power from section; no power, train stops), somehow fell under table when we entered the digital world. While it is now possible to run multiple locomotives independently on the same section of track, stopping them in some automated fashion at the right place as needed is surprisingly hard.

The standard solution (and most similar to the old analog way) is to use a little module that generates a brake signal in an isolated section. The implementation details vary from system to system, but they all share the property that you have no control over the locomotive until the signal is set to green. At list the loco lights stay on, and the loco decelerates in a somewhat controlled fashion before the signal, which is much better than the analog way. The cost of the brake modules, which can run as high as $40 per module and signal, is steep, too.

Other solutions that track locos with IR or RFID, are even more expensive.

Making matters worse is how most decoders implement the deceleration part: If the brake signal is detected, the decoder gradually reduces the speed by one speed step every 1/nth of a second. This means a locomotive of an express passenger train going full speed needs a longer distance to stop than a slow local freight train. In order to reliably stop both kinds of trains, one needs to size the brake section long enough for the express train to make a stop in front of the red signal. ... Which means the local freight will stop much farther away from the signal, when in reality I want both to slow down and stop before the signal, or even slow down from the advance signal until the "engineer" can "see" the main signal, then creep to the main signal, and stop only if it's still red once we get really close. This is exactly what real trains do to avoid the hassle of first stopping several hundred tons of steel to a dead stop, just to get it going again a minute later.

Yes, given that digital control should be able to give me this behavior, my expectations have gone up ... again.

The only way this actually can work is with using computer control for the trains not under manual operator control. While it's a lot of fun to really "drive" a train around a larger layout manually and do all the right moves, sounds, etc. at the right time, my layout is neither big enough to provide for long train running, nor do I have the space (or interested people) to actually keep traffic up.

The next best thing is to have a set of trains run on a (pseudo) schedule, and control a few of them manually. E.g. swapping out cars from a freight train, run a passenger local, or even switching work in the yard along with deliveries to local industries. This is fun, but I still want the feeling of a busy railroad with train meets, and background traffic, that I enjoyed with my fathers layout as a boy, and not have only one train operating at any one time.

There is actually software that implements the kind of train behavior and control I'm looking for with minimal amount of detection points. Railware substitutes detection points around signals with precisely measured distances of track, and calibrated locomotives. Since the software knows at any point in time how fast a loco is going, and keeps track of occupancy state of the various sections, it can deduce at what location of track a train is, and make them stop within centimeters from arbitrary points on the layout, ... e.g. just before a red signal.

Now that my expectations have gone up, I want the signals to show red behind a train. I want trains to stop properly at that signal. I want to be able to see traffic happening on my layout without me doing anything ... Well, ok, not so sure about that one. I want switches lined as needed. But at the same time I also want to be able to intervene manually at any point in time, and most importantly, I don't want to sit in front of a screen.

There. I said it. And just created yet another money sink.

Yes, I actually don't want to control my switches and signals from a screen. I stare at a screen long enough during my day job. I want the tactile feedback of buttons, switches and knobs to run my trains, not using a mouse.

Some visual feedback about the state of what the computer thinks what train is where and where it's going will still be needed, so there will need to be a screen somewhere. I'm dreaming of a self-built digital enabled control table.
Alternatively, I control switches and signals the old analog way (still using a control table, but not nearly as slick), but then I can also say Goodbye to most of what I wrote in the previous paragraph.

Time to pull out plans of the layout again, and figure out what I need where, and how much it's going to cost me to do all this... Then take a deep breath put it back in the drawer and concentrate on building the coffee table for the living room first...

Tuesday, September 16, 2008

I'm on the map

A little while ago Streetview did a gimmick to celebrate their one year anniversary. They did a special photo shoot of the Google campus with Googlers lined up along the street. It was quite some festive atmosphere.

I'm on two shots. One on Charleston Rd. I'm to the right of the guy in the black pullover raising both arms.


The other shot is on Amphitheatre Parkway. I'm a little bit to the left of that no parking sign on the street.

How did I manage to be on two shots? The Streetview car with the cameras was driving down Charleston Road to Rengstorff and Amphitheatre Pkwy, then headed towards Shoreline Amphitheatre. Between Charleston Rd and Amphitheatre Parkway is Charleston Park. As soon as the car passed, a whole bunch of us ran to the other side of the park and waited for the car to show up again. It was much slower than expected, so we could have walked leisurely over and still made it...

Sunday, September 14, 2008

Catenary installed

I completed installation of catenary on the underground sections that are permanent. I used the old Maerklin parts, since they are very sturdy and easy to install. Later in the visible areas I'm planning to use Viessmann or maybe even Sommerfeldt. Next up, the ramp to the second level, as well as testing automated, digital braking.

---

Die Oberleitung ist nun auf den permanenten Abschnitten im Schattenbahnhof installiert. Ich habe die alte Maerklinoberleitung wiederverwendet, da sie sehr robust und einfach zu installieren ist. In den sichtbaren Bereichen der oberen Ebenen werde ich wohl Viessmann, oder sogar Sommerfeldt verwenden.
Als naechstes ist die Rampe zur zweiten Ebene dran, sowie Experimente mit digitalen Bremsen.

Sunday, September 07, 2008

Evolution of a layout

While I'm working towards getting the complete layout built, I still want to run trains continously, test tracks, learn about this newfangled digital stuff, and experiment a lot with new technologies that were in their infancy when I stopped working on my father's layout many years ago.

The first phase consists basically of the tracks for hidden staging and a loop.



The track closely follows the final layout with the following exceptions:

  • the curve in the lower right corner to the cross-over switch has no elevation
  • the pink track closes the gap to a loop


This setup allows me to test both loco and switch decoders, and get used to the Intellibox. It's also a nice opportunity to set up a temporary programming track, and pull some freight and passenger cars from storage.


The second phase adds a ramp to the second level, as well as the trackage at Talheim station, and the second level connecting tracks. Again, I'm using a short stretch of track marked in pink to allow for continous running.

Lower Level:




Upper Level:


This phase makes the layout substantially more complex, adds K-track for the first time, and allows me to test out train detection techniques, as well as computer control. I can learn about building the ramp properly. At this stage the layout is small enough to easily correct mistakes in how I'm planning to do things, but complex enough to already make for interesting operation. I could even start working on roadbed, or landscaping around the Talheim station.

---

Waehrend ich darauf hinarbeite, die komplette Anlage zu bauen, moechte ich trotzdem Zuege fahren lassen, Gleise testen, und mehr ueber diese neuen digitalen Sachen lernen, die noch in den Kinderschuehen waren, als ich vor vielen Jahren aufhoerte an der Anlage meines Vaters zu bauen.

Die erste Phase besteht im Wesentlichen aus dem Schattenbahnhof und einer Schleife.

Die Gleise folgen dem endgueltigen Layout mit den folgenden Ausnahmen:ns:

  • die Kurve in der unteren rechten Ecke hat keine Steigung
  • das rosa Ubergangsgleis verbindet die Gleise zur Schleife


Mit dieser Anlage kann ich Lokomotiv- und Weichendekoder testen, und mich an die Intellibox gewoehnen. Ich habe auch ein temporaeres Programmiergleis installiert, und kann ein paar Gueter- und Personenwagen ausprobieren.


Mit der zweiten Phase waechst die Anlage in die Hoehe. Ich werde die Rampe in die zweite Ebene bauen, sowie die Gleise in Talheim und die Verbindungsgleise der zweiten Ebene. Wie in der ersten Phase verwende ich ein kurze Stueck Gleis um die Schleife zu schliessen.

Die Anlage ist in dieser Phase um einiges komplexer, und ich verwende zum ersten Mal K-Gleise. Ich kann verschieden Techniken zur Zugverfolgung erproben, sowie Computersteuerung, und noch problemlos Fehler in meinem Ansatz korrigieren. Ich kann sogar anfangen Gleise einzuschottern und die Station in Talheim auszugestalten.

Friday, September 05, 2008

Layout Update

It's been a while since I posted an update on the layout.



I added a 3rd track in Talheim to allow for more interesting switching.