CNA_CAN
Convertisseur Numérique Analogique - Convertisseur Analogique Numérique
G.COLIN
1 – Présentation du CNA
Un Convertisseur Numérique Analogique convertit un nombre numérique en une tension analogique, proportionnelle à la valeur
numérique d’entrée.
En entrée du convertisseur, on a :
La valeur numérique N, mot binaire constitué de n bits
Une tension fixe et précise, appelée tension de référence Vref
En sortie :
Une tension analogique Vs, proportionnelle à la valeur numérique N
Si le mot binaire d’entrée a n bits, la valeur N prend 2
n
valeurs différentes. La tension de sortie a également 2
n
valeurs
différentes.
On définit le quantum, comme la plus petite variation de tension en sortie du CNA :
Quantum = q = Vref/2
n
La valeur de Vs = N q = N Vref/2
n
Exemple :
Si Vref = 5V et n = 8
N et Vs peuvent prendre 2
8
= 256 valeurs différentes
N peut varier de 00000000
b
(0) à 11111111
b
(255)
La valeur du quantum q = 5V /256 = 19,53 mV
Vs mini = 0V
Vs maxi = 255 q = 255 Vref / 256 = 4,98 V (Vref-q)
La plus petite variation de Vs = q = 19,53 mV
n bits Vs
Tension
de sortie
N
valeur
numérique
Vref
tension de
référence Convertisseur
Numérique
Analogique
2 – Simulation d’un CNA
Décompresser le fichier CNA_CAN.zip dans le répertoire travail.
Lancer le logiciel Orcad Demo (PSPICE STUDENT)
Ouvrir le projet CNA1.opj
Visualiser le schéma :
Le CNA est constitué de 4 bits (D3 D2 D1 D0) . La tension de référence est de 10V (simulé par V1).
Comme la plupart des CNA, il est réalisé à l’aide d’un réseau R-2R (ici 10k et 20k).
Les commutateurs (COMMUT) sont en position basse lorsque le bit Dx est à 0, en position haute lorsque le bit Dx est à 1.
Le stimuli DSTM2 permet de placer le code en entrée du convertisseur (dans le cas de la figure : 0s 0001 au temps t=0s on
place le code 0001 = D3 D2 D1 D0 ).
L’icône permet de lancer la simulation
L’icône permet de visualiser les tensions continues sur le schéma.
2.1 – En modifiant le code en entrée du convertisseur (D3 D2 D1 D0), et en lançant à chaque fois une simulation, compléter le
tableau du document réponse.
2.2 – Déterminer la valeur du quantum donnée par la simulation
2.3 – Calculer la valeur théorique du quantum.
D2
R1
20k
D1
R2
20k
0
D0
R7
10k
0
U5
COMMUT
0
R8
20k
U4
COMMUT
R5
10k
V
U3
COMMUT
V1
10Vdc
U2
COMMUT
R6
20k
R3
10k
R4
20k
Vs
D3
S4
DSTM2
0s 0001
D[3:0]
3 – Convertisseur Numérique Analogique AD7524
La documentation technique du convertisseur AD7524 est donnée en annexe.
3.1 – A partir de la documentation du circuit AD7524, donner le nombre de bits de ce convertisseur.
3.2 – Indiquer la valeur des résistances du réseau R-2R constituant ce convertisseur.
3.3 – Indiquer la plage de tension de Vref à ne pas dépasser (ABSOLUTE MAXIMUM RATINGS – page 3)
Simulation du circuit AD7524.
Sous Orcad Demo, ouvrir le projet CNA_7524.opj . Visualiser le schéma
La tension Vref est simulé par V1 (5V) . La tension de sortie Vs est sur la patte 1 du circuit U2A.
3.4 – En modifiant le code d’entrée (D7 D6 D5 D4 D3 D2 D1 D0), compléter le tableau du document réponse, résultats de la
simulation.
3.5 – Déterminer la valeur du quantum donné par la simulation, puis par le calcul.
Un des schémas d’application fourni par la documentation est le suivant : (correspond à la simulation précédente)
-12V
D4
V3
-12V
D5
0
D7 U5
CNA
D7
D6
D5
D4
D3
D2
D1
D0
REF
OUT1
OUT2
RFB
DSTM1
0s 00000000
0
Vs
0
D[7:0]
0
V1
5V
D0
D6
+12V
D1
U2A
LM324
3
2
4 11
1
+
-
V+ V-
OUT
-12V
D2
V2
12V
+12V
D3
3.6 – Par un calcul simple, indiquer les tensions en volts qu’on doit obtenir en sortie du convertisseur pour les valeurs binaires
du tableau donné ci-dessus (à compléter sur document réponse, colonne Analog Output).
4 – Convertisseur Analogique Numérique
Un Convertisseur Analogique Numérique convertit une tension analogique en un nombre numérique, proportionnelle à la valeur
de la tension d’entrée.
En entrée du convertisseur, on a :
Une tension analogique Ve
Une tension fixe et précise, appelée tension de référence Vref
En sortie :
La valeur numérique N, mot binaire constitué de n bits, proportionnelle à la tension d’entrée Ve.
On définit le quantum, comme la plus petite variation de tension d’entrée qui fait varier N d’une unité.
Quantum = q = Vref/2
n
La valeur de N = Ve / q = Ve 2
n
/ Vref
5 – Convertisseur Analogique Numérique intégré au micro contrôleur de la carte ARDUINO
Le microcontrôleur de la carte ARDUINO intègre un CAN de 10 bits. Il dispose de 8 entrées analogiques (A0 à A7), et la tension
appliquée sur une de ces entrées peut être convertie en numérique.
La tension de référence, par défaut, est de 5V. Les tensions appliquées sur les entrées A0 à A7 peuvent donc varier de 0 à 5V.
Le montage de test est le suivant : on applique une tension d’entrée sur l’entrée A0, qui peut varier entre 0 et 5V. Cette tension
variable est obtenue à l’aide d’un potentiomètre de 10k.
Vref
tension de
référence
Ve
Tension
d'entrée
Convertisseur
Analogique
Numérique
n bits N
valeur
numérique
A0
+5V
10K
P1
Carte
ARDUINO
Le programme à placer dans la mémoire du µP de la carte ARDUINO est le suivant :
int analogPin = A0;
unsigned int val = 0; // variable de type int pour stocker la valeur de la mesure
void setup()
{
Serial.begin(115200); // initialisation de la connexion série
}
void loop()
{
// lit la valeur de la tension analogique présente sur la broche
val = analogRead(analogPin);
// affiche la valeur (comprise en 0 et 1023) dans la fenêtre terminal PC
Serial.println(val);
delay(100);
}
Explications : La fonction prédéfinie « analogRead » renvoie le résultat de la conversion Analogique Numérique, de la tension
appliquée sur l’entrée analogPin (A0). Le résultat est ensuite envoyé sur le moniteur série, en décimal.
Un délai de 100ms a été mis, temps entre 2 conversions.
A l’aide d’un petit tournevis et d’un multimètre, régler la tension appliquée sur l’entrée A0 aux valeurs 0V, 1V, 2V, 3V, 4V et
5V et relever la valeur envoyée sur le moniteur série.
5.1 – Compléter le tableau du document réponse avec les valeurs relevées.
5.2 – Calculer les valeurs théoriques données par les formules du 4) et compléter le tableau du document réponse.
On modifie le programme de la manière suivante :
int analogPin = A0;
unsigned int val = 0; // variable de type int pour stocker la valeur de la mesure
unsigned long tension;
void setup()
{
Serial.begin(115200); // initialisation de la connexion série
}
void loop()
{
// lit la valeur de la tension analogique présente sur la broche
val = analogRead(analogPin);
tension=val;
tension=tension*5000;
tension=tension/1024;
// affiche la valeur (comprise en 0 et 1023) dans la fenêtre terminal PC
Serial.println(tension);
delay(100);
}
Rappel : unsigned int déclare une variable sur 16 bits – unsigned long déclare une variable sur 32 bits.
Donc sur 16 bits, la valeur maximale est 2
16
-1 = 65535
5.3 – Calculer 1023*5000
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !