Electronic – Multi-channel bar graph LED drivers


I want to build a circuit that shows the real-time frequency components of an audio signal on a number of bar graphs of some sort. Currently, my plan is to build 12 band-pass op-amp filters, and then use a rectifier and RC circuit to create a DC envelope for each output, and then use that signal to drive a LED bargraph or something similar.

The circuit will use a single +3.3V supply, and using 12 band-pass filters is not really negotiable. If I want a 12-channel bar graph, am I stuck using 12 bar-graph LEDs and bar-graph LED Driver pairs? That comes out to $45! Is there a better/less expensive/simpler method of getting a similar result? Ideally, I would not need a microcontroller.

Best Answer

I did a seven-channel version of this project a few months ago. I designed 7 separate opamp bandpass filters (using the Bessel filter topology to minimize distortion). I went with the LM3914 and a prepackaged LED bar graph because cost wasn't the issue; development time was, but you can take the opposite route.

I passed the filtered signals through the following peak detector:

alt text

This is a lot cheaper than the opamp circuits you'll find elsewhere. The Vce of the transistor and Vf of the diode should cancel out. The 1uF capacitor and 470k resistor gave a good decay rate for watching the audio signals that I was tracking.

With respect to the cost, the LM3914 that you were looking at is just a cascade of comparators with one input connected through a resistor network to a fixed voltage, and the other to the peak detector input. If you don't need the LED current control that this chip provides, you can probably do it cheaper with a classic quad comparator like the LM339 or LM2901 (you don't need anything fancy), which will run you about $0.30 in quantities of 25 (you need 24 for twelve 8-channel graphs). Assuming that resistors are basically free, you need a diode, a transistor, decoupling caps (also essentially free), a 1uF peak storage capacitor, and an LED graph. Just use some bulk 1206 LEDs for the graph and arrange them on your PCB instead of paying for the prepackaged bar graph. If you go with 8 elements in your graph, and you need 12*8 ~= 100 LEDs, you can do that for $0.042 cents apiece with these green indicator LEDs, or about $0.34 per channel. I'd say you can get away with the bar graph part for under $1 per channel if you shop around.