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.
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.
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".
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.
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.