Remote-Controlled Tank Rover
About six years ago I built the first version of this remote-controlled tank rover. In recent times I had decided to do a re-build with minor enhancements—and at the same time experiment with an Arduino radio-controlled variant, which would have enhanced characteristics for a more capable rover.
Driving the rover are four Lego M-motors, two on each side, linked to the rear sprockets though a step-down gearing. This provides torque for crossing obstacles at the expense of speed. On the Lego variant these motors are controlled by two infrared receivers, one for each tread; and a standard battery box powers the whole unit. The reason for using two receivers, and not a single one with both channels active, is that there is a current limit of 400 mA on the Lego receivers—using two of them in parallel therefore enables a greater driving current. In fact, 400 mA matches the stalled current of a single M-motor; not sufficient, of course, to manage four at the same time.
The Lego infrared variant has a typical signal range of 10-12 meters in open space, and is expectedly constrained to line-to-sight transmission and reception—which might just suffice for casual use.
The skeleton of the rover is a lightweight frame in the shape of a large H; distributed across its length are sets of independent pivoting bogeys, on which load-bearing rollers are mounted. This allows the bottom surface of the tread to conform to uneven terrain. The weight of the rover is thereby distributed more evenly, yielding better traction.
I had also built a second variant of this rover, replacing the infrared receivers and Lego electronics with an Arduino controller and a 433 MHz radio transceiver. With rudimentary helical antennas, the signal range is expanded to beyond a hundred meters; and with high-gain antennas a theoretical range of a kilometer is possible. At these distances I reckon visibility would become the limiting factor in place of signal range.
A bonus of using an Arduino is that we are able to circumvent the current limit on the infrared receivers; now a maximum driving current of 2.4 A can be delivered. While the rover does not drive any faster, it is certainly much harder to stall. A second Arduino and radio transceiver is used to build the handheld controller for the Arduino variant. I really didn't mean for the controller to be a permanent device, hence the shoddy construction—or perhaps a more honest explanation is just that I was too lazy to make anything neater.
I have compiled a demonstration video for both the Lego and Arduino variants, presented below. The rover is capable to traversing across soil, gravel, short grass, and limited uphill gradients; though it is advisable that guards be installed for the exposed geartrains to avoid clogs.
For those interested, I have written a blog post on the technicalities and behind-the-scenes of the Arduino variant, and also on the programmatic generation of the animations shown. As always, download links for CAD models, building instructions, and programming samples can be found at the links below.