TP14 CAN simple rampe corrigé - jm podvin
à l'entrée du CNA vous imposerez une tension UE = -12V; ... 13 V qd la led est
allumée ; UEB0 = (1/3)×(13) = 4,3 V (car les deux résistances sont traversées par
même intensité). .... 8 réseaux de R pondérées pour CNA (modules en salle 9).
Part of the document
I.E.S.P. / M.P.I.
TP 14 conversion analogique numérique 1/3
1. Expérience préliminaire :
On veut mesurer la fém E de la pile en utilisant le
montage ci-contre :
comment est monté l'AOP2 ? en comparateur : si ? >0
alors Us'=+15V, si ? 0
En déduire la valeur de UEB0 , sachant qu'aux bornes de la LED allumée,
la tension est voisine de 2 V: (UR + UEB0) = 15 - 2 = 13 V qd la led
est allumée ; UEB0 = (1/3)×(13) = 4,3 V (car les deux résistances sont
traversées par même intensité).
TP 14 conversion analogique numérique (suite) 2/3
Programme de commande RAMPE.BAS (se trouvant en principe dans le
répertoire C:\BASIC ) :
DO until A$ = "F" or A$ = "f"
CLS
OPEN "COM1:9600,N,8,1,RS,CS0,DS0,CD0" FOR RANDOM AS #1
N = -1
WHILE EB0 = 0 AND N< 255
N = N+ 1
PRINT #1, "XSA"; N
PRINT#1, "XEBIT 0" : INPUT#1,EB0
LOCATE 5,10
PRINT N;EB0
WEND
PRINT " En sortie de boucle, les valeurs de N et de EB0 sont : N =
";N; " ; et EB0 = ";EB0
PRINT USING "La valeur de la tension à convertir était N*5/255 = :
#.## V"; N*5 / 255
CLOSE #1
PRINT: "frappez une touche pour une autre mesure ou F pour finir"
A$ = INPUT$(1)
EB0 = 0
LOOP
END
Après quelques essais pour différentes valeurs de U (comprises entre 0
et 5 V), charger le programme RAMPE2.BAS qui donne directement la
valeur binaire du nombre N image de U.
Quelle est la précision absolue ?U de ce CAN ? 5 V / 255 = 0,0196 V =
19,6 mV.
2. Tracé de la caractéristique de transfert B = f(U) : donner à U les
valeurs suivantes (lues au voltmètre) et relever les nombres binaires
images B (donnés par le programme rampe2.bas) :
|U (V) |0,00 |0,50 |1,00 |1,50 |2,00 |2,50 |3,00 |3,50 |4,00 |4,50 |5,00 |
|B en binaire| | | | | | | | | | | |
|B en décimal| | | | | | | | | | | |
Quelle est la forme de cette caractéristique à grande échelle ? une
droite passant par l'origine
Quelle est sa forme à petite échelle, si on la regarde à la loupe ? une
rampe de marches d'escaliers
Quelle tension maximale U peut-on appliquer sans danger pour l'AOP ? 15
V
Quelle sera son image binaire ? 5 V
Quelle tension maximale peut-on appliquer pour avoir une conversion
correcte ? 5 V
Les caractéristiques d'un CAN :
o tension pleine échelle en entrée UPE = tension maximale dont la
conversion peut être effectuée correctement ; dans l'exemple étudié
UPE = 5 V
précision absolue en entrée : ?U = UPE / (2n - 1) , c'est l'écart maximal
entre deux valeurs de tensions converties dans la même valeur binaire ;
dans l'exemple étudié ?U = 19,6 mV
le nombre de bits de sortie n ; dans l'exemple, n = 8
le nombre de points en sortie N = 2n ; ici on avait N = 256
Le nombre binaire maximal en sortie : Nmax = N - 1 ; ici 255
La résolution en sortie : R = 1 / Nmax ; ici R = 1 / 255.
Le temps de conversion : c'est le temps nécessaire pour que la grandeur
numérique de sortie soit acquise lors de la conversion de la tension pleine
échelle ; dans l'exemple étudié, le temps de conversion est très long; vous
pouvez le mesurer manuellement : ? = 5,7 s ; vous pouvez vérifier votre
mesure en faisant mesurer ce temps par qbasic en utilisant l'instruction
TIMER qui donne la valeur du temps écoulé depuis l'allumage de
l'ordinateur, en secondes : placer l'instruction a=timer au début du
programme, puis b=timer à la fin et faites afficher (b - a) avec
l'instruction PRINT.
TP 14 conversion analogique numérique (fin) 3/3
Le CAN simple rampe n'est pas très performant; il existe des
convertisseurs double rampe dont le temps de conversion est de 25 µs
(carte Candibus), et des convertisseurs flash comportant plusieurs
comparateurs placés en parallèles sur la tension à convertir qui est
ainsi divisée par des diviseurs de tension avant d'être convertie.
On peut cependant améliorer notre CAN en modifiant le programme de
recherche du nombre binaire : au lieu d'attendre que la rampe se
déroule de 0 à 255, on peut faire un interrogatoire par dichotomie en
essayant la valeur qui est située au milieu de l'intervalle, ce qui
restreint l'intervalle de moitié au fur et à mesure des réponses. On
obtient la bonne réponse en moins de dix coups, càd en n'envoyant que
dix valeurs au lieu d'en essayer jusqu'à 255. C'est beaucoup plus
rapide.
Voir les jeux "JEDEVINE" et "TUDEVINE" en qbasic dans de répertoire
c:\basic.
Puis charger le programme dichoto.bas et lancer la conversion.
Fichier Edition Affichage Recherche Exécution Débogage
Options Aide
+-------------------------------- DICHOTO.BAS ----------------
-------------¦
¦OPEN "COM1:9600,N,8,1,RS,CS0,DS0,CD0" FOR RANDOM AS #1
¦debut = 0
¦fin = 256
¦WHILE debut + 1 < fin
¦ milieu = INT(debut + fin) / 2
¦ valeur$ = STR$(milieu)
¦ PRINT #1, "XSA" + valeur$
¦ PRINT #1, "XEBIT 0"
¦ INPUT #1, reponse$
¦ IF reponse$ = "0" THEN debut = milieu ELSE fin =
milieu
¦WEND
¦PRINT milieu * 5 / 255, " V"
Voit-on la LED clignoter pendant la recherche ? non, la conversion est
trop rapide.
Le résultat est-il obtenu plus rapidement qu'avec le programme
rampe.bas ? faites la mesure du temps de conversion comme vu plus haut.
Oui, ? = 0,2 s
4- Schéma d'un CAN à comparaison directe :
C'est le type de CAN que nous venons d'étudier. On peut remarquer qu'il
s'agit d'un système bouclé puisque la sortie réagit sur l'entrée. Le
schéma général est le suivant :
I.E.S.P. / M.P.I.
TP 14 conversion analogique numérique simple rampe
' PROGRAMME DE COMMANDE DE TENSION RAMPE SUR LA SORTIE ANALOGIQUE D'ORPHY
GTS
DO UNTIL A$ = "f" OR A$ = "F"
CLS
OPEN "COM1:9600,N,8,1,RS,CS0,DS0,CD0" FOR RANDOM AS #1
n = 0
WHILE EB0 = 0 AND n < 255
n = n + 1
PRINT #1, "XSA "; n
PRINT #1, "XEBIT 0": INPUT #1, EB0
WEND
PRINT "En sortie de boucle entre 0 et 255, la valeur de n est : "; n
REM conversion du décimal n < 256 en binaire
b$ = "": n1 = n
FOR i = 1 TO