We’re all familiar with getting feedback from a rotating shaft, for which we usually employ a potentiometer or encoder. But there’s another device that, while less well-known, has some advantages that just might make it worth figuring out how to include it in hobbyist projects: the synchro.
If you’ve never heard of a synchro, don’t feel bad; as [Glen Akins] explains, it’s an expensive bit of kit most commonly found in avionics gear. It’s in effect a set of coaxial transformers with a three-phase stator coil and a single-phase rotor. When excited by an AC reference voltage, the voltage induced on the rotor coil is proportional to the cosine of the angle between the rotor and stator. It seems simple enough, but the reality is that synchros present some interfacing challenges.
[Glen] chose a surplus altitude alert indicator for his experiments, a formidable-looking piece of avionics. Also formidable was the bench full of electronics needed to drive and decode the synchro inside it — a 26-volt 400-Hz AC reference voltage generator, an industrial data acquisition module to digitize the synchro output, and an ESP32 dev board with a little OLED display to show the results. And those are impressive; as seen in the video below, the whole setup is capable of detecting tenth-of-a-degree differences in rotation.
The blog post has a wealth of detail on using synchros, as does this Retrotechtacular piece from our own [Al Williams]. Are they practical for general hobbyist use? Probably not, but it’s still cool to see them put to use.
Continue reading “Not A Pot, Not An Encoder: Exploring Synchros For Rotational Sensing” →
[Mark Smith] must really, really like his coffee, at least judging by how much effort he’s put into tricking out his espresso machine.
This inductive water tank sensor is part of a series of innovations [Mark] has added to his high-end Rancilio Silvia machine — we assume there are those that would quibble with that characterization, but 800 bucks is a lot to spend for a coffee maker in our books. We recently featured a host of mods he made to the machine as part of the “Espresso Connect” project, which includes a cool Nixie tube bar graph to indicate the water level in the machine. That display is driven by this sensor, the details of which [Mark] has now shared. The sensor straddles the wall of the 1.7-liter water tank, so no penetrations are needed. Inside the tanks is a track that guides a copper and PETG float that’s sealed with food-safe epoxy resin.
Directly adjacent to the float track on the outside of the tank is a long PCB with a couple of long, sinuous traces. These connect to an LX3302A inductive sensor IC, which reads the position of the copper slug inside the float. That simplifies the process greatly; [Mark] goes into great detail about the design and calibration of the sensor board, as well as hooking it into the Raspberry Pi Zero that lies at the heart of “Espresso Connect’. Altogether, the mods make for a precisely measured dose of espresso, as seen in the video below.
We’d say this was maybe a bit far to go for the perfect cup of coffee, but we sure respect the effort. And we think this inductive sensor method has a lot of non-caffeinated applications that probably bear exploration.
Continue reading “Extreme Espresso, Part 2: An Inductive Water Level Sensor” →
In this day and age where a megabyte of memory isn’t a big deal, it is hard to recall when you had to conserve every byte of memory. If you are a student of such things, you might enjoy an annotated view of the Apollo 11 DSKY sine and cosine routines. Want to guess how many lines of code that takes? Try 35 for both.
Figuring out how it works takes a little knowledge of how the DSKY works and the number formats involved. Luckily, the site has a feature where you can click on the instructions and see comments and questions from other reviewers.
Continue reading “Apollo 11 Trig Was Brief” →
We are always excited when we see [Hamster] post an FPGA project, because it is usually something good. His latest post doesn’t disappoint and shows how he uses the CORDIC algorithm to generate very precise sine and cosine waves in VHDL. CORDIC (Coordinate Rotation Digital Computer; sometimes known as Volder’s algorithm) is a standard way to compute hyperbolic and trigonometric functions. What’s nice is that the algorithm only requires addition, subtraction, bit shifts, and a lookup table with an entry for each bit of precision you want. Of course, if you have addition and negative numbers, you already have subtraction. This is perfect for simple CPUs and FPGAs.
[Hamster] not only has the VHDL code but also provides a C version if you find that easier to read. In either case, the angle is scaled so that 360 degrees is a full 24-bit word to allow the most precision. Although it is common to compute the result in a loop, with the FPGA, you can do all the math in parallel and generate a new sample on each clock cycle.
Continue reading “CORDIC Brings Math To FPGA Designs” →