Electronique > Réalisations > Affichage / Mesures > Vumètre 015

Dernière mise à jour : 08/01/2017

Présentation

Ce vumètre stéréo à 16 niveaux (16 points lumineux par voie) a été conçu pour des besoins pédagogiques - cours auprès d'élèves en formation "son".

vumetre_015_pcb_3d_a
(clic pour aggrandir)

Son cahier des charges était le suivant :

Avertissements


Choix de conception

Il existe plusieurs façons de réaliser un vumètre électronique dont le seuil d'allumage de chaque point est ajustable. Traitements et réglages entièrement faits dans le domaine analogique ou avec un soupçon de numérique. Le simple fait de prévoir des sauvegardes m'a conduit au tout numérique, et j'ai trouvé là une nouvelle occasion d'écrire quelques lignes de code pour un PIC. Côté réglages "temps réels", il me paraissait évident que je devais opter pour des potentiomètres de tableau pour les temps de montée (attaque) et de descente (relâchement). Par contre pour le réglage des seuils ce n'était pas si évident. L'usage d'un potentiomètre par point d'échelle est simple à mettre en oeuvre si on utilise de simples comparateurs de tension, mais il complique singulièrement les sauvegardes sous forme de presets. L'usage de boutons et menus de réglages avec microcontrôleur et affichage LCD simplifie certes les sauvegardes, mais rend aussi les manipulations fastidieuses. J'ai donc opté pour un mélange des deux technologies, à savoir utilisation de potentiomètres réels pour définir les différents seuils, dont les tensions sont exploitées via des convertisseurs analogique / numérique. Cela donne la possibilité de sauvegarder et de rappeler directement une configuration parmi plusieures, et une reprise automatique en manuel dès qu'un potentiomètre est manoeuvré. Le signal BF d'entrée est redressé et intégré par un étage purement analogique qui délivre une tension continue. Cette tension continue est convertie en numérique dans un PIC et est comparée aux tensions - enregistrées sous forme elle aussi numérique - qui constituent les seuils d'allumage des points lumineux. Le procédé est donc aussi simple dans le fond qu'il ne l'est en superficie.

Schéma

Le coeur du montage repose sur un PIC 18F2520 dont presque toutes les broches sont mises à contribution. Pour plus de clarté, le schéma total est divisé en deux sous-schéma :
- schéma 015 - Entrées : étage d'entrée analogique - amplification, redressement et filtrage, réglage des seuils d'affichage;
- schéma 015 - Affichage : section uC (microcontrôleur) et affichage par LED.
Les liaisons entre les deux sous-schémas sont établies par des points de liaison. Par exemple, le point marqué Thrs01 visible sur le schéma des entrées est électriquement relié au point marqué Thrs01 visible sur le schéma de la section affichage. Voir si nécessaire explications en page Conventions schémas du site.

vumetre_015_entrees
Schéma 015 - Entrées : étage d'entrée - redressement et filtrage, réglage des seuils d'affichage
 
vumetre_015_affichage
Schéma 015 - Affichage : section uC et affichage par LED.

Circuit d'entrée
L'entrée du vumètre étant stéréo, on découvre tout naturellement deux sections identiques pour traiter le signal BF entrant. Le schéma est assez classique dans le sens où il fait appel à un circuit de redressement rapide à diodes, suivi de deux cellules d'intégration qui fixe les temps d'attaque et de relâchement pour les modes d'affichage moyenné et crête. Que de termes compliqués pour désigner simplement un temps de charge ou de décharge plus ou mois rapide de banals condensateurs... En sortie des cellules d'intégration (sur les condensateurs Cx) on recueille une tension continue qui suit l'enveloppe du signal BF et dont la valeur représente son amplitude électrique au fil du temps. Plus le signal BF possède une amplitude élevée et plus cette tension continue est élevée. A ce stade, on pourrait d'ailleurs l'utiliser pour attaquer un circuit d'affichage LED de type LM3915 comme cela est fait pour le vumètre 008. Mais ce n'est pas ce qui est fait ici, et la tension de mesure est échantillonnée puis numérisée par le PIC. Décortiquons maintenant en détail ce fameux circuit d'entrée analogique qui assure amplification, redressement et filtrage. Comme la situation se présente de la même façon pour les deux voies gauche et droite, nous n'analyserons que la voie gauche. L'entrée se fait sur le potentiomètre RV17 monté en diviseur de tension - en réglage de niveau - et on receuille sur son curseur une fraction plus ou moins élevée du signal d'entrée BF appliqué au point InL. Le condensateur de liaison C17 s'oppose au passage de toute composante continue qui aurait pu arriver en ce point, et on retrouve notre signal BF sur l'entrée non-inverseuse du premier AOP U8:A qui est monté en amplificateur de tension. Ce dernier présente un gain voisin de 10, soit +20 dB (en fait un petit poil plus, mais retenez l'ordre de grandeur). Si le signal d'entrée est de très forte amplitude, point besoin d'amplifier beaucoup ici et on pourra dans ce cas diminuer la valeur de la résistance R43 (au lieu de 100 kO, mettre une 22 kO pour un gain voisin de 3, par exemple). L'AOP suivant (U8:B) assure un redressement des alternances négatives seules, les alternances positives sont ignorées. L'AOP U8:C inverse la polarité du signal redressé ce qui fait qu'on retrouve sur sa sortie (broche 8) une tension continue qui est toujours positive. A ce stade le circuit réagit de façon rapide pour ne pas dire de façon instantanée et la tension continue suit fidèlement l'enveloppe du signal d'entrée, sans aucun retard. C'est bien mais ce n'est pas suffisant pour un affichage de type vumètre ou crête-mêtre. Pour la fonction vumètre il faut intégrer ce signal électrique pour le ralentir (ballistique 300 ms) et pour ce faire on utilise un simple réseau RC (résistance + condensateur) monté en filtre passe-bas. Ici la tâche est confiée au couple R52/C19, la résistance R51 placée en parallèle sur C19 à une valeur tellement élevée que la décharge du condensateur se fait lentement, c'est la retombée de l'aiguille du vumètre quand le signal BF diminue ou disparait. Pour ce qui est des crêtes, il ne faut pas ralentir avec autant de vigueur le signal rapide dont nous disposions ci-avant (ballistique inférieure à 10 ms) et le temps de retour à zéro doit être plus rapide. En fait il faut même éviter de le ralentir et se contenter dans la mesure du possible de mémoriser les valeurs hautes. Là encore on fait appel à un circuit RC, ici nommé R49/C18. La valeur de R49, comparée à celle de R52, est bien plus faible, ce qui garantie une charge bien plus rapide du condensateur du réseau d'intégration. De même, la valeur de R50 placée en parallèle sur C18 est plus faible que celle de R51, ce qui assure un temps de relâchement (décharge du condensateur) plus rapide. Les diodes zener D37 et D38 de 5,1 V sont obligatoires, elles limitent l'ampleur de la tension continue arrivant sur les entrées du PIC configurées en entrées analogiques. Ce serait bête de griller le PIC pour un signal BF un peu trop vigoureux... Après ça, la suite des opérations se fait dans le domaine du tout numérique et c'est le PIC qui prend la relève.

Seuils des points lumineux
Les tensions analogiques utilisées pour définir les seuils sont fournies par de simples potentiomètres (RV1 à RV16) montés en diviseur de tension. L'acquisition (échantillonage et numérisation) des tensions issues du curseur de ces potentiomètres se fait elle aussi au travers du convertisseur analogique / numérique du PIC, dont l'unique entrée interne est routée vers l'une des broches qu'il comporte via de simples commandes logicielles de sélection de voie. Comme on souhaite disposer de 16 seuils différents et que le PIC choisi ne possède que 10 broches pouvant être configurées en entrée analogique, j'ai ajouté des multiplexeurs analogiques de type CD4052 pour doubler le nombre de voies analogiques mesurables (en fait le nombre est quadruplé mais on se contente de deux fois plus). Le circuit CD4052 intègre en un même boîtier deux multiplexeurs à quatre entrées / une sortie. Notons au passage que les termes "entrée" et "sortie" peuvent être intervertis car ces multiplexeurs analogique (qui peuvent aussi servir en numérique) sont de type bidirectionnels. Une seule des quatre "entrées" (par exemple X1 ou Y2) peut à un instant donné être connectée sur l'unique "sortie" (X ou Y), selon l'état logique des entrées de sélection A et B. Remarque : il ne peut pas y avoir de connexion entre les "entrées" X0 à X3 et la "sortie" Y, les deux multiplexeurs X et Y sont complètement indépendants, hormis leurs entrées logiques de commande A et B. Le tableau qui suit établit la table de vérité (conditions de fonctionnement) de ces multiplexeurs. Le caractère "-" dans les cellules qui ne sont pas colorées en vert indique qu'il n'y a pas liaison électrique entre les deux points concernés.

A
(SelA)
B
(SelB)
X-X0
(AnX)
X-X1
(AnX)
X-X2
(AnX)
X-X3
(AnX)
Y-Y0
(AnY)
Y-Y1
(AnY)
Y-Y2
(AnY)
Y-Y3
(AnY)
0 0 Connecté - - - Connecté - - -
0 1 - Connecté - - - Connecté - -
1 0 - - Connecté - - - Connecté -
1 1 - - - Connecté - - - Connecté

Le seuil de chaque segment lumineux est le même pour les deux voies G et D, on ne peut pas spécifier une valeur de seuil différente entre le second point lumineux gauche et le second point lumineux droit, par exemple. Une telle possibilité, si elle avait existé, aurait sans doute permis de plus s'embrouiller les pinceaux et de toute façon je n'en voyais pas vraiment l'intérêt.

Remarque concernant le choix des multiplexeurs analogiques : à la place des CD4052, on peut utiliser des multiplexeurs plus récents, par exemple le ADG509F de Maxim. La valeur de la résistance à l'état passant RdsOn est importante mais pas critique si la source des tensions de référence se fait sous impédance faible, ce qui est le cas ici. Pour le CD4052 elle est de l'ordre de 100 ohms, ce qui ne pose aucun problème ici, et pour le ADG509F elle est voisine de 300 ohms.

Mémorisation et rappel des presets utilisateurs
Le circuit est capable de mémoriser huit configurations complètes, soit 8 x 16 valeurs de seuils. Ces derniers étant chacun définis par un mot de 10 bits (résolution initiale du CAN inclus dans le PIC), cela nous oblige à utiliser deux octets pour chaque valeur de seuil. Ce qui demande au total 16 x 16 octets, soit 256 octets si ma calculatrice cérébrale ne me trompe pas en ces temps tourmentés. La sauvegarde se fait dans l'EEPROM du PIC, laquelle est capable à tout instant de restituer les valeurs sauvées sur simple demande. La sauvegarde et le rappel des configurations s'effectue via un clavier de douze touches tout fait ou réalisé avec douze boutons-poussoirs classiques. Les huit premiers boutons SW1/P1 à SW8/P8 sont liés aux numéros de configurations (presets), les quatre derniers SW13 à SW16 permettent la sauvegarde et le rappel. Les boutons SW9 à  SW12 présents sur le schéma n'ont actuellement aucun rôle. Mais allez savoir ce que nous prévoit l'avenir...

Procédure de rappel d'une configuration
1 - Appuyer sur le bouton SW13/Load. Tous les segments clignotent 2 fois pour indiquer la bonne prise en compte de l'action.
2 - Appuyer sur le bouton correspondant au numéro de configuration désiré. Le voyant correspondant au preset choisi clignote brièvement pour confirmer le rappel (si preset N°5, clignotement du segment N°5), puis tous les segments clignotent 2 fois pour indiquer que le rappel de configuration est terminé. Il n'est pas nécessaire d'appuyer sur le bouton SW16/Valid pour confirmer le rappel d'une configuration, car une mauvaise manip avec cette action est moins "critique".
Remarque : si vous appuyez sur un bouton de preset SW1/P1 à SW8/P8 alors que le bouton SW13/Load n'a pas été appuyé au préalable, l'action est ignorée et tous les segments clignotent juste une fois.

Procédure de sauvegarde d'une configuration
1 - Appuyer sur le bouton SW14/Save. Tous les segments clignotent 3 fois pour indiquer la bonne prise en compte de l'action.
2 - Appuyer sur le bouton correspondant au numéro de configuration désiré. Le voyant correspondant au preset choisi clignote brièvement pour confirmer la sauvegarde (si preset N°3, clignotement du segment N°3).
3 - Appuyer sur le bouton SW16/Valid pour confirmer l'action. Tous les segments clignotent 4 fois pour indiquer que la sauvegarde de configuration est terminée. Vous pouvez aussi appuyer sur le bouton SW15/Cancel pour annuler l'opération en cours, et dans ce cas tous les segments clignotent juste une fois.
Remarque : si vous appuyez sur un bouton de preset SW1/P1 à SW8/P8 alors que le bouton SW14/Save n'a pas été appuyé au préalable, l'action est ignorée et tous les segments clignotent juste une fois.

Affichage LED
L'affichage des deux rubans lumineux de 16 LED chacun conduit ici à ajouter un peu de mécanique à celle puissante mais "incomplète" du PIC. Ce dernier en effet ne dispose pas des 32 broches qu'il nous faudrait pour attaquer directement les 32 LED. Pour contourner le problème, j'ai utilisé une technique qui a déjà fait ses preuves, à savoir utilisation de registres à décalage de type CD4094 pour envoi des informations (LED allumées ou éteintes) en mode série. Cette façon de faire réclame 3 broches au PIC et cette faible exigeance nous arrange drôlement bien. Et même si vous n'y voyez rien de drôle, considérez l'évenement comme heureux (c'est grâce à de petits détails comme celui-ci qu'on se sort parfois de situations impossibles). Un CD4094 disposant de 8 sorties, on peut se contenter de quatre pièces pour nos 32 LED. Même pas de gâchis, toutes les broches de sortie des CD4094 sont utilisées. On aurait pu aussi utiliser la technique du multiplexage d'affichage, mais cela aurait demandé tout de même trop de broches au PIC et on ne pouvait pas se le permettre ici. Le schéma et la vue 3D montrent des LED standard, mais j'utiliserai des LED de puissance haute luminosité (1 W) associées à un étage de commande adapté.

led_1w_001a  led_1w_001b

Bien évidement je ne mettrai pas le jus à fond dans les LED, l'objectif n'étant pas d'aveugler les élèves.

Rafraîchissement affichage
L'acquisition des 18 tensions analogiques (seize tensions de seuils et deux pour les entrées G et D) est assurée vingt fois par seconde (période de récurence de 50 ms). Cela me semble bien suffisant pour nos petits besoins et donne une fluidité d'affichage qui n'est pas mauvaise même pour celui qui ne regarde pas. Le temps pris pour le travail d'acquisition des tensions analogiques est inférieur à 2 ms (environ 1,6 ms) et le temps pris pour envoyer l'ensemble des informations LED allumées ou LED éteintes est de l'ordre de 2,5 ms. Tout ça pour dire que si on le voulait on pourrait même accélérer la cadence des rafraîchissements à un rythme de 100 fois par seconde.

Procédure de réglage des seuils

La procédure qui suit est valable pour une configuration (un preset) et doit être répétée pour chacune des configurations souhaitées (huit différentes possibles au maximum). Le réglage de chaque seuil pour la configuration en cours peut se faire dans n'importe quel ordre mais il semble plus logique de commencer avec les segments lumineux de niveau bas et de terminer avec ceux de niveau haut. Si les seuils d'allumage des segments lumineux doivent correspondre à des niveaux de tension très précis, vous devez utiliser un générateur BF délivrant un signal dont l'amplitude de sortie est parfaitement connue (affichée par le générateur lui-même ou confirmée par un mesureur BF externe câblé en parallèle sur la sortie du générateur). Pour la suite des opérations, nous supposons que vous disposez d'un tel générateur, ce dernier doit être réglé pour délivrer un signal de forme sinusoïdale de fréquence 1 kHz qui sera injecté sur l'entrée gauche ou droite du vumètre.

Procédure de réglage des seuils
1 - Régler l'amplitude du signal appliqué à l'entrée du vumètre de façon à ce qu'il corresponde au seuil d'allumage du premier segment (celui de niveau le plus bas). Tourner doucement le potentiomètre de seuil N°1 jusqu'à ce que le segment lumineux en question s'allume.
2 - Répéter l'opération pour chaque segment lumineux.
3 - Sauver la configuration en cours dans le preset désiré en appuyant sur le bouton SAVE puis en appuyant ensuite sur le bouton correspondant au numéro de configuration désiré.

Logiciel du PIC

Non disponible actuellement.

Circuit imprimé

En cours de réalisation. Les potentiomètres seront raccordés par deux câbles en nappe 10 conducteurs.

vumetre_015_pcb_composants
CI au 08/01/2017

Historique

08/01/2017
- Première mise à disposition.