Vous êtes sur la page 1sur 4

TP_PROG ARM TP_LSE

TP2 : ADC STM32F4

A. BUT DE LA MANIPULATION
Nous apprendrons à utiliser les modules convertisseurs analogique-numérique intégrés du
microcontrôleur STM32F407VG. Ce microcontrôleur est livré avec la carte Discovery
STM32F4. Nous verrons des exemples pour mesurer la tension analogique connectée à l'une
des broches d'entrée ADC à l'aide des bibliothèques HAL.

B. MATERIEL A UTILISER
Nous allons utiliser la carte STM32F407VG DISCOVERY.

C. MANIPULATION
1. Modules ADC de la carte de découverte STM32F4

Comme mentionné dans l'introduction, cette carte de développement contient une puce
STM32F407VG basée sur ARM Cortex-M4. Cette puce MCU possède de nombreux
périphériques programmables par l'utilisateur intégrés et des modules ADC sont également
disponibles. Le microcontrôleur STM32F407VG dispose de trois modules ADC de type
approximation successive tels que ADC1, ADC2 et ADC3. Ces modules ADC partagent 16
canaux d'entrée analogiques. Cela signifie qu'il y a un total de 16 canaux d'entrée analogiques
disponibles pour la carte de découverte STM32F4.
2. Broches CAN STM32F4
Le microcontrôleur STM32F407VG6T ADC prend en charge une résolution configurable
de 6 bits, 8 bits, 10 bits et 12 bits. De plus, il prend en charge trois modes de conversion A/D
tels que le mode simple, continu, balayage ou discontinu. Le résultat de l'ADC est stocké dans
un registre de données de 16 bits aligné à gauche ou à droite.
Le tableau suivant montre les broches d'entrée pour chaque canal analogique et modules ADC.

Canal ADC1 CDA 2 CAN 3


analogique
AN0 PA0 PA0 PA0
AN1 PA1 PA1 PA1
AN2 PA2 PA2 PA2
AN3 PA3 PA3 PA3
AN4 PA4 PA4 PF6
AN5 PA5 PA5 PF7
AN6 PA6 PA6 PF8
AN7 PA7 PA7 PF9
AN8 PB0 PB0 PF10
AN9 PB1 PB1 PF3
AN10 PC0 PC0 PC0
AN11 PC1 PC1 PC1
AN12 PC2 PC2 PC2
AN13 PC3 PC3 PC3

1
BELHAJ SALAH Oumayma
TP_PROG ARM TP_LSE

AN14 PC4 PC4 PF4


AN15 PC5 PC5 PF5

3. Résolution ADC du microcontrôleur STM32F407VG6T

La résolution de l'ADC peut être définie comme la plus petite tension d'entrée au niveau de
la broche analogique qu'un ADC peut identifier et incrémenter sa valeur numérique. La valeur
de sortie numérique maximale et minimale de l'ADC dépend du nombre de bits de l'ADC. Par
exemple, pour un CAN 8 bits, la valeur de sortie numérique sera comprise entre 0 et 255, pour
un CAN 10 bits, la valeur de sortie numérique sera comprise entre 0 et 1023 et pour un CAN
12 bits, la valeur de sortie numérique sera comprise entre 0 et 4095.
La résolution ADC peut être définie comme :

Résolution = (Tension de fonctionnement de l'ADC) / 2 ^ (nombre de bits ADC)

Par exemple, la tension de fonctionnement du microcontrôleur de la série STM32F4 est de


3,3 V et si l'on configure l'ADC en mode 12 bits :
Résolution = 3,3 V/2 ^ 12 = 3,3/4095 = 0,8 mV
Par conséquent, pour chaque 0,8 mV sur l'entrée ADC, la valeur numérique augmentera et si
nous appliquons 3,3 V à la broche d'entrée de l'ADC, la valeur de sortie numérique de l'ADC
sera de 4095.
De même, si nous mesurons une valeur numérique de l'ADC avec un microcontrôleur
STM32F4, nous pouvons la reconvertir en tension en la multipliant par la valeur de résolution.
Par exemple, la valeur de sortie numérique mesurée est de 3500, nous pouvons la convertir en
tension en la multipliant par 0,8 mV.
Tension d'entrée = 3 500 x 0,8 mV = 2 800 mV ou 2,8 V
Nous pouvons utiliser l'ADC de STM32F4 pour diverses applications telles que la mesure de
tension alternative, la mesure de courant alternatif, la mesure de puissance, etc.
4. Code de mode de conversion continue STM32F4
Editez main.c pour commander la LED, ajoutez les fonctions adéquates pour la conversion.

2
BELHAJ SALAH Oumayma
TP_PROG ARM TP_LSE

Pour voir la sortie du code ci-dessus, connectez un potentiomètre à la carte de découverte


STM32F4 comme indiqué dans ce schéma de connexion.

Potentiomètre Carte découverte STM32F4


Épingle droite GND
Goupille centrale PA0
Goupille gauche 3,3 V

3
BELHAJ SALAH Oumayma
TP_PROG ARM TP_LSE

4
BELHAJ SALAH Oumayma

Vous aimerez peut-être aussi