Upload
lamanh
View
215
Download
0
Embed Size (px)
Citation preview
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 2n 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/2n
La valeur de Vs = N • q = N • Vref/2n
Exemple :
Si Vref = 5V et n = 8
N et Vs peuvent prendre 28 = 256 valeurs différentes
N peut varier de 00000000b (0) à 11111111b (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 VsTension de sortie
N valeur numérique
Vreftension deréférence Convertisseur
NumériqueAnalogique
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
S4DSTM2
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
D7U5
CNA
D7D6D5D4D3D2D1D0
REF
OUT1
OUT2
RFB
DSTM1
0s 00000000
0
Vs
0
D[7:0]
0V1
5V
D0
D6
+12V
D1
U2ALM324
3
2
411
1
+
-
V+
V-
OUT
-12V
D2
V212V
+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/2n
La valeur de N = Ve / q = Ve • 2n / 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Ω.
Vreftension deréférence
VeTension d'entrée
ConvertisseurAnalogiqueNumérique
n bits N valeur numérique
A0
+5V
10K
P1
CarteARDUINO
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 216
-1 = 65535
5.3 – Calculer 1023*5000
5.4 – Quelle est la valeur maximale d’une variable sur 32 bits ?
5.5 – Justifier l’utilisation d’une variable sur 32 bits.
Implanter le programme dans la carte ARDUINO. Observer le résultat envoyé sur le moniteur série (faire varier le
potentiomètre)
5.6 – Quelle est l’information affichée sur le moniteur série ? (être précis : grandeur – unité) ? Justifier.