When it comes to getting signals from an analog world into our computers, most of us don’t give much thought to how the hardware that does the job works. But as it turns out, there are a number of ways to skin the analog to digital conversion cat, and building your own homebrew successive approximation register ADC is a great way to dispel some of the mystery.
From his description of the project, it’s clear that [Mitsuru Yamada] wasn’t looking to build a practical ADC, but was more interested in what he could learn by rolling his own. A successive approximation register ADC works by quickly cycling through all possible voltage levels in its input range, eventually zeroing in on the voltage of the input signal at that moment and outputting its digital representation. The video below shows how the SAR ADC works visually, using an oscilloscope to show both the input voltage and the output of the internal R-2R DAC. The ADC has an input range of 0 V to 5 V and seven bits of resolution and uses nothing but commonly available 74xx series logic chips and a couple of easily sourced analogs for the sample-hold and comparator section. And as usual with one of his projects, the build quality and workmanship are impeccable.
Riffling through my box of old projects, I came upon a project that I had built in the 80’s — an Automotive Multimeter which was published in the Dutch/British Elektor magazine. It could measure low voltage DC, high current DC, resistance, dwell angle, and engine RPM and ran off a single 9V battery. Besides a 555 IC for the dwell and RPM measurement and a couple of CMOS gate chips, the rest of the board is populated by a smattering of passives and a big, 40 pin DIP IC under the 3½ digit LCD display. I dug some more in my box, and came up with another Elektor project from back then — a True RMS digital Wattmeter with a 3½ digit LCD display that could measure up to 2kW. It had the same chip too. Some more digging, and I found a digital panel meter. This had a 7 segment LED display, but the chip was again from the same family.
Look under the hood of any device with a 3½ or 4½ digit, 7 segment, LCD or LED from the ’80’s or ’90’s and you will likely spot this 40-pin DIP with the Intersil logo (although it was later also manufactured by many other fabs; Harris and Maxim among others). The chip doing all the heavy-lifting was likely to be the ICL7106 or ICL7107. These devices were described as high performance, low power, 3½ digit A/D converters containing seven segment decoders, display drivers, voltage reference and clock. In short, everything you needed to take a DC analog signal and display it. Over time, a whole series of devices were spawned:
There were many similar devices available, but the ICL71xx series was by far one of the most popular, due to its easy of use, low parts count and single chip implementation. Here are several parts (linking to PDF datasheets) to illustrate my point: the TC14433/A needed several peripheral devices, ES5107 (a clone of a clone — read below), CA3162 (which has BCD output, and needs the CA3161 or similar to interface to a display), or the AD2020 (which too needed a lot of support circuitry).
The ICL71xx was the go-to device for a reason. Let’s take a look at the engineering and business behind this fascinating chip.
Back in the day where the microprocessor was our standard building block, we tended to concentrate on computation and processing of data and not so much on I/O. Simply put there were a lot of things we had to get working just so we could then read the state of an I/O port or a counter.
Nowadays the microcontroller has taken care of most of the system level needs with the luxury of built in RAM memory and the ability to upload our code. That leaves us able to concentrate on the major role of a microcontroller: to interpret something about the environment, make decisions, and often output the result to energize a motor, LED, or some other twiddly bits.
Often the usefulness of a small microcontroller project depends on being able to interpret external signals in the form of voltage or less often, current. For example the output of a photocell, or a temperature sensor may use an analog voltage to indicate brightness or the temperature. Enter the Analog to Digital Converter (ADC) with the ability to convert an external signal to a processor readable value.