Jump to content

Configure an Arduino based accessory decoder


Recommended Posts

I would like to use servos to move points rather than solenoids. Servos are quieter and the movement more realistic. To do this I will construct an Arduino based DCC decoder design I found on the internet.  See the link here _ https://rudysarduinoprojects.wordpress.com/2019/05/13/fun-with-arduino-30-dcc-servo-decoder/.

If I built one of these decoders, how might I be able to configure the DCC addresses I choose for each servo when designing the layout? I've used TrainTech accessory decoders before and they configure easily enough. I just want to be sure there's a way to configure single addresses before I start making the decoder. Anhy help much appreciated.

Link to comment
Share on other sites

Reading the text and viewing the video in your link. The DCC addresses that are used, are set (hard coded) directly into the Arduino firmware using the Arduino programming software [i built the Arduino DCC sniffer (by the same RUDY author) so have some limited experience of using the Arduino programmer and his DCC Arduino sketches].

.

How you actually set the addresses to use in the Arduino were described in overview, in the pages you provided a link for. But you have to follow the link back to the original non Servo decoder version for the detailed 'How to do the Addressing' description.

.

I didn't have to set any addresses with my Arduino sniffer, so I can't give you a 'step by step' instruction, but it is detailed more than adequately in the Arduino decoder project video included in my additional linked page above. The key note to make, is that you don't need to use RailMaster to set the addresses.

.

So the fact that you are using RailMaster [RM] as your controller is totally immaterial. You wont be using RM to programme or configure your home made Arduino decoder. You will only be using RM to operate it. This is no different to using RM to operate a wide range of non Hornby Accessory Decoders.

.

In the track plan, you right click one of the red/green button icons on the points to open the configuration box. Enter the address you want to use. In this case, the DCC address you have hard coded into the Arduino. Then in RM choose the R8247 decoder option.

.

The Accessory Decoder data packet format is part of the NMRA S9 standard, thus both the Arduino DCC sketch and the output of RM using the R8247 decoder choice in the pull down configuration box should theoretically be conformant with each other.

.

PS - I use Servos on my layout (not for points)....they are not quite as quiet as you think. Yes they are quieter than most Solenoids, but the Servo motor is definitely audible as a motor whine. It is just a different kind of noise to that, that a Solenoid makes.

.

PPS - If you have never ever built an Arduino project before and particularly if you have never used RUDY's DCC sketches before. Then you may experience some difficulty loading RUDY's sketches into the Arduino configuration application, such that the DCC sketches are recognised and become selectable for use in your DCC Accessory Decoder project.

.

If this should happen to you, raise a request in this thread and I will provide a link to my downloadable DCC Sniffer documentation. This documentation gives a 'Step by Step How To' that describes with numerous screen shots how to load RUDY's DCC sketch files [which includes his DCC decoder files] into your Windows PC folder structure...... so that the Arduino configuration software can recognise & load them into the Arduino configuration tool.

Link to comment
Share on other sites

The DCC protocol definition for an accessory decoder is fairly simple. To the defined address, it sends a 0 or 1 to indicate, in the case of points, right or left. I can't remember which is which, but if you configure a set of points in your Railmaster Layout diagram to have a Hornby R8247 accessory decoder, then the correct DCC commands should be picked up by your Arduino.

 

Ray

 

You beat me to it again, Chris  😆

Link to comment
Share on other sites

Many thanks Chrissaf, St1ngr4y. Very helpful info - certainly fills the gaps in my knowledge. Fortunately I have a lot of Arduino project development experience having created (among  50 others, mostly not model railway related) a control system for a Hornby turntable. BTW, the design of the turntable is quite good but the manufacturing of it is unbelievably poor for a leading manufacturer. (probably outsourced, that's a sure way to loose control of quality) I spent more time working to free the binding parts of the turntable than I did developing the control system which is controlled by RM-Pro, via a loco definition. I used a different DCC decoder following a U.S. circuit and (probably older than the one used by RUDY) Arduino library. RUDY's example and the library he is using is MUCH easier to code for than the U.S. version.

Re servo noise, I have 29 solenoid point motors and they make a lot of noise (I think) Sure there'll be some noise from the servos but if the action is slowed right down and if mounted in a 3D printed noise deadening holder, this will be more tolerable than the clack clack of the solenoid equivalent.

I guess my main concern was not understanding enough about the NRMA system. As mentioned earlier, I had little trouble using a loco definition (8 function buttons selected 8 turntable positions) but didn't understand how the accessory decoder might interface with RM. 

Finally, thanks again for your timely support, much appreciated.

Paul

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
  • Create New...