I've been wanting to experiment with the AC commander on some of my post war engines and had an idea I want to try out. I basically want to get rid of this silly business with using the track as an antenna and simply use a Zigbee mesh radio network. Instead of using TMCC or Legacy systems, I would hook my own zigbee radio to the AC/DC commander where the lionel receiver plugs in. My question is what protocols does the AC commander use to communicate with the lionel receiver? Perhaps I'll have to hook up my logic analyzer and reverse engineer it. I basically want to make this an open source project. I guess the lion tech remote control locomotives are similar but not using a mesh network which would allow for any size layout, operation out of line of sight.
Replies sorted oldest to newest
With TMCC, the R2LC board is the interface between the command base and all the motors, sounds and functions inside the locomotive. The R2LC is also what receives the radio signal from the command base.
It sounds to me like you want to replace the R2LC with a different kind of reciever and locomotive interface. It's not impossible but it's also not easy. You would have to develop your own boards or figure out a way to adapt existing boards for use in a model train. Then develop a new user interface.
I thinks this could all be done using arduino or raspberry pi by applying appropriate motor driver boards in the locomotive.
No need to reverse engineer TMCC, the protocols are available.
With TMCC, the R2LC board is the interface between the command base and all the motors, sounds and functions inside the locomotive. The R2LC is also what receives the radio signal from the command base.
It sounds to me like you want to replace the R2LC with a different kind of reciever and locomotive interface. It's not impossible but it's also not easy. You would have to develop your own boards or figure out a way to adapt existing boards for use in a model train. Then develop a new user interface.
I thinks this could all be done using arduino or raspberry pi by applying appropriate motor driver boards in the locomotive.
That is precisely what I want to do, make my own controller, my own user interface, and my own system using a mesh radio network converting any engine into radio control. I want to keep the constant track voltage of 18v or 16v or what ever you want, and utilize the AC commander. The AC commander is a convenient circuit board for operating coil couplers and even more importantly, controlling the AC motor with variable speed from a constant track voltage. The R2LC board communicates to the AC commander... It's this communication protocol I want to know about. I think it is a serial connection, so does it communicate at 9600bps, 8n1? In Bytes? Ascii?
If you know this protocol, you could take any micro controller, be it an Arduino, Atmel AVR, a PIC, or even a system on a chip like a raspberry Pi, and control your train with far more features than Legacy or TMCC allows through the AC commander. A Zigbee radio is a packet radio that costs about 20$ than can be interfaced to an arduino and the like. It supports Mesh networks so you can have unlimited range as you place zigbee radio's in engines, cars, stationary devices etc. Each radio can be setup as a router so they can relay messages to each other. So much better and flexible than any current digital train control out there. I want it to be open source.
No need to reverse engineer TMCC, the protocols are available.
Thanks, however does the R2LC communicate to the AC commander with the same exact protocols, and is it serial as well?
The ElectricRR driver boards control the motor, the RxLC (R2LC or R4LC) takes care of the lights and couplers. (RxLC = Radio Lighting Controller).
After you deep into the project you describe, the motor driver is not complicated and you can make your own. Probably you would be better served with an ACDR or DCDR which is a driver board, without the need for serial comm.
However if you wish to use the AC or DC commander, the baud is 3030, 8, N, 1. the commands are in the published doc in the links provided, only the last byte is on the serial channel from the RxLC.
The ElectricRR driver boards control the motor, the RxLC (R2LC or R4LC) takes care of the lights and couplers. (RxLC = Radio Lighting Controller).
After you deep into the project you describe, the motor driver is not complicated and you can make your own. Probably you would be better served with an ACDR or DCDR which is a driver board, without the need for serial comm.
However if you wish to use the AC or DC commander, the baud is 3030, 8, N, 1. the commands are in the published doc in the links provided, only the last byte is on the serial channel from the RxLC.
Thanks Jon, the ACDR sounds like a possibility, I'll just have to find some documentation on it. It obviously must be more than just a simple electronic E unit.. The 3030 baud is an interesting choice, can't say I've seen anything else use that before.
The ACDR is a AC motor driver board. Very similar to a dual H-bridge motor driver board. It has eight pins: two for track voltage input, two for ac motor output, two for +5vdc pwm motor control, 1 for -5vdc pwm forward motor, 1 for -5vdc pwm reverse motor.
Check out this site:
Go to TMCC for S. Find the AC motor driver board project to build your own. It also details the pin outs from the R2LC.
Something I've thought about is using a Raspberry Pi for controlling trains. Mount the Pi inside the loco with appropriate motor driver board and use the Pi to drive all train functions including sounds. Then using a WiFi network, use remote desktop software to control the Pi from my tablet.
Thank you for the link! Many questions answered! I think I will build my own motor controller, certainly reminds me of a Dual H bridge. The real magic is making my own version of the RxLC board. With an 8 bit microprocessor, should get over 200 speed steps using PWM to the motor controller. The couplers look like they are controlled via triacs acting as a solid state relay.
Hmm, I need to read up on Triacs, only played with Mosfets for driving DC motors. Microprocessors use TTL levels, 0 and 5v (or 3.3) If I have to send -5v to a triac then I have to use level shifting. No biggie
For information on Zigbees.. [url]https://www.sparkfun.com/pages/xbee_guide[/url]
I believe that's a rate derived from the 455khz signal.
So the xbee uses the same frequency as WiFi but is a different protocol and therefore not compatible with 802.11 b/g/n devices.
I don't know for sure but it seems to me that once you create an interface from xbee receiver to locomotive, you could communicate directly to the loco from a xbee equipped computer. No command base needed. In fact, you could use an existing GUI such as JMRI. Just configure JMRI to communicate through whichever COM port your xbee transmitter is connected to.
When's the product announcement?
Next paycheck I may go order some Xbee's and start prototyping.. Better yet, maybe I should crowd source this project. Studying the links provided, it seams all pretty straight forward. I have a cheap Lionel starter locomotive that is dc track voltage only... I think it would be a perfect test bed for trying this out... As for a finished plug and play system that requires no programming from the end user? Ohh boy, now THATS the hard part!
Just ordered the components to build an Arduino shield for this project. First step is the locomotive will move based on a program on the arduino. Next step is to hook an Xbee radio to the arduino for remote control. Third step is to incorporate all the bells and whistles(literally) lol. 4th step is to remove the need for the arduino and go with a dedicated board that combines the equivalent of the R2LC and AC drive board into one.
5th step, add support for railsounds.
Add a step to fit all this into the locomotive!
I built about 10 of the Super-Chuffer boards by hand before I found the guy to do the assembly. Other than the power module and the DIP socket, all the parts are surface mount. You can't make anything reasonably small with all thru-hole parts.