ruffrecords said:
There are quite a few chips that can be used for various types of LED based audio meter, but you can only have what the manufacturers provide in terms of number of LEDs and steps between them. So I was wondering about a possible project to develop a PIC micro-controller based sort of Universal Audio LED Driver where you could select different dB steps and/or ranges just by jumpers?
Has this been done already or is it something worth thinking about?
Cheers
Ian
I did one commercial design based on a PIC and I own the software so I have though about the possibility of perhaps offering pre-programmed PICs that could be customized with option pins and glue circuitry. I have given this a lot of thought and will share my thinking on how something like this "could" work.
There are modern low cost PIC families with multiple 10 or 12 bit A/D convertors built in. The commercial meter I did easily handled 6 audio streams but i would probably standardize on a x2 meter chip set. The cheaper low voltage family of PIC is not comfortable directly driving LEDs, but there are nice dedicated LED driver ICs (available in x8 or x16 LED capability, or more cascaded in series) that accept serial communication and are also modest cost.
Detecting both peak and average are relatively simple inside a microprocessor, and it is even possible (but not as easy) to compute RMS, while I haven't found that justified yet for metering complex audio. it might make a bigger difference for metering individual instruments in say a large console.
It would be reasonably simple with programming pins to select between dot or bar, peak or ave (or both, my favorite), linear or log meter scales. Further with all the spare A/D inputs some of those spare inputs could be used to program a user customized linear step size, or a custom dB step size for the log scale. For example to make a log meter with -3dB steps, send a voltage equal to .707x of the processor supply. That will be interpreted as a - 3dB ratio between each step reading down from full scale.
Sending serial data to the LED drivers with smallest threshold first, means you could push out 32 or more bits of data, and string multiple LED drivers in series, then just use a x8 or x16 latch to grab the top 8 or 16 data thresholds. In the linear scale the number of outputs would not go on forever and depend on the step size. There it may be worth standardizing on 8 or 16 evenly spaced linear thresholds, and scale with your input divider.
The two chip solution, PIC and LED driver could be close to the cost of the LM3915/15 but far more powerful. However I fear the economy of scale means there would be a premium to buy PICs in small quantity and program them independently.
OTOH, for a simpler modest number of LEDs meter, it is possible to use one older 8 bit PIC family that could drive LEDs directly, but I am not enthusiastic about the only 10 bit A/D , or dealing with 8 bit math (i hate 8 bit after getting used to 16 bit), or multiplexing the LEDs to use less drive lines, but perhaps making more noise inside an audio product.
Then there is the issue of TH vs. SMT... I don't know if the better LED drivers even come in TH, so perhaps the play is to make a small PCB with PIC and LED drivers already populated, that the user connects the led output lines to his custom display application.
I would be willing to work with somebody on this, but I am really not interested in getting back into the kit business after a few decades. I actually owned a kit business back in the 70-80 and lost faith in the business model (due to automation and lower cost manufacturing). Note: I haven't generated the specific code to read step size but it is not very heavy lifting for a micro. This would obviously take a back burner to my more pressing projects I have going.
Any interest? I think I have asked about this before to mostly silence. Probably not a huge demand.
JR
PS: I haven't come up with a good way to cover fully custom random scales, but I'm open for suggestions. There are enough spare A/D inputs that the log output could be programmed to accept different step sizes for multiple zones, or not