Chapter 1: Beginnings
Chapter 2: Further Beginnings
Chapter 3: Hello World
Chapter 4: More On GPIO
Chapter 5: Interrupts
Chapter 6: More On Interrupts
Chapter 7: Timers
Chapter 8: Adding Some Real-World Hardware
Chapter 9: More Timers and Displays
Chapter 10: Buttons and Bouncing
Chapter 11: Button Matrix & Auto Repeating
Chapter 12: Driving WS2812 RGB LEDs
Would you like to be notified by email when Jason Sachs publishes a new blog?
The interest in my previous article on obscure but useful electronics parts, "10 Circuit Components You Should Know" was encouraging enough that I thought I would write a followup. So here are another 10:
1. "Ideal Diode" controllers
Load-sharing circuits use diodes tied together at their cathode terminal to take the most positive voltage among the sources and connect it to a load. Works great: you have a DC/DC power supply, a battery, and a solar cell, and it will use whichever output is strongest. The only problem is that you have to accept a diode drop, which is usually around 0.7-1V for regular diodes, or 0.4-0.6V for Schottky diodes. If you have a 3V battery, that's a lot of voltage lost.
TI and Linear Technology are among a few companies making "ideal diode" controllers. These control the gates of MOSFETs, and replace diodes in an ORing configuration. The MOSFET body diode is used as a passive rectifier; when the voltage across the MOSFET is positive, the MOSFET is turned on to reduce voltage drop, and when the voltage across the MOSFET is negative, the MOSFET is turned off.
There are all sorts of variants of these parts, including ones that will drive back-to-back pairs of MOSFETs, sense faults and latch off the switch, or ones that have internal switches.
2. TAOS TSL230 light-to-frequency converter
TAOS (Texas Advanced Optoelectronics Solutions) was a 1998 spinoff of Texas Instruments to produce integrated circuit elements that include optical sensors. It was recently acquired by austriamicrosystems.
The discrete-component method of measuring light is to take a light sensor like a photosensor or photodiode, and amplify the output. This can be tricky if you need to maintain high bandwidth or deal with very low levels of light.
The TSL230 is an interesting solution for those cases where you need to measure light output over a period of time, with a lot of dynamic range. Basically it integrates received light over time, and produces a pulse for a certain amount of light energy sensed. If you feed the TSL230 output into a counter-timer in a microprocessor, and subtract counter readings at the beginning and end of the interval, the difference in counts tells you the total light energy sensed during that interval. This technique (like all voltage-to-frequency converters) has a much larger dynamic range than if you were to generate a voltage and digitize it in an ADC: the TSL230 has a 50dB (10000:1) range of light sensor output, from 10Hz to 1MHz. Voltage-to-frequency converters also require much less CPU processing to compute the average signal sensed over time: just subtract counters at the beginning and end of the interval, and divide by the time interval.
There are a number of other interesting parts from TAOS, but this is the one I like the best.
3. NXP's PLVA series of zener diodes
So you need an inexpensive circuit to create a stable voltage level that doesn't need to be very accurate. Use a zener diode, right? They're cheap and common -- there are industry-standard BZX84 and MMBZ5200 series diodes in SOT-23 packages in a wide range of zener voltages.
Except let's look at some datasheets. (BZX84C4V7 from Vishay and ON Semi, and MMBZ5230 from Diodes Inc and Fairchild are all 4.7V diodes) They're all specified at currents from 1mA - 20mA. What if you need a micropower circuit that needs a cheap reference? These aren't very good at ultralow currents: the "knee" of the V vs. I curve is kind of soft, and the lower voltage zeners have leakage currents into the low microamperes.
I had a circuit that needed to run a zener diode at lower current than 1mA, in an application where reliability was a concern and we had to go by datasheet specifications -- we could not rely on a behavior of the part that wasn't in the datasheet (like zener voltage at low currents). So I looked around and around, and I finally found the PLVA diodes. These are specified at 250uA, and also specify maximum leakage current at 80% of nominal zener voltage (which is equivalent to specifying a zener voltage of at least 80% of nominal at those currents) where these leakage currents are fairly small.
4. I2C/SMBus active terminator
The LTC1694 and ISL88694 are two circuits that increase the pullup current on an I2C or SMBus bus lines when the voltage levels are between a low and high state, to decrease the transition time. This allows higher frequency bit rates, or higher line capacitance for a given bit rate.
I2C and SMBus are painful enough at the protocol level without having to worry about signal integrity issues. You can make a pair of current sources yourself for less money than the active terminators, but if you're cramped for board space, it's hard to beat a SOT-23-5.
5. NCP101 ultra-low-voltage adjustable shunt regulator
I mentioned the TL431 (2.5V) and TLV431 (1.25V) shunt regulators in my earlier blog entry. ON Semi has a few parts (op-amps, comparators, etc.) in the ultra-low-voltage category (operates on single-cell alkaline batteries!). The NCP101 is one of those -- it's like a TL431 except the threshold voltage is 0.7V. The cathode to anode voltage has to be at least 0.9 volts to run the part, so you can't use it as a 0.7V reference, but if the TLV431's 1.25V threshold is too large for your system, this part may help you out.
6. Anderson Powerpole connectors
When I first started working as an engineer fresh out of school, we had a project that used moderately high-current high voltage (30A, 50-100V) power systems, and were shopping around for connectors. It's hard to find high-current connectors -- your garden-variety connector has a pin making contact with a socket, or a blade making with a pair of spring tabs. The problem with most of these is that they're not good at ensuring a large contact area, and keeping the contacts clear of oxidation during multiple connect/disconnect cycles. There are connectors based on hyperbolic pins (e.g. Amphenol RADSOK:
) which maintain large contact areas through clever geometric and metallurgical design... but they were (and I suspect still are) rather expensive.
We found an interesting solution that worked for our needs through Anderson Power Products:
They make a series of modular connector housings with dovetails to allow assembling of multiple-conductor cables. You buy whichever color housings you want, snap them together, crimp the connector pins onto your wires, and insert them into each housing.
The contact housings come in different colors and different sizes: the smallest is an 8mm square housing good for 45A, 16mm good for 75A, 22mm good for 120A, and 29mm good for 180A.
(Diagrams from the Anderson Power Products catalog)
We've used these connectors for over 10 years on a variety of products and they've worked very well. They do make PCB-mount connectors but they've been less useful to us than the wire-to-wire connectors.
Besides processor speeds, one huge change in PC design over the last 15 years has been the connectors. In 1995, PC's had mice and keyboards that plugged into the circular PS/2 connector, a parallel port for printers, a floppy disk drive, and one or two DE9 serial ports. Ethernet ports were still on plugin cards, the VGA connector was the standard for hooking up a display, and USB was brand-new. If you had a standalone electronic device and wanted it to communicate with a PC, the way to do it was via a DE9 serial port. You had a processor with a UART, and put a MAX232 level converter to convert the processor's 5V logic signals to RS-232 levels, and sent it out to a DE9 connector.
Nowadays USB is standard; the PS/2 connectors and the parallel ports and the floppy drives and the serial ports are all gone.
So if you want to build something that talks to a PC, you either use Ethernet or USB. You can still put a DE9 connector on your device, but that forces someone to buy a USB-to-RS232 converter.
Or you can just put a USB-device-to-UART serial converter on your system. This has a couple advantages:
The brand name in USB-to-serial converters is FTDI, which makes many of the ICs found in off-the-shelf USB-to-RS232 converters. We've used their single and dual USB-to-serial ICs; they're easy to use and have reliable performance. I never thought I would be able to use high-speed serial communications on a Windows PC, but the FTDI chips have an on-chip FIFO and their device drivers are very reliable.
Our most recent design uses a FT2232H dual converter, with one channel for a UART, and the other channel for the XDS100v2 JTAG emulator for TI 28xx DSPs. FTDI chips now allow you to use a USB device as an I2C, SPI, or I/O expander.
8. Multiwinding transformers
Custom magnetics are a real pain. It used to be that off-the-shelf power inductors weren't so common, and you had to order something custom. But the selection of power inductors over the years have increased. Transformers for switching power circuits are still usually custom, though.
I ran across the Versa-Pac series of transformers from Coiltronics about 10 years ago. These are a series of PCB-mount power transformers of various sizes (from about 12mm square to 21mm square) with 6 isolated windings. Need a 5:1 transformer? Connect 5 windings in series and use the remaining winding. Need a 3:1 transformer? Connect 3 windings in series and the other 3 in parallel. It's not as optimized as a custom transformer, but these are off-the-shelf and relatively inexpensive.
Pulse Engineering also makes a few transformers that are similar in their Spyglass series, with a smaller selection than the Versa-Pacs.
9. Magnetic angle sensors
There are several manufacturers of magnetic angle sensors. The idea is that you put a magnet on the end of a rotating shaft, and a sensor right below the magnet in line with the center of the shaft, and as the shaft rotates, the direction of the magnetic field changes with it. With a 2-dimensional Hall sensor, it's possible to sense the x- and y- components of the magnetic field and therefore figure out the orientation of the rotating shaft.
Sensors of this type include:
Some of these are raw sensor arrays and others do all the signal conditioning for you, outputting the results as a pulse-width-modulated pulse train, or as an I2C or SPI device.
One other type of solution for high-resolution absolute position sensing, which is sold as a module rather than a standalone IC, is the angle sensor from Timken. This was invented at the Torrington Company, which was later bought by Timken; we had some of their engineers come in and explain their system, which is an ingenious series of magnetic sensor elements meant to sense a sinusoidally-varying magnetic field. (For more information, see US Patents 6307365, 6400143, and 6573710) Unfortunately their system is rather proprietary and we were looking for standalone ICs.
10. Digital potentiometers
One of the components, that is essentially forbidden at the company where I work, is the potentiometer. Sure, it's nice to be able to adjust a circuit at manufacture time to reduce gain or offset errors, but there's two big drawbacks to this:
An alternative is the so-called "digital potentiometer" or "digipot" -- these are essentially a bunch of resistor elements with an analog multiplexer. The wiper position can be set via SPI/I2C/digital up-down signals, and some of these digipots have nonvolatile memory to store the wiper position after a power cycle.
If you're just trying to adjust an output voltage, use a DAC, but an advantage of digipots is they can be used in an op-amp circuit to adjust gain, and can be used for very fine adjustment (e.g. digipot connected between 4.096V and 3.9V to produce an output with fine adjustment control).
Manufacturers of digipots include Microchip, Analog Devices, Intersil, ON Semiconductor, and austriamicrosystems.
That's all for now -- happy circuit designing!
Add a Comment