dut geii - dut 2 alternance pratiques …geii.iut-nimes.fr/sites/default/files/u60/can.pdf · dut...

5
DUT GEII - DUT 2 A LTERNANCE T RAVAUX P RATIQUES D ’É LECTRONIQUE C ONVERTISSEUR A NALOGIQUE N UMÉRIQUE (CAN) Lundi 24 Mars 2014 Objectifs du TP : – Connaître le principe d’acquisition numérique d’une tension analogique : – précision – pas de quantification (quantum) – temps de conversion – Mise en oeuvre d’un convertisseur analogique numérique interne à un micro-contrôleur 1 Introduction : Conversion Numérique Analogique 1.1 Pas de quantification Le but d’une conversion analogique numérique est de convertir une grandeur analogique en une grandeur numérique codée sur N bits. Si l’on prend l’exemple d’une tension analogique pouvant évoluer entre 0 et une valeur maximale V re f (on parle alors de pleine échelle ou Full Scale en anglais), le codage en sortie d’un CAN 3 bits sera celui représenté F IG 1. On peut alors définir le quantum q (plus petite variation de grandeur analogique quantifiable par le CAN). La plage de tension analogique (variant de 0 à V re f ) est décomposée dans notre exemple en 8 intervalles (8 = 2 3 ). Si l’on considère que la tension analogique maximale V re f correspond à la mise à 1 de tous les bits du code numérique (111), il est alors possible d’exprimer le quantum : V re f = 1 × 2 2 × q + 1 × 2 1 × q + 1 × 2 0 × q V re f = q × (2 2 + 2 1 + 2 0 )= q × (2 3 - 1) D’où : q = V re f 2 3 -1 Si l’on généralise à un convertisseur N bits : q = V re f 2 N - 1 Exercice : On considère une tension V re f = 5 V , calculer le quantum pour un CAN 6, 8, 10 et 12 bits. 1.2 Temps de conversion La conversion d’une grandeur analogique en un code numérique n’est pas instantanée. En effet, il faut tout d’abord acquérir la tension analogique à convertir (généralement en chargeant un condensa- 1

Upload: phungduong

Post on 12-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DUT GEII - DUT 2 ALTERNANCE PRATIQUES …geii.iut-nimes.fr/sites/default/files/u60/can.pdf · DUT GEII - DUT 2 ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE CONVERTISSEUR ANALOGIQUE

DUT GEII - DUT 2 ALTERNANCE

TRAVAUX PRATIQUES D’ÉLECTRONIQUE

CONVERTISSEUR ANALOGIQUE NUMÉRIQUE (CAN)

Lundi 24 Mars 2014

Objectifs du TP :– Connaître le principe d’acquisition numérique d’une tension analogique :

– précision– pas de quantification (quantum)– temps de conversion

– Mise en oeuvre d’un convertisseur analogique numérique interne à un micro-contrôleur

1 Introduction : Conversion Numérique Analogique

1.1 Pas de quantificationLe but d’une conversion analogique numérique est de convertir une grandeur analogique en une

grandeur numérique codée sur N bits. Si l’on prend l’exemple d’une tension analogique pouvantévoluer entre 0 et une valeur maximale Vre f (on parle alors de pleine échelle ou Full Scale en anglais),le codage en sortie d’un CAN 3 bits sera celui représenté FIG 1.

On peut alors définir le quantum q (plus petite variation de grandeur analogique quantifiable parle CAN). La plage de tension analogique (variant de 0 à Vre f ) est décomposée dans notre exemple en8 intervalles (8 = 23). Si l’on considère que la tension analogique maximale Vre f correspond à la miseà 1 de tous les bits du code numérique (111), il est alors possible d’exprimer le quantum :

Vre f = 1×22×q+1×21×q+1×20×q

Vre f = q× (22 +21 +20) = q× (23−1)

D’où : q =Vre f23−1

Si l’on généralise à un convertisseur N bits :

q =Vre f

2N−1

Exercice : On considère une tension Vre f = 5V , calculer le quantum pour un CAN 6, 8, 10 et 12 bits.

1.2 Temps de conversionLa conversion d’une grandeur analogique en un code numérique n’est pas instantanée. En effet, il

faut tout d’abord acquérir la tension analogique à convertir (généralement en chargeant un condensa-

1

Page 2: DUT GEII - DUT 2 ALTERNANCE PRATIQUES …geii.iut-nimes.fr/sites/default/files/u60/can.pdf · DUT GEII - DUT 2 ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE CONVERTISSEUR ANALOGIQUE

DUT2 GEII -ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE

Signal analogique

Signal numérique

000

001

010

011

100

101

110

111

q 2q 3q 4q 5q 6q 7q Vre f

FIGURE 1 – Correspondance entre grandeurs analogiques et numériques

teur), il s’agit du temps d’acquisition (TACQ). Ensuite, il faut convertir cette tension (plusieurs techno-logies de convertisseurs existent), il s’agit du temps de conversion (TCONV ). Le temps de conversiontotal est la somme de ces 2 temps :

TCONVTOT = TACQ +TCONV

Ce temps de conversion est fondamental puisqu’il limitera directement la fréquence maximale dusignal à convertir.

2 Mise en oeuvreAujourd’hui, nous utiliserons le CAN interne du micro-contrôleur PIC16F877. Celui-ci est para-

métrable en 8 ou 10 bits. Les programmes (.c) vous sont fournis. Nous utiliserons le logiciel MPLABIDE 8.88 pour créer ces programmes et les compiler (création d’un fichier .hex). Le transfert duprogramme compilé sera effectué à l’aide du logiciel Serial Bootloader.

Le code du premier programme est donné ci-dessous :

#include <16F877.h>#device ADC=10 //N=10 pour le CAN interne#use delay(clock=4000000) //Horloge à 4 MHz#fuses HS,NOWDT,NOLVP#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) //Configuration liaison sérievoid main(){

int16 valeur; //Déclaration d’une variable valeur en entier 16 bitssetup_adc_ports(ALL_ANALOG); //Configuration des 8 voies du CAN en analogiquesetup_adc(ADC_CLOCK_INTERNAL); //Utilisation de l’horloge interneset_adc_channel(1); //Utilisation de la voie 1 du micro-contrôleur (broche A1)while(1) //Boucle infinie

YAËL THIAUX 2 ANNÉE 2013/2014

Page 3: DUT GEII - DUT 2 ALTERNANCE PRATIQUES …geii.iut-nimes.fr/sites/default/files/u60/can.pdf · DUT GEII - DUT 2 ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE CONVERTISSEUR ANALOGIQUE

DUT2 GEII -ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE

{valeur=read_adc(); //Lecture de la broche A1, affectation à la variable valeurprintf("%ld\n",valeur); //Affichage de la variable valeur via liaison série

}}

Ce programme vient simplement lire la première des 8 voies du CAN interne du micro-contrôleuret envoie cette valeur sur le port série pour affichage.

2.1 Étape 1Il faut tout d’abord créer un nouveau projet :

1. Lancer le logiciel MPLAB IDE 8.882. Créer un nouveau projet

(a) Menu "Project" ↪→ "Project Wizard"

(b) Sélectionner le composant "16F877"

(c) Sélectionner le compilateur "CCS Compiler for Pic"

2.2 Étape 2Ensuite, il faut créer un fichier .c et l’inclure dans le projet :

1. Ouvrir une nouvelle feuille

2. Taper le code du programme 1

3. Enregistrer le code en .c (à l’issue de cette étape, le texte doit prendre plusieurs couleurs)

4. Inclure ce fichier au projet créé :

(a) Clic droit sur "Sources Files"

(b) Add Files

2.3 Étape 3Notre programme est désormais prêt à être compilé. Pour cela, cliquer sur l’onglet "BUILD ALL".

Si la compilation est correcte, vous devriez voir apparaitre la mention "BUILD SUCCEEDED". Dansle cas contraire, le message d’insultes "BUILD FAILED" vous sera renvoyé.

Vous disposez à présent d’un fichier .HEX prêt à être transféré dans le micro-contrôleur.

2.4 Étape 4Pour finir, il faut transférer le programme compilé dans le micro-contrôleur :

1. Ouvrir le logiciel Serial Bootloader2. Appuyer sur le carré rouge pour lancer la communication avec le PIC

3. Ouvrir le fichier compilé (.hex)

4. Pour transférer le programme dans le composant, appuyer sur le losange avec une flèche ren-trante

5. Pour lancer le programme, appuyer sur la flèche verte

YAËL THIAUX 3 ANNÉE 2013/2014

Page 4: DUT GEII - DUT 2 ALTERNANCE PRATIQUES …geii.iut-nimes.fr/sites/default/files/u60/can.pdf · DUT GEII - DUT 2 ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE CONVERTISSEUR ANALOGIQUE

DUT2 GEII -ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE

2.5 Exercice 11. Créez votre projet

2. Créez un fichier .c et l’inclure au projet

3. Compilez le programme

4. Transférez-le dans le micro-contrôleur et lancez le programme

5. Câblez la sortie du potentiomètre de la platine sur la broche A1 et actionnez celui-ci.

6. Quelles sont les valeurs minimale et maximale affichées ? Est-ce logique ?

7. Modifiez le programme pour réaliser une conversion analogique-numérique sur 8 bits. Compi-lez le programme et transférez le dans le micro-contrôleur. Quelles sont les nouvelles valeursmaximale et minimale ?

8. Quelle est (pour les 2 réglages du CAN effectués) la précision de la conversion ? Vous expri-merez ce paramètre en mV, puis en pourcentage de la pleine échelle (%FS).

9. La vitesse de rotation d’un axe mécanique est mesurée à l’aide d’un capteur de vitesse dont legain vaut 10mV/(tr/min). Quel réglage du CAN choisisseriez-vous pour pouvoir détecter uneaugmentation de vitesse de 1 tr/min ? de 10 tr/min ?

2.6 Exercice 2On s’intéresse désormais au nouveau programme ci-dessous :

#include <16F877.h>#device ADC=10#use delay(clock=4000000)#fuses HS,NOWDT,NOLVP#use fast_io(B)void main(){

int16 valeur;int1 booleen=0;set_tris_B(0);setup_adc_ports(ALL_ANALOG);setup_adc(ADC_CLOCK_DIV_8);set_adc_channel(1);while(1){

valeur=read_adc();//Lecture voie 1 CANoutput_bit(PIN_B0,++booleen);//Incrémentation de la variable booléenne

}}

Ce programme vient simplement effectuer une conversion analogique numérique sur la voie 1 duCAN (broche A1) et, après chaque conversion, change l’état d’une variable booléenne envoyée surla broche B0 (cette deuxième étape peut être considérée comme instantanée). Dans cet exemple, leCAN est cadencé à la fréquence d’horloge du micro-contrôleur divisée par 8.

YAËL THIAUX 4 ANNÉE 2013/2014

Page 5: DUT GEII - DUT 2 ALTERNANCE PRATIQUES …geii.iut-nimes.fr/sites/default/files/u60/can.pdf · DUT GEII - DUT 2 ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE CONVERTISSEUR ANALOGIQUE

DUT2 GEII -ALTERNANCE TRAVAUX PRATIQUES D’ÉLECTRONIQUE

1. Modifiez le fichier .c et l’inclure au projet

2. Compilez le programme

3. Transférez-le dans le micro-contrôleur et lancez le programme

4. Réfléchir à un moyen d’estimer le temps de conversion du CAN interne.

5. Mesurez alors le temps de conversion du CAN.

6. Modifiez le programme pour réaliser une conversion analogique-numérique sur 8 bits. Compi-lez le programme et transférez le dans le micro-contrôleur. Déterminez alors le nouveau tempsde conversion

7. De même, cadencez votre CAN non plus à la fréquence de 4 MHz divisé par 8 mais par 32.Déterminez les nouveaux temps de conversion pour N=8 et N=10. Conclure.

8. Pour chacun de ces 4 cas, quelle est la fréquence maximale du signal que nous pourrions conve-nablement convertir ?

YAËL THIAUX 5 ANNÉE 2013/2014