Hackaday Editors Mike Szczys and Elliot Williams curate the awesome hacks from the past week. On this episode, we marvel about the legacy RTL-SDR has had on the software-defined radio scene, turn a critical ear to 16-bit console audio hardware, watch generative algorithms make 3D prints beautiful, and discover why printer paper is so very, very bright white.
Take a look at the links below if you want to follow along, and as always tell us what you think about this episode in the comments!
Direct download (58 MB)
Places to follow Hackaday podcasts:
Continue reading “Hackaday Podcast 030: Seven Years Of RTL-SDR, 3D Printing Optimized For The Eye, Sega Audiophile, Swimming In Brighteners”
It is a common situation in electronics to have a control loop, that is some sort of feedback that drives the input to a system such as a motor or a heater based upon a sensor to measure something like position or temperature. You’ll have a set point — whatever you want the sensor to read — and your job is to adjust the driving thing to make the sensor read the set point value. This seems easy, right? It does seem that way, but in realitythere’s a lot of nuance to doing it well and that usually involves at least some part of a PID (proportional, integral, derivative) controller. You can bog down in math trying to understand the PID but [Electronoobs] recent video shows a very simple test setup that clearly demonstrates what’s going on with an Arduino, a motor, a distance sensor, and a ping-pong ball. You can see the video below.
Imagine for a moment heating a tank of water as an example. The simple approach would be to turn on the heater and when the water reaches the setpoint, turn the heater off. The problem there is though that you will probably overshoot the target. The proportional part of a PID controller will only turn the heater fully on when the water is way under the target temperature. As the water gets closer to the right temperature, the controller will turn down the input — in this case using PWM. The closer the sensor reads to the setpoint, the lower the system will turn the heater.
Continue reading “Ping-Pong Ball Makes Great PID Example”
Radio control cars have always been fun, it’s true. With that said, it’s hard to deny that true speed was unlocked when lithium polymer batteries and brushless motors came to the fore. [Gear Down For What?] built himself a speedy RC car of his own design, and it’s only got two wheels to boot (Youtube link, embedded below).
The design is of the self-balancing type – if you’re thinking of an angry unmanned Segway with a point to prove, you’re in the ballpark. The brains of the machine come thanks to a Teensy 3.6, which runs the PID loops for balancing and control. An MPU6050 gyroscope & accelerometer provide the necessary sensing to enable the ‘bot to keep itself upright in varied conditions. Performance is impressive, with the car reaching speeds in excess of 40 MPH and managing to handle simple ramps and bumps with ease. It’s all wrapped up in a 3D printed frame which held up surprisingly well to many crashes into tripods and tarmac.
Such builds are not just fun; they’re an excellent way to learn useful control skills that can serve you well in industry and your own projects. You can pick up the finer details of control systems in a university engineering course, or you could give our primer a whirl. When you’ve whipped up your first awesome project, we’d love to hear about it. Video after the break.
Continue reading “This Two-Wheeled RC Car Is Rather Quick”
If IKEA made ball-balancing PID robots, they’d probably look like this one.
This [Johan Link] build isn’t just about style. A look under the hood reveals not the standard, off-the-shelf microcontroller development board you might expect. Instead, [Johan] designed and built his own board with an ATmega32 to run the three servos that control the platform. The entire apparatus is made from a dozen or so 3D-printed parts that interlock to form the base, the platform, and the housing for the USB webcam that’s perched on an aluminum tube. From that vantage point, the camera’s images are analyzed with OpenCV and the center of the ball is located. A PID loop controls the three servos to center the ball on the platform, or razzle-dazzle it a little by moving the ball in a controlled circle. It’s quite a build, and the video below shows it in action.
We’ve seen a few balancing platforms before, but few with such style. This Stewart platform comes close, and this juggling platform gets extra points for closing the control loop with audio feedback. And for juggling, of course.
Continue reading “High-Style Ball Balancing Platform”
It’s a seemingly simple task: bounce a ping-pong ball on a wooden paddle. So simple that almost anyone can pick up a ball and a paddle and make a reasonable job of it. Now, close your eyes and try to do it just by the sound the ball makes when it hits the paddle. That’s a little tougher, but this stepper-driven platform juggler manages it with aplomb.
That’s not to say that the path to the finished product in the video below was a smooth one for [tkuhn]. He went through multiple iterations over the last two years, including a version that surrounded the juggling platform with a fence of phototransistors to track where the ball was at any time. That drove four stepper motors through a cross-linkage that popped the platform up at just the right moment to keep the ball moving, and at just the right angle to nudge it back toward the center of the platform. The current version of the platform does away with the optical sensors in favor of four small microphones. The mics pick up the sharp, well-defined sound of the ball hitting the platform, process the signal through an analog circuit, and use that signal to trigger a flip-flop if the signal exceeds a setpoint. An Arduino then measures the time delay between arriving signals, calculates the ball’s position on the platform, and drives the steppers through a PID loop to issue the corrective bounce.
The video below is entrancing, but we found ourselves wishing for a side view of the action too. It’s an impressive build nonetheless, one that reminds us of the many maze-runner and Stewart platform robots we’ve seen.
Continue reading “Juggling Machine Listens To The Bounce To Keep Ball In The Air”
Specialized processes require specialized tools and instruments, and processes don’t get much more specialized than the making of semiconductors. There’s a huge industry devoted to making the equipment needed for semiconductor fabrication plants, but most of it is fabulously expensive and out of reach to the home gamer. Besides, where’s the fun in buying when you can build your own fab lab stuff, like this DIY tube oven?
A tube oven isn’t much more complicated than it sounds — it’s just a tube that gets hot. Really, really hot — [Nixie] is shooting for 1,200 °C. Not just any materials will do for such an oven, of course, and this one is built out of blocks of fused alumina ceramic. The cavity for the tube was machined with a hole saw and a homebrew jig that keeps everything aligned; at first we wondered why he didn’t use his lathe, but then we realized that chucking a brittle block of ceramic would probably not end well. A smaller hole saw was used to make trenches for the Kanthal heating element and the whole thing was put in a custom stainless enclosure. A second post covers the control electronics and test runs up to 1,000°C, which ends up looking a little like the Eye of Sauron.
We’ve been following [Nixie]’s home semiconductor fab buildout for a while now, starting with a sputtering rig for thin-film deposition. It’s been interesting to watch the progress, and we’re eager to see where this all leads.
We’re all familiar with the experience of buying hobby servos. The market is awash with cheap clones which have inflated specs and poor performance. Even branded servos often fail to deliver, and sometimes you just can’t get the required torque or speed from the small form factor of the typical hobby servo.
Enter [James Bruton] and his DIY RC servo from a windscreen wiper motor. Windscreen wiper motors are cheap as chips, and a classic salvage. The motor shaft is connected to a potentiometer via a pulley and some string, providing the necessary closed-loop feedback. Instead of using the traditional analog circuitry found inside a servo, an Arduino provides the brains. This means PID control can be implemented on the ‘duino, and tuned to get the best response from different load characteristics. There’s also the choice of different interfacing options: though [James]’ Arduino code accepts PWM signals for a drop-in R/C servo replacement, the addition of a microcontroller means many other input signal types and protocols are available. In fact, we recently wrote about serial bus servos and their numerous advantages.
We particularly love this because of the price barrier of industrial servomotors; sure, this kind of solution doesn’t have the precision or torque that off-the-shelf products provide, but would be sufficient for many hacks. Incidentally, this is what inspired one of our favourite open source projects: ODrive, which focuses on harnessing the power of cheap brushless motors for industrial use.
Continue reading “Supersize DIY R/C Servos From Windscreen Wipers”