sirrobin

Modifying Power Functions to allow more options

Recommended Posts

So I will soon have 4 trains (some with lights), and I have a bunch of track switches. I wanted to mechanize the switches, but I will quickly run out of spaces on my Power Functions channels. Does anyone have any ideas on how to mod a set of Power Functions remotes and IR Receivers to be on four totally new channels?

Share this post


Link to post
Share on other sites

So I will soon have 4 trains (some with lights), and I have a bunch of track switches. I wanted to mechanize the switches, but I will quickly run out of spaces on my Power Functions channels. Does anyone have any ideas on how to mod a set of Power Functions remotes and IR Receivers to be on four totally new channels?

Dont use power functions. Make an electric switch mechanism. It should be fairly easy to make assuming you can find the correct parts. There is a topic on this forum of a custom electric switch design using normal train track. It shouldnt be hard to find. Sorry but I dont know exactly where it is. Title is something like "Electrify your track switches". Something like that. Good Luck!

Wait No, Here it is. http://www.eurobricks.com/forum/index.php?showtopic=52106

Not sure if that comes out as a link or not but should be able to copy and paste. This idea was really interesting and I can see it being very useful for a large layout.

Share this post


Link to post
Share on other sites

You could run your trains on the red channels, and your switches on the blue channels. That would allow you to run trains and 4 switches. depending on how many trains you plan to actually run at a time, you can use 7 channels for switches. I tend to only run one train at a time, so all three of my locomotives are on red (or blue, can't remember which) channel 1, so I have 7 open channels. If I ever get a layout where I can run multiple trains, i'll consider putting some on other channels, but it is not necessary at this time.

Another possible option would be to divide your layout into sections. In thory you could have multiple switches on the same channel so long as they are far enough apart to say be on opposite sides of the room. That would increase the likelyhood of them being blocked by structures or rollingstock or just out of range. I have never tried this however so it may not actually work as planned.

Sal

WFB, WI

Share this post


Link to post
Share on other sites

Spitfire2865 - That's a good idea. Thanks for the link too! I will have to do that.

legoboy3998 - I'm hoping to be able to run four or five engines at a time, or at least be able to without having to turn things off or on. So that only leaves me four or three slots, and I have more switches than that. The distance thing is definitely a good idea though. I may have to test that theory (since that won't require much effort :)). Thanks!

Share this post


Link to post
Share on other sites

You could use Arduino of course, there will be upcoming tutorials in Railbricks about that.

Share this post


Link to post
Share on other sites

Now that I think about it, back when PF was first avaliable, there was talk about a built in way to get upto 64 channels. I have a pDF called "LEGO Power Fuctions RC version 1.20" that seems to give all the specs and technical stuff about the PF system. I wonder if anyone ever looked into the 64 channels thing or not. If I remember right it had something to do with being possible, but it wasn't readily accesabile with the current remotes or something.

Sal

WFB, WI

Share this post


Link to post
Share on other sites

Now that I think about it, back when PF was first available, there was talk about a built in way to get up to 64 channels. I have a pDF called "LEGO Power Fuctions RC version 1.20" that seems to give all the specs and technical stuff about the PF system. I wonder if anyone ever looked into the 64 channels thing or not. If I remember right it had something to do with being possible, but it wasn't readily accesabile with the current remotes or something.

Sal

WFB, WI

I guess the V 1.20 firmware version of the receiver allows access to one additional bit, which was "reserved" before. This results in a total of 16 channels, if I am not mistaken. And in fact I have not seen one remote that actually sets this bit. It is possible with the HiTechnic IR link sensor and a NXT PBrick, but I guess this is getting too far, particularly since the IR link sensor has a very limited range which you need to expand by a separate booster (cheap stuff but some work ...)

You could also cascade PF IR receivers. Mark Bellis has shown that quite some time ago - I believe he still holds the pictures and some text in his BrickShelf folder. @Mark: Wasn't there an EB thread as well? This is getting somewhat expensive though and you need to modify the PF supply line of the "slaves" (C1 and C2 to 9/0V). This should work rather smoothly if you run the "master receivers", which provide the voltage for the "slave receivers", on a slightly higher voltage, e.g., 12V to compensate for the voltage drops along the receivers outputs. The idea is to switch on the master receiver first on ("group channel") and then switch the slaves on/off on the remaining channels.

Regards,

Thorsten

Edited by Toastie

Share this post


Link to post
Share on other sites

Another option would be to simply forego IR control of the points and instead just run extension cables back to some PF switches, that way your IR channels are all free for trains and you can recreate the joy of 12V trains, with their myriad of control wires to hide!

Share this post


Link to post
Share on other sites

Another option would be to simply forego IR control of the points and instead just run extension cables back to some PF switches, that way your IR channels are all free for trains and you can recreate the joy of 12V trains, with their myriad of control wires to hide!

That would be what model railroaders do. Just mount the switches on the front edge of your train table near the switch it controls.

Sal

WFB, WI

Share this post


Link to post
Share on other sites

Arduino could be interesting, but I'm hoping for a lazier route. Oooooh the PF switches are a great idea. It will take me back to my HO days. Thank you all so much!

Share this post


Link to post
Share on other sites

Zephyr that looks great! Do you have specifics/schematics on your switching apparatus? I looked at your link, but could not find any (or I'm just blind, which is possible). I see medium motors, and a little box. What's in the box? :)

Share this post


Link to post
Share on other sites

What actually is this Arduino that I hear mentioned on this forum every now and then? I have goggled it and looked at the site but its seems a bit technical in spite of claiming to be for artists and hobbyists. It does not seem to actually tell you what it does in simple terms before launching into tech speak which I guess without a bit of knowledge beforehand one has no idea of understanding?

Share this post


Link to post
Share on other sites

Superb consolle Zephyr! :thumbup:

Thanks for the kind words, though as I noted in the original post, it is really just an update of someone else's design.

Zephyr that looks great! Do you have specifics/schematics on your switching apparatus? I looked at your link, but could not find any (or I'm just blind, which is possible). I see medium motors, and a little box. What's in the box? :)

Argh! I did not mention where you can find the switch design. I've just added that in the other thread.

Share this post


Link to post
Share on other sites

What actually is this Arduino that I hear mentioned on this forum every now and then? I have goggled it and looked at the site but its seems a bit technical in spite of claiming to be for artists and hobbyists. It does not seem to actually tell you what it does in simple terms before launching into tech speak which I guess without a bit of knowledge beforehand one has no idea of understanding?

Arduino is basically a combination of a programmable chip (microcontroller) and a set of software libraries to make it relatively easy to program the chip. It is aimed at hobbyists and artists who like to use technology in their designs: think about interactive art, robotics, home automation, etc. (Hobbyists is a broad term right :wink: , AFOLs are hobbyists, people who like to go fishing as a hobby too. This does not imply that AFOLs can catch a fish and fishing people enjoy putting plastic bricks together.)

You need to make your own electronics around the chip (which is most of the time embedded in a board on which you can put so-called shields to make it easier to interface the chip and your own designed peripheral hardware) and write your own program. If you're not into programming and have no affinity with (basic) electronic design, this is probably not the solution for you.

More on-topic:

The Power Functions protocol (version 1.20) specifies an 'address bit' which enables 'extra address space'. According to the accompanying text: "The address bit is intended for enabling an extra set of 4 channels for future use. The current PF RC Receiver expects by default the address bit to be 0."

In other words: there are in theory eight channels (of which the currently available remotes and receivers support four) with two outputs (red and blue). If you would make your own custom remote and receivers, this means you can have an additional eight outputs (4 extended channels with two outputs each). You could use normal LEGO receivers for the first four channels and your own custom ones for the additional four, with your own custom remote. Then again, if you are making custom electronics anyway, there might be more suitable solutions :grin:

Share this post


Link to post
Share on other sites

It would be nice if LEGO would enable the additional channels with a "new" remote. In this topic, the OP mentions being able to program his universal TV remote for PF, I wonder if this could allow accessing those additional channels? Maybe by using the different device selections (i.e. tv, cable, vcr, etc.

Sal

WFB, Wi

Share this post


Link to post
Share on other sites

I think the issue here is that the firmware on the receivers will not be written to understand this extra selection bit? it may be possible that there is an extra link on the circuit board to set this so the current switch selects between the 4 new channels, I have not had a look. To use the Lego remote you would assume they made the same addition i.e an extra link that can be made to set this bit. I have no idea if this is enabled in hardware or more likely a change to the firmware. When i get back i will take a look at the CB, or hunt for an image on line, I am sure one is floating around somewhere.

Share this post


Link to post
Share on other sites

I just came accross this link in which somebody made a custom PF receiver.

About the remote control, I think there are some kind of 'universal learning remotes' which can record and store the signal send by another remote. The problem then is, how to get the signal for the additional four channels into this device...

Share this post


Link to post
Share on other sites

Using the extra channels does not require a new receiver - I've played around with an arduino-based IR transmitter system and was able to control trains using both the standard and extended addresses. I don't remember off hand exactly how it worked, but I think it was something like when you activated the extended addresses in the transmitter, it sent out a signal that told any receivers in range to switch to the extended addresses. So I'd turn on some trains, then turn on the homemade remote that used the extended addresses, and then turn on any trains that did NOT use them. Could use the homemade remote to control the first set of trains and the standard remotes to control the second set. All were using stock Lego receivers.

Share this post


Link to post
Share on other sites

Using the extra channels does not require a new receiver - I've played around with an arduino-based IR transmitter system and was able to control trains using both the standard and extended addresses. I don't remember off hand exactly how it worked, but I think it was something like when you activated the extended addresses in the transmitter, it sent out a signal that told any receivers in range to switch to the extended addresses. So I'd turn on some trains, then turn on the homemade remote that used the extended addresses, and then turn on any trains that did NOT use them. Could use the homemade remote to control the first set of trains and the standard remotes to control the second set. All were using stock Lego receivers.

that's very cool to know, so all you have to do is send out the control bit and your off so as long as you have a strict switch on plan you are away

Share this post


Link to post
Share on other sites

Using the extra channels does not require a new receiver - I've played around with an arduino-based IR transmitter system and was able to control trains using both the standard and extended addresses. I don't remember off hand exactly how it worked, but I think it was something like when you activated the extended addresses in the transmitter, it sent out a signal that told any receivers in range to switch to the extended addresses. So I'd turn on some trains, then turn on the homemade remote that used the extended addresses, and then turn on any trains that did NOT use them. Could use the homemade remote to control the first set of trains and the standard remotes to control the second set. All were using stock Lego receivers.

What kind of signal do you send to have the receivers respond to the extended addresses? The v1.20 protocol as published by LEGO does not show any sequence with such a function and but the document can be interpreted in such a way that this switch to extended address space is possible. I have been experimenting with a custom (gcc-avr based) IR system and would be very interested in using more address space. Could you send me (part of) the Arduino code?

Share this post


Link to post
Share on other sites

What kind of signal do you send to have the receivers respond to the extended addresses? The v1.20 protocol as published by LEGO does not show any sequence with such a function and but the document can be interpreted in such a way that this switch to extended address space is possible. I have been experimenting with a custom (gcc-avr based) IR system and would be very interested in using more address space. Could you send me (part of) the Arduino code?

Sure, when I get a chance I'll show you what I've got. If I don't post in a day or two remind me :)

edit: Here's the spec document from Lego explaining the whole PF IR system: http://ebookbrowse.c...0-pdf-d21954919

There's a section in there on extended mode. Basically, there's a toggle command that tells any PF receivers that see it to switch to the extended channels. Sending the command again switches them back. So to have trains run in both modes (so you have 16 total channels of control), you'd have to turn on the receivers that you want to be in extended mode, send the command, and then turn on the rest of the receivers.

In my train remote, I'm using a saitek throttle quadrant. That has 3 levers that I use as throttles, and then I replaced the buttons with toggle switches which I have controlling forward/reverse. I wrote my program so that if the toggles were in a specific configuration when the remote turns on, it sends that toggle command and then operates itself in extended channels. Otherwise, the remote does not send the toggle command and operates in the normal channels.

My remote is mostly working - I never got the actual IR transmitters to be powerful enough (not sure whether my Ir LEDs were the wrong wavelentgh, or I fried something in my amplifier circuit, or what) but I was able to hack another IR device to be my IR source. Just haven't had time to quite finish the project. Once I do I'll be posting it in detail here for sure! In the meantime, let me know if you have any other questions.

Share this post


Link to post
Share on other sites

I guess the V 1.20 firmware version of the receiver allows access to one additional bit, which was "reserved" before. This results in a total of 16 channels, if I am not mistaken. And in fact I have not seen one remote that actually sets this bit. It is possible with the HiTechnic IR link sensor and a NXT PBrick, but I guess this is getting too far, particularly since the IR link sensor has a very limited range which you need to expand by a separate booster (cheap stuff but some work ...)

You could also cascade PF IR receivers. Mark Bellis has shown that quite some time ago - I believe he still holds the pictures and some text in his BrickShelf folder. @Mark: Wasn't there an EB thread as well? This is getting somewhat expensive though and you need to modify the PF supply line of the "slaves" (C1 and C2 to 9/0V). This should work rather smoothly if you run the "master receivers", which provide the voltage for the "slave receivers", on a slightly higher voltage, e.g., 12V to compensate for the voltage drops along the receivers outputs. The idea is to switch on the master receiver first on ("group channel") and then switch the slaves on/off on the remaining channels.

Regards,

Thorsten

Here is the link to my cascade circuit.

There is approximately 0.2V drop per IR receiver cascaded.

I will be using cables and a switch panel for point motors, leaving the IR channels for trains.

Servo motors make good point motors because they are reliable in moving to a set position without a sensor, hence it is OK for them to be out of reach for an 8-hour show. It won't be cheap though!

I expect I will have some 9V trains (at least one main line) and some PF (the yard and maybe the other main line).

Mark

Share this post


Link to post
Share on other sites

Sure, when I get a chance I'll show you what I've got. If I don't post in a day or two remind me :)

edit: Here's the spec document from Lego explaining the whole PF IR system: http://ebookbrowse.c...0-pdf-d21954919

There's a section in there on extended mode. Basically, there's a toggle command that tells any PF receivers that see it to switch to the extended channels. Sending the command again switches them back. So to have trains run in both modes (so you have 16 total channels of control), you'd have to turn on the receivers that you want to be in extended mode, send the command, and then turn on the rest of the receivers.

There is a newer version of the document: here

I missed the Toggle Address Bit function when I previously read the document. That is a very interesting function indeed! Thanks for pointing that one out!

Share this post


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

  • Recently Browsing   0 members

    No registered users viewing this page.