Electronique > Réalisations > Potentiomètre numérique 001

Dernière mise à jour : 02/05/2010

Présentation

Le présent article montre comment fabriquer soi-même un potentiomètre numérique avec des composants classiques et non programmables.

potentiometre_num_001_pcb_3d_a

Plusieurs schémas sont proposés :
- Schéma 001 : potentiomètre à 8 positions avec un commutateur analogique CD4051
- Schéma 001b : potentiomètre à 16 positions avec un commutateur analogique CD4067 (ou CD4097)
- Schéma 001c : potentiomètre à 16 positions avec deux commutateurs analogiques CD4051

Avertissements

- Les potentiomètres numériques proposés ici n'ont pas les performances des "vrais" potentiomètres numériques, et il tiennent plus de place.
- L'amplitude des signaux (continus ou alternatifs) appliqués sur les pattes "d'entrée / sortie" ne doit pas exceder les bornes d'alimentation.
- La masse est commune pour la commande numérique et pour la section commutations analogiques (attention aux câblages).
- L'étude porte sur des potentiomètres linéaires mais l'adaptation pour des modèles logarithmiques est tout à fait possible.
Une étude de potentiomètre "numérique" plus performant en terme de distorsion, de bruit et de dynamique (mais plus coûteux à fabriquer) est proposée en page Potentiomètre numérique 002.

Schéma 001 (potentiomètre à 8 positions)

Comme vous pouvez le constater, le schéma est plutôt simple.

potentiometre_num_001

Fonction potentiomètre
Le circuit intégré CD4051 n'est pas un potentiomètre numérique, mais un commutateur analogique de type 1 position parmi 8. Il dispose de plusieurs broches qui peuvent aussi bien servir d'entrées que de sorties, et ces entrées / sorties peuvent recevoir des signaux analogiques, contrairement aux circuits intégrés purement logiques tels que CD4011 ou CD4093. Dans le cas présent, nous utilisons un pont diviseur résistif à plusieurs points, composé de 7 résistances mises en série (R1 à R7). Puis nous nous servons du commutateur analogique pour se connecter sur un des points intermédiaires du réseau de résistances. Au final, nous avons l'équivalent d'un potentiomètre avec les trois "broches" suivantes :
- E1, première broche extrême qui arrive au point X7 du commutateur analogique CD4051
- E2, seconde broche extrême qui arrive au point X0 du CD4051
- Curseur, qui passe par le CD4051 via son point X.

Commande numérique
Pour définir la position du curseur, on doit appliquer un code binaire sur les entrées numériques A, B et C du CD4051. Le curseur - ou plus précisement le point X du CD4051 - se trouve connecté à l'une des 8 entrées / sorties X0 à X7, selon la table de vérité suivante :
C=0, B=0 et A=0 -> Connexion entre point X et point X0, curseur en position 0%
C=0, B=0 et A=1 -> Connexion entre point X et point X1, curseur en position 14%
C=0, B=1 et A=0 -> Connexion entre point X et point X2, curseur en position 29%
C=0, B=1 et A=1 -> Connexion entre point X et point X3, curseur en position 43%
C=1, B=0 et A=0 -> Connexion entre point X et point X4, curseur en position 57%
C=1, B=0 et A=1 -> Connexion entre point X et point X5, curseur en position 71%
C=1, B=1 et A=0 -> Connexion entre point X et point X6, curseur en position 86%
C=1, B=1 et A=1 -> Connexion entre point X et point X7, curseur en position 100%
Nous avons bien affaire à un potentiomètre commandé de façon numérique. Cette commande numérique sur trois bits peut être réalisée via un ensemble d'interrupteurs, via une roue codeuse ou via des ordres logiques issus d'un circuit électronique quelconque - basé ou non sur un microcontrôleur.

Choix de la valeur des résistances
Il est bien rare que la valeur exacte du potentiomètre soit très critique. Ici, la valeur totale du pseudo-potentiomètre est égale à la somme des valeurs des résistances câblées sur les entrées sorties X0 à X7. Comme il y a sept résistances en tout, il suffit de multiplier par sept la valeur d'une résistance pour obtenir la valeur totale. Par exemple avec sept résistances de 10 kO, on obtient un potentiomètre de 70 kO. Ce n'est pas très normalisé comme valeur, et c'est bien ça qui est rigolo car on peut s'amuser comme on veut avec les valeurs désirées. Pour connaitre la valeur des résistances à utiliser pour obtenir un potentiomètre de valeur spécifique, il suffit de diviser la valeur totale du potentiomètre par sept. Si par exemple vous voulez constituer un potentiomètre de 220 kO, il vous faudra des résistances de 220 kO / 7 = 31,428 kO. Bien entendu, vous prendrez la valeur normalisée la plus proche, par exemple 33 kO.

Schéma 001b (potentiomètre à 16 positions)

Ce second schéma s'appuie sur le même principe que le précédent. Sauf que là le commutateur analogique utilisé est un modèle "1 parmi 16" et non "1 parmi 8".

potentiometre_num_001b

Fonction potentiomètre
Le principe de fonctionnement est rigoureusement le même que tout à l'heure.

Commande numérique
La commande numérique se fait sur quatre bits et non plus trois, puisqu'il nous faut désormais 16 positions et non plus 8. Pour définir la position du curseur, on doit appliquer un code binaire sur les entrées numériques A, B C et D du CD4067. Le curseur - ou plus précisement le point X du CD4067 - se trouve connecté à l'une des 16 entrées / sorties X0 à X15, selon la table de vérité suivante :
D=0, C=0, B=0 et A=0 -> Connexion entre point X et point X0, curseur en position 0%
D=0, C=0, B=0 et A=1 -> Connexion entre point X et point X1, curseur en position 6%
D=0, C=0, B=1 et A=0 -> Connexion entre point X et point X2, curseur en position 13%
D=0, C=0, B=1 et A=1 -> Connexion entre point X et point X3, curseur en position 20%
D=0, C=1, B=0 et A=0 -> Connexion entre point X et point X4, curseur en position 27%
D=0, C=1, B=0 et A=1 -> Connexion entre point X et point X5, curseur en position 33%
D=0, C=1, B=1 et A=0 -> Connexion entre point X et point X6, curseur en position 40%
D=0, C=1, B=1 et A=1 -> Connexion entre point X et point X7, curseur en position 47%
D=1, C=0, B=0 et A=0 -> Connexion entre point X et point X8, curseur en position 53%
D=1, C=0, B=0 et A=1 -> Connexion entre point X et point X9, curseur en position 60%
D=1, C=0, B=1 et A=0 -> Connexion entre point X et point X10, curseur en position 67%
D=1, C=0, B=1 et A=1 -> Connexion entre point X et point X11, curseur en position 73%
D=1, C=1, B=0 et A=0 -> Connexion entre point X et point X12, curseur en position 80%
D=1, C=1, B=0 et A=1 -> Connexion entre point X et point X13, curseur en position 87%
D=1, C=1, B=1 et A=0 -> Connexion entre point X et point X14, curseur en position 93%
D=1, C=1, B=1 et A=1 -> Connexion entre point X et point X15, curseur en position 100%

Choix de la valeur des résistances
Même chose qu'auparavant, mais avec division par 15 et non plus par 7. Pour un potentiomètre équivalent de 220 kO, il faudra 15 résistances de valeur égale à 220 kO / 15 = 16,66 kO, soit 15 kO ou 18 kO en valeurs normalisées classiques les plus proches.

Schéma 001c (potentiomètre à 16 positions)

Vous ne trouvez pas de CD4067 ? Dans ce cas, vous pouvez le remplacer par deux CD4051, comme le montre le schéma suivant.

potentiometre_num_001c

Comme les CD4051 ne disposent que de trois entrées de commande A, B et C, on se sert de leur entrée d'inhibition INH pour mettre un commutateur analogique en service pendant que l'autre est désactivé et ne sert à rien. Le rôle de l'inverseur U3 est de disposer de deux signaux de commande complémentaires à partir du bit de commande D. C'est grâce à lui qu'il n'y a qu'un seul CD4051 en sercice à un moment donné. Si l'entrée D est à l'état logique bas, alors U1 est désactivé et U2 est activé. Et si l'entrée D est à l'état logique haut, alors U1 est activé et U2 est désactivé. L'inverseur U3 peut prendre n'importe quelle forme du moment qu'il inverse l'état logique D. Vous pouvez employer une porte logique inverseuse CD4049 ou CD4069, une porte NAND CD4011 dont les deux entrées sont reliées ensembles, ou un transistor NPN petite puissance monté en commutation.

Courbes de variation

L'étude a porté ici sur des potentiomètres linéaires. Pour obtenir une courbe de variation autre que linéaire (courbe log ou anti-log par exemple), il suffit de ne pas opter pour des résistances de valeurs identiques.

Applications possibles

- Générateur d'enveloppe (j'en ai fait un sur un pricipe similaire, voir page Générateur enveloppe 001).
- Commande de gain dans un étage préamplificateur ou amplificateur.
- Commande de variation de fréquence dans un oscillateur (à base de NE555 ou CD4093 par exemple).

Circuit imprimé

Réalisé uniquement pour le circuit 001.

potentiometre_num_001_pcb_composants