July 26, 2017
Destroy your enemies from afar with the highest-tech, most advanced foam-flinging machine conceptualized by man.
Versatile, precise ranges of movement and the blaster’s canted flywheel cage allows for marksman-level sharpshooting, while unleashing a wild volley up to seventeen darts-per-second at glass ceiling firing velocities of 150 feet-per-second (requires modifications) makes this turret a weapon of foam destruction, a blaster to be reckoned with.
You want to make an army of your own? Or just pondering the engineering marvels behind this?
Link to Imgur album for all these images
Illustrations not drawn to scale
The blaster can be aimed through a series of stepper motors. One stepper controls vertical movement of the blaster, while the other rotates the base which the blaster is mounted on.
The base of the turret which the blaster is mounted on works like a Lazy Susan. The base is comprised of two platforms. The bottom platform remains stationary, it is the top platform which rotates. A stepper motor has its body attached to the rotating platform, and a rotor, mounted on the shaft, attached to the stationary platform. When the motor is turned on, the shaft will stay still, while the motor will spin. Since the motor is attached to the rotating platform, the entire platform will rotate.
Two vertical towers extrude perpendicular to the rotating base. These towers, parallel to each other, rotate along with the platform they are attached to. The stepper motor controlling vertical aim of the blaster is attached to one of the towers, with its shaft running through the width of the tower and protruding from the other side. A rotor is fitted onto this shaft, and the blaster is attached to this rotor. The other tower has a hole drilled into it, with a flange running through it. The flange is attached to the opposite side of the blaster as the rotor. With this configuration, the blaster can be aimed vertically with the stepper motor, and remains stable using a flange running through the other tower for stability.
Flywheel blasters, electronic blasters relying on darts to be fed into a pair of wheels spinning in opposite directions, similar to an automatic tennis ball machine baseball pitcher, are ideal for this turret. Not only because of their high rate-of-fire, ranges, and firing velocities, but also their simplicity. Darts are loaded up into a magazine, and pushed into the ‘flywheels’ or pair of wheels which propel the darts. The blaster used in the turret, the NERF Hyperfire, uses a conveyer belt with a nub. When this conveyer belt spins, the nub catches a dart and guides the dart into the flywheels. In total, there are three motors: two for the flywheels, and one for the pusher.
Out of the box, flywheel blasters are perfectly able to interface with the Raspberry Pi, unlike their more traditional, springer counterparts (blasters which require the manual compression of the spring as propulsion) which would require much more hardware and a complex mechanical apparatus. There is one problem with flywheel blasters through, they are extremely loud. The flywheels need to be spinning at maximum rotational velocity to result in the highest possible firing velocities. The stock (unmodified) motors also take time to accelerate to maximum rotational velocity, or even a comfortable firing rotational velocity. So the motors can always be revved up, ready to propel a dart, or powered up a few seconds before the actual dart is fired. This turret incorporates the former.
Let’s Robot is an awesome site hosting homemade robots controlled through the internet in real-time. This means someone across the word could control your turret at your next war, or turrets can be set up through the field and controlled from afar. Check them out here.
The best part about this turret, empowering the controller to snipe adversaries from across the world, is thanks to Let's Robot's robot controller. The stepper motors are controlled by the Raspberry Pi through Adafruit's motor HAT, and the the blaster to two relays: one controlling the flywheel motors, and another for the pusher motor. This turret as a whole connects to Let's Robot to make everything controllable through the internet.
If the turret is build according the the ideal description above, the blaster will be able to shoot, but not aim. The stepper motors are inhibited by the motor HAT, which is rated at 1.2A per channel of continuous power. 1.2A is much too little to rotate the blaster itself, let alone the entire turret.
To tackle this problem, I’ve turned to mechanical solutions, instead of electrical. Looking back at it through, an electrical solution, such as motor driver and motor replacement, might have been much easier.
Please completely read the write-up before ordering parts. There is a lot of space for improvisation and creativity, so I didn’t put the exact parts here. Once the general idea of how the turret operates is understood, constructing it will be a breeze.
First, parts of the blaster were removed to lessen the weight, making it easier for the stepper motors to maneuver the blaster. Specifically, the portion of the blaster housing the batteries, four ‘C’ batteries in this case, was relocated from the stock portion of the blaster down the the base area. The entire mass of the batteries still resided on the turret, just in a different area. This relocation of the battery doesn’t directly hinder or help the function of the horizontal stepper, but it certainly does enhance the vertical stepper’s function, speed, and precision by significantly decreasing the amount of mass needed to be rotated.
Even with the large battery removed, the vertical stepper motor was still having trouble precisely aiming the turret in the vertical axis continuously. Instead of the rotor, which is attached directly to the shaft of the vertical stepper, fixed mechanically to the blaster itself, it was dynamically repositioned to allow for an integration of a simple gear setup. The driving gear, attached directly to the shaft of the motor, turns the driven gear which is fixed to the blaster. The driving gear is also the rotor. The driven gear is much larger in diameter than the driving gear, resulting in a decreased speed of the driven gear, but an increase in power. With this simple gear setup, the blaster now rotates vertically. The blaster may rotate slow, but its rotational velocity was sacrificed for the higher power required to rotate the blaster.
To achieve maximum contact yet allowing for easy maintainability and testing of the vertical stepper and its corresponding mechanical parts, a bracket was used. This bracket was attached to the tower on one of the large, flat faces at one point, allowing for the bracket to swing and rotate. The vertical stepper is fastened to the end of the bracket, furthest away from the point of rotation. This configuration of the stepper motor on the bracket allows for the motor or the rotor to be swapped out easily for maintenance and testing. A spring force pushing on the bracket in the direction of the driven gear provides constant contact of the rotor, or driving gear, onto the driven gear.
With the new configuration of the vertical stepper, the blaster rotates perfectly up and down. If oriented correctly, the driving gear can support all the weight of the blaster, so a stabilizing flange is not necessary. Now the horizontal rotation mechanics need to be adjusted in a similar fashion to allow the entire turret to rotate horizontally in a full 360 degrees.
Stepper relocation
Driving the turret from the center requires the most power, but will also grant the most rotational speed. The horizontal stepper, limited by the motor HAT, does not have enough power to rotate the turret. By relocating the horizontal stepper closer the the circumference of the circular rotating platform of the base, the power needed to drive the rotation of the entire rotating platform, which the towers and blaster is also fixed to, is reduced, but the speed of the rotating platform is also reduced. Using the similar basic gear model as the one implemented on the vertical movement, the rotating base itself acts as the driven gear, and the rotor attached to the horizontal stepper as the driving gear. The rotating platform is also still attached to the stationary, lower platform in the direct center, allowing for the center of rotation to still remain at the center of the turret.
Lowered stepper
Because there is an inherent gap between the upper, rotating platform, and the lower, stationary platform, a wheel mounted onto the shaft of the horizontal stepper must be used to drive the rotating platform. The wheel remains in constant contact with the stationary platform, so when the horizontal stepper rotates, the wheel will also spin, running along the stationary platform. This, in turn, will rotate the entire rotating platform.
If the gap between the rotating platform and the stationary platform is quite large, mounting the horizontal stepper directly on top of the rotating platform may not be ideal. The smallest diameter wheel is desired, since it acts as the driving gear as well. When the size of the driving gear is increased while the driven gear diameter remains constant, more work is required to drive the driven gear. To keep the wheel, or driving gear, diameter to a minimum, the horizontal stepper was lowered. The horizontal stepper rests below the rotating platform, but still attached to it.
To maximize performance of the horizontal stepper, the wheel must be in constant contact with the stationary base, and ideally, pressed against it for more traction. The heavy batteries from the blaster, which were removed from the blaster, works perfectly. Mounting the battery tray directly on top of the recessed horizontal stepper keeps a constant downward pressure on the wheel to press against the stationary platform for maximum traction and performance.
Simplified blaster schematics
As stated above, the blaster uses three motors to operate. Two as flywheels, the main method of dart propulsion, and one as a pusher, to feed the darts into the flywheels. These two sets of motors need to be controlled separately: the flywheel motors need to be running at full speed before the darts can be fed in by the pusher motor. Two relays need to be used, one for each set of motors. These relays can be directly controlled with the Raspberry Pi. Luckily, the relays linked above are rated for more than the blaster’s motors, and have built in flyback diodes so. Just connecting the motors and the batteries to the relay, and hooking it up to the Pi according to the schematics above is all assembly required to make it work. The code does the rest. Just a reminder and quick warning: the flywheel motors will always be on, ready to propel a dart. This is because it takes a good 2-3 seconds to fully spin up, or 'rev’, the flywheel motors, so there would be a delay between actual pressing the 'shoot’ button, and actually shooting. This issue can be sold with minor modifications to the blaster. Make sure the relay controlling the flywheel motors is connected to GPIO pin 24 on the Pi, and the relay controlling the pusher motor on pin 23.
To hook this turret up to Let’s Robot, simply download the code here . It’s a modified version of the Let’s Robot controller script. Follow Let’s Robots instructions on installing the video script. Skip the last step, cloning the runmyrobot repository, since the turret code includes all of the runmyrobot code, but a few modifications to control the turret.
If you plan on modifying the Hyperfire, a few adjustments need to be made:
Control the turret here (Not always running)
Full Write-Up also on Let’s Robot’s documention