09/20/13- This is the big enchilada special feature of this project, a luxury splurge-ature to justify this tank project and make it interesting for me. Without it, the project would seem to me like more of that same ol' same ol' jive.
There really isn't a huge choice of RC tank sound and control boards available for online purchase. Maybe that's a good thing, because it limits the amount of exploratory spending. Like my Pzkpfw IV, this project uses the Clark TK-22 board for most of the heavy lifting. I like its mix and implementation of features and its relatively low cost. A big plus is that it's been easy to order from Clark Models. Its sounds are a huge step up from the Heng Long, but not perfect; the acceleration sounds are pitch-shifted, making them sound synthetic.
The Benedini board takes care of that: It produces a very realistic acceleration sound that doesn't sound pitch-shifted. Unfortunately, it costs more than the Clark TK-22 board, so buying both is a real indulgence and it puts expenditures in the neighborhood of an ElMod system. I did consider that option. However, the Clark TK-22 has some great features (like servo-actuated recoil and barrel elevation) that aren't in my ElMod ECO, but are in the ElMod PRO. I might have bought an ElMod PRO if I knew that the servo recoil worked as well as the Clark's. However, I knew that the ElMod battle system wasn't nearly as slick (Even though I wouldn't really use it, I believe that it's an important feature for RC tanks). It really was a toss-up since both systems offered customizable sounds, but neither system was a clear leader in features (more on this later). I went with the Clark/Benedini combination mainly because I was curious about the Benedini card, it being something new and different for me. I ordered the Benedini TBS-Mini and USB Programming cable from Battle Armor RC, the North American distributor based in Canada. Dan was very helpful and shipped very quickly.
What It Is: The TBS-Mini board is tiny, with a slew of 3-pin connectors mounted along one edge and a mini programming button at the other end. One connector is for the loudspeaker (or external amplifier), three of the connectors are inputs from the receiver, one is a pass-through to the ESC, two can control servos or switches and the last two can control four switches (for lighting, muzzle flash, etc.). Of course, it's not quite that simple and straight-forward, and options are available only in certain modes using the configuration program: In the basic "Autostart" mode (as delivered from Battle Armor RC), those extra features aren't accessible or usable, according to the manual. The DBC3 integration taps the power to a much greater extent than is possible with the Clark board, but I'm perfectly happy with the Clark board's other sounds; it's the integration with the special features that would be missed.
The Autostart mode seems designed for folks who don't have spare channels on their receiver and who want to use the TBS-Mini only for the engine sounds. It works by "listening" to what your throttle channel is saying to your ESC. Your receiver sends the throttle channel control info to the TBS card which passes it on to your ESC to drive the motors. The TBS reads the voltage from the receiver and selects which sound file to play (start, idle, accelerate, moving, decelerate, and shut down).
Teaching the Engine Sound Points: You "teach" the TBS-Mini when to do idle and running sounds by positioning the throttle joystick. Pressing the programming button initiates the process and sets the idle point. Move your throttle joystick to where your motors are just about to spin before the next beep (about a second later-- this sets the "revving" sound point); move the joystick to full drive speed before the final 3 beeps. Repeat if you're not satisfied. (Setting the "rev" point before the motors turn seems to better model real-world behavior.)
Once it's "learned", bumping the throttle will turn the engine on (if it's off in Autostart mode), rev it, and play through the stages of acceleration, movement, deceleration, and idle according to what you do with the throttle joystick. If it's left idling for 20 seconds, it shuts down.
Startup/Shutdown By Switch: Although it's not obvious from a quick read of the .pdf manuals, a startup/shutdown function can be set up by mapping a spare channel to a switch and connecting it to the second input from receiver (PROP2). Dan of Battle Armor RC set this up for me, configured in the Parameter settings of the card. With this configuration, you don't need to run the card in Autostart Mode, which you may find preferable (as I did). However, to change from Autostart, you need to plug the board into your computer.
Programming with TBS-Flash: The programmability of the TBS-Mini comes from a free program (TBS-Flash.exe, available at the Benedini website) and their USB dongle (not free). The card can store one set of data at a time (with no external micro SD card storage). To change the card's sounds, data has to be copied to the card through the USB dongle using the program. When you buy the TBS-Mini, the distributor sets it up with the sound set you request (and appropriate parameter configuration settings). If you want to change the sounds or parameters yourself, you need the dongle and the program.
The File Types: The data consists of 2 parts: the soundset file (distributed in a proprietary .tbs format) and the parameter file (.tbp) that controls how the card is configured to control its varied functions. The files can be opened and saved from computer and written to the card. The program can read the parameter data from the card, but not the soundset. This is done to protect the sound files from being ripped off for use in another soundcard (kaff, kaff, elmod). You can create your own soundsets by loading 8-bit 22k mono .wav files (like those distributed with an ElMod), but you can't save individual .wav files of a Benedini-provided (free) soundset to pick and choose for a custom soundset. Furthermore, the Benedini-provided free soundsets open in the TBS-Flash program in "Demo" mode, so the sounds have huge variations in volume during playback of the sample in the program. This is done to keep folks from re-recording the individual samples and creating .wav file versions of sounds in the .tbs soundsets. Of course, like any IP protection scheme...
Benedini vs. ElMod Philosophy: I can't help but compare this to the more open architecture of the ElMod. It's a difficult comparison to make because it depends on how much of a gearhead-type you are (do you enjoy doing stuff on the computer or do you just want to plug and play?), and the level of hands-on control you want. The tinkerer type might enjoy the deeper level of control and fussing you can do with the ElMod sounds.
After purchase of the boards, it's also cheaper for the customer to get started immediately constructing soundsets for the ElMod since you can move standard .wav files between your computer and the board with a microSD card and edit the sounds with the (free) Audacity program, and edit the behavior (blaster.ini) with a simple (free) text editor. The ElMod is a full-function card (with ESC and optional battle system board); editing those parameters does require their (not free) dongle. However, editing those parameters are probably something that most folks might not want to bother with (like fine-tuning the drive behavior), since the defaults are perfectly acceptable. In the meantime, anyone can have fun mucking around with their unprotected and free sound files.
The Benedini card is also featured as having customizable sounds, so many folks might expect to be able to do this as simply, not realizing that they need to buy the dongle and are on their own to scrounge for .wav files to mutilate with Audacity if they want custom soundsets. On one level, it's very simple if you're satisfied with being able to move pre-made soundsets in and out of your tank. All you need is the dongle, the program and the soundsets.
Taking full control of the board (beyond its sound functions) requires somewhat of a gearhead mentality. It interfaces with another board, so it requires more technical knowledge to understand its possibilities ("What's all this stuff about encoders?"), so you can explore and make it do cool tricks.
On the other hand, Benedini's great collection of sounds would appeal to anyone who commissions a custom build and who has very little interest in the technical side. From that perspective, its best selling point is that it's a great-sounding board, and using the USB dongle and program it's easy to swap soundsets-- not quite so easy to create your own from scratch. For the tinkerer, the soundset side might seem a bit limited and simple compared to the ElMod, but Benedini board's other stuff is a fresh challenge with intriguing possibilities. If you like exploring the programming options of the er9x firmware of the Turnigy 9x transmitter, you'll enjoy exploring the TBS-Mini parameter settings.
It's a Sound Card, but... For me, the biggest "Eureka!" moment came when I realized that I'd been thinking of the Benedini as merely a sound card, when it's actually an extended function card. Its sound function is the most prominent and easy-to-understand feature, but a good portion of its power lies in its programmability and ability to control switches and servos and link them to sound sequences when triggered. Bear in mind that it's not designed exclusively for tanks, and many RC products don't have multi-function boards like RC tanks. Most have a receiver, an ESC and servos. This board is designed to fill a niche as a special features board, enabling control of the fun, non-essential stuff. It can turn on brake lights and flashing lights, turn on smoke generators, move servos, play sound sequences with startup, loop, and shutdown sounds, etc. Adding this to an RC tank is like adding a second layer of special features on top of the built-in layer of special features: There may be some duplication of functionality, but you can pick what you like best from the expanded choices.
At this time, I haven't explored much beyond the Autostart mode, but it looks like the 12-position encoder mode is where the full potential of the card is available via a generic, universal interface. As near as I can tell, the idea behind this is to have 12 discrete voltage/resistance triggers sent to the card through a channel, which would trigger 12 different sounds/events. The program lets you link sounds and actions in the parameter file; a triggered event might be a sound with a switch turning on a light, or flashing a machine gun, or muzzle flash. Controlling this via a rotary knob and trigger switch grafted onto your transmitter seems a bit clunky to me, but I can imagine that a board could be hard-wired to send those triggers to the TBS-Mini (as I suspect the DBC3 does). I wonder whether you might be able to do something similar using a highly programmable transmitter (i.e., triggering encoder position 8 when the left joystick is at +80)?
Sound Output Through One Speaker: Battle Armor RC has instructions that illustrate connecting the positive speaker output through a 25K resistor to the wiper of the Clark TK-22's volume pot. This lets you play the sounds through the Clark board's amplifier and speaker, saving you space from a single speaker and the convenience of a single volume control pot. It's kinda weird: The Benedini output doesn't respond as tightly to the pot as the Clark's sounds. Turned down low, the Benedini sound overshadows the Clark's; turned up, the Clark sounds overshadow the Benedini's. Consequently, it acts sort of like a balance control. The good thing is that turning it all the way down turns both sounds off.
Sound Output Power and Speaker Choice: Per the documentation specs, the Benedini onboard amp can output 1.2 watts at 8 ohms. The Clark board's output is rated at 3 watts, and its sounds are perceptibly louder than the Benedini. By itself, the Benedini is more than loud enough for indoors, but outdoors I found myself wishing that it had just a little more "ooomph". That was before I replaced the 2-inch speaker with a 4.75-incher. What a huge difference! The Benedini soundset has a lot of low frequency thump and growl that you can't hear with a small speaker. The sonic experience comes alive with a speaker that can reproduce it. Also, the volume difference between the Clark and Benedini board seemed to disappear. I'd tried to order the 5-watt amplifier but it was out-of-stock; with the bigger speaker, I don't really see the need.
Autostart & Auto Shutdown versus Manual Start: Autostart mode can be a little quirky and take some getting used to. The startup sound kicks on when the transmitter is turned on; that's nothing new. However, unlike most tanks, the engine sound shuts down after the tank's been idle for 20 seconds. The engine starts up as soon as you goose the throttle, so that doesn't seem like it should be a problem. The rub is... the startup sound takes a few seconds, but the Clark board is ready to scoot as soon as you move the throttle, so the tank can be moving even before it's started up, or making idle sounds while it's scooting along. Because of the way the Clark board works, this is true for all modes, but in Autostart mode it's more irritating; you expect to wait for startup sounds to finish after turning on the tank/transmitter (as with most RC tanks), but not if you've been idling for more than 20 seconds, the engine shuts down and you suddenly need to move.
Fortunately, it's an easy fix if you've got a spare channel and transmitter switch (and the USB dongle): Change from Autostart to Manual Start. First, connect a switch's receiver channel to the PROP2 input on the Benedini card. In the Flash-TBS program's Parameter tab, the PROP2 Sound type needs to be set to "Function 1/2" and the 2nd Coder Function needs to be set to "Engine Start" to set up the switch. Next, change the Engine Type from "Autostart" to "Man. Start" and write the change to the card. Now, the engine sound can be started up and shutdown with the switch, and the engine won't shut down after idling for 20 seconds. If you turn on the transmitter with the switch off, the engine sound won't start until you flip the switch. If you switch off the transmitter before shutting off the tank, the engine sound will shut down. Cool!
Running Both Engine Sounds? Since I copied my Turnigy 9x's Pzkpfw IV model for this tank, it has a separate switch for starting up the Clark board's engine sounds. At first I thought this was a great way to avoid accidently starting up the Clark engine sound, but I've had some fun deliberately running both at once. It's a purist's nightmare, but good for a WTF laugh. Honest-- it doesn't sound that bad!
Battle System Integration: By itself, the Clark board's battle system has a very solid multimedia presentation: Flashing LEDs, sounds, and motion make it very clear when the tank's been hit. When the tank is knocked out, the engine sound shuts off amidst the flashing LEDS-- It's very clear what's going on. When the tank is "re-spawned", the engine starts back up, so you know you're back in business.
Unfortunately, the Benedini board doesn't integrate with that aspect of the Clark board. It doesn't know when the tank's been hit, or killed. Consequently, the engine continues to merrily chug along, as if nothing has happened. This is unfortunate, but unavoidable and understandable considering that the Benedini is only listening to the output from the transmitter.
At least, all the other clues from the Clark board continue to operate normally; LEDs flash and the tank doesn't move when it's knocked out... even if the Benedini card continues to play the engine sound.
Therefore, for battle, it's worth considering using the Clark engine sounds. In manual start mode, the Benedini engine sounds can be turned off by leaving the Startup/Shutdown switch turned off. This will ensure that you'll only hear the Clark engine sounds which work great with the battle system.
Acceleration Sounds and Modeling Philosophy: I've complained about the Clark board's acceleration sounds as sounding synthetic, and I've thought some more about this issue. I listened to the sound samples at the Beier website (another high-end German sound board) and noticed that quite a few of their sounds had a similar synthetic quality during speed changes as the tank is driven. Those sounds are one of the reasons why I swapped out the King Tiger sound set in my Elefant: Some of the short motor sound sample sounded as if they'd been digitally resampled to play shorter and at a higher pitch, not pulled from a real sample. This isn't something that you notice in the Benedini.
If you compare how the Benedini and the ElMod work, the Benedini appears to have a much simpler model. There are only 6 engine sound files in total, including startup and shutdown. Compare that with the 10-30 acceleration loop samples in an ElMod, plus all the random track squeaks. I don't know how the Clark board works, but I suspect that it changes the pitch/speed of a sound sample to simulate the effect of changing speed.
It appears that the Benedini card does something similar with its moving sound but does an amazing job of transforming it on-the-fly. It transforms the change in pitch that accompanies the change in speed in a way that doesn't sound synthetic at all. It's very impressive, especially if you've heard the individual building blocks of a soundset. Honestly, it seems like magic!
Recordings Don't Do It Justice: I've made a few videos, hoping to showcase the sound but have been frustrated by the fact that they just don't sound as good as it does in person! It's probably due to the particular sound set that's loaded: It's very bassy with little in the way of crisp treble. In the recordings, there appears to be a resonant peak which sounds like distortion, and the result sounds tin-can like. This is with the volume turned fairly low. In person, the bass makes the tank sound powerful and big.
The Barrel Jump Puzzle: There's a peculiar quirk captured in the video. When firing the cannon, the barrel elevation jerks upwards. After about half a second, the barrel suddenly returns to its last position. It took me a day to figure this out so I included all the gory details below. The text narrative evolved from being baffled and describing the symptoms, to proposing a theory or guess, to testing the theory, to reasoning a solution and testing it. Note that I'm fixated on the gearbox vs. servo thing and willing to blame the circuit boards, although a wider view of the symptoms had always pointed to the real culprit and a simple solution. Hint: It's about power, and I believe is preciptated by adding the Benedini board.
At first I thought it was an intermittent mechanical problem from my sloppy prototype-quality installation, like maybe a wire getting caught, or a stuck linkage? After inspecting the installation, I ruled that out. It seemed that something else was going on. From the upwards jerk, it seemed like there might be signal leakage, but the reset behavior looked like servo initialization, like when the tank is first turned on. Firing the cannon sometimes restarted the Benedini sound board. Although it doesn't happen in this video, I'd heard it completely shut down, do a brief initialization beep, and start up after firing the cannon. That's exactly what it would do if it lost power, then regained it.
This led me to suspect that it was brownout from the board suddenly calling for a lot of power. To rule out the smoker-damaged Clark board, I swapped it with the board from my Pzkpfw IV: Same problem, and the damaged board in the Pzkpfw IV worked fine. I didn't install the Benedini board in the Pzkpfw IV so I don't know if the brownout is caused by the addition of the Benedini board.
At the time, I was focused on the servo malfunction. I wanted to replace the servo with a gearbox, but space (especially headroom) would be a problem. In search of a alternative solution, I plugged the servo into a free channel on my receiver. This was mapped to the Hover Pitch pot on my Turnigy 9x, and Slow Up/Down values were set to 4. Turning the pot moves the barrel elevation postion slowly to where the pot is set, albeit without the associated elevation sound.
I further modified the control by mapping the Throttle stick to the same channel, setting multiplex to "Add" and the Slow Up/Down value to "6". Since the Throttle stick (Elevation) is self-centering, pushing the stick up or down moves the barrel up or down from where the pot is set (constrained by the same servo limits), but returns slowly to that position once the stick is released. Moving the stick also triggers the elevation sound. Of course, the main reason for doing this is to retain the standard controls layout: You expect that moving the left stick vertically will control the barrel elevation.
I wish I could say that it fixed the problem, but it didn't. It seemed to not happen nearly as often, but every so often the quirky behavior reared its ugly head. (However, I prefer the modified controls and have kept it that way, which is why I included this digression.)
This better illustrates the problem. First cannon fire, no problem. Second cannon fire, barrel jumps and resets, accompanied by the Benedini board rebooting (the initialization beep is brief, but audible).
It turns out that the problem/solution lies in another area: The battery. I was using a 4200 mAh NiMH battery which works fine in all my other tanks. Once I replaced it with a 7.4v 5000 mAh 25C LiPo, the problem went away. My theory is that the sudden and brief current draw from firing the cannon with a Benedini board installed is more than a standard NiMH can handle, so everything resets. The LiPo battery is designed to deliver large amounts of current at a high rate, which is what this particular setup needs.
I love it when there's a simple solution, but sometimes you waste a lot of time beating the wrong bushes.
PROP 3 09/28/13 - Proportional input channel 3 is "The Final Frontier" of the card, and I knew it would take a solid chunk of time to explore. It's one of those quirky things that's hard to put into instructions, where one thing works when in this mode, but not in that mode: Look at the manual and you'll know what I mean. I can't say that my explanations will fare any better than the manual, because the concepts are complicated.
To distill the essence of problem/what makes it complex: It's all about controls. How do you control so many discrete functions in a generic way? You can either put a bunch of extra switches on your transmitter, or add a special control that's relatively easy to use, or use the existing switches and have a cumbersome control procedure.
First off, tapping PROP3 uses one more receiver channel (my last one!), so one's connected to PROP1 (for throttle), one to PROP2 (for startup/shutdown) and one to PROP3 (for the special stuff).
Encoders: I tried to use the 12-key encoder mode but discovered that the card has to be trained to set the trigger points: You can read/see them in the Diagnostic page of the Flash-TBS program, but you can't edit or set them manually to write them to the card. So unless you have 12 unused switches on your transmitter, or the rotary 12-position encoder, or a home-brew switch-resistor network, you're SOL. I tried training it with an unused pot and the 3-position switch, but ended up with a gnarly, useless mess (but it was fun!). I eventually cried "uncle" and moved on.
Near as I could tell, the only other option was to use the 3-position switch for what's called "3.3 Indirect soundselection 2-Key Coder" in the manual. This works by letting you flip the switch up n-number of times to select a particular sound/function, and flip it down to initiate it. For example, to play sound# 3, flip the switch up 3 times, then flip it down. The manual calls for a momentary contact switch, but the Turnigy's 3-position toggle (ID0, ID1, & ID2) works fine, as long as you return the switch to the center (or else, the sound/function will continue to trigger).
Setting Up the Parameters: Next, the Parameters need to be set up in the TBS-Flash program. In the "Inputs" area, "Prop 3 Input" is set for "RC", "Prop 3 Type" is set for "1st Coder 2-Key".
Then set up the "Coder Function", "1st Coder" with what you want it to do for each of the 12 positions. The first position shouldn't be set for "Engine Start" (default setting) if you're using PROP 2 for that. You can have sounds coupled with Sound Functions, but I kept mine simple. I did try experimenting with servo control, but it seemed glitchy, and interacted with the Clark board's functions-- one problem at a time!
Realistically, I wasn't about to be flipping the switch 12 times to call up a sound/function (too much wear on the switch and my fingers), so I limited mine to 6 positions, in declining order of importance/likelihood of use.
The first three positions trigger squalks and squeaks from ElMod. These are like extra running sounds that are manually triggered as part of your sound "performance". You can load your own fun sounds, but you may find that the Benedini board has much less capacity than you'd like (The Door's "The End" def won't fit).
The 4th position was mapped to play the ridiculously long ElMod King Tiger startup sound set up on the "Sounds" page (I like it, but since it's 40 seconds long, it's strictly a gimmick. It filled the card's storage up to about 95%!).
The other 2 positions control volume up/down: These function more like a balance control between the Benedini and Clark sounds since it only turns up/down the volume output from the Benedini board. The master volume is hard-wired to a pot on the tank. When you set up an overall volume level (indoors vs. outdoors) from the pot, the Benedini board's output can be adjusted to give a proper balance between the engine and cannon sound (for example). This isn't something that you'd be using on-the-fly, so it's accessed via 5 or 6 upward flips of the switch. (Position 7 is an annoying cat meow sound, just for grins.)
None of these are essential functions; more like fun indulgences for the price of a spare switch and channel. If I need them for a better future use, I can reclaim them. Someday, I'll experiment with the switching functions-- I'd like to try setting up a brake light.
(Don't forget to write the parameters to the card.)
Teach the Board: The last thing to do is to "teach" the board. The process is much the same as before, except you flip the switch upwards to set the accelerate point and the full speed point. A brief sound sample plays (instead of a beep) when you set the points. After that, three beeps will sound and the card will restart. Note that you don't have to set the 12 sound positions, and the triggering settings don't show up in the Diagnostic page's PROP 3 Coder positions. The card knows which "teach" procedure to use because of the revised parameter settings (specifically, "Prop 3 Type" set for "1st Coder 2-Key").
If you have trouble with the Prop 2 switch not starting up the tank, flip its switch the other way and re-teach the card.
One last video (I promise!), this time with the new soundset. Again, the recording doesn't do it justice and I'm forced to use a camera without autofocus because the audio is marginally better. Maybe this is just a brilliant way to protect the soundfiles?
The startup sound is a shortened version of the infamous loooong ElMod King Tiger startup. Right after triggering it, I switched on the normal engine startup so that it would be idling by the time the long one finished. The ElMod sound is set up to mute the regular engine sound while it plays. In Audacity, I blended the Benedini idle sound in with the ElMod sound so that it would smoothly transition to the Benedini idle sound when it stopped playing. I set up some of the same odd squalks and squeals that I used in the Elefant, and manually triggered them. The barrel elevation sound is actually a repeating chain squeal that I turned on while I lowered the barrel with a pot. (I deleted some of the dead space in the video where I was deciding what to do next.)
It does feel a bit like a performance since the Prop 3 sounds need to be selected before they're triggered. If you select the wrong sound or function, you can't cancel it; you have to trigger it (or flip the switch some more to an unused slot and trigger it), and try again.
Turnigy 9x setup copied from Pzkpfw IV model, modified for Jagdtiger-specific features (barrel elevation, Prop 3 sounds, Benedini engine start/stop). Momentum on/off removed to use the switch (in preparation for future Benedini board installation in Pzkpfw IV, to make them operate similarly).
Variety is the Key to Forgetting How Things Work: As your fleet of tanks with unique features grows, you may find yourself with an unusual and unexpected problem: Remembering what they do and how they work! Transmitters are generic control devices, and the Turnigy 9x has a bunch of switches and pots that you can map to do things that are unique to the guts of the tank. Some functions use momentary contact switches, while others use latching switches. If you forget that the Benedini switches are momentary contact, you may find that none of the other functions work until you flip the switch back. Switches to control transmitter functions (like dual rate for turning momentum on/off), and turning on independent Pico switches in the tank are position dependent. Consequently, it can be difficult to remember what-does-what if you haven't operated a tank in quite a while.
It goes with the territory. One thing that can help is mapping the same function to the same controls across tanks. Unique functions can be mapped to designated special function switches. If you're really methodical, you can write it down... I think they call that "documentation". (One of the reasons I write these long-winded articles is so that I can look up how stuff works-- trust me, you forget!)
RC TANK INDEX