Imagine trying to make a ball-shaped robot that rolls in any direction but with a head that stays on. When I saw the BB-8 droid doing just that in the first Star Wars: The Force Awakens trailer, it was an interesting engineering challenge that I couldn’t resist. All the details for how I made it would fill a book, so here are the highlights: the problems I ran into, how I solved them and what I learned.
I have a good background working with high voltage, which for me means over 10,000 volts, but I have many gaps when it comes to the lower voltage realm in which RC control boards and H-bridges live. When working on my first real robot, a BB-8 droid, I stumbled when designing a board to convert varying polarities from an RC receiver board into positive voltages only for an Arduino.
Today’s question is, how do you convert a negative voltage into a positive one?
In the end I came up with something that works, but I’m sure there’s a more elegant solution, and perhaps an obvious one to those more skilled in this low voltage realm. What follows is my journey to come up with this board. What I have works, but it still nibbles at my brain and I’d love to see the Hackaday community’s skill and experience applied to this simple yet perplexing design challenge.
I have an RC receiver that I’ve taken from a toy truck. When it was in the truck, it controlled two DC motors: one for driving backwards and forwards, and the other for steering left and right. That means the motors are told to rotate either clockwise or counterclockwise as needed. To make a DC motor rotate in one direction you connect the two wires one way, and to make it rotate in the other direction you reverse the two wires, or you reverse the polarity. None of the output wires are common inside the RC receiver, something I discovered the hard way as you’ll see below.
[Niklas Roy] is at it again. Summer time means beer time and what better way for him to distribute beer at outdoor parties than a with an amazingly agile remote controlled beer crate capable of handling rough backyard terrain. With the controller firmly in hand he could even institute a leave-an-empty, take-a-beer policy to speed clean-ups.
We’ve seen awesome beer dispensing robots with all the bells and whistles in the past, from ones that are moving coolers, decapping the beer before handing it off, to BREWSTER the modified roomba who’ll fetch you a beer from a mini-fridge. [Niklas]’ RC beer crate sits at the simplicity end of the spectrum, reminding us of the no nonsense Star Wars mouse droid that wandered the Death Star’s corridors. The beer crate sits on a low wooden platform with a lip added to it to keep the crate from sliding off. Under the platform are your basics: 2-channel RC receiver from a cheap toy car, H-bridges, two windscreen wiper motors and wheels, a LiPo battery, an on/off switch and two casters. For an arcade feel, the RC controller is a modified Competition Pro offering retro joystick steering.
As you can see from the video after the break (with a party-appropriate Metal soundtrack) it’s incredibly stable, moving rapidly over patio stones, from patios stones to dirt and lawn and even up messy inclines. This one’s sure to add excitement to many parties, while keeping party goers well served.
A vise, a hacksaw and file, some wrenches – the fanciest tools [HomoFaciens] uses while building his DIY hardware store CNC machine (YouTube link) are a drill press and some taps. And the bill of materials for this surprisingly precise build is similarly modest: the X- and Y-axes ride on cheap bearings that roll on steel tube stock and aluminum angles; drives are threaded rods with homemade encoders and powered by small brushed DC gear motors; and the base plate appears to be a scrap of ping-pong table. The whole thing is controlled by an Arduino and four H-bridges.
The first accuracy tests using a ball point pen for tooling are quite impressive. [HomoFaciens] was able to draw concentric circles eyeball-accurate to within a few tenths of a millimeter, and was able to show good repeatability in returning to a point from both directions on both the X- and Y-axis. After the pen tests, he shows off a couple of other hardware store tooling options for the Z-axis – a Proxxon rotary tool with a burr for engraving glass; a soldering iron for cutting styrofoam; and a mini-router that works well enough to cut some acrylic gears.
We’re impressed by this build, which demonstrates that you don’t need a fancy shop to build a CNC machine. If you’re getting the itch to jump into the shallow end of the CNC pool, check out some of the builds we’ve featured before, like this PVC CNC machine, or this $250 build.
Class D amps are simple – just take an input, and use that to modulate a square wave with PWM. Send this PWM signal to a MOSFET or something, and you have the simplest class D amp in existence. They’re so simple, you can buy a class D amp chip for $3, but [George] thought that would be too easy. Instead, he built his own with an ATTiny and an H-bridge motor driver. No surprise, it works, but what’s interesting is what effect the code on the ATtiny can have on the quality of the audio coming out of the speaker.
The microcontroller chosen for this project was the ATtiny 461, a part we don’t see much, but still exactly what you’d expect from an ATtiny. The heavy lifting part of this build is an L298 chip found on eBay for a few dollars. This dual H-bridge is usually used for driving motors, but [George] found a home for it in the power section of an amplifier.
The ATtiny is clocked at 16 MHz, making the ADC clock run at 1 MHz. A 10-bit precision conversion takes place, and this value sets the PWM duty cycle. Timer1 in the chip is set up to run at 32 MHz, and by counting this timer up to 1023 gives this amp its PWM cycle speed of 31.25 kHz. That’s right in the neighborhood of what a class D amp should run at, and the code is only about 30 lines. It can’t get simpler than that.
[George] put up a video of this amp in operation, and despite not following the standard design of a Class D amp, it sounds pretty good. You can see that video below.
[Afroninja] is back with another great tutorial on basic electronics. This time around he’s explaining H-Bridge motor controllers and how they work!
Even if you don’t have much (or any) experience with basic electrical circuits, [Afroninja] explains the concept of an H-Bridge motor controller in a clear, concise and easy way to understand. So what’s an H-Bridge anyway? For any project using DC motors, if you want to be able to spin up the motor in either direction, you’re going to need a method to power the motor in two different configurations, i.e. you’re going to have to swap the polarity some how.
The easiest way of doing this is with an H-Bridge. It’s called an H-Bridge… because it’s shaped like an H, with the motor in the very middle. It allows both polarities to control the motor — however if you do it with just plain old switches or relays, you could short the circuit if you try going in both directions at once! To solve this, [Afroninja] explains how to poka-yoke (Japanese term for Idiot-Proof) the circuit, by using transistors which will sink the voltage if you try to abuse the circuit.
It’s a 5 minute video and well worth the watch — stick around after the break to learn more!
What good is a fiber optic self-lighting Christmas tree if it flashes so fast it will put you into an epileptic attack? The answer is “Not very good”, if you ask [Mads Nielsen] a.k.a [EcProjects]. So [EcProjects ] started a little project to slow the Christmas tree’s blinkyness down to a more reasonable rate. The task didn’t seem too difficult at first but turned into a quality tutorial building a variable frequency H-bridge motor control.
After opening the base of the tree [EcProjects] found a 12 volt AC geared synchronous motor turning a multi colored translucent plastic disk. A bright spotlight was shining upwards through the turning disk into the ends of hundreds of small fiber optics. This mechanism dumps loads of multi colored light out the ends of the fibers at the tips of the Christmas tree branches as the disk turns.
His goal was to slow down the motor; however, the rotation was based on the 50 Hz mains signal. In order to continue using this motor a lower frequency AC power source was needed. What follows in the video is an excellent lesson on how an AC synchronous motor works plus how to build a variable frequency control and H-bridge using some transistors, resistors and CMOS 4069 inverter chip.
In the end the frequency drive could only be lowered to about 30 Hz before the synchronous motor would stall and reverse using his design. [EcProjects] was bold enough to include several fails which always provides more opportunity for learning and is greatly appreciated.
If you believe you have a better solution please share your idea in the comments. I’m sure the first proposal will include an Arduino and servo modified for continuous rotation, but any solutions would be fascinating including modifications to his design. You can join us after the break to watch the video.