In any era, the story of electronics has very much been about figuring out how to make something happen with what’s available at the time. And as is often the case, the most interesting developments come from occasions when needs exceed what’s available. That’s when real innovation takes place, even if circumstances conspire to keep the innovation from ever taking hold in the marketplace.
This gem of a video from the Antique Wireless Association has a perfect example of this: the long-lost analog-to-digital converter vacuum tube. Like almost every mid-20th-century innovation in electronics, this one traces its roots back to the Bell Laboratories, which was keenly interested in improving bandwidth on its massive network of copper lines and microwave links. As early as 1947, one Dr. Frank Gray, a physicist at Bell Labs, had been working on a vacuum tube that could directly convert an analog signal into a digital representation. His solution was a cathode ray tube similar to the CRT in an oscilloscope. A beam of electrons would shine down the length of the tube onto a shadow mask containing holes arranged in a “reflected binary code,” which would later be known as a Gray code. The analog signal to be digitized was applied to a pair of vertical deflector plates, which moved the beam into a position along the plate corresponding to the voltage. A pair of horizontal deflector plates would then scan the beam across the shadow mask; where electrons fell on a hole, they would pass through to an output plate to be registered as a bit to be set.
Continue reading “Retrotechtacular: The Forgotten Vacuum Tube A/D Converters Of 1965”
Have you ever wondered how an electronic wind vane translates a direction into a unique signal? It seems as though it might be very complicated, and indeed some of them are. [martinm] over at yoctopuce.com has an excellent writeup about measuring wind direction using just a single, easily printed disk and some phototransistors.
Commercial weather vanes often use complicated multi-tracked disks with magnets and reed switches, conductive traces and brushes, or some other means of getting a fine resolution. Unfortunately some of these are prone to wear or are otherwise more complicated than they need to be.
What makes [martinm]’s solution unique is that they have applied previous research on the subject to a simple and durable 3d printed wind vane that looks like it’ll be able to handle whatever global warming can throw at it. The encoder’s simplicity means that it could likely be used in a large number of applications where low resolution position sensing is more than enough- the definition of a great hack!
Adding more tracks or even more disks would enable higher resolution, but the 12 degree resolution seems quite good for the purpose. Such a neat wind vane design will surely be welcome if you want to 3d print your own weather station. Thanks to [Adrian] for the great tip!
Like many of us, [quincy] feels the distracting pull of non-work programs on what has become a mixed-use computer. So what’s the answer to the puzzle of work-life balance? We’re not sure, but time management and keeping track of tasks will probably get you most of the way there. The only problem is that keeping track of these things is boring and tedious and way too easy to forget, even for the fun tasks.
Similar commercial gadgets exist to serve this time-tracking purpose, but [quincy] wanted something much cooler that would work the same way: turn the indicator to the current task, and the status gets recorded on a computer. Rather than some smart polygon with informative stickers on each face à la the Timeflip2, [quincy] built a rotary task manager that serves the same purpose, but does it with magnets.
Our favorite part aside from the magnets has to be the clever binary encoding work. [quincy] is using three photoresistors and a single green LED to create a 3D-printed gray encoder that sidesteps the need to ever flip two bits at once. An Arduino takes care of reading the 3-bit code and converting it back into a decimal. There are more updates to come, including the main
.ino file, but you can start printing the pieces while you wait.
If you have trouble staying on task, maybe you need a Pomodoro timer. We’ve seen a few over the years, ranging from the minimal to the sculptural.
Some years back, a museum asked me to help them with an exhibit a contractor had built for them. It was a wheel like the one on Wheel of Fortune, but smaller and mounted on the wall instead of the floor. You would spin the wheel, it would stop on some item, and a computer would play a short video about the item. Physically and mechanically, it was a beautifully built exhibit. The electronics, though, left something to be desired.
In principle, this is pretty simple computer task. Measure the position of the wheel, and when it stops moving, play a video based on the position. The problem was the folks who created the artistic mechanics didn’t think hard about the electronics behind it. Sometimes–but not often–the wheel would play the wrong video. Sometimes it wouldn’t play at all.
The Prime Suspect
My immediate suspicion turned out to be correct. I took the wheel off its mount to discover copper foil tape on the back of it. Each pie wedge had foil in different areas and there were two brushes in each area. When the wheel stopped, two of the brushes would be shorted together and the rest were open. The way they detected that was bizarre, but that wasn’t the problem. (It involved a cannibalized PS/2 keyboard.)
Continue reading “Fifty Shades Of Gray Code”
If you have used a 3D printer for any length of time, you’ve probably experienced a failed print caused by a clogged nozzle. If you’re not around to stop the print and the nozzle stays hot and full of filament for hours, the clog gets even worse. [Florian] set out to solve this issue with an encoder that measures filament speed, which acts as an early warning system for nozzle clogs.
[Florian] designed a small assembly with a wheel and encoder that measures filament movement. The filament passes under the encoder wheel before it’s fed into the 3D printer. The encoder is hooked up to an Arduino which measures the Gray code pulses as the encoder rotates, and the encoder count is streamed over the serial port to a computer.
When the filament slows down or stops due to a nozzle clog, the Python script plays a notification sound to let you know that you should check your nozzle and that your print might fail. Once [Florian] works out some of the kinks in his setup, it would be awesome if the script could stop the print when the nozzle fails. Have any other ideas on how to detect print failures? Let us know in the comments.
[Pete] needed a rotary encoder for one of his project so he set out to build his own. As the name implies, a rotary encoder measures rotation by encoding “steps” into electrical signals which can be measured by a microcontroller (or used in numerous other ways). Knowing the degrees of movement for each step will allow you to calculate precise distance traveled in applications like robot wheels. Or you can simply use the rotating shaft as an input device which navigates menus or settings.
This concept is a good one to understand. We had originally planned to build rotary encoders for the multi-person Duck Hunt at Hackaday’s 10th Anniversary but the build-off crew had difficulty getting the system to work. In [Pete’s] case he’s using photointerrupters (apparently the IR beam is easily detected through the white paper but usually these parts would be cut out of the disk). We were using reflectance sensors. Either way there’s a trick to detecting which direction a rotary encoder is turning. We’ll explain that for you after the break.
Continue reading “Which Way Are We Going? Concepts Behind Rotary Encoders”
During one of [Michael]’s many forum lurking sessions, he came across a discussion about frequency counting on a CPLD. He wondered if he could do the same on an FPGA, and how hard it would be to count high clock rates. As it turns out, it’s pretty hard with a naive solution. Being a bit more clever turns the task into a cakewalk, with a low-end FPGA being able to count clocks over 500 MHz.
The simplest solution for counting a clock would be to count a clock for a second with a huge, 30-bit counter. This is a terrible idea: long counters have a lot of propagation delays. Also, any sampling would have to run at least twice as fast as the input signal – not a great idea if you’re counting really fast clocks.
The solution is to have the input signal drive a very small counter – only five bits – and sample the counter using a slower clock on board the FPGA. [Michael] used a 5-bit Gray code, getting rid of the problem of the ‘11111’ to ‘00000’ rollover of a normal binary counter.
Because [Michael] is using a 5 bit clock with 31 edges sampled at 32 MHz, he can theoretically sample a 992 MHz clock. There isn’t a chance in hell of the Spartan 6 on his Papilio Pro board ever being able to measure that, but he is able to measure a 500 MHz clock, something that would be impossible without his clever bit of code.