Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

RC Tank Gun Movement


Some years ago I started out to make a set of Plans for the first Tank to go into action, the MK1 British Heavy Tank. These Plans I felt necessary due to the poor information available at the time for modellers to use. This soon, with the persuasion of friends, evolved int o a 1/6 Scale model that is now reaching completion after three years work.

An important and unique feature of these World War One tanks is their lack of a Turret. Instead they had their main armament in two side Sponsons.
This lack of a turret set me a problem, as all the electric workings for RC Tanks allowed only for one Gun and Turret.
Luckily for me a Friend of mine knew of the Pololu range of products and suggested I might be able to find a solution using them to control my sponsons. The solution I went with was to use an Elmod Main Board for my normal tank sounds and features, then take a feed from the Elmod to make ‘both’ Sponsons go through a Firing Routine.

I would like to say at this point that I planned it all out and then just built it… but the truth is one of trial and error, with a quick look at the Pololu Forum every time I hit a brick wall. :blush: :slight_smile:

The solution I went with in the end was a Pololu RC Switch with Digital Output to covert the servo output from the Elmod’s firing circuit into something usable as a signal. This then activates a Subroutine in the Sponson’s Control board to make a Strobe Light in the Barrel flash, then the Barrel Recoil. The gun flash is a Taigen Gun Flash Unit which is activated by a Pololu RC Switch with Relay.
Each Sponson has its own 12 volt supply which it uses for the Gun Flash Unit. This is also dropped down to 6 volts via a Battery eliminator Circuit to power every thing else.

The Main Control Board in the Sponsons is Micro Maestro 6 Channel Servo Controller. With this I operate the Guns Traversing, which runs through a set routine that simply loops around as long as there is power. This I hope at some point I hope to be able to stop & start in the same way as the recoil is activated from the Radio Hand Control.

As a bit of an experiment… as if the whole thing isn’t one big one… I used a Submarine Depth Leveller on the Gun Barrel elevation servo to keep it from getting stuck in the mud as it goes down a ditch. Although a bit twitchy, it works, which is pretty cool for something I thought up and just gave it a go.

I have shown a Radio Receiver in the Wiring Diagram as it is something often asked on the Forum and is another option to an all singing and dancing Elmod Board. Also it is a setup that could be used in Warship turrets or all sorts of projects beyond just Tanks.

The Scripting side of things I did my best with, luckily the Pololu Engineers came to my aid. I got it to as near as I could, I kinda new what it would take, but my coding is just not up to it.

Hope posting this here helps someone like myself when I first started on this project… remember to post anything you learn and your own projects… pass it on!

Kind Regards
Helen x

The STL files for the 3D printed boxes/enclosures can be found here on Thingiverse… http://www.thingiverse.com/HelentheCAD/designs

The Forum post where the scripting was worked out is here… https://forum.pololu.com/t/input-and-subroutines-issues/8442/1

This is the final script I went with… sorry if it’s messy. :blush:

# Sponson Movement LH 
3968 5 servo 6062 4 servo 4850 2 servo 4594 1 servo # set servos to safe start position
numbers: # label to jump to when depth of stack equals 0
10000 delay
4594 4594 4594 4594 5526 5526 4701 4701 4701 4701 5709 5709 5709 6240 6240 6240 5067 5067 5067 5067 5067 4594 4594 4594 4594 
traversing # move gun
DEPTH 0 EQUALS # get depth of stack and compare it to 0
GOTO numbers # add list of numbers to stack if depth equals 0

sub recoil
8000 5 servo 4680 4 servo # gun flashes then recoils
300 delay
3968 5 servo 6062 4 servo return # flash relay reset then gun moves back out into position

SUB traversing # gun movement routine set by stack values
dup 1 servo
1000 # 1 second timing
# check input on channel 0
0 get_position 100 greater_than
recoil # fire gun if > 100
1 delay # delay 1ms
1 minus # subtract 1 from count (1000ms)

College Project RC tank

Two more photos… :smiley:

Here’s a link to the original build on the Landship web site… http://www.landships.net/t53476468/woodworking-issues/

Input and Subroutines issues

Hello, Helen.

Thanks for writing up your RC tank build! We got a big kick out of your Ikea joke on the Landships II forum (Las Vegas is currently building its very first Ikea, which should be open sometime in 2016 - and many of us are definitely excited for it), and its good to have all of your pictures, code, and comments in one place. The link to the troubleshooting thread is a nice touch, too.