The operational amplifier, or op amp, is one of the most basic building blocks used in analog circuits. Ever since single-chip op amps were introduced in the 1960s, thousands of different types have been developed, some more successful than others. Ask an experienced analog designer to name a few op amps, and they’ll likely mention the LM324, the TL072, the NE5534, the LM358, and of course the granddaddy of all, the uA741.
If those part numbers don’t mean anything to you, all you need to know is that these are generic components that you can buy anywhere and that will do just fine in the most common applications. You can buy fancier op amps that improve on some spec or another, sometimes by orders of magnitude. But how far can you really push the concept of an operational amplifier? Today we’ll show you some op amps that go way beyond these typical “jellybean” components.
Before we start, let’s define what exactly we mean when we say “operational amplifier”. We’re looking for integrated op amps, meaning a single physical component, that have a differential high-impedance voltage input, a single-ended voltage output, DC coupling, and high gain meant to be used in a feedback configuration. We’re excluding anything made from discrete components, as well as less-general circuits like fixed-gain amplifiers and operational transconductance amplifiers (OTAs).
Placing two motors together in a shared drive is a simple enough task. By using something like a chain or a belt to couple them, or even placing them on the same shaft, the torque can be effectively doubled without too much hassle. But finding a way to keep the torque the same while adding the speeds of the motors, rather than the torques, is a little bit more complicated. [Levi Janssen] takes us through his prototype gearbox that attempts to do just that, although not everything works exactly as he predicts.
The prototype is based on the same principles as a differential, but reverses the direction of power flow. In something like a car, a single input from a driveshaft is sent to two output shafts that can vary in speed. In this differential drive, two input shafts at varying speeds drive a single output shaft that has a speed that is the sum of the two input speeds. Not only would this allow for higher output speeds than either of the two motors but in theory it could allow for arbitrarily fine speed control by spinning the two motors in opposite directions.
The first design uses two BLDC motors coupled to their own cycloidal drives. Each motor is placed in a housing which can rotate, and the housings are coupled to each other with a belt. This allows the secondary motor to spin the housing of the primary motor without impacting the actual speed that the primary motor is spinning. It’s all a lot to take in, but watching the video once (or twice) definitely helps to wrap one’s mind around it.
The tests of the drive didn’t go quite as planned when [Levi] got around to measuring the stall torque. It turns out that torque can’t be summed in the way he was expecting, although the drive is still able to increase the speed higher than either of the two motors. It still has some limited uses though as he notes in the video, but didn’t meet all of his expectations. It’s still an interesting build and great proof-of-concept otherwise though, and if you’re not clear on some of the design choices he made there are some other builds out there that take deep dives into cycloidal gearing or even a teardown of a standard automotive differential.
A lot of us have nostalgia for our childhood toys, and as long as they’re not something like lawn darts that nostalgia often leads to fun upgrades since some of us are adults with industrial-sized air compressors. Classics like Super Soakers and Nerf guns are especially popular targets for improvements, and this Nerf machine gun from [Emiel] is no exception.
The build takes a Nerf ball-firing toy weapon and basically tosses it all out of the window in favor of a custom Nerf ball launching rifle. He starts with the lower receiver and machines a pneumatic mechanism that both loads a ball into the chamber and then launches it. This allows the rifle to be used in both single-shot mode and also in fully-automatic mode. From there, a barrel is fashioned along with the stock and other finishing touches.
If you play with high speed design for long enough, eventually you’re going to run into clock skew and other weird effects. [Robert Feranec] recently ran into this problem and found an interesting solution to visualizing electric fields in a PCB.
A word of warning before we dig into this, for most of the projects we see on Hackaday something like this is completely superfluous. There aren’t many people dealing with high speed interfaces here, and there aren’t many people dealing with 100 Gigabit per second data links, period. That said, it’s not unheard of, and at the very least it’s interesting to look at.
The basics of this video is simulating the signals visually in a differential pair on a (virtual) printed circuit board. The software for this is Simbeor, and [Robert] talked to the founder of the company behind this software after watching a video on simulating electric fields in differential traces. This software does what it says, and is a great illustration of why differential pairs must have the same length.
While this might not be for everyone, it is a fantastic visualization of signals in high-speed design that goes above and beyond what you would expect from a Spice simulation. Even if you’re not doing high-speed design, you may someday and it’s never too soon to get an intuitive understanding of how electrons work.
Designing circuit boards for high speed applications requires special considerations. This you already know, but what exactly do you need to do differently from common board layout? Building on where I left off discussing impedance in 2 layer Printed Circuit Board (PCB) designs, I wanted to start talking about high speed design techniques as they relate to PCBs. This is the world of multi-layer PCBs and where the impedance of both the Power Delivery Network (PDN) and the integrity of the signals themselves (Signal Integrity or SI) become very important factors.
I put together a few board designs to test out different situations that affect high speed signals. You’ve likely heard of vias and traces laid out at right angles having an impact. But have you considered how the glass fabric weave in the board itself impacts a design? In this video I grabbed some of my fanciest test equipment and put these design assumptions to the test. Have a look and then join me after the break for more details on what went into this!
Debugging with printf is something [StorePeter] has always found super handy, and as a result he’s always been interested in tweaking the process for improvements. This kind of debugging usually has microcontrollers sending messages over a serial port, but in embedded development there isn’t always a hardware UART, or it might already be in use. His preferred method of avoiding those problems is to use a USB to Serial adapter and bit-bang the serial on the microcontroller side. It was during this process that it occurred to [StorePeter] that there was a lot of streamlining he could be doing, and thanks to serial terminal programs that support arbitrary baud rates, he’s reliably sending debug messages over serial at 5.3 Mbit/sec, or 5333333 Baud. His code is available for download from his site, and works perfectly in the Arduino IDE.
The whole thing consists of some simple, easily ported code to implement a bare minimum bit-banged serial communication. This is output only, no feedback, and timing consists of just sending bits as quickly as the CPU can handle, leaving it up to the USB Serial adapter and rest of the world to handle whatever that speed turns out to be. On a 16 MHz AVR, transmitting one bit can be done in three instructions, which comes out to about 5333333 baud or roughly 5.3 Mbit/sec. Set a terminal program to 5333333 baud, and you can get a “Hello world” in about 20 microseconds compared to 1 millisecond at 115200 baud.
Rotary encoders are critical to many applications, even at the hobbyist level. While considering his own rotary encoding needs for upcoming projects, it occurred to [Jan Mrázek] to try making his own DIY capacitive rotary encoder. If successful, such an encoder could be cheap and very fast; it could also in part be made directly on a PCB.
The encoder design [Jan] settled on was to make a simple adjustable plate capacitor using PCB elements with transparent tape as the dielectric material. This was used as the timing element for a 555 timer in astable mode. A 555 in this configuration therefore generates a square wave that changes in proportion to how much the plates in the simple capacitor overlap. Turn the plate, and the square wave’s period changes in response. Response time would be fast, and a 555 and some PCB space is certainly cheap materials-wise.
The first prototype gave positive results but had a lot of problems, including noise and possibly a sensitivity to temperature and humidity. The second attempt refined the design and had much better results, with an ESP32 reliably reading 140 discrete positions at a rate of 100 kHz. It seems that there is a tradeoff between resolution and speed; lowering the rate allows more positions to be reliably detected. There are still issues, but ultimately [Jan] feels that high-speed capacitive encoders requiring little more than some PCB real estate and some 555s are probably feasible.