Here are some notes about this robot. It was chosen for the Garden State Council (Boy Scouts of America, NJ) “Robo Camporee” so I built a couple to document common construction problems to give the Scouts a heads-up and also detail what I learned about them. This comes in a kit in either a single or dual robot box and is available from many sources including Amazon, Jameco, etc. Up to four tanks can be used at once. The control is infrared, and the shooting is also done via IR. It’s not a great kit by any stretch of the imagination but it was inexpensive and easy enough for Boy Scouts to build them for a camporee. My plan is to do more experimentation and try making it a better starting point for others.
Manuals for Elenco robots: http://www.elenco.com/support/manuals
Manual for the Titan Tank (from my server):
My 10 year old daughter wanted to know what was in the box, so I offered her the option to build one, which she jumped at. The tools we used include:
- Needle nose pliers
- Small Phillips head screwdriver
- Small flat head screwdriver
- Small diagonal cutters, but a sprue cutter would be better
- Voltmeter, but this was only because I checked batteries and connections on the battery terminals. Not really needed.
- Hobby knife (Xacto or something like it)
Construction Photos, Hints & Kinks
Here’s Megan, ready to start:
Notes for Building the Remote
- You need to almost completely disassemble the remote to install batteries, so put in fresh ones to start.
- On page 2, section 5, picture 1, there is a comment to “Bend down the tag” (tab?) but it implies to do it only on the one side… do both sides.
- The PC board screws down onto these tabs to get power, so don’t bend at a sharp angle… allow some play. If the LED fails to light when you install batteries and turn it on, look to make sure all four tabes are making solid contact with the PC board.
- Same page, picture 3 shows to break off the “tag”. Do it only on this one side, not both.
- There is a red LED on the circuit board. Make sure it’s straight up so that when you instal the top piece on page 4, picture 8, the LED is visible in the hole between the two switches. Ours was bent over and I had to pull the top piece off to fix it.
The robot itself has a pretty decent and complex set of gearing. We hooked the motors to a power supply on my bench and put about 0.8 volts into it so the motors turned slowly and my daughter could see the gearing at work. There are only two motors, so direction of travel and steering is accomplished by changing the direction of these two motors.
We took a break overnight but Megan got back into construction the next day after school.
Our cat Kira was not overly impressed.
Notes for Building the Robot
- Page 11, step 19, be sure to route the wires under the printed circuit board earlier rather than later.
- Same picture. After plugging in both sets of motors, turn on the robot and verify that FORWARD actually goes forward. Reverse the polarity of any motor that is running in the wrong direction.
- As you cut plastic parts from the sprues, it’s sometimes good to use an knife or file to remove the bits of plastic left on the part. In particular, the two small brackets that mount the cannon to the body won’t fit right without being cleaned-up a bit.
The schematics are included. The controller has an EM78P156 microcontroller on it, implying custom code. The main chip on the robot is an EM78P156ELPJ-G microcontroller. One of the robots had the ID removed but the second had a very poor dot of paint on top of the part number that we just rubbed off.
Remote Control Data Stream
SPECIAL NOTE: We have two remotes and two robots. One of the remotes can control either robot, but the other remote can only control one robot. The logic analyzer outputs are from the second remote and it appears to have a slightly too-fast frequency on the IR transmitter, so it’s hit-or-miss as to whether any given robot works with it. Turns out that one modulates at 40 KHz and the other is way-off at 43 KHz.
I tack-soldered two wires to the IR transmitter LED on one of the remotes and connected it to a logic analyzer to decode the data stream.
Each bit starts with a burst of IR energy modulated at about 40 KHz, but one of my remotes modulates at 43 KHz:
Each burst is about .1755 ms, which is then followed by either a long or short gap.
Wide gap width: .7787 ms
Narrow gap width: .43 ms
Some snapshots of data. All four of these were the FIRE button being pressed. The first is while the remote was on channel A, the second on B, etc:
Pulse width modulation, kind of like the RECS 80 code but not quite. Since Elenco used its own processor for this, they probably just took a good idea but didn’t worry about meeting any standards for IR remotes and such.
It looks like each command has 12 bits. Since it’s kind of like RECS 80, I’ll declare (it’s good to be king) that a high followed by a short gap is a 0 bit while a high followed by a long gap is a 1. The king has spoken. At least until someone gives me better information so I can correct my assumptions.
So let’s decode those four FIRE commands for the four different channels:
Channel A: 100011100001
Channel B: 100101100001
Channel C: 100111100001
Channel D: 101001100001
So it appears three bits select the address:
Channel A: ..001.......
Channel B: ..010.......
Channel C: ..011.......
Channel D: ..100.......
I won’t present all the logic analyzer outputs for each of the other commands, but here are the bits sequences for the other four buttons on the remote:
This is much simpler. There are five bits that indicate which button is pressed:
Where AAA are the address bits and the BBBBB bits are the buttons. The first two bits are always 10, there is a 1 between the address and button bits, and finally closing with another 1. Note that multiple button bits can be on at the same time.
When a button is released, at least one message is sent with no buttons pressed, ie, the BBBBB bits are all zero. It seems more than one of these can be sent.
Robot Data Stream
Again, I tacked on two wires to the jack where the cannon’s IR LED connects and then watched the output on my logic analyzer. It’s the same basic command structure as the remote uses, although I didn’t measure modulated frequency of the bits.
This is what is sent when the FIRE button on the remote is pressed and the robot “shoots” the cannon: 101100011001
Address: 110 (different than any combination sent by the remotes)
Button bits: 01100 (can’t be duplicated by the remotes)
I only checked one robot so far and found the protocol is exactly the same as that used by the remote, except that the address is 110 (the controller’s address does not matter) and the button bits are 01100, which indicates both of the buttons on the left side control are pressed, which you can’t normally do because the clear orange rocker switch lets you press only one at a time.