bargraphe ci vignetteIn one of my projects, i wanted to use 2 LED bargraphs.
The classical way to do that is to use a IC made for that, the LM3914. This circuit has been build to drive 10 LEDs which are generaly in a single module.
10 LEDs wasn't quite enough for my usage, i wanted more diodes for more "precision". I also wanted to mix diode colours, what is not easy to do with diode modules.

The LM3914 can be chained to drive more LEDs, but price is getting higher...

My first thought was to use 20 LEDs, the first one being green, than orange and finaly red to display an overdrive or a danger.

The picture shows the first pcb made and only a few LEDs wired for testing !

As i didn't want to re-invent the wheel, i have been Googling around and found that W6PQL had the same idea and made a circuit using discrete components. His original  design uses only 10 diodes, and i only adapted his design to my wishes.

My first guess was to use 20 rectangular LEDs aligned horizontaly. But that would have made a very long pcb. So i reduced my project to 16 LEDs, but 20 LEDs can be used with a 12V power supply.
On my pcb, the diodes are spaced by 5mm. That makes the use of rectangular 2.5x5mm or 3-5mm cylindrical LEDs possible. Colours can of course be mixed in any arrangement ! A sensitivity adjustment is provided. The circuit also allows a fixed gain, in case you can adjust the input level externaly.

The circuit can be driven by a positive or negative voltage. The LEDs can be mounted on both side of the pcb, and the use of SMD components making it very thin, the board can be mounted directly on the front panel.

bargraphe schema vignette

Fonctionnement :

 Le principe de fonctionnement est d'utiliser la chute de tension d'une série de diodes qui commandent elles-même des transistors. Chaque diode provoquant une chute de tension d'environ 0,6V, on peut chaîner 20 diodes maximum pour une tension d'alimentation de 12V.
Chaque LEDs s'allume donc avec une tension de 0,6V. Pour 16 LEDs, la tension nécessaire est donc de 16 x 0.6V = 9,6V.

Afin de rendre le montage plus sensible, un ampli-op a été rajouté. Le gain de cet ampli est de 10 avec les résistances fixes prévues. Chaque LEDs s'allume donc par palier de 60mV. Une tension de 16 x 0,06 V = 0.96 V allumera donc toutes les 16 LEDs.
Il a été prévu la possibilité de monter une résistance ajustable qui permet de faire varier le gain de l'ampli-op. Si la tension de contrôle est variable à l'extérieur du montage, on peut ne pas monter cette résistance ajustable et régler un gain fixe en modifier la valeur des résistance R4 ou R3 en fonction de la tension de contrôle positive ou négative.

Dans le cas d'une tension positive, il faut mettre l'entrée négative à la masse.

Seul un seul des 2 ampli-op contenus dans le LM2904 a été utilisé.

Réalisation :

Le circuit imprimé a été réalisé à l'aide du logiciel KICAD qui est devenu mon logiciel de CAO favori. Il fait 25 x 92 mm et est en simple face.

Le montage n'appelle que peu de commentaires... Le circuit est prévu pour un montage de LEDs rondes de 3mm ou rectangulaires de 2,5 x 5 mm selon l'effet souhaité.
Le percement de la face avant sera plus simple avec des diodes rondes qui seront alors espacées de 5 mm.

Les LEDs peuvent être soudées au choix de chaque côté du circuit imprimé.

Les diodes et transistors CMS utilisés sont ceux que j'avais sous la main, ils peuvent être remplacés par n'importe quelle référence équivalente !

- Fichier du schéma au format KICAD
- Fichier du circuit imprimé au format KICAD

A noter que les LEDs ne s'allument pas par tout ou rien, mais légèrement graduellement avec l'augmentation de la tension. Le transition d'une diode à l'autre est donc souple.

Le montage est alimenté à partir d'une source de tension de 13,5 V et consomme environ 110 mA avec toutes les LEDs allumées. Je n'ai pas eu de problèmes de détection HF, malgré l'utilisation de ce montage dans un ampli VHF de puissance.