Wednesday, August 02, 2017

Triggering soundcards with Deltang receivers

Introduction

Since I last wrote blog posts about interfacing Deltang receivers with various soundcards (eg see  Triggering effects on a MyLocoSound card   Installing a Technobots soundcard   Using output pads on Deltang Receivers ), things have changed with some soundcards and some Deltang receivers, and so I felt it was about time I updated these posts and created a new post with the most up to date information.

I have organised this post to, hopefully, cover various combinations of soundcards and Deltang / RC Trains receivers. I cannot cover all possible combinations but have focused on the soundcards and receivers which I have used on my own railway, ie:

Receivers

Commercial Soundcards

DIY sound systems

Hopefully there will be something here which meets your needs - if not directly then maybe the information could enable you to apply the general principles shown here to other soundcard/receiver combinations.


How soundcard effects are triggered

The majority of soundcards require 0v inputs to trigger their special effects (apart from DCC interfaced soundcards). In essence, to trigger an effect (such as the whistle), the input terminal on the card needs to be connected to the negative (0v) terminal of its power supply. This could be done with a simple switch such as a push button, or a reed switch mounted under the loco and operated by a magnet placed on the track.


However, with radio control, it is possible to trigger the effects remotely at any time by pressing a button or flicking a joystick on the transmitter. The receiver in the loco interprets this signal and in some way connects the 0v (negative) supply to the relevant input on the soundcard.


 For example, a servo connected to the receiver could be arranged to press a push-button switch. My friend in Australia (Greg Hunter - Sandstone and Termite Railway) uses servos to operate reversing switches in his locos .......

and servo operated push-button micro-switches for controlling accessories.

Alternatively, it is possible to buy switching units which can be connected to the pins of the receiver to carry out the switching.

By contrast, the great advantage of the Deltang / RC Trains receivers is that they have outputs which can deliver 0v without the need for any external circuitry.


Below are some examples of how various soundcards can be connected to Deltang receivers to trigger onboard effects such as a whistle.


The Deltang / RC Trains Rx65b receiver

 The Deltang / RC Trains Rx65b receiver/controller has fifteen pads which provide outputs and can be used as inputs (eg for sensing when a reed switch has been activated by running over a magnet).

Pads 1- 12 provide outputs of 3.5v or 0v (ground) and are limited to a maximum of 20mA output (but lower is better!). Pads A, B and C are buffered and provide either 0v (ground) when on or are 'floating' (ie disconnected) when off. They can handle currents of up to 2 amps (but lower is better - remember the whole Rx is rated at 2A including the motor!).

The outputs respond to signals sent from various transmitter channels. The way each pad responds to signals can be reprogrammed (see How to reprogram Deltang receivers) but they are provided with a useful set of default values when they are initially purchased.

Since the Rx65b was released in 2014, the default outputs have changed. From November 2015 (version 611-11 - shown by two 11s in gold on the large chip on the circuit board), .........
This is an Rx65b v611-10
This is an Rx65b v611-11
..........  the default outputs on the Rx65b v611-11 suitable for controlling soundcards are:

 Item  Setting   Details
P3 On/Off Ch2, Idle high, 0v when channel is Low, Momentary action
P4 On/Off Ch4, Idle high, 0v when channel is Low, Momentary action
P5 On/Off Ch5, Start high, toggle when channel is Low, Latching action
P9 On/Off Ch3, Idle high, 0v when channel is High, Momentary action
P10 On/Off Ch3, Idle high, 0v when channel is Low, Momentary action
P11 On/Off Ch3, Start high, toggle when channel is High, Latching action
P12 On/Off Ch3, Start high, toggle when channel is Low, Latching action
 P15 (C)  On/Off Ch5, Start disconnected, 0v (on) when channel is Low, Momentary action

To some readers, the above table may look like gobbledegook initially, but with a little explanation, hopefully it will make more sense.

For example, the output from P3 (Pad 3) is normally high (ie gives 3.5v) but when the receiver gets a signal from the transmitter on channel 2, the output changes to 0v until it no longer receives that signal - ie it will deliver 0v while the button is being pressed on the transmitter.

The output from Pad 5 starts off high (3.5v) but changes to 0v when it receives a signal on Channel 5 (eg when the bind button is pressed on Deltang transmitters). It will stay at 0v until Channel 5 (the bind button) is activated again.

Because soundcards tend to operate with an internal voltage of 5v and Deltang receivers have an internal voltage of 3.3v or 3.5v, it is advisable to put a 1k ohm resistor in the leads connecting the output pads of the receiver to the input pads of the soundcard to help prevent excess current being passed from the soundcard to the receiver (see below).

If you have a previous version of an Rx65b, it will need reprogramming to provide 0v outputs (eg see Controlling a Soundcard with an Rx65b ) or you can add some circuitry (eg see Adding a MyLocoSound card to a steam loco (2013) Triggering a soundcard with an Rx65b (2015)) to invert the default 3.5v output to give you 0v to trigger soundcard effects (see How I made a simple transistor switch). 


Connecting the Rx65 to a MyLocoSound (MLS) Universal steam soundcard

The most recent version of the Universal MyLocoSound (MLS) soundcard has five input triggers for:
  • Loco whistle
  • Bell
  • Guard's whistle
  • Safety valve
  • Airbrake pump 
in addition to its digitally created steam or diesel engine sounds which can be either synchronised with the motor voltage or a wheel cam.

Any of the pads which deliver 0v can be used to trigger the MLS card. This is how I have wired-up a MyLocoSound sound card to one of my locos which is bound to a Deltang / RC Trains Tx20 transmitter:
  • Pad C (Channel 5 / Bind button) to soundcard F1 input (Whistle)
  • Pad 3 (Channel 2 / Function button on Tx20) to soundcard F2 input (Bell)
  • Pad 9 (Channel 3 / Direction switch fwd) to soundcard F3 input (Guard's whistle)
  • Pad 4 (Channel 4 / Function button on Tx20 or reprogrammed Inertia knob on Tx22 or Tx24) to soundcard F4 input (Safety valve)
  • Pad 10 (Channel 3 / Direction switch rev) to soundcard F5 input (Airbrake pump)

Here's a video of the set-up in action with my RC Trains Tx20 transmitter which has buttons to energise Channels 2, 3 (direction switch), 4 and 5 (bind button).


Connecting the Rx65 to the MTroniks / Spoerer DigiSounds card

As the name suggests, the MTroniks / Peter Spoerer DigiSounds card uses digitised sounds to emulate the sounds of a diesel loco. The one I use in my locos is the Small Diesel card. Originally intended for boats, it comes in a waterproof housing with standard JST spaced pins for connection. It has two inputs - one to trigger the horn and the other to trigger the engine start/stop effect so the wiring for this is much simpler.
As with the MLS card above, any of the pads which deliver 0v can be used to trigger the sounds but in my IP Engineering 'Jessie' loco, I use the bind button on my Tx22 to trigger the horn and the direction switch for starting and stopping the engine sound. I have therefore used Pad C to trigger the horn and Pad 12 to trigger the engine start/stop effect.
 A short video of the soundcard in action (Please note - in this video I had reprogrammed an Rx65b v611-10 to provide non latching 0v outputs on P12. On the Rx65b v611-11, a latching 0v output is provided by default on P12 and so there is no need to leave the direction switch in the 'on' position. Flicking it 'on' and then off will start the engine sound and then flicking it 'on' and off again will stop the engine sound - I must make another video!)

Connecting an Rx65b to a Dallee DC v3 soundcard

I have two Dallee sound cards installed in my locos, one for steam sounds and the other for a diesel railcar. The wiring is the same for both. This is the Dallee DC v3 steam card. This card has now been superseded by a more recent model but the wiring will be largely similar.

As with all the soundcards shown here, the Dallee DCv3 card needs to be wired up to the battery supply and to the motor leads initially. Once that has been achieved, then various triggers can be connected to the 0v outputs of the Deltang / RC Trains Rx65b receiver.

In my case, I connected the whistle trigger input to Pad C, the cylinder blow-down (or full revs) trigger to Pad 11 and the sounds off trigger to Pad 12.
On a Deltang / RC Trains Tx22 transmitter, this means the whistle sounds when I press the Bind Button (Channel 5 low), the cylinder blow-down sounds when I flick the Direction Switch to the forward position (Channel 3 Low) and the sounds are muted when I flick the Direction Switch to the reverse position (Channel 3 High).

Here's the soundcard in action in my 'Anglicised' LGB Stainz locomotive. Still some slight adjustment needed to sync the chuffs to the motor voltage but it does demonstrate the various sounds in operation.


Connecting an Rx65b to a Phoenix 2k2 soundcard

I was fortunate enough to pick up a secondhand Phoenix 2k2 sound card on eBay for a very reasonable price. It was fitted to a flat wagon with wheel contacts, presumably so it could be towed behind any track powered loco to provide 'portable' sound effects.

When I bought the card, it was programmed with USA diesel sound effects which, of course, were quite inappropriate for my UK based narrow gauge railway and so I sent it off to Phil Partridge who now owns and runs RC Trains. He has the equipment and the wherewithal to reprogram Phoenix sound cards and so he set it up for me with a European steam sound. The whistle sounds quite meaty but I am impressed by the range of additional sounds which this card provides.

It was wired-up to an Rx65b in the usual way but as there are several sound triggers, I set it up so it would work with a Deltang/RC Trains Tx20 transmitter, which has a couple of additional buttons which use Channel 2 and Channel 4.

As can be seen, Pad 3 (Channel 2) is connected to trigger input 13 (bell), Pad 4 (Channel 4) is connected to trigger input 10 (drifting), Pad 9 (Channel 3 High) is connected to trigger input 12 (coal loading) and Pad 10 (Channel 3 Low) is connected to trigger input 11 (water fill) and Pad C (Channel 5) is connected to trigger input 14 (whistle).

This means that when I press the F1 button on my Tx20 transmitter, the bell sounds; when I press the F2 button, the loco chuffs start drifting rather than labouring; when I press the bind button, the whistle sounds; when I flick the direction switch forwards the coal fill sound starts when the loco is stationary and which I flick the direction switch the other way, there is the sound of the loco's water tank being filled.

Here's a video of the loco in action demonstrating all its sounds ......


 The Deltang Rx102 receiver

The Deltang Rx102 is a fairly standard DSM2 receiver which does not has an ESC incorporated on the same board in the same way as the Rx65b. It can be connected directly to servos to operate, for example, the regulator and reverser controls on a live steam locomotive, or can be connected to a third party ESC such as the Brian Jones Mac 5 or the MTroniks Viper Loco 10.

The default outputs from the pins of the Rx102 are for directional lighting (Pins 6 and 7) or servos (Pins 1-5 and 8).

Pins Default setting
Pin1: Ch1 Servo [Throttle]                  
Pin2: Ch4 Servo
Pin3: Ch3 Servo [Direction]
Pin4: Ch2 Servo
Pin5: Ch5 Servo
Pin6: Front light
Pin7: Rear light
     Pin8 (side):              Ch6 Servo

However, to make the Rx102 more suitable for triggering sound card effects, it is possible to reprogram the pins to give 'on/off' (ie 3.1v / 0v) outputs. Unfortunately this cannot be done with a Deltang or RC Trains Tx20 transmitter which is by far the easiest way; the reprogramming has to be done with a Deltang Prog 3 or Deltang Prog 4 programmer module which can be tricky to set-up (for more information see How to reprogram Deltang receivers).


Connecting the Rx65b and an Rx102 to a Technobots Programmable soundcard

The Technobots programmable soundcard was originally developed for use in model boats but is well suited to the production of sounds for small to medium sized narrow gauge diesel locos.


As suggested by its name, the twelve electronically generated default engine sounds can be reprogrammed to create your own tailored versions. It has two inputs, for engine speed and horn. Unlike other soundcards which detect the motor voltage from the ESC, the engine speed is determined by the servo signal from the receiver. As the Rx65b integrates the receiver and ESC on one board, the connection between the receiver and the ESC is internal to the board and not normally accessible. However, Pad 8 mirrors the servo output from Channel 1 and, theoretically, it should be possible to connect the Technobots Progammable Soundcard to an Rx65b using Pad 8 for the engine speed input and, say, Pad C for triggering the horn with the bind button or Pad 12 to trigger the horn from the Direction Switch on the transmitter.


However, I experienced difficulties with this arrangement in my diesel loco. The engine sounds worked well when going forward but were erratic when in reverse. Alan Bond, who developed the Technobots card, found no difficulty in interfacing his soundcard with an Rx65b in this way and so I have included the wiring diagram here in case you have more success. I experimented with other ways to interface this soundcard - so these are shown below.

This approach is probably the most straightforward. A third party ESC (I used a Brian Jones Mac 3) is connected to an RCT/Deltang Rx102. The 'servo' signal from the receiver passes to both the ESC and the soundcard. Pin 5 of the Rx102 was reprogrammed with a Deltang Prog 3 programmer so that it was 'off' (ie 0v) when the bind button (Channel 5) was pressed on the transmitter (see How to reprogram Deltang receivers). This worked well but I was finding that the level of motor control I was getting from the ESC was not as precise as it is from an RC Trains/Deltang Rx65b, particularly at slow speeds. As you may know from various videos of the Peckforton Light Railway (eg , operation and control are very important to me.

Eventually I decided to use a hybrid circuit. An Rx65b and an Rx102 are both bound to the same Selecta channel on my Tx22 - the Rx65b controls the motor while the servo signal from the Rx102 controls the soundcard. A 5v voltage regulator circuit provides power from the 12v supply for the Rx102. Not the most elegant solution, but it works!

Here is the arrangement in action. I used one of the twelve default sounds for this video but subsequently I have tinkered with the sounds in the programmable soundcard to devise an even more rattly, clanking diesel.

 


Interfacing an Rx65b with the sound module from a greetings card

After building and fitting radio control to the diminutive Plate Frame Simplex kit from IP Engineering (see How I constructed a Plate Frame Simplex), I decided to rise to the challenge of fitting it with sound. The main difficulty was, of course, size. I couldn't find a commercially available railway soundcard which was small enough to fit inside. However, I noticed on eBay that the sound modules which are fitted into greetings cards (eg those which play 'Happy Birthday" when they are opened were available quite cheaply - in my case, £1.29 including postage.

In addition to the soundboard, there was a speaker, two push buttons (one to play the sounds and one to record) and a microphone. After recording a suitable diesel engine sound, I removed the batteries, speaker, mike and the record push button and soldered a wire from the mike input to the 'play' button input to make the sound repeat (for more information on the modifications to the module see - How I modified a greetings card module as a soundcard).

Rather than triggering the sound from the Rx65b which could have been done quite easily by connecting any of the pads which give a 0v momentary output to the play button input, I fixed the play button into the roof of the cab on the Simplex. The sound is not exactly high fidelity, but does give the impression of the Simplex motor.

I have not (as yet) found a way of overcoming a half-second pause every 60 seconds as the sound loops back to the start - but for £1.29, I'm not complaining.

As there was still sufficient space, I decided to add a second module with a recording of a klaxon horn. This was wired up to Pad C (Channel 5) of the Rx65b so the horn sounds when the bind button is pressed on the transmitter.

The engine sound diminishes when the horn is sounded which I could improve by adding a couple of resistors to the speaker output leads, but this would reduce the sound of the engine which is already quite soft and so it is another compromise with which I can live, given then overall cost of this sound system.


The Rx61b controller receiver

My Ford(ish) railmotor, bashed from two freelance Andel coaches, was constructed in 2012 and converted to Deltang radio control in 2013. This was before the Rx65 had been developed and so I equipped it with the most up-to-date and sophisticated receiver which Deltang produced at the time, the Rx61b. This had eight output pads in addition to the motor control pads.

Prior to my experiments with soundcards and Deltang's subsequent changes to the way output pads were configured by default, none of the pads provided a 0v output in response to transmitter signals. Those relevant to providing triggers for soundcards were P4 - P7.

Item

Setting Details
P4 On/Off
Direction switch (Ch3)

Item being switched needs current limiting resistor
Switch right for ON (centre/left OFF)

P5 On/Off
Direction switch (Ch3)

Item being switched needs current limiting resistor
Switch left for ON (centre/right OFF)

P6 On/Off
Bind button (Ch5)

Item being switched needs current limiting resistor
ON while button pressed, OFF when released (momentary)

P7 On/Off
Bind button (Ch5)

Item being switched needs current limiting resistor
Toggle ON/OFF each time button is pressed (latching)


These were the settings I used to trigger the events on the MP3 player (see below).

Since 2013, there have been two further versions of the Rx61. The current model (Rx61d), still has eight Pads ......
........ some of which now provide 0v outputs which can be used for triggering soundcard effects directly.

Item

Setting Details
P3 On/Off Direction switch (Ch3)
On when channel is Low, Momentary action
P4 On/Off Direction switch (Ch3)
On when channel is High, Momentary action
P5 On/Off Bind button (Ch5)
Start off, toggle when channel is Low, Latching action
P6 On/Off Ch3
Idle high (3.3v), 0v when channel is Low, Momentary action
P7 On/Off Ch3
Idle high (3.3v), 0v when channel is High, Momentary action
P8 Servo Ch5

If I was using the Rx61d, I would use Pads P6 and P7 for the sounds and P5 for the lighting (see below) .......


Interfacing the Rx61b with a cheap MP3 player for multiple effects

 When I bought my MP3 player on eBay in 2014, it cost just under £5. I see similar ones can now be bought for around £6.50. What is attractive about these players is they include a reasonably powerful amplifier.

The player was dismantled and the sounds were edited in Audacity (a free sound editing program for PC and Mac) and then saved as four separate tracks on a Micro SD card inserted into the MP3 player (for more information see How I used an MP3 player as a soundcard).

 The contacts for the buttons which control moving to the next or previous tracks (and volume) on the MP3 player circuit board were connected via transistor inverter switch circuits to Pad 4 and Pad 5 of the Rx61b. The inverter was required to change the 3.3v output from the pads to 0v (see How I constructed a transistor inverter switch). As there was no separate sound trigger needed for the hooter (it was edited into the tracks for the various engine sounds), Pad 7 was used to switch the interior lighting on and off.

If I used the latest version of the receiver (Rx61d), I would wire up the 'Next' and 'Previous' switch contacts to Pad 6 and Pad 7. There is now no need for the transistor inverter switch as these pads provide 0v outputs when energised. The lighting LEDs would now be connected to Pad 7 as this provides a latching 3.3v on/off output energised by Channel 5 (the bind button on the transmitter)

Whilst the MP3 player sound system is not the most elegant and suffers from a one second pause as the player changes tracks, for less the £10 it is quite versatile in the range of sounds it can produce and the sound quality is better than that provide by the greetings card module.



Conclusion

As most Deltang receivers now provide 0v outputs by default, they are ideally suited to triggering sound effects on most soundcards with a minimum of wiring.

You may have noticed that most of the circuits above include 1k resistors in the wiring between the receiver pads and the sound card input triggers. As Deltang receivers have an internal voltage of 3.5v and most sound cards have an internal voltage of 5v, it is possible that excess current could pass back from the sound card to the receiver. The resistor provides some protection from this potential problem.

This is, by no means, a comprehensive guide to interfacing all types of sound card to all types of Deltang receivers. However, the general principles demonstrated here should apply to most receivers and sound cards.

Although I have checked and double checked the information presented here, it is possible that some errors have crept in. Please let me know if you spot any 'deliberate' mistakes and please feel free to contact me if you have any queries which are not covered in this article.



4 comments:

Brickmodder said...

Have you tried one of those circuit on board (COB) chips with the 4 train sounds? Inputs are triggered high. I'm curious to hear one.
http://www.electronics123.net/amazon/datasheet/sg1m.pdf

GE Rik said...

Not tried one but akways willing to give things a try.

Rik

Brickmodder said...

Another possibility:
https://www.ebay.com/itm/High-quality-WT588D-16p-voice-module-Sound-modue-audio-player-for-Arduino-D/273439660202?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

GE Rik said...

Thanks for the suggestion. Arduino is on my todo list to explore.

Rik