Dernière mise à jour :
28/01/2018
Présentation
Cette interface permet de délivrer des tensions analogiques de
façon
indépendante sur 16 voies, sur une plage de tension allant de
0-5 V à 0-15V, à partir de données numériques codées sur 12 bits
(4096
niveaux).
Elle peut donc servir pour toute application où l'on a besoin d'un
réglage indépendant sur une plage 0-5V, 0-10V ou 0-15V (ou tout
autre
plage intermédiaire). Le montage fait appel à des CNA
(Convertisseurs Numérique/Analogique) de type MCP4922, et les données numériques
à convertir (format 12 bits) arrivent via un unique bus
SPI. Pour une interface permettant un réglage de plage de
tension
commune
(circuit plus simple), voir projet
Interface
commande
0-10V 001.
Avertissement
Cette interface a été élaborée pour travailler avec mon
interface
DMX 011 et ne peut fonctionner seule. Elle doit
obligatoirement être associée à un
système envoyant les données numériques aptes à piloter les
convertisseurs numérique/analogique MCP4922 (à base d'Arduino, Raspberry, PIC ou tout autre type de microcontrôleur).
Schéma
Pour 16 voies, on retrouve nos 8 convertisseurs doubles et nos 4
AOP quadruples. Les LM324 de l'
interface
version 001 ont été remplacés par des
LM6134, compatibles broche à broche.
Fonctionnement général
Cette carte d'interface reçoit des données numériques via un bus
SPI.
Les signaux de données et d'horloge sont accompagnés
des signaux de commande propres aux circuits intégrés MCP4922
(SHDN,
LDAC et CS0 à CS7).
Conversion N/A et amplification
La
conversion N/A est assurée par les MCP4922, des convertisseurs
doubles
de
résolution 12 bits assez bon marché de Microchip (environ 1,50 €
pièce
à l'écriture de ces lignes). Leurs broches de
tension de référence VREFA et VREFB permettent de spécifier la
valeur
haute (maximale) de la tension de sortie correspondant à la pleine
échelle du convertisseur (valeur 4095). Ici la tension de
référence de
chaque CNA provient d'un potentiomètre individuel, ce qui permet
de
spécifier une plage de tension de sortie différente (si besoin)
pour
chaque sortie. Le transfert des données sur le
bus SPI peut s'effectuer à une vitesse maximale de 20 MHz. La
tension de sortie de chaque MCP4922 ne
peut excéder la tension d'alimentation du convertisseur qui est
fixée
ici à +5 V (broches de référence haute du CNA soumises à
cette
même
tension). Pour pouvoir disposer d'une tension de sortie
supérieure à +5 V, il faut l'amplifier. L'amplification est
confiée aux
AOP quadruples LM6134 alimentés sous une tension de 18 V. Le gain
de
ces AOP est fixe et de 3,2x. Afin de
disposer
d'une réglage fin de la tension max de sortie (entre +5 V et
+15 V) la tension de
référence des CNA peut être ajustée à une valeur comprise entre
1,4 V
(1,4 V * gain 3,2 = 4,5 V en sortie) et 5 V (5 V * gain 3,2 =
16 V
en sortie).
Important
: la valeur de tension minimale sur les sorties analogiques (pour
une
valeur numérique égale à 0) dépend de la charge des AOP. Avec
une impédance de charge de 100 kO ou plus, la
tension
minimale est voisine de 10 mV. Avec une charge de 10 kO, cette
valeur
min peut grimper à 90 mV ! Au besoin, il conviendra d'ajouter un
tampon
de sortie (autre AOP câblé en suiveur de tension) à chaque sortie
analogique.
Procédure d'utilisation
Pour chaque voie de sortie, il faut envoyer les données numériques
correspondant à la valeur de tension désirée :
- pour une tension de sortie de 0 V (
Nota 1), envoyer la valeur numérique 0
- pour une tension de sortie "maximale"
(Nota 2), envoyer la valeur numérique 4095
Nota 1
: la tension de sortie n'est pas de 0 V exactement, mais de quelques mV
à quelques dizaines de mV (dépend de la charge des AOP)..
Nota 2 : la valeur de la
tension maximale sur une sortie dépend du réglage du
potentiomètre associé
Les CNA fonctionnent par paire, il y a une broche de sélection de
boîtier CSx par CNA double :
- CS0 pour le 1er double CNA (sorties #1 et #2)
- CS1 pour le 2ème double CNA (sorties #3 et #4)
- ...
- CS7 pour le 8ème CNA (sorties #15 et #16)
Exemple pour modifier la valeur de la tension de sortie #7 :
- Mettre à l'état logique bas la ligne CS3
- envoyer les données numériques via le bus SPI (lignes CLK et
MOSI)
- Mettre à l'état logique haut la ligne CS3
- envoyer une impulsion "négative" sur la ligne LDAC.
Procédure de réglage (individuelle pour chaque sortie Sx)
Envoyer
la valeur 4095 au CNA correspondant à la sortie Sx désiré, puis
ajuster le potentiomètre associé pour que la tension sur
la sortie Sx corresponde à la tension maximale désirée (par
exemple +5V, +10 V ou +15 V).
Plages de tension par groupes
Dans
le cas où plusieurs sorties doivent toujours travailler avec la même
plage de tension, il est possible d'économiser sur les potentiomètres
ajustables. Prenons l'exemple d'une application où l'on désire une
plage de fonctionnement de 0-10 V sur les sorties #1 à
#8, une plage de fonctionnement de 0-15 V sur les sorties #9 à
#12, et une plage de fonctionnement de 0-5 V sur les sorties #13 à #16.
Dans ce cas de figure, trois potentiomètres ajustables seulement sont
requis :
- un premier dont le curseur est relié aux broches REFA et REFB des convertisseurs N/A #1 à #4
- un second dont le curseur est relié aux broches REFA et REFB des convertisseurs N/A #5 et #6
- un premier dont le curseur est relié aux broches REFA et REFB des convertisseurs N/A #7 et #8
Cette façon de faire bien sûr impose l'utilisation de résistances de précision pour le gain des AOP.
Alimentation
Deux rails d'alimentation continue sont requis : +18 V pour
l'étage de
sortie, et +5
V pour les CNA. Le 18 V
n'est pas très critique, les AOP doivent ici être alimentés entre
+16
V
et +20 V (maximum +24 V). Le +5 V est tiré
d'un régulateur de tension LM7805 en boîtier TO220 qui sera de
préférence doté d'un
petit dissipateur thermique (radiateur). La tension issue du
secondaire
du
transformateur
d'alimentation TR1 est de 15 Vac. Après redressement par diodes et
filtrage par condensateur, la tension obtenue est d'environ 19
Vdc.
Circuit imprimé
Réalisé par mes soins en double face.
Historique
28/01/2018
- Première mise à disposition.